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