diff options
Diffstat (limited to 'lib/stif/permission_translator.rb')
| -rw-r--r-- | lib/stif/permission_translator.rb | 16 | 
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 | 
