501 Commits

Author SHA1 Message Date
Dan Funk
c4f2bd8dc6 Quick cleanup, adding a space 2020-05-19 16:23:20 -04:00
Dan Funk
951710d762 ldap lookup.
Refactored calls into a new lookup_service to keep things tidy.

New keys for all enum/auto-complete fields:
    PROP_OPTIONS_FILE = "spreadsheet.name"
    PROP_OPTIONS_VALUE_COLUMN = "spreadsheet.value.column"
    PROP_OPTIONS_LABEL_COL = "spreadsheet.label.column"
    PROP_LDAP_LOOKUP = "ldap.lookup"
    FIELD_TYPE_AUTO_COMPLETE = "autocomplete"
2020-05-19 16:11:43 -04:00
Dan Funk
5c5c2a7312 Assure that new lines entered in text-fields are correctly added to the final word document. 2020-05-18 11:55:10 -04:00
Dan Funk
fc080ce7a8 Don't reset the token to something that already has a token. Terrible things happen and we hit a recursion. 2020-05-17 13:29:36 -04:00
Dan Funk
fafdf56ad2 Merge remote-tracking branch 'origin/testing' into feature/navigation 2020-05-16 15:46:14 -04:00
Dan Funk
43bf8f5337 Fixing a bug with navigation where elements went missing past exclusive gateways on subsequent forks. 2020-05-16 15:33:06 -04:00
Aaron Louie
091a1729f8 Removes CORS logging. Allows only specific origins 2020-05-16 11:36:48 -04:00
Dan Funk
7d3f139633 Merge branch 'feature/navigation' of github.com:sartography/cr-connect-workflow into feature/navigation 2020-05-15 16:39:25 -04:00
Dan Funk
de435bd961 the heck with camel case, what the heck TypeScript? Get a grip. This is a python API. 2020-05-15 16:38:37 -04:00
Aaron Louie
0f1fbd0249 Merge branch 'dev' into feature/navigation 2020-05-15 16:10:40 -04:00
Dan Funk
53255ef35e massive overhaul of the Workflow API endpoint.
No Previous Task, No Last Task, No Task List.  Just the current task, and the Navigation.
Use the token endpoint to set the current task, even if it is a "READY" task in the api.
Previous Task can be set by identifying the prior task in the Navigation (I'm hoping)
Prefering camel case to snake case on all new apis.  Maybe clean the rest up later.
2020-05-15 15:54:53 -04:00
Dan Funk
b63ee8159e We now only return the ready user tasks, not all tasks, and even then the ready user tasks don't come back with the forms and details, just the bare minimum. Speeds things up considerably, and most of this information wasn't used anyway. 2020-05-14 17:13:47 -04:00
Dan Funk
f2c9fd5fc4 adding a default url. And some debugging information to see if we hit he endpoint in the logs. 2020-05-14 15:07:05 -04:00
Dan Funk
6d4348d644 Fixing some failing tests. Moved the task properties into a dictionary, but moving the form field properties to a dictionary will be a larger effort that we don't want to get into on either the back or front end right this moment. 2020-05-14 14:39:14 -04:00
Dan Funk
55a1850e7c adding a navigation component to the Workflow Model.
running all extension/properties through the Jinja template processor so you can have custom display names using data, very helpful for building multi-instance displays.
Properties was returned as an array of key/value pairs, which is just mean.  Switched this to a dictionary.
2020-05-14 13:43:23 -04:00
Aaron Louie
3ef07bd8c9 Allows all origins (for troubleshooting) 2020-05-13 12:32:57 -04:00
Aaron Louie
caf791118f Allows all resources 2020-05-13 11:00:43 -04:00
Aaron Louie
fbdff7a5e6 Merge branch 'master' into dev 2020-05-12 22:46:20 -04:00
Aaron Louie
cdfe45dc00 Turns on flask_cors debugging to troubleshoot CORS issue 2020-05-12 22:42:02 -04:00
Aaron Louie
77b1908373 Escapes dot characters in CORS domains 2020-05-12 14:27:17 -04:00
Aaron Louie
ac3f0b401b Converts list of allowed origins to regexes 2020-05-12 12:23:47 -04:00
Dan Funk
e723992fde Found a number of bugs with the parallel multi-instance - pulling in some recent changes from Spiffworkflow to open things up a bit more to allow functional jumping between tasks. 2020-05-12 12:23:43 -04:00
Aaron Louie
73ce70b574 Allows CORS connections from frontend 2020-05-12 10:43:52 -04:00
Dan Funk
99503fb832 missed a file in the last commit. 2020-05-11 17:42:24 -04:00
Dan Funk
b7c11fd893 Merge branch 'master' into feature/investigators_reference_file 2020-05-11 17:36:37 -04:00
Dan Funk
02f8764056 Updated to use the latest script engine / evaluation engine that creates a single location where all values used in BPMN/DMN are processed. Right now this is a python based interpreter, but we will eventually base this on FEEL expressions.
The validation process needs to take the api model into account so we catch errors with bad file names.
2020-05-11 17:04:05 -04:00
Dan Funk
c34000d369
Merge branch 'master' into feature/investigators_reference_file 2020-05-07 16:47:24 -04:00
Dan Funk
da7cae51b8 Adding a new reference file that provides greater details about the investigators related to a study.
Improving the study_info script documentation to provide detailed examples of values returned based on arguments.
Making the tests a little more targetted and less subject to breaking through better mocks.
Allow all tests to pass even when ther protocol builder mock isn't running locally.
Removing the duplication of reference files in tests and static, as this seems silly to me at the moment.
2020-05-07 13:57:24 -04:00
Aaron Louie
9afcd753c4 No longer requires task_id 2020-05-06 14:27:28 -04:00
Dan Funk
1571986c0e I had to give up and live with the idea that we can only render documentation on the current task, not on the previous or next tasks. I think this is ok. If you want to view a task, you need to make it the active task to assure all the parts and pieces are in place. 2020-05-06 13:01:38 -04:00
Dan Funk
8ded625c7d Merge remote-tracking branch 'origin/chore/update_specs' into feature/previous_task
# Conflicts:
#	Pipfile.lock

Assuring that all documents from the xls spreadsheet are loaded when doing validations.
Fixing some failed tests.
2020-05-06 11:46:19 -04:00
Dan Funk
07e58e923d Merge remote-tracking branch 'origin/chore/update_specs' into feature/previous_task
# Conflicts:
#	Pipfile.lock

Assuring that all documents from the xls spreadsheet are loaded when doing validations.
2020-05-06 11:25:50 -04:00
Dan Funk
9629b36e92 Setting JSON_SORT_KEYS to false, assuring that Flask does not resort all data returned to the front end.
Updating Spiff Workflow which has some critical behavioral changes around MultiInstance.
2020-05-06 10:59:49 -04:00
Aaron Louie
6c36a32411 Adds DSP 2020-05-06 10:37:43 -04:00
Aaron Louie
a8827d78c4 Fixes typo 2020-05-05 20:49:07 -04:00
Aaron Louie
4ecb0cb3a3 Updates BPMN files 2020-05-05 16:15:38 -04:00
Dan Funk
ce76b0d3e8 Merge branch 'feature/protocol_status' into feature/previous_task 2020-05-04 11:12:12 -04:00
Dan Funk
714b5f3be0 Merge branch 'feature/protocol_status' into feature/previous_task
# Conflicts:
#	crc/services/study_service.py
2020-05-04 11:08:36 -04:00
Dan Funk
2699f5c65c Refactor the stats models, and assure they are very correct across all tests with the workflow api.
I noticed we were saving the workflow every time we loaded it up, rather than only when we were making changes to it.  Refactored this to be a little more careful.
Centralized the saving of the workflow into one location in the processor, so we can make sure we update all the details about that workflow every time we save.
The workflow service has a method that will log any task action taken in a consistent way.
The stats models were removed from the API completely.  Will wait for a use case for dealing with this later.
2020-05-04 10:57:09 -04:00
Aaron Louie
28d5727851 Merge branch 'master' into feature/protocol_status 2020-05-01 22:55:59 -04:00
Aaron Louie
098cf10926 Fixes Jinja code to match new structure of StudyInfo documents 2020-05-01 22:49:52 -04:00
Aaron Louie
6a96ccffa2 Updates pipenv hashes. Fixes typo in SpiffWorkflow file name 2020-05-01 21:54:01 -04:00
Dan Funk
1f5002680a Initial work on a "Previous" task. 2020-05-01 12:11:39 -04:00
Dan Funk
bec59a71d7 Deleteing stuff is a damn mess, but this is a little cleaner. 2020-04-29 16:07:39 -04:00
Dan Funk
f1f8b91c9c Refactor the document details scripts. Now there is one script, it returns data in a consistent format, and has all the details required. The script is located in StudyInfo, with the argument documents. Make note that it returns a dictionary of ALL the documents, with a field to mark which ones are required according to the protocol builder. Others may become required if a workflow determines such, in which case the workflow will enforce this, and the document will have a count > 0, and additional details in a list of files within the document. I modified the XLS file to use lower case variable names, because it disturbed me, and we have to reference them frequently. Removed devious "as_object" variable on get_required_docs, so it behaves like the other methods all the time, and returns a dictionary. All the core business logic for finding the documents list now resides in the StudyService.
Because this changes the endpoint for all existing document details, I've modified all the test and static bpmn files to use the new format.
Shorting up the SponsorsList.xls file makes for slightly faster tests. seems senseless to load 5000 everytime we reset the data.
Tried to test all of this carefully in the test_study_details_documents.py test.
2020-04-29 15:08:11 -04:00
Aaron Louie
beb86f0453 Adds protocol script to study service 2020-04-29 10:21:24 -04:00
Dan Funk
13333fb306 Adding an API endpoint that allows setting the token on the workflow to a specific task.
Added error checking such that attempting to submit data for a task that is not in the "READY" state throws an error message.
For some reason I'm getting lots of errors in the tests as they try to hit API endpoints they were not hitting before, so adding a number of mocks to some of the study service tests.
2020-04-28 17:25:53 -04:00
Dan Funk
0088364b1d Merge branch 'master' of github.com:sartography/cr-connect-workflow 2020-04-28 13:48:52 -04:00
Dan Funk
3e3a249e3c Verifying Sub-Process works, and adding a field to expose a hint as to the sub-process in which the task occurs.
Because the name field is now used to expose workflow/sub-process information on tasks, we can't use it to store the workflow_version, so that is now just stored on the database model.  Which is much cleaner and removes a duplication.
2020-04-28 13:48:44 -04:00
Aaron Louie
663a1a00a8 Fixes file name so it matches workflow spec ID 2020-04-28 11:50:10 -04:00