mirror of
https://github.com/meineerde/redmine.git
synced 2026-01-31 11:37:14 +00:00
Fix RuntimeError on reload! in the Rails console (#38155).
Patch by Thomas Löber (@tloeber). git-svn-id: https://svn.redmine.org/redmine/trunk@22681 e93f8b46-1217-0410-a6f0-8f06a7374b81
This commit is contained in:
parent
609ddf2577
commit
61e223f698
@ -84,6 +84,7 @@ module Redmine
|
||||
|
||||
def permission(name, hash, options={})
|
||||
@permissions ||= []
|
||||
@permissions.reject! {|p| p.name == name}
|
||||
options[:project_module] = @project_module
|
||||
@permissions << Permission.new(name, hash, options)
|
||||
end
|
||||
|
||||
@ -202,7 +202,7 @@ module Redmine
|
||||
end
|
||||
end
|
||||
|
||||
ASSET_URL_PATTERN = /(url\(\s*["']?([^"'\s)]+)\s*["']?\s*\))/
|
||||
ASSET_URL_PATTERN = /(url\(\s*["']?([^"'\s)]+)\s*["']?\s*\))/ unless defined? ASSET_URL_PATTERN
|
||||
|
||||
def convert_path(input, conversion)
|
||||
input.gsub(ASSET_URL_PATTERN) do |matched|
|
||||
|
||||
@ -292,6 +292,8 @@ module Redmine
|
||||
target_root = @menu_items.root
|
||||
end
|
||||
|
||||
target_root.children.reject! {|item| item.name == name}
|
||||
|
||||
# menu item position
|
||||
if first = options.delete(:first)
|
||||
target_root.prepend(MenuItem.new(name, url, options))
|
||||
@ -379,8 +381,6 @@ module Redmine
|
||||
|
||||
# Adds a child at given position
|
||||
def add_at(child, position)
|
||||
raise "Child already added" if find {|node| node.name == child.name}
|
||||
|
||||
@children = @children.insert(position, child)
|
||||
child.parent = self
|
||||
child
|
||||
|
||||
@ -125,7 +125,7 @@ module Redmine
|
||||
# Warn for potential settings[:partial] collisions
|
||||
if p.configurable?
|
||||
partial = p.settings[:partial]
|
||||
if @used_partials[partial]
|
||||
if @used_partials[partial] && @used_partials[partial] != p.id
|
||||
Rails.logger.warn(
|
||||
"WARNING: settings partial '#{partial}' is declared in '#{p.id}' plugin " \
|
||||
"but it is already used by plugin '#{@used_partials[partial]}'. " \
|
||||
|
||||
@ -28,6 +28,7 @@ module Redmine
|
||||
# Add a new SCM adapter and repository
|
||||
def add(scm_name)
|
||||
@scms ||= []
|
||||
@scms.delete(scm_name)
|
||||
@scms << scm_name
|
||||
end
|
||||
|
||||
|
||||
@ -34,7 +34,6 @@ module Redmine
|
||||
def register(name, *args)
|
||||
options = args.last.is_a?(Hash) ? args.pop : {}
|
||||
name = name.to_s
|
||||
raise ArgumentError, "format name '#{name}' is already taken" if @@formatters[name]
|
||||
|
||||
formatter, helper, parser =
|
||||
if args.any?
|
||||
@ -44,12 +43,16 @@ module Redmine
|
||||
end
|
||||
raise "A formatter class is required" if formatter.nil?
|
||||
|
||||
@@formatters[name] = {
|
||||
entry = {
|
||||
:formatter => formatter,
|
||||
:helper => helper,
|
||||
:html_parser => parser,
|
||||
:label => options[:label] || name.humanize
|
||||
}
|
||||
if @@formatters[name] && @@formatters[name] != entry
|
||||
raise ArgumentError, "format name '#{name}' is already taken"
|
||||
end
|
||||
@@formatters[name] = entry
|
||||
end
|
||||
|
||||
def formatter
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user