negos_app/app/controllers/admin/documents_controller.rb
2016-03-09 17:50:08 +01:00

140 lines
3.8 KiB
Ruby
Executable File

class Admin::DocumentsController < ApplicationController
layout "admin"
before_filter :auth_admin
before_filter :load_offer
def create
@accepted_offer.documents.create({title: params[:document][:title]})
if @accepted_offer.save
flash[:success] = "Document créé"
else
flash[:error] = "Impossible de créer le document"
end
redirect_to :back
end
def upload_document
if !params[:document]
flash[:error] = "Vous devez sélectionner un fichier"
else
@document = @accepted_offer.documents.find(params[:document_id])
@document.document = params[:document]
if @document.save
@document.state = :document_available
if @document.returned_document?
@document.remove_returned_document!
end
@document.save
flash[:success] = "Document chargé"
else
flash[:error] = "Impossible de charger le document"
end
end
redirect_to :back
end
def upload_returned_document
if !params[:returned_document]
flash[:error] = "Vous devez sélectionner un fichier"
else
@document = @accepted_offer.documents.find(params[:document_id])
@document.returned_document = params[:returned_document]
if @document.save
@document.state = :document_returned
@document.save
flash[:success] = "Document chargé"
else
flash[:error] = "Impossible de charger le document"
end
end
redirect_to :back
end
def load_offer
@offer = Offer.find(params[:offer_id])
@accepted_offer = @offer.accepted_offers.find(params[:accepted_offer_id])
end
def download
@document = @accepted_offer.documents.find(params[:document_id])
send_file @document.document.file.path
end
def download_returned
@document = @accepted_offer.documents.find(params[:document_id])
send_file @document.returned_document.file.path
end
def delete
@document = @accepted_offer.documents.find(params[:document_id])
if @document.document? && @document.state != :document_verified
@document.remove_document!
if @document.returned_document?
@document.remove_returned_document!
end
@document.state = :not_available
@document.save
flash[:success] = "Fichier supprimé"
else
flash[:error] = "Impossible de supprimer le fichier"
end
redirect_to :back
end
def destroy
@document = @accepted_offer.documents.find(params[:document_id])
if @document.destroy
flash[:success] = "Document Supprimé"
else
flash[:error] = "Impossible de supprimer le document"
end
redirect_to :back
end
def delete_returned
@document = @accepted_offer.documents.find(params[:document_id])
if @document.returned_document? && @document.state != :document_verified
@document.remove_returned_document!
@document.state = :document_available
@document.save
flash[:success] = "Fichier supprimé"
else
flash[:error] = "Impossible de supprimer le fichier"
end
redirect_to :back
end
def force_verified
@document = @accepted_offer.documents.find(params[:document_id])
@document.state = :document_verified
if @document.save
flash[:success] = "Document vérifié"
else
flash[:error] = "Impossible vérifier le document"
end
redirect_to :back
end
def verify_returned
@document = @accepted_offer.documents.find(params[:document_id])
@document.state = :document_verified
if @document.save
flash[:success] = "Document vérifié"
else
flash[:error] = "Impossible vérifier le document"
end
redirect_to :back
end
end