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 |