From 36fec435004e595e2adbac72c8f634891a531b01 Mon Sep 17 00:00:00 2001
From: Robert
Date: Fri, 3 Nov 2017 10:31:47 +0100
Subject: Refs: #4823@1h; scaffolding feature spec, but blocked by #4826 [amend
me] [skip-ci]
---
spec/features/compliance_ckeck_sets_spec.rb | 14 ++++++++++++++
1 file changed, 14 insertions(+)
create mode 100644 spec/features/compliance_ckeck_sets_spec.rb
diff --git a/spec/features/compliance_ckeck_sets_spec.rb b/spec/features/compliance_ckeck_sets_spec.rb
new file mode 100644
index 000000000..a4a6b2fda
--- /dev/null
+++ b/spec/features/compliance_ckeck_sets_spec.rb
@@ -0,0 +1,14 @@
+RSpec.describe "ComplianceCheckSets", type: :feature do
+
+ login_user
+
+ # We setup a control_set with two blocks and one direct control (meaning that it is not attached to a block)
+ # Then we add one control to the first block and two controls to the second block
+ let( :compliance_check_set ){ create :compliance_check_set }
+
+ context 'show' do
+ it 'can visit the page' do
+ visit(workbench_compliance_check_set_path(compliance_check_set.workbench, compliance_check_set))
+ end
+ end
+end
--
cgit v1.2.3
From 76d11c7f973867e305d6841f69c62c5fd37d65a7 Mon Sep 17 00:00:00 2001
From: Robert
Date: Mon, 6 Nov 2017 19:06:57 +0100
Subject: Refs: #4283@16h;
- Implements the view
Missing:
- Spex failing (xpath navigation inside the display blocks is still faulty)
- Links to compliance_checks#show do not work (actually not this page's problem)
---
.../compliance_check_sets_controller.rb | 30 +++++++++
.../compliance_control_sets_controller.rb | 25 ++++---
app/decorators/compliance_check_decorator.rb | 8 +++
app/helpers/compliance_check_blocks_helper.rb | 3 +
app/helpers/compliance_check_sets_helper.rb | 12 ++++
app/helpers/compliance_control_blocks_helper.rb | 2 +-
app/helpers/transport_mode_helper.rb | 16 +++++
app/models/compliance_check_block.rb | 8 +++
app/models/organisation.rb | 1 +
app/views/compliance_check_sets/show.html.slim | 54 ++++++++++++++-
app/views/compliance_checks/_filters.html.slim | 47 +++++++++++++
app/views/compliance_control_sets/show.html.slim | 17 ++---
app/views/compliance_controls/_filters.html.slim | 3 +-
config/locales/compliance_check_blocks.en.yml | 8 +++
config/locales/compliance_check_blocks.fr.yml | 7 ++
config/locales/compliance_check_sets.en.yml | 30 ++++++---
config/locales/compliance_check_sets.fr.yml | 30 ++++++---
config/locales/compliance_checks.en.yml | 8 +++
config/locales/compliance_checks.fr.yml | 11 +++
db/schema.rb | 75 ++++++++++++++++++---
spec/features/compliance_ckeck_sets_spec.rb | 78 +++++++++++++++++++++-
spec/features/compliance_control_sets_spec.rb | 16 ++++-
spec/models/compliance_check_block_spec.rb | 5 --
spec/models/compliance_control_block_spec.rb | 19 ++++--
spec/support/breadcrumb_features.rb | 15 +++++
25 files changed, 456 insertions(+), 72 deletions(-)
create mode 100644 app/decorators/compliance_check_decorator.rb
create mode 100644 app/helpers/compliance_check_blocks_helper.rb
create mode 100644 app/helpers/compliance_check_sets_helper.rb
create mode 100644 app/helpers/transport_mode_helper.rb
create mode 100644 app/views/compliance_checks/_filters.html.slim
create mode 100644 config/locales/compliance_check_blocks.en.yml
create mode 100644 config/locales/compliance_check_blocks.fr.yml
create mode 100644 spec/support/breadcrumb_features.rb
diff --git a/app/controllers/compliance_check_sets_controller.rb b/app/controllers/compliance_check_sets_controller.rb
index 95dcfbf05..56d1b9f1f 100644
--- a/app/controllers/compliance_check_sets_controller.rb
+++ b/app/controllers/compliance_check_sets_controller.rb
@@ -18,4 +18,34 @@ class ComplianceCheckSetsController < InheritedResources::Base
}
end
end
+
+ def show
+ show!(&method(:implement_show))
+ end
+
+
+ private
+
+ # Action Implementation
+ # ---------------------
+ def implement_show format
+ format.html(&method(:implement_show_for_html))
+ end
+
+ def implement_show_for_html _mime_response
+ @q_checks_form = @compliance_check_set.compliance_checks.ransack(params[:q])
+ @compliance_check_set = @compliance_check_set.decorate
+ @compliance_checks =
+ decorate_compliance_checks( @q_checks_form.result)
+ .group_by(&:compliance_check_block)
+ @direct_compliance_checks = @compliance_checks.delete nil
+ end
+
+ # Decoration
+ # ----------
+ def decorate_compliance_checks(compliance_checks)
+ ModelDecorator.decorate(
+ compliance_checks,
+ with: ComplianceCheckDecorator)
+ end
end
diff --git a/app/controllers/compliance_control_sets_controller.rb b/app/controllers/compliance_control_sets_controller.rb
index 5c78d09e3..65aa1e81f 100644
--- a/app/controllers/compliance_control_sets_controller.rb
+++ b/app/controllers/compliance_control_sets_controller.rb
@@ -16,18 +16,10 @@ class ComplianceControlSetsController < InheritedResources::Base
end
def show
- show! do |format|
- format.html {
- @q_controls_form = @compliance_control_set.compliance_controls.ransack(params[:q])
- @compliance_control_set = @compliance_control_set.decorate
- @compliance_controls =
- decorate_compliance_controls( @q_controls_form.result)
- .group_by(&:compliance_control_block)
- @indirect_compliance_controls = @compliance_controls.delete nil
- }
- end
+ show!(&method(:implement_show))
end
+
def clone
ComplianceControlSetCloner.new.copy(params[:id], current_organisation.id)
flash[:notice] = I18n.t("compliance_control_sets.errors.operation_in_progress")
@@ -59,4 +51,17 @@ class ComplianceControlSetsController < InheritedResources::Base
def compliance_control_set_params
params.require(:compliance_control_set).permit(:name, :id)
end
+
+ def implement_show format
+ format.html(&method(:implement_show_for_html))
+ end
+
+ def implement_show_for_html _mime_response
+ @q_controls_form = @compliance_control_set.compliance_controls.ransack(params[:q])
+ @compliance_control_set = @compliance_control_set.decorate
+ @compliance_controls =
+ decorate_compliance_controls( @q_controls_form.result)
+ .group_by(&:compliance_control_block)
+ @direct_compliance_controls = @compliance_controls.delete nil
+ end
end
diff --git a/app/decorators/compliance_check_decorator.rb b/app/decorators/compliance_check_decorator.rb
new file mode 100644
index 000000000..09984aa2e
--- /dev/null
+++ b/app/decorators/compliance_check_decorator.rb
@@ -0,0 +1,8 @@
+class ComplianceCheckDecorator < Draper::Decorator
+ delegate_all
+
+ def action_links
+ links = []
+ end
+
+end
diff --git a/app/helpers/compliance_check_blocks_helper.rb b/app/helpers/compliance_check_blocks_helper.rb
new file mode 100644
index 000000000..b4d858b07
--- /dev/null
+++ b/app/helpers/compliance_check_blocks_helper.rb
@@ -0,0 +1,3 @@
+module ComplianceCheckBlocksHelper
+ include TransportModeHelper
+end
diff --git a/app/helpers/compliance_check_sets_helper.rb b/app/helpers/compliance_check_sets_helper.rb
new file mode 100644
index 000000000..349ecae87
--- /dev/null
+++ b/app/helpers/compliance_check_sets_helper.rb
@@ -0,0 +1,12 @@
+module ComplianceCheckSetsHelper
+ def compliance_check_set_path(compliance_check_set)
+ workbench_compliance_check_set_path(compliance_check_set.workbench, compliance_check_set)
+ end
+
+ def compliance_check_path(compliance_check)
+ workbench_compliance_check_set_compliance_check_path(
+ compliance_check.compliance_check_set.workbench,
+ compliance_check.compliance_check_set,
+ compliance_check)
+ end
+end
diff --git a/app/helpers/compliance_control_blocks_helper.rb b/app/helpers/compliance_control_blocks_helper.rb
index 311e6fb46..b53ac17ae 100644
--- a/app/helpers/compliance_control_blocks_helper.rb
+++ b/app/helpers/compliance_control_blocks_helper.rb
@@ -1,5 +1,5 @@
module ComplianceControlBlocksHelper
- def transport_mode(transport_mode, transport_submode)
+ def compliance_transport_mode(transport_mode, transport_submode)
return "[Tous les modes de transport]" if transport_mode == ""
if transport_submode == ""
"[" + t("enumerize.transport_mode.#{transport_mode}") + "]"
diff --git a/app/helpers/transport_mode_helper.rb b/app/helpers/transport_mode_helper.rb
new file mode 100644
index 000000000..b61057205
--- /dev/null
+++ b/app/helpers/transport_mode_helper.rb
@@ -0,0 +1,16 @@
+module TransportModeHelper
+ def transport_mode_text(transport_modable=nil)
+ mode = transport_modable.try(:transport_mode)
+ return "[Tous les modes de transport]" if mode.blank?
+
+ submode = transport_modable.try(:transport_submode)
+ [translated_mode_name(:mode, mode), translated_mode_name(:submode, submode)].join
+ end
+
+ private
+ def translated_mode_name mode_type, value
+ return "" if value.blank?
+ "[#{t("enumerize.transport_#{mode_type}.#{value}")}]"
+ end
+
+end
diff --git a/app/models/compliance_check_block.rb b/app/models/compliance_check_block.rb
index ee60a8bb1..eb4654756 100644
--- a/app/models/compliance_check_block.rb
+++ b/app/models/compliance_check_block.rb
@@ -1,5 +1,13 @@
class ComplianceCheckBlock < ActiveRecord::Base
+ extend StifTransportModeEnumerations
+ extend StifTransportSubmodeEnumerations
+
belongs_to :compliance_check_set
has_many :compliance_checks
+
+ hstore_accessor :condition_attributes,
+ transport_mode: :string,
+ transport_submode: :string
+
end
diff --git a/app/models/organisation.rb b/app/models/organisation.rb
index b0c0692da..f6fba2d67 100644
--- a/app/models/organisation.rb
+++ b/app/models/organisation.rb
@@ -55,6 +55,7 @@ class Organisation < ActiveRecord::Base
organisation_referential = referentials.find_by id: referential_id
return organisation_referential if organisation_referential
+ # TODO: Replace each with find
workbenches.each do |workbench|
workbench_referential = workbench.all_referentials.find_by id: referential_id
return workbench_referential if workbench_referential
diff --git a/app/views/compliance_check_sets/show.html.slim b/app/views/compliance_check_sets/show.html.slim
index eefa5363f..4052707da 100644
--- a/app/views/compliance_check_sets/show.html.slim
+++ b/app/views/compliance_check_sets/show.html.slim
@@ -1,12 +1,60 @@
- breadcrumb :compliance_check_set, @workbench, @compliance_check_set
/ PageHeader
= pageheader 'jeux-de-donnees',
- @compliance_check_set.referential.name
+ t('compliance_check_sets.show.title', name: @compliance_check_set.name),
+ 'Lorem ipsum dolor sit amet'
/ PageContent
.page_content
.container-fluid
.row
.col-lg-6.col-md-6.col-sm-12.col-xs-12
= definition_list t('metadatas'),
- ComplianceCheckSet.human_attribute_name(:id) => @compliance_check_set.referential.id,
- ComplianceCheckSet.human_attribute_name(:name) => @compliance_check_set.referential.name
+ ComplianceCheckSet.human_attribute_name(:name) => @compliance_check_set.name
+
+ - if params[:q].present? || @compliance_checks.any? || @direct_compliance_checks
+ .row
+ .col-lg-12
+ h2
+ = render '/compliance_checks/filters'
+
+ - if @direct_compliance_checks.try(:any?)
+ .row
+ .col-lg-12
+ h2
+ = transport_mode_text()
+ .row
+ .col-lg-12
+ .select_table
+ = table_builder_2 @direct_compliance_checks,
+ [ \
+ TableBuilderHelper::Column.new( \
+ key: :code, \
+ attribute: 'code' \
+ ), \
+ TableBuilderHelper::Column.new( \
+ key: :name, \
+ attribute: 'name', \
+ link_to: lambda do |compliance_check| \
+ compliance_check_path(compliance_check) \
+ end \
+ ), \
+ TableBuilderHelper::Column.new( \
+ key: :criticity, \
+ attribute: 'criticity' \
+ ), \
+ TableBuilderHelper::Column.new( \
+ key: :comment, \
+ attribute: 'comment' \
+ ), \
+ ],
+ sortable: true,
+ cls: 'table has-filter has-search',
+ model: ComplianceCheck
+
+ - @compliance_checks.each do |block, compliance_checks|
+
+ - if compliance_checks.try(:any?)
+ .row
+ .col-lg-12
+ h2
+ = transport_mode_text(block)
diff --git a/app/views/compliance_checks/_filters.html.slim b/app/views/compliance_checks/_filters.html.slim
new file mode 100644
index 000000000..189e3d787
--- /dev/null
+++ b/app/views/compliance_checks/_filters.html.slim
@@ -0,0 +1,47 @@
+/ Compliance Check Filter
+= search_form_for @q_checks_form,
+ url: compliance_check_set_path(@compliance_check_set),
+ builder: SimpleForm::FormBuilder,
+ class: 'form form-filter' do |f|
+
+ .ffg-row
+ .input-group.search_bar
+ = f.search_field :name_cont,
+ class: 'form-control',
+ placeholder: t('compliance_checks.filters.name')
+ span.input-group-btn
+ button.btn.btn-default type='submit'
+ span.fa.fa-search
+
+ .ffg-row
+ .form-group.togglable#compliance_check_block-filter
+ = f.label t('activerecord.models.compliance_check_block.one'), required: false, class: 'control-label'
+ = f.input :compliance_check_block_id_eq_any,
+ collection: @compliance_check_set.compliance_check_blocks,
+ as: :check_boxes,
+ label: false,
+ label_method: lambda {|w| ("#{transport_mode_text(w)}").html_safe},
+ required: false,
+ wrapper_html: {class: 'checkbox_list'}
+ .form-group.togglable#subclass-filter
+ = f.label t('compliance_checks.filters.subclass'), required: false, class: 'control-label'
+ = f.input :origin_code_cont_any,
+ collection: subclass_selection_list,
+ as: :check_boxes,
+ label: false,
+ label_method: lambda {|w| ("#{w.first}").html_safe},
+ required: false,
+ wrapper_html: {class: 'checkbox_list'}
+ .form-group.togglable#severity-filter
+ = f.label t('compliance_checks.filters.criticity'), required: false, class: 'control-label'
+ = f.input :criticity_eq_any,
+ collection: ComplianceControl.criticities,
+ as: :check_boxes,
+ label: false,
+ label_method: lambda {|w| ("#{w}").html_safe},
+ required: false,
+ wrapper_html: {class: 'checkbox_list'}
+
+ .actions
+ = link_to t('actions.erase'), @compliance_check_set, class: 'btn btn-link'
+ = f.submit t('actions.filter'), class: 'btn btn-default', id: 'compliance_check_set_compliance_checks_filter_btn'
diff --git a/app/views/compliance_control_sets/show.html.slim b/app/views/compliance_control_sets/show.html.slim
index 2bd663578..12be42ea6 100644
--- a/app/views/compliance_control_sets/show.html.slim
+++ b/app/views/compliance_control_sets/show.html.slim
@@ -25,21 +25,22 @@
= definition_list t('metadatas'),
ComplianceControlSet.human_attribute_name(:name) => @compliance_control_set.name,
I18n.t('activerecord.attributes.compliance_control_set.owner_jdc') => @compliance_control_set.organisation.name
- - if params[:q].present? or @compliance_controls.any?
+
+ - if params[:q].present? || @compliance_controls.any? || @direct_compliance_controls
.row
.col-lg-12
= render '/compliance_controls/filters'
- .row
- .col-lg-12
- h2
- = transport_mode("", "")
- - if @indirect_compliance_controls.try(:any?)
+ - if @direct_compliance_controls.try(:any?)
+ .row
+ .col-lg-12
+ h2
+ = transport_mode_text()
.row
.col-lg-12
.select_table
- = table_builder_2 @indirect_compliance_controls,
+ = table_builder_2 @direct_compliance_controls,
[ \
TableBuilderHelper::Column.new( \
key: :code, \
@@ -71,7 +72,7 @@
.row
.col-lg-12
h2
- = transport_mode(block.transport_mode, block.transport_submode)
+ = transport_mode_text(block)
.btn-group
.btn.dropdown-toggle{ data-toggle="dropdown" }
.span.fa.fa-cog
diff --git a/app/views/compliance_controls/_filters.html.slim b/app/views/compliance_controls/_filters.html.slim
index c729190a0..d38da5d2d 100644
--- a/app/views/compliance_controls/_filters.html.slim
+++ b/app/views/compliance_controls/_filters.html.slim
@@ -1,3 +1,4 @@
+/ Compliance Control Filter
= search_form_for @q_controls_form,
url: compliance_control_set_path(@compliance_control_set),
builder: SimpleForm::FormBuilder,
@@ -19,7 +20,7 @@
collection: @compliance_control_set.compliance_control_blocks,
as: :check_boxes,
label: false,
- label_method: lambda {|w| ("#{transport_mode(w.transport_mode, w.transport_submode)}").html_safe},
+ label_method: lambda {|w| ("#{transport_mode_text(w)}").html_safe},
required: false,
wrapper_html: {class: 'checkbox_list'}
.form-group.togglable#subclass-filter
diff --git a/config/locales/compliance_check_blocks.en.yml b/config/locales/compliance_check_blocks.en.yml
new file mode 100644
index 000000000..9278823dc
--- /dev/null
+++ b/config/locales/compliance_check_blocks.en.yml
@@ -0,0 +1,8 @@
+en:
+ activerecord:
+ models:
+ compliance_check_block:
+ zero: "Control report groups"
+ one: "Control report group"
+ many: "Control report groups"
+
diff --git a/config/locales/compliance_check_blocks.fr.yml b/config/locales/compliance_check_blocks.fr.yml
new file mode 100644
index 000000000..2ead24b2f
--- /dev/null
+++ b/config/locales/compliance_check_blocks.fr.yml
@@ -0,0 +1,7 @@
+fr:
+ activerecord:
+ models:
+ compliance_check_block:
+ zero: "Groupe de rapport de contrôle"
+ one: "Groupe de rapport de contrôle"
+ many: "Groupes de rapport de contrôle"
diff --git a/config/locales/compliance_check_sets.en.yml b/config/locales/compliance_check_sets.en.yml
index 89c142a49..0088cc6cc 100644
--- a/config/locales/compliance_check_sets.en.yml
+++ b/config/locales/compliance_check_sets.en.yml
@@ -1,9 +1,5 @@
en:
compliance_check_sets:
- index:
- title: Control reports
- new: Creating a Control Report
- edit: Update a Control Report
actions:
new: Add a control report
edit: Edit a control report
@@ -12,12 +8,24 @@ en:
filters:
name: Specify a control report name...
error_period_filter: End date must be greater than or equal to begin date
+ index:
+ title: Control reports
+ new: Creating a Control Report
+ edit: Update a Control Report
search_no_results: No control reports match your search
+ show:
+ title: Control report %{name}
activerecord:
- attributes:
- compliance_check_set:
- ref: réf
- creation_date: Created at
- associated_object: Associated object
- assigned_to: Assigned to
- compliance_control_set: Compliance control set
+ attributes:
+ compliance_check_set:
+ ref: réf
+ creation_date: Created at
+ associated_object: Associated object
+ assigned_to: Assigned to
+ compliance_control_set: Compliance control set
+ name: Name
+ models:
+ compliance_check_block:
+ zero: "Control report groups"
+ one: "Control report group"
+ many: "Control report groups"
diff --git a/config/locales/compliance_check_sets.fr.yml b/config/locales/compliance_check_sets.fr.yml
index 8c21f33fd..edf16d460 100644
--- a/config/locales/compliance_check_sets.fr.yml
+++ b/config/locales/compliance_check_sets.fr.yml
@@ -1,9 +1,5 @@
fr:
compliance_check_sets:
- index:
- title: Rapports de contrôle
- new: Création d'un rapport de contrôle
- edit: Édition d'un rapport de contrôle
actions:
new: Ajouter
edit: Editer
@@ -12,12 +8,24 @@ fr:
filters:
name: Indiquez un nom d'un objet associé...
error_period_filter: La date de fin doit être supérieure ou égale à la date de début0
+ index:
+ title: Rapports de contrôle
+ new: Création d'un rapport de contrôle
+ edit: Édition d'un rapport de contrôle
search_no_results: Aucun rapport de contrôle ne correspond à votre recherche
+ show:
+ title: Rapport de contrôle %{name}
activerecord:
- attributes:
- compliance_check_set:
- ref: réf
- creation_date: Date et heure de création
- associated_object: Objet associé
- assigned_to: Affectation
- compliance_control_set: jeu de contrôle
+ attributes:
+ compliance_check_set:
+ ref: réf
+ creation_date: Date et heure de création
+ associated_object: Objet associé
+ assigned_to: Affectation
+ compliance_control_set: jeu de contrôle
+ name: Nom
+ models:
+ compliance_check_block:
+ zero: "Groupe de rapport de contrôle"
+ one: "Groupe de rapport de contrôle"
+ many: "Groupes de rapport de contrôle"
diff --git a/config/locales/compliance_checks.en.yml b/config/locales/compliance_checks.en.yml
index 7f3e317be..177c87852 100644
--- a/config/locales/compliance_checks.en.yml
+++ b/config/locales/compliance_checks.en.yml
@@ -1,2 +1,10 @@
en:
+ activerecord:
+ attributes:
+ compliance_check:
+ code: Code
compliance_checks:
+ filters:
+ subclass: Object
+ criticity: Severity
+ name: Name
diff --git a/config/locales/compliance_checks.fr.yml b/config/locales/compliance_checks.fr.yml
index 421574cbd..009c0a7e2 100644
--- a/config/locales/compliance_checks.fr.yml
+++ b/config/locales/compliance_checks.fr.yml
@@ -1,3 +1,14 @@
fr:
+ activerecord:
+ attributes:
+ compliance_check:
+ code: Code
+ name: Nom
+ criticity: Criticité
+ comment: Commentaire
compliance_checks:
+ filters:
+ subclass: Objét
+ criticity: Criticité
+ name: Nom
diff --git a/db/schema.rb b/db/schema.rb
index af6a51f7a..735e3405b 100644
--- a/db/schema.rb
+++ b/db/schema.rb
@@ -284,6 +284,22 @@ ActiveRecord::Schema.define(version: 20171114102438) do
add_index "connection_links", ["objectid"], name: "connection_links_objectid_key", unique: true, using: :btree
+ create_table "delayed_jobs", id: :bigserial, force: :cascade do |t|
+ t.integer "priority", default: 0
+ t.integer "attempts", default: 0
+ t.text "handler"
+ t.text "last_error"
+ t.datetime "run_at"
+ t.datetime "locked_at"
+ t.datetime "failed_at"
+ t.string "locked_by", limit: 255
+ t.string "queue", limit: 255
+ t.datetime "created_at"
+ t.datetime "updated_at"
+ end
+
+ add_index "delayed_jobs", ["priority", "run_at"], name: "delayed_jobs_priority", using: :btree
+
create_table "exports", id: :bigserial, force: :cascade do |t|
t.integer "referential_id", limit: 8
t.string "status"
@@ -405,12 +421,12 @@ ActiveRecord::Schema.define(version: 20171114102438) do
t.datetime "started_at"
t.datetime "ended_at"
t.string "token_download"
- t.string "type"
+ t.string "type", limit: 255
t.integer "parent_id", limit: 8
t.string "parent_type"
+ t.integer "current_step", default: 0
+ t.integer "total_steps", default: 0
t.datetime "notified_parent_at"
- t.integer "current_step", default: 0
- t.integer "total_steps", default: 0
t.string "creator"
end
@@ -431,6 +447,18 @@ ActiveRecord::Schema.define(version: 20171114102438) do
add_index "journey_frequencies", ["timeband_id"], name: "index_journey_frequencies_on_timeband_id", using: :btree
add_index "journey_frequencies", ["vehicle_journey_id"], name: "index_journey_frequencies_on_vehicle_journey_id", using: :btree
+ create_table "journey_pattern_sections", id: :bigserial, force: :cascade do |t|
+ t.integer "journey_pattern_id", limit: 8, null: false
+ t.integer "route_section_id", limit: 8, null: false
+ t.integer "rank", null: false
+ t.datetime "created_at"
+ t.datetime "updated_at"
+ end
+
+ add_index "journey_pattern_sections", ["journey_pattern_id", "route_section_id", "rank"], name: "index_jps_on_journey_pattern_id_and_route_section_id_and_rank", unique: true, using: :btree
+ add_index "journey_pattern_sections", ["journey_pattern_id"], name: "index_journey_pattern_sections_on_journey_pattern_id", using: :btree
+ add_index "journey_pattern_sections", ["route_section_id"], name: "index_journey_pattern_sections_on_route_section_id", using: :btree
+
create_table "journey_patterns", id: :bigserial, force: :cascade do |t|
t.integer "route_id", limit: 8
t.string "objectid", null: false
@@ -550,6 +578,11 @@ ActiveRecord::Schema.define(version: 20171114102438) do
add_index "networks", ["objectid"], name: "networks_objectid_key", unique: true, using: :btree
add_index "networks", ["registration_number"], name: "networks_registration_number_key", using: :btree
+ create_table "object_id_factories", id: :bigserial, force: :cascade do |t|
+ t.datetime "created_at", null: false
+ t.datetime "updated_at", null: false
+ end
+
create_table "organisations", id: :bigserial, force: :cascade do |t|
t.string "name"
t.datetime "created_at"
@@ -640,6 +673,20 @@ ActiveRecord::Schema.define(version: 20171114102438) do
add_index "referentials", ["created_from_id"], name: "index_referentials_on_created_from_id", using: :btree
add_index "referentials", ["referential_suite_id"], name: "index_referentials_on_referential_suite_id", using: :btree
+ create_table "route_sections", id: :bigserial, force: :cascade do |t|
+ t.integer "departure_id", limit: 8
+ t.integer "arrival_id", limit: 8
+ t.geometry "input_geometry", limit: {:srid=>4326, :type=>"line_string"}
+ t.geometry "processed_geometry", limit: {:srid=>4326, :type=>"line_string"}
+ t.string "objectid", null: false
+ t.integer "object_version", limit: 8
+ t.string "creator_id"
+ t.float "distance"
+ t.boolean "no_processing"
+ t.datetime "created_at"
+ t.datetime "updated_at"
+ end
+
create_table "routes", id: :bigserial, force: :cascade do |t|
t.integer "line_id", limit: 8
t.string "objectid", null: false
@@ -716,7 +763,7 @@ ActiveRecord::Schema.define(version: 20171114102438) do
create_table "stop_areas", id: :bigserial, force: :cascade do |t|
t.integer "parent_id", limit: 8
- t.string "objectid", null: false
+ t.string "objectid", null: false
t.integer "object_version", limit: 8
t.string "creator_id"
t.string "name"
@@ -725,8 +772,8 @@ ActiveRecord::Schema.define(version: 20171114102438) do
t.string "registration_number"
t.string "nearest_topic_name"
t.integer "fare_code"
- t.decimal "longitude", precision: 19, scale: 16
- t.decimal "latitude", precision: 19, scale: 16
+ t.decimal "longitude", precision: 19, scale: 16
+ t.decimal "latitude", precision: 19, scale: 16
t.string "long_lat_type"
t.string "country_code"
t.string "street_name"
@@ -744,7 +791,7 @@ ActiveRecord::Schema.define(version: 20171114102438) do
t.datetime "deleted_at"
t.datetime "created_at"
t.datetime "updated_at"
- t.string "stif_type"
+ t.string "stif_type", limit: 255
end
add_index "stop_areas", ["name"], name: "index_stop_areas_on_name", using: :btree
@@ -815,12 +862,12 @@ ActiveRecord::Schema.define(version: 20171114102438) do
add_index "time_table_periods", ["time_table_id"], name: "index_time_table_periods_on_time_table_id", using: :btree
create_table "time_tables", id: :bigserial, force: :cascade do |t|
- t.string "objectid", null: false
- t.integer "object_version", limit: 8, default: 1
+ t.string "objectid", null: false
+ t.integer "object_version", limit: 8, default: 1
t.string "creator_id"
t.string "version"
t.string "comment"
- t.integer "int_day_types", default: 0
+ t.integer "int_day_types", default: 0
t.date "start_date"
t.date "end_date"
t.integer "calendar_id", limit: 8
@@ -973,14 +1020,22 @@ ActiveRecord::Schema.define(version: 20171114102438) do
add_foreign_key "compliance_controls", "compliance_control_blocks"
add_foreign_key "compliance_controls", "compliance_control_sets"
add_foreign_key "group_of_lines_lines", "group_of_lines", name: "groupofline_group_fkey", on_delete: :cascade
+ add_foreign_key "journey_frequencies", "timebands", name: "journey_frequencies_timeband_id_fk", on_delete: :nullify
add_foreign_key "journey_frequencies", "timebands", on_delete: :nullify
+ add_foreign_key "journey_frequencies", "vehicle_journeys", name: "journey_frequencies_vehicle_journey_id_fk", on_delete: :nullify
add_foreign_key "journey_frequencies", "vehicle_journeys", on_delete: :nullify
+ add_foreign_key "journey_pattern_sections", "journey_patterns", name: "journey_pattern_sections_journey_pattern_id_fk", on_delete: :cascade
+ add_foreign_key "journey_pattern_sections", "journey_patterns", on_delete: :cascade
+ add_foreign_key "journey_pattern_sections", "route_sections", name: "journey_pattern_sections_route_section_id_fk", on_delete: :cascade
+ add_foreign_key "journey_pattern_sections", "route_sections", on_delete: :cascade
add_foreign_key "journey_patterns", "routes", name: "jp_route_fkey", on_delete: :cascade
add_foreign_key "journey_patterns", "stop_points", column: "arrival_stop_point_id", name: "arrival_point_fkey", on_delete: :nullify
add_foreign_key "journey_patterns", "stop_points", column: "departure_stop_point_id", name: "departure_point_fkey", on_delete: :nullify
add_foreign_key "journey_patterns_stop_points", "journey_patterns", name: "jpsp_jp_fkey", on_delete: :cascade
add_foreign_key "journey_patterns_stop_points", "stop_points", name: "jpsp_stoppoint_fkey", on_delete: :cascade
add_foreign_key "referentials", "referential_suites"
+ add_foreign_key "route_sections", "stop_areas", column: "arrival_id"
+ add_foreign_key "route_sections", "stop_areas", column: "departure_id"
add_foreign_key "routes", "routes", column: "opposite_route_id", name: "route_opposite_route_fkey"
add_foreign_key "stop_areas", "stop_areas", column: "parent_id", name: "area_parent_fkey", on_delete: :nullify
add_foreign_key "stop_areas_stop_areas", "stop_areas", column: "child_id", name: "stoparea_child_fkey", on_delete: :cascade
diff --git a/spec/features/compliance_ckeck_sets_spec.rb b/spec/features/compliance_ckeck_sets_spec.rb
index a4a6b2fda..17902ed3f 100644
--- a/spec/features/compliance_ckeck_sets_spec.rb
+++ b/spec/features/compliance_ckeck_sets_spec.rb
@@ -1,14 +1,86 @@
RSpec.describe "ComplianceCheckSets", type: :feature do
+ include ComplianceCheckSetsHelper
+ include TransportModeHelper
+
login_user
# We setup a control_set with two blocks and one direct control (meaning that it is not attached to a block)
# Then we add one control to the first block and two controls to the second block
- let( :compliance_check_set ){ create :compliance_check_set }
+ let( :compliance_check_set ){ create :compliance_check_set, name: random_string }
+ let(:blox){
+ 2.times.map{ | _ | create :compliance_check_block, compliance_check_set: compliance_check_set }
+ }
+ let!(:direct_checks){ make_check(nil, times: 2) + make_check(nil, severity: :error) }
+ let!(:indirect_checks){ blox.map{ |block| make_check(block) } }
context 'show' do
- it 'can visit the page' do
- visit(workbench_compliance_check_set_path(compliance_check_set.workbench, compliance_check_set))
+
+ before do
+ blox.first.update transport_mode: 'bus', transport_submode: 'demandAndResponseBus'
+ blox.second.update transport_mode: 'train', transport_submode: 'suburbanRailway'
+ visit(compliance_check_set_path(compliance_check_set))
+ end
+
+ it 'we can see the expected content' do
+ # Breadcrumbs
+ expect_breadcrumb_links "Accueil", "Gestion de l'offre", " Rapports de contrôle"
+
+ # Headline
+ expect( page ).to have_content("Rapport de contrôle #{compliance_check_set.name}")
+
+ # Information Definition List
+ expect( page.first('.dl-term') ).to have_content("Nom")
+ expect( page.first('.dl-def') ).to have_content(compliance_check_set.name)
+
+ # Filters
+ within( 'form.form-filter' ) do
+ expect( page ).to have_content("Groupe de rapport de contrôle")
+ expect( page ).to have_content("Objét")
+ expect( page ).to have_content("Criticité")
+ end
+
+
+ # Checks
+ # Direct Children
+ within(:xpath, xpath_for_div_of_block) do
+ direct_checks.each do | direct_check |
+ expect( page ).to have_content( direct_check.code )
+ expect( page ).to have_content( direct_check.name )
+ expect( page ).to have_content( direct_check.criticity )
+ expect( page ).to have_content( direct_check.comment )
+ end
+
+ end
+ # Indirect Children
+ compliance_check_set.compliance_check_blocks.each do | block |
+ within(:xpath, xpath_for_div_of_block(block)) do
+ block.checks.each do | check |
+ expect( page ).to have_content( check.code )
+ expect( page ).to have_content( check.name )
+ expect( page ).to have_content( check.criticity )
+ expect( page ).to have_content( check.comment )
+ end
+ end
+ end
+ end
+ end
+
+ def make_check ccblock=nil, times: 1, severity: :error
+ times.times.map do
+ make_one_check ccblock, severity
end
end
+
+ def make_one_check ccblock, severity
+ create( :compliance_check,
+ code: random_string,
+ compliance_check_block: ccblock,
+ compliance_check_set: compliance_check_set,
+ criticity: severity)
+ end
+
+ def xpath_for_div_of_block(block = nil)
+ %{.//div[@class="col-lg-12"]/h2[contains(text(),"#{transport_mode_text(block)}")]/../../..}
+ end
end
diff --git a/spec/features/compliance_control_sets_spec.rb b/spec/features/compliance_control_sets_spec.rb
index 500d4ce6f..bcb989cdc 100644
--- a/spec/features/compliance_control_sets_spec.rb
+++ b/spec/features/compliance_control_sets_spec.rb
@@ -25,7 +25,18 @@ RSpec.describe "ComplianceControlSets", type: :feature do
visit compliance_control_set_path( control_set )
end
- it 'we can see the controls inside their blocks' do
+ it 'we can see the expected content' do
+ # Breadcrumb
+ expect_breadcrumb_links "Accueil", "Liste des jeux de contrôles"
+
+ # Headline
+ expect( page ).to have_content("Consulter le jeu de contrôles #{control_set.name}")
+
+ # Information Definition List
+ expect( page.first('.dl-term') ).to have_content("Nom")
+ expect( page.first('.dl-def') ).to have_content(control_set.name)
+
+ # Children
controls.each do | control |
expect( page ).to have_content(control.code)
end
@@ -76,7 +87,8 @@ RSpec.describe "ComplianceControlSets", type: :feature do
create( :generic_attribute_control_min_max,
code: random_string,
compliance_control_block: ccblock,
- compliance_control_set: control_set)
+ compliance_control_set: control_set,
+ criticity: severity)
end
end
diff --git a/spec/models/compliance_check_block_spec.rb b/spec/models/compliance_check_block_spec.rb
index a3d98d459..845056fac 100644
--- a/spec/models/compliance_check_block_spec.rb
+++ b/spec/models/compliance_check_block_spec.rb
@@ -1,9 +1,4 @@
-require 'rails_helper'
-
RSpec.describe ComplianceCheckBlock, type: :model do
- it 'should have a valid factory' do
- expect(FactoryGirl.build(:compliance_check_block)).to be_valid
- end
it { should belong_to :compliance_check_set }
it { should have_many :compliance_checks }
diff --git a/spec/models/compliance_control_block_spec.rb b/spec/models/compliance_control_block_spec.rb
index c7440a5eb..6566baac0 100644
--- a/spec/models/compliance_control_block_spec.rb
+++ b/spec/models/compliance_control_block_spec.rb
@@ -1,13 +1,18 @@
-require 'rails_helper'
-
RSpec.describe ComplianceControlBlock, type: :model do
- subject { create(:compliance_control_block) }
-
- it 'should have a valid factory' do
- expect(FactoryGirl.build(:compliance_control_block)).to be_valid
- end
it { should belong_to :compliance_control_set }
it { should have_many(:compliance_controls).dependent(:destroy) }
it { should validate_presence_of(:transport_mode) }
+
+ xit { should allow_values(*%w{bus metro rail tram funicular}).for(:transport_mode) }
+ xit { should_not allow_values(*%w{bs mtro ril tramm Funicular}).for(:transport_mode) }
+
+
+ xit { should allow_values( *%w{ demandAndResponseBus nightBus airportLinkBus highFrequencyBus expressBus
+ railShuttle suburbanRailway regionalRail interregionalRail })
+ .for(:transport_submode) }
+
+ xit { should_not allow_values( *%w{ demandResponseBus nightus irportLinkBus highrequencyBus expressBUs
+ Shuttle suburban regioalRail interregion4lRail })
+ .for(:transport_submode) }
end
diff --git a/spec/support/breadcrumb_features.rb b/spec/support/breadcrumb_features.rb
new file mode 100644
index 000000000..36bfce19c
--- /dev/null
+++ b/spec/support/breadcrumb_features.rb
@@ -0,0 +1,15 @@
+module BreadcrumbFeatures
+ def expect_breadcrumb_links *link_names
+ within('.breadcrumbs') do
+ all('a').zip( link_names ).each do | link_element, link_content |
+ within(link_element) do | |
+ expect(page).to have_content(link_content)
+ end
+ end
+ end
+ end
+end
+
+RSpec.configure do | conf |
+ conf.include BreadcrumbFeatures, type: :feature
+end
--
cgit v1.2.3
From 3fba11d14fb032802ea70240e4b204e93fe5a277 Mon Sep 17 00:00:00 2001
From: Robert
Date: Thu, 9 Nov 2017 18:16:41 +0100
Subject: Refs: #4823@4h; Fixed Transport(Sub)mode validation bug
---
app/models/compliance_check_block.rb | 4 +-
app/models/compliance_control_block.rb | 4 +-
.../concerns/stif_transport_mode_enumerations.rb | 25 ++++++-----
.../stif_transport_submode_enumerations.rb | 36 +++++++++-------
app/models/line_referential.rb | 2 +-
app/views/compliance_check_sets/show.html.slim | 49 +++++++++++++++++-----
app/views/lines/_filters.html.slim | 4 +-
db/schema.rb | 45 +++++---------------
spec/factories/compliance_control_blocks.rb | 3 +-
spec/features/compliance_ckeck_sets_spec.rb | 4 +-
spec/models/compliance_check_block_spec.rb | 12 ++++++
spec/models/compliance_control_block_spec.rb | 10 +++--
spec/models/line_referential_spec.rb | 9 +---
13 files changed, 112 insertions(+), 95 deletions(-)
diff --git a/app/models/compliance_check_block.rb b/app/models/compliance_check_block.rb
index eb4654756..05240b428 100644
--- a/app/models/compliance_check_block.rb
+++ b/app/models/compliance_check_block.rb
@@ -1,6 +1,6 @@
class ComplianceCheckBlock < ActiveRecord::Base
- extend StifTransportModeEnumerations
- extend StifTransportSubmodeEnumerations
+ include StifTransportModeEnumerations
+ include StifTransportSubmodeEnumerations
belongs_to :compliance_check_set
diff --git a/app/models/compliance_control_block.rb b/app/models/compliance_control_block.rb
index 5721c00f4..cfcdfd1a6 100644
--- a/app/models/compliance_control_block.rb
+++ b/app/models/compliance_control_block.rb
@@ -1,6 +1,6 @@
class ComplianceControlBlock < ActiveRecord::Base
- extend StifTransportModeEnumerations
- extend StifTransportSubmodeEnumerations
+ include StifTransportModeEnumerations
+ include StifTransportSubmodeEnumerations
belongs_to :compliance_control_set
has_many :compliance_controls, dependent: :destroy
diff --git a/app/models/concerns/stif_transport_mode_enumerations.rb b/app/models/concerns/stif_transport_mode_enumerations.rb
index c2d38c2c6..74621dfc5 100644
--- a/app/models/concerns/stif_transport_mode_enumerations.rb
+++ b/app/models/concerns/stif_transport_mode_enumerations.rb
@@ -1,19 +1,18 @@
module StifTransportModeEnumerations
extend ActiveSupport::Concern
- extend Enumerize
- extend self
- enumerize :transport_mode, in: %w(bus
- metro
- rail
- tram
- funicular)
-
- def transport_modes
- StifTransportModeEnumerations.transport_mode.values
+ class << self
+ def transport_modes
+ %w(bus metro rail tram funicular)
+ end
+ def sorted_transport_modes
+ transport_modes.sort_by{|m| I18n.t("enumerize.transport_mode.#{m}").parameterize }
+ end
end
-
- def sorted_transport_modes
- self.transport_modes.sort_by{|m| I18n.t("enumerize.transport_mode.#{m}").parameterize }
+
+ included do
+ extend Enumerize
+ enumerize :transport_mode, in: StifTransportModeEnumerations.transport_modes
end
+
end
diff --git a/app/models/concerns/stif_transport_submode_enumerations.rb b/app/models/concerns/stif_transport_submode_enumerations.rb
index cf314badd..eb3e56eac 100644
--- a/app/models/concerns/stif_transport_submode_enumerations.rb
+++ b/app/models/concerns/stif_transport_submode_enumerations.rb
@@ -1,24 +1,28 @@
module StifTransportSubmodeEnumerations
extend ActiveSupport::Concern
- extend Enumerize
- extend self
- enumerize :transport_submode, in: %w(demandAndResponseBus
- nightBus
- airportLinkBus
- highFrequencyBus
- expressBus
- railShuttle
- suburbanRailway
- regionalRail
- interregionalRail
-)
+ class << self
+ def transport_submodes
+ %w(
+ demandAndResponseBus
+ nightBus
+ airportLinkBus
+ highFrequencyBus
+ expressBus
+ railShuttle
+ suburbanRailway
+ regionalRail
+ interregionalRail)
+ end
- def transport_submodes
- StifTransportSubmodeEnumerations.transport_submode.values
+ def sorted_transport_submodes
+ transport_submodes.sort_by{|m| I18n.t("enumerize.transport_submode.#{m}").parameterize }
+ end
end
- def sorted_transport_submodes
- self.transport_submodes.sort_by{|m| I18n.t("enumerize.transport_submode.#{m}").parameterize }
+ included do
+ extend Enumerize
+ enumerize :transport_submode, in: StifTransportSubmodeEnumerations.transport_submodes
end
+
end
diff --git a/app/models/line_referential.rb b/app/models/line_referential.rb
index 8bc6adec3..7ab892b53 100644
--- a/app/models/line_referential.rb
+++ b/app/models/line_referential.rb
@@ -1,5 +1,5 @@
class LineReferential < ActiveRecord::Base
- extend StifTransportModeEnumerations
+ include StifTransportModeEnumerations
has_many :line_referential_memberships
has_many :organisations, through: :line_referential_memberships
diff --git a/app/views/compliance_check_sets/show.html.slim b/app/views/compliance_check_sets/show.html.slim
index 4052707da..d02adc6b8 100644
--- a/app/views/compliance_check_sets/show.html.slim
+++ b/app/views/compliance_check_sets/show.html.slim
@@ -17,15 +17,51 @@
h2
= render '/compliance_checks/filters'
- - if @direct_compliance_checks.try(:any?)
+ - if @direct_compliance_checks.try(:any?)
+ .row
+ .col-lg-12
+ h2
+ = transport_mode_text()
+ .row
+ .col-lg-12
+ .select_table
+ = table_builder_2 @direct_compliance_checks,
+ [ \
+ TableBuilderHelper::Column.new( \
+ key: :code, \
+ attribute: 'code' \
+ ), \
+ TableBuilderHelper::Column.new( \
+ key: :name, \
+ attribute: 'name', \
+ link_to: lambda do |compliance_check| \
+ compliance_check_path(compliance_check) \
+ end \
+ ), \
+ TableBuilderHelper::Column.new( \
+ key: :criticity, \
+ attribute: 'criticity' \
+ ), \
+ TableBuilderHelper::Column.new( \
+ key: :comment, \
+ attribute: 'comment' \
+ ), \
+ ],
+ sortable: true,
+ cls: 'table has-filter has-search',
+ model: ComplianceCheck
+
+ - @compliance_checks.each do |block, compliance_checks|
+
+ - if compliance_checks.try(:any?)
.row
.col-lg-12
h2
- = transport_mode_text()
+ = transport_mode_text(block)
.row
.col-lg-12
.select_table
- = table_builder_2 @direct_compliance_checks,
+ = table_builder_2 compliance_checks,
[ \
TableBuilderHelper::Column.new( \
key: :code, \
@@ -50,11 +86,4 @@
sortable: true,
cls: 'table has-filter has-search',
model: ComplianceCheck
-
- - @compliance_checks.each do |block, compliance_checks|
- - if compliance_checks.try(:any?)
- .row
- .col-lg-12
- h2
- = transport_mode_text(block)
diff --git a/app/views/lines/_filters.html.slim b/app/views/lines/_filters.html.slim
index 7662c41b5..58f8f2431 100644
--- a/app/views/lines/_filters.html.slim
+++ b/app/views/lines/_filters.html.slim
@@ -17,11 +17,11 @@
.form-group.togglable
= f.label Chouette::Line.human_attribute_name(:transport_mode), required: false, class: 'control-label'
- = f.input :transport_mode_eq_any, collection: Chouette::Line.sorted_transport_modes, as: :check_boxes, label: false, label_method: lambda{|l| ("" + t("enumerize.transport_mode.#{l}") + "").html_safe}, required: false, wrapper_html: { class: 'checkbox_list'}
+ = f.input :transport_mode_eq_any, collection: StifTransportModeEnumerations.sorted_transport_modes, as: :check_boxes, label: false, label_method: lambda{|l| ("" + t("enumerize.transport_mode.#{l}") + "").html_safe}, required: false, wrapper_html: { class: 'checkbox_list'}
.form-group.togglable
= f.label Chouette::Line.human_attribute_name(:transport_submode), required: false, class: 'control-label'
- = f.input :transport_submode_eq_any, collection: Chouette::Line.sorted_transport_submodes, as: :check_boxes, label: false, label_method: lambda{|l| ("" + t("enumerize.transport_submode.#{l}") + "").html_safe}, required: false, wrapper_html: { class: 'checkbox_list'}
+ = f.input :transport_submode_eq_any, collection: StifTransportSubmodeEnumerations.sorted_transport_submodes, as: :check_boxes, label: false, label_method: lambda{|l| ("" + t("enumerize.transport_submode.#{l}") + "").html_safe}, required: false, wrapper_html: { class: 'checkbox_list'}
.actions
= link_to 'Effacer', @workbench, class: 'btn btn-link'
diff --git a/db/schema.rb b/db/schema.rb
index 735e3405b..ff22ed2cb 100644
--- a/db/schema.rb
+++ b/db/schema.rb
@@ -284,22 +284,6 @@ ActiveRecord::Schema.define(version: 20171114102438) do
add_index "connection_links", ["objectid"], name: "connection_links_objectid_key", unique: true, using: :btree
- create_table "delayed_jobs", id: :bigserial, force: :cascade do |t|
- t.integer "priority", default: 0
- t.integer "attempts", default: 0
- t.text "handler"
- t.text "last_error"
- t.datetime "run_at"
- t.datetime "locked_at"
- t.datetime "failed_at"
- t.string "locked_by", limit: 255
- t.string "queue", limit: 255
- t.datetime "created_at"
- t.datetime "updated_at"
- end
-
- add_index "delayed_jobs", ["priority", "run_at"], name: "delayed_jobs_priority", using: :btree
-
create_table "exports", id: :bigserial, force: :cascade do |t|
t.integer "referential_id", limit: 8
t.string "status"
@@ -421,11 +405,11 @@ ActiveRecord::Schema.define(version: 20171114102438) do
t.datetime "started_at"
t.datetime "ended_at"
t.string "token_download"
- t.string "type", limit: 255
+ t.string "type"
t.integer "parent_id", limit: 8
t.string "parent_type"
- t.integer "current_step", default: 0
- t.integer "total_steps", default: 0
+ t.integer "current_step", default: 0
+ t.integer "total_steps", default: 0
t.datetime "notified_parent_at"
t.string "creator"
end
@@ -578,11 +562,6 @@ ActiveRecord::Schema.define(version: 20171114102438) do
add_index "networks", ["objectid"], name: "networks_objectid_key", unique: true, using: :btree
add_index "networks", ["registration_number"], name: "networks_registration_number_key", using: :btree
- create_table "object_id_factories", id: :bigserial, force: :cascade do |t|
- t.datetime "created_at", null: false
- t.datetime "updated_at", null: false
- end
-
create_table "organisations", id: :bigserial, force: :cascade do |t|
t.string "name"
t.datetime "created_at"
@@ -763,7 +742,7 @@ ActiveRecord::Schema.define(version: 20171114102438) do
create_table "stop_areas", id: :bigserial, force: :cascade do |t|
t.integer "parent_id", limit: 8
- t.string "objectid", null: false
+ t.string "objectid", null: false
t.integer "object_version", limit: 8
t.string "creator_id"
t.string "name"
@@ -772,8 +751,8 @@ ActiveRecord::Schema.define(version: 20171114102438) do
t.string "registration_number"
t.string "nearest_topic_name"
t.integer "fare_code"
- t.decimal "longitude", precision: 19, scale: 16
- t.decimal "latitude", precision: 19, scale: 16
+ t.decimal "longitude", precision: 19, scale: 16
+ t.decimal "latitude", precision: 19, scale: 16
t.string "long_lat_type"
t.string "country_code"
t.string "street_name"
@@ -791,7 +770,7 @@ ActiveRecord::Schema.define(version: 20171114102438) do
t.datetime "deleted_at"
t.datetime "created_at"
t.datetime "updated_at"
- t.string "stif_type", limit: 255
+ t.string "stif_type"
end
add_index "stop_areas", ["name"], name: "index_stop_areas_on_name", using: :btree
@@ -862,12 +841,12 @@ ActiveRecord::Schema.define(version: 20171114102438) do
add_index "time_table_periods", ["time_table_id"], name: "index_time_table_periods_on_time_table_id", using: :btree
create_table "time_tables", id: :bigserial, force: :cascade do |t|
- t.string "objectid", null: false
- t.integer "object_version", limit: 8, default: 1
+ t.string "objectid", null: false
+ t.integer "object_version", limit: 8, default: 1
t.string "creator_id"
t.string "version"
t.string "comment"
- t.integer "int_day_types", default: 0
+ t.integer "int_day_types", default: 0
t.date "start_date"
t.date "end_date"
t.integer "calendar_id", limit: 8
@@ -1020,13 +999,9 @@ ActiveRecord::Schema.define(version: 20171114102438) do
add_foreign_key "compliance_controls", "compliance_control_blocks"
add_foreign_key "compliance_controls", "compliance_control_sets"
add_foreign_key "group_of_lines_lines", "group_of_lines", name: "groupofline_group_fkey", on_delete: :cascade
- add_foreign_key "journey_frequencies", "timebands", name: "journey_frequencies_timeband_id_fk", on_delete: :nullify
add_foreign_key "journey_frequencies", "timebands", on_delete: :nullify
- add_foreign_key "journey_frequencies", "vehicle_journeys", name: "journey_frequencies_vehicle_journey_id_fk", on_delete: :nullify
add_foreign_key "journey_frequencies", "vehicle_journeys", on_delete: :nullify
- add_foreign_key "journey_pattern_sections", "journey_patterns", name: "journey_pattern_sections_journey_pattern_id_fk", on_delete: :cascade
add_foreign_key "journey_pattern_sections", "journey_patterns", on_delete: :cascade
- add_foreign_key "journey_pattern_sections", "route_sections", name: "journey_pattern_sections_route_section_id_fk", on_delete: :cascade
add_foreign_key "journey_pattern_sections", "route_sections", on_delete: :cascade
add_foreign_key "journey_patterns", "routes", name: "jp_route_fkey", on_delete: :cascade
add_foreign_key "journey_patterns", "stop_points", column: "arrival_stop_point_id", name: "arrival_point_fkey", on_delete: :nullify
diff --git a/spec/factories/compliance_control_blocks.rb b/spec/factories/compliance_control_blocks.rb
index 4785d8419..94773d4b3 100644
--- a/spec/factories/compliance_control_blocks.rb
+++ b/spec/factories/compliance_control_blocks.rb
@@ -1,7 +1,8 @@
FactoryGirl.define do
factory :compliance_control_block do
sequence(:name) { |n| "Compliance control block #{n}" }
- transport_mode "air"
+ transport_mode StifTransportModeEnumerations.transport_modes.first
+ transport_submode StifTransportSubmodeEnumerations.transport_submodes.first
association :compliance_control_set
end
end
diff --git a/spec/features/compliance_ckeck_sets_spec.rb b/spec/features/compliance_ckeck_sets_spec.rb
index 17902ed3f..f8421eba7 100644
--- a/spec/features/compliance_ckeck_sets_spec.rb
+++ b/spec/features/compliance_ckeck_sets_spec.rb
@@ -1,3 +1,5 @@
+require 'rails_helper'
+
RSpec.describe "ComplianceCheckSets", type: :feature do
include ComplianceCheckSetsHelper
@@ -22,7 +24,7 @@ RSpec.describe "ComplianceCheckSets", type: :feature do
visit(compliance_check_set_path(compliance_check_set))
end
- it 'we can see the expected content' do
+ xit 'we can see the expected content' do
# Breadcrumbs
expect_breadcrumb_links "Accueil", "Gestion de l'offre", " Rapports de contrôle"
diff --git a/spec/models/compliance_check_block_spec.rb b/spec/models/compliance_check_block_spec.rb
index 845056fac..0629a645d 100644
--- a/spec/models/compliance_check_block_spec.rb
+++ b/spec/models/compliance_check_block_spec.rb
@@ -2,4 +2,16 @@ RSpec.describe ComplianceCheckBlock, type: :model do
it { should belong_to :compliance_check_set }
it { should have_many :compliance_checks }
+
+ it { should allow_values(*%w{bus metro rail tram funicular}).for(:transport_mode) }
+ it { should_not allow_values(*%w{bs mtro ril tramm Funicular}).for(:transport_mode) }
+
+
+ it { should allow_values( *%w{ demandAndResponseBus nightBus airportLinkBus highFrequencyBus expressBus
+ railShuttle suburbanRailway regionalRail interregionalRail })
+ .for(:transport_submode) }
+
+ it { should_not allow_values( *%w{ demandResponseBus nightus irportLinkBus highrequencyBus expressBUs
+ Shuttle suburban regioalRail interregion4lRail })
+ .for(:transport_submode) }
end
diff --git a/spec/models/compliance_control_block_spec.rb b/spec/models/compliance_control_block_spec.rb
index 6566baac0..4abe0ed9c 100644
--- a/spec/models/compliance_control_block_spec.rb
+++ b/spec/models/compliance_control_block_spec.rb
@@ -1,18 +1,20 @@
+require 'rails_helper'
+
RSpec.describe ComplianceControlBlock, type: :model do
it { should belong_to :compliance_control_set }
it { should have_many(:compliance_controls).dependent(:destroy) }
it { should validate_presence_of(:transport_mode) }
- xit { should allow_values(*%w{bus metro rail tram funicular}).for(:transport_mode) }
- xit { should_not allow_values(*%w{bs mtro ril tramm Funicular}).for(:transport_mode) }
+ it { should allow_values(*%w{bus metro rail tram funicular}).for(:transport_mode) }
+ it { should_not allow_values(*%w{bs mtro ril tramm Funicular}).for(:transport_mode) }
- xit { should allow_values( *%w{ demandAndResponseBus nightBus airportLinkBus highFrequencyBus expressBus
+ it { should allow_values( *%w{ demandAndResponseBus nightBus airportLinkBus highFrequencyBus expressBus
railShuttle suburbanRailway regionalRail interregionalRail })
.for(:transport_submode) }
- xit { should_not allow_values( *%w{ demandResponseBus nightus irportLinkBus highrequencyBus expressBUs
+ it { should_not allow_values( *%w{ demandResponseBus nightus irportLinkBus highrequencyBus expressBUs
Shuttle suburban regioalRail interregion4lRail })
.for(:transport_submode) }
end
diff --git a/spec/models/line_referential_spec.rb b/spec/models/line_referential_spec.rb
index 8c6cb018b..8f8714f8f 100644
--- a/spec/models/line_referential_spec.rb
+++ b/spec/models/line_referential_spec.rb
@@ -1,6 +1,4 @@
-require 'spec_helper'
-
-RSpec.describe LineReferential, :type => :model do
+RSpec.describe LineReferential, type: :model do
it 'should have a valid factory' do
expect(FactoryGirl.build(:line_referential)).to be_valid
end
@@ -10,9 +8,4 @@ RSpec.describe LineReferential, :type => :model do
it { is_expected.to have_many(:workbenches) }
it { should validate_presence_of(:sync_interval) }
- describe "#transport_modes" do
- it 'returns a list of all transport modes' do
- expect(FactoryGirl.create(:line_referential).class.transport_modes).to match_array(StifTransportModeEnumerations.transport_modes )
- end
- end
end
--
cgit v1.2.3
From 5a1846208a2ef978c4582b91695be24ca5ee25cd Mon Sep 17 00:00:00 2001
From: Robert
Date: Fri, 10 Nov 2017 07:41:07 +0100
Subject: Fixes #4823@1h;
- I18n.t explicit in helper so that it can be used in specs.
- Typo in spec db setup fixed and setup of blocks put into create
instead of later update.
---
app/helpers/transport_mode_helper.rb | 2 +-
spec/features/compliance_ckeck_sets_spec.rb | 16 ++++++++--------
2 files changed, 9 insertions(+), 9 deletions(-)
diff --git a/app/helpers/transport_mode_helper.rb b/app/helpers/transport_mode_helper.rb
index b61057205..7a486fc2d 100644
--- a/app/helpers/transport_mode_helper.rb
+++ b/app/helpers/transport_mode_helper.rb
@@ -10,7 +10,7 @@ module TransportModeHelper
private
def translated_mode_name mode_type, value
return "" if value.blank?
- "[#{t("enumerize.transport_#{mode_type}.#{value}")}]"
+ "[#{I18n.t("enumerize.transport_#{mode_type}.#{value}")}]"
end
end
diff --git a/spec/features/compliance_ckeck_sets_spec.rb b/spec/features/compliance_ckeck_sets_spec.rb
index f8421eba7..9d04ef200 100644
--- a/spec/features/compliance_ckeck_sets_spec.rb
+++ b/spec/features/compliance_ckeck_sets_spec.rb
@@ -10,21 +10,22 @@ RSpec.describe "ComplianceCheckSets", type: :feature do
# We setup a control_set with two blocks and one direct control (meaning that it is not attached to a block)
# Then we add one control to the first block and two controls to the second block
let( :compliance_check_set ){ create :compliance_check_set, name: random_string }
- let(:blox){
- 2.times.map{ | _ | create :compliance_check_block, compliance_check_set: compliance_check_set }
- }
+ let(:blox){[
+ create( :compliance_check_block,
+ compliance_check_set: compliance_check_set, transport_mode: 'bus', transport_submode: 'demandAndResponseBus'),
+ create( :compliance_check_block,
+ compliance_check_set: compliance_check_set, transport_mode: 'rail', transport_submode: 'suburbanRailway')
+ ]}
let!(:direct_checks){ make_check(nil, times: 2) + make_check(nil, severity: :error) }
let!(:indirect_checks){ blox.map{ |block| make_check(block) } }
context 'show' do
before do
- blox.first.update transport_mode: 'bus', transport_submode: 'demandAndResponseBus'
- blox.second.update transport_mode: 'train', transport_submode: 'suburbanRailway'
visit(compliance_check_set_path(compliance_check_set))
end
- xit 'we can see the expected content' do
+ it 'we can see the expected content' do
# Breadcrumbs
expect_breadcrumb_links "Accueil", "Gestion de l'offre", " Rapports de contrôle"
@@ -41,7 +42,6 @@ RSpec.describe "ComplianceCheckSets", type: :feature do
expect( page ).to have_content("Objét")
expect( page ).to have_content("Criticité")
end
-
# Checks
# Direct Children
@@ -57,7 +57,7 @@ RSpec.describe "ComplianceCheckSets", type: :feature do
# Indirect Children
compliance_check_set.compliance_check_blocks.each do | block |
within(:xpath, xpath_for_div_of_block(block)) do
- block.checks.each do | check |
+ block.compliance_checks.each do | check |
expect( page ).to have_content( check.code )
expect( page ).to have_content( check.name )
expect( page ).to have_content( check.criticity )
--
cgit v1.2.3
From 52f185193aea2e47feff0aa9b395ee67b86608f1 Mon Sep 17 00:00:00 2001
From: Robert
Date: Fri, 10 Nov 2017 13:35:52 +0100
Subject: Refs: #4823@0.1h; Hotfix for ComplianceCheckController
---
app/controllers/compliance_checks_controller.rb | 2 +-
db/schema.rb | 73 +++++++++++--------------
2 files changed, 34 insertions(+), 41 deletions(-)
diff --git a/app/controllers/compliance_checks_controller.rb b/app/controllers/compliance_checks_controller.rb
index 07438cf99..81749e292 100644
--- a/app/controllers/compliance_checks_controller.rb
+++ b/app/controllers/compliance_checks_controller.rb
@@ -1,4 +1,4 @@
-class ComplianceChecksController < ChouetteController
+class ComplianceChecksController < InheritedResources::Base
end
diff --git a/db/schema.rb b/db/schema.rb
index ff22ed2cb..b8c97f138 100644
--- a/db/schema.rb
+++ b/db/schema.rb
@@ -284,6 +284,22 @@ ActiveRecord::Schema.define(version: 20171114102438) do
add_index "connection_links", ["objectid"], name: "connection_links_objectid_key", unique: true, using: :btree
+ create_table "delayed_jobs", id: :bigserial, force: :cascade do |t|
+ t.integer "priority", default: 0
+ t.integer "attempts", default: 0
+ t.text "handler"
+ t.text "last_error"
+ t.datetime "run_at"
+ t.datetime "locked_at"
+ t.datetime "failed_at"
+ t.string "locked_by", limit: 255
+ t.string "queue", limit: 255
+ t.datetime "created_at"
+ t.datetime "updated_at"
+ end
+
+ add_index "delayed_jobs", ["priority", "run_at"], name: "delayed_jobs_priority", using: :btree
+
create_table "exports", id: :bigserial, force: :cascade do |t|
t.integer "referential_id", limit: 8
t.string "status"
@@ -405,11 +421,11 @@ ActiveRecord::Schema.define(version: 20171114102438) do
t.datetime "started_at"
t.datetime "ended_at"
t.string "token_download"
- t.string "type"
+ t.string "type", limit: 255
t.integer "parent_id", limit: 8
t.string "parent_type"
- t.integer "current_step", default: 0
- t.integer "total_steps", default: 0
+ t.integer "current_step", default: 0
+ t.integer "total_steps", default: 0
t.datetime "notified_parent_at"
t.string "creator"
end
@@ -431,18 +447,6 @@ ActiveRecord::Schema.define(version: 20171114102438) do
add_index "journey_frequencies", ["timeband_id"], name: "index_journey_frequencies_on_timeband_id", using: :btree
add_index "journey_frequencies", ["vehicle_journey_id"], name: "index_journey_frequencies_on_vehicle_journey_id", using: :btree
- create_table "journey_pattern_sections", id: :bigserial, force: :cascade do |t|
- t.integer "journey_pattern_id", limit: 8, null: false
- t.integer "route_section_id", limit: 8, null: false
- t.integer "rank", null: false
- t.datetime "created_at"
- t.datetime "updated_at"
- end
-
- add_index "journey_pattern_sections", ["journey_pattern_id", "route_section_id", "rank"], name: "index_jps_on_journey_pattern_id_and_route_section_id_and_rank", unique: true, using: :btree
- add_index "journey_pattern_sections", ["journey_pattern_id"], name: "index_journey_pattern_sections_on_journey_pattern_id", using: :btree
- add_index "journey_pattern_sections", ["route_section_id"], name: "index_journey_pattern_sections_on_route_section_id", using: :btree
-
create_table "journey_patterns", id: :bigserial, force: :cascade do |t|
t.integer "route_id", limit: 8
t.string "objectid", null: false
@@ -562,6 +566,11 @@ ActiveRecord::Schema.define(version: 20171114102438) do
add_index "networks", ["objectid"], name: "networks_objectid_key", unique: true, using: :btree
add_index "networks", ["registration_number"], name: "networks_registration_number_key", using: :btree
+ create_table "object_id_factories", id: :bigserial, force: :cascade do |t|
+ t.datetime "created_at", null: false
+ t.datetime "updated_at", null: false
+ end
+
create_table "organisations", id: :bigserial, force: :cascade do |t|
t.string "name"
t.datetime "created_at"
@@ -652,20 +661,6 @@ ActiveRecord::Schema.define(version: 20171114102438) do
add_index "referentials", ["created_from_id"], name: "index_referentials_on_created_from_id", using: :btree
add_index "referentials", ["referential_suite_id"], name: "index_referentials_on_referential_suite_id", using: :btree
- create_table "route_sections", id: :bigserial, force: :cascade do |t|
- t.integer "departure_id", limit: 8
- t.integer "arrival_id", limit: 8
- t.geometry "input_geometry", limit: {:srid=>4326, :type=>"line_string"}
- t.geometry "processed_geometry", limit: {:srid=>4326, :type=>"line_string"}
- t.string "objectid", null: false
- t.integer "object_version", limit: 8
- t.string "creator_id"
- t.float "distance"
- t.boolean "no_processing"
- t.datetime "created_at"
- t.datetime "updated_at"
- end
-
create_table "routes", id: :bigserial, force: :cascade do |t|
t.integer "line_id", limit: 8
t.string "objectid", null: false
@@ -742,7 +737,7 @@ ActiveRecord::Schema.define(version: 20171114102438) do
create_table "stop_areas", id: :bigserial, force: :cascade do |t|
t.integer "parent_id", limit: 8
- t.string "objectid", null: false
+ t.string "objectid", null: false
t.integer "object_version", limit: 8
t.string "creator_id"
t.string "name"
@@ -751,8 +746,8 @@ ActiveRecord::Schema.define(version: 20171114102438) do
t.string "registration_number"
t.string "nearest_topic_name"
t.integer "fare_code"
- t.decimal "longitude", precision: 19, scale: 16
- t.decimal "latitude", precision: 19, scale: 16
+ t.decimal "longitude", precision: 19, scale: 16
+ t.decimal "latitude", precision: 19, scale: 16
t.string "long_lat_type"
t.string "country_code"
t.string "street_name"
@@ -770,7 +765,7 @@ ActiveRecord::Schema.define(version: 20171114102438) do
t.datetime "deleted_at"
t.datetime "created_at"
t.datetime "updated_at"
- t.string "stif_type"
+ t.string "stif_type", limit: 255
end
add_index "stop_areas", ["name"], name: "index_stop_areas_on_name", using: :btree
@@ -841,12 +836,12 @@ ActiveRecord::Schema.define(version: 20171114102438) do
add_index "time_table_periods", ["time_table_id"], name: "index_time_table_periods_on_time_table_id", using: :btree
create_table "time_tables", id: :bigserial, force: :cascade do |t|
- t.string "objectid", null: false
- t.integer "object_version", limit: 8, default: 1
+ t.string "objectid", null: false
+ t.integer "object_version", limit: 8, default: 1
t.string "creator_id"
t.string "version"
t.string "comment"
- t.integer "int_day_types", default: 0
+ t.integer "int_day_types", default: 0
t.date "start_date"
t.date "end_date"
t.integer "calendar_id", limit: 8
@@ -999,18 +994,16 @@ ActiveRecord::Schema.define(version: 20171114102438) do
add_foreign_key "compliance_controls", "compliance_control_blocks"
add_foreign_key "compliance_controls", "compliance_control_sets"
add_foreign_key "group_of_lines_lines", "group_of_lines", name: "groupofline_group_fkey", on_delete: :cascade
+ add_foreign_key "journey_frequencies", "timebands", name: "journey_frequencies_timeband_id_fk", on_delete: :nullify
add_foreign_key "journey_frequencies", "timebands", on_delete: :nullify
+ add_foreign_key "journey_frequencies", "vehicle_journeys", name: "journey_frequencies_vehicle_journey_id_fk", on_delete: :nullify
add_foreign_key "journey_frequencies", "vehicle_journeys", on_delete: :nullify
- add_foreign_key "journey_pattern_sections", "journey_patterns", on_delete: :cascade
- add_foreign_key "journey_pattern_sections", "route_sections", on_delete: :cascade
add_foreign_key "journey_patterns", "routes", name: "jp_route_fkey", on_delete: :cascade
add_foreign_key "journey_patterns", "stop_points", column: "arrival_stop_point_id", name: "arrival_point_fkey", on_delete: :nullify
add_foreign_key "journey_patterns", "stop_points", column: "departure_stop_point_id", name: "departure_point_fkey", on_delete: :nullify
add_foreign_key "journey_patterns_stop_points", "journey_patterns", name: "jpsp_jp_fkey", on_delete: :cascade
add_foreign_key "journey_patterns_stop_points", "stop_points", name: "jpsp_stoppoint_fkey", on_delete: :cascade
add_foreign_key "referentials", "referential_suites"
- add_foreign_key "route_sections", "stop_areas", column: "arrival_id"
- add_foreign_key "route_sections", "stop_areas", column: "departure_id"
add_foreign_key "routes", "routes", column: "opposite_route_id", name: "route_opposite_route_fkey"
add_foreign_key "stop_areas", "stop_areas", column: "parent_id", name: "area_parent_fkey", on_delete: :nullify
add_foreign_key "stop_areas_stop_areas", "stop_areas", column: "child_id", name: "stoparea_child_fkey", on_delete: :cascade
--
cgit v1.2.3
From e4d75876d5bd9a4560133395f119abc05dc00b3d Mon Sep 17 00:00:00 2001
From: Robert
Date: Mon, 13 Nov 2017 13:19:06 +0100
Subject: Refs: #4823@1.7h; CodeReview #show -> #executed
---
.../compliance_check_sets_controller.rb | 10 +--
app/helpers/compliance_check_sets_helper.rb | 4 +
app/views/compliance_check_sets/executed.html.slim | 89 ++++++++++++++++++++++
app/views/compliance_check_sets/show.html.slim | 89 ----------------------
app/views/compliance_checks/_filters.html.slim | 2 +-
config/routes.rb | 1 +
db/schema.rb | 43 +++--------
.../compliance_check_sets_controller_spec.rb | 4 +-
spec/features/compliance_ckeck_sets_spec.rb | 4 +-
9 files changed, 114 insertions(+), 132 deletions(-)
create mode 100644 app/views/compliance_check_sets/executed.html.slim
delete mode 100644 app/views/compliance_check_sets/show.html.slim
diff --git a/app/controllers/compliance_check_sets_controller.rb b/app/controllers/compliance_check_sets_controller.rb
index 56d1b9f1f..5f392ef82 100644
--- a/app/controllers/compliance_check_sets_controller.rb
+++ b/app/controllers/compliance_check_sets_controller.rb
@@ -19,8 +19,8 @@ class ComplianceCheckSetsController < InheritedResources::Base
end
end
- def show
- show!(&method(:implement_show))
+ def executed
+ show!(&method(:implement_executed))
end
@@ -28,11 +28,11 @@ class ComplianceCheckSetsController < InheritedResources::Base
# Action Implementation
# ---------------------
- def implement_show format
- format.html(&method(:implement_show_for_html))
+ def implement_executed format
+ format.html(&method(:implement_executed_for_html))
end
- def implement_show_for_html _mime_response
+ def implement_executed_for_html _mime_response
@q_checks_form = @compliance_check_set.compliance_checks.ransack(params[:q])
@compliance_check_set = @compliance_check_set.decorate
@compliance_checks =
diff --git a/app/helpers/compliance_check_sets_helper.rb b/app/helpers/compliance_check_sets_helper.rb
index 349ecae87..fc7165fed 100644
--- a/app/helpers/compliance_check_sets_helper.rb
+++ b/app/helpers/compliance_check_sets_helper.rb
@@ -3,6 +3,10 @@ module ComplianceCheckSetsHelper
workbench_compliance_check_set_path(compliance_check_set.workbench, compliance_check_set)
end
+ def executed_compliance_check_set_path(compliance_check_set)
+ executed_workbench_compliance_check_set_path(compliance_check_set.workbench, compliance_check_set)
+ end
+
def compliance_check_path(compliance_check)
workbench_compliance_check_set_compliance_check_path(
compliance_check.compliance_check_set.workbench,
diff --git a/app/views/compliance_check_sets/executed.html.slim b/app/views/compliance_check_sets/executed.html.slim
new file mode 100644
index 000000000..d02adc6b8
--- /dev/null
+++ b/app/views/compliance_check_sets/executed.html.slim
@@ -0,0 +1,89 @@
+- breadcrumb :compliance_check_set, @workbench, @compliance_check_set
+/ PageHeader
+= pageheader 'jeux-de-donnees',
+ t('compliance_check_sets.show.title', name: @compliance_check_set.name),
+ 'Lorem ipsum dolor sit amet'
+/ PageContent
+.page_content
+ .container-fluid
+ .row
+ .col-lg-6.col-md-6.col-sm-12.col-xs-12
+ = definition_list t('metadatas'),
+ ComplianceCheckSet.human_attribute_name(:name) => @compliance_check_set.name
+
+ - if params[:q].present? || @compliance_checks.any? || @direct_compliance_checks
+ .row
+ .col-lg-12
+ h2
+ = render '/compliance_checks/filters'
+
+ - if @direct_compliance_checks.try(:any?)
+ .row
+ .col-lg-12
+ h2
+ = transport_mode_text()
+ .row
+ .col-lg-12
+ .select_table
+ = table_builder_2 @direct_compliance_checks,
+ [ \
+ TableBuilderHelper::Column.new( \
+ key: :code, \
+ attribute: 'code' \
+ ), \
+ TableBuilderHelper::Column.new( \
+ key: :name, \
+ attribute: 'name', \
+ link_to: lambda do |compliance_check| \
+ compliance_check_path(compliance_check) \
+ end \
+ ), \
+ TableBuilderHelper::Column.new( \
+ key: :criticity, \
+ attribute: 'criticity' \
+ ), \
+ TableBuilderHelper::Column.new( \
+ key: :comment, \
+ attribute: 'comment' \
+ ), \
+ ],
+ sortable: true,
+ cls: 'table has-filter has-search',
+ model: ComplianceCheck
+
+ - @compliance_checks.each do |block, compliance_checks|
+
+ - if compliance_checks.try(:any?)
+ .row
+ .col-lg-12
+ h2
+ = transport_mode_text(block)
+ .row
+ .col-lg-12
+ .select_table
+ = table_builder_2 compliance_checks,
+ [ \
+ TableBuilderHelper::Column.new( \
+ key: :code, \
+ attribute: 'code' \
+ ), \
+ TableBuilderHelper::Column.new( \
+ key: :name, \
+ attribute: 'name', \
+ link_to: lambda do |compliance_check| \
+ compliance_check_path(compliance_check) \
+ end \
+ ), \
+ TableBuilderHelper::Column.new( \
+ key: :criticity, \
+ attribute: 'criticity' \
+ ), \
+ TableBuilderHelper::Column.new( \
+ key: :comment, \
+ attribute: 'comment' \
+ ), \
+ ],
+ sortable: true,
+ cls: 'table has-filter has-search',
+ model: ComplianceCheck
+
diff --git a/app/views/compliance_check_sets/show.html.slim b/app/views/compliance_check_sets/show.html.slim
deleted file mode 100644
index d02adc6b8..000000000
--- a/app/views/compliance_check_sets/show.html.slim
+++ /dev/null
@@ -1,89 +0,0 @@
-- breadcrumb :compliance_check_set, @workbench, @compliance_check_set
-/ PageHeader
-= pageheader 'jeux-de-donnees',
- t('compliance_check_sets.show.title', name: @compliance_check_set.name),
- 'Lorem ipsum dolor sit amet'
-/ PageContent
-.page_content
- .container-fluid
- .row
- .col-lg-6.col-md-6.col-sm-12.col-xs-12
- = definition_list t('metadatas'),
- ComplianceCheckSet.human_attribute_name(:name) => @compliance_check_set.name
-
- - if params[:q].present? || @compliance_checks.any? || @direct_compliance_checks
- .row
- .col-lg-12
- h2
- = render '/compliance_checks/filters'
-
- - if @direct_compliance_checks.try(:any?)
- .row
- .col-lg-12
- h2
- = transport_mode_text()
- .row
- .col-lg-12
- .select_table
- = table_builder_2 @direct_compliance_checks,
- [ \
- TableBuilderHelper::Column.new( \
- key: :code, \
- attribute: 'code' \
- ), \
- TableBuilderHelper::Column.new( \
- key: :name, \
- attribute: 'name', \
- link_to: lambda do |compliance_check| \
- compliance_check_path(compliance_check) \
- end \
- ), \
- TableBuilderHelper::Column.new( \
- key: :criticity, \
- attribute: 'criticity' \
- ), \
- TableBuilderHelper::Column.new( \
- key: :comment, \
- attribute: 'comment' \
- ), \
- ],
- sortable: true,
- cls: 'table has-filter has-search',
- model: ComplianceCheck
-
- - @compliance_checks.each do |block, compliance_checks|
-
- - if compliance_checks.try(:any?)
- .row
- .col-lg-12
- h2
- = transport_mode_text(block)
- .row
- .col-lg-12
- .select_table
- = table_builder_2 compliance_checks,
- [ \
- TableBuilderHelper::Column.new( \
- key: :code, \
- attribute: 'code' \
- ), \
- TableBuilderHelper::Column.new( \
- key: :name, \
- attribute: 'name', \
- link_to: lambda do |compliance_check| \
- compliance_check_path(compliance_check) \
- end \
- ), \
- TableBuilderHelper::Column.new( \
- key: :criticity, \
- attribute: 'criticity' \
- ), \
- TableBuilderHelper::Column.new( \
- key: :comment, \
- attribute: 'comment' \
- ), \
- ],
- sortable: true,
- cls: 'table has-filter has-search',
- model: ComplianceCheck
-
diff --git a/app/views/compliance_checks/_filters.html.slim b/app/views/compliance_checks/_filters.html.slim
index 189e3d787..902fb0735 100644
--- a/app/views/compliance_checks/_filters.html.slim
+++ b/app/views/compliance_checks/_filters.html.slim
@@ -1,6 +1,6 @@
/ Compliance Check Filter
= search_form_for @q_checks_form,
- url: compliance_check_set_path(@compliance_check_set),
+ url: executed_compliance_check_set_path(@compliance_check_set),
builder: SimpleForm::FormBuilder,
class: 'form form-filter' do |f|
diff --git a/config/routes.rb b/config/routes.rb
index 8221dfe1a..8ea8168bf 100644
--- a/config/routes.rb
+++ b/config/routes.rb
@@ -12,6 +12,7 @@ ChouetteIhm::Application.routes.draw do
end
end
resources :compliance_check_sets, only: [:index, :show] do
+ get :executed, on: :member
resources :compliance_checks, only: [:show]
end
end
diff --git a/db/schema.rb b/db/schema.rb
index b8c97f138..477a2fbf4 100644
--- a/db/schema.rb
+++ b/db/schema.rb
@@ -284,22 +284,6 @@ ActiveRecord::Schema.define(version: 20171114102438) do
add_index "connection_links", ["objectid"], name: "connection_links_objectid_key", unique: true, using: :btree
- create_table "delayed_jobs", id: :bigserial, force: :cascade do |t|
- t.integer "priority", default: 0
- t.integer "attempts", default: 0
- t.text "handler"
- t.text "last_error"
- t.datetime "run_at"
- t.datetime "locked_at"
- t.datetime "failed_at"
- t.string "locked_by", limit: 255
- t.string "queue", limit: 255
- t.datetime "created_at"
- t.datetime "updated_at"
- end
-
- add_index "delayed_jobs", ["priority", "run_at"], name: "delayed_jobs_priority", using: :btree
-
create_table "exports", id: :bigserial, force: :cascade do |t|
t.integer "referential_id", limit: 8
t.string "status"
@@ -421,11 +405,11 @@ ActiveRecord::Schema.define(version: 20171114102438) do
t.datetime "started_at"
t.datetime "ended_at"
t.string "token_download"
- t.string "type", limit: 255
+ t.string "type"
t.integer "parent_id", limit: 8
t.string "parent_type"
- t.integer "current_step", default: 0
- t.integer "total_steps", default: 0
+ t.integer "current_step", default: 0
+ t.integer "total_steps", default: 0
t.datetime "notified_parent_at"
t.string "creator"
end
@@ -566,11 +550,6 @@ ActiveRecord::Schema.define(version: 20171114102438) do
add_index "networks", ["objectid"], name: "networks_objectid_key", unique: true, using: :btree
add_index "networks", ["registration_number"], name: "networks_registration_number_key", using: :btree
- create_table "object_id_factories", id: :bigserial, force: :cascade do |t|
- t.datetime "created_at", null: false
- t.datetime "updated_at", null: false
- end
-
create_table "organisations", id: :bigserial, force: :cascade do |t|
t.string "name"
t.datetime "created_at"
@@ -737,7 +716,7 @@ ActiveRecord::Schema.define(version: 20171114102438) do
create_table "stop_areas", id: :bigserial, force: :cascade do |t|
t.integer "parent_id", limit: 8
- t.string "objectid", null: false
+ t.string "objectid", null: false
t.integer "object_version", limit: 8
t.string "creator_id"
t.string "name"
@@ -746,8 +725,8 @@ ActiveRecord::Schema.define(version: 20171114102438) do
t.string "registration_number"
t.string "nearest_topic_name"
t.integer "fare_code"
- t.decimal "longitude", precision: 19, scale: 16
- t.decimal "latitude", precision: 19, scale: 16
+ t.decimal "longitude", precision: 19, scale: 16
+ t.decimal "latitude", precision: 19, scale: 16
t.string "long_lat_type"
t.string "country_code"
t.string "street_name"
@@ -765,7 +744,7 @@ ActiveRecord::Schema.define(version: 20171114102438) do
t.datetime "deleted_at"
t.datetime "created_at"
t.datetime "updated_at"
- t.string "stif_type", limit: 255
+ t.string "stif_type"
end
add_index "stop_areas", ["name"], name: "index_stop_areas_on_name", using: :btree
@@ -836,12 +815,12 @@ ActiveRecord::Schema.define(version: 20171114102438) do
add_index "time_table_periods", ["time_table_id"], name: "index_time_table_periods_on_time_table_id", using: :btree
create_table "time_tables", id: :bigserial, force: :cascade do |t|
- t.string "objectid", null: false
- t.integer "object_version", limit: 8, default: 1
+ t.string "objectid", null: false
+ t.integer "object_version", limit: 8, default: 1
t.string "creator_id"
t.string "version"
t.string "comment"
- t.integer "int_day_types", default: 0
+ t.integer "int_day_types", default: 0
t.date "start_date"
t.date "end_date"
t.integer "calendar_id", limit: 8
@@ -994,9 +973,7 @@ ActiveRecord::Schema.define(version: 20171114102438) do
add_foreign_key "compliance_controls", "compliance_control_blocks"
add_foreign_key "compliance_controls", "compliance_control_sets"
add_foreign_key "group_of_lines_lines", "group_of_lines", name: "groupofline_group_fkey", on_delete: :cascade
- add_foreign_key "journey_frequencies", "timebands", name: "journey_frequencies_timeband_id_fk", on_delete: :nullify
add_foreign_key "journey_frequencies", "timebands", on_delete: :nullify
- add_foreign_key "journey_frequencies", "vehicle_journeys", name: "journey_frequencies_vehicle_journey_id_fk", on_delete: :nullify
add_foreign_key "journey_frequencies", "vehicle_journeys", on_delete: :nullify
add_foreign_key "journey_patterns", "routes", name: "jp_route_fkey", on_delete: :cascade
add_foreign_key "journey_patterns", "stop_points", column: "arrival_stop_point_id", name: "arrival_point_fkey", on_delete: :nullify
diff --git a/spec/controllers/compliance_check_sets_controller_spec.rb b/spec/controllers/compliance_check_sets_controller_spec.rb
index 804b0a658..3ddb1dad1 100644
--- a/spec/controllers/compliance_check_sets_controller_spec.rb
+++ b/spec/controllers/compliance_check_sets_controller_spec.rb
@@ -5,9 +5,9 @@ RSpec.describe ComplianceCheckSetsController, type: :controller do
let(:compliance_check_set) { create :compliance_check_set }
- describe "GET show" do
+ describe "GET executed" do
it 'should be successful' do
- get :show, workbench_id: compliance_check_set.workbench.id, id: compliance_check_set.id
+ get :executed, workbench_id: compliance_check_set.workbench.id, id: compliance_check_set.id
expect(response).to be_success
end
end
diff --git a/spec/features/compliance_ckeck_sets_spec.rb b/spec/features/compliance_ckeck_sets_spec.rb
index 9d04ef200..c8fb16c93 100644
--- a/spec/features/compliance_ckeck_sets_spec.rb
+++ b/spec/features/compliance_ckeck_sets_spec.rb
@@ -19,10 +19,10 @@ RSpec.describe "ComplianceCheckSets", type: :feature do
let!(:direct_checks){ make_check(nil, times: 2) + make_check(nil, severity: :error) }
let!(:indirect_checks){ blox.map{ |block| make_check(block) } }
- context 'show' do
+ context 'executed' do
before do
- visit(compliance_check_set_path(compliance_check_set))
+ visit(executed_compliance_check_set_path(compliance_check_set))
end
it 'we can see the expected content' do
--
cgit v1.2.3
From c656fe0c4bd1eeff0fb969819519034abeb84308 Mon Sep 17 00:00:00 2001
From: Robert
Date: Mon, 13 Nov 2017 16:06:35 +0100
Subject: Refs: #4823@0.5h; Translations changed
---
config/locales/compliance_check_blocks.en.yml | 6 +++---
config/locales/compliance_check_blocks.fr.yml | 6 +++---
config/locales/compliance_check_sets.en.yml | 13 +++++++------
config/locales/compliance_check_sets.fr.yml | 11 ++++-------
config/locales/compliance_checks.fr.yml | 2 +-
spec/features/compliance_ckeck_sets_spec.rb | 2 +-
6 files changed, 19 insertions(+), 21 deletions(-)
diff --git a/config/locales/compliance_check_blocks.en.yml b/config/locales/compliance_check_blocks.en.yml
index 9278823dc..a20fb483e 100644
--- a/config/locales/compliance_check_blocks.en.yml
+++ b/config/locales/compliance_check_blocks.en.yml
@@ -2,7 +2,7 @@ en:
activerecord:
models:
compliance_check_block:
- zero: "Control report groups"
- one: "Control report group"
- many: "Control report groups"
+ zero: Control blocks
+ one: Control block
+ other: Control blocks
diff --git a/config/locales/compliance_check_blocks.fr.yml b/config/locales/compliance_check_blocks.fr.yml
index 2ead24b2f..3d385aff6 100644
--- a/config/locales/compliance_check_blocks.fr.yml
+++ b/config/locales/compliance_check_blocks.fr.yml
@@ -2,6 +2,6 @@ fr:
activerecord:
models:
compliance_check_block:
- zero: "Groupe de rapport de contrôle"
- one: "Groupe de rapport de contrôle"
- many: "Groupes de rapport de contrôle"
+ zero: "Groupe de contrôle"
+ one: "Groupe de contrôle"
+ other: "Groupes de contrôles"
diff --git a/config/locales/compliance_check_sets.en.yml b/config/locales/compliance_check_sets.en.yml
index 0088cc6cc..931dc0131 100644
--- a/config/locales/compliance_check_sets.en.yml
+++ b/config/locales/compliance_check_sets.en.yml
@@ -9,9 +9,11 @@ en:
name: Specify a control report name...
error_period_filter: End date must be greater than or equal to begin date
index:
- title: Control reports
- new: Creating a Control Report
- edit: Update a Control Report
+ title: Compliance control set
+ new: New compliance control set
+ new_control: Creating a Control
+ select_types: Control Type Selection
+ edit: Edit compliance control set
search_no_results: No control reports match your search
show:
title: Control report %{name}
@@ -26,6 +28,5 @@ en:
name: Name
models:
compliance_check_block:
- zero: "Control report groups"
- one: "Control report group"
- many: "Control report groups"
+ one: compliance_control_set
+ other: compliance_control_sets
diff --git a/config/locales/compliance_check_sets.fr.yml b/config/locales/compliance_check_sets.fr.yml
index edf16d460..08c919590 100644
--- a/config/locales/compliance_check_sets.fr.yml
+++ b/config/locales/compliance_check_sets.fr.yml
@@ -9,12 +9,10 @@ fr:
name: Indiquez un nom d'un objet associé...
error_period_filter: La date de fin doit être supérieure ou égale à la date de début0
index:
- title: Rapports de contrôle
- new: Création d'un rapport de contrôle
- edit: Édition d'un rapport de contrôle
+ title: "Liste des jeux de contrôles"
search_no_results: Aucun rapport de contrôle ne correspond à votre recherche
show:
- title: Rapport de contrôle %{name}
+ title: Jeu de contrôle %{name}
activerecord:
attributes:
compliance_check_set:
@@ -26,6 +24,5 @@ fr:
name: Nom
models:
compliance_check_block:
- zero: "Groupe de rapport de contrôle"
- one: "Groupe de rapport de contrôle"
- many: "Groupes de rapport de contrôle"
+ many: "Groupes de jeux de contrôle"
+ other: "Groupe de jeux de contrôle"
diff --git a/config/locales/compliance_checks.fr.yml b/config/locales/compliance_checks.fr.yml
index 009c0a7e2..d11d37003 100644
--- a/config/locales/compliance_checks.fr.yml
+++ b/config/locales/compliance_checks.fr.yml
@@ -8,7 +8,7 @@ fr:
comment: Commentaire
compliance_checks:
filters:
- subclass: Objét
+ subclass: Objet
criticity: Criticité
name: Nom
diff --git a/spec/features/compliance_ckeck_sets_spec.rb b/spec/features/compliance_ckeck_sets_spec.rb
index c8fb16c93..df3dc729e 100644
--- a/spec/features/compliance_ckeck_sets_spec.rb
+++ b/spec/features/compliance_ckeck_sets_spec.rb
@@ -39,7 +39,7 @@ RSpec.describe "ComplianceCheckSets", type: :feature do
# Filters
within( 'form.form-filter' ) do
expect( page ).to have_content("Groupe de rapport de contrôle")
- expect( page ).to have_content("Objét")
+ expect( page ).to have_content("Objet")
expect( page ).to have_content("Criticité")
end
--
cgit v1.2.3
From 85b3e2e7bed8257263c553d2b7ccd4995021ee6c Mon Sep 17 00:00:00 2001
From: Robert
Date: Mon, 13 Nov 2017 16:12:50 +0100
Subject: Refs: #4823@0.2h; Changed title of compliance_check_set#executed
---
app/views/compliance_check_sets/executed.html.slim | 2 +-
config/locales/compliance_check_sets.en.yml | 4 ++--
config/locales/compliance_check_sets.fr.yml | 4 ++--
3 files changed, 5 insertions(+), 5 deletions(-)
diff --git a/app/views/compliance_check_sets/executed.html.slim b/app/views/compliance_check_sets/executed.html.slim
index d02adc6b8..43b1fae05 100644
--- a/app/views/compliance_check_sets/executed.html.slim
+++ b/app/views/compliance_check_sets/executed.html.slim
@@ -1,7 +1,7 @@
- breadcrumb :compliance_check_set, @workbench, @compliance_check_set
/ PageHeader
= pageheader 'jeux-de-donnees',
- t('compliance_check_sets.show.title', name: @compliance_check_set.name),
+ t('compliance_check_sets.executed.title', name: @compliance_check_set.name),
'Lorem ipsum dolor sit amet'
/ PageContent
.page_content
diff --git a/config/locales/compliance_check_sets.en.yml b/config/locales/compliance_check_sets.en.yml
index 931dc0131..4488a79ba 100644
--- a/config/locales/compliance_check_sets.en.yml
+++ b/config/locales/compliance_check_sets.en.yml
@@ -15,8 +15,8 @@ en:
select_types: Control Type Selection
edit: Edit compliance control set
search_no_results: No control reports match your search
- show:
- title: Control report %{name}
+ executed:
+ title: Executed control report %{name}
activerecord:
attributes:
compliance_check_set:
diff --git a/config/locales/compliance_check_sets.fr.yml b/config/locales/compliance_check_sets.fr.yml
index 08c919590..a901581ed 100644
--- a/config/locales/compliance_check_sets.fr.yml
+++ b/config/locales/compliance_check_sets.fr.yml
@@ -11,8 +11,8 @@ fr:
index:
title: "Liste des jeux de contrôles"
search_no_results: Aucun rapport de contrôle ne correspond à votre recherche
- show:
- title: Jeu de contrôle %{name}
+ executed:
+ title: Jeu de contrôles executés %{name}
activerecord:
attributes:
compliance_check_set:
--
cgit v1.2.3
From 83f193ee59af778a46f43fee8e9092c39c1390b8 Mon Sep 17 00:00:00 2001
From: Robert
Date: Mon, 13 Nov 2017 19:09:33 +0100
Subject: Refs: #4823@2h; Chasing and fixing regressions in feature specs
---
config/locales/compliance_check_sets.fr.yml | 7 ++++---
spec/features/compliance_ckeck_sets_spec.rb | 6 +++---
2 files changed, 7 insertions(+), 6 deletions(-)
diff --git a/config/locales/compliance_check_sets.fr.yml b/config/locales/compliance_check_sets.fr.yml
index a901581ed..8ad5af904 100644
--- a/config/locales/compliance_check_sets.fr.yml
+++ b/config/locales/compliance_check_sets.fr.yml
@@ -12,7 +12,7 @@ fr:
title: "Liste des jeux de contrôles"
search_no_results: Aucun rapport de contrôle ne correspond à votre recherche
executed:
- title: Jeu de contrôles executés %{name}
+ title: Jeu de contrôles exécutés %{name}
activerecord:
attributes:
compliance_check_set:
@@ -24,5 +24,6 @@ fr:
name: Nom
models:
compliance_check_block:
- many: "Groupes de jeux de contrôle"
- other: "Groupe de jeux de contrôle"
+ zero: "Groupe de contrôle"
+ one: "Groupe de contrôle"
+ other: "Groupes de contrôles"
diff --git a/spec/features/compliance_ckeck_sets_spec.rb b/spec/features/compliance_ckeck_sets_spec.rb
index df3dc729e..66cbcd8b6 100644
--- a/spec/features/compliance_ckeck_sets_spec.rb
+++ b/spec/features/compliance_ckeck_sets_spec.rb
@@ -27,10 +27,10 @@ RSpec.describe "ComplianceCheckSets", type: :feature do
it 'we can see the expected content' do
# Breadcrumbs
- expect_breadcrumb_links "Accueil", "Gestion de l'offre", " Rapports de contrôle"
+ expect_breadcrumb_links "Accueil", "Gestion de l'offre", "Liste des jeux de contrôles"
# Headline
- expect( page ).to have_content("Rapport de contrôle #{compliance_check_set.name}")
+ expect( page ).to have_content("Jeu de contrôles exécutés #{compliance_check_set.name}")
# Information Definition List
expect( page.first('.dl-term') ).to have_content("Nom")
@@ -38,7 +38,7 @@ RSpec.describe "ComplianceCheckSets", type: :feature do
# Filters
within( 'form.form-filter' ) do
- expect( page ).to have_content("Groupe de rapport de contrôle")
+ expect( page ).to have_content("Groupe de contrôle")
expect( page ).to have_content("Objet")
expect( page ).to have_content("Criticité")
end
--
cgit v1.2.3
From c0fa9f7de85fe32e95c7a923bb791525e0674c5d Mon Sep 17 00:00:00 2001
From: Robert
Date: Tue, 14 Nov 2017 09:20:10 +0100
Subject: Fixes: #4823@0.5h; Fixed regression in Ransack button "Effacer"
implicit path does not work anymore
---
app/views/compliance_checks/_filters.html.slim | 2 +-
spec/features/compliance_ckeck_sets_spec.rb | 26 ++++++++++++++++++++++++--
2 files changed, 25 insertions(+), 3 deletions(-)
diff --git a/app/views/compliance_checks/_filters.html.slim b/app/views/compliance_checks/_filters.html.slim
index 902fb0735..0d747da27 100644
--- a/app/views/compliance_checks/_filters.html.slim
+++ b/app/views/compliance_checks/_filters.html.slim
@@ -43,5 +43,5 @@
wrapper_html: {class: 'checkbox_list'}
.actions
- = link_to t('actions.erase'), @compliance_check_set, class: 'btn btn-link'
+ = link_to t('actions.erase'), executed_compliance_check_set_path(@compliance_check_set), class: 'btn btn-link'
= f.submit t('actions.filter'), class: 'btn btn-default', id: 'compliance_check_set_compliance_checks_filter_btn'
diff --git a/spec/features/compliance_ckeck_sets_spec.rb b/spec/features/compliance_ckeck_sets_spec.rb
index 66cbcd8b6..7ba64b6b8 100644
--- a/spec/features/compliance_ckeck_sets_spec.rb
+++ b/spec/features/compliance_ckeck_sets_spec.rb
@@ -17,7 +17,9 @@ RSpec.describe "ComplianceCheckSets", type: :feature do
compliance_check_set: compliance_check_set, transport_mode: 'rail', transport_submode: 'suburbanRailway')
]}
let!(:direct_checks){ make_check(nil, times: 2) + make_check(nil, severity: :error) }
- let!(:indirect_checks){ blox.map{ |block| make_check(block) } }
+ let!(:indirect_checks){ blox.flat_map{ |block| make_check(block) } }
+ let( :all_checks ){ direct_checks + indirect_checks }
+
context 'executed' do
@@ -66,9 +68,29 @@ RSpec.describe "ComplianceCheckSets", type: :feature do
end
end
end
+
+ it 'can filter the results and remove the filter' do
+ # Filter
+ check('error')
+ click_on('Filtrer')
+ all_checks.each do | check |
+ if check.criticity == 'error'
+ expect( page ).to have_content(check.code)
+ else
+ expect( page ).not_to have_content(check.code)
+ end
+ end
+
+ # Remove filter
+ click_on('Effacer')
+ all_checks.each do | check |
+ expect( page ).to have_content(check.code)
+ end
+
+ end
end
- def make_check ccblock=nil, times: 1, severity: :error
+ def make_check ccblock=nil, times: 1, severity: :warning
times.times.map do
make_one_check ccblock, severity
end
--
cgit v1.2.3
From 21faf9940a6f7a9f685788eba2bdd267528cb0aa Mon Sep 17 00:00:00 2001
From: Robert
Date: Thu, 16 Nov 2017 07:45:22 +0100
Subject: Refs: #4823@0.6h; Code Review Part I
---
app/decorators/compliance_check_decorator.rb | 2 +-
app/views/compliance_check_sets/executed.html.slim | 73 +++++++++++-----------
2 files changed, 36 insertions(+), 39 deletions(-)
diff --git a/app/decorators/compliance_check_decorator.rb b/app/decorators/compliance_check_decorator.rb
index 09984aa2e..5431f5796 100644
--- a/app/decorators/compliance_check_decorator.rb
+++ b/app/decorators/compliance_check_decorator.rb
@@ -2,7 +2,7 @@ class ComplianceCheckDecorator < Draper::Decorator
delegate_all
def action_links
- links = []
+ []
end
end
diff --git a/app/views/compliance_check_sets/executed.html.slim b/app/views/compliance_check_sets/executed.html.slim
index 43b1fae05..84601e17c 100644
--- a/app/views/compliance_check_sets/executed.html.slim
+++ b/app/views/compliance_check_sets/executed.html.slim
@@ -24,44 +24,7 @@
= transport_mode_text()
.row
.col-lg-12
- .select_table
- = table_builder_2 @direct_compliance_checks,
- [ \
- TableBuilderHelper::Column.new( \
- key: :code, \
- attribute: 'code' \
- ), \
- TableBuilderHelper::Column.new( \
- key: :name, \
- attribute: 'name', \
- link_to: lambda do |compliance_check| \
- compliance_check_path(compliance_check) \
- end \
- ), \
- TableBuilderHelper::Column.new( \
- key: :criticity, \
- attribute: 'criticity' \
- ), \
- TableBuilderHelper::Column.new( \
- key: :comment, \
- attribute: 'comment' \
- ), \
- ],
- sortable: true,
- cls: 'table has-filter has-search',
- model: ComplianceCheck
-
- - @compliance_checks.each do |block, compliance_checks|
-
- - if compliance_checks.try(:any?)
- .row
- .col-lg-12
- h2
- = transport_mode_text(block)
- .row
- .col-lg-12
- .select_table
- = table_builder_2 compliance_checks,
+ = table_builder_2 @direct_compliance_checks,
[ \
TableBuilderHelper::Column.new( \
key: :code, \
@@ -86,4 +49,38 @@
sortable: true,
cls: 'table has-filter has-search',
model: ComplianceCheck
+
+ - @compliance_checks.each do |block, compliance_checks|
+ - if compliance_checks.try(:any?)
+ .row
+ .col-lg-12
+ h2
+ = transport_mode_text(block)
+ .row
+ .col-lg-12
+ = table_builder_2 compliance_checks,
+ [ \
+ TableBuilderHelper::Column.new( \
+ key: :code, \
+ attribute: 'code' \
+ ), \
+ TableBuilderHelper::Column.new( \
+ key: :name, \
+ attribute: 'name', \
+ link_to: lambda do |compliance_check| \
+ compliance_check_path(compliance_check) \
+ end \
+ ), \
+ TableBuilderHelper::Column.new( \
+ key: :criticity, \
+ attribute: 'criticity' \
+ ), \
+ TableBuilderHelper::Column.new( \
+ key: :comment, \
+ attribute: 'comment' \
+ ), \
+ ],
+ sortable: true,
+ cls: 'table has-filter has-search',
+ model: ComplianceCheck
--
cgit v1.2.3
From d8c0303c4f00998c546e9d3d06c0b13ed89b0391 Mon Sep 17 00:00:00 2001
From: Robert
Date: Thu, 16 Nov 2017 07:55:12 +0100
Subject: Refs: #4823@0.2h; Code Review Part II
---
config/locales/compliance_check_sets.en.yml | 2 +-
spec/features/compliance_check_sets_spec.rb | 110 ++++++++++++++++++++++++++++
spec/features/compliance_ckeck_sets_spec.rb | 110 ----------------------------
3 files changed, 111 insertions(+), 111 deletions(-)
create mode 100644 spec/features/compliance_check_sets_spec.rb
delete mode 100644 spec/features/compliance_ckeck_sets_spec.rb
diff --git a/config/locales/compliance_check_sets.en.yml b/config/locales/compliance_check_sets.en.yml
index 4488a79ba..5aa6f9740 100644
--- a/config/locales/compliance_check_sets.en.yml
+++ b/config/locales/compliance_check_sets.en.yml
@@ -20,7 +20,7 @@ en:
activerecord:
attributes:
compliance_check_set:
- ref: réf
+ ref: ref
creation_date: Created at
associated_object: Associated object
assigned_to: Assigned to
diff --git a/spec/features/compliance_check_sets_spec.rb b/spec/features/compliance_check_sets_spec.rb
new file mode 100644
index 000000000..7ba64b6b8
--- /dev/null
+++ b/spec/features/compliance_check_sets_spec.rb
@@ -0,0 +1,110 @@
+require 'rails_helper'
+
+RSpec.describe "ComplianceCheckSets", type: :feature do
+
+ include ComplianceCheckSetsHelper
+ include TransportModeHelper
+
+ login_user
+
+ # We setup a control_set with two blocks and one direct control (meaning that it is not attached to a block)
+ # Then we add one control to the first block and two controls to the second block
+ let( :compliance_check_set ){ create :compliance_check_set, name: random_string }
+ let(:blox){[
+ create( :compliance_check_block,
+ compliance_check_set: compliance_check_set, transport_mode: 'bus', transport_submode: 'demandAndResponseBus'),
+ create( :compliance_check_block,
+ compliance_check_set: compliance_check_set, transport_mode: 'rail', transport_submode: 'suburbanRailway')
+ ]}
+ let!(:direct_checks){ make_check(nil, times: 2) + make_check(nil, severity: :error) }
+ let!(:indirect_checks){ blox.flat_map{ |block| make_check(block) } }
+ let( :all_checks ){ direct_checks + indirect_checks }
+
+
+ context 'executed' do
+
+ before do
+ visit(executed_compliance_check_set_path(compliance_check_set))
+ end
+
+ it 'we can see the expected content' do
+ # Breadcrumbs
+ expect_breadcrumb_links "Accueil", "Gestion de l'offre", "Liste des jeux de contrôles"
+
+ # Headline
+ expect( page ).to have_content("Jeu de contrôles exécutés #{compliance_check_set.name}")
+
+ # Information Definition List
+ expect( page.first('.dl-term') ).to have_content("Nom")
+ expect( page.first('.dl-def') ).to have_content(compliance_check_set.name)
+
+ # Filters
+ within( 'form.form-filter' ) do
+ expect( page ).to have_content("Groupe de contrôle")
+ expect( page ).to have_content("Objet")
+ expect( page ).to have_content("Criticité")
+ end
+
+ # Checks
+ # Direct Children
+ within(:xpath, xpath_for_div_of_block) do
+ direct_checks.each do | direct_check |
+ expect( page ).to have_content( direct_check.code )
+ expect( page ).to have_content( direct_check.name )
+ expect( page ).to have_content( direct_check.criticity )
+ expect( page ).to have_content( direct_check.comment )
+ end
+
+ end
+ # Indirect Children
+ compliance_check_set.compliance_check_blocks.each do | block |
+ within(:xpath, xpath_for_div_of_block(block)) do
+ block.compliance_checks.each do | check |
+ expect( page ).to have_content( check.code )
+ expect( page ).to have_content( check.name )
+ expect( page ).to have_content( check.criticity )
+ expect( page ).to have_content( check.comment )
+ end
+ end
+ end
+ end
+
+ it 'can filter the results and remove the filter' do
+ # Filter
+ check('error')
+ click_on('Filtrer')
+ all_checks.each do | check |
+ if check.criticity == 'error'
+ expect( page ).to have_content(check.code)
+ else
+ expect( page ).not_to have_content(check.code)
+ end
+ end
+
+ # Remove filter
+ click_on('Effacer')
+ all_checks.each do | check |
+ expect( page ).to have_content(check.code)
+ end
+
+ end
+ end
+
+ def make_check ccblock=nil, times: 1, severity: :warning
+ times.times.map do
+ make_one_check ccblock, severity
+ end
+ end
+
+ def make_one_check ccblock, severity
+ create( :compliance_check,
+ code: random_string,
+ compliance_check_block: ccblock,
+ compliance_check_set: compliance_check_set,
+ criticity: severity)
+ end
+
+ def xpath_for_div_of_block(block = nil)
+ %{.//div[@class="col-lg-12"]/h2[contains(text(),"#{transport_mode_text(block)}")]/../../..}
+ end
+end
diff --git a/spec/features/compliance_ckeck_sets_spec.rb b/spec/features/compliance_ckeck_sets_spec.rb
deleted file mode 100644
index 7ba64b6b8..000000000
--- a/spec/features/compliance_ckeck_sets_spec.rb
+++ /dev/null
@@ -1,110 +0,0 @@
-require 'rails_helper'
-
-RSpec.describe "ComplianceCheckSets", type: :feature do
-
- include ComplianceCheckSetsHelper
- include TransportModeHelper
-
- login_user
-
- # We setup a control_set with two blocks and one direct control (meaning that it is not attached to a block)
- # Then we add one control to the first block and two controls to the second block
- let( :compliance_check_set ){ create :compliance_check_set, name: random_string }
- let(:blox){[
- create( :compliance_check_block,
- compliance_check_set: compliance_check_set, transport_mode: 'bus', transport_submode: 'demandAndResponseBus'),
- create( :compliance_check_block,
- compliance_check_set: compliance_check_set, transport_mode: 'rail', transport_submode: 'suburbanRailway')
- ]}
- let!(:direct_checks){ make_check(nil, times: 2) + make_check(nil, severity: :error) }
- let!(:indirect_checks){ blox.flat_map{ |block| make_check(block) } }
- let( :all_checks ){ direct_checks + indirect_checks }
-
-
- context 'executed' do
-
- before do
- visit(executed_compliance_check_set_path(compliance_check_set))
- end
-
- it 'we can see the expected content' do
- # Breadcrumbs
- expect_breadcrumb_links "Accueil", "Gestion de l'offre", "Liste des jeux de contrôles"
-
- # Headline
- expect( page ).to have_content("Jeu de contrôles exécutés #{compliance_check_set.name}")
-
- # Information Definition List
- expect( page.first('.dl-term') ).to have_content("Nom")
- expect( page.first('.dl-def') ).to have_content(compliance_check_set.name)
-
- # Filters
- within( 'form.form-filter' ) do
- expect( page ).to have_content("Groupe de contrôle")
- expect( page ).to have_content("Objet")
- expect( page ).to have_content("Criticité")
- end
-
- # Checks
- # Direct Children
- within(:xpath, xpath_for_div_of_block) do
- direct_checks.each do | direct_check |
- expect( page ).to have_content( direct_check.code )
- expect( page ).to have_content( direct_check.name )
- expect( page ).to have_content( direct_check.criticity )
- expect( page ).to have_content( direct_check.comment )
- end
-
- end
- # Indirect Children
- compliance_check_set.compliance_check_blocks.each do | block |
- within(:xpath, xpath_for_div_of_block(block)) do
- block.compliance_checks.each do | check |
- expect( page ).to have_content( check.code )
- expect( page ).to have_content( check.name )
- expect( page ).to have_content( check.criticity )
- expect( page ).to have_content( check.comment )
- end
- end
- end
- end
-
- it 'can filter the results and remove the filter' do
- # Filter
- check('error')
- click_on('Filtrer')
- all_checks.each do | check |
- if check.criticity == 'error'
- expect( page ).to have_content(check.code)
- else
- expect( page ).not_to have_content(check.code)
- end
- end
-
- # Remove filter
- click_on('Effacer')
- all_checks.each do | check |
- expect( page ).to have_content(check.code)
- end
-
- end
- end
-
- def make_check ccblock=nil, times: 1, severity: :warning
- times.times.map do
- make_one_check ccblock, severity
- end
- end
-
- def make_one_check ccblock, severity
- create( :compliance_check,
- code: random_string,
- compliance_check_block: ccblock,
- compliance_check_set: compliance_check_set,
- criticity: severity)
- end
-
- def xpath_for_div_of_block(block = nil)
- %{.//div[@class="col-lg-12"]/h2[contains(text(),"#{transport_mode_text(block)}")]/../../..}
- end
-end
--
cgit v1.2.3
From 05223891b456d043b8999b8ebce6a7b2eaf6ec6d Mon Sep 17 00:00:00 2001
From: Robert
Date: Thu, 16 Nov 2017 08:13:24 +0100
Subject: Refs: #4823@0.3h; Code Review Part III
---
app/controllers/compliance_check_sets_controller.rb | 15 ++++++++-------
app/controllers/compliance_control_sets_controller.rb | 16 ++++++++--------
app/views/compliance_check_sets/executed.html.slim | 4 ++--
app/views/compliance_control_sets/show.html.slim | 4 ++--
4 files changed, 20 insertions(+), 19 deletions(-)
diff --git a/app/controllers/compliance_check_sets_controller.rb b/app/controllers/compliance_check_sets_controller.rb
index 5f392ef82..175c22191 100644
--- a/app/controllers/compliance_check_sets_controller.rb
+++ b/app/controllers/compliance_check_sets_controller.rb
@@ -20,7 +20,10 @@ class ComplianceCheckSetsController < InheritedResources::Base
end
def executed
- show!(&method(:implement_executed))
+ show! do |format|
+ # But now nobody is aware anymore that `format.html` passes a parameter into the block
+ format.html { executed_for_html }
+ end
end
@@ -28,17 +31,15 @@ class ComplianceCheckSetsController < InheritedResources::Base
# Action Implementation
# ---------------------
- def implement_executed format
- format.html(&method(:implement_executed_for_html))
- end
- def implement_executed_for_html _mime_response
+ def executed_for_html
@q_checks_form = @compliance_check_set.compliance_checks.ransack(params[:q])
@compliance_check_set = @compliance_check_set.decorate
- @compliance_checks =
+ compliance_checks =
decorate_compliance_checks( @q_checks_form.result)
.group_by(&:compliance_check_block)
- @direct_compliance_checks = @compliance_checks.delete nil
+ @direct_compliance_checks = compliance_checks.delete nil
+ @blocks_to_compliance_checks_map = compliance_checks
end
# Decoration
diff --git a/app/controllers/compliance_control_sets_controller.rb b/app/controllers/compliance_control_sets_controller.rb
index 65aa1e81f..83a345c6f 100644
--- a/app/controllers/compliance_control_sets_controller.rb
+++ b/app/controllers/compliance_control_sets_controller.rb
@@ -16,7 +16,10 @@ class ComplianceControlSetsController < InheritedResources::Base
end
def show
- show!(&method(:implement_show))
+ show! do |format|
+ # But now nobody is aware anymore that `format.html` passes a parameter into the block
+ format.html { show_for_html }
+ end
end
@@ -52,16 +55,13 @@ class ComplianceControlSetsController < InheritedResources::Base
params.require(:compliance_control_set).permit(:name, :id)
end
- def implement_show format
- format.html(&method(:implement_show_for_html))
- end
-
- def implement_show_for_html _mime_response
+ def show_for_html
@q_controls_form = @compliance_control_set.compliance_controls.ransack(params[:q])
@compliance_control_set = @compliance_control_set.decorate
- @compliance_controls =
+ compliance_controls =
decorate_compliance_controls( @q_controls_form.result)
.group_by(&:compliance_control_block)
- @direct_compliance_controls = @compliance_controls.delete nil
+ @direct_compliance_controls = compliance_controls.delete nil
+ @blocks_to_compliance_controls_map = compliance_controls
end
end
diff --git a/app/views/compliance_check_sets/executed.html.slim b/app/views/compliance_check_sets/executed.html.slim
index 84601e17c..8afb1d545 100644
--- a/app/views/compliance_check_sets/executed.html.slim
+++ b/app/views/compliance_check_sets/executed.html.slim
@@ -11,7 +11,7 @@
= definition_list t('metadatas'),
ComplianceCheckSet.human_attribute_name(:name) => @compliance_check_set.name
- - if params[:q].present? || @compliance_checks.any? || @direct_compliance_checks
+ - if params[:q].present? || @blocks_to_compliance_checks_map.any? || @direct_compliance_checks
.row
.col-lg-12
h2
@@ -50,7 +50,7 @@
cls: 'table has-filter has-search',
model: ComplianceCheck
- - @compliance_checks.each do |block, compliance_checks|
+ - @blocks_to_compliance_checks_map.each do |block, compliance_checks|
- if compliance_checks.try(:any?)
.row
diff --git a/app/views/compliance_control_sets/show.html.slim b/app/views/compliance_control_sets/show.html.slim
index 12be42ea6..e152c189f 100644
--- a/app/views/compliance_control_sets/show.html.slim
+++ b/app/views/compliance_control_sets/show.html.slim
@@ -26,7 +26,7 @@
ComplianceControlSet.human_attribute_name(:name) => @compliance_control_set.name,
I18n.t('activerecord.attributes.compliance_control_set.owner_jdc') => @compliance_control_set.organisation.name
- - if params[:q].present? || @compliance_controls.any? || @direct_compliance_controls
+ - if params[:q].present? || @blocks_to_compliance_controls_map.any? || @direct_compliance_controls
.row
.col-lg-12
= render '/compliance_controls/filters'
@@ -66,7 +66,7 @@
cls: 'table has-filter has-search',
model: ComplianceControl
- - @compliance_controls.each do |block, compliance_controls|
+ - @blocks_to_compliance_controls_map.each do |block, compliance_controls|
- if compliance_controls.try(:any?)
.row
--
cgit v1.2.3
From 9eecb15fb3381e67c28e0978016eb5ac1ec472ca Mon Sep 17 00:00:00 2001
From: Robert
Date: Thu, 16 Nov 2017 08:17:12 +0100
Subject: Refs: #4823@0.1h; Code Review Part IV
---
app/views/compliance_check_sets/executed.html.slim | 3 +--
app/views/compliance_control_sets/show.html.slim | 3 +--
2 files changed, 2 insertions(+), 4 deletions(-)
diff --git a/app/views/compliance_check_sets/executed.html.slim b/app/views/compliance_check_sets/executed.html.slim
index 8afb1d545..5550fbb25 100644
--- a/app/views/compliance_check_sets/executed.html.slim
+++ b/app/views/compliance_check_sets/executed.html.slim
@@ -1,8 +1,7 @@
- breadcrumb :compliance_check_set, @workbench, @compliance_check_set
/ PageHeader
= pageheader 'jeux-de-donnees',
- t('compliance_check_sets.executed.title', name: @compliance_check_set.name),
- 'Lorem ipsum dolor sit amet'
+ t('compliance_check_sets.executed.title', name: @compliance_check_set.name)
/ PageContent
.page_content
.container-fluid
diff --git a/app/views/compliance_control_sets/show.html.slim b/app/views/compliance_control_sets/show.html.slim
index e152c189f..27f8b4e2c 100644
--- a/app/views/compliance_control_sets/show.html.slim
+++ b/app/views/compliance_control_sets/show.html.slim
@@ -1,8 +1,7 @@
- breadcrumb :compliance_control_set, @compliance_control_set
/ PageHeader
= pageheader 'jeux-de-controle',
- t('compliance_control_sets.show.title', name: @compliance_control_set.name),
- 'Lorem ipsum dolor sit amet'
+ t('compliance_control_sets.show.title', name: @compliance_control_set.name)
/ Below is secondary actions & optional contents (filters, ...)
.row.mb-sm
--
cgit v1.2.3
From dd4c7df4193c32d20f9772159217741c14d1184e Mon Sep 17 00:00:00 2001
From: Robert
Date: Fri, 17 Nov 2017 09:42:35 +0100
Subject: Refs: #4823@0.2h; Code Review Part V
---
app/views/compliance_check_sets/executed.html.slim | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/app/views/compliance_check_sets/executed.html.slim b/app/views/compliance_check_sets/executed.html.slim
index 5550fbb25..bb055272d 100644
--- a/app/views/compliance_check_sets/executed.html.slim
+++ b/app/views/compliance_check_sets/executed.html.slim
@@ -13,8 +13,7 @@
- if params[:q].present? || @blocks_to_compliance_checks_map.any? || @direct_compliance_checks
.row
.col-lg-12
- h2
- = render '/compliance_checks/filters'
+ = render '/compliance_checks/filters'
- if @direct_compliance_checks.try(:any?)
.row
--
cgit v1.2.3
From 371968fbe6365667bc83ac7e5b01a7782b62e1b7 Mon Sep 17 00:00:00 2001
From: Robert
Date: Fri, 17 Nov 2017 09:58:22 +0100
Subject: Refs: #4823@0.2h; Last CR
---
app/views/compliance_control_sets/show.html.slim | 105 +++++++++++++----------
1 file changed, 58 insertions(+), 47 deletions(-)
diff --git a/app/views/compliance_control_sets/show.html.slim b/app/views/compliance_control_sets/show.html.slim
index 27f8b4e2c..71b71f842 100644
--- a/app/views/compliance_control_sets/show.html.slim
+++ b/app/views/compliance_control_sets/show.html.slim
@@ -31,15 +31,58 @@
= render '/compliance_controls/filters'
- - if @direct_compliance_controls.try(:any?)
+ - 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
+
+ - @blocks_to_compliance_controls_map.each do |block, compliance_controls|
+
+ - if compliance_controls.try(:any?)
.row
.col-lg-12
h2
- = transport_mode_text()
+ = 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 @direct_compliance_controls,
+ = table_builder_2 compliance_controls,
[ \
TableBuilderHelper::Column.new( \
key: :code, \
@@ -65,47 +108,15 @@
cls: 'table has-filter has-search',
model: ComplianceControl
- - @blocks_to_compliance_controls_map.each do |block, compliance_controls|
-
- - 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) if policy(ComplianceControlBlock).update? if policy(ComplianceControlBlock).update?
- = 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')} if policy(ComplianceControlBlock).destroy?
- .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
-
- = flotted_links(@compliance_control_set.id)
\ No newline at end of file
+ .select_toolbox
+ ul
+ li.st_action.with_text
+ = link_to select_type_compliance_control_set_compliance_controls_path(@compliance_control_set.id)
+ span.fa.fa-plus
+ span
+ = t('compliance_control_sets.actions.add_compliance_control')
+ li.st_action.with_text
+ = link_to new_compliance_control_set_compliance_control_block_path(@compliance_control_set.id)
+ span.fa.fa-plus
+ span
+ = t('compliance_control_sets.actions.add_compliance_control_block')
--
cgit v1.2.3
From 8eec4e215f969ba416c7b0e31852f9200b9abd59 Mon Sep 17 00:00:00 2001
From: Robert
Date: Fri, 17 Nov 2017 15:18:09 +0100
Subject: bup
---
app/views/compliance_control_sets/show.html.slim | 13 -------------
1 file changed, 13 deletions(-)
diff --git a/app/views/compliance_control_sets/show.html.slim b/app/views/compliance_control_sets/show.html.slim
index 71b71f842..013b08270 100644
--- a/app/views/compliance_control_sets/show.html.slim
+++ b/app/views/compliance_control_sets/show.html.slim
@@ -107,16 +107,3 @@
sortable: true,
cls: 'table has-filter has-search',
model: ComplianceControl
-
- .select_toolbox
- ul
- li.st_action.with_text
- = link_to select_type_compliance_control_set_compliance_controls_path(@compliance_control_set.id)
- span.fa.fa-plus
- span
- = t('compliance_control_sets.actions.add_compliance_control')
- li.st_action.with_text
- = link_to new_compliance_control_set_compliance_control_block_path(@compliance_control_set.id)
- span.fa.fa-plus
- span
- = t('compliance_control_sets.actions.add_compliance_control_block')
--
cgit v1.2.3
From b5536b6f8d7e5fbfe52d24e0b71bcc4984b87262 Mon Sep 17 00:00:00 2001
From: Robert
Date: Fri, 17 Nov 2017 15:48:22 +0100
Subject: Refs: #4823; Rebase fixed
---
app/views/compliance_control_sets/show.html.slim | 13 +++++++++++++
1 file changed, 13 insertions(+)
diff --git a/app/views/compliance_control_sets/show.html.slim b/app/views/compliance_control_sets/show.html.slim
index 013b08270..71b71f842 100644
--- a/app/views/compliance_control_sets/show.html.slim
+++ b/app/views/compliance_control_sets/show.html.slim
@@ -107,3 +107,16 @@
sortable: true,
cls: 'table has-filter has-search',
model: ComplianceControl
+
+ .select_toolbox
+ ul
+ li.st_action.with_text
+ = link_to select_type_compliance_control_set_compliance_controls_path(@compliance_control_set.id)
+ span.fa.fa-plus
+ span
+ = t('compliance_control_sets.actions.add_compliance_control')
+ li.st_action.with_text
+ = link_to new_compliance_control_set_compliance_control_block_path(@compliance_control_set.id)
+ span.fa.fa-plus
+ span
+ = t('compliance_control_sets.actions.add_compliance_control_block')
--
cgit v1.2.3