diff options
| author | Zog | 2017-12-18 11:53:16 +0100 |
|---|---|---|
| committer | Zog | 2017-12-19 19:12:09 +0100 |
| commit | 818bacf718594441052820ea0e7b33b9491a5b71 (patch) | |
| tree | bff0e695e24186782c20d0af8a805bb5558a4414 /lib/stif | |
| parent | db4c94186ce8a5b52cc5c2b54fe84899729cbfa6 (diff) | |
| download | chouette-core-818bacf718594441052820ea0e7b33b9491a5b71.tar.bz2 | |
Refs #5325@0.5h; Use policies for calendar sharing
Use policies to determine if a user is allowed to share a calendar,
instead of a hardcoded string
Diffstat (limited to 'lib/stif')
| -rw-r--r-- | lib/stif/permission_translator.rb | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/lib/stif/permission_translator.rb b/lib/stif/permission_translator.rb index 2d267bc7b..4a1c3ec8c 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,10 @@ module Stif "boiv:edit-offer" => all_destructive_permissions + %w{sessions.create}, } end + + def extra_organisation_permissions organisation + return %w(calendars.share) if organisation&.name&.downcase == "stif" + [] + end end end |
