class Admin::Teams::MembersController < Admin::Teams::ApplicationController
- before_filter :team_member, only: [:edit, :destroy, :update]
-
def new
@users = User.active
@users = @users.not_in_team(@team) if @team.members.any?
end
def edit
+ team_member
end
def update
options = {default_projects_access: params[:default_project_access], group_admin: params[:group_admin]}
- if @team.update_membership(@member, options)
+ if @team.update_membership(team_member, options)
redirect_to admin_team_path(@team), notice: 'Membership was successfully updated.'
else
render :edit
end
def destroy
- if @team.remove_member(@member)
+ if @team.remove_member(team_member)
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
- private
+ protected
def team_member
- @member = @team.members.find(params[:id])
+ @member ||= @team.members.find(params[:id])
end
end
class Admin::Teams::ProjectsController < Admin::Teams::ApplicationController
- before_filter :team_project, only: [:edit, :destroy, :update]
-
def new
@projects = Project.scoped
@projects = @projects.without_team(@team) if @team.projects.any?
end
def edit
+ team_project
end
def update
- if @team.update_project_access(@project, params[:greatest_project_access])
+ if @team.update_project_access(team_project, params[:greatest_project_access])
redirect_to admin_team_path(@team), notice: 'Membership was successfully updated.'
else
render :edit
end
def destroy
- @team.resign_from_project(@project)
+ @team.resign_from_project(team_project)
redirect_to admin_team_path(@team), notice: 'Project was successfully removed.'
end
- private
+ protected
def team_project
- @project = @team.projects.find_by_path(params[:id])
+ @project ||= @team.projects.find_by_path(params[:id])
end
end
class Admin::TeamsController < Admin::ApplicationController
- before_filter :user_team,
- only: [ :edit, :show, :update, :destroy,
- :delegate_projects, :relegate_project,
- :add_members, :remove_member ]
-
def index
@teams = UserTeam.order('name ASC')
@teams = @teams.search(params[:name]) if params[:name].present?
def show
@projects = Project.scoped
- @projects = @projects.without_team(@team) if @team.projects.any?
+ @projects = @projects.without_team(user_team) if user_team.projects.any?
#@projects.reject!(&:empty_repo?)
@users = User.active
- @users = @users.not_in_team(@team) if @team.members.any?
+ @users = @users.not_in_team(user_team) if user_team.members.any?
@users = UserDecorator.decorate @users
end
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
+ user_team = UserTeam.new(params[:user_team])
+ user_team.path = user_team.name.dup.parameterize if user_team.name
+ user_team.owner = current_user
- if @team.save
- redirect_to admin_team_path(@team), notice: 'UserTeam was successfully created.'
+ if user_team.save
+ redirect_to admin_team_path(user_team), notice: 'UserTeam was successfully created.'
else
render action: "new"
end
owner_id = user_team_params.delete(:owner_id)
if owner_id
- @team.owner = User.find(owner_id)
+ user_team.owner = User.find(owner_id)
end
- if @team.update_attributes(user_team_params)
- redirect_to admin_team_path(@team), notice: 'UserTeam was successfully updated.'
+ if user_team.update_attributes(user_team_params)
+ redirect_to admin_team_path(user_team), notice: 'UserTeam was successfully updated.'
else
render action: "edit"
end
end
def destroy
- @team.destroy
+ user_team.destroy
redirect_to admin_user_teams_path, notice: 'UserTeam was successfully deleted.'
end
- private
+ protected
def user_team
- @team = UserTeam.find_by_path(params[:id])
+ @team ||= UserTeam.find_by_path(params[:id])
end
end
end
def edit
- @user_team = user_team
+ team_project
end
def update
- if user_team.update_project_access(project, params[:greatest_project_access])
+ if user_team.update_project_access(team_project, params[:greatest_project_access])
redirect_to admin_team_path(user_team), notice: 'Membership was successfully updated.'
else
render :edit
end
def destroy
- user_team.resign_from_project(project)
+ user_team.resign_from_project(team_project)
redirect_to admin_team_path(user_team), notice: 'Project was successfully removed.'
end
+
+ private
+
+ def team_project
+ @project ||= @team.projects.find_by_path(params[:id])
+ end
+
end