gitlabhq/app/controllers/admin/teams_controller.rb

66 lines
1.5 KiB
Ruby
Raw Normal View History

class Admin::TeamsController < Admin::ApplicationController
2013-01-19 18:11:11 +01:00
def index
@teams = UserTeam.order('name ASC')
@teams = @teams.search(params[:name]) if params[:name].present?
@teams = @teams.page(params[:page]).per(20)
end
def show
@projects = Project.scoped
2013-01-22 18:29:19 +01:00
@projects = @projects.without_team(user_team) if user_team.projects.any?
2013-01-19 18:11:11 +01:00
#@projects.reject!(&:empty_repo?)
@users = User.active
2013-01-22 18:29:19 +01:00
@users = @users.not_in_team(user_team) if user_team.members.any?
2013-01-19 18:11:11 +01:00
@users = UserDecorator.decorate @users
end
def new
@team = UserTeam.new
end
def edit
2013-01-22 18:29:19 +01:00
user_team
2013-01-19 18:11:11 +01:00
end
def create
@team = UserTeam.new(params[:user_team])
@team.path = @team.name.dup.parameterize if @team.name
@team.owner = current_user
2013-01-19 18:11:11 +01:00
if @team.save
redirect_to admin_team_path(@team), notice: 'Team of users was successfully created.'
2013-01-19 18:11:11 +01:00
else
render action: "new"
end
end
def update
user_team_params = params[:user_team].dup
owner_id = user_team_params.delete(:owner_id)
if owner_id
2013-01-22 18:29:19 +01:00
user_team.owner = User.find(owner_id)
2013-01-19 18:11:11 +01:00
end
2013-01-22 18:29:19 +01:00
if user_team.update_attributes(user_team_params)
redirect_to admin_team_path(user_team), notice: 'Team of users was successfully updated.'
2013-01-19 18:11:11 +01:00
else
render action: "edit"
end
end
def destroy
2013-01-22 18:29:19 +01:00
user_team.destroy
2013-01-19 18:11:11 +01:00
redirect_to admin_user_teams_path, notice: 'Team of users was successfully deleted.'
2013-01-19 18:11:11 +01:00
end
2013-01-22 18:29:19 +01:00
protected
2013-01-19 18:11:11 +01:00
def user_team
2013-01-22 18:29:19 +01:00
@team ||= UserTeam.find_by_path(params[:id])
2013-01-19 18:11:11 +01:00
end
end