additional_tags 1.0.2 → 1.0.5
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.github/workflows/codeql-analysis.yml +70 -0
- data/.github/workflows/linters.yml +6 -2
- data/.github/workflows/tests.yml +8 -6
- data/.gitignore +2 -1
- data/.rubocop.yml +31 -6
- data/README.md +17 -18
- data/additional_tags.gemspec +6 -4
- data/app/controllers/additional_tags_controller.rb +23 -0
- data/app/helpers/additional_tags_helper.rb +60 -19
- data/app/helpers/additional_tags_issues_helper.rb +12 -2
- 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/additional_tags/_body_bottom.html.slim +19 -0
- data/app/views/additional_tags/_html_head.html.slim +1 -4
- data/app/views/additional_tags/_tag_list.html.slim +1 -1
- data/app/views/additional_tags/context_menu.html.slim +1 -4
- data/app/views/additional_tags/index.api.rsb +5 -0
- data/app/views/additional_tags/settings/_manage_tags.html.slim +23 -23
- data/app/views/common/_tag_summary_block.html.slim +11 -0
- data/app/views/context_menus/_issues_tags.html.slim +1 -1
- data/app/views/dashboards/blocks/_issue_tags.html.slim +58 -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/app/views/issues/_tags_sidebar.html.slim +4 -1
- data/assets/javascripts/tags.js +4 -3
- data/assets/stylesheets/tags.css +27 -13
- data/config/initializers/zeitwerk.rb +4 -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/config/routes.rb +1 -1
- data/db/migrate/20201123093214_migrate_existing_tags.rb +1 -1
- data/init.rb +9 -7
- data/lib/additional_tags/hooks/model_hook.rb +11 -0
- data/lib/additional_tags/hooks/view_hook.rb +79 -0
- data/lib/additional_tags/patches/auto_completes_controller_patch.rb +5 -6
- data/lib/additional_tags/patches/dashboard_content_patch.rb +28 -0
- data/lib/additional_tags/patches/issue_patch.rb +25 -28
- data/lib/additional_tags/patches/query_patch.rb +10 -3
- data/lib/additional_tags/patches/wiki_controller_patch.rb +1 -1
- data/lib/additional_tags/patches/wiki_page_patch.rb +50 -1
- data/lib/additional_tags/plugin_version.rb +7 -0
- data/lib/additional_tags/tags.rb +54 -4
- data/lib/additional_tags.rb +51 -65
- data/lib/tasks/additional_tags.rake +18 -0
- metadata +34 -12
- data/.github/workflows/brakeman.yml +0 -34
- 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,34 +0,0 @@
|
|
1
|
-
name: Run Brakeman
|
2
|
-
|
3
|
-
on: [push]
|
4
|
-
|
5
|
-
jobs:
|
6
|
-
build:
|
7
|
-
|
8
|
-
runs-on: ubuntu-latest
|
9
|
-
|
10
|
-
steps:
|
11
|
-
- uses: actions/checkout@v2
|
12
|
-
|
13
|
-
- name: Install package dependencies
|
14
|
-
run: >
|
15
|
-
sudo apt-get install --yes --quiet pandoc
|
16
|
-
|
17
|
-
- name: Setup Gemfile
|
18
|
-
run: |
|
19
|
-
touch .enable_dev
|
20
|
-
sed -i "3isource 'https://rubygems.org'" Gemfile
|
21
|
-
|
22
|
-
- name: Setup Ruby
|
23
|
-
uses: ruby/setup-ruby@v1
|
24
|
-
with:
|
25
|
-
ruby-version: 2.6
|
26
|
-
bundler-cache: true
|
27
|
-
|
28
|
-
- name: Setup gems
|
29
|
-
run: |
|
30
|
-
bundle install --jobs 4 --retry 3
|
31
|
-
|
32
|
-
- name: Run Brakeman
|
33
|
-
run: |
|
34
|
-
bundle exec brakeman -5
|
@@ -1,11 +0,0 @@
|
|
1
|
-
- if AdditionalTags.setting?(:active_issue_tags) && User.current.allowed_to?(:view_issue_tags, @project)
|
2
|
-
h3
|
3
|
-
= l :field_tags
|
4
|
-
|
|
5
|
-
= link_to l(:label_details),
|
6
|
-
project_issues_report_details_path(@project, detail: 'tag'),
|
7
|
-
class: 'icon-only icon-zoom-in',
|
8
|
-
title: l(:label_details)
|
9
|
-
|
10
|
-
= render partial: 'simple',
|
11
|
-
locals: { data: @issues_by_tags, field_name: 'tag_id', rows: @tags }
|
@@ -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
|