pg_rails 7.1.1.pre.1 → 7.1.1.pre.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/pg_associable/app/javascript/modal_controller.js +2 -2
- data/pg_engine/app/components/alert_component.rb +0 -1
- data/pg_engine/app/controllers/admin/emails_controller.rb +1 -0
- data/pg_engine/app/controllers/concerns/pg_engine/resource.rb +1 -1
- data/pg_engine/app/helpers/pg_engine/index_helper.rb +3 -3
- data/pg_engine/app/lib/pg_engine/filtros_builder.rb +14 -6
- data/pg_engine/config/locales/es.yml +3 -0
- data/pg_rails/lib/version.rb +1 -1
- metadata +2 -2
    
        checksums.yaml
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            ---
         | 
| 2 2 | 
             
            SHA256:
         | 
| 3 | 
            -
              metadata.gz:  | 
| 4 | 
            -
              data.tar.gz:  | 
| 3 | 
            +
              metadata.gz: f1a5b2d45d523d85b889cb132876fecfa47dcb5ec2215745a8a5f52f65cb64d1
         | 
| 4 | 
            +
              data.tar.gz: 2d3a6033834156a52fd1b2732fa5807da7c543a0ebac232ce1e588e2b8264595
         | 
| 5 5 | 
             
            SHA512:
         | 
| 6 | 
            -
              metadata.gz:  | 
| 7 | 
            -
              data.tar.gz:  | 
| 6 | 
            +
              metadata.gz: e8307c9947ada0096c2c631c688fa6b5117c48473bd263786af090814aed41641535a5a205d9bfbfceef9ced876b8814b09e7dbcb6176730dc339f4499921e48
         | 
| 7 | 
            +
              data.tar.gz: 5dff3bd33e3eb3adfe4f1ce205c34f6099ae1446cf58288aa411c863511531bab2aa40d476c04c6e41a2d5b8df72ff53bc9857f3fc6f6b311b4d620e1de6df12
         | 
| @@ -14,8 +14,8 @@ export default class extends Controller { | |
| 14 14 | 
             
                    this.element.remove()
         | 
| 15 15 | 
             
                    window.Stimulus.controllers.map((c) => { return c.calendar })
         | 
| 16 16 | 
             
                      .filter((e) => { return e })
         | 
| 17 | 
            -
                      . | 
| 18 | 
            -
             | 
| 17 | 
            +
                      .forEach((c) => { c.refetchEvents() })
         | 
| 18 | 
            +
                  })
         | 
| 19 19 | 
             
                }
         | 
| 20 20 | 
             
                this.modalPuntero.show()
         | 
