aboutsummaryrefslogtreecommitdiffstats
path: root/app/helpers
diff options
context:
space:
mode:
authorLuc Donnet2017-12-11 09:20:55 +0100
committerGitHub2017-12-11 09:20:55 +0100
commitc9f2073abb231c67e87b5d0685c873c064420caa (patch)
treee1b482d5beb76173422248baa0810556fc5a04d3 /app/helpers
parent06fa06f1da0ebc4e4971c54e7795080198cc98e2 (diff)
parentc8b266dd40bd75e45ded8ccc673a45a6796a0f84 (diff)
downloadchouette-core-c9f2073abb231c67e87b5d0685c873c064420caa.tar.bz2
Merge pull request #144 from af83/4812-display_empty_compliance_control_blocks
Refs 4812 UX changes to show empty compliance control blocks so the u…
Diffstat (limited to 'app/helpers')
-rw-r--r--app/helpers/compliance_control_sets_helper.rb77
1 files changed, 77 insertions, 0 deletions
diff --git a/app/helpers/compliance_control_sets_helper.rb b/app/helpers/compliance_control_sets_helper.rb
index bb2a72623..b5d0c5afc 100644
--- a/app/helpers/compliance_control_sets_helper.rb
+++ b/app/helpers/compliance_control_sets_helper.rb
@@ -36,4 +36,81 @@ module ComplianceControlSetsHelper
nil
end
end
+
+ def render_compliance_control_block(block=nil)
+ content_tag :div, class: 'row' do
+ content_tag :div, class: 'col-lg-12' do
+ content_tag :h2 do
+ concat transport_mode_text(block)
+ concat dropdown(block) if block
+ end
+ end
+ end
+ end
+
+ def dropdown(block)
+ dropdown_button = content_tag :div, class: 'btn dropdown-toggle', "data-toggle": "dropdown" do
+ content_tag :div, nil, class: 'span fa fa-cog'
+ end
+
+ dropdown_menu = content_tag :ul, class: 'dropdown-menu' do
+ link_1 = content_tag :li do
+ link_to t('compliance_control_sets.actions.edit'), edit_compliance_control_set_compliance_control_block_path(@compliance_control_set.id, block.id)
+ end
+ link_2 = content_tag :li do
+ link_to t('compliance_control_sets.actions.destroy'), compliance_control_set_compliance_control_block_path(@compliance_control_set.id, block.id), :method => :delete, :data => {:confirm => t('compliance_control_sets.actions.destroy_confirm')}
+ end
+ link_1 + link_2
+ end
+
+ content_tag :div, class: 'btn-group' do
+ dropdown_button + dropdown_menu
+ end
+
+ end
+
+ def render_compliance_controls(compliance_controls)
+ content_tag :div, class: 'row' do
+ content_tag :div, class: 'col-lg-12' do
+ compliance_controls.try(:any?) ? render_table_builder(compliance_controls) : render_no_controls
+ end
+ end
+
+ end
+
+ def render_table_builder(compliance_controls)
+ table = content_tag :div, class: 'select_table' do
+ table_builder_2 compliance_controls,
+ [
+ TableBuilderHelper::Column.new(
+ key: :code,
+ attribute: 'code'
+ ),
+ TableBuilderHelper::Column.new(
+ key: :name,
+ attribute: 'name',
+ link_to: lambda do |compliance_control|
+ compliance_control_set_compliance_control_path(@compliance_control_set, compliance_control)
+ end
+ ),
+ TableBuilderHelper::Column.new(
+ key: :criticity,
+ attribute: 'criticity'
+ ),
+ TableBuilderHelper::Column.new(
+ key: :comment,
+ attribute: 'comment'
+ ),
+ ],
+ sortable: true,
+ cls: 'table has-filter has-search',
+ model: ComplianceControl
+ end
+ metas = content_tag :div, I18n.t('compliance_control_blocks.metas.control', count: compliance_controls.count), class: 'pull-right'
+ table + metas
+ end
+
+ def render_no_controls
+ content_tag :div, I18n.t('compliance_control_blocks.metas.control.zero'), class: 'alert alert-warning'
+ end
end \ No newline at end of file