2018-04-17 16:11:49 +02:00
|
|
|
class Service < ApplicationRecord
|
|
|
|
has_many :procedures
|
|
|
|
belongs_to :administrateur
|
|
|
|
|
2018-04-23 10:42:30 +02:00
|
|
|
scope :ordered, -> { order(nom: :asc) }
|
|
|
|
|
2018-04-17 16:11:49 +02:00
|
|
|
enum type_organisme: {
|
|
|
|
administration_centrale: 'administration_centrale',
|
|
|
|
association: 'association',
|
|
|
|
commune: 'commune',
|
|
|
|
departement: 'departement',
|
|
|
|
etablissement_enseignement: 'etablissement_enseignement',
|
|
|
|
prefecture: 'prefecture',
|
|
|
|
region: 'region',
|
|
|
|
autre: 'autre'
|
|
|
|
}
|
|
|
|
|
|
|
|
validates :nom, presence: { message: 'doit être renseigné' }, allow_nil: false
|
|
|
|
validates :nom, uniqueness: { scope: :administrateur, message: 'existe déjà' }
|
2018-05-10 11:38:11 +02:00
|
|
|
validates :organisme, presence: { message: 'doit être renseigné' }, allow_nil: false
|
2018-07-19 15:36:07 +02:00
|
|
|
validates :siret, length: { is: 14, message: 'doit être une suite de 14 chiffres' }, allow_nil: true
|
2018-04-17 16:11:49 +02:00
|
|
|
validates :type_organisme, presence: { message: 'doit être renseigné' }, allow_nil: false
|
2018-05-10 11:38:11 +02:00
|
|
|
validates :email, presence: { message: 'doit être renseigné' }, allow_nil: false
|
|
|
|
validates :telephone, presence: { message: 'doit être renseigné' }, allow_nil: false
|
|
|
|
validates :horaires, presence: { message: 'doivent être renseignés' }, allow_nil: false
|
|
|
|
validates :adresse, presence: { message: 'doit être renseignée' }, allow_nil: false
|
2018-04-17 16:11:49 +02:00
|
|
|
validates :administrateur, presence: { message: 'doit être renseigné' }, allow_nil: false
|
2018-12-19 15:35:07 +01:00
|
|
|
|
|
|
|
def clone_and_assign_to_administrateur(administrateur)
|
|
|
|
service_cloned = self.dup
|
|
|
|
service_cloned.administrateur = administrateur
|
|
|
|
service_cloned
|
|
|
|
end
|
2018-04-17 16:11:49 +02:00
|
|
|
end
|