0
0
Fork 1
Spiegel von https://github.com/paviliondev/discourse-custom-wizard.git synchronisiert 2024-11-15 06:12:54 +01:00
Commit-Graph

300 Commits

Autor SHA1 Nachricht Datum
Faizaan Gagan
c1fc2fd0e4 FIX: clear submission if skipped by user 2021-08-10 14:31:59 +05:30
angusmcleod
f49f516403 Add pro restriction 2021-08-10 17:00:42 +08:00
angusmcleod
a27c222dc6 Update authentication and subscription handling 2021-08-10 14:45:23 +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
Faizaan Gagan
ee9e9a1d94 FIX: skip_guardian option is removed from discourse core 2021-07-28 19:01:09 +05:30
angusmcleod
55b92f4256 IMPROVE: Add additional data to submission serialiser 2021-07-21 11:31:03 +08:00
angusmcleod
1a78b44d35 Apply rubocop 2021-07-14 14:06:54 +08:00
angusmcleod
34fee3729c Add pagination to submissions 2021-07-14 14:04:19 +08:00
Angus McLeod
5aef8972ff
Merge pull request #125 from paviliondev/submission_improvements
Abstract and improve submission handling
2021-07-12 22:43:13 +08:00
Faizaan Gagan
ca10ae797a
FEATURE: new field type Composer Preview (#130)
* WIP

* composer preview field working

* remove redundant variable

* fix linting issues

* fix rubocop

* remove unnecessary entry

* consolidate preview generation code

* add styles for onebox

* add css for @ mentions

* fixed eslint issues

* FIX: ensure oneboxes load every time

* remove unused import

* fix prettier issues

* removed unused code

* remove unused imports

* fixed prettier issue

* improve css structure

* add csrf header in all cases
2021-07-12 17:05:05 +05:30
angusmcleod
56f58414b3 Remove meta keys from fields attribute and update submissions ui to handle new submission structure 2021-07-12 15:53:58 +08:00
angusmcleod
20c8ec1202 Merge branch 'master' into pr/125 2021-07-12 14:05:02 +08:00
Faizaan Gagan
c9f90fb8ce FIX: text length validation bug 2021-07-07 11:50:56 +05:30
Faizaan Gagan
d47950733d enabled interpolation and templating 2021-07-05 11:52:29 +05:30
Faizaan Gagan
21ac87cdda FEATURE: placeholder setting for text type fields 2021-07-03 15:41:49 +05:30
Faizaan Gagan
6d1958d772 Merge branch 'master' into submission_improvements 2021-06-28 13:54:03 +05:30
Faizaan Gagan
28400ee24e Merge branch 'master' into sprockets-fix 2021-06-26 13:30:37 +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
3d9f6aac98 Ensure data is not nil 2021-06-23 17:02:21 +10:00
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
Faizaan Gagan
7b9a54590b Merge branch 'master' into sprockets-fix 2021-06-16 14:28:55 +05:30
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
ff14570d64 FIX: exclude conditional fields while saving step submission 2021-05-12 18:15:55 +05:30
Faizaan Gagan
a4adeecf5f Revert "Revert "DEV: add new sprockets directive to require discourse folders" (#111)"
This reverts commit ca125a2a8a.
2021-05-12 06:14:09 +05:30
Faizaan Gagan
ca125a2a8a
Revert "DEV: add new sprockets directive to require discourse folders" (#111) 2021-05-12 02:58:12 +05:30
Angus McLeod
edbba891f6
Merge pull request #86 from paviliondev/sprockets-fix
DEV: add new sprockets directive to require discourse folders
2021-05-10 19:07:32 +12:00
Faizaan Gagan
4cacd84967 code formatting 2021-05-08 23:38:26 +05:30
Faizaan Gagan
3a3d23a317 added missing file 2021-05-08 23:18:58 +05:30
Faizaan Gagan
c254a0c6b8 convert key to string 2021-05-07 04:02:56 +05:30
Faizaan Gagan
56268823c5 confine exclusion to wizard fields 2021-05-07 03:28:16 +05:30
Faizaan Gagan
957a32cf5a FIX: filter conditionally excluded fields from wizard submission 2021-05-05 13:13:03 +05:30
Faizaan Gagan
887de25833 FIX: set checkbox field default value as false 2021-04-30 22:59:06 +05:30
Faizaan Gagan
f05d859007
Enable templating (#102)
* enabled templating for create topic action

* enabled templating for step and field descriptions

* FIX: don't run pretty text on step description

* FIX: step description should be cooked post template parsing
2021-04-23 17:21:41 +05:30
Faizaan Gagan
eb93169f86 use option multiple and aggregate the result 2021-04-23 12:22:04 +05:30
Faizaan Gagan
911140fde3 improved the logic to accomodate multiple conditions using 'or' 2021-04-22 23:50:26 +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
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
3bb244be79 Add .jpeg to list of default upload extensions 2021-03-12 21:12:26 +11:00
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
cced7a8d25 minor formatting 2021-02-26 09:53:39 +05:30
Faizaan Gagan
33e457a5c9 simplified the conditional 2021-02-26 09:46:23 +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
5e09d067bc Display category badge if similar topics is scoped to category 2021-02-18 14:40:59 +11:00
Angus McLeod
7f021791f5
Merge pull request #69 from paviliondev/realtime-validation
FEATURE: Implemented realtime validation framework
2021-02-17 15:50:39 +11:00
angusmcleod
c45e51fcb6 Various fixes
* Code formatting
* Both "type" and "name" are used to refer to the validation type. Changed all to "type".
* Added proper abstraction of realtime validation classes on server
* UI improvements in admin and wizard
2021-02-16 11:43:00 +11:00
Faizaan Gagan
69ce09bdf7 moved serialization logic to the controller 2021-02-15 18:12:32 +05:30
Faizaan Gagan
20c8d8493e fixed code formatting for realtime_validation class 2021-02-15 17:57:15 +05:30
Faizaan Gagan
4883d85d56 renamed the validator 2021-02-11 22:35:04 +05:30
angusmcleod
d339130c34 Switch to using category_id instead of slug for open_composer
See further https://thepavilion.io/t/category-is-not-working-in-open-composer-action/3979/2
2021-02-08 21:06:28 +11:00
Faizaan Gagan
77ca946745 completed categories and date after filters 2021-02-05 18:29:30 +05:30
Faizaan Gagan
ffd2101a30 added backend validation mechanism and refined code 2021-02-01 19:28:37 +05:30
Faizaan Gagan
79e2368b57 validation framework code working 2021-01-30 23:16:04 +05:30
Faizaan Gagan
5d749fe426 some changes 2021-01-27 10:38:26 +05:30
Faizaan Gagan
cdfd699491 resolved conflicts with latest code 2021-01-20 13:07:44 +05:30
Angus McLeod
b5a6d15c9d Add wizard field tabindex relative to field order 2021-01-19 18:50:37 +11:00
Faizaan Gagan
57b51c2972 Added a wizard setting to toggle displaying character counter 2021-01-12 16:16:24 +05:30
Angus McLeod
909f82095f Encode each query param seperately using Addressable 2020-12-19 10:16:12 +11:00
Faizaan Gagan
49f82b4014 fixed formatting 2020-12-08 13:19:31 +05:30
Faizaan Gagan
4f7d18d193 FEATURE: added max length setting for text type fields 2020-12-08 12:44:37 +05:30
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
61dfa9b2aa Update url encoding in actions to handle deprecation 2020-12-04 09:38:01 +11:00
Angus McLeod
39ce7248a8 Add enabled? wrapper for CustomField extensions 2020-12-01 18:20:02 +11:00
Angus McLeod
8274884505 Remove step_template from field validator arguments 2020-11-30 11:05:52 +11:00
Angus McLeod
f31054f75d Isolate and specify template and update validation 2020-11-26 14:05:50 +11:00
Angus McLeod
542195a0e0
Merge pull request #60 from OrbitalOwen/bug-fix/min-length-composer
Add composer to valid text fields for min length option
2020-11-13 13:02:03 +11:00
OrbitalOwen
1f1c911439 Add composer to valid text fields for min length option 2020-11-12 13:09:23 +00:00
Angus McLeod
b383538a6b Move to individual custom field saving 2020-11-10 11:56:11 +11:00
Angus McLeod
155eabd377 Isolated custom field removal 2020-11-09 21:44:32 +11:00
Angus McLeod
066eef4ef8 FEATURE: Wizard Manager
The "Transfer" UI has been upgraded into a full wizard manager, adding additional import/export features and bulk-delete functionality
2020-11-09 14:32:36 +11:00
Angus McLeod
3da4d546b2 Add custom field spec and improve custom field structure 2020-11-08 14:24:20 +11:00
Angus McLeod
74cba10a10 Merge branch 'master' into tests_improvements 2020-11-03 11:28:45 +11:00
Angus McLeod
fc7c5b9b34 Complete tests 2020-11-03 11:24:20 +11:00
Angus McLeod
b726d40a0c working builder and action specs 2020-10-31 18:05:50 +11:00
Angus McLeod
9d260635ca Move to more reliable custom field metaprogramming 2020-10-23 11:53:39 +11:00
Angus McLeod
54d244c1d8 Make custom field metaprogramming dynamic 2020-10-20 20:02:13 +11:00
Angus McLeod
4e094edc7b Add integer data type to custom field feature 2020-10-20 18:24:27 +11:00
Angus McLeod
cf8b06bbd0 Don't require serializer for custom field 2020-10-20 17:40:10 +11:00
Angus McLeod
b14d334829 Complete custom field management 2020-10-20 16:40:23 +11:00
Angus McLeod
9e0cf29b7c Merge branch 'master' into custom_field_management 2020-10-20 11:42:58 +11:00
Angus McLeod
3e86d0ffa6 FEATURE: suppress notifications setting for post actions 2020-10-20 11:42:10 +11:00
Angus McLeod
8fdd263d8e wip 2020-10-20 10:15:03 +11:00
Angus McLeod
d221d65d77 init 2020-10-17 12:31:07 +11:00
Angus McLeod
fc5279cd0a Add full support for groups in the private message action 2020-10-05 13:41:18 +11:00
Angus McLeod
662c7432ef Remove uncessary guardian checks 2020-09-24 17:47:07 +10:00
Angus McLeod
e34a24c495 Handle incorrect use of inputs
If the user mis-configures the wizard, e.g. using "is" instead of "=" it will produce an exception here in certain circumstances. This prevents that.
2020-09-21 15:50:46 +10:00
Angus McLeod
5588180dcd Clean up: variable usage and style registration 2020-08-19 14:41:20 +10:00
Angus McLeod
91a30178bf Add protection to data recursion 2020-07-22 11:39:30 +10:00
Angus McLeod
888072f196 Merge branch 'master' into add_date_time_inputs 2020-07-22 11:30:40 +10:00
Angus McLeod
a0f2d85eff Add visible to create_topic action 2020-07-20 14:26:11 +10:00
Angus McLeod
382ee50f13 Cast watch_category array to integer 2020-07-20 13:51:11 +10:00
Angus McLeod
36c0281b2f Add watch category users and migration 2020-07-20 13:06:36 +10:00
Angus McLeod
290bacc4bd Add wizard actions and fix field listings 2020-07-17 17:02:48 +10:00
Angus McLeod
978dc7c235 Use name input for full_name if blank 2020-07-17 11:08:25 +10:00
Angus McLeod
1e4348b67a Complete new group category actions 2020-07-16 17:50:09 +10:00
Angus McLeod
8fb44749f5 Add create_group 2020-07-16 15:25:06 +10:00
Angus McLeod
8d9179665b Working date, time and dateTime inputs 2020-07-16 13:26:56 +10:00
Angus McLeod
11bf892bcc Add Create Category action and Create Group serverside 2020-07-09 12:19:36 +10:00
Richard
224903b025 Add email_messages_level and email_digests as updatable user fields 2020-07-02 09:33:58 +00:00
Angus McLeod
1f7f17ee30 Add date field 2020-07-02 15:25:17 +10:00
Angus McLeod
fb06c0def2 Handle case of custom-field-only update 2020-07-02 10:02:40 +10:00
Angus McLeod
7841ee8101 Add email_level as updatable user field 2020-07-02 09:59:14 +10:00
Angus McLeod
454872edc8 Add more checks for edgecases (e.g. when user_field is removed) 2020-06-10 19:52:28 +10:00
Robert Barrow
518a4f3dce added some checks on data in action to reduce runtime issues 2020-05-26 10:59:11 +01:00
Robert Barrow
c4471fa15f Added notification level dropdown to allow admin to specify which level of tracking will be chosen during action 2020-05-25 14:59:31 +01:00
Robert Barrow
355d1abc54 simplify naming 2020-05-24 11:23:17 +01:00
Robert Barrow
2458525206 utilise wizard mapper to retrieve values 2020-05-24 11:20:15 +01:00
Robert Barrow
f13c04043b remove unused constant 2020-05-24 09:07:47 +01:00
Robert Barrow
beed6a93fc revert deletions of redundant spaces continued#3 2020-05-24 08:38:54 +01:00
Robert Barrow
f4a9cf86f2 FEATURE: added ability for user to selected watched categories in wizard 2020-05-22 23:42:26 +01:00
Angus McLeod
9383695c5b Add trigger post jobs when post is created 2020-05-04 19:02:49 +10:00
Angus McLeod
d3eaceefe1 Convert boolean to is 2020-05-01 19:12:58 +10:00
Angus McLeod
379e839b71 FIX: make invite topic redirects work and allow them to be used in conditional route_tos 2020-05-01 18:16:58 +10:00
Angus McLeod
e257d60c86 rm byebug 2020-04-30 19:37:57 +10:00
Angus McLeod
90ea524382 Remove unecssary && 2020-04-30 19:17:53 +10:00
Angus McLeod
5b5bbd0e1a Add boolean connector 2020-04-30 19:17:37 +10:00
Angus McLeod
857a159d0c Add conditionality to route_to url 2020-04-29 11:47:08 +10:00
Angus McLeod
07d0cbb0b4 Pair validation should be cumulative 2020-04-23 12:52:25 +10:00
Angus McLeod
d194a8313a Add user field options as dropdown option 2020-04-19 21:02:14 +10:00
Angus McLeod
1a5c66bf20 Support custom user fields in profile update action 2020-04-19 19:48:58 +10:00
Angus McLeod
47722d13a3 after_signup on approval fixes 2020-04-19 16:42:44 +10:00
Angus McLeod
bffdc1f363 Ensure content exists 2020-04-19 16:11:07 +10:00
Angus McLeod
20ca39bf2a Ensure content exists before adding it 2020-04-19 16:06:45 +10:00
Angus McLeod
a25d69eb5f Step description mapper updates 2020-04-16 15:14:03 +10:00
Angus McLeod
ba7c50b40f Clarify mapper interpolation 2020-04-16 13:33:42 +10:00
Angus McLeod
d26744cf56 Schema handling updates
- support custom field types
- move client schema to seperate helper
- handle schema defaults properly
2020-04-16 12:04:27 +10:00
Angus McLeod
79fc4eee24 Refactor open composer action 2020-04-15 13:52:02 +10:00
Angus McLeod
cda316a9c6 Dont use updater in action 2020-04-15 13:34:54 +10:00
Angus McLeod
949b28cecb Update logs 2020-04-15 12:47:14 +10:00
Angus McLeod
57a19d4f23 Minor bugfixes 2020-04-15 12:34:39 +10:00
Angus McLeod
9694b7b7d3 bugfix send message log 2020-04-15 11:46:55 +10:00
Angus McLeod
74e8525251 Group action bugfixes 2020-04-15 11:42:24 +10:00
Angus McLeod
8cfdaf94ef bugfix 2020-04-15 11:27:19 +10:00
Angus McLeod
1ac241fb9a Revert to post_builder 2020-04-15 11:23:41 +10:00
Angus McLeod
631640a7d7 Bugfix topic params 2020-04-15 11:13:06 +10:00
Angus McLeod
d65eb923d9 Update action.rb 2020-04-15 11:06:50 +10:00
Angus McLeod
7950485e12 Add more action logs 2020-04-15 11:05:26 +10:00
Angus McLeod
04198339ca Action logging and submissions bugixs 2020-04-15 10:46:44 +10:00