Sha256: f8721c74220f5b542fed796f301c2f624b073a84d2d68fd7b85e249b2f44f9a1

Contents?: true

Size: 1.95 KB

Versions: 3

Compression:

Stored size: 1.95 KB

Contents

module Msip
  module Concerns
    module Models
      module Departamento
        extend ActiveSupport::Concern

        include Msip::Basica
        included do
          Nombresunicos=false  # Por ejemplo hay departamento AMAZONAS en COLOMBIA y en VENEZUELA
          self.table_name = 'msip_departamento'
          has_many :municipio, foreign_key: "id_departamento", validate: true, 
            class_name: 'Msip::Municipio'
          has_many :persona, foreign_key: "id_departamento", validate: true, 
            class_name: 'Msip::Persona'
          has_many :ubicacion, foreign_key: "id_departamento", validate: true, 
            class_name: 'Msip::Ubicacion'

          belongs_to :pais, foreign_key: "id_pais", validate: true, 
            class_name: 'Msip::Pais', optional: false

          validates :id_pais, presence: true
          
          validates_uniqueness_of :nombre, 
            scope: :id_pais,
            case_sensitive: false, 
            message: "debe ser único en el país"
          validates_uniqueness_of :id_deplocal, 
            scope: :id_pais, 
            message: "debe ser único en el país", 
            allow_blank: false

          # A nombre se le quitan espacios de sobra
          def nombre=(val)
            self[:nombre] = val.squish if val
          end

          scope :filtro_id_pais, lambda {|p|
            where(id_pais: p)
          }

          @@conf_presenta_nombre_con_origen = false
          mattr_accessor :conf_presenta_nombre_con_origen

          def presenta_nombre_con_origen
            pais = Msip::Pais.find(self.id_pais)
            self.nombre + " / " + pais.nombre
          end

          def presenta_nombre
            if @@conf_presenta_nombre_con_origen
              presenta_nombre_con_origen
            else
              self.nombre
            end
          end

        end

        class_methods do
          #mattr_accessor :conf_presenta_nombre_con_origen
        end

      end
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
msip-2.2.0.alfa3 lib/msip/concerns/models/departamento.rb
msip-2.2.0.alfa2 lib/msip/concerns/models/departamento.rb
msip-2.2a2 lib/msip/concerns/models/departamento.rb