Mercurial > hg > soundsoftware-site
comparison lib/redmine/views/builders/json.rb @ 1115:433d4f72a19b redmine-2.2
Update to Redmine SVN revision 11137 on 2.2-stable branch
author | Chris Cannam |
---|---|
date | Mon, 07 Jan 2013 12:01:42 +0000 |
parents | cbb26bc654de |
children | 622f24f53b42 |
comparison
equal
deleted
inserted
replaced
929:5f33065ddc4b | 1115:433d4f72a19b |
---|---|
1 # Redmine - project management software | 1 # Redmine - project management software |
2 # Copyright (C) 2006-2011 Jean-Philippe Lang | 2 # Copyright (C) 2006-2012 Jean-Philippe Lang |
3 # | 3 # |
4 # This program is free software; you can redistribute it and/or | 4 # This program is free software; you can redistribute it and/or |
5 # modify it under the terms of the GNU General Public License | 5 # modify it under the terms of the GNU General Public License |
6 # as published by the Free Software Foundation; either version 2 | 6 # as published by the Free Software Foundation; either version 2 |
7 # of the License, or (at your option) any later version. | 7 # of the License, or (at your option) any later version. |
19 | 19 |
20 module Redmine | 20 module Redmine |
21 module Views | 21 module Views |
22 module Builders | 22 module Builders |
23 class Json < Structure | 23 class Json < Structure |
24 attr_accessor :jsonp | |
25 | |
26 def initialize(request, response) | |
27 super | |
28 self.jsonp = (request.params[:callback] || request.params[:jsonp]).to_s.gsub(/[^a-zA-Z0-9_]/, '') | |
29 end | |
30 | |
24 def output | 31 def output |
25 @struct.first.to_json | 32 json = @struct.first.to_json |
33 if jsonp.present? | |
34 json = "#{jsonp}(#{json})" | |
35 response.content_type = 'application/javascript' | |
36 end | |
37 json | |
26 end | 38 end |
27 end | 39 end |
28 end | 40 end |
29 end | 41 end |
30 end | 42 end |