aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorcedricnjanga2017-09-28 16:57:01 +0200
committercedricnjanga2017-09-28 18:15:01 +0200
commit40c8df4c8594f13176d1ab58d972e40e0d6695a2 (patch)
treed78428ce8985883d8d9a9010017668082aabff43
parent0d12e059377f4fde0fc67d31e8a0dbbe10b8e914 (diff)
downloadchouette-core-40c8df4c8594f13176d1ab58d972e40e0d6695a2.tar.bz2
Refs #4634 Create ComplianceControlBlocksController and adapt models
-rw-r--r--app/controllers/compliance_control_blocks_controller.rb36
-rw-r--r--app/models/compliance_control_set.rb1
-rw-r--r--app/views/compliance_control_blocks/_form.html.slim9
-rw-r--r--app/views/compliance_control_blocks/edit.html.slim11
-rw-r--r--app/views/compliance_control_blocks/new.html.slim11
-rw-r--r--config/locales/compliance_control_blocks.en.yml15
-rw-r--r--config/locales/compliance_control_blocks.fr.yml15
-rw-r--r--config/routes.rb1
8 files changed, 99 insertions, 0 deletions
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