diff options
| author | Luc Donnet | 2017-09-29 10:05:56 +0200 |
|---|---|---|
| committer | Luc Donnet | 2017-09-29 10:05:56 +0200 |
| commit | 5e2e309809385d20b4611ab7b3fd4fc4658258ae (patch) | |
| tree | ec29420e2a41f14bb4a61b8433d47a987f6b516d /app | |
| parent | 02f4e2483751af82b0086a1800e761f37f244aa8 (diff) | |
| parent | f0970d2cdd852596f5bc2eaea94ca81fa93e0611 (diff) | |
| download | chouette-core-5e2e309809385d20b4611ab7b3fd4fc4658258ae.tar.bz2 | |
Merge branch 'master' of github.com:AF83/stif-boiv
Diffstat (limited to 'app')
| -rw-r--r-- | app/controllers/compliance_control_blocks_controller.rb | 41 | ||||
| -rw-r--r-- | app/controllers/compliance_controls_controller.rb | 13 | ||||
| -rw-r--r-- | app/decorators/compliance_control_set_decorator.rb | 2 | ||||
| -rw-r--r-- | app/models/compliance_check_resource.rb | 3 | ||||
| -rw-r--r-- | app/models/compliance_check_set.rb | 2 | ||||
| -rw-r--r-- | app/models/compliance_control_set.rb | 1 | ||||
| -rw-r--r-- | app/models/concerns/stif_netex_attributes_support.rb | 2 | ||||
| -rw-r--r-- | app/views/compliance_control_blocks/_form.html.slim | 9 | ||||
| -rw-r--r-- | app/views/compliance_control_blocks/edit.html.slim | 11 | ||||
| -rw-r--r-- | app/views/compliance_control_blocks/new.html.slim | 11 | ||||
| -rw-r--r-- | app/views/compliance_controls/select_type.html.slim | 8 |
11 files changed, 94 insertions, 9 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..2456eceba --- /dev/null +++ b/app/controllers/compliance_control_blocks_controller.rb @@ -0,0 +1,41 @@ +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 + + def destroy + destroy! do |format| + format.html { redirect_to compliance_control_set_path(@compliance_control_set) } + end + end + + private + + def create_resource compliance_control_block + 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/controllers/compliance_controls_controller.rb b/app/controllers/compliance_controls_controller.rb index 846dbb253..be8b773e2 100644 --- a/app/controllers/compliance_controls_controller.rb +++ b/app/controllers/compliance_controls_controller.rb @@ -2,15 +2,14 @@ class ComplianceControlsController < BreadcrumbController defaults resource_class: ComplianceControl belongs_to :compliance_control_set - def new - @compliance_control_set = parent - @compliance_control = GenericAttributeControl::MinMax.new - @compliance_control.build_compliance_control_block + def select_type + @sti_subclasses = ComplianceControl.subclasses end - def update - path = compliance_control_set_compliance_control_path(parent, resource) - update!(notice: t('notice.compliance_control.updated')) { path } + def new + redirect_to(action: :select_type) unless params[:sti_class] + @compliance_control_set = parent + @compliance_control = params[:sti_class].constantize.new end private diff --git a/app/decorators/compliance_control_set_decorator.rb b/app/decorators/compliance_control_set_decorator.rb index f9e4de836..6a9040358 100644 --- a/app/decorators/compliance_control_set_decorator.rb +++ b/app/decorators/compliance_control_set_decorator.rb @@ -23,7 +23,7 @@ class ComplianceControlSetDecorator < Draper::Decorator # if h.policy(ComplianceControl).create? links << Link.new( content: h.t('compliance_control_sets.actions.add_compliance_control'), - href: h.new_compliance_control_set_compliance_control_path(object.id) + href: h.select_type_compliance_control_set_compliance_controls_path(object.id) ) # end links diff --git a/app/models/compliance_check_resource.rb b/app/models/compliance_check_resource.rb index 7826f00c3..a5c0c7d27 100644 --- a/app/models/compliance_check_resource.rb +++ b/app/models/compliance_check_resource.rb @@ -1,5 +1,8 @@ class ComplianceCheckResource < ActiveRecord::Base extend Enumerize + belongs_to :compliance_check_set enumerize :status, in: %w[new successful warning failed] + + validates_presence_of :compliance_check_set end diff --git a/app/models/compliance_check_set.rb b/app/models/compliance_check_set.rb index 3c62221f0..f1f4a9f94 100644 --- a/app/models/compliance_check_set.rb +++ b/app/models/compliance_check_set.rb @@ -6,6 +6,8 @@ class ComplianceCheckSet < ActiveRecord::Base belongs_to :workbench belongs_to :parent, polymorphic: true + has_many :compliance_check_set + enumerize :status, in: %w[new pending successful warning failed running aborted canceled] scope :where_created_at_between, ->(start_date, end_date) do 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/models/concerns/stif_netex_attributes_support.rb b/app/models/concerns/stif_netex_attributes_support.rb index 0d569b613..076acf491 100644 --- a/app/models/concerns/stif_netex_attributes_support.rb +++ b/app/models/concerns/stif_netex_attributes_support.rb @@ -49,7 +49,7 @@ module StifNetexAttributesSupport end def provider_id - self.referential.workbench.organisation.name.parameterize.underscore + self.referential.workbench.organisation.code.underscore.parameterize end def boiv_id 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/app/views/compliance_controls/select_type.html.slim b/app/views/compliance_controls/select_type.html.slim new file mode 100644 index 000000000..66a38279d --- /dev/null +++ b/app/views/compliance_controls/select_type.html.slim @@ -0,0 +1,8 @@ += form_tag(new_compliance_control_set_compliance_control_path, method: :get) do + - @sti_subclasses.each do |klass| + = radio_button_tag(:sti_class, klass) + = label_tag(:sti_class, klass) + end + = submit_tag("suivant") +end + |
