summaryrefslogtreecommitdiffstats
path: root/app
diff options
context:
space:
mode:
authorJean-Philippe Lang <jp_lang@yahoo.fr>2012-07-21 06:35:11 +0000
committerJean-Philippe Lang <jp_lang@yahoo.fr>2012-07-21 06:35:11 +0000
commitd3bfbb800c2be68bfa70a1df89fded6fd7bdccc9 (patch)
treea8162780f2d2e64389cf7c1660f91cbe02ef07ea /app
parent9c3045eeda584aa93b7c26887b0174a562913ff5 (diff)
downloadredmine-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.rb48
-rw-r--r--app/views/members/create.js.erb11
-rw-r--r--app/views/members/destroy.js.erb2
-rw-r--r--app/views/members/update.js.erb3
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 %>");