aboutsummaryrefslogtreecommitdiffstats
path: root/app
diff options
context:
space:
mode:
Diffstat (limited to 'app')
-rw-r--r--app/models/user.rb6
-rw-r--r--app/policies/acces_point_policy.rb2
-rw-r--r--app/policies/access_link_policy.rb2
-rw-r--r--app/policies/application_policy.rb18
-rw-r--r--app/policies/boiv_policy.rb11
-rw-r--r--app/policies/calendar_policy.rb2
-rw-r--r--app/policies/company_policy.rb2
-rw-r--r--app/policies/connection_link_policy.rb2
-rw-r--r--app/policies/group_of_line_policy.rb2
-rw-r--r--app/policies/journey_pattern_policy.rb2
-rw-r--r--app/policies/line_policy.rb2
-rw-r--r--app/policies/network_policy.rb2
-rw-r--r--app/policies/referential_policy.rb2
-rw-r--r--app/policies/route_policy.rb2
-rw-r--r--app/policies/routing_constraint_zone_policy.rb2
-rw-r--r--app/policies/stop_area_policy.rb2
-rw-r--r--app/policies/time_table_policy.rb2
-rw-r--r--app/policies/vehicle_journey_policy.rb2
18 files changed, 29 insertions, 36 deletions
diff --git a/app/models/user.rb b/app/models/user.rb
index 31fc4ef78..9cd4f64d6 100644
--- a/app/models/user.rb
+++ b/app/models/user.rb
@@ -31,7 +31,7 @@ class User < ActiveRecord::Base
@@edit_offer_permissions = ['routes.create', 'routes.edit', 'routes.destroy', 'journey_patterns.create', 'journey_patterns.edit', 'journey_patterns.destroy',
'vehicle_journeys.create', 'vehicle_journeys.edit', 'vehicle_journeys.destroy', 'time_tables.create', 'time_tables.edit', 'time_tables.destroy',
'footnotes.edit', 'footnotes.create', 'footnotes.destroy', 'routing_constraint_zones.create', 'routing_constraint_zones.edit',
- 'routing_constraint_zones.destroy', 'referentials.create', 'referentials.edit', 'referentials.destroy', 'boiv:edit-offer', 'boiv:read-offer']
+ 'routing_constraint_zones.destroy', 'referentials.create', 'referentials.edit', 'referentials.destroy', 'boiv:edit-offer']
mattr_reader :edit_offer_permissions
def self.all_permissions
@@ -44,8 +44,6 @@ class User < ActiveRecord::Base
self.name = extra[:full_name]
self.email = extra[:email]
self.organisation = Organisation.sync_update extra[:organisation_code], extra[:organisation_name], extra[:functional_scope]
- # TODO: Discuss the following behavior in the light of how the portal's permissions will evolve
- # boiv:edit-offer does not imply boiv:read-offer, which needs to be provided specifically for any connection rights
self.permissions = extra[:permissions].include?('boiv:edit-offer') ? @@edit_offer_permissions : []
end
@@ -74,8 +72,6 @@ class User < ActiveRecord::Base
user.locked_at = el['locked_at']
user.organisation = Organisation.sync_update el['organization_code'], el['organization_name'], el['functional_scope']
user.synced_at = Time.now
- # TODO: Discuss the following behavior in the light of how the portal's permissions will evolve
- # boiv:edit-offer does not imply boiv:read-offer, which needs to be provided specifically for any connection rights
user.permissions = el['permissions'].include?('boiv:edit-offer') ? @@edit_offer_permissions : []
user.save
end
diff --git a/app/policies/acces_point_policy.rb b/app/policies/acces_point_policy.rb
index 08af5981a..904b7a242 100644
--- a/app/policies/acces_point_policy.rb
+++ b/app/policies/acces_point_policy.rb
@@ -1,4 +1,4 @@
-class AccessPointPolicy < BoivPolicy
+class AccessPointPolicy < ApplicationPolicy
class Scope < Scope
def resolve
scope
diff --git a/app/policies/access_link_policy.rb b/app/policies/access_link_policy.rb
index 654739d06..73b2d1baa 100644
--- a/app/policies/access_link_policy.rb
+++ b/app/policies/access_link_policy.rb
@@ -1,4 +1,4 @@
-class AccessLinkPolicy < BoivPolicy
+class AccessLinkPolicy < ApplicationPolicy
class Scope < Scope
def resolve
scope
diff --git a/app/policies/application_policy.rb b/app/policies/application_policy.rb
index 532004296..e8d7f5f30 100644
--- a/app/policies/application_policy.rb
+++ b/app/policies/application_policy.rb
@@ -6,6 +6,18 @@ class ApplicationPolicy
destroy?
end
+ # Tie edit and update together, #edit?, do not override #edit?,
+ # unless you want to break this tie on purpose
+ def edit?
+ update?
+ end
+
+ # Tie new and create together, do not override #new?,
+ # unless you want to break this tie on purpose
+ def new?
+ create?
+ end
+
def initialize(user_context, record)
@@ -28,7 +40,7 @@ class ApplicationPolicy
end
def index?
- false
+ show?
end
def show?
@@ -59,10 +71,6 @@ class ApplicationPolicy
Pundit.policy_scope!(user, record.class)
end
- def boiv_read_offer?
- organisation_match? && !(user.permissions || []).grep(%r{\Aboiv:.}).empty?
- end
-
def organisation_match?
user.organisation == organisation
end
diff --git a/app/policies/boiv_policy.rb b/app/policies/boiv_policy.rb
deleted file mode 100644
index aa3ecc50d..000000000
--- a/app/policies/boiv_policy.rb
+++ /dev/null
@@ -1,11 +0,0 @@
-class BoivPolicy < ApplicationPolicy
-
-
- def index?
- boiv_read_offer?
- end
-
- def show?
- boiv_read_offer?
- end
-end
diff --git a/app/policies/calendar_policy.rb b/app/policies/calendar_policy.rb
index 9d6b09a9b..4248bccc7 100644
--- a/app/policies/calendar_policy.rb
+++ b/app/policies/calendar_policy.rb
@@ -1,4 +1,4 @@
-class CalendarPolicy < BoivPolicy
+class CalendarPolicy < ApplicationPolicy
class Scope < Scope
def resolve
scope
diff --git a/app/policies/company_policy.rb b/app/policies/company_policy.rb
index 2983c6acc..3cc7822a3 100644
--- a/app/policies/company_policy.rb
+++ b/app/policies/company_policy.rb
@@ -1,4 +1,4 @@
-class CompanyPolicy < BoivPolicy
+class CompanyPolicy < ApplicationPolicy
class Scope < Scope
def resolve
scope
diff --git a/app/policies/connection_link_policy.rb b/app/policies/connection_link_policy.rb
index 21414efb9..abefd741c 100644
--- a/app/policies/connection_link_policy.rb
+++ b/app/policies/connection_link_policy.rb
@@ -1,4 +1,4 @@
-class ConnectionLinkPolicy < BoivPolicy
+class ConnectionLinkPolicy < ApplicationPolicy
class Scope < Scope
def resolve
scope
diff --git a/app/policies/group_of_line_policy.rb b/app/policies/group_of_line_policy.rb
index 86d522545..5d42a23bd 100644
--- a/app/policies/group_of_line_policy.rb
+++ b/app/policies/group_of_line_policy.rb
@@ -1,4 +1,4 @@
-class GroupOfLinePolicy < BoivPolicy
+class GroupOfLinePolicy < ApplicationPolicy
class Scope < Scope
def resolve
scope
diff --git a/app/policies/journey_pattern_policy.rb b/app/policies/journey_pattern_policy.rb
index 01ce2cbbb..7ce2da561 100644
--- a/app/policies/journey_pattern_policy.rb
+++ b/app/policies/journey_pattern_policy.rb
@@ -1,4 +1,4 @@
-class JourneyPatternPolicy < BoivPolicy
+class JourneyPatternPolicy < ApplicationPolicy
class Scope < Scope
def resolve
diff --git a/app/policies/line_policy.rb b/app/policies/line_policy.rb
index 1b0d00cc5..a557b496c 100644
--- a/app/policies/line_policy.rb
+++ b/app/policies/line_policy.rb
@@ -1,4 +1,4 @@
-class LinePolicy < BoivPolicy
+class LinePolicy < ApplicationPolicy
class Scope < Scope
def resolve
diff --git a/app/policies/network_policy.rb b/app/policies/network_policy.rb
index 4c1ea1090..427eace93 100644
--- a/app/policies/network_policy.rb
+++ b/app/policies/network_policy.rb
@@ -1,4 +1,4 @@
-class NetworkPolicy < BoivPolicy
+class NetworkPolicy < ApplicationPolicy
class Scope < Scope
def resolve
scope
diff --git a/app/policies/referential_policy.rb b/app/policies/referential_policy.rb
index 88847a212..8e2a8f7f7 100644
--- a/app/policies/referential_policy.rb
+++ b/app/policies/referential_policy.rb
@@ -1,4 +1,4 @@
-class ReferentialPolicy < BoivPolicy
+class ReferentialPolicy < ApplicationPolicy
class Scope < Scope
def resolve
scope
diff --git a/app/policies/route_policy.rb b/app/policies/route_policy.rb
index ca9b02164..a12055aa6 100644
--- a/app/policies/route_policy.rb
+++ b/app/policies/route_policy.rb
@@ -1,4 +1,4 @@
-class RoutePolicy < BoivPolicy
+class RoutePolicy < ApplicationPolicy
class Scope < Scope
def resolve
scope
diff --git a/app/policies/routing_constraint_zone_policy.rb b/app/policies/routing_constraint_zone_policy.rb
index da311bc03..1e7535475 100644
--- a/app/policies/routing_constraint_zone_policy.rb
+++ b/app/policies/routing_constraint_zone_policy.rb
@@ -1,4 +1,4 @@
-class RoutingConstraintZonePolicy < BoivPolicy
+class RoutingConstraintZonePolicy < ApplicationPolicy
class Scope < Scope
def resolve
scope
diff --git a/app/policies/stop_area_policy.rb b/app/policies/stop_area_policy.rb
index 79b7178ce..4fa426ff6 100644
--- a/app/policies/stop_area_policy.rb
+++ b/app/policies/stop_area_policy.rb
@@ -1,4 +1,4 @@
-class StopAreaPolicy < BoivPolicy
+class StopAreaPolicy < ApplicationPolicy
class Scope < Scope
def resolve
scope
diff --git a/app/policies/time_table_policy.rb b/app/policies/time_table_policy.rb
index a8f54ad48..30df8939b 100644
--- a/app/policies/time_table_policy.rb
+++ b/app/policies/time_table_policy.rb
@@ -1,4 +1,4 @@
-class TimeTablePolicy < BoivPolicy
+class TimeTablePolicy < ApplicationPolicy
class Scope < Scope
def resolve
diff --git a/app/policies/vehicle_journey_policy.rb b/app/policies/vehicle_journey_policy.rb
index de6dd7088..ae3680adf 100644
--- a/app/policies/vehicle_journey_policy.rb
+++ b/app/policies/vehicle_journey_policy.rb
@@ -1,4 +1,4 @@
-class VehicleJourneyPolicy < BoivPolicy
+class VehicleJourneyPolicy < ApplicationPolicy
class Scope < Scope
def resolve
scope