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