# Class GroupsController < ApplicationController

- app/controllers/groups_controller.rb

Methods

A
  - authorize_read_group!
G
  - group
I
  - issues
M
  - merge_requests
P
  - people,
  - project_ids,
  - projects
S
  - search,
  - show
T
  - team_members

Instance Public methods
issues() Link

Get only assigned issues

Source: show

    # File app/controllers/groups_controller.rb, line 29
    def issues
      @user   = current_user
      @issues = current_user.assigned_issues.opened
      @issues = @issues.of_group(@group).recent.page(params[:page]).per(20)
      @issues = @issues.includes(:author, :project)

      respond_to do |format|
        format.html
        format.atom { render layout: false }
      end
    end

merge_requests() Link

Get authored or assigned open merge requests

Source: show

    # File app/controllers/groups_controller.rb, line 23
    def merge_requests
      @merge_requests = current_user.cared_merge_requests.opened
      @merge_requests = @merge_requests.of_group(@group).recent.page(params[:page]).per(20)
    end

people() Link

Source: show

    # File app/controllers/groups_controller.rb, line 49
    def people
      @project = group.projects.find(params[:project_id]) if params[:project_id]
      @users = @project ? @project.users : group.users
      @users.sort_by!(&:name)

      if @project
        @team_member = @project.users_projects.new
      else
        @team_member = UsersProject.new
      end
    end

search() Link

Source: show

    # File app/controllers/groups_controller.rb, line 41
    def search
      result = SearchContext.new(project_ids, params).execute

      @projects       = result[:projects]
      @merge_requests = result[:merge_requests]
      @issues         = result[:issues]
    end

show() Link

Source: show

    # File app/controllers/groups_controller.rb, line 11
    def show
      @events = Event.in_projects(project_ids).limit(20).offset(params[:offset] || 0)
      @last_push = current_user.recent_push

      respond_to do |format|
        format.html
        format.js
        format.atom { render layout: false }
      end
    end

team_members() Link

Source: show

    # File app/controllers/groups_controller.rb, line 61
    def team_members
      @group.add_users_to_project_teams(params[:user_ids], params[:project_access])
      redirect_to people_group_path(@group), notice: 'Users was successfully added.'
    end

Instance Protected methods
authorize_read_group!() Link

Dont allow unauthorized access to group

Source: show

    # File app/controllers/groups_controller.rb, line 81
    def authorize_read_group!
      unless projects.present? or can?(current_user, :manage_group, @group)
        return render_404
      end
    end

group() Link

Source: show

    # File app/controllers/groups_controller.rb, line 68
    def group
      @group ||= Group.find_by_path(params[:id])
    end

project_ids() Link

Source: show

    # File app/controllers/groups_controller.rb, line 76
    def project_ids
      projects.map(&:id)
    end

projects() Link

Source: show

    # File app/controllers/groups_controller.rb, line 72
    def projects
      @projects ||= group.projects.authorized_for(current_user).sorted_by_activity
    end