Actions
Patch #14905
closedAdd info to documentation: RedmineUpgrade page
Status:
Closed
Priority:
Normal
Assignee:
-
Category:
Documentation
Target version:
-
Start date:
Due date:
% Done:
0%
Estimated time:
Description
After upgrading to redmine 2.3.3 on Rails 3.2.13 I've got an 500 error on issues page.
log
ActionView::Template::Error (undefined method `remote_function' for #<#<Class:0xb5aaea00>:0xb5aacf5c>): 33: </div> 34: 35: <p><%= submit_tag l(:button_save) > 36: <= link_to_remote l(:label_preview), 37: { :url => { :controller => 'wiki', :action => 'preview', 38: :project_id => @project, :id => @page.title }, 39: :method => :post, lib/plugins/prototype_legacy_helper/lib/prototype_legacy_helper.rb:178:in `link_to_remote' app/views/wiki/edit.html.erb:36:in `_app_views_wiki_edit_html_erb__89008286__623550738' app/views/wiki/edit.html.erb:5:in `_app_views_wiki_edit_html_erb__89008286__623550738' app/controllers/wiki_controller.rb:62:in `show'
I was able to fix it by adding following code to lib/plugins/prototype_legacy_helper/lib/prototype_legacy_helper.rb
CALLBACKS = Set.new([ :create, :uninitialized, :loading, :loaded, :interactive, :complete, :failure, :success ] + (100..599).to_a) def build_callbacks(options) callbacks = {} options.each do |callback, code| if CALLBACKS.include?(callback) name = 'on' + callback.to_s.capitalize callbacks[name] = "function(request){#{code}}" end end callbacks end def options_for_ajax(options) js_options = build_callbacks(options) js_options['asynchronous'] = options[:type] != :synchronous js_options['method'] = method_option_to_s(options[:method]) if options[:method] js_options['insertion'] = "'#{options[:position].to_s.downcase}'" if options[:position] js_options['evalScripts'] = options[:script].nil? || options[:script] if options[:form] js_options['parameters'] = 'Form.serialize(this)' elsif options[:submit] js_options['parameters'] = "Form.serialize('#{options[:submit]}')" elsif options[:with] js_options['parameters'] = options[:with] end if protect_against_forgery? && !options[:form] if js_options['parameters'] js_options['parameters'] << " + '&" else js_options['parameters'] = "'" end js_options['parameters'] << "#{request_forgery_protection_token}=' + encodeURIComponent('#{escape_javascript form_authenticity_token}')" end options_for_javascript(js_options) end def remote_function(options) javascript_options = options_for_ajax(options) update = '' if options[:update] && options[:update].is_a?(Hash) update = [] update << "success:'#{options[:update][:success]}'" if options[:update][:success] update << "failure:'#{options[:update][:failure]}'" if options[:update][:failure] update = '{' + update.join(',') + '}' elsif options[:update] update << "'#{options[:update]}'" end function = update.empty? ? "new Ajax.Request(" : "new Ajax.Updater(#{update}, " url_options = options[:url] function << "'#{html_escape(escape_javascript(url_for(url_options)))}'" function << ", #{javascript_options})" function = "#{options[:before]}; #{function}" if options[:before] function = "#{function}; #{options[:after]}" if options[:after] function = "if (#{options[:condition]}) { #{function}; }" if options[:condition] function = "if (confirm('#{escape_javascript(options[:confirm])}')) { #{function}; }" if options[:confirm] return function.html_safe end
from here http://rishabh23.blogspot.com/2012/11/prototypelegacyhelper-for-rails-309.html
It would be nice to include this info on RedmineUpgrade page of the Documentation.
Actions