| 21 21 | 
             
                document.addEventListener('turbo:before-cache', () => {
         | 
| @@ -4,7 +4,6 @@ class AlertComponent < ViewComponent::Base | |
| 4 4 | 
             
              def initialize(type:, toast: false, dismissible: true)
         | 
| 5 5 | 
             
                @type = type.to_s
         | 
| 6 6 |  | 
| 7 | 
            -
                # rubocop:disable Style/IfUnlessModifier
         | 
| 8 7 | 
             
                unless @type.in? ApplicationController._flash_types.map(&:to_s)
         | 
| 9 8 | 
             
                  raise PgEngine::Error, 'el type no es válido'
         | 
| 10 9 | 
             
                end
         | 
| @@ -22,6 +22,7 @@ module Admin | |
| 22 22 | 
             
                def create
         | 
| 23 23 | 
             
                  saved = false
         | 
| 24 24 | 
             
                  ActiveRecord::Base.transaction do
         | 
| 25 | 
            +
                    # FIXME: acá la transaction jode porque el ActiveJob no puede deserializar el Email
         | 
| 25 26 | 
             
                    if (saved = @email.save)
         | 
| 26 27 | 
             
                      PgEngine::AdminMailer.with(email_object: @email).admin_mail.deliver_later
         | 
| 27 28 | 
             
                    end
         | 
| @@ -139,7 +139,7 @@ module PgEngine | |
| 139 139 | 
             
                end
         | 
| 140 140 |  | 
| 141 141 | 
             
                def pg_respond_show(object = nil)
         | 
| 142 | 
            -
                  object  | 
| 142 | 
            +
                  object ||= instancia_modelo
         | 
| 143 143 | 
             
                  if params[:modal].present?
         | 
| 144 144 | 
             
                    render turbo_stream: turbo_stream.append_all('body', partial: 'pg_layout/modal_show', locals: { object: })
         | 
| 145 145 | 
             
                  else
         | 
| @@ -17,10 +17,10 @@ module PgEngine | |
| 17 17 | 
             
                          end
         | 
| 18 18 | 
             
                    cgi['order_by'] = campo
         | 
| 19 19 | 
             
                    cgi['order_direction'] =
         | 
| 20 | 
            -
                      if field.to_s == campo.to_s && direction.to_s == ' | 
| 21 | 
            -
                        'desc'
         | 
| 22 | 
            -
                      else
         | 
| 20 | 
            +
                      if field.to_s == campo.to_s && direction.to_s == 'desc'
         | 
| 23 21 | 
             
                        'asc'
         | 
| 22 | 
            +
                      else
         | 
| 23 | 
            +
                        'desc'
         | 
| 24 24 | 
             
                      end
         | 
| 25 25 |  | 
| 26 26 | 
             
                    symbol = if field.to_s == campo.to_s
         | 
| @@ -72,13 +72,21 @@ module PgEngine | |
| 72 72 | 
             
                        raise 'filtro de asociacion no soportado'
         | 
| 73 73 | 
             
                      end
         | 
| 74 74 | 
             
                    elsif tipo(campo).in?(%i[string text])
         | 
| 75 | 
            -
                       | 
| 76 | 
            -
                      match_like = "%#{parametros[campo]}%"
         | 
| 75 | 
            +
                      columna = @clase_modelo.columns.find { |c| c.name == campo.to_s }
         | 
| 77 76 | 
             
                      campo_tabla = "#{@clase_modelo.table_name}.#{campo}"
         | 
| 78 | 
            -
                       | 
| 79 | 
            -
                       | 
| 80 | 
            -
             | 
| 81 | 
            -
             | 
| 77 | 
            +
                      match_like = "%#{parametros[campo]}%"
         | 
| 78 | 
            +
                      query =
         | 
| 79 | 
            +
                        if columna&.array
         | 
| 80 | 
            +
                          # FIXME: testear
         | 
| 81 | 
            +
                          # El CONCAT no sé para qué sirve, pero lo dejo
         | 
| 82 | 
            +
                          query.where("unaccent(CONCAT(array_to_string(#{campo_tabla}, ' '))) ILIKE unaccent(?)", I18n.transliterate(match_like).to_s)
         | 
| 83 | 
            +
                        else
         | 
| 84 | 
            +
                          match_vector = parametros[campo].split.map { |a| "#{a}:*" }.join(' & ')
         | 
| 85 | 
            +
                          condicion = "to_tsvector(coalesce(unaccent(#{campo_tabla}), '')) @@ to_tsquery( unaccent(?) )"
         | 
| 86 | 
            +
                          condicion += " OR unaccent(CONCAT(#{campo_tabla})) ILIKE unaccent(?)"
         | 
| 87 | 
            +
                          query = query.where(condicion, I18n.transliterate(match_vector).to_s,
         | 
| 88 | 
            +
                                              I18n.transliterate(match_like).to_s)
         | 
| 89 | 
            +
                        end
         | 
| 82 90 | 
             
                    elsif tipo(campo) == :boolean
         | 
| 83 91 | 
             
                      if campo.to_s == 'discarded'
         | 
| 84 92 | 
             
                        # Si el nombre del campo es 'discarded' entonces no es un campo
         | 
| @@ -5,6 +5,9 @@ es: | |
| 5 5 | 
             
                    empty: 'No hay %{model} aún'
         | 
| 6 6 | 
             
                    empty_but_filtered: 'No hay %{model} para los filtros aplicados'
         | 
| 7 7 | 
             
              attributes:
         | 
| 8 | 
            +
                external_labels: Etiquetas externas
         | 
| 9 | 
            +
                external_source: Fuente externa
         | 
| 10 | 
            +
                external_id: ID externo
         | 
| 8 11 | 
             
                created_at: Fecha de creación
         | 
| 9 12 | 
             
                updated_at: Fecha de actualización
         | 
| 10 13 | 
             
                discarded_at: Fecha de borrado
         | 
    
        data/pg_rails/lib/version.rb
    CHANGED
    
    
    
        metadata
    CHANGED
    
    | @@ -1,14 +1,14 @@ | |
| 1 1 | 
             
            --- !ruby/object:Gem::Specification
         | 
| 2 2 | 
             
            name: pg_rails
         | 
| 3 3 | 
             
            version: !ruby/object:Gem::Version
         | 
| 4 | 
            -
              version: 7.1.1.pre. | 
| 4 | 
            +
              version: 7.1.1.pre.2
         | 
| 5 5 | 
             
            platform: ruby
         | 
| 6 6 | 
             
            authors:
         | 
| 7 7 | 
             
            - Martín Rosso
         | 
| 8 8 | 
             
            autorequire: 
         | 
| 9 9 | 
             
            bindir: bin
         | 
| 10 10 | 
             
            cert_chain: []
         | 
| 11 | 
            -
            date: 2024-07- | 
| 11 | 
            +
            date: 2024-07-18 00:00:00.000000000 Z
         | 
| 12 12 | 
             
            dependencies:
         | 
| 13 13 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 14 14 | 
             
              name: rails
         |