summaryrefslogtreecommitdiff
path: root/app/controllers/teams
diff options
context:
space:
mode:
authorAndrey Kumanyaev <me@zzet.org>2013-01-19 21:47:08 +0400
committerDmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>2013-01-24 22:31:24 +0200
commitea6f46cb87c7ba8c0c620a8ff954f203b3276a7c (patch)
treecdd5c1375caaf79815959bf23300b568041c1564 /app/controllers/teams
parent360aa1b4075ba6ffa9927971c580db0059ab4842 (diff)
downloadgitlab-ce-ea6f46cb87c7ba8c0c620a8ff954f203b3276a7c.tar.gz
Team members public section
Diffstat (limited to 'app/controllers/teams')
-rw-r--r--app/controllers/teams/members_controller.rb58
1 files changed, 58 insertions, 0 deletions
diff --git a/app/controllers/teams/members_controller.rb b/app/controllers/teams/members_controller.rb
new file mode 100644
index 00000000000..ab1c2878331
--- /dev/null
+++ b/app/controllers/teams/members_controller.rb
@@ -0,0 +1,58 @@
+class Teams::MembersController < Teams::ApplicationController
+ # Authorize
+ before_filter :authorize_manage_user_team!, only: [:new, :edit]
+
+ def index
+ @members = @user_team.members
+ end
+
+ def show
+ @team_member = @user_team.members.find(params[:id])
+ @events = @team_member.recent_events.limit(7)
+ end
+
+ def new
+ @team_member = @user_team.members.new
+ end
+
+ def create
+ users = User.where(id: params[:user_ids])
+
+ @project.team << [users, params[:default_project_access]]
+
+ if params[:redirect_to]
+ redirect_to params[:redirect_to]
+ else
+ redirect_to project_team_index_path(@project)
+ end
+ end
+
+ def update
+ @team_member = @user_team.members.find(params[:id])
+ @team_member.update_attributes(params[:team_member])
+
+ unless @team_member.valid?
+ flash[:alert] = "User should have at least one role"
+ end
+ redirect_to team_member_path(@project)
+ end
+
+ def destroy
+ @team_member = project.users_projects.find(params[:id])
+ @team_member.destroy
+
+ respond_to do |format|
+ format.html { redirect_to project_team_index_path(@project) }
+ format.js { render nothing: true }
+ end
+ end
+
+ def apply_import
+ giver = Project.find(params[:source_project_id])
+ status = @project.team.import(giver)
+ notice = status ? "Succesfully imported" : "Import failed"
+
+ redirect_to project_team_members_path(project), notice: notice
+ end
+
+end