Commit Graph

1233 Commits

Author SHA1 Message Date
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
mike cullerton c11b5cfb29 Add user_uid to api output 2021-07-07 08:18:02 -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
mike cullerton 23be257db0 Add user_uid column to file_data table 2021-07-06 17:07:47 -04:00
Dan a9805ad40c Adding some documentation for clarity. 2021-07-06 14:40:20 -04:00
Dan cafdc4d100 Removing an unneeded modification to the database structure for lookup tables. 2021-07-06 14:02:07 -04:00
Dan 04842aa66b Undo change to 1 minute. 2021-07-06 13:13:07 -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
Kelly McDonald dce1d86e93 commit changes before looking at something else 2021-07-06 10:34:57 -04:00
mike cullerton f647390e1c Added description and validate_only 2021-07-02 15:51:24 -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 cd26654b3a Script to call new pb mock api endpoint `check_study` 2021-07-02 15:21:35 -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
Dan a79ba22410 fixes to get the tests passing. We were missing a dependency in the Pipfile and the data_store had some invalid imports. 2021-06-30 10:06:57 -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 Funk 48bf721b23
Merge pull request #331 from sartography/bug/356_duplicate_workflow
Bug/356 duplicate workflow
2021-06-22 17:42:24 -04:00
Dan 92ca506c8e Calls to eval no longer return the data, rather it will accept and return a key, allowing the front end to cache similar queries and not re-execute them. 2021-06-22 17:23:18 -04:00
Dan 61ad371680 Clean up the file api so we don't have a bunch of extra stuff in there. Just include the raw data from the document spraedsheet if it is available. 2021-06-22 15:08:08 -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 Funk 19d63e2aa2
Merge pull request #328 from sartography/restart-workflow-programmatically-347
Restart workflow programmatically #347
2021-06-17 10:36:46 -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
mike cullerton 02949dc6e2 WorkflowProcessor handles this error 2021-06-15 11:12:50 -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
mike cullerton c8f8888c17 Script to reset workflow. Requires workflow spec name. 2021-06-14 14:51:16 -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
Dan fce9166c4a Do not require users to be admins for viewing the document directory tab. 2021-06-09 09:51:30 -04:00
Kelly McDonald 0d8d251e8e Temp save to test dev 2021-06-09 09:24:37 -04:00
Dan 286803d10b fixing a big stupid bug I created when merging all the code and making changes to the files. 2021-06-08 14:24:59 -04:00
Dan Funk 586a0f2f1a
Merge pull request #325 from sartography/feature/file_refactor
Prefer tasks that share a parent over just the the next available tas…
2021-06-08 11:28:23 -04:00
Dan 8d79fe9d94 Fixing failing tests, and now asserting that we only perform the post_process_form if we actually have a form. 2021-06-08 11:16:10 -04:00
Dan Funk 9c4994581d
Merge pull request #324 from sartography/modify-infinite-loop-312
Modify infinite loop #312
2021-06-08 10:30:13 -04:00
Dan Funk e10b210302
Merge pull request #323 from sartography/shield-test-issue-344
Shield test issue #344
2021-06-08 08:59:58 -04:00
Dan Funk a7b208f50a
Merge pull request #322 from sartography/data-store-refactor-330
Data store refactor #330
2021-06-08 08:58:53 -04:00
Dan Funk 6937c33719
Merge pull request #319 from sartography/datastore-file-endpoints-325
Datastore file endpoints #325
2021-06-08 08:54:43 -04:00
Dan Funk 37d4e7cc79
Merge pull request #318 from sartography/340-update_study_associate_change
Add test and fix to make sure that an empty study associates list (or…
2021-06-08 08:52:44 -04:00
Dan Funk c4a6fbb516
Merge pull request #317 from sartography/337-Data-Store-IRB-Code
337 partial fix
2021-06-08 08:51:09 -04:00
Dan Funk 5881c903ca
Merge pull request #316 from sartography/326-Multi_File_Data_Store
Make sure we are using the correct script engine
2021-06-08 08:49:43 -04:00
Dan Funk 710921cfe1
Merge pull request #314 from sartography/deprecate-study-info-protocol-261
Remove protocol from study_info script #261
2021-06-08 08:47:43 -04:00
Dan 59f605c3df Prefer tasks that share a parent over just the the next available task when returning the next_task in the workflow processor. 2021-06-08 08:03:14 -04:00
mike cullerton a3a485dd34 Changed do_task_validate_only so it returns a mocked value, instead of True/False.
True/False caused problems for workflow validations
2021-06-04 11:44:55 -04:00
mike cullerton 9a63ab9c4f Change `do_task_validate_only` in study_info script to call the real do_task.
We do this so we can seed settings into the workflow for testing different scenarios using the study from validate_study_id
2021-06-03 14:28:24 -04:00
mike cullerton c41657301a Modify `test_spec` and `make_test_workflow` to accept new optional `validate_study_id` parameter.
Modify `make_test_workflow` to use study_id when creating test workflow for validation.
2021-06-03 14:22:26 -04:00
mike cullerton 0dfc96d7f6 Modified `validate_workflow_specification` to accept new optional `validate_study_id` parameter.
We then pass validate_study_id on to WorkflowService.test_spec
2021-06-03 14:19:41 -04:00
mike cullerton d657744816 Added optional `validate_study_id` parameter to the validation api endpoint. 2021-06-03 14:17:12 -04:00
mike cullerton 7f0d8a131d Import DataStoreBase from service now 2021-06-02 10:00:55 -04:00
mike cullerton 506b84a49a Import DataStoreBase from service now 2021-06-02 10:00:18 -04:00
mike cullerton e2e35b673d Moved data store code from script to service 2021-06-02 09:59:41 -04:00
mike cullerton 162dee45d3 Unused import 2021-06-01 16:34:21 -04:00
mike cullerton 2e3d8c7343 Fix for DataStoreSchema missing the file_id column.
The file_id column is a foreign key.
2021-06-01 13:51:10 -04:00
mike cullerton 1ed144536f New method for file datastore api endpoint 2021-06-01 13:50:04 -04:00
mike cullerton e9fe555e05 New `/datastore/file/{file_id}` endpoint definition 2021-06-01 13:49:21 -04:00
Kelly McDonald 8c04e228e9 Add test and fix to make sure that an empty study associates list (or a blank list) will effectively clear the extra study associates 2021-06-01 11:46:43 -04:00
Kelly McDonald a5d67bb245 337 partial fix
if the user calls the file_data_set function for a valid file with the key 'irb_code' and a value of a valid IRB document code, then we should set the irb code on the file.
2021-05-27 12:24:30 -04:00
Kelly McDonald acccf3b704 Make sure we are using the correct script engine 2021-05-26 10:50:20 -04:00
mike cullerton 384da075ef Removed references to `protocol` from the description 2021-05-20 11:54:12 -04:00
Dan ef7ee284b2 Prefer tasks that share a parent over just the the next available task when returning the next_task in the workflow processor. 2021-05-19 16:26:16 -04:00
Dan Funk 77f7fec5d4
Merge pull request #312 from sartography/study-is-none-329
Study is none #329
2021-05-14 16:33:04 -04:00
Mike Cullerton 668e2f4e3c
Merge pull request #313 from sartography/feature/add_file_data_store_properties_to_file
Assure that any data store values associated with a file come back as…
2021-05-14 16:30:35 -04:00
mike cullerton ce7c07679b SonarCloud 2021-05-14 15:52:30 -04:00
Dan 8e37f27399 Assure that any data store values associated with a file come back as a part of the get_study_data[documents
] endooint.
2021-05-14 15:52:25 -04:00
mike cullerton a9e3f7c861 Standalone workflows do not have a study_id, and we do not record task events for them. 2021-05-14 15:34:29 -04:00
Dan Funk 4d7ce5eda9
Merge pull request #311 from sartography/deprecate-study-info-protocol-261
Deprecate study info protocol #261
2021-05-14 14:14:18 -04:00
Dan 7e6645db89 Merge branch 'dev' of github.com:sartography/cr-connect-workflow into dev 2021-05-14 14:10:19 -04:00
Dan 427875b8dd upgrading Sartography libraries, and fixing a potential error where a file can't be located in the documents.xslt 2021-05-14 14:10:14 -04:00
Dan Funk ade7812540
Merge pull request #310 from sartography/get-primary-workflow-301
Get primary workflow #301
2021-05-14 12:41:48 -04:00
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 1d28d602d5
Merge pull request #308 from sartography/get-dashboard-url-230
Get dashboard url #230
2021-05-14 12:36:40 -04:00
Dan Funk 415964806d
Merge pull request #307 from sartography/standalone-set-default-false-323
Set the default for the `standalone` parameter to `false`. #323
2021-05-14 12:33:33 -04:00
Dan Funk 99da502912
Merge branch 'dev' into 321-Markdown-Macro 2021-05-14 12:32:41 -04:00
Dan a1bb30e689 Switching from using "default" to "server_default" for all default time settings, and running migrations so that this is set at the database level rather than in python, to hopefully correct some issues with dates being 4 hours in the future. Having a very hard time replicating this issue locally. 2021-05-14 12:28:50 -04:00
mike cullerton 9b24ad319b Removed the `get_protocol` method from study_service. 2021-05-13 16:29:34 -04:00
mike cullerton d189b84ba1 Removed `protocol` as an option in the study_info script 2021-05-13 16:22:42 -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
mike cullerton 5efb1a72ce Changed URL to use HTTPS instead of HTTP 2021-05-06 15:52:27 -04:00
mike cullerton 09a395fa34 Start for ticket 230 - Get Dashboard URL 2021-05-06 14:07:21 -04:00
mike cullerton 6b242c07e2 Set the default for the `standalone` parameter to `false`. 2021-05-06 11:54:04 -04:00
Dan 620b9a5188 Fixing a regression. It's critical that Spiffworkflow's box implement deepcopy, as this is used by Jinga prior to generating a word document. 2021-05-05 21:36:57 -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
Kelly McDonald 7ed30ef25a Merge branch '320-add-default-for-file-data-get' into 321-Markdown-Macro 2021-05-05 11:13:01 -04:00
Dan 8f28970f92 Resolving an alembic conflict.
Upgrading libraries, and resolving issues from that upgrade, including changes to how we manage tokens.  This seems to be working locally.
2021-05-04 13:39:49 -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
Kelly McDonald 7b3287f67b Save a sample file while I try to figure out how the JS is going to work 2021-05-04 11:32:34 -04:00
Dan Funk 34759a2f3d
Merge branch 'dev' into feature/performance-refactor 2021-05-04 11:30:13 -04:00
Dan Funk 4780240103
Merge pull request #302 from sartography/320-add-default-for-file-data-get
Add default capability to file_data_get script
2021-05-04 11:28:40 -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
Dan Funk d68f319cf7
Merge pull request #298 from sartography/316-Shield-Test-Error
Emulate checks on keyword arguments and then return. Validate only sh…
2021-05-04 11:18:36 -04:00
Dan Funk 77d9bfca43
Merge pull request #296 from sartography/launch-workflow-outside-study-204
Launch workflow outside study 204
2021-05-04 11:16:08 -04:00
mike cullerton 7689281d68 Fixed typo. Response should be list, not dict. 2021-05-03 14:52:29 -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 060ee5076d New script to get IRB Info for a study 2021-05-01 15:52:41 -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
Kelly McDonald 7608a889fb Add default capability to file_data_get
script
2021-04-30 10:11:50 -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
Kelly McDonald dc6f1cc80d Emulate checks on keyword arguments and then return. Validate only should have no side effects so the previous behavior was a bug. 2021-04-28 10:03:52 -04:00
Kelly McDonald c029dad688 Convert some datetime columns to include timezone 2021-04-28 10:00:22 -04:00
Kelly McDonald 71a63c049d Merge remote-tracking branch 'origin/dev' into dev 2021-04-27 12:16:36 -04:00
Dan 248ca6a33a Don't require people to be admins just so they can see the list of documents, or we get recursive loads on Kelly's non admin account (and everyone elsees)
todo: Create a ticket to assure we don't get in an infinite loading loop.
2021-04-27 12:14:37 -04:00
Kelly McDonald 799747d638 Add filter for non-active studies so that the events for them do not get returned to the front end for the 'InProgress' data pane. 2021-04-27 12:13:49 -04:00
Dan Funk 21e95b106d
Merge pull request #295 from sartography/299-document-datastore
Add file_data_get and file_data_set functions that can be accessed in…
2021-04-26 12:49:46 -04:00
Dan 047c68b2b5 Just some quick tidying up. Dropping commented out code, and using the SQLAlchemyAutoSchema to handle serializing db models 2021-04-26 12:31:22 -04:00
Mike Cullerton 39fcab3730
Merge branch 'dev' into launch-workflow-outside-study-204 2021-04-26 10:27:32 -04:00
Kelly McDonald 40ee20ecca Add file_data_get and file_data_set functions that can be accessed in a bpmn script function
Fixes #299
2021-04-26 09:55:28 -04:00
Kelly McDonald d3d7eeb309 Add file_data_get and file_data_set functions that can be accessed in a bpmn script function
Fixes #299
2021-04-26 09:41:14 -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
mike cullerton 22432aaf2c study_id is no longer required for task events 2021-04-26 08:36:09 -04:00
mike cullerton c0655c9d03 Added `standalone` column to workflow_spec
Added `user_id` column to workflow
2021-04-26 08:33:55 -04:00
mike cullerton fa818bd751 Code for the 2 new api endpoints
Also modified `update_task` so that it no longer requires a study_id
2021-04-26 08:31:12 -04:00
mike cullerton 5936b2e8ef Created 2 api endpoints; one to get a workflow from a workflow spec, and one to list all standalone workflow specs.
Also added `standalone` argument to workflow_spec schema properties
2021-04-26 08:27:24 -04:00
Dan dd7c5fd1c1 Fixes #306 assure that we take the doc_code into account if passed in as an argument to the API for get_files. 2021-04-23 16:16:19 -04:00
Dan cf051a7d4f Merge branch 'dev' into 277-Document-pane
# Conflicts:
#	crc/api/file.py
2021-04-21 14:09:44 -04:00
Dan ecff7d20d3 Adding a test for the new endpoint and cleaning up the API documenation 2021-04-21 14:00:19 -04:00
Kelly McDonald 19e94da6b6 Fix slight bug in expansion code,
a non-expanded node was causing all parent levels to not expand.
2021-04-20 11:11:11 -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
Dan Funk 277beb345f
Merge pull request #290 from sartography/auto-set-primary-bpmn-142
Auto set primary bpmn #142
2021-04-16 13:36:02 -04:00
mike cullerton 2374400542 Automatically set the first workflow for a workflow_spec to primary 2021-04-15 12:39:12 -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
mike cullerton 3332b9c7c0 Added delete_files argument to the restart_workflow api method, and pass it along to WorkflowProcessor.reset 2021-04-15 11:23:20 -04:00
mike cullerton 4615649938 Added delete_files argument to the workflow restart api endpoint 2021-04-15 11:21:51 -04:00
Kelly McDonald 949f3be403 give an endpoint to return all files associated with a study 2021-04-12 12:23:33 -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 41310b6879 Allow both a keyword argument, a single argument when calling delete_file. And call it "delete_file" to be more conssitent with existing scripts. 2021-04-08 13:42:17 -04:00
Dan Funk 611c72f431
Merge pull request #284 from sartography/delete-uploaded-file-script-283
Delete uploaded file script #283
2021-04-08 12:42:30 -04:00
mike cullerton f8428378e2 You can now delete a document or list of documents.
Also, refactored the fancy bits into `process_document_deletion`
2021-04-05 15:11:06 -04:00
mike cullerton f0f5cff8d7 Added some checks to do_task to look for valid irb_doc_code and whether or not we found a file
Added code for do_task_validate
2021-04-05 13:15:09 -04:00
Dan 4fd8fd13f8 Remove approvals from the study_info script. It was broken, and isn't really possible in this way anymore 2021-04-05 12:52:23 -04:00
Dan 501487b31c Assure we convert to box for validations as well, and test the bloodly snot out of this. 2021-04-05 12:47:50 -04:00
Dan 727aa72e18 Fix a bug from recent performance improvments - be sure that our study info script returns dicts that can be referenced immediately with dot notation, as this is a common pattern in our bpmn script tasks. 2021-04-05 11:31:06 -04:00
mike cullerton 9317e49e65 Merge branch 'dev' into delete-uploaded-file-script-283 2021-04-05 10:40:33 -04:00
mike cullerton 0eb6291740 Script to delete an IRB document. Takes an `irb_document` argument.
Deletes all files associated with the workflow with that IRB document code
2021-04-05 08:55:02 -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
Dan 3ad3a086ba Merge branch 'dev' into 263-optimize-dashboard 2021-04-02 17:12:02 -04:00
Dan 2100f27976 fixing the api.yml file which was starting to throw errors when updating the libraries.
Seems that sqlalchemy now has a hard time incrementing sequences, so putting in a fix for this.
Upgrading many of our libraries, to avoid any disconnects as we try to handle security patches from these automated bumps.
2021-04-02 17:10:05 -04:00
mike cullerton d7894f43b6 These changes relate to changes in PB Mock ticket 273, where we removed Q_COMPLETE as a column in the PB Mock Study table. It is now a relationship.
Here, we removed Q_COMPLETE from ProtocolBuilderStudy and ProtocolBuilderStudySchema definitions to accommodate the PB Mock changes.

***This push will need to be coordinated with ticket 273***
2021-04-02 12:01:00 -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
Dan Funk e79e810ae1
Merge pull request #273 from sartography/modify-email-template-215
Change location of `CR Connect` string. Move it left, closer to the logo
2021-03-26 19:50:16 -04:00
Dan Funk 123ec50912
Merge pull request #272 from sartography/infinite-validations-262
Infinite validations 262
2021-03-26 19:49:42 -04:00
Dan b64b52e7cb Assure that we properly return the new status message over the api calls. 2021-03-26 19:47:31 -04:00
Dan ac4877fecf Merge remote-tracking branch 'origin/dev' into master-workflow-status-messages-222 2021-03-26 17:47:57 -04:00
mike cullerton d9bf2a8a81 Change location of `CR Connect` string. Move it left, closer to the logo 2021-03-23 13:12:13 -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
Nile Walker a08c6b794f Updated Study Associate Endpoints 2021-03-22 17:30:49 -04: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 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
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 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 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
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 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
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 adb9e3afba Merge branch 'dev' into bug/225_enum_lookup_same_field_name 2021-03-02 13:40:21 -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 Funk 3e0541fa15
Merge pull request #250 from sartography/206-extend-study-access
206 extend study access
2021-03-01 14:55:38 -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
mike cullerton 5c3d791bf3 UVA asked us to remove the extra whitespace in emails.
We removed the string replacement of '\n' -> '<br>' to solve this.
This means you can't purposely add blank lines any more.
Trade offs.
2021-02-25 11:08:08 -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
mike cullerton 0a58dce394 Changes for ticket 215 - Change email header and footer to say CR Connect 2021-02-23 12:13:21 -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 4fc2929356 Put the preamble back in to the error message. 2021-02-19 15:57:01 -05:00
mike cullerton 3b06795c4c File cleanup for readability. Removed some commented code. 2021-02-19 14:49:53 -05:00
Kelly McDonald 4fa0f9720a Allow frontend to honor 'view as' and fix problem with tests 2021-02-18 11:25:17 -05:00
Kelly McDonald 8c309e9a41 Add user display name to the response for task events 2021-02-18 08:44:44 -05:00
Kelly McDonald 6fbaecf9b2 Change selection to include task events that are for someone else, but are on a study I own. 2021-02-18 08:09:13 -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 c44e784eb2 Fixing a bug with the user model. 2021-02-12 09:48:41 -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