##// END OF EJS Templates
Adds pagination to users list when adding project or group members (#9549)....
Adds pagination to users list when adding project or group members (#9549). git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11200 e93f8b46-1217-0410-a6f0-8f06a7374b81

File last commit:

r10970:1257f1960ff6
r10970:1257f1960ff6
Show More
members_controller.rb
125 lines | 3.5 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
Jean-Philippe Lang
Copyright for 2013 (#12788)....
r10939 # Copyright (C) 2006-2013 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
REST API for project memberships (#7420)....
r8678 before_filter :find_model_object, :except => [:index, :create, :autocomplete]
before_filter :find_project_from_association, :except => [:index, :create, :autocomplete]
before_filter :find_project_by_project_id, :only => [:index, :create, :autocomplete]
Jean-Philippe Lang
Added project module concept....
r714 before_filter :authorize
Jean-Philippe Lang
REST API for project memberships (#7420)....
r8678 accept_api_auth :index, :show, :create, :update, :destroy
def index
@offset, @limit = api_offset_and_limit
@member_count = @project.member_principals.count
Jean-Philippe Lang
Deprecation warnings (#12774)....
r10909 @member_pages = Paginator.new @member_count, @limit, params['page']
@offset ||= @member_pages.offset
Jean-Philippe Lang
REST API for project memberships (#7420)....
r8678 @members = @project.member_principals.all(
:order => "#{Member.table_name}.id",
:limit => @limit,
:offset => @offset
)
respond_to do |format|
format.html { head 406 }
format.api
end
end
def show
respond_to do |format|
format.html { head 406 }
format.api
end
end
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
Prevent mass-assignment when adding a project member (#10390)....
r9012 if params[:membership]
if params[:membership][:user_ids]
attrs = params[:membership].dup
user_ids = attrs.delete(:user_ids)
user_ids.each do |user_id|
members << Member.new(:role_ids => params[:membership][:role_ids], :user_id => user_id)
end
else
members << Member.new(:role_ids => params[:membership][:role_ids], :user_id => params[:membership][:user_id])
Jean-Philippe Lang
Ability to add multiple project members in a single action (#1556)....
r2546 end
Jean-Philippe Lang
Prevent mass-assignment when adding a project member (#10390)....
r9012 @project.members << members
Jean-Philippe Lang
Ability to add multiple project members in a single action (#1556)....
r2546 end
Jean-Philippe Lang
REST API for project memberships (#7420)....
r8678
Jean-Philippe Lang
Added project module concept....
r714 respond_to do |format|
Jean-Philippe Lang
Use named routes in controllers....
r10754 format.html { redirect_to_settings_in_projects }
Jean-Philippe Lang
Removes RJS from MembersController....
r9875 format.js { @members = members }
format.api {
@member = members.first
if @member.valid?
Jean-Philippe Lang
REST API for project memberships (#7420)....
r8678 render :action => 'show', :status => :created, :location => membership_url(@member)
Jean-Philippe Lang
Removes RJS from MembersController....
r9875 else
render_validation_errors(@member)
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
Jean-Philippe Lang
REST API for project memberships (#7420)....
r8678 saved = @member.save
respond_to do |format|
Jean-Philippe Lang
Use named routes in controllers....
r10754 format.html { redirect_to_settings_in_projects }
Jean-Philippe Lang
Removes RJS from MembersController....
r9875 format.js
Jean-Philippe Lang
REST API for project memberships (#7420)....
r8678 format.api {
if saved
Jean-Philippe Lang
Fixed that 200 API responses have a body containing one space (#11388)....
r9792 render_api_ok
Jean-Philippe Lang
REST API for project memberships (#7420)....
r8678 else
render_validation_errors(@member)
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
Use named routes in controllers....
r10754 format.html { redirect_to_settings_in_projects }
Jean-Philippe Lang
Removes RJS from MembersController....
r9875 format.js
Jean-Philippe Lang
REST API for project memberships (#7420)....
r8678 format.api {
if @member.destroyed?
Jean-Philippe Lang
Fixed that 200 API responses have a body containing one space (#11388)....
r9792 render_api_ok
Jean-Philippe Lang
REST API for project memberships (#7420)....
r8678 else
head :unprocessable_entity
end
}
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
Adds pagination to users list when adding project or group members (#9549)....
r10970 respond_to do |format|
format.js
end
Jean-Philippe Lang
Adds a user search field with autocompleter on project members screen....
r2549 end
Jean-Philippe Lang
Use named routes in controllers....
r10754
private
def redirect_to_settings_in_projects
redirect_to settings_project_path(@project, :tab => 'members')
end
Jean-Philippe Lang
Initial commit...
r2 end