From ddab632da28b6d80eec37cbca7218275a306947d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladimir=20T=C3=A1mara=20Pati=C3=B1o?= Date: Fri, 6 Dec 2024 10:00:51 -0500 Subject: [PATCH] =?UTF-8?q?En=20marco=20l=C3=B3gico=20indicadores=20de=20r?= =?UTF-8?q?esultado=20con=20turbo=20en=20lugar=20de=20coccon.=20Avanza=20h?= =?UTF-8?q?ttps://gitlab.com/pasosdeJesus/si=5Fjrscol/-/issues/1090?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../create.turbo_stream.erb | 26 +++++++++- .../_campo_indicadorpf.html.erb | 51 ++++++++++--------- .../_indicadorpf_campos.html.erb | 49 +++++++++++------- 3 files changed, 83 insertions(+), 43 deletions(-) diff --git a/app/views/cor1440_gen/indicadorespf_proyectofinanciero/create.turbo_stream.erb b/app/views/cor1440_gen/indicadorespf_proyectofinanciero/create.turbo_stream.erb index 6edb5378..5f9ef894 100644 --- a/app/views/cor1440_gen/indicadorespf_proyectofinanciero/create.turbo_stream.erb +++ b/app/views/cor1440_gen/indicadorespf_proyectofinanciero/create.turbo_stream.erb @@ -2,7 +2,7 @@ <%= f.simple_fields_for :indicadorpf, child_index: params[:index] do |subf| %> <% if params["agregar-indicadorobjetivo"] %> - <%= turbo_stream.replace "agregar-indicadorpf" do %> + <%= turbo_stream.replace "agregar-indicadorobjetivo" do %> <%= f.submit "Agregar #{Cor1440Gen::Proyectofinanciero.human_attribute_name(:indicadorobjetivo)}", formaction: cor1440_gen.crear_indicadorpf_proyectofinanciero_path( subf.index.to_i + 1 @@ -24,6 +24,30 @@ ruta_eliminar: cor1440_gen.eliminar_indicadorpf_proyectofinanciero_path }) %> <% end %> + <% elsif params["agregar-indicadorpf"] %> + <%= turbo_stream.replace "agregar-indicadorpf" do %> + <%= f.submit "Agregar #{Cor1440Gen::Proyectofinanciero.human_attribute_name(:indicadorpf)}", + formaction: cor1440_gen.crear_indicadorpf_proyectofinanciero_path( + subf.index.to_i + 1 + ), + formmethod: :post, + formnovalidate: true, + class: "btn btn-sm btn-primary", + id: "agregar-indicadorpf", + data: { + disable_with: false + } %> + <% end %> + + <%= turbo_stream.append "indicadorespf_marco" do %> + <%= render( + partial: "/cor1440_gen/proyectosfinancieros/indicadorpf_campos", + locals: { + f: subf, + ruta_eliminar: cor1440_gen.eliminar_indicadorpf_proyectofinanciero_path + }) %> + <% end %> + <% end %> <% end %> <% end %> diff --git a/app/views/cor1440_gen/proyectosfinancieros/_campo_indicadorpf.html.erb b/app/views/cor1440_gen/proyectosfinancieros/_campo_indicadorpf.html.erb index 38f23721..4b060454 100644 --- a/app/views/cor1440_gen/proyectosfinancieros/_campo_indicadorpf.html.erb +++ b/app/views/cor1440_gen/proyectosfinancieros/_campo_indicadorpf.html.erb @@ -2,32 +2,37 @@
<%= t('Indicadores de resultado') %>
-
- - - - - - - - - - +
+
+
+
+
<%= t('refresultado') %>
+
<%= t('Código') %>
+
<%= t('Indicador') %>
+
<%= t('Acciones') %>
+
<%= f.simple_fields_for :indicadorpf, f.object.indicadorpf.where('resultadopf_id IS NOT NULL').order(:id) do |o| %> <%= render 'indicadorpf_campos', f: o %> <% end %> -
-
<%= t('refresultado') %><%= t('Código') %><%= t('Indicador') %><%= t('Acciones') %>
- -
+
+
+ + +
+ <%= f.submit "Agregar #{Cor1440Gen::Indicadorpf.human_attribute_name(:indicadorpf)}", + formaction: cor1440_gen.crear_indicadorpf_proyectofinanciero_path( + index: @proyectofinanciero.indicadorpf.size + ), + formmethod: :post, + formnovalidate: true, + class: 'btn btn-sm btn-primary', + name: "agregar-indicadorpf", + id: "agregar-indicadorpf", + data: { + disable_with: false + } %> +
+ diff --git a/app/views/cor1440_gen/proyectosfinancieros/_indicadorpf_campos.html.erb b/app/views/cor1440_gen/proyectosfinancieros/_indicadorpf_campos.html.erb index 556cca33..802df179 100644 --- a/app/views/cor1440_gen/proyectosfinancieros/_indicadorpf_campos.html.erb +++ b/app/views/cor1440_gen/proyectosfinancieros/_indicadorpf_campos.html.erb @@ -1,25 +1,36 @@ -<% ##f.object = Indicadorpf.new() if !f.object %> - - +<%= turbo_frame_tag "indicadorpf_#{f.index}", class: 'div-tabla-fila nested-fields' do %> + <% f.object = Cor1440Gen::Indicadorpf.new() if !f.object %> + <% f.object.proyectofinanciero_id = params[:proyectofinanciero][:id] if !f.object.proyectofinanciero_id %> +
<%= f.association :resultadopf, - collection: Cor1440Gen::Resultadopf.where(proyectofinanciero_id: - f.object.proyectofinanciero_id), + collection: Cor1440Gen::Resultadopf.where( + proyectofinanciero_id: + f.object.proyectofinanciero_id + ), label: false, - label_method: lambda { - |t| (t.objetivopf ? t.objetivopf.numero : '') + t.numero } - %> - - + label_method: :numero + %> +
+
<%= f.input :numero, label: false %> - - +
+
<%= f.input :indicador, as: :text, input_html: { rows: 3 }, label: false %> - - +
+
<%= f.input :id, as: :hidden %> - <%= link_to_remove_association t("Eliminar"), f, - :class => 'btn btn-sm btn-danger', "data-existing" => true %> -
<%= f.error_notification %>
- - + <%= f.submit "Eliminar", + formaction: cor1440_gen.eliminar_indicadorpf_proyectofinanciero_path( + id: f.object.id, index: f.index || params[:index] + ), + formmethod: :delete, + formnovalidate: true, + class: 'btn btn-sm btn-danger', + data: { + turbo_frame: "indicadorpf_#{f.index}", + disable_with: false + } %> +
<%= f.error_notification %>
+
+<% end %>