Commit Graph

584 Commits

Author SHA1 Message Date
mike cullerton ce1af73d6e Remove unused import 2021-09-07 15:44:15 -04:00
mike cullerton 21987cf1f1 Remove old root definition.
We now use the 2019 spec
2021-09-07 15:38:53 -04:00
mike cullerton e630aeb94e Add DMNDI section.
Without it, the configurator could not parse the XML
2021-09-07 14:27:15 -04:00
mike cullerton 6e7b549136 Change root element to use 2019 spec 2021-09-07 12:11:27 -04:00
mike cullerton 93e8015ddd Read the spreadsheet data sent from the front end. This allows pandas to see it as a file type object.
Fixed bug where column_count wouldn't get set if there isn't an Annotation column
2021-09-03 10:37:06 -04:00
mike cullerton 4fa68bd4c0 Move business logic to FileService 2021-09-02 09:52:58 -04:00
mike cullerton b88daef4fa Added task name to the error message, for configurators 2021-08-31 16:17:52 -04:00
mike cullerton ed57993f8d Workflow spec cleanup needs a category_id 2021-08-31 12:17:25 -04:00
mike cullerton f6816a2e42 Move display_order cleanup to their own methods 2021-08-31 10:07:38 -04:00
mike cullerton a99818b177 Make sure we don't try to move past the top or bottom of the list. 2021-08-30 11:42:44 -04:00
mike cullerton 070a9c9350 Code for reordering Workflow Spec Categories
Still need to work on edge cases where you try to move past top or bottom of list
Still need to work on tests
2021-08-30 11:27:07 -04:00
mike cullerton f2201a3cef Move business logic to WorkflowService
Return ordered list of specs
2021-08-30 10:41:08 -04:00
mike cullerton da914be3fa Add task_spec to data_store 2021-08-26 10:41:09 -04:00
mike cullerton 506157d58a Add task_spec_name to FileService.add_workflow_file, and script that calls it. 2021-08-26 10:40:47 -04:00
Mike Cullerton 961925e03e
Merge pull request #361 from sartography/430-email-enhancements
#430 email enhancements
2021-08-25 15:02:14 -04:00
Mike Cullerton fcbbeb4735
Merge pull request #360 from sartography/423-LibraryAppearingInDashboard
Fixes #423
2021-08-25 15:01:18 -04:00
Dan 4b9c5bd3e8 Fixing a stupid mistake. 2021-08-24 12:10:59 -04:00
Dan 0bd1c282a3 Merge branch 'dev' of github.com:sartography/cr-connect-workflow into dev 2021-08-20 13:46:08 -04:00
mike cullerton 32c72c5a40 Modified email script and email_service to accommodate new bcc, reply_to, and attachments arguments
Modified the email script description to add the new arguments
Cleaned up some import statements
2021-08-19 17:34:55 -04:00
mike cullerton ef9fd9514d This caused a key error if we had a repeating field that was unused 2021-08-19 17:32:24 -04:00
Kelly McDonald 76f8f5984e Fixes #413
Fixes #423 where a library was showing up in a study workflow

