types_de_champ controller to use turbo
This commit is contained in:
parent
cf81e8ecd5
commit
1573d20ee9
12 changed files with 133 additions and 58 deletions
|
@ -1,16 +1,17 @@
|
|||
module Administrateurs
|
||||
class TypesDeChampController < AdministrateurController
|
||||
before_action :retrieve_procedure, only: [:create, :update, :move, :estimate_fill_duration, :destroy]
|
||||
before_action :procedure_revisable?, only: [:create, :update, :move, :destroy]
|
||||
before_action :retrieve_procedure, only: [:create, :update, :move, :move_up, :move_down, :destroy]
|
||||
before_action :procedure_revisable?, only: [:create, :update, :move, :move_up, :move_down, :destroy]
|
||||
|
||||
def create
|
||||
type_de_champ = @procedure.draft_revision.add_type_de_champ(type_de_champ_create_params)
|
||||
|
||||
if type_de_champ.valid?
|
||||
@coordinate = @procedure.draft_revision.coordinate_for(type_de_champ)
|
||||
reset_procedure
|
||||
render json: serialize_type_de_champ(type_de_champ), status: :created
|
||||
flash.notice = "Formulaire enregistré"
|
||||
else
|
||||
render json: { errors: type_de_champ.errors.full_messages }, status: :unprocessable_entity
|
||||
flash.alert = type_de_champ.errors.full_messages
|
||||
end
|
||||
end
|
||||
|
||||
|
@ -18,61 +19,43 @@ module Administrateurs
|
|||
type_de_champ = @procedure.draft_revision.find_and_ensure_exclusive_use(params[:id])
|
||||
|
||||
if type_de_champ.update(type_de_champ_update_params)
|
||||
if params[:should_render]
|
||||
@coordinate = @procedure.draft_revision.coordinate_for(type_de_champ)
|
||||
end
|
||||
reset_procedure
|
||||
render json: serialize_type_de_champ(type_de_champ)
|
||||
flash.notice = "Formulaire enregistré"
|
||||
else
|
||||
render json: { errors: type_de_champ.errors.full_messages }, status: :unprocessable_entity
|
||||
flash.alert = type_de_champ.errors.full_messages
|
||||
end
|
||||
end
|
||||
|
||||
def move
|
||||
flash.notice = "Formulaire enregistré"
|
||||
@procedure.draft_revision.move_type_de_champ(params[:id], params[:position].to_i)
|
||||
|
||||
head :no_content
|
||||
end
|
||||
|
||||
def estimate_fill_duration
|
||||
estimate = @procedure.draft_revision.estimated_fill_duration
|
||||
render json: { estimated_fill_duration: estimate }
|
||||
def move_up
|
||||
flash.notice = "Formulaire enregistré"
|
||||
@coordinate = @procedure.draft_revision.move_up_type_de_champ(params[:id])
|
||||
end
|
||||
|
||||
def move_down
|
||||
flash.notice = "Formulaire enregistré"
|
||||
@coordinate = @procedure.draft_revision.move_down_type_de_champ(params[:id])
|
||||
end
|
||||
|
||||
def destroy
|
||||
@procedure.draft_revision.remove_type_de_champ(params[:id])
|
||||
@coordinate = @procedure.draft_revision.remove_type_de_champ(params[:id])
|
||||
reset_procedure
|
||||
|
||||
head :no_content
|
||||
flash.notice = "Formulaire enregistré"
|
||||
end
|
||||
|
||||
private
|
||||
|
||||
def serialize_type_de_champ(type_de_champ)
|
||||
{ type_de_champ: type_de_champ.as_json_for_editor }
|
||||
end
|
||||
|
||||
def type_de_champ_create_params
|
||||
params.required(:type_de_champ).permit(:type_champ,
|
||||
:libelle,
|
||||
:description,
|
||||
:mandatory,
|
||||
:parent_id,
|
||||
:private,
|
||||
:drop_down_list_value,
|
||||
:drop_down_other,
|
||||
:drop_down_secondary_libelle,
|
||||
:drop_down_secondary_description,
|
||||
:piece_justificative_template,
|
||||
editable_options: [
|
||||
:cadastres,
|
||||
:unesco,
|
||||
:arretes_protection,
|
||||
:conservatoire_littoral,
|
||||
:reserves_chasse_faune_sauvage,
|
||||
:reserves_biologiques,
|
||||
:reserves_naturelles,
|
||||
:natura_2000,
|
||||
:zones_humides,
|
||||
:znieff
|
||||
])
|
||||
params
|
||||
.required(:type_de_champ)
|
||||
.permit(:type_champ, :parent_id, :private, :libelle, :after_id)
|
||||
end
|
||||
|
||||
def type_de_champ_update_params
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue