0
0
Fork 1
Spiegel von https://github.com/paviliondev/discourse-custom-wizard.git synchronisiert 2024-11-23 09:50:28 +01:00
Commit-Graph

71 Commits

Autor SHA1 Nachricht Datum
Angus McLeod
294c35cf9b COMPATIBILITY: three custom fields were dropped in core
991b62b6f1
2022-05-13 11:40:08 +02:00
Angus McLeod
46c86cda58 Move to new coverage approach 2022-03-12 14:00:07 +01:00
Faizaan Gagan
51553bc71d
FEATURE: validate liquid templates on wizard save (#156)
* DEV: validate liquid templates on wizard save

* minor fix

* code improvements and spec

* version bump

* fixed failing specs

* FIX: handle displaying backend validation errors on frontend

* fixed linting

* improved error display

* validate raw description for steps

* refactor conditional

* Identify attribute with liquid template error and pass syntax error

Co-authored-by: angusmcleod <angus@mcleod.org.au>
Co-authored-by: Angus McLeod <angusmcleod@users.noreply.github.com>
2022-01-31 15:11:14 +05:30
Angus McLeod
5e5b5e67ee
FIX: Cache valid directs and only allow one type in a template (#176)
* Cache valid directs and only allow one type in a template

* Add spec

* Bump version

* Bump version

* Exclude current wizard from other_after_signup
2022-01-31 14:48:04 +05:30
Faizaan Gagan
00682fb4c2
FIX: field validation was not working in backend (#165)
* FIX: field validation was not working in backend

* added tests
2021-12-07 14:20:34 +05:30
angusmcleod
f908e5ec9d Add spec for fix 2021-10-20 21:19:21 +08:00
Faizaan Gagan
f00d01c50f
FIX: ensure single incomplete submission existence (#136)
* created method to fetch incomplete submissions

* added new field 'updated_at' to submission schema

* Revert "created method to fetch incomplete submissions"

This reverts commit 15c65236e7.

* added logic to cleanup redundant incomplete submissions

* logic improvements and spec

* simplified the cleanup logic

* simplified the logic further

* early return to improve performance

* consolidated cleanup logic

* perform cleanup in wizard.update

* fixed issue

* minor fix

* use consistent naming
2021-08-02 13:01:49 +05:30
Faizaan Gagan
998757f857
FIX: apply text length validations for non-empty fields only (#137)
* apply text length validations for non-empty fields only

* consolidated logic

* fixed formatting

* fix formatting

* calculate length only for string type values

* fix assignment

* added specs
2021-07-30 16:03:48 +05:30
angusmcleod
20c8ec1202 Merge branch 'master' into pr/125 2021-07-12 14:05:02 +08:00
Faizaan Gagan
e4df646022
FIX: clear site model cache to prevent spec failure (#132) 2021-07-08 13:04:03 +05:30
Faizaan Gagan
6d1958d772 Merge branch 'master' into submission_improvements 2021-06-28 13:54:03 +05:30
Angus McLeod
f80f40d6b3
Apply consistent date validation on the server (using v8) (#124)
* Apply consistent date validation on the server (using v8)

* Variable fix

* added specs to verify date/time field validation

* minor text change

Co-authored-by: Faizaan Gagan <fzngagan@gmail.com>
2021-06-26 13:15:33 +05:30
angusmcleod
098e8418fb Apply rubocop 2021-06-23 16:15:17 +10:00
angusmcleod
e441588aa3 Fix specs and tighten conditional handling 2021-06-23 16:13:58 +10:00
angusmcleod
d3c6733e59 Abstract and improve submission handling 2021-06-17 17:50:22 +10:00
angusmcleod
dc7e43b6d7 Force second step build to overcome can_access? check
The can_access? check will fail if the wizard does not allow multiple submissions. This means that on the second build of the wizard on the final step of a single submission wizard, the wizard instance will have no steps, and an error will be thrown when logic assumes it does.
2021-06-16 16:21:24 +10:00
Angus McLeod
58b3bc13c9
FIX: Ensure user_email and user_option attributes are handled properly (#119) 2021-06-15 11:48:17 +05:30
Angus McLeod
af3e61fe75
Add custom field improvements (#115)
* Add custom field improvements

This PR does a few things to improve our support of custom fields
1. Adds custom fields added by other plugins to the list in admin/wizards/custom-fields and the custom field list in the mapper selector
2. Adds support for json custom fields in the wizard actions

* Make eslint happy

* Make prettier happy

* Make rubocop happy

* Make ember template lint happy

* Don't assume we have the context in the selector

* Ensure custom fields don't require optional attributes (with tests)
2021-06-08 17:09:49 +05:30
Angus McLeod
522d4e9489
IMPROVE: ensure redirect_to_wizard is cleaned up even if sidekiq is not working (#116)
* Add test of redirect_to_wizard when wizard is removed

* Make clear_user_wizard_redirect a synchronous operation
2021-06-07 18:45:41 +05:30
Faizaan Gagan
eb93169f86 use option multiple and aggregate the result 2021-04-23 12:22:04 +05:30
Faizaan Gagan
be1eab6092 minor formatting 2021-04-22 23:52:38 +05:30
Faizaan Gagan
2a8a4367d8 added specs 2021-04-22 23:50:54 +05:30
Angus McLeod
ceef3f4bc9
Step and field conditionality (#87)
* Re structure builder logic to allow for step conditionality

Concerns
- Performance. Look at whether the additional build in the steps controller can be reduced
- Does not work if applied to the last step.
- Certain conditions will not work with the first step(?)
- How should this be scoped to known functionality?

* Add indexes and conditions to steps and fields

* Complete and add spec

* Complete backend

* Complete step conditionality and field indexing

* Fix failing spec

* Update coverage

* Apply rubocop

* Apply prettier

* Apply prettier to wizard js

* Fix schema issues created in merge

* Remove setting label for force_final

* Improve client wizard cache naming

* Improve steps controller and spec conditionality

* Improve final step attribute naming

* Fix failing spec

* Linting

* Add one more final step test

* Linting

* Fix eslint issues

* Apply prettier

* Linting, syntax, merge and copy cleanups

* Update wizard-admin.scss

* Fix template linting

* Rubocop fixes
2021-04-20 23:28:19 +05:30
Faizaan Gagan
9ded3602eb Merge branch 'master' into pm-multiple-targets 2021-04-19 11:04:47 +05:30
Faizaan Gagan
b71548427d
Added files used by github actions workflows (#78)
* Added files used by github actions workflows

* added simplecov report for tests workflow

* removed trailing space

* Rubocop fixes

* Update plugin-linting.yml

* Create Gemfile.lock

* Update Gemfile.lock

* Re-add bundler

* Update gitignore

* Limit yarn install to dev

* Update rubocop config and gemfile.lock

* allow strings to be mutated

* Update invites_controller_spec.rb

Co-authored-by: angusmcleod <angus@mcleod.org.au>
2021-04-16 13:37:32 +05:30
Faizaan Gagan
ce222c0c04 modified spec to confirm working for multiple users and groups 2021-04-15 02:15:20 +05:30
Faizaan Gagan
f443840358 FEATURE: allow targetting multiple users/groups when sending a private message 2021-04-14 08:59:12 +05:30
Faizaan Gagan
105fc46774
FEATURE: added liquid based templating (#83)
* FEATURE: added liquid based templating

* templating should be false by default

* added rspec tests for mapper templating

* wrapped templating tests in a context block

* added a custom liquid filter and tests

* ran rubocop on changed files

* DEV: minor variable and naming changes

* minor code formatting

* improved overall structure and tightened spec for custom filter

* added a spec template: false

* define method at the top of spec file

* naming convention

* removed extra space
2021-04-09 11:04:42 +05:30
angus
e7a1472a1c Handle when permitted is set as "everyone" 2021-03-12 21:02:42 +11:00
Angus McLeod
4edb40e526
Apply rubcop and get tests pass (#76) 2021-03-11 12:00:15 +05:30
Faizaan Gagan
6754d744f0 renamed setting's copy to Max Topic Age 2021-02-25 17:10:02 +05:30
Faizaan Gagan
bc2cc85804 rename n_value to time_n_value 2021-02-25 15:59:42 +05:30
Faizaan Gagan
c54273b94a implemented a relative time based filtering for similar topics 2021-02-25 15:36:43 +05:30
angusmcleod
5794349244 Ensure url field validates properly and accepts empty inputs 2021-02-20 17:59:41 +11:00
angus
1a175b4d2b Ensure prompt completion works as intended
- Users who have completed should never see prompt
- Add rspec test for this case
2021-02-19 17:10:59 +11:00
angusmcleod
13525261ad Fix out of date open composer spec 2021-02-18 14:44:14 +11:00
angusmcleod
4036313e75 Fix relative path 2021-02-17 14:36:54 +11:00
Faizaan Gagan
d68967c63f added plugin helper 2021-02-17 00:15:48 +05:30
Faizaan Gagan
47019664b1 removed context block 2021-02-16 20:06:05 +05:30
Faizaan Gagan
c5ad11c0a4 added tests for CustomWizard::RealtimeValidation::SimilarTopics class 2021-02-16 19:59:23 +05:30
Faizaan Gagan
c196c4fee7 added tests for CustomWizard::RealtimeValidation class 2021-02-16 19:58:43 +05:30
Angus McLeod
909f82095f Encode each query param seperately using Addressable 2020-12-19 10:16:12 +11:00
Faizaan Gagan
efaa0c5915 FIX: broke down the max length test into different cases 2020-12-14 12:16:32 +05:30
Faizaan Gagan
e12faad1f5 added positive test for max length check 2020-12-08 13:29:36 +05:30
Faizaan Gagan
4f7d18d193 FEATURE: added max length setting for text type fields 2020-12-08 12:44:37 +05:30
Angus McLeod
be204c1cb6 Clean up tests 2020-12-04 18:06:33 +11:00
Angus McLeod
d453d97df3 Add custom-wizard-specific caching system
Initially for use with registered custom fields
2020-12-04 18:05:56 +11:00
Angus McLeod
8a2a143ea8 Invalidate cache before checking enabled? 2020-12-04 09:45:28 +11:00
Angus McLeod
39ce7248a8 Add enabled? wrapper for CustomField extensions 2020-12-01 18:20:02 +11:00
Angus McLeod
f6f77547d7 Use explicit file loading for tests coverage 2020-12-01 08:20:10 +11:00