From 8ca06840968d886dadf33a8884b39330818aa1ad Mon Sep 17 00:00:00 2001 From: MAEDA Go Date: Sat, 18 Apr 2026 16:51:57 +0900 Subject: [PATCH] Add icons to add links in the issue view's Subtasks and Related issues sections --- app/assets/images/icons.svg | 7 +++++++ app/helpers/application_helper.rb | 3 ++- app/helpers/issues_helper.rb | 2 +- app/views/issues/_relations.html.erb | 2 +- config/icon_source.yml | 2 ++ test/functional/issues_controller_test.rb | 3 +++ 6 files changed, 16 insertions(+), 3 deletions(-) diff --git a/app/assets/images/icons.svg b/app/assets/images/icons.svg index b209a135e..71351dfdf 100644 --- a/app/assets/images/icons.svg +++ b/app/assets/images/icons.svg @@ -287,6 +287,13 @@ + + + + + + + diff --git a/app/helpers/application_helper.rb b/app/helpers/application_helper.rb index 7fe9d4d9d..200387fad 100644 --- a/app/helpers/application_helper.rb +++ b/app/helpers/application_helper.rb @@ -368,11 +368,12 @@ module ApplicationHelper end def toggle_link(name, id, options={}) + html_options = options.slice(:class) onclick = "$('##{id}').toggle(); " onclick << (options[:focus] ? "$('##{options[:focus]}:visible').focus(); " : "this.blur(); ") onclick << "$(window).scrollTop($('##{options[:focus]}').position().top); " if options[:scroll] onclick << "return false;" - link_to(name, "#", :onclick => onclick) + link_to(name, "#", html_options.merge(:onclick => onclick)) end def link_to_previous_month(year, month, options={}) diff --git a/app/helpers/issues_helper.rb b/app/helpers/issues_helper.rb index 751b9f2a3..243c82c13 100644 --- a/app/helpers/issues_helper.rb +++ b/app/helpers/issues_helper.rb @@ -295,7 +295,7 @@ module IssuesHelper # Returns a link for adding a new subtask to the given issue def link_to_new_subtask(issue) - link_to(l(:button_add), url_for_new_subtask(issue)) + link_to(sprite_icon('add', l(:button_add)), url_for_new_subtask(issue), :class => 'icon icon-add') end def url_for_new_subtask(issue) diff --git a/app/views/issues/_relations.html.erb b/app/views/issues/_relations.html.erb index 07b633e43..2ea689a2f 100644 --- a/app/views/issues/_relations.html.erb +++ b/app/views/issues/_relations.html.erb @@ -1,6 +1,6 @@
<% if User.current.allowed_to?(:manage_issue_relations, @project) %> - <%= toggle_link l(:button_add), 'new-relation-form', {:focus => 'relation_issue_to_id'} %> + <%= toggle_link sprite_icon('link-add', l(:button_add)), 'new-relation-form', {:focus => 'relation_issue_to_id', :class => 'icon icon-link-add'} %> <% end %>
diff --git a/config/icon_source.yml b/config/icon_source.yml index 98fe995ab..0adf79199 100644 --- a/config/icon_source.yml +++ b/config/icon_source.yml @@ -250,3 +250,5 @@ svg: movie - name: file-music svg: file-music +- name: link-add + svg: link-plus diff --git a/test/functional/issues_controller_test.rb b/test/functional/issues_controller_test.rb index 3ea54226d..b553bd411 100644 --- a/test/functional/issues_controller_test.rb +++ b/test/functional/issues_controller_test.rb @@ -2274,6 +2274,9 @@ class IssuesControllerTest < Redmine::ControllerTest assert_select 'textarea[name=?]', 'issue[notes]' end end + # Add links for subtasks and related issues + assert_select 'div#issue_tree div.contextual a.icon.icon-add', :text => /Add/ + assert_select 'div#relations div.contextual a.icon.icon-link-add', :text => /Add/ end def test_show_should_display_attachment_icons_by_mime_type -- 2.50.1