2015-09-21 17:59:03 +02:00
|
|
|
class Procedure < ActiveRecord::Base
|
|
|
|
has_many :types_de_piece_justificative
|
2015-11-05 11:21:44 +01:00
|
|
|
has_many :types_de_champ
|
2015-09-21 17:59:03 +02:00
|
|
|
has_many :dossiers
|
2015-12-08 10:11:58 +01:00
|
|
|
has_one :module_api_carto
|
2015-11-16 16:16:08 +01:00
|
|
|
accepts_nested_attributes_for :types_de_champ,:reject_if => proc { |attributes| attributes['libelle'].blank? }, :allow_destroy => true
|
2015-11-20 13:54:08 +01:00
|
|
|
accepts_nested_attributes_for :types_de_piece_justificative, :reject_if => proc { |attributes| attributes['libelle'].blank? }, :allow_destroy => true
|
2015-12-08 10:11:58 +01:00
|
|
|
accepts_nested_attributes_for :module_api_carto
|
2015-11-10 10:23:15 +01:00
|
|
|
belongs_to :administrateur
|
|
|
|
|
2015-12-10 17:13:39 +01:00
|
|
|
mount_uploader :logo, ProcedureLogoUploader
|
|
|
|
|
2015-09-22 11:21:52 +02:00
|
|
|
validates :libelle, presence: true, allow_blank: false, allow_nil: false
|
|
|
|
validates :description, presence: true, allow_blank: false, allow_nil: false
|
2015-11-17 15:30:03 +01:00
|
|
|
|
|
|
|
def types_de_champ_ordered
|
|
|
|
types_de_champ.order(:order_place)
|
|
|
|
end
|
2015-11-19 11:37:01 +01:00
|
|
|
|
|
|
|
def switch_types_de_champ index_of_first_element
|
|
|
|
return false if index_of_first_element < 0
|
|
|
|
types_de_champ_tmp = types_de_champ_ordered
|
|
|
|
nb_types_de_champ = types_de_champ_tmp.count
|
|
|
|
return false if index_of_first_element == nb_types_de_champ - 1
|
|
|
|
return false if types_de_champ_ordered.count < 1
|
|
|
|
types_de_champ_tmp[index_of_first_element].update_attributes(order_place: index_of_first_element + 1)
|
|
|
|
types_de_champ_tmp[index_of_first_element + 1].update_attributes(order_place: index_of_first_element)
|
|
|
|
true
|
|
|
|
end
|
2015-09-21 17:59:03 +02:00
|
|
|
end
|