Refactor procedure locked and retrieve management

This commit is contained in:
Xavier J 2015-12-24 15:57:03 +01:00
parent de0acc0a22
commit 9fb575ef8c
9 changed files with 32 additions and 37 deletions

View file

@ -1,5 +1,6 @@
class Admin::PiecesJustificativesController < AdminController
before_action :retrieve_procedure
before_action :procedure_locked?
def show
end

View file

@ -1,6 +1,7 @@
class Admin::ProceduresController < AdminController
before_action :retrieve_procedure, only: :edit
before_action :retrieve_procedure, only: [:show, :edit]
before_action :procedure_locked?, only: [:edit]
def index
@procedures = current_administrateur.procedures.where(archived: false)
@ -15,13 +16,10 @@ class Admin::ProceduresController < AdminController
end
def show
informations
@facade = AdminProceduresShowFacades.new @procedure
@facade = AdminProceduresShowFacades.new @procedure.decorate
end
def edit
informations
end
def new
@ -83,12 +81,4 @@ class Admin::ProceduresController < AdminController
def create_module_api_carto_params
params.require(:procedure).require(:module_api_carto_attributes).permit(:id, :use_api_carto, :quartiers_prioritaires, :cadastre)
end
def informations
@procedure = current_administrateur.procedures.find(params[:id]).decorate
rescue ActiveRecord::RecordNotFound
flash.alert = 'Procédure inéxistante'
redirect_to admin_procedures_path
end
end

View file

@ -1,6 +1,7 @@
class Admin::TypesDeChampController < AdminController
before_action :retrieve_procedure
before_action :procedure_locked?
def destroy
@procedure.types_de_champ.destroy(params[:id])
render 'show', format: :js

View file

@ -6,15 +6,19 @@ class AdminController < ApplicationController
end
def retrieve_procedure
id = params[:procedure_id] || params[:id ]
id = params[:procedure_id] || params[:id]
@procedure = current_administrateur.procedures.find(id)
if @procedure.locked?
render json: {message: 'Procedure locked'}, status: 403
end
rescue ActiveRecord::RecordNotFound
render json: {message: 'Procedure not found'}, status: 404
flash.alert = 'Procédure inéxistante'
redirect_to admin_procedures_path, status: 404
end
def procedure_locked?
if @procedure.locked?
flash.alert = 'Procédure verrouillée'
redirect_to admin_procedure_path(id: @procedure.id)
end
end
end