From da60766c207ac372e2ebd1d42be7c7b9c3ee4957 Mon Sep 17 00:00:00 2001 From: Alban Peignier Date: Thu, 28 Dec 2017 08:50:56 +0100 Subject: Use current_organisation as begin_of_association_chain in Lines/Companies/Networks/GroupOfLinesController. Refs #5102 --- app/controllers/companies_controller.rb | 4 ++++ app/controllers/group_of_lines_controller.rb | 5 ++++- app/controllers/lines_controller.rb | 4 ++++ app/controllers/networks_controller.rb | 4 ++++ app/views/lines/index.html.slim | 2 +- spec/controllers/lines_controller_spec.rb | 4 ++-- spec/factories/line_referentials.rb | 9 +++++++++ 7 files changed, 28 insertions(+), 4 deletions(-) diff --git a/app/controllers/companies_controller.rb b/app/controllers/companies_controller.rb index 931d846c5..f84252920 100644 --- a/app/controllers/companies_controller.rb +++ b/app/controllers/companies_controller.rb @@ -61,6 +61,10 @@ class CompaniesController < ChouetteController alias_method :current_referential, :line_referential helper_method :current_referential + def begin_of_association_chain + current_organisation + end + def company_params params.require(:company).permit( :objectid, :object_version, :name, :short_name, :organizational_unit, :operating_department_name, :code, :phone, :fax, :email, :registration_number, :url, :time_zone ) end diff --git a/app/controllers/group_of_lines_controller.rb b/app/controllers/group_of_lines_controller.rb index 5762108dc..46d9d077f 100644 --- a/app/controllers/group_of_lines_controller.rb +++ b/app/controllers/group_of_lines_controller.rb @@ -42,7 +42,6 @@ class GroupOfLinesController < ChouetteController end end - protected def filtered_group_of_lines_maps @@ -70,6 +69,10 @@ class GroupOfLinesController < ChouetteController alias_method :line_referential, :parent + def begin_of_association_chain + current_organisation + end + private def group_of_line_params diff --git a/app/controllers/lines_controller.rb b/app/controllers/lines_controller.rb index f446e1d37..7041a3a26 100644 --- a/app/controllers/lines_controller.rb +++ b/app/controllers/lines_controller.rb @@ -114,6 +114,10 @@ class LinesController < ChouetteController alias_method :current_referential, :line_referential helper_method :current_referential + def begin_of_association_chain + current_organisation + end + def line_params params.require(:line).permit( :transport_mode, diff --git a/app/controllers/networks_controller.rb b/app/controllers/networks_controller.rb index 494d1e69f..79a5eb97b 100644 --- a/app/controllers/networks_controller.rb +++ b/app/controllers/networks_controller.rb @@ -71,6 +71,10 @@ class NetworksController < ChouetteController alias_method :current_referential, :line_referential helper_method :current_referential + def begin_of_association_chain + current_organisation + end + def network_params params.require(:network).permit(:objectid, :object_version, :version_date, :description, :name, :registration_number, :source_name, :source_type_name, :source_identifier, :comment ) end diff --git a/app/views/lines/index.html.slim b/app/views/lines/index.html.slim index e94837ed5..b62263263 100644 --- a/app/views/lines/index.html.slim +++ b/app/views/lines/index.html.slim @@ -1,6 +1,6 @@ - breadcrumb :lines, @line_referential - content_for :page_header_actions do - - if (policy(Chouette::Line).create? && @line_referential.organisations.include?(current_organisation)) + - if policy(Chouette::Line).create? = link_to(t('lines.actions.new'), new_line_referential_line_path(@line_referential), class: 'btn btn-primary') .page_content diff --git a/spec/controllers/lines_controller_spec.rb b/spec/controllers/lines_controller_spec.rb index ce5adbbdd..65fe88b96 100644 --- a/spec/controllers/lines_controller_spec.rb +++ b/spec/controllers/lines_controller_spec.rb @@ -1,14 +1,14 @@ RSpec.describe LinesController, :type => :controller do login_user - let(:line_referential) { create :line_referential } + let(:line_referential) { create :line_referential, member: @user.organisation } let(:line) { create :line, line_referential: line_referential } describe 'PUT deactivate' do let(:request){ put :deactivate, id: line.id, line_referential_id: line_referential.id } it 'should redirect to 403' do - expect(request).to redirect_to "/403" + expect(request).to redirect_to "/403" end with_permission "lines.change_status" do diff --git a/spec/factories/line_referentials.rb b/spec/factories/line_referentials.rb index e9e6dce5a..8c2aad646 100644 --- a/spec/factories/line_referentials.rb +++ b/spec/factories/line_referentials.rb @@ -2,5 +2,14 @@ FactoryGirl.define do factory :line_referential do sequence(:name) { |n| "Line Referential #{n}" } objectid_format 'stif_codifligne' + + transient do + member nil + end + + after(:create) do |line_referential, evaluator| + line_referential.add_member evaluator.member if evaluator.member + line_referential.save + end end end -- cgit v1.2.3