Redmine 4.1.1
This commit is contained in:
parent
33e7b881a5
commit
3d976f1b3b
1593 changed files with 36180 additions and 19489 deletions
|
@ -1,5 +1,7 @@
|
|||
# frozen_string_literal: true
|
||||
|
||||
# Redmine - project management software
|
||||
# Copyright (C) 2006-2017 Jean-Philippe Lang
|
||||
# Copyright (C) 2006-2019 Jean-Philippe Lang
|
||||
#
|
||||
# This program is free software; you can redistribute it and/or
|
||||
# modify it under the terms of the GNU General Public License
|
||||
|
|
|
@ -1,5 +1,7 @@
|
|||
# frozen_string_literal: true
|
||||
|
||||
# Redmine - project management software
|
||||
# Copyright (C) 2006-2017 Jean-Philippe Lang
|
||||
# Copyright (C) 2006-2019 Jean-Philippe Lang
|
||||
#
|
||||
# This program is free software; you can redistribute it and/or
|
||||
# modify it under the terms of the GNU General Public License
|
||||
|
@ -21,16 +23,20 @@ require 'redmine/views/builders/xml'
|
|||
module Redmine
|
||||
module Views
|
||||
module Builders
|
||||
def self.for(format, request, response, &block)
|
||||
builder = case format
|
||||
when 'xml', :xml; Builders::Xml.new(request, response)
|
||||
when 'json', :json; Builders::Json.new(request, response)
|
||||
else; raise "No builder for format #{format}"
|
||||
end
|
||||
if block
|
||||
block.call(builder)
|
||||
else
|
||||
builder
|
||||
class << self
|
||||
def for(format, request, response, &block)
|
||||
builder =
|
||||
case format
|
||||
when 'xml', :xml then Builders::Xml.new(request, response)
|
||||
when 'json', :json then Builders::Json.new(request, response)
|
||||
else
|
||||
raise "No builder for format #{format}"
|
||||
end
|
||||
if block_given?
|
||||
yield(builder)
|
||||
else
|
||||
builder
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
@ -1,5 +1,7 @@
|
|||
# frozen_string_literal: true
|
||||
|
||||
# Redmine - project management software
|
||||
# Copyright (C) 2006-2017 Jean-Philippe Lang
|
||||
# Copyright (C) 2006-2019 Jean-Philippe Lang
|
||||
#
|
||||
# This program is free software; you can redistribute it and/or
|
||||
# modify it under the terms of the GNU General Public License
|
||||
|
@ -35,7 +37,7 @@ module Redmine
|
|||
json = @struct.first.to_json
|
||||
if jsonp.present?
|
||||
json = "#{jsonp}(#{json})"
|
||||
response.content_type = 'application/javascript'
|
||||
@response.content_type = 'application/javascript'
|
||||
end
|
||||
json
|
||||
end
|
||||
|
|
|
@ -1,5 +1,7 @@
|
|||
# frozen_string_literal: true
|
||||
|
||||
# Redmine - project management software
|
||||
# Copyright (C) 2006-2017 Jean-Philippe Lang
|
||||
# Copyright (C) 2006-2019 Jean-Philippe Lang
|
||||
#
|
||||
# This program is free software; you can redistribute it and/or
|
||||
# modify it under the terms of the GNU General Public License
|
||||
|
@ -21,17 +23,16 @@ module Redmine
|
|||
module Views
|
||||
module Builders
|
||||
class Structure < BlankSlate
|
||||
attr_accessor :request, :response
|
||||
|
||||
def initialize(request, response)
|
||||
@struct = [{}]
|
||||
self.request = request
|
||||
self.response = response
|
||||
@request = request
|
||||
@response = response
|
||||
end
|
||||
|
||||
def array(tag, options={}, &block)
|
||||
@struct << []
|
||||
block.call(self)
|
||||
yield(self)
|
||||
ret = @struct.pop
|
||||
@struct.last[tag] = ret
|
||||
@struct.last.merge!(options) if options
|
||||
|
@ -68,10 +69,9 @@ module Redmine
|
|||
end
|
||||
end
|
||||
end
|
||||
|
||||
if block
|
||||
if block_given?
|
||||
@struct << (args.first.is_a?(Hash) ? args.first : {})
|
||||
block.call(self)
|
||||
yield(self)
|
||||
ret = @struct.pop
|
||||
if @struct.last.is_a?(Array)
|
||||
@struct.last << ret
|
||||
|
|
|
@ -1,5 +1,7 @@
|
|||
# frozen_string_literal: true
|
||||
|
||||
# Redmine - project management software
|
||||
# Copyright (C) 2006-2017 Jean-Philippe Lang
|
||||
# Copyright (C) 2006-2019 Jean-Philippe Lang
|
||||
#
|
||||
# This program is free software; you can redistribute it and/or
|
||||
# modify it under the terms of the GNU General Public License
|
||||
|
|
|
@ -1,5 +1,7 @@
|
|||
# frozen_string_literal: true
|
||||
|
||||
# Redmine - project management software
|
||||
# Copyright (C) 2006-2017 Jean-Philippe Lang
|
||||
# Copyright (C) 2006-2019 Jean-Philippe Lang
|
||||
#
|
||||
# This program is free software; you can redistribute it and/or
|
||||
# modify it under the terms of the GNU General Public License
|
||||
|
@ -55,10 +57,10 @@ class Redmine::Views::LabelledFormBuilder < ActionView::Helpers::FormBuilder
|
|||
def label_for_field(field, options = {})
|
||||
return ''.html_safe if options.delete(:no_label)
|
||||
text = options[:label].is_a?(Symbol) ? l(options[:label]) : options[:label]
|
||||
text ||= l(("field_" + field.to_s.gsub(/\_id$/, "")).to_sym)
|
||||
text ||= @object.class.human_attribute_name(field)
|
||||
text += @template.content_tag("span", " *", :class => "required") if options.delete(:required)
|
||||
@template.content_tag("label", text.html_safe,
|
||||
:class => (@object && @object.errors[field].present? ? "error" : nil),
|
||||
:for => (@object_name.to_s + "_" + field.to_s))
|
||||
:class => (@object && @object.errors[field].present? ? "error" : nil),
|
||||
:for => (@object_name.to_s + "_" + field.to_s))
|
||||
end
|
||||
end
|
||||
|
|
|
@ -1,5 +1,7 @@
|
|||
# frozen_string_literal: true
|
||||
|
||||
# Redmine - project management software
|
||||
# Copyright (C) 2006-2017 Jean-Philippe Lang
|
||||
# Copyright (C) 2006-2019 Jean-Philippe Lang
|
||||
#
|
||||
# This program is free software; you can redistribute it and/or
|
||||
# modify it under the terms of the GNU General Public License
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue