From 40c8df4c8594f13176d1ab58d972e40e0d6695a2 Mon Sep 17 00:00:00 2001 From: cedricnjanga Date: Thu, 28 Sep 2017 16:57:01 +0200 Subject: Refs #4634 Create ComplianceControlBlocksController and adapt models --- .../compliance_control_blocks_controller.rb | 36 ++++++++++++++++++++++ app/models/compliance_control_set.rb | 1 + .../compliance_control_blocks/_form.html.slim | 9 ++++++ app/views/compliance_control_blocks/edit.html.slim | 11 +++++++ app/views/compliance_control_blocks/new.html.slim | 11 +++++++ config/locales/compliance_control_blocks.en.yml | 15 +++++++++ config/locales/compliance_control_blocks.fr.yml | 15 +++++++++ config/routes.rb | 1 + 8 files changed, 99 insertions(+) create mode 100644 app/controllers/compliance_control_blocks_controller.rb create mode 100644 app/views/compliance_control_blocks/_form.html.slim create mode 100644 app/views/compliance_control_blocks/edit.html.slim create mode 100644 app/views/compliance_control_blocks/new.html.slim create mode 100644 config/locales/compliance_control_blocks.en.yml create mode 100644 config/locales/compliance_control_blocks.fr.yml diff --git a/app/controllers/compliance_control_blocks_controller.rb b/app/controllers/compliance_control_blocks_controller.rb new file mode 100644 index 000000000..cce074e46 --- /dev/null +++ b/app/controllers/compliance_control_blocks_controller.rb @@ -0,0 +1,36 @@ +class ComplianceControlBlocksController < BreadcrumbController + defaults resource_class: ComplianceControlBlock + belongs_to :compliance_control_set + + def new + @compliance_control_set = parent + @compliance_control_block = ComplianceControlBlock.new(compliance_control_set: @compliance_control_set) + end + + def create + create! do |success, failure| + success.html { redirect_to compliance_control_set_path(@compliance_control_set) } + failure.html { render :action => :new } + end + end + + def update + update! do |success, failure| + success.html { redirect_to compliance_control_set_path(@compliance_control_set) } + failure.html { render :action => :edit } + end + end + + private + + def create_resource compliance_control_block + binding.pry + compliance_control_block.transport_mode = params[:compliance_control_block][:transport_mode] + super + end + + def compliance_control_block_params + params.require(:compliance_control_block).permit(:transport_mode) + end + +end \ No newline at end of file diff --git a/app/models/compliance_control_set.rb b/app/models/compliance_control_set.rb index f8f491cba..40e269146 100644 --- a/app/models/compliance_control_set.rb +++ b/app/models/compliance_control_set.rb @@ -1,5 +1,6 @@ class ComplianceControlSet < ActiveRecord::Base belongs_to :organisation + has_many :compliance_control_blocks, dependent: :destroy has_many :compliance_controls, dependent: :destroy validates :name, presence: true diff --git a/app/views/compliance_control_blocks/_form.html.slim b/app/views/compliance_control_blocks/_form.html.slim new file mode 100644 index 000000000..b20b5d0cc --- /dev/null +++ b/app/views/compliance_control_blocks/_form.html.slim @@ -0,0 +1,9 @@ += simple_form_for [@compliance_control_set, @compliance_control_block], html: { class: 'form-horizontal', id: 'compliance_control_block_form' }, wrapper: :horizontal_form do |f| + .row + .col-lg-12 + = f.input :transport_mode, as: :select, collection: ComplianceControlBlock.transport_modes + / = f.input :sub_transport_mode + + .separator + + = f.button :submit, t('actions.submit'), class: 'btn btn-default formSubmitr', form: 'compliance_control_block_form' diff --git a/app/views/compliance_control_blocks/edit.html.slim b/app/views/compliance_control_blocks/edit.html.slim new file mode 100644 index 000000000..fbd42e7f3 --- /dev/null +++ b/app/views/compliance_control_blocks/edit.html.slim @@ -0,0 +1,11 @@ +/ PageHeader += pageheader 'modele-calendrier', + t('compliance_control_blocks.edit.title') + + +/ PageContent +.page_content + .container-fluid + .row + .col-lg-8.col-lg-offset-2.col-md-8.col-md-offset-2.col-sm-10.col-sm-offset-1 + = render 'form' \ No newline at end of file diff --git a/app/views/compliance_control_blocks/new.html.slim b/app/views/compliance_control_blocks/new.html.slim new file mode 100644 index 000000000..654a0dc7f --- /dev/null +++ b/app/views/compliance_control_blocks/new.html.slim @@ -0,0 +1,11 @@ +/ PageHeader += pageheader 'modele-calendrier', + t('compliance_control_blocks.new.title') + + +/ PageContent +.page_content + .container-fluid + .row + .col-lg-8.col-lg-offset-2.col-md-8.col-md-offset-2.col-sm-10.col-sm-offset-1 + = render 'form' \ No newline at end of file diff --git a/config/locales/compliance_control_blocks.en.yml b/config/locales/compliance_control_blocks.en.yml new file mode 100644 index 000000000..8d5667df4 --- /dev/null +++ b/config/locales/compliance_control_blocks.en.yml @@ -0,0 +1,15 @@ +fr: + activerecord: + models: + compliance_control_blocks: Control blocks + attributes: + compliance_control_blocks: + transport_mode: Transport mode + sub_transport_mode: Transport submode + compliance_control_blocks: + actions: + destroy_confirm: Are you sure you want to destroy this block ? + new: + title: Create a control block + edit: + title: "Edit the control block : %{compliance_control_block}" \ No newline at end of file diff --git a/config/locales/compliance_control_blocks.fr.yml b/config/locales/compliance_control_blocks.fr.yml new file mode 100644 index 000000000..beb2497b2 --- /dev/null +++ b/config/locales/compliance_control_blocks.fr.yml @@ -0,0 +1,15 @@ +fr: + activerecord: + models: + compliance_control_blocks: Groupes de contrôles + attributes: + compliance_control_blocks: + transport_mode: Mode de transport + sub_transport_mode: Sous-mode de transport + compliance_control_blocks: + actions: + destroy_confirm: Etes vous sûr de supprimer ce bloc ? + new: + title: Créer un groupe de contrôle(s) + edit: + title: "Editer le groupe de contrôle : %{compliance_control_block}" \ No newline at end of file diff --git a/config/routes.rb b/config/routes.rb index 88dd5a4bc..cc3896da9 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -75,6 +75,7 @@ ChouetteIhm::Application.routes.draw do resources :compliance_controls, except: :index do get :select_type, on: :collection end + resources :compliance_control_blocks, :except => [:show, :index] end resources :stop_area_referentials, :only => [:show] do -- cgit v1.2.3