Commit Graph

26 Commits

Author SHA1 Message Date
Loïc Guitaut c33297316a
DEV: Fix new Rubocop offenses (#548) 2024-02-29 18:23:48 +01:00
Loïc Guitaut 80604e9012 FIX: Display assignments in user menu properly
Currently, we display a mix of topics and notifications in the user menu
assignments tab. This has a number of issues like having to maintain
hard to understand code instead of simply relying on the notifications
system we have, we can’t display more than one assignment per topic and
it’s not clear if an assignment is for a topic or a post nor if it’s a
group assignment or an individual one.

This patch addresses those issues by relying on the notifications system
we’re using for most of the other user menu tabs instead of a custom
implementation. This led to some heavy refactoring but it was
worthwhile as things are a bit more normalized and easier to reason
about. Instead of serializing topics with different attributes to access
various assignments, we now simply return a notification for each
existing assignment.

The UI changed a bit: tooltips are now explaining if the assignment is
for a topic or a post and if it’s for an individual or a group. Icons
are also properly set (so no more individual icon for group assignments)
and the assigned group name is displayed.

The background jobs signatures changed a bit (`assignment_id` is now
needed for the unassign job) so when deploying this patch, it’s expected
to have some jobs failing. That’s why a post-migration has been written
to handle the creation of missing notifications and the deletion of
extra notifications too.
2023-11-08 15:26:57 +01:00
Natalie Tay 55f8d24b1f
DEV: Increase the buffer used to determine whether to send out the reminder email (#499)
Increase the buffer used to determine whether to send out the reminder email
2023-08-15 14:12:10 +08:00
Natalie Tay f5cc748986
FIX: Fix reminder frequency not getting sent daily when early by a few seconds/minutes (#496)
Add a buffer in determining whether to remind a user about assignments
2023-08-10 12:04:27 +08:00
Gerhard Schlager 4777d0179c
UX: Rephrase notification message (#417)
* UX: Rephrase notification message

* Fix specs
2023-01-03 21:25:13 +01:00
David Taylor 4902ba6993
DEV: Bump rubocop-discourse and correct violations (#409) 2022-12-23 19:55:31 +00:00
Osama Sayegh d9a750d306
DEV: Add assignment ID to assign notification data (#365)
This change makes it possible to associate an assign notification with the `assignments` record that creates the notification. It'll be needed for the assignments tab in the new experimental user menu, see https://github.com/discourse/discourse/pull/17379.
2022-08-11 06:43:49 +03:00
Rafael dos Santos Silva 6116f26642 DEV: Apply syntax_tree formatting 2022-07-27 13:48:51 -03:00
Natalie Tay fbdfb7143b
DEV: Small refactors for future work (#332) 2022-05-11 14:03:54 +08:00
Rafael dos Santos Silva 568a13101e
DEV: Use reserved assigned notification type (#302) 2022-03-16 16:23:14 -03:00
Krzysztof Kotlarek f54f0486b9
FIX: better group assign message (#287)
When topic is assigned to group, then notification should be different to distinguish from direct assignments.
2022-01-30 23:42:44 +01:00
Martin Brennan da3fdc1411
DEV: Fix spec (#255)
Broken by 9f8ee8f137
2021-11-22 16:05:15 +11:00
Krzysztof Kotlarek c396605d2f
FEATURE: assign to post (#224)
Ability to assign an individual post to a user or group
2021-11-01 09:27:13 +11:00
Krzysztof Kotlarek dc8f43fbb1
FEATURE: Assignment target is polymorphic (#218)
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)
2021-10-14 09:22:29 +11:00
Bianca Nenciu 247c74ecfd
DEV: Add test when user is suspended (#219) 2021-10-12 10:44:59 +03:00
Krzysztof Kotlarek b42ec9f779
FIX: correct group icons and notification message (#193)
* New group icon
* Group assignment notification displays group name instead of who assigned
2021-08-31 08:17:43 +10:00
Jarek Radosz d807491df2
FEATURE: Assign to group (#182)
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.
2021-08-27 09:25:38 +10:00
Dan Ungureanu dea72e708b FIX: Skip enqueuing reminders if no groups are allowed. (#39)
* FIX: Skip enqueuing reminders if no groups are allowed.

With an empty SiteSetting.assign_allowed_on_groups, it used to generate
an invalid query containing "group_users.group_id IN ()".
2019-07-10 09:58:35 +02:00
Sam Saffron e4be0f02b7 Revert "Staff is always allowed to assign (#36)"
This reverts commit bb200f5fbd.
Unfortunately that commit broke assign
2019-06-18 16:00:10 +10:00
Roman Rizzi bb200f5fbd
Staff is always allowed to assign (#36) 2019-06-17 10:11:00 -03:00
Roman Rizzi f312ece4a9
Feature: Allow assign on groups (#31)
* Feature: Allow assign on groups

* Use type: group_list option

* Track group changes and update the setting accordingly. Restrict reminders frequency to assign allowed users instead of staff
2019-06-04 09:21:33 -03:00
Roman Rizzi abe8142038
FEATURE: Users can override reminders frequency (#30)
* FEATURE: Users can override reminders frequency

* Changes:
- Avoid creating a user custom field when the used didn't override the frequency
- Sanitize frequency value using coercion
- Minor fixes

* Sanitize query and user query single
2019-05-27 10:53:37 -03:00
Guo Xiang Tan 8fca0f61e8 Add frozen string literal comment to files. 2019-05-13 10:30:21 +08:00
Guo Xiang Tan 8b06b7cb4c FIX: Only send reminders to moderators and admins. 2019-04-30 12:00:59 +08:00
Guo Xiang Tan 00a9cb1752 Fix invalid arguments passed to `find_by`. 2019-04-30 09:56:06 +08:00
Roman Rizzi 7b7432990a FEATURE: Remind users of assigned tasks. (#28)
* FEATURE: Remind users of assigned tasks.

* User an user custom field instead of adding a new column

* Improve tests. fix assigns count and display oldest assigned topics correctly. Do not remind about recently assigned tasks
2019-04-30 10:02:26 +10:00