Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--app/controllers/team_members_controller.rb13
-rw-r--r--app/views/team_members/_form.html.haml25
-rw-r--r--features/step_definitions/project/project_team_steps.rb4
3 files changed, 19 insertions, 23 deletions
diff --git a/app/controllers/team_members_controller.rb b/app/controllers/team_members_controller.rb
index 0846f096554..606cb972f10 100644
--- a/app/controllers/team_members_controller.rb
+++ b/app/controllers/team_members_controller.rb
@@ -17,13 +17,12 @@ class TeamMembersController < ApplicationController
end
def create
- @team_member = UsersProject.new(params[:team_member])
- @team_member.project = project
- if @team_member.save
- redirect_to team_project_path(@project)
- else
- render "new"
- end
+ @project.add_users_ids_to_team(
+ params[:user_ids],
+ params[:project_access]
+ )
+
+ redirect_to team_project_path(@project)
end
def update
diff --git a/app/views/team_members/_form.html.haml b/app/views/team_members/_form.html.haml
index 208794b9ee2..192f273579e 100644
--- a/app/views/team_members/_form.html.haml
+++ b/app/views/team_members/_form.html.haml
@@ -1,4 +1,5 @@
-%h3= "New Team member"
+%h3.page_title
+ = "New Team member(s)"
%hr
= form_for @team_member, as: :team_member, url: project_team_members_path(@project, @team_member) do |f|
-if @team_member.errors.any?
@@ -7,27 +8,23 @@
- @team_member.errors.full_messages.each do |msg|
%li= msg
+ %h6 1. Choose people you want in the team
.clearfix
- = f.label :user_id, "Name"
- .input= f.select(:user_id, User.not_in_project(@project).all.collect {|p| [ p.name, p.id ] }, { include_blank: "Select user" }, { style: "width:300px" })
+ = f.label :user_ids, "Peolpe"
+ .input= select_tag(:user_ids, options_from_collection_for_select(User.not_in_project(@project).all, :id, :name), { class: "xxlarge", multiple: true })
+ %h6 2. Set access level for them
.clearfix
= f.label :project_access, "Project Access"
- .input= f.select :project_access, options_for_select(Project.access_options, @team_member.project_access), {}, class: "project-access-select"
+ .input= select_tag :project_access, options_for_select(Project.access_options, @team_member.project_access), class: "project-access-select"
.actions
- = f.submit 'Save', class: "btn primary"
- = link_to "Cancel", team_project_path(@project), class: "btn"
+ = f.submit 'Save', class: "btn save-btn"
+ = link_to "Cancel", team_project_path(@project), class: "btn cancel-btn"
-:css
- form select {
- width:300px;
- }
:javascript
- $('select#team_member_user_id').chosen();
- $('select#team_member_project_access').chosen();
- //$('select#team_member_repo_access').chosen();
- //$('select#team_member_project_access').chosen();
+ $('select#user_ids').chosen();
+ $('select#project_access').chosen();
diff --git a/features/step_definitions/project/project_team_steps.rb b/features/step_definitions/project/project_team_steps.rb
index 0979a6ea8c3..91885e46ac6 100644
--- a/features/step_definitions/project/project_team_steps.rb
+++ b/features/step_definitions/project/project_team_steps.rb
@@ -22,8 +22,8 @@ end
Given /^I select "(.*?)" as "(.*?)"$/ do |arg1, arg2|
user = User.find_by_name(arg1)
within "#new_team_member" do
- select user.name, :from => "team_member_user_id"
- select arg2, :from => "team_member_project_access"
+ select user.name, :from => "user_ids"
+ select arg2, :from => "project_access"
end
click_button "Save"
end