aboutsummaryrefslogtreecommitdiffstats
path: root/app
diff options
context:
space:
mode:
authorRobert2017-12-11 10:00:46 +0100
committerRobert2017-12-11 10:00:46 +0100
commit406d99df9824d7d7dda72b3cc47504840324251c (patch)
treeeb83d8bdf9d1e3c30e2e41239233a2051b399fd0 /app
parent3e0c0056b931cd3cfbb244a806d6e1ac100b7c43 (diff)
parentc9f2073abb231c67e87b5d0685c873c064420caa (diff)
downloadchouette-core-406d99df9824d7d7dda72b3cc47504840324251c.tar.bz2
Merge branch 'master' of github.com:af83/stif-boiv
Diffstat (limited to 'app')
-rw-r--r--app/helpers/compliance_control_sets_helper.rb77
-rw-r--r--app/views/compliance_control_sets/show.html.slim91
2 files changed, 94 insertions, 74 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
diff --git a/app/views/compliance_control_sets/show.html.slim b/app/views/compliance_control_sets/show.html.slim
index e6416fda4..4385505b0 100644
--- a/app/views/compliance_control_sets/show.html.slim
+++ b/app/views/compliance_control_sets/show.html.slim
@@ -26,82 +26,25 @@
.col-lg-12
= render '/compliance_controls/filters'
+ / compliance controls without block
+ - if @direct_compliance_controls.try(:any?)
+ = render_compliance_control_block
+ = render_compliance_controls(@direct_compliance_controls)
- - if @direct_compliance_controls.try(:any?)
- .row
- .col-lg-12
- h2
- = transport_mode_text()
- .row
- .col-lg-12
- .select_table
- = table_builder_2 @direct_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
-
+ / compliance controls with block
+ - if params[:q] && params[:q][:compliance_control_block_id_eq_any].try(:present?)
- @blocks_to_compliance_controls_map.each do |block, compliance_controls|
+ = render_compliance_control_block(block)
+ = render_compliance_controls(compliance_controls)
+ - else
+ - @compliance_control_set.compliance_control_blocks.each do |block|
+ = render_compliance_control_block(block)
+ = render_compliance_controls(@blocks_to_compliance_controls_map[block])
- - if compliance_controls.try(:any?)
- .row
- .col-lg-12
- h2
- = transport_mode_text(block)
- .btn-group
- .btn.dropdown-toggle{ data-toggle="dropdown" }
- .span.fa.fa-cog
- ul.dropdown-menu
- li
- = link_to t('compliance_control_sets.actions.edit'), edit_compliance_control_set_compliance_control_block_path(@compliance_control_set.id, block.id)
- = 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')}
- .row
- .col-lg-12
- .select_table
- = 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
+ - if params[:q].present? && !@blocks_to_compliance_controls_map.try(:any?) && @direct_compliance_controls.nil?
+ .row.mt-xs
+ .col-lg-12
+ = replacement_msg t('compliance_controls.search_no_results')
+ / flotted buttons
= flotted_links @compliance_control_set.id