Dan Funk
6a34fc0cde
Merge pull request #309 from sartography/persist-read-only-data-324
...
Persist read only data #324
2021-05-14 12:38:48 -04:00
Dan Funk
99da502912
Merge branch 'dev' into 321-Markdown-Macro
2021-05-14 12:32:41 -04:00
mike cullerton
9b24ad319b
Removed the `get_protocol` method from study_service.
2021-05-13 16:29:34 -04:00
mike cullerton
8a6bef5af4
New service to get the `primary workflow` for a workflow_spec, using a workflow_spec_id.
...
This is necessary because `primary` is a file parameter, not a workflow_spec parameter.
- you can ask a workflow file whether it is primary, but
- you cannot ask a workflow_spec for its primary workflow file
Now, you can use `workflow_service.get_primary_workflow(workflow_spec_id)`
2021-05-12 13:51:51 -04:00
mike cullerton
07f3d2c2ee
Allow data from read-only fields to persist in task_data
2021-05-07 14:06:53 -04:00
Dan
5a79b80f32
fixes #322 , do not error out deleting files that have assocaited data stores, just remove the data store.
2021-05-05 20:21:33 -04:00
Dan
7831bef050
Don't fail the sync completely when a remote file does not exist.
2021-05-05 15:59:00 -04:00
Kelly McDonald
cbd1d01203
Add URL to the study_info('documents') script
...
fixes #321 - I merged in branches that fix #320 and #297
320-add-default-for-file-data-get
297-filename-in-documents
2021-05-05 11:30:08 -04:00
Dan Funk
8b0afa4437
Merge pull request #304 from sartography/irb-info-script-307
...
Irb info script #307
2021-05-04 11:40:52 -04:00
Dan Funk
34759a2f3d
Merge branch 'dev' into feature/performance-refactor
2021-05-04 11:30:13 -04:00
Dan Funk
d6054a9846
Merge branch 'dev' into 310-task-event-timezone
2021-05-04 11:21:36 -04:00
Dan Funk
81467d6a8d
Merge pull request #299 from sartography/297-filename-in-documents
...
Add filename to files listing.
2021-05-04 11:19:59 -04:00
mike cullerton
804926dbac
Fixed problem where WorkflowService.make_test_workflow did not add a study to the workflow_model
2021-05-01 15:55:20 -04:00
mike cullerton
22b3230243
Added service `get_irb_info` to `crc.services.protocol_builder.ProtocolBuilderService`
...
Added environment variable `PB_IRB_INFO_URL` for new `get_irb_info` service
2021-05-01 15:20:47 -04:00
Dan
a719cf4bf9
When retrieving the study, only update the status of underlying workflows if specifically requested.
...
Record the size of a file in the database for quick access (this helps with a frontend refactor, so it isn't downloading the file just to see it's size)
Cleaning up the timing/performance metric reporting to make it easier to read.
Fixing a bug that prevented non-admins for getting the document-directory
2021-04-30 11:55:12 -04:00
mike cullerton
24c818bf31
Added study_id to workflow_api
2021-04-29 14:29:21 -04:00
Kelly McDonald
2b9cee6b89
Update database to include timezone and change all points where we set the time on an event to be utc time. If we get something in the database with a timezone, it will display properly on the front end, but by default everything will be put in the database in UTC
2021-04-29 10:25:28 -04:00
Kelly McDonald
cc77a9182c
Add filename to files listing.
...
Fixes #297
2021-04-28 10:37:14 -04:00
Mike Cullerton
39fcab3730
Merge branch 'dev' into launch-workflow-outside-study-204
2021-04-26 10:27:32 -04:00
mike cullerton
077b68c1e2
When creating a workflow for a study, set the user_id to None
2021-04-26 08:46:19 -04:00
mike cullerton
f17a9dc0f4
Modified `get_users_assigned_to_task`.
...
If we are running a standalone workflow, only return the current user.
2021-04-26 08:45:08 -04:00
mike cullerton
b6f5001687
Added methods for the 2 new api endpoints
2021-04-26 08:43:14 -04:00
Dan
cf051a7d4f
Merge branch 'dev' into 277-Document-pane
...
# Conflicts:
# crc/api/file.py
2021-04-21 14:09:44 -04:00
Kelly McDonald
e2197ddab9
Changes to support the frontend data pane
...
fixes #277 and requires frontend branch 277-document-pane
2021-04-20 08:12:27 -04:00
mike cullerton
91e80d01bc
Added delete_files argument to the workflow_processor reset method.
...
Added code to delete the files when delete_files is True.
2021-04-15 11:25:58 -04:00
Dan
6427a54d74
Set the correct default value on enumerations - if it is a multi-select enum (checkbox is set) then it should return a default value of an empty array, and not a dictionary.
2021-04-09 08:40:58 -04:00
Dan
dcb4e7b736
fixing an error by taking a bit of the magic out of one of Mike's regex hinting tools. I figure the hint is still good, and a little less bittle, and all the information is already there if people need to dig.
2021-04-02 17:58:27 -04:00
Kelly McDonald
116bf5e7aa
Merge branch 'dev' into 263-optimize-dashboard
...
# Conflicts:
# crc/services/study_service.py
2021-03-31 10:20:33 -04:00
Kelly McDonald
9084866015
Update error message - it may be that we should spend a bit and see if we can make the Box error
2021-03-31 10:17:08 -04:00
Kelly McDonald
60f5be1aef
Check in - pending change from @cullerton
2021-03-30 12:10:49 -04:00
Dan Funk
b5d4df595f
Merge pull request #271 from sartography/master-workflow-status-messages-222
...
Master workflow status messages 222
2021-03-26 20:52:24 -04:00
Dan
ded11ddd82
fixing a code smell
2021-03-26 20:25:34 -04:00
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
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
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
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 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
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
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
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
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
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
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
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
9e758c57d3
Merge branch 'dev' into bug/225_enum_lookup_same_field_name
2021-03-02 14:15:58 -05:00
Dan Funk
572eb3457a
Merge pull request #252 from sartography/customer-error-messages-192
...
Customer error messages 192
2021-03-02 13:45:38 -05:00
Dan
c8f5a44050
adding a warning in the logger so we can see when expensive calls are made to rebuild searches for enumerations. But all looks good.
2021-03-02 12:21:51 -05:00
Kelly McDonald
06dedd8a32
Add short_title to study, change update_study task to use kw arguments and add the short_title to the update_study script
2021-03-02 10:03:53 -05:00
mike cullerton
9a2ffb98ad
Customer Error is in a place that we can try it out on testing.
...
So far, there are two known errors.
- Missing condition type (Ticket 178)
- Invalid property value in extensions tab for display_name (No ticket for this error)
We now have the option of using regular expressions to pull task_id, etc. from an error to pass back to the user in the hint.
2021-03-01 16:41:55 -05:00
Dan
aac3d5c16e
Bug #255 , this requires the front end to pass in the name of the task, when doing a lookup. This will prevent a bug where we have multiple user tasks, with enum fields that set the same variable, but use different lookup tables to populate the dropbown or search feature.
2021-03-01 14:54:04 -05:00
mike cullerton
9d804c36d5
Merge branch 'dev' into customer-error-messages-192.
...
Needed some sql changes from dev
2021-03-01 10:29:10 -05:00
Kelly McDonald
0b08a95e25
Add test and make sure that the API endpoint does the right thing when we switch users - checks both associated with access and associated with no access
2021-02-25 12:20:43 -05:00
Kelly McDonald
f3414e22c1
use the associated table to grant access to users who have been designated to have access to the study, not just the study owner.
2021-02-25 11:08:06 -05:00
Kelly McDonald
f592a8a0b0
Added a few more tests - I think I need to test one more script endpoint
2021-02-25 09:07:46 -05:00
Kelly McDonald
9bd3aa8dcb
service and scripts with working test - still needs a few more tests to try out, but should work to get Mike going
2021-02-24 12:55:23 -05:00
Kelly McDonald
c795dd7aea
Merge branch 'dev' into 206-extend-study-access
2021-02-24 12:16:35 -05:00
Kelly McDonald
3dbe39c6fe
initial checkin of changes for branch
2021-02-24 12:05:06 -05:00
mike cullerton
f937ac3ce9
Getting some thoughts down for the extension property error. This might force us to use regexes for the error service.
...
Committing so I can work on another branch.
2021-02-24 10:56:25 -05:00
Dan Funk
349c3d657a
Merge branch 'dev' into 201-changes-to-in-progress
2021-02-22 18:17:59 -05:00
Dan Funk
53fa49e668
Merge pull request #243 from sartography/183-remove-study-approval-code
...
Remove Approvals per ticket 183
2021-02-22 18:12:02 -05:00
mike cullerton
3b06795c4c
File cleanup for readability. Removed some commented code.
2021-02-19 14:49:53 -05:00
Dan Funk
f0a921d46d
Merge pull request #242 from sartography/allow-period-in-field-id-199
...
Allow period in field id 199
2021-02-17 15:08:53 -05:00
Kelly McDonald
93f29e86d8
Merge branch 'dev' into STG-181_frontend-ux-model-changes
2021-02-17 07:49:05 -05:00
Dan
ff8a44a7b1
Make sure we always have a current user, even if the very first task is a script task.
2021-02-16 12:42:59 -05:00
Kelly McDonald
e54a6956df
Make a change in the case that we have no task_events at all.
2021-02-16 11:10:40 -05:00
Kelly McDonald
118cf62172
Merge remote-tracking branch 'origin/dev' into STG-181_frontend-ux-model-changes
2021-02-16 10:07:34 -05:00
Kelly McDonald
003bf2f9b9
Remove Approvals per ticket 183
2021-02-16 09:05:29 -05:00
Kelly McDonald
3b1dc70558
Add comment for later ticket
2021-02-16 08:44:41 -05:00
mike cullerton
ed6218028c
We now allow periods in field ids.
...
Also, added task_id and task_name to the ApiError for missing default value on hidden and required fields
2021-02-15 16:27:56 -05:00
mike cullerton
39eb5c5c21
This is a decent beginning framework for customer error messages.
...
It is not complete, but is in a state where we can start to interact with the front end.
Two tests are failing.
Committing so I can work on an error for Alex.
2021-02-12 14:18:42 -05:00
Dan Funk
35773ebc29
Merge pull request #240 from sartography/weird-email-error
...
The email script was failing validation because of missing parameters…
2021-02-12 09:31:52 -05:00
mike cullerton
d8bd203139
The email script was failing validation because of missing parameters in scripts.email.do_task_validate_only.
...
I added a test in tests.test_email_script to make sure we get the default email_address.
I also found and fixed a bug in workflow_service.populate_form_with_random_data where we would overwrite default_values with random text because of a missing continue.
(We don't want to continue if we have repeating fields though.)
2021-02-11 15:36:12 -05:00
Dan Funk
fe4e737596
Merge pull request #238 from sartography/value-expression-failing-shield-test-194
...
We now allow value_expression to evaluate to an empty string ("") so …
2021-02-11 11:25:09 -05:00
Dan Funk
df25b83958
Merge pull request #235 from sartography/index-error-for-enums-186
...
Index error for enums 186
2021-02-11 11:21:50 -05:00
Dan Funk
10b9c7b892
Merge pull request #234 from sartography/hidden-and-required-fields-185
...
Hidden and required fields 185
2021-02-11 11:20:35 -05:00
Dan
f7337f4e54
Merge branch 'dev' of github.com:sartography/cr-connect-workflow into dev
2021-02-11 11:17:56 -05:00
Dan
2ada9f6f42
Private Ldap settings
2021-02-11 11:17:21 -05:00
mike cullerton
39e874504f
We now allow value_expression to evaluate to an empty string ("") so that we *do not* set a default value for enums in some cases.
...
This was causing an error because "" was not an option for the enum.
2021-02-10 14:35:58 -05:00
mike cullerton
8a2a8b1443
Still not in working order. Committing to work on another ticket.
2021-02-10 12:28:59 -05:00
Kelly McDonald
da0af14724
Changes to enable front-end changes
...
Added a human readable name to created user
added last updated task time and name,
added is_review on the workflow which is triggered by a swimlane with a name present.
Notably - it does NOT update or change any of the performance concerns that we were having with this.
2021-02-10 11:58:19 -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
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
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
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
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
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