##// END OF EJS Templates
Removed AuthSourceLdap.human_attribute_name....
Removed AuthSourceLdap.human_attribute_name. git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@10146 e93f8b46-1217-0410-a6f0-8f06a7374b81

File last commit:

r9875:d3bfbb800c2b
r9963:77d94818a497
Show More
members_controller.rb
118 lines | 3.7 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 update....
r9453 # Copyright (C) 2006-2012 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
@member_pages = Paginator.new self, @member_count, @limit, params['page']
@offset ||= @member_pages.current.offset
@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
Removes RJS from MembersController....
r9875 format.html { redirect_to :controller => 'projects', :action => 'settings', :tab => 'members', :id => @project }
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|
format.html { redirect_to :controller => 'projects', :action => 'settings', :tab => 'members', :id => @project }
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
Members management in project settings is now AJAXified...
r505 format.html { redirect_to :controller => 'projects', :action => 'settings', :tab => 'members', :id => @project }
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
Fixed that the proposed users list may be empty when adding a project member (#10374)....
r9008 @principals = Principal.active.not_member_of(@project).like(params[:q]).all(:limit => 100)
Jean-Philippe Lang
Adds a user search field with autocompleter on project members screen....
r2549 render :layout => false
end
Jean-Philippe Lang
Initial commit...
r2 end