diff --git a/app/controllers/admin/teams/members_controller.rb b/app/controllers/admin/teams/members_controller.rb index 6795a520bb3866dc990489202c0bd0a48ada38c8..a6dbf6b5049381492c128ad330702db096a8b3ef 100644 --- a/app/controllers/admin/teams/members_controller.rb +++ b/app/controllers/admin/teams/members_controller.rb @@ -1,6 +1,4 @@ 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? @@ -19,11 +17,12 @@ class Admin::Teams::MembersController < Admin::Teams::ApplicationController 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 @@ -31,16 +30,16 @@ class Admin::Teams::MembersController < Admin::Teams::ApplicationController 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 diff --git a/app/controllers/admin/teams/projects_controller.rb b/app/controllers/admin/teams/projects_controller.rb index 74e566191b13fa628637f8e1cebc94bc1ab8a7a2..f255b8448abc944cd172960fde12b13ae406be10 100644 --- a/app/controllers/admin/teams/projects_controller.rb +++ b/app/controllers/admin/teams/projects_controller.rb @@ -1,6 +1,4 @@ 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? @@ -18,10 +16,11 @@ class Admin::Teams::ProjectsController < Admin::Teams::ApplicationController 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 @@ -29,14 +28,14 @@ class Admin::Teams::ProjectsController < Admin::Teams::ApplicationController 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 diff --git a/app/controllers/admin/teams_controller.rb b/app/controllers/admin/teams_controller.rb index ee9141e371cf7eeb2264adea11bfe4bcf27a9b82..f42ec10585b7aff3f722968d71f9c24a9e409707 100644 --- a/app/controllers/admin/teams_controller.rb +++ b/app/controllers/admin/teams_controller.rb @@ -1,9 +1,4 @@ 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? @@ -12,11 +7,11 @@ class Admin::TeamsController < Admin::ApplicationController 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 @@ -25,15 +20,16 @@ class Admin::TeamsController < Admin::ApplicationController 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 @@ -44,26 +40,26 @@ class Admin::TeamsController < Admin::ApplicationController 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 diff --git a/app/controllers/teams/projects_controller.rb b/app/controllers/teams/projects_controller.rb index 84de96861fb9087f6b6bd63aca3972ea77d26533..1e65c0ce35e0122eeecfbb7b70cfcd80fb6f004f 100644 --- a/app/controllers/teams/projects_controller.rb +++ b/app/controllers/teams/projects_controller.rb @@ -21,11 +21,11 @@ class Teams::ProjectsController < Teams::ApplicationController 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 @@ -33,7 +33,14 @@ class Teams::ProjectsController < Teams::ApplicationController 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