Commit Graph

127 Commits

Author SHA1 Message Date
Jarek Radosz eea90c9670
DEV: Fix a flaky spec and typos (#378) 2022-09-12 09:27:25 +02:00
Bianca Nenciu 1dfbc84896
FIX: Count only active assignments when checking limits (#375)
Only 5 assignments can exist simultaneously for a topic or its post.
The code that counted the assignments did not ignore the inactive
assignments which made the limit check more strict than it should have
been.
2022-08-30 19:56:03 +03:00
Keegan George 7e85101b89
FIX: Error bulk deleting posts when action post is already deleted (#371)
* DEV: Break when action post is already deleted

* FIX: Post needs to be unassigned on deletion

* WIP: Add spec

* DEV: Update spec
2022-08-25 12:48:55 -07:00
Bianca Nenciu 4046c9fb40
FIX: Find better users for automatic assignment (#370)
There were two problems with the way current automation script for automatic
assignment works:

- it tried to assign users that were not allowed to be assigned because they
were not part of groups that are allowed to use discourse-assign - fixed by
skipping users that are not a part of assign_allowed_on_groups groups

- it assigned new users - fixed by adding a new user that can skip new users
2022-08-25 15:13:33 +03:00
Bianca Nenciu acb9025ede
FIX: Check if assignment has same user and details (#368)
The check existed, but its implementation was incorrect and it did not
work when the target was a post.
2022-08-18 18:16:20 +03:00
Osama Sayegh e6e222d8bc
FEATURE: Add assigns tab to the experimental user menu (#366)
This commit adds a tab for assignments in the experimental user menu. The assignments tab behaves very similarly to the bookmarks and messages tab in core: it displays the user's unread assign notifications first and then fills the rest of available space in the menu with assignments (same content that the current user menu displays).

More details of the experimental user menu can be found in https://github.com/discourse/discourse/pull/17379.
2022-08-17 11:57:15 +03: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 7a2fde72c6
FEATURE: Assign Status (#363)
Adds a new plugin setting that when enabled adds a status field for every assignment. This setting defaults to off.

The possible status for an assignment are customizable via yet another new setting, and the first one on this list will be the default status for new assignments.

The status is not yet show anywhere except the assign modal and the small action posts in topics at the moment. Adding status to the assignment list for users and groups will be handled in the near future.


Co-authored-by: Penar Musaraj <pmusaraj@gmail.com>
2022-08-04 14:50:18 -03:00
Rafael dos Santos Silva 6116f26642 DEV: Apply syntax_tree formatting 2022-07-27 13:48:51 -03:00
Krzysztof Kotlarek 0b5f688451
FIX: ensure that assignee is participant of pm (#349)
We are already checking that assignee has access to the private message. However, admin still can be assigned as technically they have access.

We should ensure that assignee has direct access to the message.
2022-06-16 10:08:22 +10:00
Vinoth Kannan 4ab491ec14
FIX: include users who were assigned to a post instead of topic. (#347)
While assigning a random user in group to the topic posts, if we didn't include the users who were assigned to indivitual posts then the same users will be assigned again and again.
2022-06-09 04:31:29 +05:30
Vinoth Kannan 3d4f63f921
UX: don't mention the group when no one is assigned. (#346)
It's a minor copyedit to remove group mention from the post raw. Else it sends a notification to all group members when no one is found to be assigned.
2022-06-08 23:52:14 +05:30
Martin Brennan 8d1aa65d5f
FEATURE: Promote polymorphic bookmarks (#339)
This removes the use_polymorphic_bookmarks site setting
guard and promotes that code to the only code used.
2022-05-24 11:22:40 +10:00
Bianca Nenciu efeb7ad511
DEV: Add test for list_group_topics_assigned (#338)
Follow up to commit c8fc42b60f.
2022-05-18 17:57:58 +03:00
Natalie Tay 43a3030707
FEATURE: Shows note in moderator post (#335) 2022-05-12 23:55:57 +08:00
Martin Brennan 4065b29f69
DEV: Get rid of old bookmark spec (#333)
The user_bookmark_serializer_spec.rb covers polymorphic bookmarks,
we no longer need this and
https://github.com/discourse/discourse/pull/16729 will
not pass without deleting it.
2022-05-12 16:46:29 +10:00
Natalie Tay fbdfb7143b
DEV: Small refactors for future work (#332) 2022-05-11 14:03:54 +08:00
Martin Brennan 7320fdd94b
FIX: Polymorphic bookmarks support (#328)
Adds support for polymorphic bookmarks in the serializer extensions
and preloaders for bookmarks.

Specs are skipped for now for the serializer but they do
work without the use_polymorphic_bookmark guard in the plugin.rb
2022-05-11 09:52:15 +10:00
Natalie Tay b314882a6b
FEATURE: Show note in tooltip (#327) 2022-05-05 15:04:57 +08:00
Natalie Tay 1ac2dfbae2
FEATURE: Add assign note (#326) 2022-05-05 13:21:14 +08:00
Natalie Tay 3151bea1da
DEV: Backfill tests (#324) 2022-04-30 03:10:08 +08:00
Isaac Janzen de36236dbc
Serialize assignment assignee (#320) 2022-04-26 10:12:05 -05:00
Jarek Radosz 3a147fcb88
FIX: Broken reviewable filter (#318) 2022-04-23 01:31:36 +02:00
Rafael dos Santos Silva 568a13101e
DEV: Use reserved assigned notification type (#302) 2022-03-16 16:23:14 -03:00
Joffrey JAFFEUX f657239a4b
FEATURE: improves random assign to assign to a post (#300) 2022-03-14 10:55:50 +01:00
Jarek Radosz 7307bfada6
DEV: Remove the migration specs (#295)
They're no longer useful
2022-02-23 21:12:24 +01:00
Jarek Radosz 7d83a98b45
DEV: Resolve small TODOs; fix a typo (#296) 2022-02-23 18:23:52 +01:00
jbrw 44dd73e151
FIX: Exclude inactive assigns from assigned_total count (#288)
If `SiteSetting.unassign_on_close` is enabled, an Assignment record can still exist, but be set to inactive, when a Topic is closed.

Inactivement Assignments should be ignored when comparing to the maximum number of assigned topics.
2022-01-31 15:26:58 -05: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
Bianca Nenciu b4d85bd0ae
FIX: Count and show only active assignments (#286)
After a topic is closed, the assignment is not deleted but becomes
inactive. When this happened, it was not removed from the assignments
count or list.
2022-01-28 11:07:42 +02:00
Krzysztof Kotlarek 5779385d66
FIX: don't display inactive assignments (#283)
There is an active flag for assignments. It is used to bring assignments back when topic is reopened.

However, when assignment is inactive, it should not be displayed on assigned list or search.
2022-01-19 22:20:21 +01:00
jbrw 7a04569c0a
FIX: Only active assigns should be included in reminders (#281)
* FIX: Only active assigns should be included in reminders

* Update lib/pending_assigns_reminder.rb

Co-authored-by: Robin Ward <robin.ward@gmail.com>
2022-01-14 15:23:29 -05:00
Krzysztof Kotlarek 485aef0e69
FIX: specs for search fix (#267)
Yesterday a quick fix was made with this PR https://github.com/discourse/discourse-assign/pull/266

Here are additional specs to ensure that serializer is not erroring
anymore
2021-12-14 11:26:15 +01:00
Roman Rizzi fe2f629975
FEATURE: Delete previous assign reminder PMs (#265) 2021-12-13 12:59:26 -03:00
Krzysztof Kotlarek 1a1dffc5e8
FEATURE: active flag for assignments (#264)
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
2021-12-13 08:36:14 +01:00
Krzysztof Kotlarek 3eaefb60dd
FIX: dont allow assigning user to topic when post assigned (#259)
When post is already assigned to user/group then don't allow assigning a topic to that user/group.

Similarly, right now when topic is already assigned we are not allowing to assign a post that that user.
2021-12-06 06:09:04 +01:00
Martin Brennan da3fdc1411
DEV: Fix spec (#255)
Broken by 9f8ee8f137
2021-11-22 16:05:15 +11:00
Krzysztof Kotlarek fcd4532c76
FIX: move post assignment when move post (#229)
When an assigned post is moved to the new topic, it becomes topic assignment.

When an assigned post is moved to an existing topic it stays post assignment
2021-11-04 08:22:53 +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
Joffrey JAFFEUX 7747bb81a0
FIX: more accurate and flexible random assign automation (#222)
- allows to define the number of days within which a user is considered recently assigned
- more correct by now using post custom fields
2021-10-19 17:31:17 +02: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
Alan Guo Xiang Tan 5f97e1603d
FIX: Properly fabricate data for topic query specs. (#209)
We were creating PM topics that did not have any posts.
2021-09-15 13:00:28 +08:00
Krzysztof Kotlarek f58b78e027
FIX: add assigned fields to suggested topic serializer (#199)
With hard refresh, information about assigned user disappeared from suggested topics.
2021-09-09 16:59:06 +10:00
Krzysztof Kotlarek ab9e6f0684
FIX: unassign/assign when group pm is archived (#192)
Send correct messages and correctly unassign/assign to user/group if group PM is archived or moved back to inbox.
2021-09-09 14:22:04 +10:00
Krzysztof Kotlarek 62d87f0084
FEATURE: better UI for group assignments (#197)
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
2021-09-09 12:18:18 +10:00
Krzysztof Kotlarek 375f7ba78d
FEATURE: new assignable group option instead of messageable (#195)
V1 of group assign was using "who can message" to determine if group can be assigned.

This PR is introducing new separate setting "who can assign"
2021-09-08 10:30:13 +10: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
Arpit Jalan 4024eb078c
FIX: filter by "nobody" was broken (#176)
Meta ref: https://meta.discourse.org/t/filter-by-nobody-seems-broken/197770/
2021-07-22 15:00:27 +05:30