Commit 61c7449321c526fe3c36e899cead1ac11c39c466
1 parent
963746f9
Exists in
master
and in
4 other branches
Bulk user add on project -> new team member
Showing
3 changed files
with
19 additions
and
23 deletions
Show diff stats
app/controllers/team_members_controller.rb
@@ -17,13 +17,12 @@ class TeamMembersController < ApplicationController | @@ -17,13 +17,12 @@ class TeamMembersController < ApplicationController | ||
17 | end | 17 | end |
18 | 18 | ||
19 | def create | 19 | def create |
20 | - @team_member = UsersProject.new(params[:team_member]) | ||
21 | - @team_member.project = project | ||
22 | - if @team_member.save | ||
23 | - redirect_to team_project_path(@project) | ||
24 | - else | ||
25 | - render "new" | ||
26 | - end | 20 | + @project.add_users_ids_to_team( |
21 | + params[:user_ids], | ||
22 | + params[:project_access] | ||
23 | + ) | ||
24 | + | ||
25 | + redirect_to team_project_path(@project) | ||
27 | end | 26 | end |
28 | 27 | ||
29 | def update | 28 | def update |
app/views/team_members/_form.html.haml
1 | -%h3= "New Team member" | 1 | +%h3.page_title |
2 | + = "New Team member(s)" | ||
2 | %hr | 3 | %hr |
3 | = form_for @team_member, as: :team_member, url: project_team_members_path(@project, @team_member) do |f| | 4 | = form_for @team_member, as: :team_member, url: project_team_members_path(@project, @team_member) do |f| |
4 | -if @team_member.errors.any? | 5 | -if @team_member.errors.any? |
@@ -7,27 +8,23 @@ | @@ -7,27 +8,23 @@ | ||
7 | - @team_member.errors.full_messages.each do |msg| | 8 | - @team_member.errors.full_messages.each do |msg| |
8 | %li= msg | 9 | %li= msg |
9 | 10 | ||
11 | + %h6 1. Choose people you want in the team | ||
10 | .clearfix | 12 | .clearfix |
11 | - = f.label :user_id, "Name" | ||
12 | - .input= f.select(:user_id, User.not_in_project(@project).all.collect {|p| [ p.name, p.id ] }, { include_blank: "Select user" }, { style: "width:300px" }) | 13 | + = f.label :user_ids, "Peolpe" |
14 | + .input= select_tag(:user_ids, options_from_collection_for_select(User.not_in_project(@project).all, :id, :name), { class: "xxlarge", multiple: true }) | ||
13 | 15 | ||
14 | 16 | ||
17 | + %h6 2. Set access level for them | ||
15 | .clearfix | 18 | .clearfix |
16 | = f.label :project_access, "Project Access" | 19 | = f.label :project_access, "Project Access" |
17 | - .input= f.select :project_access, options_for_select(Project.access_options, @team_member.project_access), {}, class: "project-access-select" | 20 | + .input= select_tag :project_access, options_for_select(Project.access_options, @team_member.project_access), class: "project-access-select" |
18 | 21 | ||
19 | 22 | ||
20 | .actions | 23 | .actions |
21 | - = f.submit 'Save', class: "btn primary" | ||
22 | - = link_to "Cancel", team_project_path(@project), class: "btn" | 24 | + = f.submit 'Save', class: "btn save-btn" |
25 | + = link_to "Cancel", team_project_path(@project), class: "btn cancel-btn" | ||
23 | 26 | ||
24 | -:css | ||
25 | - form select { | ||
26 | - width:300px; | ||
27 | - } | ||
28 | 27 | ||
29 | :javascript | 28 | :javascript |
30 | - $('select#team_member_user_id').chosen(); | ||
31 | - $('select#team_member_project_access').chosen(); | ||
32 | - //$('select#team_member_repo_access').chosen(); | ||
33 | - //$('select#team_member_project_access').chosen(); | 29 | + $('select#user_ids').chosen(); |
30 | + $('select#project_access').chosen(); |
features/step_definitions/project/project_team_steps.rb
@@ -22,8 +22,8 @@ end | @@ -22,8 +22,8 @@ end | ||
22 | Given /^I select "(.*?)" as "(.*?)"$/ do |arg1, arg2| | 22 | Given /^I select "(.*?)" as "(.*?)"$/ do |arg1, arg2| |
23 | user = User.find_by_name(arg1) | 23 | user = User.find_by_name(arg1) |
24 | within "#new_team_member" do | 24 | within "#new_team_member" do |
25 | - select user.name, :from => "team_member_user_id" | ||
26 | - select arg2, :from => "team_member_project_access" | 25 | + select user.name, :from => "user_ids" |
26 | + select arg2, :from => "project_access" | ||
27 | end | 27 | end |
28 | click_button "Save" | 28 | click_button "Save" |
29 | end | 29 | end |