negos_app/app/models/document.rb
2016-03-08 20:49:34 +01:00

62 lines
1.6 KiB
Ruby
Executable File

class Document < ActiveRecord::Base
include Workflow
belongs_to :accepted_offer
mount_uploader :document, DocumentUploader
mount_uploader :returned_document, DocumentUploader
acts_as_paranoid
workflow_column :state
validates :title, :presence => true
workflow do
state :not_available do
event :upload_document, :transitions_to => :document_available
end
state :document_available do
event :download_document, :transitions_to => :document_downloaded
end
state :document_downloaded do
event :return_document, :transitions_to => :document_returned
end
state :document_returned do
event :verify, :transitions_to => :document_verified
end
state :document_verified
end
def human_state
case state
when 'not_available'
"Pas encore disponible, patientez..."
when 'document_available'
"Disponible"
when 'document_downloaded'
"Téléchargé, à retourner signé"
when 'document_returned'
"Retourné, en attente de vérification"
when 'document_verified'
"Retourné et vérifié"
end
end
def human_admin_state
case state
when 'not_available'
"Vous devez charger le document"
when 'document_available'
"Disponible et en attente de téléchargement par le client"
when 'document_downloaded'
"Téléchargé par le client, en attente de retour"
when 'document_returned'
"Retourné par le client, en attente de vérification"
when 'document_verified'
"Retourné et vérifié"
end
end
end