Skip to content
Snippets Groups Projects
Select Git revision
  • ag-test
  • rs-test
  • master default protected
  • test-me-pa
  • mksionek-master-patch-52381
  • new-branch-10
  • test-conflicts
  • test-suggestions
  • alejandro-test
  • patch-25
  • winh-test-image-doscussion
  • stg-lfs-image-test-2
  • stg-lfs-image-test
  • test42016
  • issue_42016
  • issue-32709
  • add-codeowners
  • ClemMakesApps-master-patch-62759
  • bvl-staging-test
  • bvl-merge-base-api
  • v9.2.0-rc6 protected
  • v9.2.0-rc5 protected
  • v9.2.0-rc4 protected
  • v9.2.0-rc3 protected
  • v9.1.4 protected
  • v9.2.0-rc2 protected
  • v9.2.0-rc1 protected
  • v9.1.3 protected
  • v8.17.6 protected
  • v9.0.7 protected
  • v9.1.2 protected
  • v9.1.1 protected
  • v9.2.0.pre protected
  • v9.1.0 protected
  • v9.1.0-rc7 protected
  • v9.1.0-rc6 protected
  • v9.0.6 protected
  • v9.1.0-rc5 protected
  • v9.1.0-rc4 protected
  • v9.1.0-rc3 protected
40 results

dashboard_milestone.rb

Blame
  • Code owners
    Assign users and groups as approvers for specific file changes. Learn more.
    without_nested_groups.rb NaN GiB
    module Gitlab
      module ProjectAuthorizations
        # Calculating new project authorizations when not supporting nested groups.
        class WithoutNestedGroups
          attr_reader :user
    
          # user - The User object for which to calculate the authorizations.
          def initialize(user)
            @user = user
          end
    
          def calculate
            relations = [
              # Projects the user is a direct member of
              user.projects.select_for_project_authorization,
    
              # Personal projects
              user.personal_projects.select_as_master_for_project_authorization,
    
              # Projects of groups the user is a member of
              user.groups_projects.select_for_project_authorization,
    
              # Projects shared with groups the user is a member of
              user.groups.joins(:shared_projects).select_for_project_authorization
            ]
    
            union = Gitlab::SQL::Union.new(relations)
    
            ProjectAuthorization
              .unscoped
              .select_from_union(union)
          end
        end
      end
    end