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 | 17 | end |
18 | 18 | |
19 | 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 | 26 | end |
28 | 27 | |
29 | 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 | 3 | %hr |
3 | 4 | = form_for @team_member, as: :team_member, url: project_team_members_path(@project, @team_member) do |f| |
4 | 5 | -if @team_member.errors.any? |
... | ... | @@ -7,27 +8,23 @@ |
7 | 8 | - @team_member.errors.full_messages.each do |msg| |
8 | 9 | %li= msg |
9 | 10 | |
11 | + %h6 1. Choose people you want in the team | |
10 | 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 | 18 | .clearfix |
16 | 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 | 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 | 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 | 22 | Given /^I select "(.*?)" as "(.*?)"$/ do |arg1, arg2| |
23 | 23 | user = User.find_by_name(arg1) |
24 | 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 | 27 | end |
28 | 28 | click_button "Save" |
29 | 29 | end | ... | ... |