Commit Graph

540 Commits

Author SHA1 Message Date
Lhc_fl 150f7f4a35
DEV: Move the post and topic custom fields into a table
This PR does some preparatory work to prepare for the front-end display
of who marked an answer as solved. It migrates the custom fields from
discourse-solved of Topic and Post to a new table, except "accepted_answer_post_id"

ref: /t/-/95318
2024-09-05 17:55:02 +08:00
Osama Sayegh 187b8bf19d
FIX: Support multiple moderation groups on category (#307)
See relevant core PR: https://github.com/discourse/discourse/pull/28655.
2024-09-04 04:37:17 +03:00
dependabot[bot] 0157a8ddca
Bump micromatch from 4.0.5 to 4.0.8 (#308)
Bumps [micromatch](https://github.com/micromatch/micromatch) from 4.0.5 to 4.0.8.
- [Release notes](https://github.com/micromatch/micromatch/releases)
- [Changelog](https://github.com/micromatch/micromatch/blob/master/CHANGELOG.md)
- [Commits](https://github.com/micromatch/micromatch/compare/4.0.5...4.0.8)

---
updated-dependencies:
- dependency-name: micromatch
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-09-01 12:49:55 +02:00
dependabot[bot] 663f07b9f9
Bump rexml from 3.3.3 to 3.3.6 (#306)
Bumps [rexml](https://github.com/ruby/rexml) from 3.3.3 to 3.3.6.
- [Release notes](https://github.com/ruby/rexml/releases)
- [Changelog](https://github.com/ruby/rexml/blob/master/NEWS.md)
- [Commits](https://github.com/ruby/rexml/compare/v3.3.3...v3.3.6)

---
updated-dependencies:
- dependency-name: rexml
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-09-01 12:30:46 +02:00
Discourse Translator Bot 1bbdfd8f56
Update translations (#304) 2024-08-13 16:32:14 +02:00
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
dependabot[bot] 364c357131
Bump rexml from 3.2.8 to 3.3.3 (#303)
Bumps [rexml](https://github.com/ruby/rexml) from 3.2.8 to 3.3.3.
- [Release notes](https://github.com/ruby/rexml/releases)
- [Changelog](https://github.com/ruby/rexml/blob/master/NEWS.md)
- [Commits](https://github.com/ruby/rexml/compare/v3.2.8...v3.3.3)

---
updated-dependencies:
- dependency-name: rexml
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-08-05 13:46:28 +02:00
Natalie Tay 2db5b45af6
DEV: Pin plugin for Discourse < 3.4.0.beta1-dev (#302) 2024-08-02 17:23:20 +08:00
David McClure dc1ef92be2
DEV: improve copy for ignore solved topics (#301) 2024-08-01 09:37:29 +02:00
Discourse Translator Bot 0068c8597e
Update translations (#300) 2024-07-31 00:15:03 +02:00
Kris 85d3e494ee
A11Y: remove heading tag from usercard stat (#299) 2024-07-17 14:55:19 -04: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
dependabot[bot] 057865ab45
Bump braces from 3.0.2 to 3.0.3 (#298)
Bumps [braces](https://github.com/micromatch/braces) from 3.0.2 to 3.0.3.
- [Changelog](https://github.com/micromatch/braces/blob/master/CHANGELOG.md)
- [Commits](https://github.com/micromatch/braces/compare/3.0.2...3.0.3)

---
updated-dependencies:
- dependency-name: braces
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-06-16 22:29:20 +02:00
Jan Cernik 6f27ff2998
FIX: Show the solved filter on tags (#296) 2024-06-01 12:26:03 -03:00
Discourse Translator Bot f81f1a1629
Update translations (#295) 2024-05-31 12:30:04 +02:00
Loïc Guitaut 9bf0c6176c
DEV: Update rubocop-discourse to version 3.8.0 (#294) 2024-05-28 11:43:59 +02:00
Discourse Translator Bot e433fea14e
Update translations (#293) 2024-05-21 17:41:10 +02:00
dependabot[bot] 11eb3b4e77
Bump rexml from 3.2.6 to 3.2.8 (#292)
Bumps [rexml](https://github.com/ruby/rexml) from 3.2.6 to 3.2.8.
- [Release notes](https://github.com/ruby/rexml/releases)
- [Changelog](https://github.com/ruby/rexml/blob/master/NEWS.md)
- [Commits](https://github.com/ruby/rexml/compare/v3.2.6...v3.2.8)

---
updated-dependencies:
- dependency-name: rexml
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-05-17 00:05:33 +02:00
Discourse Translator Bot d18372a47b
Update translations (#291) 2024-05-14 16:20:03 +02:00
Tobias Eigen 3e3097a713
UX: Clarify that admins and mods can accept solutions (#288)
Admins and mods can always accept solutions, even if not specified in the `accept_all_solutions_allowed_groups` setting.
2024-05-13 13:42:07 +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
Discourse Translator Bot e405ef1f6c
Update translations (#287) 2024-04-30 21:57:42 +02: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
Discourse Translator Bot b50b118a79
Update translations (#283) 2024-03-05 16:48:05 +01:00
Selase Krakani 074188d566
DEV: Pin plugin for Discourse 3.3.0.beta1-dev (#281) 2024-02-27 11:34:34 +00:00
Jordan Vidrine 526a44644a
FIX: Nest combobox within LI element (#280) 2024-02-08 15:50:26 -06:00
Jarek Radosz 3a6d2e46a1
DEV: Don't use deprecated input components (#279) 2024-02-02 15:13:55 +01:00
Discourse Translator Bot 478517b328
Update translations (#278) 2024-01-30 17:04:47 +01:00
Discourse Translator Bot b97a629091
Update translations (#277) 2024-01-23 18:30:29 +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
Ted Johansson b8684799cb
DEV: Update test setup to work with auto groups (#274)
We're updating core to change TL based access settings to be group based. This requires some updates of tests to work correctly. (The existing test setup gives false positives.)
2024-01-15 17:31:45 +08:00
Kris dd8ebd24e8
DEV: add appEvent for solution-toggled (#273) 2023-12-20 11:58:47 -05:00
Krzysztof Kotlarek 5c84152b06
DEV: Replace deprecated min_trust_to_create_post (#272)
In https://github.com/discourse/discourse/pull/24740, `min_trust_to_create_topic` site setting was replaced by `create_topic_allowed_groups`. This PR replaces the former, deprecated one, with the latter.
2023-12-14 13:28:50 +11:00
Martin Brennan 3d3f20b68d
Revert "FIX: Use Guardian.basic_user instead of new (anon) (#270)" (#271)
This reverts commit 7edf6d86e4.
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
Discourse Translator Bot bc9b8c41d4
Update translations (#268) 2023-11-21 14:37:03 +01: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
Martin Brennan 6239acdb95
Metadata Update (#265)
Co-authored-by: AlexDev <104522507+alexdevlaeminck@users.noreply.github.com>
2023-11-08 11:29:38 -08:00
Kris 655c97e569
UX: add `linked-stat` class to profile stat (#266) 2023-11-06 13:30:52 -05:00
David Taylor b0d3d5017e
FIX: Solved count on user profile (#264)
Followup to 8352a79145
2023-10-30 12:57:34 +00:00
Discourse Translator Bot f7f28cb56f
Update translations (#263) 2023-10-24 15:54:00 +02:00
David Taylor 8352a79145
DEV: Resolve deprecated use of `registerConnectorClass` (#262) 2023-10-23 22:26:07 +01:00
dependabot[bot] 82b219699d
Bump @babel/traverse from 7.20.10 to 7.23.2 (#261)
Bumps [@babel/traverse](https://github.com/babel/babel/tree/HEAD/packages/babel-traverse) from 7.20.10 to 7.23.2.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/commits/v7.23.2/packages/babel-traverse)

---
updated-dependencies:
- dependency-name: "@babel/traverse"
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-10-18 18:26:23 +02:00
David Taylor 56d936be63
FIX: Correct getOwner import (#260)
As it's currently implemented, the fallback is essential here. `this` in a static method is `undefined`, and therefore cannot have an owner.

Unfortunately this plugin outlet does not seem to be tested in the plugin's own test suite. Core's test suite picked up this issue.

Followup to 3a0b46da7a
2023-10-17 23:37:07 +01:00