Mercurial > hg > soundsoftware-site
comparison app/controllers/members_controller.rb @ 1295:622f24f53b42 redmine-2.3
Update to Redmine SVN revision 11972 on 2.3-stable branch
author | Chris Cannam |
---|---|
date | Fri, 14 Jun 2013 09:02:21 +0100 |
parents | 433d4f72a19b |
children | 4f746d8966dd 51364c0cd58f e248c7af89ec |
comparison
equal
deleted
inserted
replaced
1294:3e4c3460b6ca | 1295:622f24f53b42 |
---|---|
1 # Redmine - project management software | 1 # Redmine - project management software |
2 # Copyright (C) 2006-2012 Jean-Philippe Lang | 2 # Copyright (C) 2006-2013 Jean-Philippe Lang |
3 # | 3 # |
4 # This program is free software; you can redistribute it and/or | 4 # This program is free software; you can redistribute it and/or |
5 # modify it under the terms of the GNU General Public License | 5 # modify it under the terms of the GNU General Public License |
6 # as published by the Free Software Foundation; either version 2 | 6 # as published by the Free Software Foundation; either version 2 |
7 # of the License, or (at your option) any later version. | 7 # of the License, or (at your option) any later version. |
24 accept_api_auth :index, :show, :create, :update, :destroy | 24 accept_api_auth :index, :show, :create, :update, :destroy |
25 | 25 |
26 def index | 26 def index |
27 @offset, @limit = api_offset_and_limit | 27 @offset, @limit = api_offset_and_limit |
28 @member_count = @project.member_principals.count | 28 @member_count = @project.member_principals.count |
29 @member_pages = Paginator.new self, @member_count, @limit, params['page'] | 29 @member_pages = Paginator.new @member_count, @limit, params['page'] |
30 @offset ||= @member_pages.current.offset | 30 @offset ||= @member_pages.offset |
31 @members = @project.member_principals.all( | 31 @members = @project.member_principals.all( |
32 :order => "#{Member.table_name}.id", | 32 :order => "#{Member.table_name}.id", |
33 :limit => @limit, | 33 :limit => @limit, |
34 :offset => @offset | 34 :offset => @offset |
35 ) | 35 ) |
61 end | 61 end |
62 @project.members << members | 62 @project.members << members |
63 end | 63 end |
64 | 64 |
65 respond_to do |format| | 65 respond_to do |format| |
66 format.html { redirect_to :controller => 'projects', :action => 'settings', :tab => 'members', :id => @project } | 66 format.html { redirect_to_settings_in_projects } |
67 format.js { @members = members } | 67 format.js { @members = members } |
68 format.api { | 68 format.api { |
69 @member = members.first | 69 @member = members.first |
70 if @member.valid? | 70 if @member.valid? |
71 render :action => 'show', :status => :created, :location => membership_url(@member) | 71 render :action => 'show', :status => :created, :location => membership_url(@member) |
80 if params[:membership] | 80 if params[:membership] |
81 @member.role_ids = params[:membership][:role_ids] | 81 @member.role_ids = params[:membership][:role_ids] |
82 end | 82 end |
83 saved = @member.save | 83 saved = @member.save |
84 respond_to do |format| | 84 respond_to do |format| |
85 format.html { redirect_to :controller => 'projects', :action => 'settings', :tab => 'members', :id => @project } | 85 format.html { redirect_to_settings_in_projects } |
86 format.js | 86 format.js |
87 format.api { | 87 format.api { |
88 if saved | 88 if saved |
89 render_api_ok | 89 render_api_ok |
90 else | 90 else |
97 def destroy | 97 def destroy |
98 if request.delete? && @member.deletable? | 98 if request.delete? && @member.deletable? |
99 @member.destroy | 99 @member.destroy |
100 end | 100 end |
101 respond_to do |format| | 101 respond_to do |format| |
102 format.html { redirect_to :controller => 'projects', :action => 'settings', :tab => 'members', :id => @project } | 102 format.html { redirect_to_settings_in_projects } |
103 format.js | 103 format.js |
104 format.api { | 104 format.api { |
105 if @member.destroyed? | 105 if @member.destroyed? |
106 render_api_ok | 106 render_api_ok |
107 else | 107 else |
110 } | 110 } |
111 end | 111 end |
112 end | 112 end |
113 | 113 |
114 def autocomplete | 114 def autocomplete |
115 @principals = Principal.active.not_member_of(@project).like(params[:q]).all(:limit => 100) | 115 respond_to do |format| |
116 render :layout => false | 116 format.js |
117 end | |
118 end | |
119 | |
120 private | |
121 | |
122 def redirect_to_settings_in_projects | |
123 redirect_to settings_project_path(@project, :tab => 'members') | |
117 end | 124 end |
118 end | 125 end |