865 Commits

Author SHA1 Message Date
mike cullerton
8c88de35cd Modify get_validate_common and set_validate_common methods to use the temporary validate_data_store list
In get_validate_common, we first look in validate_data_store, then in the real data_store. This allows us the flexibility to use temp values for current workflow or real values set by previous workflows.

Also, lots of cleanup:
- we didn't use the dictionary returned by the set_data_common method, so removed it and only return the value we set.
- this allowed us to delete the `overwritten` method and some other code.
- renamed some variables to better represent what we are doing
2022-03-25 10:01:31 -04:00
mike cullerton
5bf114b605 Initialize validation_data_store as empty list 2022-03-25 09:50:31 -04:00
mike cullerton
94abd7eebf *** WIP ***
Add a temporary data store for validation
2022-03-23 15:15:01 -04:00
alicia pritchett
487a1a3987 Fixes #667- Validate Lane Variables 2022-03-21 12:18:40 -04:00
Dan
befc299475 Merge branch 'dev' into chore/fix_validation_errors 2022-03-19 09:53:12 -04:00
mike cullerton
05c0e4f96c Put default back to False 2022-03-18 16:55:38 -04:00
Dan
e44ea6e13c merging in from dev. 2022-03-18 16:22:33 -04:00
mike cullerton
f4d6b07467 In get study, only process categories when we ask 2022-03-18 16:03:50 -04:00
Dan
a401c41b23 Setting a minimum date for which to import studies.
Merging in code to improve performance of calculating percent complete for a study.
Assureing we have a primary investigator for the front page (another merge)
2022-03-18 15:27:45 -04:00
Dan
b36ff02517 Merge remote-tracking branch 'origin/chore/study-progress' into staging-500-error 2022-03-18 15:07:14 -04:00
alicia pritchett
3c5a75c976 Change study progress resulting from a query 2022-03-18 14:42:03 -04:00
Dan
405c63aaef Merge remote-tracking branch 'origin/chore/study-progress' into staging-500-error 2022-03-18 12:59:31 -04:00
Dan
b7489aea43 merging in PI Name changes from Alicia's #499 PR. 2022-03-18 12:30:20 -04:00
alicia pritchett
12a0e26ee1 Include the PI name on the study model 2022-03-18 11:03:06 -04:00
Dan
ef5aca4fe4 ReviewType now comes back with the user studies, so we don't need to make an additional query to get it. 2022-03-18 09:59:10 -04:00
mike cullerton
276924960b Merge branch 'dev' into chore/fix_validation_errors 2022-03-18 08:36:03 -04:00
alicia pritchett
2ab96b16a0 Update the study model to include a progress (integer) 2022-03-17 17:20:42 -04:00
mike cullerton
15750beb10 Added a comment on why we moved the session.add(study) line 2022-03-17 15:18:49 -04:00
mike cullerton
be2b7c07ef add the new study to the session after we run update_from_protocol_builder 2022-03-17 14:29:38 -04:00
mike cullerton
69b5d80b23 Included templates wrapped by if clause don't always exist
Don't raise an error here
2022-03-16 16:57:26 -04:00
alicia pritchett
c18bc6f876 fix study service 2022-03-16 16:21:02 -04:00
alicia pritchett
5b7e71d42d meta field for categories 2022-03-16 12:49:35 -04:00
alicia pritchett
829c810807 wip 2022-03-15 13:21:58 -04:00
alicia pritchett
37d92c6a5f WIP ~ adding a category metadata object 2022-03-15 10:49:41 -04:00
Dan Funk
791ab20f8c
Merge pull request #494 from sartography/chore/fix_validation_errors
Chore/fix validation errors
2022-03-14 16:51:27 -04:00
Dan Funk
8ea8993421
Merge pull request #493 from sartography/jinja-included-includes-670
Jinja included includes #670
2022-03-14 16:49:56 -04:00
Dan
483d7e858b Improved Errors - Pick up on the new task_trace information in WorkflowException and pass it on through the api.
Also:  All script tasks should raise WorkflowTaskExecExceptions - NOT APIExceptions - this is because our scripts are executed by Spiff (not the other way around)  so the errors need to pass fluidly through spiff, and come back to use THEN we can convert them to APIErrors.  Otherwise we lose all kinds of good information about the error.
2022-03-14 16:00:53 -04:00
mike cullerton
416adcbe69 Recursively parse the included templates 2022-03-14 13:51:41 -04:00
mike cullerton
a6a98bed10 Include workflow_spec_id when adding a log 2022-03-14 11:56:36 -04:00
Dan
90bfbed6fd Merge branch 'dev' into chore/fix_validation_errors 2022-03-14 10:58:01 -04:00
Dan
dec63839f3 Merge remote-tracking branch 'origin/dev' into chore/log-changes-661 2022-03-12 16:19:23 -05:00
Dan
2fc4b44ef3 Create a path to directly download the spreadsheet file (and avoid the weird dance on the front end of making an API call to get file data.)
Fixing pagination.  Seems the front end uses a page_index that is 0 based, and sqlAlchemy prefers to start at 1.
2022-03-12 16:19:07 -05:00
Dan
4e9fe3a6bb Merge branch 'dev' into chore/fix_validation_errors 2022-03-12 14:09:40 -05:00
Dan
4ab314c7b8 Be sure to delete the data store items when you delete a study. 2022-03-12 13:38:09 -05:00
Dan
52b5e1d34a Fixing tests. 2022-03-11 18:02:37 -05:00
mike cullerton
b753f06394 Changes to remove pagination for the get_logs scripts.
We only use pagination for the get_logs_for_study API endpoint. (Used on the study page)
2022-03-11 14:03:09 -05:00
mike cullerton
d57d741c10 Added TODO 2022-03-10 12:17:32 -05:00
mike cullerton
423426c2c8 Removed some unused imports
Finished up get_all_logs_for_download
2022-03-10 12:14:14 -05:00
mike cullerton
9efb4c4fb3 New spreadsheet_service.
Accepts list of dictionaries, and optional headers and title
Creates spreadsheet from list of dictionaries
Returns the spreadsheet as a binary stream
2022-03-10 12:13:10 -05:00
Dan
c55cc4715d Fixing a bug that would cause us to evaluate the wrong field almost all of the time.
We looped over all the other fields in the task, to assure they at least had a null value, but in doing so, we overwrote the variable containing the field we were trying to test.
2022-03-09 15:26:29 -05:00
mike cullerton
bf31364b1f *** WIP ***
Committing to fix logging so we can use a level of 'metrics'
2022-03-09 13:07:56 -05:00
Dan
1e9c9919c2 hot fix, missed a critical part of the jinja include syntax when identifying included templates 2022-03-09 11:03:42 -05:00
Dan
ce57a3753a fixing some comments and error messages for clarity 2022-03-09 10:28:22 -05:00
Dan
e3c1a908fe A better comment around a tricky part of the code. 2022-03-09 09:43:08 -05:00
Dan
41b5106a28 patching up the tests.
Looks like we want to use default values, if they are provided, for validation. So good test, and I didn't have to create a new bug.  Also added skipping the test about requiring a default for hidden+required fields.  Maybe we don't need to after all.
2022-03-08 18:38:05 -05:00
Dan
26eeb2912a Only run the form validation stuff if we have a form.
If there is a default value, use it, regardless of whether the form is hidden (this is how the front end works)
  (accomplished by moving the hide_epxression check -> continue stuff below the set default_value code)
