2015-08-10 11:05:06 +02:00
|
|
|
class CommentairesController < ApplicationController
|
2016-11-14 18:00:26 +01:00
|
|
|
def index
|
|
|
|
@facade = DossierFacades.new(
|
2017-06-12 13:49:51 +02:00
|
|
|
params[:dossier_id],
|
|
|
|
(current_gestionnaire || current_user).email,
|
|
|
|
params[:champs_id]
|
2016-11-14 18:00:26 +01:00
|
|
|
)
|
|
|
|
render layout: false
|
|
|
|
rescue ActiveRecord::RecordNotFound
|
|
|
|
flash.alert = t('errors.messages.dossier_not_found')
|
|
|
|
redirect_to url_for(controller: '/')
|
|
|
|
end
|
|
|
|
|
2015-08-10 11:05:06 +02:00
|
|
|
def create
|
2015-08-11 15:22:07 +02:00
|
|
|
@commentaire = Commentaire.new
|
2016-11-14 18:00:26 +01:00
|
|
|
@commentaire.champ = @commentaire.dossier.champs.find(params[:champ_id]) if params[:champ_id]
|
2015-08-10 11:05:06 +02:00
|
|
|
|
2017-07-10 17:11:55 +02:00
|
|
|
dossier_id = params['dossier_id']
|
2015-09-25 10:46:09 +02:00
|
|
|
if is_gestionnaire?
|
|
|
|
@commentaire.email = current_gestionnaire.email
|
2017-07-10 17:11:55 +02:00
|
|
|
@commentaire.dossier = current_gestionnaire.dossiers.find_by(id: dossier_id) || current_gestionnaire.avis.find_by!(dossier_id: dossier_id).dossier
|
2016-02-08 18:16:18 +01:00
|
|
|
else
|
2015-09-25 10:46:09 +02:00
|
|
|
@commentaire.email = current_user.email
|
2017-07-10 17:11:55 +02:00
|
|
|
@commentaire.dossier = current_user.dossiers.find_by(id: dossier_id) || current_user.invites.find_by!(dossier_id: dossier_id).dossier
|
2015-09-25 10:46:09 +02:00
|
|
|
end
|
|
|
|
|
2017-10-31 17:45:04 +01:00
|
|
|
@commentaire.file = params["file"]
|
2016-04-20 16:51:57 +02:00
|
|
|
|
2015-09-25 10:46:09 +02:00
|
|
|
@commentaire.body = params['texte_commentaire']
|
2017-10-31 17:45:04 +01:00
|
|
|
if @commentaire.save
|
|
|
|
flash.notice = "Votre message a été envoyé"
|
2016-12-07 16:59:35 +01:00
|
|
|
else
|
2017-10-31 17:45:04 +01:00
|
|
|
flash.alert = "Veuillez rédiger un message ou ajouter une pièce jointe (maximum 20 Mo)"
|
2016-12-07 16:59:35 +01:00
|
|
|
end
|
2015-08-10 11:05:06 +02:00
|
|
|
|
2015-09-22 15:00:59 +02:00
|
|
|
if is_gestionnaire?
|
2017-07-17 12:25:43 +02:00
|
|
|
current_gestionnaire.follow(@commentaire.dossier)
|
2016-07-18 18:24:29 +02:00
|
|
|
|
2015-09-22 15:00:59 +02:00
|
|
|
redirect_to url_for(controller: 'backoffice/dossiers', action: :show, id: params['dossier_id'])
|
2015-08-10 11:05:06 +02:00
|
|
|
else
|
2016-12-22 20:40:23 +01:00
|
|
|
if current_user.email != @commentaire.dossier.user.email
|
2017-01-10 16:25:05 +01:00
|
|
|
invite = Invite.where(dossier: @commentaire.dossier, email: current_user.email).first
|
2016-12-22 20:40:23 +01:00
|
|
|
redirect_to url_for(controller: 'users/dossiers/invites', action: :show, id: invite.id)
|
|
|
|
else
|
2017-01-30 15:17:45 +01:00
|
|
|
redirect_to users_dossier_recapitulatif_path(params['dossier_id'])
|
2016-12-22 20:40:23 +01:00
|
|
|
end
|
2015-08-10 11:05:06 +02:00
|
|
|
end
|
|
|
|
end
|
2015-09-22 15:00:59 +02:00
|
|
|
|
|
|
|
def is_gestionnaire?
|
|
|
|
false
|
|
|
|
end
|
2015-08-10 11:05:06 +02:00
|
|
|
end
|