aboutsummaryrefslogtreecommitdiffstats
path: root/lib/stif
diff options
context:
space:
mode:
Diffstat (limited to 'lib/stif')
-rw-r--r--lib/stif/permission_translator.rb15
1 files changed, 11 insertions, 4 deletions
diff --git a/lib/stif/permission_translator.rb b/lib/stif/permission_translator.rb
index 2d267bc7b..4acf42884 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
@@ -49,5 +49,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