Kelly McDonald
f1ca44a0e1
Add primitive cache on the fileservice is_review, halves the time of loading the list on the primary dashboard
2021-03-23 10:17:48 -04:00
mike cullerton
3ee8109535
Tests for the changes to master workflow status dictionary
...
Test for each valid WorkflowState
Test for all three failure states; not in status, not a dictionary, not a valid state.
2021-03-22 17:52:14 -04:00
mike cullerton
a201e49d21
The master workflow now generates a dictionary of dictionaries, rather than a dictionary of strings.
...
Each entry in status is a dictionary with 'status' and 'message' keys.
We updated the StudyService._update_status_of_workflow_meta method to accommodate the master workflow changes.
Changed the order of some if statements so we move forward while we have good data, and run all the error states at the end.
Added some comments to explain the cascading if statements
We changed the names of private methods to begin with one underscore, so they work in the test environment.
Changed some internal calls to accommodate the underscore change.
2021-03-22 17:46:39 -04:00
Nile Walker
a08c6b794f
Updated Study Associate Endpoints
2021-03-22 17:30:49 -04:00
dependabot[bot]
24b6b5c7e7
Bump jinja2 from 2.11.2 to 2.11.3 in /deploy
...
Bumps [jinja2](https://github.com/pallets/jinja ) from 2.11.2 to 2.11.3.
- [Release notes](https://github.com/pallets/jinja/releases )
- [Changelog](https://github.com/pallets/jinja/blob/master/CHANGES.rst )
- [Commits](https://github.com/pallets/jinja/compare/2.11.2...2.11.3 )
Signed-off-by: dependabot[bot] <support@github.com>
2021-03-20 04:01:34 +00:00
dependabot[bot]
491a7de879
Bump urllib3 from 1.26.2 to 1.26.3 in /deploy
...
Bumps [urllib3](https://github.com/urllib3/urllib3 ) from 1.26.2 to 1.26.3.
- [Release notes](https://github.com/urllib3/urllib3/releases )
- [Changelog](https://github.com/urllib3/urllib3/blob/main/CHANGES.rst )
- [Commits](https://github.com/urllib3/urllib3/compare/1.26.2...1.26.3 )
Signed-off-by: dependabot[bot] <support@github.com>
2021-03-19 19:54:34 +00:00
Dan Funk
6ab98c1dee
Merge pull request #267 from sartography/get-study-associates-validation-242
...
The `do_task_validate_only` method in the `get_study_associates` scri…
2021-03-19 15:41:46 -04:00
Dan Funk
544f4a4418
Merge pull request #266 from sartography/study-associated-email-207-223
...
We now perform an LDAP lookup for the associated user email addresses…
2021-03-19 15:40:31 -04:00
mike cullerton
47ff29e3ab
Added a test for dictionary output from a decision table.
...
Will need dictionary output for master workflow status messages.
2021-03-18 12:25:27 -04:00
mike cullerton
c4b52f85af
Test and workflow for testing infinite loop code.
2021-03-17 14:52:50 -04:00
mike cullerton
938079cf59
Lowered count ceiling to 100, from 1000. This significantly increased validation time, from about 3 minutes to about 10 seconds.
...
Changed ApiError call to from_task, instead of from_workflow_exception.
2021-03-17 14:52:19 -04:00
mike cullerton
e2ba19748d
Added department chair to the mocked data for study_info script.
...
The missing department chair caused an infinite loop in a workflow that checked for a department chair.
2021-03-16 13:36:55 -04:00
mike cullerton
529bfc34b3
We now check for an infinite loop during validation.
...
This happened when testing for a Department Chair in a workflow.
Our mocked data for study_info script did not have a Department Chair
2021-03-16 13:35:51 -04:00
mike cullerton
c05b879dd4
We want to modify the master workflow so that it returns both a status, and a message explaining the status for each workflow.
...
I.e., from status = {'ids_full_submission': 'required',
'enter_core_info': 'disabled',
...}
to status = {'ids_full_submission': {'status': 'required', 'message': 'required because...'},
'enter_core_info': {'status': 'disabled', 'message': 'disabled because...'},
...}
Modified study_service.__update_status_of_workflow_meta to accommodate this change.
2021-03-16 12:09:42 -04:00
Dan
3c120df3cf
remove all dependencies on dockerhub, and rely on a cached version of python 3.8 we have in quay.io
2021-03-16 11:05:05 -04:00
mike cullerton
70efdb4788
The `do_task_validate_only` method in the `get_study_associates` script now returns a mocked list of associates.
...
It used to return `True`, and this caused shield validation to fail when looping over the results of `get_study_associates`.
(You can't loop over a boolean)
Added a for loop in `study_sponsors_associate.bpmn` to test for this.
Moved `BaseTest` import to the top of `test_study_associate_script` because debug was failing.
2021-03-16 08:57:30 -04:00
mike cullerton
dfa65ac276
We now perform an LDAP lookup for the associated user email addresses, instead of looking in the DB user table.
2021-03-15 10:30:23 -04:00
Dan Funk
14386b8ba9
Merge pull request #264 from sartography/bug/243_complete_all
...
Bug/243 complete all
2021-03-14 12:34:55 -04:00
Dan Funk
0da07675b7
Merge pull request #258 from sartography/study-associated-email-207-223
...
Study associated email 207 223
2021-03-14 12:34:19 -04:00
Dan Funk
65a24cb3e1
Merge pull request #263 from sartography/bug/233_display_name
...
Don't raise errors on non-ready tasks that calculate a title, the inf…
2021-03-14 12:21:51 -04:00
Dan
6f80d816cd
My privous efforts didn't take into account the fact that we use dot notation in field names.
...
I've re-worked the workflow form endpoint, so that it only accepts the data that should be in the form, and ignores any other values that come back from the front end. It seems Formly has some bugs that were introducing confusing information, and I want everything to behave consistently.
I had to re-work some of the tests, which were relying on an ability to set data through a form post without having a corresponding form to do so.
2021-03-14 12:20:39 -04:00
Dan
15c64c862e
Adding an argument to update task that will allow it to complete all remaining tasks through an "update_all" flag,
...
this will allow us to remove some fairly complex logic from the front end that isn't behaving properly.
2021-03-12 20:41:07 -05:00
Dan
1000b22a3b
Don't raise errors on non-ready tasks that calculate a title, the information may not be avaiable yet.
...
Also Allow autocomplete-num as a valid field property.
2021-03-12 15:40:23 -05:00
mike cullerton
ef26238127
added CustomBPMNScriptEngine back in
2021-03-11 14:33:35 -05:00
Mike Cullerton
e7c78c8d0e
Merge branch 'dev' into study-associated-email-207-223
2021-03-11 12:38:47 -05:00
mike cullerton
e58f1dc484
Remove unused mails service
2021-03-11 11:56:18 -05:00
mike cullerton
b403a3015e
Modified existing tests to work with changes to the email script.
...
Added test for associated emails.
Added test for cc argument.
2021-03-11 11:40:46 -05:00
mike cullerton
8bda9889b1
Added a test for the send_email endpoint.
2021-03-11 11:38:34 -05:00
mike cullerton
fa028dd517
Modified the email_script workflow to accommodate the changes to the email script.
...
Workflow now uses keyword arguments; subject, recipients, and cc.
If cc is not passed in, we set it to None.
2021-03-11 11:37:54 -05:00
mike cullerton
78ae719b97
Moved this test to the test_email_script test file.
2021-03-11 11:35:08 -05:00
mike cullerton
fa4707811e
Removed the test and templates from the unused mails service.
...
Mails was removed in previous commit.
2021-03-11 11:34:24 -05:00
mike cullerton
67697b5076
Lots of changes!
...
Email Script:
- The email script now accepts 3 keyword arguments; subject, recipients, and cc.
- Subject and recipients are required.
- Recipients (and cc) can be an email address or list of addresses.
- You can use the string 'associated' in place of an email address, in which case we look up the users associated with a study that have send_email set to True.
- Moved some helper methods to email_service.
Email Service:
- Added cc argument
- Added helper methods previously in email script.
- Modified get_rendered_content to accept message and data directly. Previously, we passed in the task and grabbed them from there. Now we can use the method outside a task.
2021-03-11 11:32:21 -05:00
mike cullerton
80f1fc276f
Modify api.tools.send_email to accommodate the changes to the api endpoint in api.yml
...
We now accept subject, address, body (the email message), and possible data.
We now use email_service to send the message, and wrap it with the CR Connect html formatting.
**** We import DEFAULT_SENDER from config.default. Will this be a problem on testing and production? ****
2021-03-11 11:19:02 -05:00
mike cullerton
14e62a7ec2
Modify the send_email api endpoint (in Configurator Tools section) to accept subject, message, and data.
...
Subject, address and message are required.
Data is not required.
Message is in the body of the request.
Subject, address, and data are in the query string.
2021-03-11 11:10:10 -05:00
Kelly McDonald
d250bac32e
Merge remote-tracking branch 'origin/dev' into dev
2021-03-10 10:59:24 -05:00
Kelly McDonald
2ed825aef3
Fixes problem with swtiching users fixes #237
2021-03-10 10:59:15 -05:00
Mike Cullerton
eaf52a21ca
Merge pull request #260 from sartography/bug/delete_study
...
Allows us to delete a study even if there are emails, and associated …
2021-03-09 13:51:25 -05:00
Mike Cullerton
1f32f5fb4d
Merge pull request #259 from sartography/bug/reset_study_when_completely_horked
...
Sometimes a workflow can be completely broken and unload-able. For ins…
2021-03-09 13:51:14 -05:00
Dan
80ff8a6212
Allows us to delete a study even if there are emails, and associated study users connected to that study.
2021-03-09 13:31:26 -05:00
Dan
576aebab19
Sometimes a workflow can be completely broken and unloadable. For instance, it starts off with a engine step / script task that will not execute. So the failure happens the second it is processed. When calling reset on a workflow, we should catch the failure, and reset the workflow, so we aren't trapped in an unrecoverable state.
...
To do so, I changed the WorkflowProcessor's reset method to be static, it will try to instantiate the current workflow and execute a cancel_notify event, but if that fails, it will continue and always return a new workflow processor using the latest spec.
2021-03-09 11:52:55 -05:00
mike cullerton
7171219e8b
removed unused import
2021-03-09 07:00:20 -05:00
mike cullerton
7749f3aeaf
Fixed existing workflows to work with keyword arguments
2021-03-09 06:50:58 -05:00
mike cullerton
8c75217042
Test and workflow for associated user emails
2021-03-09 06:50:20 -05:00
mike cullerton
44ac55bc32
We can now send emails to users associated with a study, by using 'associated' as the recipient
...
We now use keyword arguments in the email script; subject and recipients
2021-03-09 06:49:39 -05:00
Dan
36dcc58705
Merge branch 'dev' of github.com:sartography/cr-connect-workflow into dev
2021-03-08 14:00:14 -05:00
Dan
291216e081
Fixing a bug that prevented proper evaluation of a enum field where the default value was null or empty.
2021-03-08 14:00:03 -05:00
Dan Funk
6fda6d83c0
Merge pull request #256 from sartography/add-field-to-apierror-229
...
We now include field.id in the ApiError message for hidden and defaul…
2021-03-08 10:44:31 -05:00
mike cullerton
f883eb2bbe
We now include field.id in the ApiError message for hidden and default validation. (The field must have a default value or value expression)
...
While working on this ticket I found a logic error in the test. I expected both default_value and value_expression. It turns out the default_value is always there, it's just null if we don't set it.
Modified the existing test for hidden and required, and added tests to make sure my passing logic is now correct.
2021-03-04 10:42:13 -05:00
Dan Funk
7d97fe107d
Merge pull request #254 from sartography/bug/225_enum_lookup_same_field_name
...
Bug/225 enum lookup same field name
2021-03-02 14:55:47 -05:00
Dan
bf8c0ba86f
fixing migration paths (I hope) and fixing a down migration that wasn't working as I attempted to debug.
2021-03-02 14:36:20 -05:00