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

group_links_controller.rb

Blame
  • Code owners
    Assign users and groups as approvers for specific file changes. Learn more.
    group_links_controller.rb 1.05 KiB
    class Projects::GroupLinksController < Projects::ApplicationController
      layout 'project_settings'
      before_action :authorize_admin_project!
    
      def index
        @group_links = project.project_group_links.all
      end
    
      def create
        group = Group.find(params[:link_group_id])
        return render_404 unless can?(current_user, :read_group, group)
    
        project.project_group_links.create(
          group: group,
          group_access: params[:link_group_access],
          expires_at: params[:expires_at]
        )
    
        redirect_to namespace_project_group_links_path(project.namespace, project)
      end
    
      def update
        @group_link = @project.project_group_links.find(params[:id])
        return render_403 unless can?(current_user, :admin_group, @group_link.group)
    
        @group_link.update_attributes(group_link_params)
      end
    
      def destroy
        project.project_group_links.find(params[:id]).destroy
    
        redirect_to namespace_project_group_links_path(project.namespace, project)
      end
    
      protected
    
      def group_link_params
        params.require(:group_link).permit(:group_access, :expires_at)
      end
    end