Commit Graph

196 Commits

Author SHA1 Message Date
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
Jarek Radosz 09b7655206
FIX: Handle invalid source data in CF migration (#172) 2021-07-14 22:02:27 +02:00
Jarek Radosz 470dd939aa
DEV: Move assignments from custom fields to a table (#169) 2021-07-14 10:48:19 +02:00
Osama Sayegh c5b549b887
FIX: Improve error message when assigning a PM to a user who doesn't have access to the PM (#137)
Currently if you try to assign a PM to a user who can't see it, you get an error message that says "@{user} can't be assigned since they don't belong to assigned allowed groups". This commit improves the message and now it tells you the user doesn't have access to the PM and that you need to invite the user before you can assign them.

Signed-off-by: OsamaSayegh <asooomaasoooma90@gmail.com>
2021-01-27 14:57:41 +03:00
Roman Rizzi 65be8fe69d
FIX: Unassign users after removing them from an assign allowed group. (#134)
Users that aren't members of an assign allowed group can no longer use the feature. Automatically unassign all their topics.
2021-01-25 14:59:42 -03:00
David Taylor c4aefd5917
REFACTOR: Use core `default_results` function (#111)
This significantly reduces the amount of logic we need to carry in the discourse-assign plugin. One side effect is that I had to rename the 'q' parameter to 'search', so that it matches core's implementation.
2020-09-16 12:18:14 +01:00
Ahmed Gagan 303274eae3
FEATURE: Advanced search filters for assigned topics (#102)
Adds three new search modifiers:

- in:assigned for assigned topics
- in:unassigned for unassigned topics
- assigned:{username} to list topics assigned to a specific user

These modifiers are all made available in the advanced search sidebar
2020-09-11 12:15:50 +01:00
Ahmed Gagan 3e3dc3815b
FEATURE: Assign bulk actions for topics lists (#110)
- Allows unassigning and reassigning topics using bulk actions
- Adds bulk actions UI to the group assigned page
2020-09-11 11:49:25 +01:00
Ahmed Gagan cd31a821fc
UX: Only show assigned tab for groups where all users can assign (#103) 2020-08-28 15:18:25 +01:00
Ahmed Gagan 069adc1af7
FEATURE: Allow searching topics in group assigned tab (#97) 2020-08-12 23:40:04 +01:00
Ahmed Gagan f250dca93f
FEATURE: Allow filtering users in group assigned tab (#95) 2020-08-12 23:39:14 +01:00
Ahmed Gagan 6dbf3e2bcb
FEATURE: Allow sorting assigned topic lists 2020-08-04 15:48:33 +01:00
Ahmed Gagan 190681cdd1
FIX: Exclude deleted topics from assignment counts (#84) 2020-07-22 17:31:52 +01:00
Ahmed Gagan 816f3c0e97
FEATURE: Per-member counts in group assignment summary (#80) 2020-07-21 12:55:34 +01:00
Ahmed Gagan bfb32aa2ea
DEV: Additional specs for group assign summary (#81) 2020-07-21 12:18:18 +01:00
David Taylor 4630dab7ac
SECURITY: Improve topic permission checks 2020-07-21 10:12:48 +01:00
Ahmed Gagan ae83f70e21
FEATURE: Assignments summary tab for groups (#70) 2020-07-10 09:45:18 +01:00
Martin Brennan b7acd12244
FEATURE: Mark assign notifications as high priority (#67) 2020-05-11 14:06:31 +10:00
David Taylor 07c13651c6
FIX: Correct assign user autocomplete logic
Previously we were only autocompleting users which were in the same group as the acting user.
2020-04-28 13:55:17 +01:00
Blake Erickson 32653be260
FEATURE: Trigger webhook when assigning and unassigning topics (#61)
* FEATURE: Trigger webhook when assigning and unassigning topics

This PR creates a custom webhook event that you can now select when
creating a webhook to trigger only when a topic has been assigned or
unassigned.

* removed unused file

* Removed functionality that was added to core

This PR into discourse core:

https://github.com/discourse/discourse/pull/9110

adds what was removed in this commit.

It is better to have this logic in core so that it is discoverable and
future webhooks won't end up accidentally using the same ID.
2020-03-06 11:57:46 -07:00
romanrizzi 2adcd9a832 DEV: Remove backward-compatibility code now that 2.4 is the new stable 2020-03-02 10:53:39 -03:00
Robin Ward 6d3bc3e4d0 FIX: If `fancy_title` was nil the job would fail
This is because we were only selecting `fancy_title` from the DB
and the method has a fallback.
2020-01-27 12:54:50 -05:00
Gerhard Schlager 6db4586ca1 DEV: Specs were broken 2020-01-14 18:19:42 +01:00
Dan Ungureanu f2074f256e
FEATURE: Improve assign mailer site setting (#57) 2019-11-26 11:41:52 +02:00
Dan Ungureanu d2099479b2
FIX: Automatically assign topic when staff is mentioned (#55) 2019-11-20 12:06:44 +02:00
Sam Saffron 0cea63029c FEATURE: order assigned list by reverse bump date
Previously this list was randomly ordered
2019-11-01 15:35:12 +11:00
Régis Hanol 9c2ebbaaf5 FIX: do not self-assign based on quoted text
Remove any quoted text and code blocks before matching the "assign self" or "assign other" regexps.

Added tests to ensure it does not regress.

Also cleaned up some TODOs.
2019-10-29 19:00:39 +01:00
Bianca Nenciu b96379e9b1 DEV: Simplify unit test 2019-09-18 22:24:40 +03:00
Bianca Nenciu eb2359dca1 DEV: Add test for assigned
Follow-up to c46764e804
2019-09-18 18:22:21 +03:00
romanrizzi 23904fcc3b DEV: Remove deprecated spec 2019-09-12 09:35:28 -03:00
Bianca Nenciu 927fdca0a0 DEV: Test if assign_allowed_on_groups contains only visible groups
Follow-up to 7d4b515524.
2019-09-11 14:10:58 +03:00
Roman Rizzi d268d4f817
Fix: Enforce new rules when assigning a topic. (#46)
* assign_to user must be allowed to assign.
* assign_to user must have access to the topic
2019-09-05 10:31:52 -03:00
romanrizzi 8792cf51bd DEV: Assign allowed groups are sent alongside suggestions. After the migration happens, we'll need to still have access to the allowed group names so we can search users. 2019-07-19 14:49:45 -03:00
Roman Rizzi 64324ce9db
DEV: use group ids to allow assign on groups [Undo Revert] (#41)
* DEV: use group ids to allow assign on groups (#38) [Undo Revert]

This reverts commit 8f92c5f9bd.

* Set the  default inside a migration based on the core migration. Improve migration check to work against tests-passed/beta/stable.

* Update db/migrate/20190718144722_set_assign_allowed_on_groups_default.rb

Co-Authored-By: Robin Ward <robin.ward@gmail.com>
2019-07-19 10:30:44 -03:00
Roman Rizzi 8f92c5f9bd
Revert "DEV: use group ids to allow assign on groups (#38)" (#40)
This reverts commit b256d462bf.
2019-07-16 11:59:33 -03:00
Roman Rizzi b256d462bf
DEV: use group ids to allow assign on groups (#38)
* DEV: use group ids to allow assign on groups

* FIX: Dinamically sets the default value to support older versions
2019-07-16 11:33:04 -03: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
romanrizzi c882b097f8 Remove 'Unassign All' feature 2019-05-15 15:57:28 -03:00
Roman Rizzi 4b7a99f017
Disable flagging behaviour in favor of the new reviewable API (#34) 2019-05-14 16:29:50 -03:00
Guo Xiang Tan 8fca0f61e8 Add frozen string literal comment to files. 2019-05-13 10:30:21 +08:00
Roman Rizzi f330120f90
Assigned topics are now ordered by topics.bumped_at (#32) 2019-05-07 12:43:47 -03:00
Roman Rizzi e3b2e5bdb6 FEATURE: Display PMs in assigned activity and differentiate them. (#27)
* FEATURE: Display PMs in assigned activity and differentiate them.

* FEATURE: Unassign/Re-assign tasks from the activity view

* Remove bulkAssign. Reuse assign/unassign with a service. Change PM icon position

* Reuse ListItemDefaults instead of duplicating code.

* Conditionally show/hide feature if list items defaults is present in core
2019-05-07 16:30:47 +10:00
Sam Saffron f5a19501cc DEV: correct spec to meet new design
We now allow self assigns unlimited, but limit
other people once you reach limit
2019-05-03 13:48:43 +10:00
Roman Rizzi 8583287faf
FEATURE: Limit the amount of assigned topics an user can have. (#29)
* FEATURE: Limit the amount of assigned topics an user can have.

* Do not enfore the limit when self-assigning

* Avoid computing the query when self-assigning. Do not count self-assigns when enforcing the limit
2019-05-02 10:44:11 -03:00
Guo Xiang Tan 8b06b7cb4c FIX: Only send reminders to moderators and admins. 2019-04-30 12:00:59 +08:00
Guo Xiang Tan 65c0b3c192 FIX: Don't count deleted topic in assignment count. 2019-04-30 11:23:13 +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
Bianca Nenciu 801b1cd48c FIX: Check if topic is assigned before assigning again. (#25) 2019-03-15 18:49:22 +01:00
Gerhard Schlager 5527457ce2 FIX: Do not unassign on topic open 2019-01-10 20:58:20 +01:00
Gerhard Schlager a308e2a445 FIX: Do not assign the same user more than once
This prevents resending assignment notification emails.
2019-01-04 21:24:08 +01:00
Saurabh Patel b20b4c088d FIX: add translations and check for message and if assignment is successful in spec (#22) 2018-12-06 18:04:31 +11:00
Saurabh Patel a2e7fc4cac FIX: do not assign to same when already assigned 2018-12-06 16:46:08 +11:00
Sam cd6f61683e FIX: do not include username in assign push notification 2018-12-05 08:42:02 +11:00
Sam 2d5359055d FIX: properly send push notifications on assign
Previously we would rely on a quirk in core where whisper small actions
would get a notification, this behavior was removed and now we must
be explicit, it provides a much more consistent assign notification
2018-12-04 17:55:58 +11:00
Maja Komel baddb3c630 FIX: don't assign system user when automatic assign by mention is enabled (#20) 2018-12-03 12:37:36 +01:00
Bianca Nenciu 0299deaf25 FIX: Unassign on autoclose. 2018-11-21 15:49:07 +02:00
Guo Xiang Tan 88d5346aad DEV: Minor fixes to spec. 2018-10-05 12:55:55 +08:00
Vinoth Kannan 004cf718b9 SPEC: Do not raise error if topic not exist 2018-10-05 09:37:28 +05:30
Guo Xiang Tan ed1f942c52 FIX: Don't set notification level to `watching` when already watching. 2018-09-07 15:00:53 +08:00
Guo Xiang Tan 7663268584 FIX: Change notification_level back to tracking only if set by plugin. 2018-09-04 15:30:53 +08:00
Sam 8ad7304bdd FIX: can now correctly unassign corrupt topics
if a topic is somehow assigned to an array we can correctly unassign
2018-09-04 15:10:17 +10:00
Guo Xiang Tan 9bea971196 FEATURE: Assigning a user to a topic will make user watch the topic. 2018-08-03 16:24:59 +08:00
Guo Xiang Tan 2da69df8c9 Fix specs for Rails 5.2. 2018-06-08 09:14:30 +08:00
Guo Xiang Tan 4e53bf1962 FIX: Include `assigned_messages_count` only when viewing assigned list. 2018-05-24 11:49:49 +08:00
Guo Xiang Tan e48ed99dfe Show assigned messages count as long as assigns is enabled. 2018-05-24 10:51:04 +08:00
Guo Xiang Tan 22108df6be FEATURE: Display link with count to user's assigned messages page. 2018-05-23 18:16:36 +08:00
Robin Ward 754209ce58 Add "Unassign All" button to user's assigned topics view 2018-05-04 13:41:04 -04:00
Arpit Jalan c24083df5c Remove 'archive' tab for assigned topics. 2018-03-26 22:49:34 +05:30
Guo Xiang Tan 463f77bb2a FEATURE: Add live updates for "assigned" private messages. 2018-03-07 23:02:13 +08:00
Guo Xiang Tan 93b7d7e195 Fix plugin tests. 2018-03-06 21:42:32 +08:00
Guo Xiang Tan 733503e67f FIX: Display group archive topics for groups that the user is in. 2017-12-01 12:21:25 +08:00
Guo Xiang Tan 81244a6a47 FEATURE: Add `archive` tab for assigned topics. 2017-12-01 11:25:54 +08:00
Sam 70911cbd43 preload email correctly (not backwards compat with stable) 2017-08-29 12:49:31 -04:00