diff options
| author | Xinhui | 2017-09-28 14:49:18 +0200 |
|---|---|---|
| committer | Xinhui | 2017-09-28 14:54:26 +0200 |
| commit | 9c64fa920c50683eb87debf8a10c223da9096b30 (patch) | |
| tree | 9185c388db612e046ff2f0ecb3fff37d90f04d65 /app | |
| parent | d4f93417331115d36880db771903446e6397a8bc (diff) | |
| download | chouette-core-9c64fa920c50683eb87debf8a10c223da9096b30.tar.bz2 | |
ComplianceControls#select_type action
Diffstat (limited to 'app')
| -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/views/compliance_controls/select_type.html.slim | 8 |
3 files changed, 15 insertions, 8 deletions
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/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 + |
