diff --git a/app/views/cor1440_gen/actividades/_index_mas_acciones.html.erb b/app/views/cor1440_gen/actividades/_index_mas_acciones.html.erb deleted file mode 100644 index c4d1451d..00000000 --- a/app/views/cor1440_gen/actividades/_index_mas_acciones.html.erb +++ /dev/null @@ -1,3 +0,0 @@ -<%= link_to 'Crear copia', - cor1440_gen.copia_actividad_path(registro), - class: 'btn btn-sm' %> diff --git a/app/views/cor1440_gen/actividades/_show_mas_acciones.html.erb b/app/views/cor1440_gen/actividades/_show_mas_acciones.html.erb deleted file mode 100644 index 383687a0..00000000 --- a/app/views/cor1440_gen/actividades/_show_mas_acciones.html.erb +++ /dev/null @@ -1,5 +0,0 @@ -<div class='col-sm-3'> - <%= link_to 'Crear copia', - cor1440_gen.copia_actividad_path(@registro), - class: 'btn' %> -</div> diff --git a/config/routes.rb b/config/routes.rb index ee7e4ace..a564201c 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -1,9 +1,9 @@ # frozen_string_literal: true Cor1440Gen::Engine.routes.draw do - get "/actividad/copia/:actividad_id" => - "actividades#copia", - as: :copia_actividad + get "/actividad/copiar/:id" => + "actividades#copiar", + as: :copiar_actividad # Poner antes de resources :actividads get "/actividades/contar" => "actividades#contar", diff --git a/lib/cor1440_gen/concerns/controllers/actividades_controller.rb b/lib/cor1440_gen/concerns/controllers/actividades_controller.rb index 8b1281ba..c2b9c78b 100644 --- a/lib/cor1440_gen/concerns/controllers/actividades_controller.rb +++ b/lib/cor1440_gen/concerns/controllers/actividades_controller.rb @@ -58,6 +58,10 @@ def atributos_show ] end + def con_boton_copiar? + true + end + def vistas_manejadas ["Actividad"] end diff --git a/lib/cor1440_gen/concerns/models/actividad.rb b/lib/cor1440_gen/concerns/models/actividad.rb index de62c035..f2cfd141 100644 --- a/lib/cor1440_gen/concerns/models/actividad.rb +++ b/lib/cor1440_gen/concerns/models/actividad.rb @@ -233,6 +233,34 @@ def asistentes_con_buena_edad end end + + # Usada por Msip::Modelo.copiar_y_guardar + def excepciones_al_copiar_asociaciones + [ + :actividad_anexo, + :respuestafor, + ] + end + + # Usada por Msip::Modelo.copiar_y_guardar + def copiar_especifico(registro) + # De manera especial copiamos respuestafor asociado + arfs = Cor1440Gen::ActividadRespuestafor.where(actividad_id: self.id) + arfs.each do |arf| + nr = arf.respuestafor.dup + nr.save(validate: false) + narf = arf.dup + narf.respuestafor_id = nr.id + narf.actividad_id = registro.id + narf.save(validate: false) + arf.respuestafor.valorcampo.each do |v| + nv = v.dup + nv.respuestafor_id = nr.id + nv.save(validate: false) + end + end + end #copiar_especifico + def recalcula_poblacion ConteosHelper.recalcula_poblacion(self) end