teams_controller.rb
1.22 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
class Admin::TeamsController < Admin::ApplicationController
  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
    user_team
  end
  def new
    @team = UserTeam.new
  end
  def edit
    user_team
  end
  def create
    @team = UserTeam.new(params[:user_team])
    @team.path = @team.name.dup.parameterize if @team.name
    @team.owner = current_user
    if @team.save
      redirect_to admin_team_path(@team), notice: 'Team of users was successfully created.'
    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
      user_team.owner = User.find(owner_id)
    end
    if user_team.update_attributes(user_team_params)
      redirect_to admin_team_path(user_team), notice: 'Team of users was successfully updated.'
    else
      render action: "edit"
    end
  end
  def destroy
    user_team.destroy
    redirect_to admin_teams_path, notice: 'Team of users was successfully deleted.'
  end
  protected
  def user_team
    @team ||= UserTeam.find_by_path(params[:id])
  end
end