2022-03-08 18:13:54 -05:00
Dan
b03e24bbf4 Properly handle forms where a field is required, based on a later field.
Do an aboutface on saying that if a field is required but hidden, it has to have a default value.  I'm just commenting this out for now, as it made getting these workflows to validate bloody impossible.
Clean up the replication of code for identifying required fields (as it wasn't consistently applied)
Removing some very broken and apparently unused methods.
2022-03-08 17:36:13 -05:00
Dan
0a906a4b3c Cleaning up Print Statements (it was making it hard to see what was happening)
The Jinja2 service was treating all the task data as a possible template, modified it to only include the referenced templates.
(This turned out not to be the problem, but it seems like a good idea to keep it in place)
There is a terrible bug with the wordwrap pipe that will die without any details if you pass it a value of None.  We now cature the terrible error, and replace it with a sensible one.
Removed an unused Jinja_extensions file.
2022-03-08 15:46:36 -05:00
Dan Funk
0b3fa781c5
Merge pull request #484 from sartography/bug/bleeding_data
Loading latest chages from Spiff whic refactored the way the PythonEx…
2022-03-07 10:22:36 -05:00
Dan
0455506e2b Loading latest chages from Spiff whic refactored the way the PythonExpressionEngine works.
This cleans up the _evaluate method which previously accepted arbitrary args and kwargs, and now requires an expression, a context to which exectute it, and, optionally, the current task being executed if the DMN is being executed as a part of a BusinessRuleTask in a BPMN diagram.

This also cleans up several bits of duplicated code.

There is also a bit of code here to assure that the current user is included when running the master workflow.
2022-03-04 15:34:36 -05:00