diff options
Diffstat (limited to 'lib')
-rw-r--r-- | lib/redmine/views/other_formats_builder.rb | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/lib/redmine/views/other_formats_builder.rb b/lib/redmine/views/other_formats_builder.rb index 48af0fbcb..4caee2142 100644 --- a/lib/redmine/views/other_formats_builder.rb +++ b/lib/redmine/views/other_formats_builder.rb @@ -28,6 +28,16 @@ module Redmine html_options = { :class => name.to_s.downcase, :rel => 'nofollow' }.merge(options) @view.content_tag('span', @view.link_to(caption, url, html_options)) end + + # Preserves query parameters + def link_to_with_query_parameters(name, url={}, options={}) + params = @view.request.query_parameters.except(:page, :format).except(*url.keys) + url = {:params => params, :page => nil, :format => name.to_s.downcase}.merge(url) + + caption = options.delete(:caption) || name + html_options = { :class => name.to_s.downcase, :rel => 'nofollow' }.merge(options) + @view.content_tag('span', @view.link_to(caption, url, html_options)) + end end end end |