diff options
author | Jean-Philippe Lang <jp_lang@yahoo.fr> | 2012-07-21 06:35:11 +0000 |
---|---|---|
committer | Jean-Philippe Lang <jp_lang@yahoo.fr> | 2012-07-21 06:35:11 +0000 |
commit | d3bfbb800c2be68bfa70a1df89fded6fd7bdccc9 (patch) | |
tree | a8162780f2d2e64389cf7c1660f91cbe02ef07ea /app | |
parent | 9c3045eeda584aa93b7c26887b0174a562913ff5 (diff) | |
download | redmine-d3bfbb800c2be68bfa70a1df89fded6fd7bdccc9.tar.gz redmine-d3bfbb800c2be68bfa70a1df89fded6fd7bdccc9.zip |
Removes RJS from MembersController.
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@10058 e93f8b46-1217-0410-a6f0-8f06a7374b81
Diffstat (limited to 'app')
-rw-r--r-- | app/controllers/members_controller.rb | 48 | ||||
-rw-r--r-- | app/views/members/create.js.erb | 11 | ||||
-rw-r--r-- | app/views/members/destroy.js.erb | 2 | ||||
-rw-r--r-- | app/views/members/update.js.erb | 3 |
4 files changed, 27 insertions, 37 deletions
diff --git a/app/controllers/members_controller.rb b/app/controllers/members_controller.rb index 49aaa2555..520302c8c 100644 --- a/app/controllers/members_controller.rb +++ b/app/controllers/members_controller.rb @@ -63,31 +63,16 @@ class MembersController < ApplicationController end respond_to do |format| - if members.present? && members.all? {|m| m.valid? } - format.html { redirect_to :controller => 'projects', :action => 'settings', :tab => 'members', :id => @project } - format.js { - render(:update) {|page| - page.replace_html "tab-content-members", :partial => 'projects/settings/members' - page << 'hideOnLoad()' - members.each {|member| page.visual_effect(:highlight, "member-#{member.id}") } - } - } - format.api { - @member = members.first + format.html { redirect_to :controller => 'projects', :action => 'settings', :tab => 'members', :id => @project } + format.js { @members = members } + format.api { + @member = members.first + if @member.valid? render :action => 'show', :status => :created, :location => membership_url(@member) - } - else - format.js { - render(:update) {|page| - errors = members.collect {|m| - m.errors.full_messages - }.flatten.uniq - - page.alert(l(:notice_failed_to_save_members, :errors => errors.join(', '))) - } - } - format.api { render_validation_errors(members.first) } - end + else + render_validation_errors(@member) + end + } end end @@ -98,13 +83,7 @@ class MembersController < ApplicationController saved = @member.save respond_to do |format| format.html { redirect_to :controller => 'projects', :action => 'settings', :tab => 'members', :id => @project } - format.js { - render(:update) {|page| - page.replace_html "tab-content-members", :partial => 'projects/settings/members' - page << 'hideOnLoad()' - page.visual_effect(:highlight, "member-#{@member.id}") - } - } + format.js format.api { if saved render_api_ok @@ -121,11 +100,7 @@ class MembersController < ApplicationController end respond_to do |format| format.html { redirect_to :controller => 'projects', :action => 'settings', :tab => 'members', :id => @project } - format.js { render(:update) {|page| - page.replace_html "tab-content-members", :partial => 'projects/settings/members' - page << 'hideOnLoad()' - } - } + format.js format.api { if @member.destroyed? render_api_ok @@ -140,5 +115,4 @@ class MembersController < ApplicationController @principals = Principal.active.not_member_of(@project).like(params[:q]).all(:limit => 100) render :layout => false end - end diff --git a/app/views/members/create.js.erb b/app/views/members/create.js.erb new file mode 100644 index 000000000..c56390fd4 --- /dev/null +++ b/app/views/members/create.js.erb @@ -0,0 +1,11 @@ +Element.update('tab-content-members', '<%= escape_javascript(render :partial => 'projects/settings/members') %>'); +hideOnLoad(); + +<% if @members.present? && @members.all? {|m| m.valid? } %> + <% @members.each do |member| %> + new Effect.Highlight("member-<%= member.id %>"); + <% end %> +<% else %> + <% errors = @members.collect {|m| m.errors.full_messages}.flatten.uniq.join(', ') %> + alert('<%= escape_javascript l(:notice_failed_to_save_members, :errors => errors) %>'); +<% end %> diff --git a/app/views/members/destroy.js.erb b/app/views/members/destroy.js.erb new file mode 100644 index 000000000..ad7ac38d1 --- /dev/null +++ b/app/views/members/destroy.js.erb @@ -0,0 +1,2 @@ +Element.update('tab-content-members', '<%= escape_javascript(render :partial => 'projects/settings/members') %>'); +hideOnLoad(); diff --git a/app/views/members/update.js.erb b/app/views/members/update.js.erb new file mode 100644 index 000000000..01eac2bcd --- /dev/null +++ b/app/views/members/update.js.erb @@ -0,0 +1,3 @@ +Element.update('tab-content-members', '<%= escape_javascript(render :partial => 'projects/settings/members') %>'); +hideOnLoad(); +new Effect.Highlight("member-<%= @member.id %>"); |