When trying to bulk assign topics to a user via bulk topics action modal
the modal was broken because the key "model.description" was missing.
This commit adds key "model.description" and adds a new locale for it to
indicate that this action will be performed on multiple topics.
When topic is closed, we mark assignments as "inactive". Then when it is reopen and setting reassign_on_open is enabled, we bring back previous assignments.
We were already using custom fields for archive message and move to inbox. I changed custom fields solution to use active flag on Assignment model
1. When post is assigned to current user, unassign icon is not hidden
2. Link under names lead to topic (when topic assignment) and to post (when post assignment)
Build a new workflow that adds a dropdown in place of the old assign button with the ability to
Re-assign a new user / group to an assigned topic
Re-assign yourself to an assigned topic
Unassign a user / group from an assigned topic
Change `topic_id` to polymorphic approach (In the next step we will allow assigning to individual post)
`topic_id` column is still used for efficient display of assigned users on topic list (to avoid scanning posts)
The first issue is using `updateCurrentUser` when code was conditional
in an initializer. Instead we need to use `needs.user()`.
The second issue was trickier to track down but we were using an
observer in a syncrhnous way which is not allowed in newer Embers. This
removes the observer (and some dead code around it!) so that we can
execute that code synchronously.
If the user selected Never for their frequency of assigned topic
reminder PMs, the option automatically set back to the default
value (Monthly) because of the user of the `or` computed helper,
which considered the 0 value of Never to be falsey.
This is the same problem that occurred in core which was fixed by
d3779d4cf7
We need to be careful around using the `or` helper if any of the
options could be considered falsey.
On the group assignment page, we should be able to display
- all topics assigned to that group + to user belonging to that group
- all topics assigned directly to group
- all topics assigned to individual user
Ability to assign groups.
To assign group, user must have a right to send a message to that group.
In addition, 2 jobs were introduced, - AssignNotification and UnassignNotification to inform interested users in the background about the new assignment.