negos_app/app/models/accepted_offer.rb
2016-03-03 22:26:04 +01:00

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