Mercurial > hg > soundsoftware-site
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 |