Commit Graph

820 Commits

Author SHA1 Message Date
mike cullerton 3e32cdedc4 New error handler for non Api errors. Ticket 187 2021-02-09 16:35:57 -05:00
mike cullerton b42b843f7d It was possible for an enum field lookup to return an empty list. This meant there were no options for the list.
We now test for this and raise an error.
2021-02-08 15:10:53 -05:00
mike cullerton e87e7b5b8b Form fields that can be hidden and required must now have a default value or value_expression.
Also, if a field is hidden but not required, it should not produce a value.
2021-02-08 10:18:41 -05:00
mike cullerton fa34bee18a First commit for cleaning up error messages for customers.
This is *not* in a working state.
Committing this so I can work on another ticket.
2021-02-04 11:23:05 -05:00
Dan Funk 329146237e
Merge pull request #232 from sartography/boolean-default-values-175
Boolean default values 175
2021-02-03 16:34:54 -05:00
Dan Funk effd11f947
Merge pull request #231 from sartography/cancellations-137
Cancellations 137
2021-02-03 16:31:18 -05:00
Dan Funk 2d01b92a50
Merge pull request #230 from sartography/pretty-emails-160
Pretty emails 160
2021-02-03 16:20:38 -05:00
Dan Funk 1eba20f420
Merge pull request #229 from sartography/workflow-spec-order-74
Workflow spec order 74
2021-02-03 16:18:34 -05:00
mike cullerton b090e31e00 This fixes 2 issues with setting boolean defaults
- If the default was False, we failed an early test and returned None. We now only return None if default is None
 - We have a better test for deciding if the default value we return should be True or False. We used to return True if the value was the string 'false'.
