Commit Graph

22 Commits

Author SHA1 Message Date
Osama Sayegh 77c07edf82
FIX: Don't allow TL4 users to unconditionally accept solutions (#305)
A while ago the `accept_all_solutions_allowed_groups` setting was introduced to replace the `accept_all_solutions_trust_level` setting and to make the plugin more flexible by allowing admins to choose groups that are allowed to accept solutions instead of trust levels.

The new group-based setting includes the TL4 group by default. However, removing the TL4 group from the setting doesn't actually remove TL4 users permission to accept solution.

The reason for this bug is that the `can_accept_answer?` guardian method calls `can_perform_action_available_to_group_moderators?` which always allows TL4 users to perform category moderator actions:

56524f4bdf/lib/guardian/topic_guardian.rb (L342-L348)

This commit fixes the bug by checking if the user is a moderator on the topic's category (by calling the `is_category_group_moderator?` guardian method) instead of checking if the user can perform category moderator actions. In our case, `is_category_group_moderator?` is equivalent to `can_perform_action_available_to_group_moderators?` except for the TL4 check which is what we need.

Internal topic: t/134675.
2024-08-09 14:59:28 +03:00
Osama Sayegh fac9227417
UX: Add admins and moderators to mandatory_values for accept_all_solutions_allowed_groups (#290) 2024-05-12 20:25:57 +02:00
Gabriel Grubba 9db72efb38
FEATURE: change status on unsolve & fix assign changes (#289)
* FEATURE: change status on unsolve & fix assign changes

When a topic is unsolved, it should have an option,
defined in the settings, to change its status to that state.

Fix assign changes when a topic was solved, previously it was
changing the assignee.

* DEV: Change names in tests and remove comments

* DEV: Update change status on solve implementation

Update tests to verify that the change status on solve feature is working as expected.
Change the implementation to loop throught the topic assignments and update the status.

* DEV: address review feedback
2024-05-08 15:17:45 -03:00
Gabriel Grubba 2b6e17d1d5
FEATURE: Prevents assign notification & change status on solved (#285)
* FEATURE: Prevents assign notification & change status on solved

Relates to this [topic](https://meta.discourse.org/t/assign-plugin-for-informatica/256974/94)

Add an event listener to `accepted_solution` event

Add `assigns_reminder_assigned_topics_query` modifier to not notify if
`prevent_assign_notification` setting is on.

Add settings to prevent assign notification and change status on solved

* DEV: Address review comments

Update SiteSettings names.

* DEV(WIP): Add tests for integration with discourse-assign

Add test for integration with discourse-assign plugin
checks if the assignment status is moved to `Done`

* DEV: lint solved_spec.rb

* DEV: Update test where it updates all assignments

Change `on(:accepted_solution)` is defined

Update test to use acting_user instead of admin

* DEV: lint & add tests for assigns_reminder_assigned_topics_query

Linted and added tests for `assigns_reminder_assigned_topics_query` modifier.

* DEV: Update tests based on review feedback

change plugin_initializer location

update spec with new tests to test integration with discourse-assign

* DEV: Add describe to spec for discourse-assign integration tests

* DEV: update describe name for discourse-assing spec integration

* DEV: Add more tests to spec for discourse-assign integration

* DEV: Lint solved_spec

* DEV: Lint and update spec to not have `p1` topic inside
2024-04-26 13:21:09 -03:00
Martin Brennan 444dac8a9a
DEV: Change accept_all_solutions_trust_level to group setting (#276)
This refactor makes for easier testing and makes things
more organised, the guardian extensions had no testing
whatsoever and I need some to make the TL -> group change.
2024-01-23 11:45:32 +10:00
Martin Brennan 09c138014f
DEV: Change settings root from plugins: to discourse_solved (#267)
This is so the plugins settings are better categorized in the site settings UI.
2023-11-13 10:24:04 +10:00
Sam b4a740382f
FEATURE: prioritize_solved_topics_in_search to prioritize solved topics (#236)
Many consumers of Discourse solved may want solved topics to show up more
prominently in search. New setting `prioritize_solved_topics_in_search`  (default off) allows 
bumping these topics to the top.

Co-authored-by: Alan Guo Xiang Tan <gxtan1990@gmail.com>
2023-05-03 11:56:10 +10:00
Roman Rizzi 66999ee3fb
FEATURE: Enable solved for topics with specific tags. (#164)
This PR adds a site setting called `enable_solved_tags`. Solved will be enabled for topics containing these tags, just like we do for specific categories.
2021-09-17 11:12:47 -03:00
communiteq ca0dbd6d4c
Two extra options (#138)
* Make it possible to disallow topic starters to accept a solution

* Make adding QAPage schema markup optional

* Address @eviltrout's comments

Co-authored-by: Richard <richard@communiteq.com>
2021-06-17 16:12:33 -04:00
Arpit Jalan bbbd13de85
FEATURE: show education message in composer when replying on solved topic (#135) 2021-06-14 16:06:55 +05:30
Martin Brennan 2b12658978
FIX: Add min/max values for auto close hours (#121)
* Also add migration to cap current site settings for
solved_topics_auto_close_hours
  to the max of 175000 if they are too high
2021-02-18 13:49:39 +10:00
Vinoth Kannan f04ccbd4e6
FEATURE: send notification to OP when staff marked a post as solution. (#97)
Previously, we won't send any notification to the original poster when a staff user marked a post as the solution on behalf of OP.
2020-10-30 22:01:27 +05:30
Vinoth Kannan 5ddd644e00 FEATURE: Show dropdown to filter topic lists by solved status 2019-03-14 00:41:07 +05:30
Guo Xiang Tan ed8b0103f6 FEATURE: Add `solved_topics_auto_close_hours` site setting.
https://meta.discourse.org/t/automatically-close-solved-topics-after-n-hours/58383
2017-05-22 20:03:49 +08:00
Sam ebb06c0a70 100 is way too short 2017-03-08 15:02:40 -05:00
David Taylor e20104919a UX: Show configurable length excerpt when quoting the solution 2017-03-08 15:21:41 +00:00
David Taylor 726b9a460d Added empty box icon to unsolved topics 2017-02-27 15:00:04 +00:00
Sam bf113f47b0 FEATURE: add solved enabled key 2017-02-02 12:20:40 -05:00
Sam afb1c91c11 Allow TL4 users to accept answers (configurable via site setting) 2016-03-31 12:06:03 +11:00
Sam d8705a278b FEATURE: site setting to enable solved globally 2015-06-19 16:08:43 +10:00
Sam Saffron 09292d6ff9 - Add security
- Add configuration option on categories to enable
2015-06-10 06:09:20 +10:00
Sam 43f40c9825 work in progress 2015-05-19 15:45:19 +10:00