Coder Social home page Coder Social logo

akiko-pusu / redmine_issue_badge Goto Github PK

View Code? Open in Web Editor NEW
54.0 9.0 29.0 257 KB

Plugin to show the number of assigned issues with badge on top menu.

License: GNU General Public License v2.0

Ruby 67.10% HTML 8.04% JavaScript 7.88% CSS 13.94% Shell 1.17% Dockerfile 1.87%

redmine_issue_badge's Introduction

Redmine Issue Badge Plugin

Plugin info at redmine.org Circle CI Sider

Plugin to show the number of assigned issues with badge on top menu.

For Redmine 3.x, please use version 0.7.0 or support-Redmine3 branch.

screen shot



Plugin installation

  1. Copy the plugin directory into the plugins directory. Please note that plugin's folder name should be "redmine_issue_badge". If changed, some migration task will be failed.
  2. Do migration task.

e.g. rails redmine:plugins:migrate RAILS_ENV=production

  1. (Re)Start Redmine.

Uninstall

Try this:

rails redmine:plugins:migrate NAME=redmine_issue_badge VERSION=0 \
    RAILS_ENV=production

Required Settings

This feature is activated as one of the user preferences.

  1. Login to your Redmine and go to "/my/account" page.
  2. Enable the option, described as "Show number of assigned issues with badge".
  3. After that, if you have assigned and opened issues, the number of issues is shown with badge.
  4. Click badge and firt 5 issues are displayed.

That's all.

Quick try with using Docker

You can try quickly this plugin with Docker environment. Please try:

https://github.com/akiko-pusu/redmine_issue_badge
docker-compose up -d

Please note: Yon don't have to download Redmine's source code, but source code of this plugin is required.

Run docker-compose up -d command and soon you can access Redmine running within Docker container. After stating up container, please login as admin (password: admin) and access http://localhost:3000/admin/plugins . Then, you can configure and activate this plugin.

docker-compose-sample

Changelog

0.1.4

