From 391d8fd62190f087a9ff38bfb89a717850047f91 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladimir=20T=C3=A1mara=20Pati=C3=B1o?= Date: Wed, 15 Jan 2025 18:18:48 -0500 Subject: [PATCH] Anexo de proyectofinanciero con turbo en lugar de coccon+jquery. Closes https://gitlab.com/pasosdeJesus/si_jrscol/-/issues/1112 --- .../anexos_proyectofinanciero_controller.rb | 4 +--- app/javascript/controllers/mindicadorespf.js | 1 + app/javascript/controllers/motor.js | 1 + app/models/cor1440_gen/ability.rb | 6 ++++- .../create.turbo_stream.erb | 18 ++++++++------- .../_anexo_proyectofinanciero_campos.html.erb | 12 +++++++++- .../proyectosfinancieros/_anexos.html.erb | 22 ++++++++++++++++++- .../_campo_anexo_proyectofinanciero.html.erb | 17 -------------- .../proyectosfinancieros/_form.html.erb | 3 ++- .../anexos_proyectofinanciero_controller.rb | 6 +++-- 10 files changed, 56 insertions(+), 34 deletions(-) delete mode 100644 app/views/cor1440_gen/proyectosfinancieros/_campo_anexo_proyectofinanciero.html.erb diff --git a/app/controllers/cor1440_gen/anexos_proyectofinanciero_controller.rb b/app/controllers/cor1440_gen/anexos_proyectofinanciero_controller.rb index 48f90a4a..a0e0028e 100644 --- a/app/controllers/cor1440_gen/anexos_proyectofinanciero_controller.rb +++ b/app/controllers/cor1440_gen/anexos_proyectofinanciero_controller.rb @@ -4,9 +4,7 @@ module Cor1440Gen class AnexosProyectofinancieroController < ApplicationController - load_and_authorize_resource class: Msip::Anexo - before_action :prepara_anexo_proyectofinanciero - + load_and_authorize_resource class: Cor1440Gen::AnexoProyectofinanciero include Cor1440Gen::Concerns::Controllers::AnexosProyectofinancieroController end end diff --git a/app/javascript/controllers/mindicadorespf.js b/app/javascript/controllers/mindicadorespf.js index 71f5d3ed..6c4ee99a 100644 --- a/app/javascript/controllers/mindicadorespf.js +++ b/app/javascript/controllers/mindicadorespf.js @@ -48,6 +48,7 @@ export default class Cor1440Gen__Mindicadorespf { static preparar() { + return true $("#cor1440_gen_mfun").hide(); $(".cor1440_gen_funcion").bind("contextmenu", (e) => { window.cor1440_gen_mfun_enlace = e.target diff --git a/app/javascript/controllers/motor.js b/app/javascript/controllers/motor.js index 9b5ec4c3..14d5ad62 100644 --- a/app/javascript/controllers/motor.js +++ b/app/javascript/controllers/motor.js @@ -43,6 +43,7 @@ export default class Cor1440Gen__Motor { Cor1440Gen__Mindicadorespf.preparar() + return true $(document).on('click', '.envia_filtrar', e => { let f = e.target.form let a = f.action diff --git a/app/models/cor1440_gen/ability.rb b/app/models/cor1440_gen/ability.rb index a0144210..3e2bda3d 100644 --- a/app/models/cor1440_gen/ability.rb +++ b/app/models/cor1440_gen/ability.rb @@ -222,8 +222,10 @@ def self.initialize_cor1440_gen(habilidad, usuario = nil) habilidad.can(:manage, [ Cor1440Gen::Actividadpf, + Cor1440Gen::AnexoProyectofinanciero, Cor1440Gen::Asistencia, - Cor1440Gen::DesembolosProyectofinanciero, + Cor1440Gen::Desembolso, + Cor1440Gen::DesembolsoProyectofinanciero, Cor1440Gen::ProyectofinancieroUsuario ]) presponsable = Cor1440Gen::Proyectofinanciero.where( @@ -264,6 +266,7 @@ def self.initialize_cor1440_gen(habilidad, usuario = nil) habilidad.can(:read, [ Msip::Anexo, + Cor1440Gen::AnexoProyectofinanciero, Cor1440Gen::Desembolso, Cor1440Gen::Informeauditoria, Cor1440Gen::Informefinanciero, @@ -304,6 +307,7 @@ def self.initialize_cor1440_gen(habilidad, usuario = nil) habilidad.can(:manage, [ Cor1440Gen::Pmindicadorpf, Cor1440Gen::Actividad, + Cor1440Gen::AnexoProyectofinanciero, Cor1440Gen::Asistencia, Cor1440Gen::Actividadpf, Cor1440Gen::Desembolso, diff --git a/app/views/cor1440_gen/anexos_proyectofinanciero/create.turbo_stream.erb b/app/views/cor1440_gen/anexos_proyectofinanciero/create.turbo_stream.erb index 6bb60222..d3b78358 100644 --- a/app/views/cor1440_gen/anexos_proyectofinanciero/create.turbo_stream.erb +++ b/app/views/cor1440_gen/anexos_proyectofinanciero/create.turbo_stream.erb @@ -1,6 +1,6 @@ -<%= simple_form_for @proyectofinanciero do |f| %> - <%= f.simple_fields_for :anexo, - child_index: params[:index] do |subf| %> +<%= simple_form_for @proyectofinanciero, multipart: true do |f| %> + <%= f.simple_fields_for :anexo_proyectofinanciero, + child_index: params[:index] do |ap| %> <%= turbo_stream.replace "agregar-anexo-proyectofinanciero" do %> <%= f.submit "Agregar Anexo", class: "btn btn-sm btn-primary", @@ -8,15 +8,17 @@ disable_with: false }, formaction: cor1440_gen.crear_anexo_proyectofinanciero_path( - subf.index.to_i + 1 + ap.index.to_i + 1 ), formmethod: :post, formnovalidate: true, id: "agregar-anexo-proyectofinanciero", name: "agregar-anexo-proyectofinanciero" %> + <% end %> + <%= turbo_stream.append "anexos_proyectofinanciero_marco" do %> + <%= render partial: + "/cor1440_gen/proyectosfinancieros/anexo_proyectofinanciero_campos", + locals: {f: ap} %> + <% end %> <% end %> - <%= turbo_stream.append "anexos_proyectofinanciero_marco" do %> - <%= render "/cor1440_gen/proyectosfinancieros/anexo_campos", f: subf %> - <% end %> -<% end %> <% end %> diff --git a/app/views/cor1440_gen/proyectosfinancieros/_anexo_proyectofinanciero_campos.html.erb b/app/views/cor1440_gen/proyectosfinancieros/_anexo_proyectofinanciero_campos.html.erb index d30188e0..8d973de8 100644 --- a/app/views/cor1440_gen/proyectosfinancieros/_anexo_proyectofinanciero_campos.html.erb +++ b/app/views/cor1440_gen/proyectosfinancieros/_anexo_proyectofinanciero_campos.html.erb @@ -4,12 +4,22 @@ <% f.object.anexo = Msip::Anexo.new if !f.object.anexo %> <%= f.simple_fields_for :anexo, html: {multipart: true} do |a| %> - <%= render 'msip/anexos/anexo_campos', a: a %> + <%= a.input :descripcion %> + <% if !a.object || !a.object.adjunto_file_name || !a.object.id %> + <%= a.input :adjunto, as: :file, label: t('Archivo') %> + <% else %> +
+ + <%= a.object.adjunto_file_name %> +
+ <% end %> + <%= a.input :id, as: :hidden %> <% end %> <%= f.submit "Eliminar", class: 'btn btn-sm btn-danger', data: { + turbo_frame: "anexo_proyectofinanciero_#{f.index}", disable_with: false }, formaction: cor1440_gen.eliminar_anexo_proyectofinanciero_path( diff --git a/app/views/cor1440_gen/proyectosfinancieros/_anexos.html.erb b/app/views/cor1440_gen/proyectosfinancieros/_anexos.html.erb index 579b59cd..49417a7f 100644 --- a/app/views/cor1440_gen/proyectosfinancieros/_anexos.html.erb +++ b/app/views/cor1440_gen/proyectosfinancieros/_anexos.html.erb @@ -1 +1,21 @@ -<%= render 'campo_anexo_proyectofinanciero', f: f %> +
+ <%= f.simple_fields_for :anexo_proyectofinanciero, + child_index: params[:index] do |a| %> + <%= render partial: 'anexo_proyectofinanciero_campos', + locals: {f: a} %> + <% end %> +
+
+ <%= f.submit "Agregar anexo", + class: 'btn btn-sm btn-primary', + data: { + disable_with: false + }, + formaction: cor1440_gen.crear_anexo_proyectofinanciero_path( + index: @proyectofinanciero.anexo.size + ), + formmethod: :post, + formnovalidate: true, + id: "agregar-anexo-proyectofinanciero", + name: "agregar-anexo-proyectofinanciero" %> +
diff --git a/app/views/cor1440_gen/proyectosfinancieros/_campo_anexo_proyectofinanciero.html.erb b/app/views/cor1440_gen/proyectosfinancieros/_campo_anexo_proyectofinanciero.html.erb deleted file mode 100644 index a8820d7a..00000000 --- a/app/views/cor1440_gen/proyectosfinancieros/_campo_anexo_proyectofinanciero.html.erb +++ /dev/null @@ -1,17 +0,0 @@ -
- <%= f.simple_fields_for :anexo_proyectofinanciero, child_index: params[:index] do |a| %> - <%= render partial: 'anexo_proyectofinanciero_campos', locals: {f: a} %> - <% end %> -
- <%= f.submit "Agregar anexo", - class: 'btn btn-sm btn-primary', - data: { - disable_with: false - }, - formaction: cor1440_gen.crear_anexo_proyectofinanciero_path(index: @proyectofinanciero.anexo.size), - formmethod: :post, - formnovalidate: true, - id: "agregar-anexo-proyectofinanciero", - name: "agregar-anexo-proyectofinanciero" %> -
diff --git a/app/views/cor1440_gen/proyectosfinancieros/_form.html.erb b/app/views/cor1440_gen/proyectosfinancieros/_form.html.erb index 37057162..88c69193 100644 --- a/app/views/cor1440_gen/proyectosfinancieros/_form.html.erb +++ b/app/views/cor1440_gen/proyectosfinancieros/_form.html.erb @@ -4,8 +4,9 @@
<%= simple_form_for @registro, url: modelo_path(@registro), + multipart: true, html: { - 'data-controller' => 'msip--cancelar-vacio-es-eliminar' + 'data-controller': 'msip--cancelar-vacio-es-eliminar' } do |f| %>
diff --git a/lib/cor1440_gen/concerns/controllers/anexos_proyectofinanciero_controller.rb b/lib/cor1440_gen/concerns/controllers/anexos_proyectofinanciero_controller.rb index ae15fa8a..f89faf9c 100644 --- a/lib/cor1440_gen/concerns/controllers/anexos_proyectofinanciero_controller.rb +++ b/lib/cor1440_gen/concerns/controllers/anexos_proyectofinanciero_controller.rb @@ -5,6 +5,8 @@ module AnexosProyectofinancieroController extend ActiveSupport::Concern included do + before_action :prepara_proyectofinanciero + def destroy end @@ -13,10 +15,10 @@ def create private - def prepara_anexo_proyectofinanciero + def prepara_proyectofinanciero @proyectofinanciero = Cor1440Gen::Proyectofinanciero.new( anexo: [ - Cor1440Gen::Anexo.new + Msip::Anexo.new ] ) end