##// END OF EJS Templates
Russian translation changed by Igor Zubkov (#10155)...
Russian translation changed by Igor Zubkov (#10155) git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@8797 e93f8b46-1217-0410-a6f0-8f06a7374b81

File last commit:

r8669:78bd24c6f738
r8677:942651ecdfd8
Show More
members_controller.rb
103 lines | 3.4 KiB | text/x-ruby | RubyLexer
/ app / controllers / members_controller.rb
Toshi MARUYAMA
remove trailing white-spaces from app/controllers/members_controller.rb....
r6776 # Redmine - project management software
# Copyright (C) 2006-2011 Jean-Philippe Lang
Jean-Philippe Lang
added svn:eol-style native property on /app files...
r330 #
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
# as published by the Free Software Foundation; either version 2
# of the License, or (at your option) any later version.
Toshi MARUYAMA
remove trailing white-spaces from app/controllers/members_controller.rb....
r6776 #
Jean-Philippe Lang
added svn:eol-style native property on /app files...
r330 # This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
Toshi MARUYAMA
remove trailing white-spaces from app/controllers/members_controller.rb....
r6776 #
Jean-Philippe Lang
added svn:eol-style native property on /app files...
r330 # You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
Jean-Philippe Lang
Initial commit...
r2 class MembersController < ApplicationController
Eric Davis
Refactor: Change the different find_object filters to share a common method....
r3483 model_object Member
Jean-Philippe Lang
Resourcified project memberships....
r8669 before_filter :find_model_object, :except => [:create, :autocomplete]
before_filter :find_project_from_association, :except => [:create, :autocomplete]
before_filter :find_project_by_project_id, :only => [:create, :autocomplete]
Jean-Philippe Lang
Added project module concept....
r714 before_filter :authorize
Jean-Philippe Lang
Initial commit...
r2
Jean-Philippe Lang
Resourcified project memberships....
r8669 def create
Jean-Philippe Lang
Ability to add multiple project members in a single action (#1556)....
r2546 members = []
Jean-Philippe Lang
Resourcified project memberships....
r8669 if params[:membership] && request.post?
attrs = params[:membership].dup
Jean-Philippe Lang
Ability to add multiple project members in a single action (#1556)....
r2546 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
Jean-Philippe Lang
Added project module concept....
r714 respond_to do |format|
Eric Davis
Add error messages to MembersController#new so a user is informed of missing data....
r3635 if members.present? && members.all? {|m| m.valid? }
format.html { redirect_to :controller => 'projects', :action => 'settings', :tab => 'members', :id => @project }
Toshi MARUYAMA
remove trailing white-spaces from app/controllers/members_controller.rb....
r6776 format.js {
render(:update) {|page|
Eric Davis
Add error messages to MembersController#new so a user is informed of missing data....
r3635 page.replace_html "tab-content-members", :partial => 'projects/settings/members'
Eric Davis
Hide the role forms when editing or adding Project members. #5452...
r3670 page << 'hideOnLoad()'
Eric Davis
Add error messages to MembersController#new so a user is informed of missing data....
r3635 members.each {|member| page.visual_effect(:highlight, "member-#{member.id}") }
}
Jean-Philippe Lang
Ability to add multiple project members in a single action (#1556)....
r2546 }
Eric Davis
Add error messages to MembersController#new so a user is informed of missing data....
r3635 else
format.js {
render(:update) {|page|
errors = members.collect {|m|
m.errors.full_messages
}.flatten.uniq
page.alert(l(:notice_failed_to_save_members, :errors => errors.join(', ')))
}
}
Toshi MARUYAMA
remove trailing white-spaces from app/controllers/members_controller.rb....
r6776
Eric Davis
Add error messages to MembersController#new so a user is informed of missing data....
r3635 end
Jean-Philippe Lang
Added project module concept....
r714 end
end
Toshi MARUYAMA
remove trailing white-spaces from app/controllers/members_controller.rb....
r6776
Jean-Philippe Lang
Resourcified project memberships....
r8669 def update
if params[:membership]
@member.role_ids = params[:membership][:role_ids]
end
if request.put? && @member.save
Jean-Philippe Lang
Members management in project settings is now AJAXified...
r505 respond_to do |format|
format.html { redirect_to :controller => 'projects', :action => 'settings', :tab => 'members', :id => @project }
Toshi MARUYAMA
remove trailing white-spaces from app/controllers/members_controller.rb....
r6776 format.js {
render(:update) {|page|
Jean-Philippe Lang
Allows multiple roles on the same project (#706). Prerequisite for user groups feature....
r2627 page.replace_html "tab-content-members", :partial => 'projects/settings/members'
Eric Davis
Hide the role forms when editing or adding Project members. #5452...
r3670 page << 'hideOnLoad()'
Jean-Philippe Lang
Allows multiple roles on the same project (#706). Prerequisite for user groups feature....
r2627 page.visual_effect(:highlight, "member-#{@member.id}")
}
}
Jean-Philippe Lang
Members management in project settings is now AJAXified...
r505 end
Jean-Philippe Lang
* project settings split in 4 tabs...
r178 end
end
Jean-Philippe Lang
added svn:eol-style native property on /app files...
r330
Jean-Philippe Lang
* project settings split in 4 tabs...
r178 def destroy
Jean-Philippe Lang
Resourcified project memberships....
r8669 if request.delete? && @member.deletable?
Jean-Philippe Lang
User groups branch merged....
r2755 @member.destroy
end
respond_to do |format|
Jean-Philippe Lang
Members management in project settings is now AJAXified...
r505 format.html { redirect_to :controller => 'projects', :action => 'settings', :tab => 'members', :id => @project }
Eric Davis
Hide the role forms when editing or adding Project members. #5452...
r3670 format.js { render(:update) {|page|
page.replace_html "tab-content-members", :partial => 'projects/settings/members'
page << 'hideOnLoad()'
}
}
Jean-Philippe Lang
Members management in project settings is now AJAXified...
r505 end
Jean-Philippe Lang
added svn:eol-style native property on /app files...
r330 end
Toshi MARUYAMA
remove trailing white-spaces from app/controllers/members_controller.rb....
r6776
Jean-Philippe Lang
Resourcified project memberships....
r8669 def autocomplete
Jean-Philippe Lang
User groups branch merged....
r2755 @principals = Principal.active.like(params[:q]).find(:all, :limit => 100) - @project.principals
Jean-Philippe Lang
Adds a user search field with autocompleter on project members screen....
r2549 render :layout => false
end
Jean-Philippe Lang
added svn:eol-style native property on /app files...
r330
Jean-Philippe Lang
Initial commit...
r2 end