Defect #41715 » allow_custom_svg_icons_for_admin_menu.patch
lib/redmine/menu_manager.rb | ||
---|---|---|
182 | 182 |
end |
183 | 183 | |
184 | 184 |
label = if item.icon.present? |
185 |
sprite_icon(item.icon, h(caption)) |
|
185 |
sprite_icon(item.icon, h(caption), plugin: item.plugin)
|
|
186 | 186 |
else |
187 | 187 |
h(caption) |
188 | 188 |
end |
... | ... | |
431 | 431 |
class MenuItem < MenuNode |
432 | 432 |
include Redmine::I18n |
433 | 433 |
attr_reader :name, :url, :param, :condition, :parent, |
434 |
:child_menus, :last, :permission, :icon |
|
434 |
:child_menus, :last, :permission, :icon, :plugin
|
|
435 | 435 | |
436 | 436 |
def initialize(name, url, options={}) |
437 | 437 |
if options[:if] && !options[:if].respond_to?(:call) |
... | ... | |
461 | 461 |
@parent = options[:parent] |
462 | 462 |
@child_menus = options[:children] |
463 | 463 |
@last = options[:last] || false |
464 |
@plugin = options[:plugin] |
|
464 | 465 |
super(@name.to_sym) |
465 | 466 |
end |
466 | 467 |
test/unit/lib/redmine/menu_manager/menu_helper_test.rb | ||
---|---|---|
42 | 42 |
assert_select("a.testing", "This is a test") |
43 | 43 |
end |
44 | 44 | |
45 |
def test_render_single_menu_node_with_plugin_icon |
|
46 |
node = Redmine::MenuManager::MenuItem.new(:testing, '/test', { :icon => 'plugin_icon_name',:plugin => 'test_plugin_name' }) |
|
47 |
@output_buffer = render_single_menu_node(node, 'This is a test', node.url, false) |
|
48 | ||
49 |
assert_select("a.testing", "This is a test") do |
|
50 |
assert_select("svg.icon-svg") do |
|
51 |
assert_select("use[href=?]", "/assets/plugin_assets/test_plugin_name/icons.svg#icon--plugin_icon_name") |
|
52 |
end |
|
53 |
end |
|
54 |
end |
|
55 | ||
45 | 56 |
def test_render_menu_node |
46 | 57 |
single_node = Redmine::MenuManager::MenuItem.new(:single_node, '/test', {}) |
47 | 58 |
@output_buffer = render_menu_node(single_node, nil) |
test/unit/lib/redmine/menu_manager/menu_item_test.rb | ||
---|---|---|
102 | 102 |
end |
103 | 103 |
end |
104 | 104 | |
105 |
def test_new_menu_item_should_allow_setting_the_plugin |
|
106 |
menu_item = Redmine::MenuManager::MenuItem.new( |
|
107 |
:test_plugin_menu, '/test', {:plugin => 'test_plugin_name'} |
|
108 |
) |
|
109 |
assert_equal 'test_plugin_name', menu_item.plugin |
|
110 |
end |
|
111 | ||
105 | 112 |
def test_has_children |
106 | 113 |
parent_item = get_menu_item(:test_menu, :parent) |
107 | 114 |
assert parent_item.children.present? |
- « Previous
- 1
- 2
- Next »