Mercurial > hg > soundsoftware-site
annotate lib/redmine/views/builders/json.rb @ 1524:82fac3dcf466 redmine-2.5-integration
Fix failure to interpret Javascript when autocompleting members for project
author | Chris Cannam <chris.cannam@soundsoftware.ac.uk> |
---|---|
date | Thu, 11 Sep 2014 10:24:38 +0100 |
parents | e248c7af89ec |
children |
rev | line source |
---|---|
Chris@119 | 1 # Redmine - project management software |
Chris@1494 | 2 # Copyright (C) 2006-2014 Jean-Philippe Lang |
Chris@119 | 3 # |
Chris@119 | 4 # This program is free software; you can redistribute it and/or |
Chris@119 | 5 # modify it under the terms of the GNU General Public License |
Chris@119 | 6 # as published by the Free Software Foundation; either version 2 |
Chris@119 | 7 # of the License, or (at your option) any later version. |
Chris@909 | 8 # |
Chris@119 | 9 # This program is distributed in the hope that it will be useful, |
Chris@119 | 10 # but WITHOUT ANY WARRANTY; without even the implied warranty of |
Chris@119 | 11 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
Chris@119 | 12 # GNU General Public License for more details. |
Chris@909 | 13 # |
Chris@119 | 14 # You should have received a copy of the GNU General Public License |
Chris@119 | 15 # along with this program; if not, write to the Free Software |
Chris@119 | 16 # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. |
Chris@119 | 17 |
Chris@1464 | 18 require 'redmine/views/builders/structure' |
Chris@119 | 19 |
Chris@119 | 20 module Redmine |
Chris@119 | 21 module Views |
Chris@119 | 22 module Builders |
Chris@119 | 23 class Json < Structure |
Chris@1115 | 24 attr_accessor :jsonp |
Chris@1115 | 25 |
Chris@1115 | 26 def initialize(request, response) |
Chris@1115 | 27 super |
Chris@1464 | 28 callback = request.params[:callback] || request.params[:jsonp] |
Chris@1464 | 29 if callback && Setting.jsonp_enabled? |
Chris@1464 | 30 self.jsonp = callback.to_s.gsub(/[^a-zA-Z0-9_]/, '') |
Chris@1464 | 31 end |
Chris@1115 | 32 end |
Chris@1115 | 33 |
Chris@119 | 34 def output |
Chris@1115 | 35 json = @struct.first.to_json |
Chris@1115 | 36 if jsonp.present? |
Chris@1115 | 37 json = "#{jsonp}(#{json})" |
Chris@1115 | 38 response.content_type = 'application/javascript' |
Chris@1115 | 39 end |
Chris@1115 | 40 json |
Chris@119 | 41 end |
Chris@119 | 42 end |
Chris@119 | 43 end |
Chris@119 | 44 end |
Chris@119 | 45 end |