Code refactoring and maintenance release.

  • Bugfix: The link to assigned to me is not displayed. (#136)
  • Update Portuguese Brazil translation. (contributed by @adrianobr)

0.1.3

Code refactoring and maintenance release. This is one of the workaround. If you still have some problems, feedback highly appreciate!

  • Workaround for #118.
    • Modify issue query to prevent n+1
    • Change the response of controller from the html to the json, and render the badge via JavaScript.

0.1.2

Please note, this release is required to migrate. Supporting custom query feature is still a prototype, so feedback highly appreciate!

  • Support custom query based badge number. (Related: #67, #107)
  • Enabled to change the number to display issues in the popup window. (#67, #69)
  • Change the initial badge color to green. (#108)
  • Update German translation. Thank you so much, @double2ugly
  • Update zh-TW translation. Thank you so much, @vongola12324
  • Bugfix: IssueBadgeUserSetting is not created correctly via post method. (#106)

Thanks for suggestions and PR for this release: @Jiangshan0000, @bviktor, @koren85, @rafaelmartinsrm, @AizeLeOuf, and @vongola12324.

0.1.1

Code refactoring and maintenance release.

  • Bug fix for #96 #97. UserPreference setting does not work correctly.
  • JavaScript Code refactoring. (Change jQuery to Pure JavaScript)

0.1.0

  • Support Redmine 4.x.
    • Now master branch unsupports Redmine 3.x.
    • Please use ver 0.7.x or support-Redmine3 branch in case using Redmine3.x.

NOTE: Mainly, maintenance and refactoring only. There is no additional feature, translation in this release. Thank you so much for providing workaround against Redmine4.x, @kenji21! (#91, #92)

0.0.7

  • Feature #82. Enabled to switch list issue order. (Oldest 5 or Latest 5)
  • Merge pull request #92 to support Redmine4.0. (Thanks, kenji21)
  • Some code refactoring.

Please note, this version does not spport Redmine4.x completely. Since Redmine4.x is based on Rails that migration format must be changed.

Maybe new version, 0.1.0, which support Redmine4.x will be released soon.

0.0.6

  • Bug fix for #49. Badge is not working for user created from LDAP user.
  • Feature #52. Display background image when user’s assigned issue is empty.
  • PR #48. Add simplified Chinese translation file. Thank you so much, Steven.W!
  • Some code refactoring. Thanks to Sider (former SideCI), I am very saved!

0.0.5

Please note, this release is required to migrate.

  • Feature #43. Add option to polling assigned issues count every 60 seconds. (Prototype)
  • Feature #41. Add option to include / exclude option issues assigned to user's group.
  • Bug fix for #36. Don’t render html in case current user is required password change just after login. Thanks, @nakat-t.
  • Bug fix for #32. Escape subject includes html entities. Thank you so much @pousterlus.
  • Change not to use fixtures and to use FactoryGirl for rspec.
  • Some code refactoring. Special thanks to Sider, https://sider.review, which is automating code analysis system.

0.0.4.1

  • Bug fix for #28. Thank you so much @juxta73.

0.0.4

Code refactoring and change settings for CI. From this version, need Redmine 3.3.1 or higher.

  • Change CI from drone.io to wercker
  • Convert README from rdoc to markdown.
  • Remove selenium-webdriver from plugin's Gemfile. (#24)
  • UserPreference setting is failed in case using Redmine3.3.1 or later. (#23)

0.0.3

  • Display badge when responsive mode (#17).
  • Enabled to activate badge for all the user on plugin's configuration screen. (#3)
  • Code Refactoring.
    • Add scss file and npm script to compile scss.

0.0.2

  • Fix. Redmine not at root (#13).
  • Fix. JS Bug (#5).
  • Fix. Wrong CSS (#4).
  • Merge PR: (#1) / Thank you so much, ykws!
  • Add README_ja, GPL.txt
  • Add rspec somple code for test.

0.0.1

  • First release

Repository

Run spec

Please see .circleci/config.yml for more details. You can run only for the spec related this plugin via rake task.

cd REDMINE_ROOT_DIR
cp plugins/redmine_issue_badge/Gemfile.local plugins/redmine_issue_badge/Gemfile
bundle install --with test
export RAILS_ENV=test
bundle exec rails db:migrate RAILS_ENV=test
bundle exec rails redmine:plugins:migrate RAILS_ENV=test

bundle exec rails redmine_issue_badge:spec

Also you can run via rspec command like this:

bundle exec rspec -I plugins/redmine_issue_badge/spec \
  --format documentation plugins/redmine_issue_badge/spec/

Using bullet

Append to config/environments/development.rb initializer with the following code:

  config.after_initialize do
    Bullet.enable = true
    Bullet.console = true
    Bullet.rails_logger = true
    Bullet.bullet_logger = true
  end

Ref: https://github.com/flyerhzm/bullet#configuration

License

This software is licensed under the GNU GPL v2. See COPYRIGHT and COPYING for details.

Author

Akiko Takano (Twitter: @akiko_pusu) / GitHub: https://github.com/akiko-pusu/

redmine_issue_badge's People

Contributors

adrianobr avatar akiko-pusu avatar angelinsky7 avatar bviktor avatar cellvinchung avatar ecedi-ld avatar kenji21 avatar koren85 avatar vongola12324 avatar ykws avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

redmine_issue_badge's Issues

Cannot change user password when "Display badge for all users" is ON

Procedure:

  1. Turn on "Display badge for all users"
  2. Create new user as "Must change password at next logon"
  3. Login as new user => redirect to change password screen
  4. Screen elements are duplicated and increased every 1 second.

Perhaps, It is a problem that load_badge('/issue_badge') was called but redirected to '/my/password'.

Environment:
  Redmine version                3.3.2.stable
  Ruby version                   2.2.6-p396 (2016-11-15) [x86_64-linux]
  Rails version                  4.2.7.1
  Environment                    production
  Database adapter               Mysql2
Redmine plugins:
  redmine_issue_badge            0.0.4.1

"..." button doesn't work in badge dropdown

There used to be an "Issues assigned to me" (or something like that) link in the badge dropdown when there were more issues than the max issues displayed. Now there's only a "..." text, but there's no link to click on anymore so we're unable to show all the issues, unless manually performing an issue query.

Environment:
  Redmine version                4.1.1.stable
  Ruby version                   2.6.5-p114 (2019-10-01) [x86_64-linux]
  Rails version                  5.2.4.2
  Environment                    production
  Database adapter               PostgreSQL
  Mailer queue                   ActiveJob::QueueAdapters::AsyncAdapter
  Mailer delivery                smtp
SCM:
  Git                            1.8.3.1
  Filesystem                     
Redmine plugins:
  computed_custom_field          1.0.7
  redmine_agile                  1.5.3
  redmine_checklists             3.1.17
  redmine_contacts               4.3.0
  redmine_issue_badge            0.1.3
  redmine_latex_mathjax          0.3.0
  redmine_zenedit                1.0.3
  redmineup_tags                 2.0.8
  wiki_graphviz_plugin           0.8.0

Improvement : Issues from the group and not only mines

Hi there :)

As promised, I've got another feedback for improving your plugin efficiency.
As now, the plugin's working great, and I see my issues.
But I'm also a member of a group : Could it be possible to have an option to also show in the same list the issues assigned to the group ?

Would be great !

--
Léo.

Disable uppercase text in issue list + special characters

Hello !

Great work, I love this plugin.
But just 2 details I would love to change but can't find anywhere to change it :

  • In issue list, text is forced uppercase : how to change that ?
  • In issue list, special characters seems to be shown with their HTML code, for example : "111 Add a new fied named & quot;adminaccess& quot;" : is it possible to have the " sign not being replaced by "& quot;" ?

Thanks,

--
Léo.

Improve readability

A picture is worth a thousand words. This is what it looks like with default theme:

image

This is alternate:

image

Classic:

image

You get the idea. It's way too small. The red-on-white contrast doesn't help either. I'm not quite sure what the proper fix would be. After some quick fiddling:

image

Basically just:

padding: 3px 5px 3px 3px;
font-size: 0.8em;
color: #fff;
background-color: #ee2630;

I don't this should be the final code, I'm just trying to demonstrate what I imagine would be a more readable look. What do you guys think?

migrate error

Hello!

I have problem with migrate. Error log

root@66300:/var/www/redmine# rake redmine:plugins:migrate NAME=redmine_issue_badge RAILS_ENV=production
/usr/local/rvm/gems/ruby-2.3.3/gems/htmlentities-4.3.1/lib/htmlentities/mappings/expanded.rb:465: warning: key "inodot" is duplicated and overwritten on line 466
rake aborted!
NoMethodError: undefined method safe_attributes' for #<Class:0x000000043e47f8> Did you mean? cache_attributes scope_attributes cached_attributes scope_attributes? cache_attribute? /usr/local/rvm/gems/ruby-2.3.3/gems/activerecord-4.2.7.1/lib/active_record/dynamic_matchers.rb:26:in method_missing'
/var/www/redmine/plugins/redmine_issue_badge/lib/issue_badge/user_preference_patch.rb:9:in block in included' /var/www/redmine/plugins/redmine_issue_badge/lib/issue_badge/user_preference_patch.rb:4:in class_eval'
/var/www/redmine/plugins/redmine_issue_badge/lib/issue_badge/user_preference_patch.rb:4:in included' /var/www/redmine/plugins/redmine_issue_badge/init.rb:11:in include'
/var/www/redmine/plugins/redmine_issue_badge/init.rb:11:in block in <top (required)>' /usr/local/rvm/gems/ruby-2.3.3/gems/activesupport-4.2.7.1/lib/active_support/callbacks.rb:446:in instance_exec'
/usr/local/rvm/gems/ruby-2.3.3/gems/activesupport-4.2.7.1/lib/active_support/callbacks.rb:446:in block in make_lambda' /usr/local/rvm/gems/ruby-2.3.3/gems/activesupport-4.2.7.1/lib/active_support/callbacks.rb:192:in block in simple'
/usr/local/rvm/gems/ruby-2.3.3/gems/activesupport-4.2.7.1/lib/active_support/callbacks.rb:504:in block in call' /usr/local/rvm/gems/ruby-2.3.3/gems/activesupport-4.2.7.1/lib/active_support/callbacks.rb:504:in each'
/usr/local/rvm/gems/ruby-2.3.3/gems/activesupport-4.2.7.1/lib/active_support/callbacks.rb:504:in call' /usr/local/rvm/gems/ruby-2.3.3/gems/activesupport-4.2.7.1/lib/active_support/callbacks.rb:92:in run_callbacks'
/usr/local/rvm/gems/ruby-2.3.3/gems/activesupport-4.2.7.1/lib/active_support/callbacks.rb:778:in _run_prepare_callbacks' /usr/local/rvm/gems/ruby-2.3.3/gems/activesupport-4.2.7.1/lib/active_support/callbacks.rb:81:in run_callbacks'
/usr/local/rvm/gems/ruby-2.3.3/gems/actionpack-4.2.7.1/lib/action_dispatch/middleware/reloader.rb:83:in prepare!' /usr/local/rvm/gems/ruby-2.3.3/gems/actionpack-4.2.7.1/lib/action_dispatch/middleware/reloader.rb:55:in prepare!'
/usr/local/rvm/gems/ruby-2.3.3/gems/railties-4.2.7.1/lib/rails/application/finisher.rb:50:in block in <module:Finisher>' /usr/local/rvm/gems/ruby-2.3.3/gems/railties-4.2.7.1/lib/rails/initializable.rb:30:in instance_exec'
/usr/local/rvm/gems/ruby-2.3.3/gems/railties-4.2.7.1/lib/rails/initializable.rb:30:in run' /usr/local/rvm/gems/ruby-2.3.3/gems/railties-4.2.7.1/lib/rails/initializable.rb:55:in block in run_initializers'
/usr/local/rvm/gems/ruby-2.3.3/gems/railties-4.2.7.1/lib/rails/initializable.rb:54:in run_initializers' /usr/local/rvm/gems/ruby-2.3.3/gems/railties-4.2.7.1/lib/rails/application.rb:352:in initialize!'
/var/www/redmine/config/environment.rb:14:in <top (required)>' /usr/local/rvm/gems/ruby-2.3.3/gems/polyglot-0.3.5/lib/polyglot.rb:65:in require'
/usr/local/rvm/gems/ruby-2.3.3/gems/polyglot-0.3.5/lib/polyglot.rb:65:in require' /usr/local/rvm/gems/ruby-2.3.3/gems/activesupport-4.2.7.1/lib/active_support/dependencies.rb:274:in block in require'
/usr/local/rvm/gems/ruby-2.3.3/gems/activesupport-4.2.7.1/lib/active_support/dependencies.rb:240:in load_dependency' /usr/local/rvm/gems/ruby-2.3.3/gems/activesupport-4.2.7.1/lib/active_support/dependencies.rb:274:in require'
/var/www/redmine/plugins/periodictask/lib/tasks/periodictask.rake:7:in <top (required)>' /usr/local/rvm/gems/ruby-2.3.3/gems/activesupport-4.2.7.1/lib/active_support/dependencies.rb:268:in load'
/usr/local/rvm/gems/ruby-2.3.3/gems/activesupport-4.2.7.1/lib/active_support/dependencies.rb:268:in block in load' /usr/local/rvm/gems/ruby-2.3.3/gems/activesupport-4.2.7.1/lib/active_support/dependencies.rb:240:in load_dependency'
/usr/local/rvm/gems/ruby-2.3.3/gems/activesupport-4.2.7.1/lib/active_support/dependencies.rb:268:in load' /var/www/redmine/lib/tasks/redmine.rake:186:in block in <top (required)>'
/var/www/redmine/lib/tasks/redmine.rake:186:in each' /var/www/redmine/lib/tasks/redmine.rake:186:in <top (required)>'
/usr/local/rvm/gems/ruby-2.3.3/gems/activesupport-4.2.7.1/lib/active_support/dependencies.rb:268:in load' /usr/local/rvm/gems/ruby-2.3.3/gems/activesupport-4.2.7.1/lib/active_support/dependencies.rb:268:in block in load'
/usr/local/rvm/gems/ruby-2.3.3/gems/activesupport-4.2.7.1/lib/active_support/dependencies.rb:240:in load_dependency' /usr/local/rvm/gems/ruby-2.3.3/gems/activesupport-4.2.7.1/lib/active_support/dependencies.rb:268:in load'
/usr/local/rvm/gems/ruby-2.3.3/gems/railties-4.2.7.1/lib/rails/engine.rb:658:in block in run_tasks_blocks' /usr/local/rvm/gems/ruby-2.3.3/gems/railties-4.2.7.1/lib/rails/engine.rb:658:in each'
/usr/local/rvm/gems/ruby-2.3.3/gems/railties-4.2.7.1/lib/rails/engine.rb:658:in run_tasks_blocks' /usr/local/rvm/gems/ruby-2.3.3/gems/railties-4.2.7.1/lib/rails/application.rb:452:in run_tasks_blocks'
/usr/local/rvm/gems/ruby-2.3.3/gems/railties-4.2.7.1/lib/rails/engine.rb:453:in load_tasks' /usr/local/rvm/gems/ruby-2.3.3/gems/railties-4.2.7.1/lib/rails/railtie.rb:194:in public_send'
/usr/local/rvm/gems/ruby-2.3.3/gems/railties-4.2.7.1/lib/rails/railtie.rb:194:in method_missing' /var/www/redmine/Rakefile:7:in <top (required)>'
/usr/local/rvm/gems/ruby-2.3.3/gems/rake-12.0.0/exe/rake:27:in <top (required)>' /usr/local/rvm/gems/ruby-2.3.3/bin/ruby_executable_hooks:15:in eval'
/usr/local/rvm/gems/ruby-2.3.3/bin/ruby_executable_hooks:15:in `

'
(See full trace by running task with --trace)
root@66300:/var/www/redmine# > 21:24:40 Socket error: Undefined error: 0


Environment:
Redmine version 3.3.1.stable.16111
Ruby version 2.3.3-p222 (2016-11-21) [x86_64-linux]
Rails version 4.2.7.1
Environment production
Database adapter Mysql2
SCM:
Subversion 1.9.3
Git 2.7.4
Filesystem
Redmine plugins:
periodictask 3.1.1
redmine__select2 1.1.0
redmine_banner 0.1.2
redmine_checklists 3.1.5
redmine_ckeditor 1.1.4
redmine_customize 1.2.3
redmine_lightbox2 0.3.1
sidebar_hide 0.0.8

Configurable issue number

What do you guys think about making the number of issues displayed from the badge configurable as a user setting? 5 seems a pretty low number for 1080p+ displays.

Reverse order when clicking badge

Hello,
Currently when I click on badge I see 5 very old tasks in my Redmine. I think it will be more useful when I would see 5 newest tasks. It would be more like Facebook notifications :)
Do you think it's good idea to implement this?

Error after install plugin 502 Bad Gateway

Hi!

After installation, error 502 occurred. I will start in order:

  1. installed the plugin on my redmine
  2. after installation, redmine did not work. in the console there were messages
E, [2019-11-23T20: 17: 05.405743 # 265] ERROR -: reaped # <Process :: Status: pid 375 SIGKILL (signal 9)> worker = 10
E, [2019-11-23T20: 17: 05.406002 # 265] ERROR -: reaped # <Process :: Status: pid 624 SIGKILL (signal 9)> worker = 1
E, [2019-11-23T20: 17: 05.406057 # 265] ERROR -: reaped # <Process :: Status: pid 659 SIGKILL (signal 9)> worker = 9

Logically suggesting that maybe some plugins are incompatible, I removed all the plugins except redmine_issue_badge.
3) launched redmine and it worked
4) the icon was not displayed. (appeared after enabling "Display issue badge for all users" in the settings)
5) redmine generate error after clicking on link to issues and after save account settings (502 bad Gateway)
6) user settings are not saved

LOGS

production .log (no errors)

tarted GET "/issue_badge/issues_count" for 127.0.0.1 at 2019-11-23 20:38:06 +0000
Processing by IssueBadgeController#issues_count as */*
Settings cache cleared.
Current user: user (id=70)
Rendering text template
Rendered text template (0.0ms)
Completed 200 OK in 1125ms (Views: 282.4ms | ActiveRecord: 76.6ms)

unicorn.stderr.log

log
root@371d8fa29311:/home/redmine/redmine# cat /var/log/redmine/redmine/unicorn.stderr.log
I, [2019-11-23T20:13:06.126601 #265]  INFO -- : Refreshing Gem list
I, [2019-11-23T20:13:07.901798 #265]  INFO -- : listening on addr=/home/redmine/redmine/tmp/sockets/redmine.socket fd=11
I, [2019-11-23T20:13:07.901943 #265]  INFO -- : listening on addr=127.0.0.1:8080 fd=12
I, [2019-11-23T20:13:07.958668 #287]  INFO -- : worker=2 ready
I, [2019-11-23T20:13:07.958669 #279]  INFO -- : worker=0 ready
I, [2019-11-23T20:13:07.965674 #283]  INFO -- : worker=1 ready
I, [2019-11-23T20:13:07.970287 #291]  INFO -- : worker=3 ready
I, [2019-11-23T20:13:07.978900 #297]  INFO -- : worker=5 ready
I, [2019-11-23T20:13:07.989324 #295]  INFO -- : worker=4 ready
I, [2019-11-23T20:13:07.995925 #303]  INFO -- : worker=6 ready
I, [2019-11-23T20:13:08.009579 #307]  INFO -- : worker=7 ready
I, [2019-11-23T20:13:08.010397 #311]  INFO -- : worker=8 ready
I, [2019-11-23T20:13:08.020806 #315]  INFO -- : worker=9 ready
I, [2019-11-23T20:13:08.036500 #319]  INFO -- : worker=10 ready
I, [2019-11-23T20:13:08.044419 #323]  INFO -- : worker=11 ready
I, [2019-11-23T20:13:08.056704 #327]  INFO -- : worker=12 ready
I, [2019-11-23T20:13:08.058645 #331]  INFO -- : worker=13 ready
I, [2019-11-23T20:13:08.069983 #335]  INFO -- : worker=14 ready
I, [2019-11-23T20:13:08.080323 #339]  INFO -- : worker=15 ready
I, [2019-11-23T20:13:08.083897 #342]  INFO -- : worker=16 ready
I, [2019-11-23T20:13:08.095335 #351]  INFO -- : worker=18 ready
I, [2019-11-23T20:13:08.096231 #347]  INFO -- : worker=17 ready
I, [2019-11-23T20:13:08.104261 #265]  INFO -- : master process ready
I, [2019-11-23T20:13:08.119280 #355]  INFO -- : worker=19 ready
I, [2019-11-23T20:13:08.125098 #359]  INFO -- : worker=20 ready
I, [2019-11-23T20:13:08.128902 #367]  INFO -- : worker=22 ready
I, [2019-11-23T20:13:08.137245 #363]  INFO -- : worker=21 ready
I, [2019-11-23T20:13:08.139037 #371]  INFO -- : worker=23 ready
E, [2019-11-23T20:13:31.196753 #265] ERROR -- : reaped #<Process::Status: pid 319 SIGKILL (signal 9)> worker=10
I, [2019-11-23T20:13:31.244078 #375]  INFO -- : worker=10 ready
E, [2019-11-23T20:13:55.428958 #265] ERROR -- : reaped #<Process::Status: pid 307 SIGKILL (signal 9)> worker=7
I, [2019-11-23T20:13:55.477057 #379]  INFO -- : worker=7 ready
E, [2019-11-23T20:13:56.728737 #265] ERROR -- : reaped #<Process::Status: pid 311 SIGKILL (signal 9)> worker=8
I, [2019-11-23T20:13:56.775125 #383]  INFO -- : worker=8 ready
E, [2019-11-23T20:14:12.237413 #265] ERROR -- : reaped #<Process::Status: pid 379 SIGKILL (signal 9)> worker=7
I, [2019-11-23T20:14:12.286690 #387]  INFO -- : worker=7 ready
E, [2019-11-23T20:14:14.400860 #265] ERROR -- : reaped #<Process::Status: pid 363 SIGKILL (signal 9)> worker=21
I, [2019-11-23T20:14:14.446803 #391]  INFO -- : worker=21 ready
E, [2019-11-23T20:15:48.722630 #265] ERROR -- : reaped #<Process::Status: pid 315 SIGKILL (signal 9)> worker=9
I, [2019-11-23T20:15:48.762202 #405]  INFO -- : worker=9 ready
E, [2019-11-23T20:16:01.912958 #265] ERROR -- : reaped #<Process::Status: pid 359 SIGKILL (signal 9)> worker=20
I, [2019-11-23T20:16:01.961282 #409]  INFO -- : worker=20 ready
E, [2019-11-23T20:16:02.349497 #265] ERROR -- : reaped #<Process::Status: pid 279 SIGKILL (signal 9)> worker=0
I, [2019-11-23T20:16:02.394402 #413]  INFO -- : worker=0 ready
E, [2019-11-23T20:16:06.281230 #265] ERROR -- : reaped #<Process::Status: pid 355 SIGKILL (signal 9)> worker=19
I, [2019-11-23T20:16:06.327608 #417]  INFO -- : worker=19 ready
E, [2019-11-23T20:16:07.030317 #265] ERROR -- : reaped #<Process::Status: pid 347 SIGKILL (signal 9)> worker=17
I, [2019-11-23T20:16:07.065933 #421]  INFO -- : worker=17 ready
E, [2019-11-23T20:16:07.760962 #265] ERROR -- : reaped #<Process::Status: pid 417 SIGKILL (signal 9)> worker=19
I, [2019-11-23T20:16:07.807737 #425]  INFO -- : worker=19 ready
E, [2019-11-23T20:16:12.277098 #265] ERROR -- : reaped #<Process::Status: pid 327 SIGKILL (signal 9)> worker=12
I, [2019-11-23T20:16:12.321615 #429]  INFO -- : worker=12 ready
E, [2019-11-23T20:16:18.316990 #265] ERROR -- : reaped #<Process::Status: pid 391 SIGKILL (signal 9)> worker=21
I, [2019-11-23T20:16:18.354625 #433]  INFO -- : worker=21 ready
E, [2019-11-23T20:16:21.453033 #265] ERROR -- : reaped #<Process::Status: pid 383 SIGKILL (signal 9)> worker=8
I, [2019-11-23T20:16:21.496514 #437]  INFO -- : worker=8 ready
E, [2019-11-23T20:16:22.866455 #265] ERROR -- : reaped #<Process::Status: pid 342 SIGKILL (signal 9)> worker=16
I, [2019-11-23T20:16:22.914970 #441]  INFO -- : worker=16 ready
E, [2019-11-23T20:16:42.943471 #265] ERROR -- : reaped #<Process::Status: pid 335 SIGKILL (signal 9)> worker=14
I, [2019-11-23T20:16:42.991530 #445]  INFO -- : worker=14 ready
E, [2019-11-23T20:16:45.529422 #265] ERROR -- : reaped #<Process::Status: pid 429 SIGKILL (signal 9)> worker=12
I, [2019-11-23T20:16:45.564853 #449]  INFO -- : worker=12 ready
E, [2019-11-23T20:16:53.560431 #265] ERROR -- : reaped #<Process::Status: pid 291 SIGKILL (signal 9)> worker=3
I, [2019-11-23T20:16:53.605428 #453]  INFO -- : worker=3 ready
E, [2019-11-23T20:16:54.262211 #265] ERROR -- : reaped #<Process::Status: pid 323 SIGKILL (signal 9)> worker=11
E, [2019-11-23T20:16:54.344622 #265] ERROR -- : reaped #<Process::Status: pid 405 SIGKILL (signal 9)> worker=9
E, [2019-11-23T20:16:54.421193 #265] ERROR -- : reaped #<Process::Status: pid 283 SIGKILL (signal 9)> worker=1
I, [2019-11-23T20:16:54.421881 #457]  INFO -- : worker=11 ready
E, [2019-11-23T20:16:54.486115 #265] ERROR -- : reaped #<Process::Status: pid 464 SIGKILL (signal 9)> worker=1
I, [2019-11-23T20:16:54.503958 #461]  INFO -- : worker=9 ready
E, [2019-11-23T20:16:54.528521 #265] ERROR -- : reaped #<Process::Status: pid 468 SIGKILL (signal 9)> worker=1
E, [2019-11-23T20:16:54.568986 #265] ERROR -- : reaped #<Process::Status: pid 471 SIGKILL (signal 9)> worker=1
E, [2019-11-23T20:16:54.625812 #265] ERROR -- : reaped #<Process::Status: pid 474 SIGKILL (signal 9)> worker=1
E, [2019-11-23T20:16:54.670286 #265] ERROR -- : reaped #<Process::Status: pid 477 SIGKILL (signal 9)> worker=1
E, [2019-11-23T20:16:54.715126 #265] ERROR -- : reaped #<Process::Status: pid 480 SIGKILL (signal 9)> worker=1
E, [2019-11-23T20:16:54.778678 #265] ERROR -- : reaped #<Process::Status: pid 483 SIGKILL (signal 9)> worker=1
E, [2019-11-23T20:16:54.893740 #265] ERROR -- : reaped #<Process::Status: pid 486 SIGKILL (signal 9)> worker=1
E, [2019-11-23T20:16:54.898452 #265] ERROR -- : reaped #<Process::Status: pid 425 SIGKILL (signal 9)> worker=19
E, [2019-11-23T20:16:54.925699 #265] ERROR -- : reaped #<Process::Status: pid 492 SIGKILL (signal 9)> worker=19
E, [2019-11-23T20:16:54.954065 #265] ERROR -- : reaped #<Process::Status: pid 421 SIGKILL (signal 9)> worker=17
E, [2019-11-23T20:16:54.958174 #265] ERROR -- : reaped #<Process::Status: pid 495 SIGKILL (signal 9)> worker=19
E, [2019-11-23T20:16:54.994968 #265] ERROR -- : reaped #<Process::Status: pid 501 SIGKILL (signal 9)> worker=19
E, [2019-11-23T20:16:55.130972 #265] ERROR -- : reaped #<Process::Status: pid 489 SIGKILL (signal 9)> worker=1
E, [2019-11-23T20:16:55.131207 #265] ERROR -- : reaped #<Process::Status: pid 498 SIGKILL (signal 9)> worker=17
E, [2019-11-23T20:16:55.163154 #265] ERROR -- : reaped #<Process::Status: pid 506 SIGKILL (signal 9)> worker=19
E, [2019-11-23T20:16:55.208328 #265] ERROR -- : reaped #<Process::Status: pid 509 SIGKILL (signal 9)> worker=1
E, [2019-11-23T20:16:55.208603 #265] ERROR -- : reaped #<Process::Status: pid 512 SIGKILL (signal 9)> worker=17
E, [2019-11-23T20:16:55.290355 #265] ERROR -- : reaped #<Process::Status: pid 515 SIGKILL (signal 9)> worker=19
E, [2019-11-23T20:16:55.290744 #265] ERROR -- : reaped #<Process::Status: pid 518 SIGKILL (signal 9)> worker=1
E, [2019-11-23T20:16:55.319383 #265] ERROR -- : reaped #<Process::Status: pid 522 SIGKILL (signal 9)> worker=17
E, [2019-11-23T20:16:55.386511 #265] ERROR -- : reaped #<Process::Status: pid 525 SIGKILL (signal 9)> worker=1
E, [2019-11-23T20:16:55.386759 #265] ERROR -- : reaped #<Process::Status: pid 528 SIGKILL (signal 9)> worker=19
E, [2019-11-23T20:16:55.454402 #265] ERROR -- : reaped #<Process::Status: pid 532 SIGKILL (signal 9)> worker=17
E, [2019-11-23T20:16:55.454671 #265] ERROR -- : reaped #<Process::Status: pid 535 SIGKILL (signal 9)> worker=1
E, [2019-11-23T20:16:55.538419 #265] ERROR -- : reaped #<Process::Status: pid 539 SIGKILL (signal 9)> worker=19
E, [2019-11-23T20:16:55.538661 #265] ERROR -- : reaped #<Process::Status: pid 542 SIGKILL (signal 9)> worker=1
E, [2019-11-23T20:16:55.616861 #265] ERROR -- : reaped #<Process::Status: pid 546 SIGKILL (signal 9)> worker=17
E, [2019-11-23T20:16:55.617097 #265] ERROR -- : reaped #<Process::Status: pid 549 SIGKILL (signal 9)> worker=1
E, [2019-11-23T20:16:55.634344 #265] ERROR -- : reaped #<Process::Status: pid 553 SIGKILL (signal 9)> worker=19
E, [2019-11-23T20:16:55.715148 #265] ERROR -- : reaped #<Process::Status: pid 556 SIGKILL (signal 9)> worker=1
E, [2019-11-23T20:16:55.715472 #265] ERROR -- : reaped #<Process::Status: pid 559 SIGKILL (signal 9)> worker=17
E, [2019-11-23T20:16:55.795140 #265] ERROR -- : reaped #<Process::Status: pid 563 SIGKILL (signal 9)> worker=19
E, [2019-11-23T20:16:55.795378 #265] ERROR -- : reaped #<Process::Status: pid 566 SIGKILL (signal 9)> worker=1
E, [2019-11-23T20:16:55.869867 #265] ERROR -- : reaped #<Process::Status: pid 570 SIGKILL (signal 9)> worker=17
E, [2019-11-23T20:16:55.870195 #265] ERROR -- : reaped #<Process::Status: pid 573 SIGKILL (signal 9)> worker=1
E, [2019-11-23T20:16:55.960050 #265] ERROR -- : reaped #<Process::Status: pid 577 SIGKILL (signal 9)> worker=19
E, [2019-11-23T20:16:55.960403 #265] ERROR -- : reaped #<Process::Status: pid 580 SIGKILL (signal 9)> worker=1
E, [2019-11-23T20:16:56.056711 #265] ERROR -- : reaped #<Process::Status: pid 584 SIGKILL (signal 9)> worker=17
E, [2019-11-23T20:16:56.057070 #265] ERROR -- : reaped #<Process::Status: pid 587 SIGKILL (signal 9)> worker=1
E, [2019-11-23T20:16:56.157112 #265] ERROR -- : reaped #<Process::Status: pid 591 SIGKILL (signal 9)> worker=19
E, [2019-11-23T20:16:56.157450 #265] ERROR -- : reaped #<Process::Status: pid 594 SIGKILL (signal 9)> worker=1
E, [2019-11-23T20:16:56.181987 #265] ERROR -- : reaped #<Process::Status: pid 601 SIGKILL (signal 9)> worker=1
E, [2019-11-23T20:16:56.191020 #265] ERROR -- : reaped #<Process::Status: pid 598 SIGKILL (signal 9)> worker=17
E, [2019-11-23T20:16:56.212368 #265] ERROR -- : reaped #<Process::Status: pid 604 SIGKILL (signal 9)> worker=19
E, [2019-11-23T20:16:56.284670 #265] ERROR -- : reaped #<Process::Status: pid 607 SIGKILL (signal 9)> worker=1
E, [2019-11-23T20:16:56.285009 #265] ERROR -- : reaped #<Process::Status: pid 610 SIGKILL (signal 9)> worker=17
E, [2019-11-23T20:16:56.379543 #265] ERROR -- : reaped #<Process::Status: pid 461 SIGKILL (signal 9)> worker=9
E, [2019-11-23T20:16:56.379806 #265] ERROR -- : reaped #<Process::Status: pid 614 SIGKILL (signal 9)> worker=19
E, [2019-11-23T20:16:56.379842 #265] ERROR -- : reaped #<Process::Status: pid 617 SIGKILL (signal 9)> worker=1
I, [2019-11-23T20:16:56.406961 #621]  INFO -- : worker=17 ready
I, [2019-11-23T20:16:56.412844 #624]  INFO -- : worker=1 ready
I, [2019-11-23T20:16:56.418755 #628]  INFO -- : worker=9 ready
I, [2019-11-23T20:16:56.420583 #632]  INFO -- : worker=19 ready
E, [2019-11-23T20:17:02.739940 #265] ERROR -- : reaped #<Process::Status: pid 621 SIGKILL (signal 9)> worker=17
I, [2019-11-23T20:17:02.773119 #640]  INFO -- : worker=17 ready
E, [2019-11-23T20:17:05.019287 #265] ERROR -- : reaped #<Process::Status: pid 628 SIGKILL (signal 9)> worker=9
E, [2019-11-23T20:17:05.054391 #265] ERROR -- : reaped #<Process::Status: pid 644 SIGKILL (signal 9)> worker=9
E, [2019-11-23T20:17:05.094302 #265] ERROR -- : reaped #<Process::Status: pid 647 SIGKILL (signal 9)> worker=9
E, [2019-11-23T20:17:05.134511 #265] ERROR -- : reaped #<Process::Status: pid 650 SIGKILL (signal 9)> worker=9
E, [2019-11-23T20:17:05.178372 #265] ERROR -- : reaped #<Process::Status: pid 653 SIGKILL (signal 9)> worker=9
E, [2019-11-23T20:17:05.242457 #265] ERROR -- : reaped #<Process::Status: pid 656 SIGKILL (signal 9)> worker=9
E, [2019-11-23T20:17:05.279211 #265] ERROR -- : reaped #<Process::Status: pid 632 SIGKILL (signal 9)> worker=19
E, [2019-11-23T20:17:05.405743 #265] ERROR -- : reaped #<Process::Status: pid 375 SIGKILL (signal 9)> worker=10
E, [2019-11-23T20:17:05.406002 #265] ERROR -- : reaped #<Process::Status: pid 624 SIGKILL (signal 9)> worker=1
E, [2019-11-23T20:17:05.406057 #265] ERROR -- : reaped #<Process::Status: pid 659 SIGKILL (signal 9)> worker=9
I, [2019-11-23T20:17:05.433283 #663]  INFO -- : worker=19 ready
I, [2019-11-23T20:17:05.438753 #666]  INFO -- : worker=1 ready
I, [2019-11-23T20:17:05.445287 #670]  INFO -- : worker=9 ready
I, [2019-11-23T20:17:05.450049 #673]  INFO -- : worker=10 ready
E, [2019-11-23T20:17:09.232080 #265] ERROR -- : reaped #<Process::Status: pid 673 SIGKILL (signal 9)> worker=10
I, [2019-11-23T20:17:09.264330 #679]  INFO -- : worker=10 ready

nginx/redmine_error.log

log
2019/11/23 20:16:45 [error] 276#276: *2 upstream prematurely closed connection while reading response header from upstream, client: 10.8.0.58, server: , request: "GET /my/account HTTP/2.0", upstream: "http://127.0.0.1:8080/my/account", host: "10.3.0.88:10446", referrer: "https://10.3.0.88:10446/issues?assigned_to_id=me&set_filter=1&sort=priority%3Adesc%2Cupdated_on%3Adesc"
2019/11/23 20:16:54 [error] 276#276: *2 upstream prematurely closed connection while reading response header from upstream, client: 10.8.0.58, server: , request: "GET /images/arrow_right.png HTTP/2.0", upstream: "http://127.0.0.1:8080/images/arrow_right.png", host: "10.3.0.88:10446", referrer: "https://10.3.0.88:10446/stylesheets/application.css"
2019/11/23 20:16:54 [error] 276#276: *2 upstream prematurely closed connection while reading response header from upstream, client: 10.8.0.58, server: , request: "GET /issue_badge HTTP/2.0", upstream: "http://127.0.0.1:8080/issue_badge", host: "10.3.0.88:10446", referrer: "https://10.3.0.88:10446/issues?assigned_to_id=me&set_filter=1&sort=priority%3Adesc%2Cupdated_on%3Adesc"
2019/11/23 20:17:02 [error] 276#276: *2 upstream prematurely closed connection while reading response header from upstream, client: 10.8.0.58, server: , request: "GET /admin HTTP/2.0", upstream: "http://127.0.0.1:8080/admin", host: "10.3.0.88:10446", referrer: "https://10.3.0.88:10446/issues?assigned_to_id=me&set_filter=1&sort=priority%3Adesc%2Cupdated_on%3Adesc"
2019/11/23 20:17:05 [error] 276#276: *2 upstream prematurely closed connection while reading response header from upstream, client: 10.8.0.58, server: , request: "GET /issues?assigned_to_id=me&set_filter=1&sort=priority%3Adesc%2Cupdated_on%3Adesc HTTP/2.0", upstream: "http://127.0.0.1:8080/issues?assigned_to_id=me&set_filter=1&sort=priority%3Adesc%2Cupdated_on%3Adesc", host: "10.3.0.88:10446", referrer: "https://10.3.0.88:10446/settings/plugin/redmine_issue_badge"
2019/11/23 20:17:09 [error] 276#276: *2 upstream prematurely closed connection while reading response header from upstream, client: 10.8.0.58, server: , request: "GET /settings/plugin/redmine_issue_badge HTTP/2.0", upstream: "http://127.0.0.1:8080/settings/plugin/redmine_issue_badge", host: "10.3.0.88:10446", referrer: "https://10.3.0.88:10446/settings/plugin/redmine_issue_badge"
2019/11/23 20:43:34 [error] 276#276: *131 upstream prematurely closed connection while reading response header from upstream, client: 10.8.0.58, server: , request: "GET /issues HTTP/2.0", upstream: "http://127.0.0.1:8080/issues", host: "10.3.0.88:10446", referrer: "https://10.3.0.88:10446/projects"
2019/11/23 20:43:53 [error] 276#276: *131 upstream prematurely closed connection while reading response header from upstream, client: 10.8.0.58, server: , request: "GET /issues HTTP/2.0", upstream: "http://127.0.0.1:8080/issues", host: "10.3.0.88:10446", referrer: "https://10.3.0.88:10446/time_entries"

About my Redmine installation:
sameersbn / redmine: 4.0.4

environment:
Redmine version 4.0.4.stable
Ruby version 2.4.6-p354 (2019-04-01) [x86_64-linux-gnu]
Rails version 5.2.3
Environment production
Database adapter Mysql2
Mailer queue ActiveJob :: QueueAdapters :: AsyncAdapter
Mailer delivery smtp
SCM:
Subversion 1.9.3
Mercurial 3.7.3
CVS 12.1.13
Bazaar 2.7.0
Git 2.21.0
Filesystem
Redmine plugins:
redmine_issue_badge 0.1.1

Any ideas how to make the plugin work?

Breaks with Redmine 4

The plugin won't work with Redmine 4:

$ RAILS_ENV=production rake db:migrate --trace
** Invoke db:migrate (first_time)
** Invoke db:load_config (first_time)
** Invoke environment (first_time)
** Execute environment
rake aborted!
NoMethodError: undefined method `alias_method_chain' for MyController:Class
Did you mean?  alias_method
/opt/redmine-4.0.1/plugins/redmine_issue_badge/lib/issue_badge/my_controller_patch.rb:5:in `block in <module:MyControllerPatch>'
/usr/local/rvm/gems/ruby-2.4.5/gems/activesupport-5.2.2/lib/active_support/concern.rb:122:in `class_eval'
/usr/local/rvm/gems/ruby-2.4.5/gems/activesupport-5.2.2/lib/active_support/concern.rb:122:in `append_features'
/opt/redmine-4.0.1/plugins/redmine_issue_badge/init.rb:11:in `include'
/opt/redmine-4.0.1/plugins/redmine_issue_badge/init.rb:11:in `block in <top (required)>'
/usr/local/rvm/gems/ruby-2.4.5/gems/activesupport-5.2.2/lib/active_support/callbacks.rb:426:in `instance_exec'
/usr/local/rvm/gems/ruby-2.4.5/gems/activesupport-5.2.2/lib/active_support/callbacks.rb:426:in `block in make_lambda'
/usr/local/rvm/gems/ruby-2.4.5/gems/activesupport-5.2.2/lib/active_support/callbacks.rb:198:in `block (2 levels) in halting'
/usr/local/rvm/gems/ruby-2.4.5/gems/activesupport-5.2.2/lib/active_support/callbacks.rb:606:in `block (2 levels) in default_terminator'
/usr/local/rvm/gems/ruby-2.4.5/gems/activesupport-5.2.2/lib/active_support/callbacks.rb:605:in `catch'
/usr/local/rvm/gems/ruby-2.4.5/gems/activesupport-5.2.2/lib/active_support/callbacks.rb:605:in `block in default_terminator'
/usr/local/rvm/gems/ruby-2.4.5/gems/activesupport-5.2.2/lib/active_support/callbacks.rb:199:in `block in halting'
/usr/local/rvm/gems/ruby-2.4.5/gems/activesupport-5.2.2/lib/active_support/callbacks.rb:513:in `block in invoke_before'
/usr/local/rvm/gems/ruby-2.4.5/gems/activesupport-5.2.2/lib/active_support/callbacks.rb:513:in `each'
/usr/local/rvm/gems/ruby-2.4.5/gems/activesupport-5.2.2/lib/active_support/callbacks.rb:513:in `invoke_before'
/usr/local/rvm/gems/ruby-2.4.5/gems/activesupport-5.2.2/lib/active_support/callbacks.rb:131:in `run_callbacks'
/usr/local/rvm/gems/ruby-2.4.5/gems/activesupport-5.2.2/lib/active_support/reloader.rb:89:in `prepare!'
/usr/local/rvm/gems/ruby-2.4.5/gems/railties-5.2.2/lib/rails/application/finisher.rb:63:in `block in <module:Finisher>'
/usr/local/rvm/gems/ruby-2.4.5/gems/railties-5.2.2/lib/rails/initializable.rb:32:in `instance_exec'
/usr/local/rvm/gems/ruby-2.4.5/gems/railties-5.2.2/lib/rails/initializable.rb:32:in `run'
/usr/local/rvm/gems/ruby-2.4.5/gems/railties-5.2.2/lib/rails/initializable.rb:61:in `block in run_initializers'
/usr/local/rvm/rubies/ruby-2.4.5/lib/ruby/2.4.0/tsort.rb:228:in `block in tsort_each'
/usr/local/rvm/rubies/ruby-2.4.5/lib/ruby/2.4.0/tsort.rb:350:in `block (2 levels) in each_strongly_connected_component'
/usr/local/rvm/rubies/ruby-2.4.5/lib/ruby/2.4.0/tsort.rb:431:in `each_strongly_connected_component_from'
/usr/local/rvm/rubies/ruby-2.4.5/lib/ruby/2.4.0/tsort.rb:349:in `block in each_strongly_connected_component'
/usr/local/rvm/rubies/ruby-2.4.5/lib/ruby/2.4.0/tsort.rb:347:in `each'
/usr/local/rvm/rubies/ruby-2.4.5/lib/ruby/2.4.0/tsort.rb:347:in `call'
/usr/local/rvm/rubies/ruby-2.4.5/lib/ruby/2.4.0/tsort.rb:347:in `each_strongly_connected_component'
/usr/local/rvm/rubies/ruby-2.4.5/lib/ruby/2.4.0/tsort.rb:226:in `tsort_each'
/usr/local/rvm/rubies/ruby-2.4.5/lib/ruby/2.4.0/tsort.rb:205:in `tsort_each'
/usr/local/rvm/gems/ruby-2.4.5/gems/railties-5.2.2/lib/rails/initializable.rb:60:in `run_initializers'
/usr/local/rvm/gems/ruby-2.4.5/gems/railties-5.2.2/lib/rails/application.rb:361:in `initialize!'
/opt/redmine-4.0.1/config/environment.rb:14:in `<top (required)>'
/usr/local/rvm/gems/ruby-2.4.5/gems/activesupport-5.2.2/lib/active_support/dependencies.rb:291:in `require'
/usr/local/rvm/gems/ruby-2.4.5/gems/activesupport-5.2.2/lib/active_support/dependencies.rb:291:in `block in require'
/usr/local/rvm/gems/ruby-2.4.5/gems/activesupport-5.2.2/lib/active_support/dependencies.rb:257:in `load_dependency'
/usr/local/rvm/gems/ruby-2.4.5/gems/activesupport-5.2.2/lib/active_support/dependencies.rb:291:in `require'
/usr/local/rvm/gems/ruby-2.4.5/gems/railties-5.2.2/lib/rails/application.rb:337:in `require_environment!'
/usr/local/rvm/gems/ruby-2.4.5/gems/railties-5.2.2/lib/rails/application.rb:520:in `block in run_tasks_blocks'
/usr/local/rvm/gems/ruby-2.4.5/gems/rake-12.3.2/lib/rake/task.rb:273:in `block in execute'
/usr/local/rvm/gems/ruby-2.4.5/gems/rake-12.3.2/lib/rake/task.rb:273:in `each'
/usr/local/rvm/gems/ruby-2.4.5/gems/rake-12.3.2/lib/rake/task.rb:273:in `execute'
/usr/local/rvm/gems/ruby-2.4.5/gems/rake-12.3.2/lib/rake/task.rb:214:in `block in invoke_with_call_chain'
/usr/local/rvm/rubies/ruby-2.4.5/lib/ruby/2.4.0/monitor.rb:214:in `mon_synchronize'
/usr/local/rvm/gems/ruby-2.4.5/gems/rake-12.3.2/lib/rake/task.rb:194:in `invoke_with_call_chain'
/usr/local/rvm/gems/ruby-2.4.5/gems/rake-12.3.2/lib/rake/task.rb:238:in `block in invoke_prerequisites'
/usr/local/rvm/gems/ruby-2.4.5/gems/rake-12.3.2/lib/rake/task.rb:236:in `each'
/usr/local/rvm/gems/ruby-2.4.5/gems/rake-12.3.2/lib/rake/task.rb:236:in `invoke_prerequisites'
/usr/local/rvm/gems/ruby-2.4.5/gems/rake-12.3.2/lib/rake/task.rb:213:in `block in invoke_with_call_chain'
/usr/local/rvm/rubies/ruby-2.4.5/lib/ruby/2.4.0/monitor.rb:214:in `mon_synchronize'
/usr/local/rvm/gems/ruby-2.4.5/gems/rake-12.3.2/lib/rake/task.rb:194:in `invoke_with_call_chain'
/usr/local/rvm/gems/ruby-2.4.5/gems/rake-12.3.2/lib/rake/task.rb:238:in `block in invoke_prerequisites'
/usr/local/rvm/gems/ruby-2.4.5/gems/rake-12.3.2/lib/rake/task.rb:236:in `each'
/usr/local/rvm/gems/ruby-2.4.5/gems/rake-12.3.2/lib/rake/task.rb:236:in `invoke_prerequisites'
/usr/local/rvm/gems/ruby-2.4.5/gems/rake-12.3.2/lib/rake/task.rb:213:in `block in invoke_with_call_chain'
/usr/local/rvm/rubies/ruby-2.4.5/lib/ruby/2.4.0/monitor.rb:214:in `mon_synchronize'
/usr/local/rvm/gems/ruby-2.4.5/gems/rake-12.3.2/lib/rake/task.rb:194:in `invoke_with_call_chain'
/usr/local/rvm/gems/ruby-2.4.5/gems/rake-12.3.2/lib/rake/task.rb:183:in `invoke'
/usr/local/rvm/gems/ruby-2.4.5/gems/rake-12.3.2/lib/rake/application.rb:160:in `invoke_task'
/usr/local/rvm/gems/ruby-2.4.5/gems/rake-12.3.2/lib/rake/application.rb:116:in `block (2 levels) in top_level'
/usr/local/rvm/gems/ruby-2.4.5/gems/rake-12.3.2/lib/rake/application.rb:116:in `each'
/usr/local/rvm/gems/ruby-2.4.5/gems/rake-12.3.2/lib/rake/application.rb:116:in `block in top_level'
/usr/local/rvm/gems/ruby-2.4.5/gems/rake-12.3.2/lib/rake/application.rb:125:in `run_with_threads'
/usr/local/rvm/gems/ruby-2.4.5/gems/rake-12.3.2/lib/rake/application.rb:110:in `top_level'
/usr/local/rvm/gems/ruby-2.4.5/gems/rake-12.3.2/lib/rake/application.rb:83:in `block in run'
/usr/local/rvm/gems/ruby-2.4.5/gems/rake-12.3.2/lib/rake/application.rb:186:in `standard_exception_handling'
/usr/local/rvm/gems/ruby-2.4.5/gems/rake-12.3.2/lib/rake/application.rb:80:in `run'
/usr/local/rvm/gems/ruby-2.4.5/gems/rake-12.3.2/exe/rake:27:in `<top (required)>'
/usr/local/rvm/gems/ruby-2.4.5/bin/rake:23:in `load'
/usr/local/rvm/gems/ruby-2.4.5/bin/rake:23:in `<main>'
/usr/local/rvm/gems/ruby-2.4.5/bin/ruby_executable_hooks:24:in `eval'
/usr/local/rvm/gems/ruby-2.4.5/bin/ruby_executable_hooks:24:in `<main>'
Tasks: TOP => db:migrate => db:load_config => environment

Apparently this method was deprecated with Rails 5.1, and Redmine 4 uses 5.2.2 (up from 4.2.8 in Redmine 3.4.6).

Failed in case change setting into false. (on Redmine3.3.1 or later)

Related: https://redmine.org/projects/redmine/repository/revisions/15729/diff/trunk/app/controllers/settings_controller.rb

If unchecked checkbox and submit, settings[activate_for_all_users] is not passed.
After Redmine 3.3.1, in case parameter for settings is empty, error will occur.

NoMethodError in SettingsController#plugin
undefined method `permit!' for nil:NilClass
app/controllers/settings_controller.rb:65:in `plugin'
Setting.send "plugin_#{@plugin.id}=", params[:settings].permit!.to_h

Custom Query

Hello!
It would be great to be able to use a custom query instead of a predefined one. What do you think?

Redmine not at root

Great plugin, but when you don't have Redmine installed at root, some of the links are wrong.

suggestion of applying to all users

Hi,
I've tried this awesome plugin, thanks!

But I really need that all users to turn on this feature, not manually set by each user their own.

Improvement : Auto-refresh

Hi again,

This plutin is already very good, but I've just had an idea about a feature : Would it be possible to auto-refresh the number in the badge without refreshing the page manually ? With AJAX or something ?

Would be great to have a real realtime counter.
Maybe that's too hard to do though...

--
Léo.

can't enable badge for one user but works when enabled for all

Hello i've just installed aand i got little error, i've tried to enable plugin for some users but the checkbox will drop selection as i save settings and still be unchecked. But when i enabled plugin in plugin settings for all users it just works with standard options therefore i cannot change any setting again in my profile page
I'm using
Redmine version 4.0.1.stable
Ruby version 2.4.5-p335 (2018-10-18) [i386-mingw32]
Rails version 5.2.2

all installed with bitnami on windows machine

TODO

  • add test with drone.
  • add simple test code.

Can not save user setting of issue badge

Hi,

I just installed this plugin (version 0.1.1) on redmine 4.0.4. I can not save any setting that belongs to issue badge.
Here are the gif that recorded the action what I did.
can not save setting

Other setting in this page can be save correctly, also the settings in admin panel could be saved normally.

Add missing german translation

Feel free to add the german translation as written below...
I skipped the admin-portion of the translations...

# German strings go here for Rails i18n
de:
  title_issue_badge: Ticket Badge
  label_issue_badge: Anzahl der zugewiesenen Tickets anzeigen
  label_activate_for_all_users: Display issue badge for all users
  label_enabled_polling: Enabled pollig to refresh issue count(Interval 60sec)
  label_show_assigned_to_group: Tickets für zugewiesene Gruppen anzeigen
  label_badge_order: Liste sortieren
  label_badge_order_oldest: nach den ältesten 5 Tickets
  label_badge_order_newest: nach den neuesten 5 Tickets

New german translation

I just updated to v0.1.3 and found a new variable which needs to be localized...:
label_use_custom_query: Benutzerdefinierte Abfrage

CSS bug

issue_badge a, a:link, a:visited {

...
}

should be:

issue_badge a, #issue_badge a:link, #issue_badge a:visited {

...
}

Badge color is wrong on mobile

The badge background-color is green when on mobile view and red on desktop view.

As a suggestion I think it should have a preference for green when = 0 and red when > 0.

is it possible to custom the badge?

This plugin is great and i love it.
I just want to know that if it is possible to custom the badge.

  1. the badge display some issue, according to a custom query, instead of the fixed query. and the comment that what it is is set by user.
  2. the badge number could be set by administrator.

then i could add a badge with assigned issue, or created issue, or watched issue, or 1-month updated issue and so on.
but i have no ruby rails skill...
thanks.

Cannot install on CentOS 7.3 with Redmine 3.3.3

Here's the error message I'm getting:

[root@redminetest plugins]# rake redmine:plugins:migrate RAILS_ENV=production --trace
(in /opt/redmine-3.3.3)
rspec failed.
** Invoke redmine:plugins:migrate (first_time)
** Invoke environment (first_time)
** Execute environment
rspec failed.
rake aborted!
NoMethodError: private method `include' called for MyController:Class
/opt/redmine-3.3.3/plugins/redmine_issue_badge/init.rb:9:in `block in <top (required)>'
/usr/local/share/gems/gems/activesupport-4.2.7.1/lib/active_support/callbacks.rb:446:in `instance_exec'
/usr/local/share/gems/gems/activesupport-4.2.7.1/lib/active_support/callbacks.rb:446:in `block in make_lambda'
/usr/local/share/gems/gems/activesupport-4.2.7.1/lib/active_support/callbacks.rb:192:in `call'
/usr/local/share/gems/gems/activesupport-4.2.7.1/lib/active_support/callbacks.rb:192:in `block in simple'
/usr/local/share/gems/gems/activesupport-4.2.7.1/lib/active_support/callbacks.rb:504:in `call'
/usr/local/share/gems/gems/activesupport-4.2.7.1/lib/active_support/callbacks.rb:504:in `block in call'
/usr/local/share/gems/gems/activesupport-4.2.7.1/lib/active_support/callbacks.rb:504:in `each'
/usr/local/share/gems/gems/activesupport-4.2.7.1/lib/active_support/callbacks.rb:504:in `call'
/usr/local/share/gems/gems/activesupport-4.2.7.1/lib/active_support/callbacks.rb:92:in `__run_callbacks__'
/usr/local/share/gems/gems/activesupport-4.2.7.1/lib/active_support/callbacks.rb:778:in `_run_prepare_callbacks'
/usr/local/share/gems/gems/activesupport-4.2.7.1/lib/active_support/callbacks.rb:81:in `run_callbacks'
/usr/local/share/gems/gems/actionpack-4.2.7.1/lib/action_dispatch/middleware/reloader.rb:83:in `prepare!'
/usr/local/share/gems/gems/actionpack-4.2.7.1/lib/action_dispatch/middleware/reloader.rb:55:in `prepare!'
/usr/local/share/gems/gems/railties-4.2.7.1/lib/rails/application/finisher.rb:50:in `block in <module:Finisher>'
/usr/local/share/gems/gems/railties-4.2.7.1/lib/rails/initializable.rb:30:in `instance_exec'
/usr/local/share/gems/gems/railties-4.2.7.1/lib/rails/initializable.rb:30:in `run'
/usr/local/share/gems/gems/railties-4.2.7.1/lib/rails/initializable.rb:55:in `block in run_initializers'
/usr/share/ruby/tsort.rb:150:in `block in tsort_each'
/usr/share/ruby/tsort.rb:183:in `block (2 levels) in each_strongly_connected_component'
/usr/share/ruby/tsort.rb:219:in `each_strongly_connected_component_from'
/usr/share/ruby/tsort.rb:182:in `block in each_strongly_connected_component'
/usr/share/ruby/tsort.rb:180:in `each'
/usr/share/ruby/tsort.rb:180:in `each_strongly_connected_component'
/usr/share/ruby/tsort.rb:148:in `tsort_each'
/usr/local/share/gems/gems/railties-4.2.7.1/lib/rails/initializable.rb:54:in `run_initializers'
/usr/local/share/gems/gems/railties-4.2.7.1/lib/rails/application.rb:352:in `initialize!'
/opt/redmine-3.3.3/config/environment.rb:14:in `<top (required)>'
/usr/local/share/gems/gems/railties-4.2.7.1/lib/rails/application.rb:328:in `require'
/usr/local/share/gems/gems/railties-4.2.7.1/lib/rails/application.rb:328:in `require_environment!'
/usr/local/share/gems/gems/railties-4.2.7.1/lib/rails/application.rb:457:in `block in run_tasks_blocks'
/usr/local/share/gems/gems/rake-12.0.0/lib/rake/task.rb:250:in `call'
/usr/local/share/gems/gems/rake-12.0.0/lib/rake/task.rb:250:in `block in execute'
/usr/local/share/gems/gems/rake-12.0.0/lib/rake/task.rb:250:in `each'
/usr/local/share/gems/gems/rake-12.0.0/lib/rake/task.rb:250:in `execute'
/usr/local/share/gems/gems/rake-12.0.0/lib/rake/task.rb:194:in `block in invoke_with_call_chain'
/usr/share/ruby/monitor.rb:211:in `mon_synchronize'
/usr/local/share/gems/gems/rake-12.0.0/lib/rake/task.rb:187:in `invoke_with_call_chain'
/usr/local/share/gems/gems/rake-12.0.0/lib/rake/task.rb:216:in `block in invoke_prerequisites'
/usr/local/share/gems/gems/rake-12.0.0/lib/rake/task.rb:214:in `each'
/usr/local/share/gems/gems/rake-12.0.0/lib/rake/task.rb:214:in `invoke_prerequisites'
/usr/local/share/gems/gems/rake-12.0.0/lib/rake/task.rb:193:in `block in invoke_with_call_chain'
/usr/share/ruby/monitor.rb:211:in `mon_synchronize'
/usr/local/share/gems/gems/rake-12.0.0/lib/rake/task.rb:187:in `invoke_with_call_chain'
/usr/local/share/gems/gems/rake-12.0.0/lib/rake/task.rb:180:in `invoke'
/usr/local/share/gems/gems/rake-12.0.0/lib/rake/application.rb:152:in `invoke_task'
/usr/local/share/gems/gems/rake-12.0.0/lib/rake/application.rb:108:in `block (2 levels) in top_level'
/usr/local/share/gems/gems/rake-12.0.0/lib/rake/application.rb:108:in `each'
/usr/local/share/gems/gems/rake-12.0.0/lib/rake/application.rb:108:in `block in top_level'
/usr/local/share/gems/gems/rake-12.0.0/lib/rake/application.rb:117:in `run_with_threads'
/usr/local/share/gems/gems/rake-12.0.0/lib/rake/application.rb:102:in `top_level'
/usr/local/share/gems/gems/rake-12.0.0/lib/rake/application.rb:80:in `block in run'
/usr/local/share/gems/gems/rake-12.0.0/lib/rake/application.rb:178:in `standard_exception_handling'
/usr/local/share/gems/gems/rake-12.0.0/lib/rake/application.rb:77:in `run'
/usr/local/share/gems/gems/rake-12.0.0/exe/rake:27:in `<top (required)>'
/usr/local/bin/rake:23:in `load'
/usr/local/bin/rake:23:in `<main>'
Tasks: TOP => redmine:plugins:migrate => environment

Please let me know if you need any more info. Thanks in advance.

JS bug

this line:

 if (!$.contains($("#issue_badge_contents")[0], event.target)) {

somehow cause an error in jQuery,

it should be write like this:

if (!$(event.target).is("#issue_badge_contents")) {
...
}

issue_badge

Hi,

Thanks for the plugin.

We have some problem on screen with the box containing issues. Is it easy to fix?

I think the problem with the label
div id="issue_badge"

seleccion_384

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.