additional_tags 1.0.2 → 1.0.3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.github/workflows/tests.yml +6 -2
- data/.gitignore +1 -0
- data/.rubocop.yml +9 -3
- data/README.md +15 -16
- data/additional_tags.gemspec +5 -3
- data/app/helpers/additional_tags_helper.rb +71 -16
- data/app/helpers/additional_tags_issues_helper.rb +1 -1
- data/app/helpers/additional_tags_wiki_helper.rb +1 -25
- data/app/jobs/additional_tags_remove_unused_tag_job.rb +5 -0
- data/app/views/context_menus/_issues_tags.html.slim +1 -1
- data/app/views/dashboards/blocks/_issue_tags.html.slim +63 -0
- data/app/views/dashboards/blocks/_issue_tags_settings.html.slim +20 -0
- data/app/views/issue_tags/_edit_modal.html.slim +4 -2
- data/assets/javascripts/tags.js +4 -3
- data/config/initializers/zeitwerk.rb +6 -0
- data/config/locales/bg.yml +5 -0
- data/config/locales/cs.yml +5 -0
- data/config/locales/de.yml +5 -0
- data/config/locales/en.yml +5 -0
- data/config/locales/es.yml +5 -0
- data/config/locales/fr.yml +5 -0
- data/config/locales/it.yml +5 -0
- data/config/locales/ja.yml +5 -0
- data/config/locales/ko.yml +5 -0
- data/config/locales/pl.yml +5 -0
- data/config/locales/pt-BR.yml +5 -0
- data/config/locales/ru.yml +28 -23
- data/init.rb +9 -6
- data/lib/additional_tags/hooks/model_hook.rb +13 -0
- data/lib/additional_tags/hooks/view_hook.rb +76 -0
- data/lib/additional_tags/patches/dashboard_content_patch.rb +28 -0
- data/lib/additional_tags/patches/issue_patch.rb +11 -4
- data/lib/additional_tags/patches/wiki_controller_patch.rb +1 -1
- data/lib/additional_tags/patches/wiki_page_patch.rb +43 -0
- data/lib/additional_tags/plugin_version.rb +7 -0
- data/lib/additional_tags.rb +51 -61
- metadata +26 -8
- data/app/views/reports/_tags_simple.html.slim +0 -11
- data/lib/additional_tags/hooks.rb +0 -75
- data/lib/additional_tags/patches/reports_controller_patch.rb +0 -34
- data/lib/additional_tags/version.rb +0 -5
@@ -1,75 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
module AdditionalTags
|
4
|
-
class AdditionalTagsHookListener < Redmine::Hook::ViewListener
|
5
|
-
render_on :view_issues_bulk_edit_details_bottom,
|
6
|
-
partial: 'issues/tags_form_details',
|
7
|
-
locals: { tags_form: 'issues/tags_bulk_edit' }
|
8
|
-
render_on :view_issues_context_menu_end, partial: 'context_menus/issues_tags'
|
9
|
-
render_on :view_issues_form_details_bottom,
|
10
|
-
partial: 'issues/tags_form_details',
|
11
|
-
locals: { tags_form: 'issues/tags_form' }
|
12
|
-
render_on :view_issues_show_details_bottom, partial: 'issues/tags'
|
13
|
-
render_on :view_issues_sidebar_planning_bottom, partial: 'issues/tags_sidebar'
|
14
|
-
render_on :view_layouts_base_html_head, partial: 'additional_tags/html_head'
|
15
|
-
render_on :view_reports_issue_report_split_content_right, partial: 'tags_simple'
|
16
|
-
render_on :view_wiki_form_bottom, partial: 'tags_form_bottom'
|
17
|
-
render_on :view_wiki_show_bottom, partial: 'tags_show'
|
18
|
-
render_on :view_wiki_show_sidebar_bottom, partial: 'wiki/tags_sidebar'
|
19
|
-
|
20
|
-
def controller_issues_edit_before_save(context = {})
|
21
|
-
tags_journal context[:issue], context[:params]
|
22
|
-
end
|
23
|
-
|
24
|
-
def controller_issues_bulk_edit_before_save(context = {})
|
25
|
-
issue = context[:issue]
|
26
|
-
params = context[:params]
|
27
|
-
|
28
|
-
issues_bulk_tags_fix issue, params
|
29
|
-
tags_journal issue, params
|
30
|
-
end
|
31
|
-
|
32
|
-
# this hook is missing in redmine core at the moment
|
33
|
-
def view_issue_pdf_fields(context = {})
|
34
|
-
issue = context[:issue]
|
35
|
-
right = context[:right]
|
36
|
-
|
37
|
-
if AdditionalTags.setting?(:active_issue_tags) &&
|
38
|
-
User.current.allowed_to?(:view_issue_tags, issue.project)
|
39
|
-
right << [l(:field_tag_list), issue.tag_list]
|
40
|
-
end
|
41
|
-
end
|
42
|
-
|
43
|
-
# this hook is missing in redmine core at the moment
|
44
|
-
def view_wiki_pdf_buttom(context = {})
|
45
|
-
page = context[:page]
|
46
|
-
pdf = context[:pdf]
|
47
|
-
|
48
|
-
return if page.tag_list.blank?
|
49
|
-
|
50
|
-
pdf.ln 5
|
51
|
-
pdf.SetFontStyle 'B', 9
|
52
|
-
pdf.RDMCell 190, 5, l(:field_tag_list), 'B'
|
53
|
-
|
54
|
-
pdf.ln
|
55
|
-
pdf.SetFontStyle '', 8
|
56
|
-
pdf.RDMCell 190, 5, page.tag_list.join(', ')
|
57
|
-
pdf.ln
|
58
|
-
end
|
59
|
-
|
60
|
-
private
|
61
|
-
|
62
|
-
def issues_bulk_tags_fix(issue, params)
|
63
|
-
old_tags = issue.tags.map(&:name)
|
64
|
-
new_tags = Array(params[:issue][:tag_list]).reject(&:empty?)
|
65
|
-
issue.tag_list = (old_tags + new_tags).uniq
|
66
|
-
end
|
67
|
-
|
68
|
-
def tags_journal(issue, params)
|
69
|
-
return unless params && params[:issue] && params[:issue][:tag_list]
|
70
|
-
|
71
|
-
issue.tags_to_journal Issue.find_by(id: issue.id)&.tag_list&.to_s,
|
72
|
-
issue.tag_list.to_s
|
73
|
-
end
|
74
|
-
end
|
75
|
-
end
|
@@ -1,34 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
module AdditionalTags
|
4
|
-
module Patches
|
5
|
-
module ReportsControllerPatch
|
6
|
-
extend ActiveSupport::Concern
|
7
|
-
|
8
|
-
included do
|
9
|
-
prepend InstanceOverwriteMethods
|
10
|
-
end
|
11
|
-
|
12
|
-
module InstanceOverwriteMethods
|
13
|
-
def issue_report
|
14
|
-
@tags = AdditionalTags::Tags.sort_tag_list Issue.available_tags(project_id: @project.id)
|
15
|
-
@issues_by_tags = Issue.by_tags @project, with_subprojects: Setting.display_subprojects_issues?
|
16
|
-
super
|
17
|
-
end
|
18
|
-
|
19
|
-
def issue_report_details
|
20
|
-
if params[:detail] == 'tag' &&
|
21
|
-
AdditionalTags.setting?(:active_issue_tags) &&
|
22
|
-
User.current.allowed_to?(:view_issue_tags, @project)
|
23
|
-
@field = 'tag_id'
|
24
|
-
@rows = AdditionalTags::Tags.sort_tag_list Issue.available_tags(project_id: @project.id)
|
25
|
-
@data = Issue.by_tags @project, with_subprojects: Setting.display_subprojects_issues?
|
26
|
-
@report_title = l :field_tags
|
27
|
-
else
|
28
|
-
super
|
29
|
-
end
|
30
|
-
end
|
31
|
-
end
|
32
|
-
end
|
33
|
-
end
|
34
|
-
end
|