From 7c8e6dfff2aa765b97597218394a8a5e34045084 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladimir=20T=C3=A1mara=20Pati=C3=B1o?= Date: Tue, 24 Sep 2024 04:21:38 -0500 Subject: [PATCH] Usa controlador stimulus en filtro avanzado y reorganiza. Closes #705. Closes #691 --- Gemfile.lock | 2 +- .../casos/_filtro_avanzado.html.erb | 412 ++++++++++-------- 2 files changed, 230 insertions(+), 184 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index 4f1445941..ab38afb49 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -38,7 +38,7 @@ GIT GIT remote: https://gitlab.com/pasosdeJesus/msip.git - revision: 216c62b9faece183f4b40cec57dad1ca138e2085 + revision: 191a34d32a0adfda78abf8a9a425beea98db9a68 branch: main specs: msip (2.3.0.alfa2) diff --git a/app/views/sivel2_gen/casos/_filtro_avanzado.html.erb b/app/views/sivel2_gen/casos/_filtro_avanzado.html.erb index b6922f305..b59dbab1c 100644 --- a/app/views/sivel2_gen/casos/_filtro_avanzado.html.erb +++ b/app/views/sivel2_gen/casos/_filtro_avanzado.html.erb @@ -1,4 +1,4 @@ -
+
@@ -7,7 +7,7 @@
Incluir
Ordenar por
- +
Ubicación @@ -17,11 +17,17 @@ collection: Msip::ModeloHelper.opciones_tabla_basica( Msip::Pais, f, :pais_id ), + include_blank: "-- Pais", + input_html: { + class: "tom-select", + data: { + action: "change->msip--geodep#cambiar_pais" + } + }, + label: false, label_method: :nombre, - value_method: :id, selected: [Msip.paisomision], - label: false, - include_blank: "-- Pais" + value_method: :id %>
@@ -30,10 +36,17 @@ Msip::Departamento, f, :departamento_id ).where( pais_id: Msip.paisomision), - label_method: :nombre, - value_method: :id, + include_blank: "-- Departamento", + input_html: { + class: "tom-select", + data: { + action: "change->msip--geodep#cambiar_departamento", + "msip--geodep-target": "departamento" + } + }, label: false, - include_blank: "-- Departamento" + label_method: :nombre, + value_method: :id %>
@@ -41,24 +54,32 @@ collection: Msip::ModeloHelper.opciones_tabla_basica( Msip::Municipio, f, :municipio_id ), - label_method: :nombre, - value_method: :id, - label: false, include_blank: "-- Municipio", - input_html: {disabled: :disabled } + input_html: { + class: "tom-select", + data: { + action: "change->msip--geodep#cambiar_municipio", + "msip--geodep-target": "municipio" + } + }, + label: false, + label_method: :nombre, + value_method: :id %>
- <%= f.input :inc_ubicaciones, - as: :boolean, + <%= f.input :inc_ubicaciones, + as: :boolean, label: false, input_html: { checked: 'checked' } %>
- A <%= f.radio_button :orden, :ubicacion, + A + <%= f.radio_button :orden, :ubicacion, checked: @campoord == 'ubicacion' %> - D <%= f.radio_button :orden, :ubicaciondesc, + D + <%= f.radio_button :orden, :ubicaciondesc, checked: @campoord == 'ubicaciondesc' %>
@@ -68,62 +89,71 @@
<%= f.input :fechaini, - maxlength: 11, - size: 11, - label: false, - placeholder: 'Desde', input_html: { type: "date" - } + }, + label: false, + maxlength: 11, + placeholder: 'Desde', + size: 11 %>
<%= f.input :fechafin, - maxlength: 10, - size: 10, - label: false, - placeholder: 'Hasta', input_html: { type: "date" - } + }, + label: false, + maxlength: 10, + placeholder: 'Hasta', + size: 10 %>
- <%= f.input :inc_fecha, - as: :boolean, - label: false, - input_html: {checked: 'checked'} + <%= f.input :inc_fecha, + as: :boolean, + input_html: {checked: 'checked'}, + label: false %>
- A <%= f.radio_button(:orden, :fecha, - checked: @campoord == 'fecha' ) %> - D <%= f.radio_button(:orden, :fechadesc, - checked: @campoord == 'fechadesc' ) %> + A + <%= f.radio_button( + :orden, :fecha, checked: @campoord == 'fecha' + ) %> + D + <%= f.radio_button( + :orden, :fechadesc, checked: @campoord == 'fechadesc' + ) %>
- Presunto Responsable + Presunto Responsable
<%= f.input :presponsable_id, collection: Msip::ModeloHelper.opciones_tabla_basica( Sivel2Gen::Presponsable, f, :presponsable_id ), - label_method: :nombre, - value_method: :id, - input_html: { :class => "tom-select", multiple: true }, + include_blank: true, + input_html: { + class: "tom-select", + multiple: true + }, label: false, - include_blank: true + label_method: :nombre, + value_method: :id %>
- <%= f.input :inc_presponsables, - as: :boolean, - label: false, - input_html: { :checked => "checked" } + <%= f.input :inc_presponsables, + as: :boolean, + input_html: { + checked: "checked" + }, + label: false %>
@@ -138,18 +168,18 @@ col << Sivel2Gen::Tviolencia.new(id: "Z", nombre: "Otro") col += Msip::ModeloHelper.opciones_tabla_basica( Sivel2Gen::Tviolencia, f, :tviolencia_id - ) + ) %> <%= f.input :tviolencia_id, collection: col, - label_method: :nombre, - value_method: :id, - selected: "Z", - label: false, include_blank: false, input_html: { "data-action": "change->sivel2-gen--filtro-avanzado#filtrar_tviolencia", - } + }, + label: false, + label_method: :nombre, + selected: "Z", + value_method: :id %>
@@ -161,29 +191,34 @@
<% col1 = Sivel2Gen::Categoria.habilitados.where(tipocat: 'O').pluck(:id) %> <% col2 = Sivel2Gen::Categoria.habilitados.pluck(:id) %> - <% col3 = Sivel2Gen::Categoria.where(id: col1 | col2).joins(:supracategoria). + <% col3 = Sivel2Gen::Categoria.where(id: col1 | col2). + joins(:supracategoria). reorder('sivel2_gen_supracategoria.tviolencia_id', :id) %> <%= f.input :categoria_id, collection: col3, - label_method: lambda {|t| + include_hidden: false, + input_html: { + class: "tom-select", + "data-action": "change->sivel2-gen--filtro-avanzado#filtrar_categoria", + multiple: true + }, + label: false, + label_method: lambda {|t| t.supracategoria.tviolencia_id + t.id.to_s + ' ' + t.nombre }, - value_method: :id, - :include_hidden => false, - input_html: { :class => "tom-select", - "data-action": "change->sivel2-gen--filtro-avanzado#filtrar_categoria", - multiple: true }, - label: false + value_method: :id %>
<%= f.input :inc_tipificacion, as: :boolean, - label: false, - input_html: {checked: 'checked'} + input_html: { + checked: 'checked' + }, + label: false %>
@@ -202,22 +237,31 @@ collection: Msip::ModeloHelper.opciones_tabla_basica( Sivel2Gen::Contexto, f, :contexto_id ), + include_hidden: false, + input_html: { + class: "tom-select", + multiple: true, + "data-placeholder": "Contexto de Caso" + }, + label: false, label_method: :nombre, - value_method: :id, - :include_hidden => false, - input_html: { :class => "tom-select", multiple: true, "data-placeholder": "Contexto de Caso"}, - label: false + value_method: :id %>
<%= f.input :contextovictima_id, collection: Msip::ModeloHelper.opciones_tabla_basica( - Sivel2Gen::Contextovictima, f, :contextovictima_id), + Sivel2Gen::Contextovictima, f, :contextovictima_id + ), + include_hidden: false, + input_html: { + class: "tom-select", + multiple: true, + "data-placeholder": "Contexto de Victima" + }, + label: false, label_method: :nombre, - value_method: :id, - :include_hidden => false, - input_html: { :class => "tom-select", multiple: true, "data-placeholder": "Contexto de Victima"}, - label: false + value_method: :id %>
@@ -230,25 +274,27 @@
<%= f.input :nombres, - maxlength: 50, - size: 10, label: false, - placeholder: 'Nombre(s)' + maxlength: 50, + placeholder: 'Nombre(s)', + size: 10 %>
<%= f.input :apellidos, - maxlength: 50, - size: 10, label: false, - placeholder: 'Apellido(s)' + maxlength: 50, + placeholder: 'Apellido(s)', + size: 10 %>
- <%= f.input :inc_victimas, - as: :boolean, - label: false, - input_html: { :checked => "checked" } + <%= f.input :inc_victimas, + as: :boolean, + input_html: { + checked: "checked" + }, + label: false %>
@@ -264,51 +310,51 @@
- <%= f.input :sexo, + <%= f.input :sexo, collection: Msip::Persona::sexo_opciones, - label: false, - include_blank: '-- Sexo' + include_blank: '-- Sexo', + label: false %>
<% if current_usuario %> <%= f.input :orientacionsexual, collection: Msip::Persona::ORIENTACION_OPCIONES, - label: false, - include_blank: '-- Orientación Sexual' + include_blank: '-- Orientación Sexual', + label: false %> <% else %> - <%= f.input :rangoedad_id, + <%= f.input :rangoedad_id, collection: Msip::ModeloHelper.opciones_tabla_basica( Sivel2Gen::Rangoedad, f, :rangoedad_id ), + include_blank: '-- Rango de Edad', label: false, label_method: :nombre, - value_method: :id, - include_blank: '-- Rango de Edad' + value_method: :id %> <% end %>
<% if current_usuario %> - <%= f.input :rangoedad_id, + <%= f.input :rangoedad_id, collection: Msip::ModeloHelper.opciones_tabla_basica( Sivel2Gen::Rangoedad, f, :rangoedad_id ), + include_blank: '-- Rango de Edad', label: false, label_method: :nombre, - value_method: :id, - include_blank: '-- Rango de Edad' + value_method: :id %> <% else %> <%= f.input :sectorsocial_id, collection: Msip::ModeloHelper.opciones_tabla_basica( Sivel2Gen::Sectorsocial, f, :sectorsocial_id ), + include_blank: '-- Sector Social', label: false, label_method: :nombre, - value_method: :id, - include_blank: '-- Sector Social' + value_method: :id %> <% end %>
@@ -331,10 +377,10 @@ collection: Msip::ModeloHelper.opciones_tabla_basica( Sivel2Gen::Sectorsocial, f, :sectorsocial_id ), + include_blank: '-- Sector Social', label: false, label_method: :nombre, - value_method: :id, - include_blank: '-- Sector Social' + value_method: :id %> <% end %>
@@ -344,10 +390,10 @@ collection: Msip::ModeloHelper.opciones_tabla_basica( Sivel2Gen::Organizacion, f, :organizacion_id ), + include_blank: '-- Organizacion', label: false, label_method: :nombre, - value_method: :id, - include_blank: '-- Organizacion' + value_method: :id %> <% end %>
@@ -357,10 +403,10 @@ collection: Msip::ModeloHelper.opciones_tabla_basica( Sivel2Gen::Profesion, f, :profesion_id ), + include_blank: '-- Profesion', label: false, label_method: :nombre, - value_method: :id, - include_blank: '-- Profesion' + value_method: :id %> <% end %>
@@ -384,10 +430,10 @@ collection: Msip::ModeloHelper.opciones_tabla_basica( Sivel2Gen::Filiacion, f, :filiacion_id ), + include_blank: '-- Filiación política', label: false, label_method: :nombre, - value_method: :id, - include_blank: '-- Filiación política' + value_method: :id %> <% end %> @@ -409,19 +455,21 @@
<%= f.input :victimacol, - maxlength: 50, - size: 10, + maxlength: 50, label: false, - placeholder: 'Nombre' + placeholder: 'Nombre', + size: 10 %>
- <%= f.input :inc_victimacol, - as: :boolean, - label: false, - input_html: {checked: 'checked'} + <%= f.input :inc_victimacol, + as: :boolean, + input_html: { + checked: 'checked' + }, + label: false %>
@@ -436,20 +484,22 @@
<%= f.input :descripcion, - maxlength: 500, label: false, + maxlength: 500, placeholder: 'Descripción' %>
- <%= f.input :inc_memo, - as: :boolean, - label: false, - input_html: { :checked => "checked" } + <%= f.input :inc_memo, + as: :boolean, + input_html: { + checked: "checked" + }, + label: false %>
@@ -461,10 +511,10 @@ Etiqueta
- <%= f.input :conetiqueta1, - collection: [ ["TIENE", true], ["NO TIENE", false] ], - label: false, - include_blank: false + <%= f.input :conetiqueta1, + collection: [ ["TIENE", true], ["NO TIENE", false] ], + include_blank: false, + label: false %>
@@ -472,17 +522,17 @@ collection: Msip::ModeloHelper.opciones_tabla_basica( Msip::Etiqueta, f, :etiqueta1 ), + include_blank: '-- Etiqueta 1', label_method: :nombre, - value_method: :id, label: false, - include_blank: '-- Etiqueta 1' + value_method: :id %>
- <%= f.input :conetiqueta2, - collection: [ ["TIENE", true], ["NO TIENE", false] ], - label: false, - include_blank: false + <%= f.input :conetiqueta2, + collection: [ ["TIENE", true], ["NO TIENE", false] ], + include_blank: false, + label: false %>
@@ -490,16 +540,16 @@ collection: Msip::ModeloHelper.opciones_tabla_basica( Msip::Etiqueta, f, :etiqueta2 ), - label_method: :nombre, - value_method: :id, + include_blank: '-- Etiqueta 1', label: false, - include_blank: '-- Etiqueta 1' + label_method: :nombre, + value_method: :id %>
- +
Solicitudes @@ -509,91 +559,97 @@ collection: Msip::ModeloHelper.opciones_tabla_basica( Msip::Estadosol, f, :estadosol_id ), - label_method: :nombre, - value_method: :id, + include_blank: '-- Estado de solicitud', label: false, - include_blank: '-- Estado de solicitud' + label_method: :nombre, + value_method: :id %>
- Ingreso a Sistema + Ingreso al Sistema
<%= f.input :usuario_id, collection: Msip::ModeloHelper.opciones_tabla_basica( ::Usuario, f, :usuario_id ), - label_method: lambda {|t| (t.nombre ? t.nombre : '') + ' - ' + - t.nusuario - }, - value_method: :id, + include_blank: '-- Usuario', + label_method: lambda { |t| + (t.nombre ? t.nombre : '') + ' - ' + t.nusuario + }, label: false, - include_blank: '-- Usuario' + value_method: :id %>
<%= f.input :fechaingini, - maxlength: 10, - size: 10, - label: false, - placeholder: 'Fecha Inicial', input_html: { type: "date" - } + }, + label: false, + maxlength: 10, + placeholder: 'Fecha Inicial', + size: 10 %>
<%= f.input :fechaingfin, - maxlength: 10, - size: 10, - label: false, - placeholder: 'Fecha Final', input_html: { type: "date" - } + }, + label: false, + maxlength: 10, + placeholder: 'Fecha Final', + size: 10 %>
- Código(s) + Código(s)
- <%= f.input :codigo, - placeholder: 'Código(s)', - label: false + <%= f.input :codigo, + label: false, + placeholder: 'Código(s)' %>
<%= f.input :inc_casoid, - as: :boolean, - label: false, - input_html: { :checked => "checked" } + as: :boolean, + input_html: { + checked: "checked" + }, + label: false %>
- A <%= f.radio_button(:orden, :codigo, - checked: @campoord == 'codigo') %> - D <%= f.radio_button(:orden, :codigodesc, - checked: @campoord == 'codigodesc') %> + A + <%= f.radio_button( + :orden, :codigo, checked: @campoord == 'codigo') %> + D + <%= f.radio_button( + :orden, :codigodesc, checked: @campoord == 'codigodesc') %>
- Presentación + Presentación
- <%= f.input :paginar, - as: :boolean, - label: 'Paginar', - input_html: { checked: "checked" } + <%= f.input :paginar, + as: :boolean, + input_html: { + checked: "checked" + }, + label: 'Paginar' %>
@@ -608,23 +664,21 @@
<%= f.input :disgenera, collection: @plantillas, - label: false, - include_blank: false + include_blank: false, + label: false %>
- <%= link_to t('Generar'), - '#', - class: 'btn', - target: '_blank', - onclick: 'heb412_gen_completa_generarp(this, "#filtro_disgenera", - "casos", "casos")' %> - <%= link_to t('Generar XLSX'), - '#', - class: 'btn', - target: '_blank', - onclick: 'heb412_gen_completa_generarp(this, "#filtro_disgenera", - "casos", "casos", "xlsx")' %> + <%= link_to t('Generar'), '#', + class: 'btn', + onclick: 'heb412_gen_completa_generarp(this, "#filtro_disgenera", "casos", "casos")', + target: '_blank' + %> + <%= link_to t('Generar XLSX'), '#', + class: 'btn', + onclick: 'heb412_gen_completa_generarp(this, "#filtro_disgenera", "casos", "casos", "xlsx")', + target: '_blank' + %>
@@ -634,11 +688,3 @@ -