diff --git a/lib/redmine/access_control.rb b/lib/redmine/access_control.rb index 76c9906b1..2642e9b95 100644 --- a/lib/redmine/access_control.rb +++ b/lib/redmine/access_control.rb @@ -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 diff --git a/lib/redmine/menu_manager.rb b/lib/redmine/menu_manager.rb index 0ff2bfd71..be1992709 100644 --- a/lib/redmine/menu_manager.rb +++ b/lib/redmine/menu_manager.rb @@ -296,6 +296,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)) @@ -383,8 +385,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 diff --git a/lib/redmine/plugin.rb b/lib/redmine/plugin.rb index fb42a8fa9..dacafb315 100644 --- a/lib/redmine/plugin.rb +++ b/lib/redmine/plugin.rb @@ -125,14 +125,6 @@ module Redmine # Warn for potential settings[:partial] collisions if p.configurable? partial = p.settings[:partial] - if @used_partials[partial] - Rails.logger.warn( - "WARNING: settings partial '#{partial}' is declared in '#{p.id}' plugin " \ - "but it is already used by plugin '#{@used_partials[partial]}'. " \ - "Only one settings view will be used. " \ - "You may want to contact those plugins authors to fix this." - ) - end @used_partials[partial] = p.id end diff --git a/lib/redmine/scm/base.rb b/lib/redmine/scm/base.rb index 1a3fabf61..c65098977 100644 --- a/lib/redmine/scm/base.rb +++ b/lib/redmine/scm/base.rb @@ -11,6 +11,7 @@ module Redmine # Add a new SCM adapter and repository def add(scm_name) @scms ||= [] + @scms.delete(scm_name) @scms << scm_name end diff --git a/lib/redmine/wiki_formatting.rb b/lib/redmine/wiki_formatting.rb index 09fc4d3d7..08f322143 100644 --- a/lib/redmine/wiki_formatting.rb +++ b/lib/redmine/wiki_formatting.rb @@ -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?