Alex said this used to work, but I don't see where I ever edited the code that needed a filter.
2021-08-19 10:47:13 -04:00
Dan afaecfa21c Catching an error when variables conflict with repeating section variables. 2021-08-18 13:38:34 -04:00
Leashys 032aad9bc4 Fixes #383 - Timestamp on files is UTC?
also this includes the shield test thing for the boolean_type property whoopsie
2021-08-17 13:04:24 -04:00
Dan 7a8eeab820 Merge branch 'dev' into bug/missing_pi_name_246 2021-08-17 11:16:03 -04:00
Dan Funk c831ee7e4a
Merge pull request #357 from sartography/426-remove-hsr-number
remove hsr number #426
2021-08-17 09:58:56 -04:00
Dan 77de2a8f47 Merge branch 'dev' into bug/missing_pi_name_246 2021-08-17 09:47:09 -04:00
Dan 0a2597ae36 Just a quick hot fix so that when can still report errors back to the UI even when the task_data can't be serialized, which can happen when functions are defined. 2021-08-17 09:43:08 -04:00
nilez f8dd4c3eb9 Check Study Associates Endpoint 2021-08-16 09:32:02 -04:00
mike cullerton bd4a9cced3 We no longer use HSRNUMBER to automatically set Study Status to `Open for Enrollment` 2021-08-13 12:06:27 -04:00
nilez 4a2581e938 get studies raises and error when invalid studies are the only studies associated with the user 2021-08-12 14:03:44 -04:00
nilez 7027392a1b Merge remote-tracking branch 'origin/bug/missing_pi_name_246' into bug/missing_pi_name_246
# Conflicts:
#	crc/services/workflow_service.py
#	tests/study/test_study_associate_script.py
2021-08-12 13:01:41 -04:00
nilez e32c1db4c8 Merge remote-tracking branch 'origin/dev' into bug/missing_pi_name_246
# Conflicts:
#	crc/models/study.py
#	crc/services/study_service.py
#	crc/services/workflow_service.py
#	tests/study/test_study_associate_script.py
2021-08-12 12:59:15 -04:00
nilez 41e27cb454 Merge remote-tracking branch 'origin/dev' into bug/missing_pi_name_246
# Conflicts:
#	crc/models/study.py
#	crc/services/study_service.py
#	crc/services/workflow_service.py
#	tests/study/test_study_associate_script.py
2021-08-12 12:39:04 -04:00
nilez 2732071585 Merge branch 'dev' into bug/missing_pi_name_246 2021-08-12 12:07:25 -04:00
Dan 40727c7ce6 avoid erroring out when unable to calculate a value expression as a part of finding a default value. 2021-08-12 11:35:05 -04:00
Dan Funk adb1b74822
Merge pull request #352 from sartography/post-process-empty-field-408
Post process empty field #408
2021-08-12 10:53:26 -04:00
mike cullerton d07bac27ca Fix for hidden file data field.
We were processing a field that didn't have a value.
Ticket 408
2021-08-11 16:43:50 -04:00
Dan 318cd34f81 bouncing to fix a bug in SpiffWorkflow that was holding outo outdated data deed within the python_script_engine.
This caused validation to fail for valid repeat sections, so including a fix to allow that validation to continue.
2021-08-11 14:21:23 -04:00
Dan 848c2e622f Always use a schema to define what is being returned, it enforces consistency of the API and internally we can depend on well defined objects. 2021-08-10 16:16:08 -04:00
Dan 913c12c02d Merge branch 'dev' into bug/pi_name_missing_246 2021-08-10 15:06:52 -04:00
Kelly McDonald 960d302c03 Finish #367 - Make sure that we only use a primary_id if it is in the workflow that we are currently working on - otherwise it is a library and might have its own primary id. 2021-08-10 09:15:38 -04:00
Kelly McDonald 41ad7935f8 Merge branch 'dev' into 367-Call-Activity
# Conflicts:
#	Pipfile.lock
2021-07-29 09:28:21 -04:00
Kelly McDonald 217e61eed3 next_task returns the next available task, except when the task is completed when it returns the EndEvent -
The problem was that it was returning the first EndEvent it found, not the last one. This caused a problem when we had a CallActivity which has its own EndEvent.

