137 Commits

Author SHA1 Message Date
Gabriel Grubba
7d2a0274f9
FEATURE: Add modifier to update the assigned count and exclude solved topics (#312)
* FEATURE: Add modifier to update the assigned count and exclude solved topics

* DEV: lint solved_spec.rb
2024-10-30 11:16:46 -03:00
Régis Hanol
cbd69f21e7
FIX: when deleting users with solved posts (#297)
it would raise an error because we delete the topic before and we need the topic record to update various meta data.

This ensures we load the "deleted" version in such cases.

Internal ref - t/130797
2024-06-17 12:41:13 +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
Régis Hanol
2c96c5b67c
FEATURE: add new custom status filters (#286)
* FEATURE: add new custom status filters

Those can be used in /filter route.

Depends on https://github.com/discourse/discourse/pull/26770

Internal ref. /t/127278

* DEV: pin plugin for Discourse 3.3.0.beta2-dev
2024-04-26 16:17:50 +02:00
Penar Musaraj
a18ce6d712
FIX: Allow searching for unsolved posts with tags (#284)
When using the `status:unsolved` search filter, the plugin was only
returning results from topics in categories where solved was enabled.

This commit changes the search query to also include topics with tags
that have solved enabled via the `enable_solved_tags` site setting.

This fixes the `status:unsolved tags:tag1` search query.
2024-03-28 16:46:22 -04:00
Loïc Guitaut
4c6ddcf08d DEV: Fix new Rubocop offenses 2024-03-06 10:25:26 +01: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
Jarek Radosz
fa3e1598aa
DEV: Update linting (#275) 2024-01-16 17:50:43 +01:00
Martin Brennan
3d3f20b68d
Revert "FIX: Use Guardian.basic_user instead of new (anon) (#270)" (#271)
This reverts commit 7edf6d86e4dd88bfdcf24a9659378f91f14ff25a.
2023-12-06 16:26:40 +10:00
Martin Brennan
7edf6d86e4
FIX: Use Guardian.basic_user instead of new (anon) (#270)
c.f. de983796e1b66aa2ab039a4fb6e32cec8a65a098

There will soon be additional login_required checks
for Guardian, and the intent of many checks by automated
systems is better fulfilled by using BasicUser, which
simulates a logged in TL0 forum user, rather than an
anon user.
2023-12-06 12:00:43 +10:00
Arpit Jalan
ad1b7c9608
FIX: make JSON_LD schema consistent with our microdata in core (#269)
* FIX: make JSON_LD schema consistent with our microdata in core

https://meta.discourse.org/t/alignment-of-schema-org-markup-between-qa-solved-dfp-core/279510
2023-11-22 21:22:22 +05:30
Martin Brennan
6239acdb95
Metadata Update (#265)
Co-authored-by: AlexDev <104522507+alexdevlaeminck@users.noreply.github.com>
2023-11-08 11:29:38 -08:00
Régis Hanol
b269689ddf
FIX: delete solution with post (#256)
Ensures we remove the solution when the post marked as the solution is deleted.

DEV: Added `IS_ACCEPTED_ANSWER_CUSTOM_FIELD` constant.
DEV: Refactored the `PostSerializer` for better readability.
PERF: Improved the `TopicViewSerializer`'s performance by looking up the `accepted_answer_post_info` from the stream first.

Internal ref. dev/112251
2023-10-13 19:06:03 +02:00
Krzysztof Kotlarek
7e59ece789
FIX: granular webhooks (#248)
After those core changes we need additional translations

https://github.com/discourse/discourse/pull/23070
2023-10-09 03:26:29 +00:00
Juan David Martínez Cubillos
4032a1e35f
FIX: Search bug for status:unsolved returns topics from non-solution enabled categories (#241)
* FIX: Search bug for status:unsolved returns topics from non-solution enabled categories

* fixed rubocop issues
2023-06-20 09:52:02 -05:00
Penar Musaraj
7b90566b05
FIX: Take enable_names setting into account (#240) 2023-06-05 09:54:25 -04:00
Penar Musaraj
e0cd3d11c3
FIX: Respect "display name on posts" site setting (#239)
When displaying the accepted answer in the OP.
2023-06-01 11:50:50 -04: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
Arpit Jalan
bffc46858a
FEATURE: solved topic auto close setting per category (#233)
* FEATURE: solved topic auto close setting per category

This commit adds per category "solved topics auto close hours" setting. The plugin would use the existing "solved topics auto close hours" setting, except if there was a setting for the relevant category in which case that would take precedence.

* minor changes per feedback
2023-04-19 19:44:33 +05:30
Bianca Nenciu
4ae1841479
UX: Tweak 'Solution' button design (#232)
Hide the accept solution button if a solution has been accepted already.
2023-03-17 17:35:58 +02:00
Blake Erickson
65a9ccf876
FEATURE: Add API Scopes (#228)
Adds a single API scope for accepting or unaccepting a solution.
2023-02-23 15:00:14 -07:00
Osama Sayegh
3492d42a58
FIX: Add title to solved notifications (#226)
This commit adds a title that appears when hovering over solved notifications in the UI.
2023-02-15 16:30:33 +03:00
David Taylor
14e0800a29
DEV: Introduce syntax_tree for ruby formatting (#217) 2022-12-23 20:36:08 +00:00
Jarek Radosz
6007395cfb
DEV: Lose the es6 suffix (#191) 2022-03-06 21:20:09 +01:00
Joffrey JAFFEUX
9b8aa09855
DEV: adds an automation script for first accepted solution (#172) 2021-11-12 16:00:48 +01:00
Jarek Radosz
668ea21131
DEV: Drop obsolete code (#170) 2021-10-28 15:13:24 +02: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
Bianca Nenciu
b558caff37
PERF: Use UserAction to count accepted answers (#162)
The previous query which used custom fields performed a much more
complex and slower search.
2021-09-13 19:26:43 +03:00
Martin Brennan
cf368c19cb
FIX: Stop register_topic_list_preload_user_ids from breaking old versions (#160)
We need a proper fix, but this stops the bleeding for now.
Wrapped code related to `register_topic_list_preload_user_ids` in
a `respond_to?(:register_topic_list_preload_user_ids)` block because
this API is not available in beta or stable versions of Discourse.
2021-08-31 13:30:17 +10:00
Bianca Nenciu
f20274f44a
FIX: Correctly serialize accepted_answers (#158) 2021-08-26 16:16:22 +03:00
Bianca Nenciu
fafa1c22b0
FEATURE: Show number of accepted answers on user card (#154) 2021-08-26 14:25:39 +03:00
Bianca Nenciu
184d2e6137
FEATURE: Show user who posted accepted answer second (#156)
The user who posts the accepted answer will show as the second poster
in the list of posters from topics list.
2021-08-26 12:53:46 +03:00
Osama Sayegh
6123f22412
Revert "FEATURE: Show user who posted accepted answer second (#153)" (#155)
This reverts commit 556f402db8702bb37c81f69b94d4e871962d8ed8.
2021-08-26 01:05:01 +03:00
Bianca Nenciu
556f402db8
FEATURE: Show user who posted accepted answer second (#153)
The user who posts the accepted answer will show as the second poster
in the list of posters from topics list.
2021-08-25 23:33:28 +03:00
Arpit Jalan
13168027eb
UX: do not show composer education message if the post is whisper (#152) 2021-08-19 09:33:00 +05:30
Vinoth Kannan
5e0ef4bd36
DEV: create a sample solved topic for dev:populate rake task. (#149)
Solved feature will be enabled on a random category and a random post will get marked as "accepted answer" on it.
2021-07-15 19:04:28 +05:30
Martin Brennan
af0d3aca61
DEV: Remove fallback to TopicTimer close type (#144)
We've been past the 2.7 release for a while now and silent_close
is in core; time to remove this fallback.
2021-06-28 15:33:25 +10:00
Mark VanLandingham
eac6539c46
FIX: Backwards compatibility for older Discourse versions (#143) 2021-06-24 12:11:51 +05:30
Mark VanLandingham
52d4656011
Re-add usage of add_directory_column for user directory table solutions count (#140) 2021-06-22 13:18:23 -05: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
Mark VanLandingham
7351882171
Revert "Use add_directory_column API to add solutions count to user directory (#137)" (#139)
This reverts commit 58c594fdda0a8c35a6f52079e1d8909619f6e2df.
2021-06-17 12:37:29 -05:00
Mark VanLandingham
58c594fdda
Use add_directory_column API to add solutions count to user directory (#137) 2021-06-17 09:31:11 -05:00
Arpit Jalan
bbbd13de85
FEATURE: show education message in composer when replying on solved topic (#135) 2021-06-14 16:06:55 +05:30
Jarek Radosz
ce63d80abb
DEV: Avoid nil custom fields (#128) 2021-05-05 12:19:00 +02:00
Martin Brennan
c722b94a97
FIX: Update set_or_create_topic_timer to use duration_minutes keyword
See https://github.com/discourse/discourse/pull/11961
2021-02-05 15:33:09 +10:00
Bianca Nenciu
6d91419caf
FIX: Refresh whole post stream when category changes (#111)
Only if the old and new category have different 'solved' settings.
2021-01-20 12:26:37 +02:00
Krzysztof Kotlarek
5840601025
FEATURE: silently auto close solved topic (#104)
Topic solved should be closed silently as system user involvement may be confusing.

In addition, old rescue block was dropped.

Meta: https://meta.discourse.org/t/discourse-encrypt-unable-to-see-close-message/135235
2020-12-03 15:01:42 +11: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
Régis Hanol
9ecac7a3e2 FIX: add mutex around un/mark as solved
To prevent any race conditions when two users toggle the state of a reply.

(cf. https://meta.discourse.org/161104)
2020-08-17 16:33:24 +02:00