2021-02-03 09:50:16 -05:00
mike cullerton c5cf3ea7ff Changed call to WorkflowProcessor.reset to reflect change from class method to instance method. 2021-01-29 14:34:09 -05:00
mike cullerton 7e76639cf3 When a study is put on hold, we now reset workflows and call any pending cancel_notify events.
In api.study.update_study we test the study status and call the new WorkflowService method process_workflows_for_cancels.
In services.workflow_service we added the new method process_workflows_for_cancels. It loops through workflows for a study, and resets them if they are in progress.
In services.workflow_processor, we changed the reset method to be an instance method so we can call self.cancel_notify.
In tests.test_lookup_service we changed the call to WorkflowProcessor.reset to reflect the change from class method to instance method
2021-01-29 14:05:07 -05:00
mike cullerton 958d5a6281 Possible solution for W3C issues raised by Sonarcloud 2021-01-28 09:45:53 -05:00
mike cullerton d7a3afe8f4 changed the template to use the responsive html email template at https://github.com/leemunroe/responsive-html-email-template
added method get_cr_connect_wrapper to render our new html email template. This takes the email text generated from the task element documentation as the email_body.
2021-01-27 17:12:03 -05:00
Dan Funk cccb722e07
Merge pull request #226 from sartography/enum_default_value_expression_162
Enum default value expression 162
2021-01-27 10:43:46 -05:00
mike cullerton 81e55b6055 Cleaning up my smell. A task should only have default_value *or* value_expresion, not both. 2021-01-27 10:21:13 -05:00
mike cullerton c99a388405 We now set the display_order automatically. Users can modify order using the arrows. 2021-01-27 09:50:29 -05:00
Dan Funk 98f946c119
Merge pull request #227 from sartography/missing_form_key_163
Missing form key 163
2021-01-27 09:42:46 -05:00
mike cullerton ecc553c4ea Jinja templates and svg file for pretty emails 2021-01-26 09:20:16 -05:00
mike cullerton 909af9b8d6 Change HTML emails so they look like the CR-Connect website. Add logo, color, style, etc.
Cleaned up email script a little.
Also, email script no longer uses services.mails. It uses email_service directly now.
2021-01-26 09:19:28 -05:00
mike cullerton b71fd93dd4 We now make sure that forms have a form key. Ticket 163 2021-01-22 12:14:17 -05:00
mike cullerton 00d9276483 In spiff_task_to_api_task, when looping through fields, if the field doesn't have a value, we now try to set it with the default value
In test_spec, we now check for FIELD_PROP_VALUE_EXPRESSION when setting default values
2021-01-22 10:00:28 -05:00
Dan 5921ce9f10 Merge branch 'dev' into 152-workflow-spec-pull 2021-01-21 12:30:43 -05:00
Dan Funk 5b13195182
Merge pull request #224 from sartography/restart-with-no-data-99
Restart with no data 99
2021-01-20 17:22:18 -05:00
Dan 41dac33039 Removed two tests around soft_reset that are no longer required.
Reset should construct the workflow_processor, thus completing the reset process.
Removed the spec argument from init, as it is never used anywhere.
2021-01-20 13:24:53 -05:00
mike cullerton 039a1dcd79 WorkflowProcessor code for new restart_workflow api endpoint. WorkflowProcessor.reset will clear workflow_model.bpmn_workflow_json, and if clear_data is True will clear form data.
WorkflowProcessor.__init__ is mostly unchanged.
2021-01-19 15:14:36 -05:00
mike cullerton 9c71a503ca Python code for new restart_workflow api endpoint. Cleaned up code and docstring in get_workflow to match. 2021-01-19 15:09:20 -05:00
mike cullerton e1532a90c9 New api endpoint for restarting a workflow. Unsure if I needed the responses section. **Dan, can you check this?**
Also, removed clear_data and reload_spec as parameters for standard get workflow endpoint.
2021-01-19 15:00:39 -05:00
mike cullerton 6a9e6d3570 Restart workflow without form data. Committing so Dan can check it out 2021-01-14 15:32:14 -05:00
Kelly McDonald cf7990ce85 Refactor for better readability due to code smell test 2021-01-12 08:54:32 -05:00
Kelly McDonald e14b896225 Add documentation 2021-01-11 09:31:08 -05:00
Kelly McDonald f282a9ef73 Make sure that top_level_workflow is transferred over, also include reference files in the list of files to sync
We may want to revisit this because I used a 'Magic' workflow_ref_id of 'REFERENCE_FILES' as a special case so I could re-use most of what I already had. This works well, but we may want to structure it different.
2021-01-11 09:21:44 -05:00
Dan 336c093bf8 Catch errors when building enumeration lists. 2021-01-08 15:15:24 -05:00
Dan 26655b26d3 merging in dev, and fixing a failing test from dev. 2021-01-08 14:42:13 -05:00
Dan Funk 9118517995
Merge pull request #220 from sartography/prevent-duplicate-template-upload-111
Users cannot upload a workflow_spec_file that already exists. We rais…
2021-01-08 13:55:19 -05:00
Dan Funk be288ae048
Merge pull request #219 from sartography/fix-api-call-missing-fieldname-143
Fixed ApiError call. Now includes task_id and task_name.
2021-01-08 13:46:26 -05:00
Dan Funk 81fe3e7957
Merge pull request #218 from sartography/is-file-uploaded-143
Ticket 143. Test whether file is uploaded.
2021-01-08 13:45:24 -05:00
Dan 72a73c1fc4 Allow for synch to work even if the local set of workflow specifications are completely empty. 2021-01-08 13:23:01 -05:00
mike cullerton d274813ae5 We now check form field IDs so they play well with Python and Javascript. 2021-01-07 11:10:31 -05:00
mike cullerton c9a4a9685f Users cannot upload a workflow_spec_file that already exists. We raise an error that is displayed on the fron end. 2021-01-04 15:47:45 -05:00
mike cullerton 0ae4448fbe Fixed ApiError call. Now includes task_id and task_name. 2021-01-04 13:48:34 -05:00
Dan b0dc834682 Don't error out on autocomplete_num 2021-01-04 13:41:57 -05:00
mike cullerton 0c47d09972 Ticket 143. Test whether file is uploaded. 2021-01-04 10:53:21 -05:00
Dan Funk 386feddeed
Merge pull request #214 from sartography/validate-hide-expression-103
Modified study_info do_task_validate_only so that we take the default…
2020-12-31 10:53:27 -05:00
Dan Funk cf106fb9cd
Merge pull request #216 from sartography/place-study-on-hold-20
Studies can now be put on hold in the dashboard. We were overriding t…
2020-12-31 10:53:03 -05:00
mike cullerton ede5df4df5 Studies can now be put on hold in the dashboard. We were overriding the status in StudyModel.update_from_protocol_builder. 2020-12-30 17:49:59 -05:00
Dan efdbbcbc72 StudyInfo sometimes returns arrays of items, each item in the array should be coverted to a Box dictionary if possible. 2020-12-30 14:51:51 -05:00
mike cullerton f29429f0d0 Modified study_info do_task_validate_only so that we take the default path in ind_update workflow. 2020-12-30 10:04:10 -05:00
Dan e5a38874f6 A hard or soft reset should also cause a 'cancel_notify' which will kick off any CANCEL events. If this happens during
a hard or soft reset, and an error is thrown trying to fulfil a cancel event, the reset should still fire.
Sending emails still had a number of issues correctly parsing it's arguments.  This is corrected.
2020-12-29 18:05:13 -05:00
Dan c288a8a2bc Merge branch 'dev' into check-field-type#143 2020-12-29 11:11:43 -05:00
mike cullerton 7938ac8eed We now assure each form field has a field type. Modified populate_form_with_random_data, added check at beginning of form field loop. 2020-12-28 18:02:16 -05:00
Dan 6cfce839c1 Validation now assures that we won't encounter errors when generating navigation lists.
Fixing workflow sync paths that were incorrect.
Repairing a suddenly failing test in files, that just don't make no sense.
Bumping spiffworkflow that contains a fix for issue #155
2020-12-28 17:33:38 -05:00
Dan 1f9bf72c59 Merge branch 'dev' into bug/navigation 2020-12-14 11:46:44 -05:00
Dan Funk 4268d0f482
Merge pull request #208 from sartography/152-workflow-spec-pull
152 workflow spec pull
2020-12-14 11:35:06 -05:00
Dan bcb78de225 Merge branch 'dev' into bug/navigation 2020-12-14 11:33:51 -05:00
Dan Funk e54404e424
Merge pull request #205 from sartography/test-email-script
Test email script
2020-12-14 11:28:14 -05:00
Dan 6bf24cc438 fixing some failing tests related to changes in the underlying spiffworkflow library. 2020-12-14 11:27:38 -05:00
Dan b62a9c7074 Merge remote-tracking branch 'origin/dev' into bug/navigation 2020-12-14 10:40:21 -05:00
Dan fd4b881416 upgrading the pip libraries. 2020-12-14 10:30:10 -05:00
Kelly McDonald ee3ee9fd4a Added tests to cover most of the use cases and code, and a bunch of stuff to make the mocks happy 2020-12-14 10:27:40 -05:00
Dan 02ea414b94 Additional fixes to Navigation to allow a nested navigation structure. 2020-12-14 10:07:19 -05:00
mike cullerton 7defc2b02f Tests for uid in logs. Currently we test for uid in a response. This covers ApiError.
Currently, we don't have a test for Sentry. Unsure how to do this.
Also added a script, service and test workflow to help. (Also to learn about adding a script and service.)
2020-12-11 17:47:53 -05:00
mike cullerton 856fe445b0 Added user.uid to ApiError and Sentry logging 2020-12-11 16:26:03 -05:00
Kelly McDonald adc4dc4453 redid the api a bit so that nothing was using open security - added a new endpoint for getting a workflow spec that uses the alternate API_TOKEN security and leave the original endpoint as it was. 2020-12-11 12:03:41 -05:00
Kelly McDonald 55e6f5b753 refactored calls into a service - forgot to add actual service 2020-12-11 11:42:00 -05:00
Kelly McDonald 3a1160efac refactored calls into a service 2020-12-11 11:41:32 -05:00
Kelly McDonald 9eea26e019 add workflow_sync test 2020-12-11 08:34:59 -05:00
Kelly McDonald 993c7bc76e fixed error on api.yml from search / replace 2020-12-11 08:29:37 -05:00
Kelly McDonald 3f56dfe484 Move all workflow sync stuff into new file
Make changes to api naming scheme
add some error checking around endpoints for missing/invalid endpoints
2020-12-10 10:46:23 -05:00
Kelly McDonald a8203ed01d save changes before refactor 2020-12-10 10:06:21 -05:00
Kelly McDonald e377a05dea Add some punctuation 2020-12-09 13:50:52 -05:00
Kelly McDonald c57b17df1e Add a robust way of adding an API key, update examples and documentation for swagger API and add the ability to completely sync the local system from the remote system. 2020-12-09 12:13:17 -05:00
mike cullerton 32c5060a31 No longer use eval on the email address. It is already parsed.
Tests for single and multiple emails, and email error checking.
Still need to figure out how to implement multiple emails.
2020-12-09 12:11:46 -05:00
Kelly McDonald 0e1aa59fa1 Make a change to make sure that if there is a new file locally that is not present remotely when we pull from the remote, the new local file gets deleted.
Also: add several things to the requirements.txt that should have been there in the first place.
2020-12-08 13:42:01 -05:00
mike cullerton 730d0ca18f Email script now uses an email address instead of a UVA LDAP user_id. 2020-12-07 16:23:41 -05:00
Kelly McDonald 44c72115ae Make sure we get the file we intended 2020-12-07 08:50:20 -05:00
Kelly McDonald f26a8615a4 Get more file details so we can fill out everything locally and also add a method to download the file by md5_hash 2020-12-07 08:49:38 -05:00
Dan 93b12a8e82 updates using new navigation from spiff workflow's navigation branch, all tests passing. 2020-12-04 17:56:12 -05:00
Kelly McDonald cad613cf63 Fix problem when method is run for a workflow that is non-existant locally 2020-12-04 12:00:02 -05:00
Kelly McDonald d41d018fe3 For a given workflow - find the files that are different from a remote endpoint for the same workflow 2020-12-04 11:49:07 -05:00
Kelly McDonald 3e8d4ca7c9 Add some inline documentation to make the process more clear 2020-12-04 10:23:03 -05:00
Kelly McDonald 10dce542ec documentation change 2020-12-03 15:27:45 -05:00
Kelly McDonald 0f59d3de09 add endpoint that gets a record for all changed /new workflow_specs at a remote endpoint 2020-12-03 14:45:57 -05:00
Kelly McDonald bcb45a59c8 allow cors 2020-12-03 08:46:34 -05:00
Kelly McDonald 0e8913434a refactor a bit 2020-12-03 08:44:15 -05:00
Kelly McDonald 92aa1b971d commit before removing big long SQL 2020-12-02 16:04:00 -05:00
Dan aca1fb366b Fixing a failing test and updating the personnel. 2020-12-01 15:47:27 -05:00
Dan Funk e15130e09c
Merge pull request #203 from sartography/151-data-store-exclusive-branch-expression
Added the ability to use the custom functions within a decision/flow …
2020-12-01 14:44:27 -05:00
Dan Funk 801c5df75e
Merge pull request #201 from sartography/verify-end-event-#105
Verify end event #105
2020-12-01 14:24:12 -05:00
Dan e0c28cbc7d Make it easer to start things up. 2020-12-01 11:17:07 -05:00
Kelly McDonald 94662c560e Added the ability to use the custom functions within a decision/flow coming off of an exclusive join
Altered previous test to test this feature
2020-12-01 09:13:12 -05:00
mike cullerton 73e01b347b Ticket #105. Verify End Event Documentation. Added explicit call to _process_documentation at end of crc.services.workflow_service.test_spec for the end event 2020-11-24 16:51:18 -05:00
Dan 071c98d72e Some minor config tweaks to try and deal with some database timeout issues. 2020-11-19 11:25:58 -05:00
Dan Funk b8a91a513b
Merge pull request #196 from sartography/128-data-store
128 data store
2020-11-18 18:55:33 -05:00
Dan b83ab1bcd1 Move data store base into its own file. 2020-11-18 15:34:50 -05:00
mike cullerton d198f124d7 Committing a merge from dev 2020-11-18 15:33:44 -05:00
Dan 66693d9f3a Removing datastore script, as it isn't used in the api at all. 2020-11-18 15:06:28 -05:00
Dan c62b73a539 drop some of the test-only api endpints and rework the tests so they aren't needed 2020-11-18 15:04:36 -05:00
mike cullerton 16313609ec removed call to signal (changed to cancel_notify) 2020-11-18 13:55:30 -05:00
Kelly McDonald 72ade3c367 Add crosstalk test 2020-11-17 10:29:49 -05:00
Kelly McDonald e9979efb0d Add some tests 2020-11-17 09:33:29 -05:00