62 lines
1.6 KiB
Ruby
Executable File
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
|