aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlban Peignier2017-12-28 08:50:56 +0100
committerAlban Peignier2017-12-28 08:56:05 +0100
commitda60766c207ac372e2ebd1d42be7c7b9c3ee4957 (patch)
treedeb871c934726bc2f2f8e039d6b229b960a49a9a
parentdf389a13dc90d6765123b58de0e5dcbc55704cc3 (diff)
downloadchouette-core-da60766c207ac372e2ebd1d42be7c7b9c3ee4957.tar.bz2
Use current_organisation as begin_of_association_chain in Lines/Companies/Networks/GroupOfLinesController. Refs #5102
-rw-r--r--app/controllers/companies_controller.rb4
-rw-r--r--app/controllers/group_of_lines_controller.rb5
-rw-r--r--app/controllers/lines_controller.rb4
-rw-r--r--app/controllers/networks_controller.rb4
-rw-r--r--app/views/lines/index.html.slim2
-rw-r--r--spec/controllers/lines_controller_spec.rb4
-rw-r--r--spec/factories/line_referentials.rb9
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