summaryrefslogtreecommitdiffstats
path: root/app/controllers/members_controller.rb
diff options
context:
space:
mode:
Diffstat (limited to 'app/controllers/members_controller.rb')
-rw-r--r--app/controllers/members_controller.rb20
1 files changed, 18 insertions, 2 deletions
diff --git a/app/controllers/members_controller.rb b/app/controllers/members_controller.rb
index 130b56c80..fcc65ba0f 100644
--- a/app/controllers/members_controller.rb
+++ b/app/controllers/members_controller.rb
@@ -21,10 +21,26 @@ class MembersController < ApplicationController
before_filter :authorize
def new
- @project.members << Member.new(params[:member]) if request.post?
+ members = []
+ if params[:member] && request.post?
+ attrs = params[:member].dup
+ if (user_ids = attrs.delete(:user_ids))
+ user_ids.each do |user_id|
+ members << Member.new(attrs.merge(:user_id => user_id))
+ end
+ else
+ members << Member.new(attrs)
+ end
+ @project.members << members
+ end
respond_to do |format|
format.html { redirect_to :controller => 'projects', :action => 'settings', :tab => 'members', :id => @project }
- format.js { render(:update) {|page| page.replace_html "tab-content-members", :partial => 'projects/settings/members'} }
+ format.js {
+ render(:update) {|page|
+ page.replace_html "tab-content-members", :partial => 'projects/settings/members'
+ members.each {|member| page.visual_effect(:highlight, "member-#{member.id}") }
+ }
+ }
end
end