##// END OF EJS Templates
Use .skip_before_action instead of .skip_before_filter....
Use .skip_before_action instead of .skip_before_filter. git-svn-id: http://svn.redmine.org/redmine/trunk@15656 e93f8b46-1217-0410-a6f0-8f06a7374b81

File last commit:

r15273:ee82a55602a2
r15274:2457f5914d90
Show More
members_controller.rb
129 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
Updates copyright for 2016....
r14856 # Copyright (C) 2006-2016 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
Use .before_action instead of .before_filter....
r15273 before_action :find_model_object, :except => [:index, :new, :create, :autocomplete]
before_action :find_project_from_association, :except => [:index, :new, :create, :autocomplete]
before_action :find_project_by_project_id, :only => [:index, :new, :create, :autocomplete]
before_action :authorize
Jean-Philippe Lang
REST API for project memberships (#7420)....
r8678 accept_api_auth :index, :show, :create, :update, :destroy
Jean-Philippe Lang
Require password re-entry for sensitive actions (#19851)....
r13951 require_sudo_mode :create, :update, :destroy
Jean-Philippe Lang
REST API for project memberships (#7420)....
r8678 def index
Jean-Philippe Lang
Deprecates Project#member_principals....
r13950 scope = @project.memberships.active
Jean-Philippe Lang
REST API for project memberships (#7420)....
r8678 @offset, @limit = api_offset_and_limit
Jean-Philippe Lang
Deprecates Project#member_principals....
r13950 @member_count = scope.count
Jean-Philippe Lang
Deprecation warnings (#12774)....
r10909 @member_pages = Paginator.new @member_count, @limit, params['page']
@offset ||= @member_pages.offset
Jean-Philippe Lang
Deprecates Project#member_principals....
r13950 @members = scope.order(:id).limit(@limit).offset(@offset).to_a
Jean-Philippe Lang
REST API for project memberships (#7420)....
r8678 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
Moved new project member to its own action MemberController#new....
r13218 def new
@member = Member.new
end
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]
Jean-Philippe Lang
Ability to limit member management to certain roles (#19707)....
r13911 user_ids = Array.wrap(params[:membership][:user_id] || params[:membership][:user_ids])
user_ids << nil if user_ids.empty?
user_ids.each do |user_id|
member = Member.new(:project => @project, :user_id => user_id)
member.set_editable_role_ids(params[:membership][:role_ids])
members << member
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
Merged rails-4.1 branch (#14534)....
r13100 format.js {
@members = members
@member = Member.new
}
Jean-Philippe Lang
Removes RJS from MembersController....
r9875 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]
Jean-Philippe Lang
Ability to limit member management to certain roles (#19707)....
r13911 @member.set_editable_role_ids(params[:membership][:role_ids])
Jean-Philippe Lang
Resourcified project memberships....
r8669 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
Ability to limit member management to certain roles (#19707)....
r13911 if @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