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.
Files changed (42) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/tests.yml +6 -2
  3. data/.gitignore +1 -0
  4. data/.rubocop.yml +9 -3
  5. data/README.md +15 -16
  6. data/additional_tags.gemspec +5 -3
  7. data/app/helpers/additional_tags_helper.rb +71 -16
  8. data/app/helpers/additional_tags_issues_helper.rb +1 -1
  9. data/app/helpers/additional_tags_wiki_helper.rb +1 -25
  10. data/app/jobs/additional_tags_remove_unused_tag_job.rb +5 -0
  11. data/app/views/context_menus/_issues_tags.html.slim +1 -1
  12. data/app/views/dashboards/blocks/_issue_tags.html.slim +63 -0
  13. data/app/views/dashboards/blocks/_issue_tags_settings.html.slim +20 -0
  14. data/app/views/issue_tags/_edit_modal.html.slim +4 -2
  15. data/assets/javascripts/tags.js +4 -3
  16. data/config/initializers/zeitwerk.rb +6 -0
  17. data/config/locales/bg.yml +5 -0
  18. data/config/locales/cs.yml +5 -0
  19. data/config/locales/de.yml +5 -0
  20. data/config/locales/en.yml +5 -0
  21. data/config/locales/es.yml +5 -0
  22. data/config/locales/fr.yml +5 -0
  23. data/config/locales/it.yml +5 -0
  24. data/config/locales/ja.yml +5 -0
  25. data/config/locales/ko.yml +5 -0
  26. data/config/locales/pl.yml +5 -0
  27. data/config/locales/pt-BR.yml +5 -0
  28. data/config/locales/ru.yml +28 -23
  29. data/init.rb +9 -6
  30. data/lib/additional_tags/hooks/model_hook.rb +13 -0
  31. data/lib/additional_tags/hooks/view_hook.rb +76 -0
  32. data/lib/additional_tags/patches/dashboard_content_patch.rb +28 -0
  33. data/lib/additional_tags/patches/issue_patch.rb +11 -4
  34. data/lib/additional_tags/patches/wiki_controller_patch.rb +1 -1
  35. data/lib/additional_tags/patches/wiki_page_patch.rb +43 -0
  36. data/lib/additional_tags/plugin_version.rb +7 -0
  37. data/lib/additional_tags.rb +51 -61
  38. metadata +26 -8
  39. data/app/views/reports/_tags_simple.html.slim +0 -11
  40. data/lib/additional_tags/hooks.rb +0 -75
  41. data/lib/additional_tags/patches/reports_controller_patch.rb +0 -34
  42. 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
@@ -1,5 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module AdditionalTags
4
- VERSION = '1.0.2' unless defined? VERSION
5
- end