52 lines
1.3 KiB
Ruby
Executable File
52 lines
1.3 KiB
Ruby
Executable File
class AcceptedOffer < ActiveRecord::Base
|
|
include Workflow
|
|
belongs_to :customer
|
|
belongs_to :offer
|
|
mount_uploader :devis, DevisUploader
|
|
validates :customer, :presence => true
|
|
validates :offer, :presence => true
|
|
|
|
workflow_column :state
|
|
|
|
workflow do
|
|
state :waiting_devis do
|
|
event :upload_devis, :transitions_to => :devis_available
|
|
end
|
|
state :devis_available do
|
|
event :download_devis, :transitions_to => :devis_downloaded
|
|
end
|
|
state :devis_downloaded do
|
|
event :receive_devis, :transitions_to => :devis_received
|
|
end
|
|
|
|
state :devis_received
|
|
|
|
end
|
|
|
|
def human_state
|
|
case state
|
|
when 'waiting_devis'
|
|
"Création du devis en cours..."
|
|
when 'devis_available'
|
|
"Devis disponible"
|
|
when 'devis_downloaded'
|
|
"En attente de réception du devis signé"
|
|
when 'devis_received'
|
|
"Devis reçu et signé"
|
|
end
|
|
end
|
|
|
|
def human_admin_state
|
|
case state
|
|
when 'waiting_devis'
|
|
"En attente de création du devis"
|
|
when 'devis_available'
|
|
"Devis disponible pour le client mais pas encore téléchargé"
|
|
when 'devis_downloaded'
|
|
"Dévis téléchargé par le client, en attente de réception du devis signé"
|
|
when 'devis_received'
|
|
"Devis reçu et signé"
|
|
end
|
|
end
|
|
end
|