comparison app/controllers/members_controller.rb @ 514:7eba09d624db live

Merge
author Chris Cannam
date Thu, 14 Jul 2011 10:50:53 +0100
parents d7326bb4f6f0
children 5e80956cc792
comparison
equal deleted inserted replaced
512:b9aebdd7dd40 514:7eba09d624db
15 # along with this program; if not, write to the Free Software 15 # along with this program; if not, write to the Free Software
16 # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 16 # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
17 17
18 class MembersController < ApplicationController 18 class MembersController < ApplicationController
19 model_object Member 19 model_object Member
20 before_filter :find_model_object, :except => [:new, :autocomplete_for_member] 20 menu_item :members
21 before_filter :find_project_from_association, :except => [:new, :autocomplete_for_member] 21 before_filter :find_model_object, :except => [:index, :new, :autocomplete_for_member]
22 before_filter :find_project_from_association, :except => [:new, :index, :autocomplete_for_member]
22 before_filter :find_project, :only => [:new, :autocomplete_for_member] 23 before_filter :find_project, :only => [:new, :autocomplete_for_member]
24 before_filter :find_project_by_project_id, :only => [:index]
23 before_filter :authorize 25 before_filter :authorize
26
27 def index
28 logger.debug('in index')
29 respond_to do |format|
30 format.html {
31 render :layout => false if request.xhr?
32 }
33 end
34 end
24 35
25 def new 36 def new
26 members = [] 37 members = []
27 if params[:member] && request.post? 38 if params[:member] && request.post?
28 attrs = params[:member].dup 39 attrs = params[:member].dup
48 59
49 end 60 end
50 respond_to do |format| 61 respond_to do |format|
51 if members.present? && members.all? {|m| m.valid? } 62 if members.present? && members.all? {|m| m.valid? }
52 63
53 format.html { redirect_to :controller => 'projects', :action => 'settings', :tab => 'members', :id => @project } 64 format.html { redirect_to :action => 'index', :project_id => @project }
54 65
55 format.js { 66 format.js {
56 render(:update) {|page| 67 render(:update) {|page|
57 page.replace_html "tab-content-members", :partial => 'projects/settings/members' 68 page.replace_html "memberlist", :partial => 'editlist'
58 page << 'hideOnLoad()' 69 page << 'hideOnLoad()'
59 members.each {|member| page.visual_effect(:highlight, "member-#{member.id}") } 70 members.each {|member| page.visual_effect(:highlight, "member-#{member.id}") }
60 } 71 }
61 } 72 }
62 else 73 else
76 end 87 end
77 88
78 def edit 89 def edit
79 if request.post? and @member.update_attributes(params[:member]) 90 if request.post? and @member.update_attributes(params[:member])
80 respond_to do |format| 91 respond_to do |format|
81 format.html { redirect_to :controller => 'projects', :action => 'settings', :tab => 'members', :id => @project } 92 format.html { redirect_to :action => 'index', :project_id => @project }
82 format.js { 93 format.js {
83 render(:update) {|page| 94 render(:update) {|page|
84 page.replace_html "tab-content-members", :partial => 'projects/settings/members' 95 page.replace_html "memberlist", :partial => 'editlist'
85 page << 'hideOnLoad()' 96 page << 'hideOnLoad()'
86 page.visual_effect(:highlight, "member-#{@member.id}") 97 page.visual_effect(:highlight, "member-#{@member.id}")
87 } 98 }
88 } 99 }
89 end 100 end
93 def destroy 104 def destroy
94 if request.post? && @member.deletable? 105 if request.post? && @member.deletable?
95 @member.destroy 106 @member.destroy
96 end 107 end
97 respond_to do |format| 108 respond_to do |format|
98 format.html { redirect_to :controller => 'projects', :action => 'settings', :tab => 'members', :id => @project } 109 format.html { redirect_to :action => 'index', :project_id => @project }
99 format.js { render(:update) {|page| 110 format.js { render(:update) {|page|
100 page.replace_html "tab-content-members", :partial => 'projects/settings/members' 111 page.replace_html "memberlist", :partial => 'editlist'
101 page << 'hideOnLoad()' 112 page << 'hideOnLoad()'
102 } 113 }
103 } 114 }
104 end 115 end
105 end 116 end