Patch #32628

Updated by Jan from Planio about 1 year ago

This feature introduces a setting in each user's *My account* section which allows them to select/deselect a new option labeled *Also notify me about issues with a priority of high or higher*.

If this option is set, users will be notified about issues that have a high priority even if they're not assigned to or watching it.

Currently, I see 2 use cases for this:

# Project Management: Higher level project managers who oversee multiple projects and aren't directly involved in the day to day business but want to be in the loop about things that have a high priority.
# Help desk: In a help desk or service desk scenario, users may wish to disable all notifications and only work on the ticket queue in Redmine during their work hours. However, if tickets have a high priority, they may want to be notified by email even outside their work hours, when they're not logged in to Redmine.


For this feature, we need a definition of what a "high" priority is, because priorities can be created by Redmine admins. The proposed implementation works akin to the CSS classes of issues (for colouring in some themes) in the issue list. For this, Redmine already computes "position names", e.g. @high@, @high2@, @highest@, etc.

In order to use this mechanism, patch 0002 extracts finding the "middle" priority into its own method, and patch 0003 uses the method to define a -@is_high?@- @high?@ an @is_high?@ helper. A -@is_low?@- @low?@ An @is_low?@ helper is introduced as well for completeness sake and potential future uses.

Finally, patch 0004 introduces the new user preference and the mechanism that sends the notifications.

Tests for all relevant parts are included.