Error 403 when admin would edit a procedure with at least one dossier

This commit is contained in:
Xavier J 2015-12-21 12:02:53 +01:00
parent 5d4a36e6c3
commit 43779aafee
11 changed files with 65 additions and 32 deletions

View file

@ -23,11 +23,4 @@ class Admin::PiecesJustificativesController < AdminController
.require(:procedure)
.permit(types_de_piece_justificative_attributes: [:libelle, :description, :id])
end
def retrieve_procedure
@procedure = current_administrateur.procedures.find(params[:procedure_id])
rescue ActiveRecord::RecordNotFound
render json: { message: 'Procedure not found' }, status: 404
end
end

View file

@ -1,5 +1,7 @@
class Admin::ProceduresController < AdminController
before_action :retrieve_procedure, only: :edit
def index
@procedures = current_administrateur.procedures.where(archived: false)
.paginate(:page => params[:page]).decorate

View file

@ -1,5 +1,4 @@
class Admin::TypesDeChampController < AdminController
before_action :retrieve_procedure
def destroy
@ -38,12 +37,4 @@ class Admin::TypesDeChampController < AdminController
render json: {}, status: 400
end
end
private
def retrieve_procedure
@procedure = Procedure.find(params[:procedure_id])
rescue ActiveRecord::RecordNotFound
render json: { message: 'Procedure not found' }, status: 404
end
end

View file

@ -4,4 +4,17 @@ class AdminController < ApplicationController
def index
redirect_to (admin_procedures_path)
end
def retrieve_procedure
id = params[:procedure_id] || params[:id ]
@procedure = current_administrateur.procedures.find(id)
unless @procedure.dossiers.count == 0
render json: {message: 'Procedure locked'}, status: 403
end
rescue ActiveRecord::RecordNotFound
render json: {message: 'Procedure not found'}, status: 404
end
end