Fixes #399
2021-07-27 09:19:08 -04:00
Dan Funk 25e00823a7
Merge pull request #342 from sartography/enum-file-data-375
Enum file data #375
2021-07-23 13:47:57 -04:00
mike cullerton 4c8a86f9bf Fixed bug where processing file data only worked for enums. 2021-07-23 11:24:17 -04:00
NWalker4483 38b8c7fcdf Fixed email_cc test 2021-07-22 15:08:28 -04:00
NWalker4483 a73d1794eb Fixed Associate API Endpoint description 2021-07-22 14:09:24 -04:00
Dan Funk 61504664d4
Merge pull request #346 from sartography/bug/346_timer_fails_to_send_email
fixes #346, allow emails to fire in scheduled events
2021-07-22 13:40:12 -04:00
Dan 2009a794ea We were depending on an active http request existing in order to fire emails, using that request to determine the front end url. We have the frontend url in our config file, and we don't have a request object when running scheduled tasks, so I just use our configuration setting instead. 2021-07-22 13:25:06 -04:00
mike cullerton 8df1145471 Modify the LDAP service to only use lowercase UIDs.
UVA always returns the UID as lowercase.
This caused a postgres unique value problem for us.
2021-07-22 10:46:09 -04:00
Kelly McDonald 2455495457 got library side working - still need to have parent working 2021-07-22 10:20:34 -04:00
NWalker4483 4632c6374f Merge branch 'dev' into bug/missing_pi_name_246
# Conflicts:
#	crc/api.yml
#	crc/services/study_service.py
2021-07-20 11:44:11 -04:00
mike cullerton 354e20c34b Use the data_store_service to set the data_store, rather than access DB directly.
Pass the label explicitly (as the value)
2021-07-15 13:09:40 -04:00
Dan dd67a5e650 Never set the date to datetime.utcnow() on DateTime fields. We want this to fall back on the func.now() method and allow the database to set the time on insert. 2021-07-12 15:58:32 -04:00
Mike Cullerton 522ca9d164
Merge pull request #340 from sartography/bug/better_errors_on_scheduled_tasks
Assure we log reasonably clear errors when executing scheduled tasks …
2021-07-12 10:13:02 -04:00
Mike Cullerton d1bf370a39
Merge pull request #339 from sartography/restrict-loaded-studies-374
Restrict loaded studies #374
2021-07-12 10:11:34 -04:00
Mike Cullerton 7070761089
Merge pull request #338 from sartography/document-spreadsheet-name-380
Document spreadsheet name #380
2021-07-12 10:11:16 -04:00
Dan f982745d32 fixing a failing test, don't assume the study and workflow ids will always be 1. 2021-07-12 10:00:39 -04:00
Dan 1916c4ff54 Assure we log reasonably clear errors when executing scheduled tasks in the background, so that sentry can pick them up and they can be addressed effectively. 2021-07-12 09:43:12 -04:00
mike cullerton dad2de9f0c get_user_studies now checks study_details['REVIEW_TYPE'] before displaying a study.
This corresponds to REVIEWTYPENAME being `Full Committee`, `Expedited`, `Non-UVA IRB Full Board`, or `Non-UVA IRB Expedited`
2021-07-09 10:37:25 -04:00
Kelly McDonald 79c69037dd Filter out Library categories from the list returned 2021-07-08 08:57:40 -04:00
mike cullerton d6f9b013f7 Change `irb_documents` to `documents` 2021-07-07 12:54:03 -04:00
mike cullerton 23180908c8 Undo change. Wrong branch 2021-07-07 12:43:51 -04:00
mike cullerton c39e08972d Change irb_documents to documents 2021-07-07 12:42:01 -04:00
Dan Funk 3c52453c26
Merge branch 'dev' into add-name-error-hint-8 2021-07-07 11:35:24 -04:00
Dan Funk 2ed436327f
Merge pull request #333 from sartography/check-study-script-273
Check study script #273
2021-07-07 11:28:32 -04:00
Dan Funk db9b228735
Merge pull request #334 from sartography/WaitingEventsHotPatch
Make a change so that anything that has a waiting event is labeled in…
2021-07-07 11:27:10 -04:00
Dan 2a45f2fcda Merge branch 'dev' into add-name-error-hint-8 2021-07-07 11:24:00 -04:00
mike cullerton b0cf74fa3d Merge branch 'dev' into add-by-user-61
# Conflicts:
#	tests/files/test_files_api.py
2021-07-07 10:46:50 -04:00
Dan fb54edac1c Adding additional details to error messages, and cleaning up the cruft around these messages to keep them clear and succinct.
Most noteable is the addition of the line on which the error occurs for script tasks.  It will report the line number and pass back the content of
the line that failed.
The validator only returns the first error it encounters, as it's clear that all we ever get right now is two of the same error.
Did a lot of work between this and spiffworkflow to remove all the places where we obfuscate or drop details as we converted between workflowExceptions and APIExceptions.
Dropped the python levenshtein dependency, in favor of just rolling a simple one ourselves in Spiffworkflow.
2021-07-07 00:53:49 -04:00
mike cullerton 894377a607 Add user_uid to FileDataModel calls 2021-07-06 17:09:00 -04:00
Dan a9805ad40c Adding some documentation for clarity. 2021-07-06 14:40:20 -04:00
Dan 7aa4b0833c Merge remote-tracking branch 'origin/dev' into feature/documents_xls_refactor 2021-07-06 13:11:08 -04:00
Dan 1b1a994360 Refactoring Reference files to use the lookup table, rather than parsing the results directly out of the spreadsheet, or attempting to cache them.
Adding a DocumentService to clean up the FileService, and get Documents well seperated, as it seems likely be pulled out or seperated in the future, there is now a Documents api file as well, for the same reason.
Some other minor changes are just fixing white space to assure our code is linting correctly.
I removed _create_study_workflow_approvals from the base test, as we don't use approvals like this anymore.
2021-07-06 13:10:20 -04:00
Kelly McDonald 9803a04d6d Make a change so that anything that has a waiting event is labeled in the database as waiting, even if it is sitting around waiting on a user input task that is ready 2021-07-06 11:46:47 -04:00
mike cullerton 9690c69b6c added check_study method to protocol_builder service for new endpoint 2021-07-02 15:25:33 -04:00
mike cullerton db44882733 When we encounter a name error running a script, look in the task data and see if there is a variable with a similar name.
If a variable with a similar name exists, add it to the ApiError as a hint
2021-07-01 15:38:45 -04:00
Mike Cullerton 98d641f54d
Merge branch 'dev' into partial_testing 2021-06-30 16:13:31 -04:00
NWalker4483 508ef1ff2b Readded exit_at to workflow param 2021-06-30 11:15:48 -04:00
Dan 9a32fadc2f Merge branch 'dev' into 346-waiting-task-schedule
# Conflicts:
#	Pipfile.lock
#	crc/services/workflow_service.py
2021-06-30 10:14:37 -04:00
NWalker4483 2ba52a7095 Merge remote-tracking branch 'origin/HEAD' into partial_testing 2021-06-29 11:21:49 -04:00
Dan 187221537b fixing a corner case around file_data attributes. 2021-06-25 16:18:28 -04:00
Dan 628a587d97 We weren't committing to the database in the correct spot, so the delete wasn't sticking, and we were ending up with test workflows showing up in the main interface. 2021-06-23 16:39:58 -04:00
Dan 1f3febe2df Fix the panda warnings, which means we only support xlsx files now.
Include the document details when reutnring a file from the file model.
Improve the validation of file form elements.
2021-06-22 14:58:52 -04:00
NWalker4483 369b518384 Removed WorkflowService.delete_test_data() 2021-06-22 11:29:00 -04:00
Dan 07eb3f9ca8 Moving metrics into SpiffWorkflow so we can run the performance metrics deeply across both systems simultaniously.
Upgrading libraries.
Fixing deprication issue with Pandas and numpy.
We can only process xlsx files now, plain oldschool xls is fully removed.
2021-06-18 16:41:55 -04:00
NWalker4483 4ca94b39ce Merge branch 'dev' of https://github.com/sartography/cr-connect-workflow into partial_testing 2021-06-17 15:12:28 -04:00
Dan a4caae8d64 when validating, we need to take every step to remove the workflows we create during the validation. 2021-06-16 14:40:20 -04:00
Dan acae6030f5 The API for evaluating python expressions should not raise an error, it can simply return a result of false, and provide an error to explain the problem. In this way the front end doesn't error out when it's running the script tasks but doesn't have enough information to get a valid response back.
The validation should take into account that repeating sections must be evaluated in the context of the data within the repeating section, not outside of it.
2021-06-15 16:17:15 -04:00
NWalker4483 5c5b966bc4 Merge branch 'dev' of https://github.com/sartography/cr-connect-workflow into partial_testing 2021-06-15 09:11:18 -04:00
Dan 738a984dcd Merge branch 'dev' of github.com:sartography/cr-connect-workflow into dev 2021-06-11 17:21:47 -04:00
Dan 879d6e1df3 missed a critical change on the backend with the recent file updates, this assures that we properly handle repeating sections during the post process,
and we update the file doc code in those repeating sections.
2021-06-11 17:20:25 -04:00
Dan 7282419174 modified the tools api to return the expression and data with the result, making it easier to cash results on the front end, This should help drastically reduce the calls to the python_eval from the front end.
The post processors for form submissions needs to take repeating sections into account, or it won't find the files it is looking for.
2021-06-11 08:27:50 -04:00
Kelly McDonald 394906d840 Add refresh_waiting_tasks to the processor do_engine_steps so that if we have a waiting task that has met its condition prior to the scheduler running, it will go ahead and proceed 2021-06-10 08:33:24 -04:00
NWalker4483 e1a4a79b03 Added Partial Workflow spec 2021-06-09 15:21:21 -04:00
NWalker4483 2364c240b2 Error Text Changed 2021-06-09 14:54:43 -04:00
NWalker4483 338fe30984 Merge branch 'dev' of https://github.com/sartography/cr-connect-workflow into partial_testing 2021-06-09 14:32:01 -04:00
NWalker4483 17077be701 exit at task 2021-06-09 12:40:38 -04:00
Kelly McDonald 5f722d675f Add a function that gets runs via a background scheduler to look for any workflows that are in a 'waiting' state - it runs the update waiting tasks and does do_engine_steps
We have a test for the function that runs, but an assumption was made that the scheduler module has its own unit tests and we do not need to test that.

fixes #346
2021-06-09 10:42:34 -04:00
Kelly McDonald 0d8d251e8e Temp save to test dev 2021-06-09 09:24:37 -04:00