gitlabhq/app/controllers/admin/teams/members_controller.rb

46 lines
1.2 KiB
Ruby
Raw Normal View History

class Admin::Teams::MembersController < Admin::Teams::ApplicationController
def new
@users = User.active
@users = @users.not_in_team(@team) if @team.members.any?
@users = UserDecorator.decorate @users
end
def create
unless params[:user_ids].blank?
user_ids = params[:user_ids]
access = params[:default_project_access]
is_admin = params[:group_admin]
@team.add_members(user_ids, access, is_admin)
end
redirect_to admin_team_path(@team), notice: 'Members was successfully added.'
end
def edit
2013-01-22 18:29:19 +01:00
team_member
end
def update
options = {default_projects_access: params[:default_project_access], group_admin: params[:group_admin]}
2013-01-22 18:29:19 +01:00
if @team.update_membership(team_member, options)
redirect_to admin_team_path(@team), notice: 'Membership was successfully updated.'
else
render :edit
end
end
def destroy
2013-01-22 18:29:19 +01:00
if @team.remove_member(team_member)
2013-01-20 22:04:53 +01:00
redirect_to admin_team_path(@team), notice: "Member was successfully removed from team."
else
redirect_to admin_team_members(@team), notice: "Something wrong."
end
end
2013-01-22 18:29:19 +01:00
protected
2013-01-20 22:04:53 +01:00
def team_member
2013-01-22 18:29:19 +01:00
@member ||= @team.members.find(params[:id])
end
end