diff options
| author | Andrey Kumanyaev <me@zzet.org> | 2013-01-19 21:47:08 +0400 |
|---|---|---|
| committer | Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com> | 2013-01-24 22:31:24 +0200 |
| commit | ea6f46cb87c7ba8c0c620a8ff954f203b3276a7c (patch) | |
| tree | cdd5c1375caaf79815959bf23300b568041c1564 /app/controllers/teams | |
| parent | 360aa1b4075ba6ffa9927971c580db0059ab4842 (diff) | |
| download | gitlab-ce-ea6f46cb87c7ba8c0c620a8ff954f203b3276a7c.tar.gz | |
Team members public section
Diffstat (limited to 'app/controllers/teams')
| -rw-r--r-- | app/controllers/teams/members_controller.rb | 58 |
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 |
