diff app/controllers/members_controller.rb @ 931:ec1c49528f36 cannam_integration

Merge from branch "redmine-1.3"
author Chris Cannam
date Wed, 27 Jun 2012 15:04:58 +0100
parents 5e80956cc792 5f33065ddc4b
children bb32da3bea34
line wrap: on
line diff
--- a/app/controllers/members_controller.rb	Wed Jun 27 14:56:14 2012 +0100
+++ b/app/controllers/members_controller.rb	Wed Jun 27 15:04:58 2012 +0100
@@ -39,7 +39,7 @@
       attrs = params[:member].dup
       if (user_ids = attrs.delete(:user_ids))
         user_ids.each do |user_id|
-          @new_member = Member.new(attrs.merge(:user_id => user_id))
+          @new_member = Member.new(:role_ids => params[:member][:role_ids], :user_id => user_id)
           members << @new_member
 
           # send notification to member
@@ -47,7 +47,7 @@
 
         end
       else
-        @new_member = Member.new(attrs)
+        @new_member = Member.new(:role_ids => params[:member][:role_ids], :user_id => params[:member][:user_id])
         members << @new_member
         
         # send notification to member
@@ -87,7 +87,10 @@
   end
 
   def edit
-    if request.post? and @member.update_attributes(params[:member])
+    if params[:member]
+      @member.role_ids = params[:member][:role_ids]
+    end
+    if request.post? and @member.save
   	 respond_to do |format|
         format.html { redirect_to :action => 'index', :project_id => @project }
         format.js {
@@ -116,7 +119,7 @@
   end
 
   def autocomplete_for_member
-    @principals = Principal.active.like(params[:q]).find(:all, :limit => 100) - @project.principals
+    @principals = Principal.active.not_member_of(@project).like(params[:q]).all(:limit => 100)
     logger.debug "Query for #{params[:q]} returned #{@principals.size} results"
     render :layout => false
   end