summaryrefslogtreecommitdiffstats
path: root/lib
diff options
context:
space:
mode:
Diffstat (limited to 'lib')
-rw-r--r--lib/redmine/views/other_formats_builder.rb10
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