aboutsummaryrefslogtreecommitdiffstats
path: root/lib/stif/permission_translator.rb
diff options
context:
space:
mode:
Diffstat (limited to 'lib/stif/permission_translator.rb')
-rw-r--r--lib/stif/permission_translator.rb16
1 files changed, 12 insertions, 4 deletions
diff --git a/lib/stif/permission_translator.rb b/lib/stif/permission_translator.rb
index 2d267bc7b..9e0feb9b8 100644
--- a/lib/stif/permission_translator.rb
+++ b/lib/stif/permission_translator.rb
@@ -1,11 +1,11 @@
module Stif
module PermissionTranslator extend self
- def translate(sso_extra_permissions)
- sso_extra_permissions
- .sort
+ def translate(sso_extra_permissions, organisation=nil)
+ permissions = sso_extra_permissions.sort
.flat_map(&method(:extra_permission_translation))
- .uniq
+ permissions += extra_organisation_permissions(organisation)
+ permissions.uniq
end
private
@@ -21,6 +21,7 @@ module Stif
calendars
footnotes
imports
+ merges
journey_patterns
referentials
routes
@@ -49,5 +50,12 @@ module Stif
"boiv:edit-offer" => all_destructive_permissions + %w{sessions.create},
}
end
+
+ def extra_organisation_permissions organisation
+ if organisation&.name&.downcase == "stif"
+ return %w{calendars.share stop_area_referentials.synchronize line_referentials.synchronize}
+ end
+ []
+ end
end
end