Commit Graph

891 Commits

Author SHA1 Message Date
mike cullerton 2d48151976 Fix when checkout branch does not exist yet
First attempt at merge
2022-02-03 06:47:02 -05:00
mike cullerton e9c7f3d9b6 Force checkout of branch when loading repo 2022-02-02 14:48:47 -05:00
mike cullerton 21b5d034e2 authentication
variable name changes for readability
removed unused code
2022-02-02 14:11:41 -05:00
Dan e103845218 fixing failing tests around default primary processes
Removing a ton of ununsed code from example_data.
2022-02-02 13:30:54 -05:00
mike cullerton a45c5959ef First attempt at adding credentials 2022-02-02 13:24:54 -05:00
Dan 4ec6e403f5 1. Created a UserFileService, so it's clear what we use when for File Services, UserFiles, SpecFiles, and ReferenceFiles each function differently.
2. Reference Files and Spec Files are written to disk, they do not exist in the database at all.
2022-02-02 12:59:56 -05:00
mike cullerton ec054bbdf1 set tracking on the active branch 2022-02-02 11:48:05 -05:00
mike cullerton 558d6f47e2 removed unused code from get_repo
started pull_from_remote
2022-02-02 11:30:05 -05:00
mike cullerton 8a8c3de8c4 clone repo if it doesn't exist 2022-02-01 16:25:46 -05:00
alicia pritchett c1a5032014 WIP modifying workflow service to remove value expression 2022-02-01 15:44:55 -05:00
mike cullerton 070c3cfd5d *** WIP ***
New API endpoints, and associated methods.
Services for the new endpoints
Minimal test
2022-02-01 10:49:35 -05:00
mike cullerton c07c429ae1 Fix for new version of Pandas. They check data type now. 2022-02-01 10:42:18 -05:00
mike cullerton c9b7d95a83 *** WIP ***
Beginning of Git integration
- added gitpython to Pipfile
- started additions for api, model, service, and a test
2022-01-28 16:11:36 -05:00
Dan 4c00a5762f partial commit - new spec_file_service, and new spec_file_api endpoints that use spec and file name, not file id.
removed worklow_sync
cleaned up file and workflow models
most of the test are broken.
2022-01-28 06:42:37 -05:00
Dan Funk 97c29bf77c
Merge pull request #449 from sartography/files-to-filesystem-572
Files to filesystem 572
2022-01-26 10:11:26 -05:00
mike cullerton d82367ab2a Move temp_migration_service code into migration 7225d990740e
Delete test_files_to_filesystem and test_files_from_filesystem--they were only used to give me access to the migration methods
2022-01-26 09:58:46 -05:00
Dan f3637ee6a0 resolving todos, as they are done, and removing commented out code that is no longer in use. 2022-01-25 16:37:17 -05:00
Dan 8529465322 Removed the method get_spec_data_files completly - using get_spec_files and get_spec_data to get this information instead.
Only load the spec data files if you are creating a new workflow, otherwise just deserialize the json.
Removed the stuff about calculaing the version of the spec, as we don't use it.
2022-01-25 16:10:54 -05:00
mike cullerton ae86ab4790 Make erroring workflows visible
The `process_erroring_workflows` method is called by our scheduler in __init__.py
2022-01-25 12:18:29 -05:00
mike cullerton 91fa44b2ab ** WIP **
Committing so I can work on another ticket.
2022-01-21 14:37:11 -05:00
mike cullerton ca54b850cd UNDO my previous commit regarding `get_files needs to have workflow_spec_id`
We need to call `get_spec_files` instead now
2022-01-20 14:57:32 -05:00
Dan f815add699 1. Add a default directory for the location of SYNC files.
2. Added a last_updated column to the lookup table
3. The Lookup service now uses the above, and compares it to the actual file date, we can then rebuild the lookup if needed.
4. That 755 migration loads up the models, so when you change the models, the migration starts to fail.  Not really sure what to do here, but modify the migration while we are in process.
2022-01-20 13:05:58 -05:00
mike cullerton 9ea1399578 get_files needs to have workflow_spec_id 2022-01-20 09:54:22 -05:00
mike cullerton 68820c67cb Removed (almost) all references to WorkflowSpecDependencyFile
(There is still a call in the lookup service, but we need to decide how to fix that)
2022-01-19 16:12:54 -05:00
mike cullerton 16a9a18c5b Fixed get reference file info, and added test 2022-01-19 15:17:35 -05:00
mike cullerton 091d71eb0f Cleaned up code around differences between file info and file data
Cleaned up some api code around differences between file, spec_file, and reference_file
Cleaned up some api code around differences between file info and file data
Fixed some tests for file api
2022-01-19 13:47:14 -05:00
mike cullerton d83f28e1a7 Pushed so Dan can play 2022-01-18 15:55:49 -05:00
mike cullerton 68ac056457 Merge branch 'dev' into files-to-filesystem-572 2022-01-18 08:18:14 -05:00
mike cullerton 6da6e05171 *** WIP ***
code for updating spec files
some cleanup

tests pass, but we don't have all the tests we need.
2022-01-13 15:24:29 -05:00
mike cullerton b99ed73951 Remove unused imports 2022-01-12 15:00:26 -05:00
mike cullerton cfa9f00bf3 *** WIP ***
Moved reference files to their own service
2022-01-12 14:37:33 -05:00
mike cullerton b6b9482a64 *** WIP ***
Incremental commit. Mainly cleaning up failing tests.
2022-01-12 13:16:09 -05:00
Dan d346589e07 1. added the ability to filter on level and user.
2. added a total to the response, so you can see what the total count of users is.
3. adding user_uid to the task_log table.
2022-01-12 08:58:50 -05:00
mike cullerton 9cc91f92c3 *** WIP ***
cleanup - removing commented code
2022-01-11 15:55:08 -05:00
mike cullerton 4df2ed6ce4 *** WIP ***
Failing tests, and missing functionality.
Committing to get stuff on Github.
2022-01-11 15:30:22 -05:00
Dan 962d05c875 1. Created a TaskLoggingService to encapsulate what we are doing with Task Logging through BPMN Script calls and API calls from the front end.
2. Added two api endpoints that will allow us to get all the logs for a specific workflow or study.
3. Assured that requests for logs are paginated, sortable, and can be limited to a specific code if needed.
4. Assure that we only use logging levels that match the log levels of Python.
2022-01-10 13:16:54 -05:00
mike cullerton f537fd7fbf *** WIP *** 2022-01-07 15:58:23 -05:00
mike cullerton dc27f795c8 *** WIP ***
Committing because it is Friday afternoon, and my computer is acting flaky
2022-01-07 15:34:51 -05:00
mike cullerton 86a6039dc8 *** WIP ***
**Many** tests are failing!

Committing so I can merge dev into this branch
2022-01-06 11:46:54 -05:00
mike cullerton 7f9519736c fixed some issues with how we look up records. Try to depend on the data_obj 2022-01-04 07:26:12 -05:00
mike cullerton 2cd0f84a47 Merge branch 'dev' into files-to-filesystem-572 2022-01-03 08:06:17 -05:00
Dan 1446302a04 A quick fix for an error we are seeing in testing. 2021-12-30 15:27:31 -05:00
Dan 3480e1c8ab use a signal, in addition to firing off a cancel notify when a workflow is restarted. 2021-12-23 15:30:09 -05:00
Dan bd3176eea6 Fixes #578 - issue with us displaying an incorrect end event in some cases. 2021-12-22 16:27:52 -05:00
mike cullerton 3fa5505970 Cleanup - remove print statements 2021-12-17 12:30:10 -05:00
mike cullerton 6073412d82 Clean up imports 2021-12-17 12:03:45 -05:00
mike cullerton aa27df7840 Process the spec files and their metadata 2021-12-17 11:46:21 -05:00
alicia pritchett a81f25f0ee Just kidding. We should make deepcopy and put in fake data 4 valdiation
see above. previously i deleted this, because i didnt want unitializsed data in task data. well heres a hint. don't put it in task data. make a deep copy and hold on to that for validation pursposes
2021-12-16 14:47:04 -05:00
mike cullerton 5c90ce01a6 *** WIP ***
Temp services `ToFilesystemService` and `FromFilesystemService` for migrating files To and From the filesystem - Not sure where these classes will end up
Tests to call the two services.
upgrade method in migration that writes workflow spec files and metadata to filesystem
2021-12-16 14:22:37 -05:00
mike cullerton 338352017b *** WIP ***
Moving files to the filesystem
Tools for reading/writing metadata for categories and specs
2021-12-16 08:41:49 -05:00
Dan Funk e62a99af96
Merge pull request #438 from sartography/bug/fix-task-data
Bug/fix task data
2021-12-13 13:31:37 -05:00
Dan Funk b5f2fe05dc
Merge pull request #439 from sartography/workflow-spec-delete-217
Problem deleting workflow spec #217
2021-12-13 13:19:56 -05:00
Dan c46800171d Merge remote-tracking branch 'origin/dev' into bug/fix-task-data 2021-12-13 13:18:00 -05:00
mike cullerton daebf42a30 Move some of the work in `crc.api.workflow.delete_workflow_specification` to separate workflow_service methods
Added a session.commit to `delete_workflow_spec_task_events`
2021-12-13 11:04:28 -05:00
mike cullerton acbb8898e4 Merge branch 'more-study-statuses-562' into waiting-workflow-errors-566 2021-12-10 16:52:07 -05:00
mike cullerton f748fa3db8 Removed unused imports 2021-12-10 16:48:28 -05:00
mike cullerton 9cd5022bf0 Set progress_status to in_progress when creating a new study.
-- I'm not sure if this is what we want.
2021-12-10 16:00:33 -05:00
alicia pritchett f9fbb32641 Take this garbage out
I can say that because I originally wrote that garbage
2021-12-10 12:10:08 -05:00
alicia pritchett 962cf7c32c Fixes problem with initializing some task data fields
we had a problem where sometimes, task data gets some values set in its fields to None, which conflicts with default values. this fixes that
2021-12-10 11:33:26 -05:00
mike cullerton 52baf25459 In `WorkflowService.do_waiting`, if a workflow causes an exception, change its status from `waiting` to `erroring` so we don't continue to call it in `do_waiting`. 2021-12-09 15:33:39 -05:00
Dan Funk 23fa28bc23
Merge pull request #434 from sartography/bug/ldap_service_rollback_expoded_the_world
The LDAP service didn't do a good enough check to see if the record w…
2021-12-09 06:42:02 -05:00
Dan 412290f2ab The LDAP service didn't do a good enough check to see if the record was already in the database. This caused an error, which left the workflow in a waiting state. And that waiting state meant the error would just happen a million times over again until we pushed up this code change. 2021-12-09 06:33:30 -05:00
Dan Funk 0cfa59bfea
Merge pull request #429 from sartography/chore/clear-form-data-553
Fixes #553 - Don't load Form data
2021-12-08 10:37:44 -05:00
Dan ffafc1674a assure we don't overwrite task data with a previous form submission if that data already exists. 2021-12-07 17:04:20 -05:00
mike cullerton 8813098190 Updated to use new ProtocolBuilderCreatorStudy model and schema 2021-12-06 14:37:42 -05:00
Dan 5cf011f1d9 Quick fix for ldap. 2021-12-02 12:19:36 -05:00
alicia pritchett 7524e97c9a Fixes #553 - Don't load Form data
adds an extension so that you can opt to clear out form data on a given task
2021-12-01 16:11:52 -05:00
Dan ad93b5fae6 We were not correctly handing the possibility of there only being a waiting task (and no ready tasks).
We also had a problem with the validator throwing a 500 when it was trying tell us it would never finish validation.
2021-11-30 12:44:35 -05:00
Mike Cullerton ec9d8f8a5c
Merge pull request #425 from sartography/bug/slow_ldap
Remove wild-card from uid search, it performs very badly.  Add a bit …
2021-11-30 11:09:42 -05:00
Mike Cullerton 8cc581611e
Merge pull request #426 from sartography/feature/performance_improvement
Performance upgrades - study dashboard in less than 2 seconds now
2021-11-30 11:09:28 -05:00
Dan Funk c8c8c8b244
Merge pull request #424 from sartography/xls-xlsx-issue-540
Xls xlsx issue #540
2021-11-30 10:50:33 -05:00
Dan 455c1035f1 Performance upgrade to script.py - reduce the number of times we generate the augmented list of script functions for running python evals.
Performance upgrade to study_service.py - Don't query on the whole WorkflowModel, just get the status that we need.  Saves lots of complex joins.
Performance upgrade to SpiffWorkflow - don't convert to box unless we have to do so.
2021-11-29 17:48:05 -05:00
Dan e5b1daa3d9 Remove wild-card from uid search, it performs very badly. Add a bit of logging so we can easily see performance in the future. 2021-11-29 11:03:14 -05:00
Dan 8ec58fd6d7 Assure better error messages when parsing word documents with jinja syntax.
I also have a pull request into the folks that run the python docx library to improve their error messages that we depend on here.
2021-11-23 14:38:48 -05:00
Dan 4a1285b8e0 When validating a workflow, don't run the master workflow multiple times, its a huge waste of time.
Provide decent data when calling get_study_associate(s) scripts.
2021-11-22 17:17:19 -05:00
Dan 5bb7dbfb19 Improve the error messages returned from jinja template processing. Try to find the actual line with an error in it. 2021-11-22 14:46:33 -05:00
Dan 4d1f4429ff Fixing a bug in enum_label that was not working when lookup up an select list from a spreadsheet.
Assure we raise more thoughtful error messages when running getting exceptions in engine tasks.
Field Options should always be available now due to a fix in Spiffworkflow.
2021-11-22 12:26:30 -05:00
Dan 7b02f46403 During validation, options were not being handled correctly for certain types of lookups. 2021-11-17 13:38:41 -05:00
mike cullerton cb77db26a3 Minor edit, for clarity 2021-11-16 12:05:20 -05:00
mike cullerton 9f18484ebb Grab exception when reading older xls spreadsheet into pandas
Renamed `xls` variable to `xlsx`, so it makes more sense
Added a hint to error_service for validation
2021-11-16 11:54:31 -05:00
Dan Funk 8c166bd029
Merge pull request #423 from sartography/test-protocol-builder-519
Test protocol builder #519
2021-11-11 11:49:57 -05:00
Dan f4f3842059 Fixing a stupid mistake. 2021-11-11 11:45:35 -05:00
Dan 197b75c6bf Quickfix - validation was failing if we had a date object in the task data, but this isn't really a problem. We now use the same JSON serializer as flask does, when doing validations, to better verify behavior with the front end. 2021-11-11 11:18:58 -05:00
mike cullerton a8b7cd8bba Merge branch 'dev' into test-protocol-builder-519 2021-11-10 16:32:34 -05:00
Dan Funk 037692f42b
Merge pull request #422 from sartography/chore/group-repeating-validation-536
Fixes #536 - Group + Repeating property validation
2021-11-10 15:28:04 -05:00
Dan Funk e764bf937d
Merge pull request #421 from sartography/bug/validation_of_enum_label_failing_in_sub_workflows
Validation was failing for enum_label() expressions when called withi…
2021-11-10 15:26:03 -05:00
Dan Funk 81f8aed68b
Merge pull request #420 from sartography/drop-tasklog-on-delete
Delete Task log model when deleting a study
2021-11-10 15:20:11 -05:00
Dan Funk 84f364ce37
Merge branch 'dev' into chore/view-as-382 2021-11-10 15:16:20 -05:00
alicia pritchett accdd281fa Fixes #536 - Group + Repeating property validation
For now, we should not allow both group and repeat properties on a field together.
2021-11-09 13:21:44 -05:00
mike cullerton 5cf742d955 remove unused import 2021-11-09 13:07:01 -05:00
Dan d1eae3c15a Validation was failing for enum_label() expressions when called within a sub-process. Possible (but unlikely) that this would occur outside validation. 2021-11-09 12:55:06 -05:00
alicia pritchett aa1ba59bb1 Delete Task log model when deleting a study
just a minor fix
2021-11-09 10:42:47 -05:00
mike cullerton b193f56f35 Minor cleanup for readability. 2021-11-08 10:13:07 -05:00
mike cullerton 6f09b0d7dd Added comment to _is_valid_study.
Fixed get_required_docs. The data returned for get_required_dcs from UVA PB was *very* different than what we had.
2021-11-05 14:37:41 -04:00
mike cullerton 6d548c2a74 *** WIP ***
Committing to work on another ticket
There are TODOs in study_service
2021-11-05 09:59:14 -04:00
mike cullerton 7f163285c3 Test w/Alex's ID 2021-11-03 11:56:07 -04:00
mike cullerton 50d4159168 info log didn't show up. Maybe debug? 2021-11-03 10:36:27 -04:00
mike cullerton 8b6c8f9518 Logging to troubleshoot API call 2021-11-03 10:14:11 -04:00
Dan Funk 8a6c1e1b51
Merge pull request #416 from sartography/bug/fix-hide-518
Fixes validation for #518
2021-11-01 16:22:24 -04:00
alicia pritchett 1866e6bba9 Fixes validation for #518
Well really what this does is give every field a default value of None. what that does is allow you to use value expressions even without a given default value. this part in the backend fixes validation.
2021-11-01 14:35:30 -04:00
mike cullerton 7722b89faa If a file was archived, users could not update the file.
In some situations, this kept users from re-uploading files that were previously deleted.
We now allow an archived file to be updated and unarchived.
2021-10-29 11:52:27 -04:00
alicia pritchett 702b8eaed6 add ldap endpoint that doesnt require workflow info 2021-10-28 16:19:39 -04:00
Dan e0d1f63c08 Fix an issue with validation where we didn't properly parse dot notation in fields. 2021-10-26 14:48:06 -04:00
alicia pritchett 7959f8ca3f
Merge pull request #405 from sartography/refactor/enums_as_key_value
Death to enumerated dictionaries
2021-10-25 15:17:17 -04:00
mike cullerton a7fcaac5ef Better messaging for the configurators.
We were generating 500 errors here
2021-10-22 12:53:26 -04:00
Dan 84ce24243f add an enum_label script that will return the label given a value selection. 2021-10-21 13:57:49 -04:00
mike cullerton 1220f7bef8 Allow embedded templates in Word documents 2021-10-21 13:37:13 -04:00
mike cullerton 3619240bae Move the parts for using Word documents as Jinja templates into JinjaService 2021-10-21 10:29:56 -04:00
mike cullerton 62bf7c50bb Move to new branch 2021-10-20 13:48:20 -04:00
Dan 1c84bd9f1b Merge branch 'dev' into refactor/enums_as_key_value 2021-10-19 12:02:45 -04:00
Dan 5429e7da7d All enumerated lists used in web forms should contain a single value, not a dictionary of value/labels.
Removing the spreadsheet.value.column and data.value.column so we just have value.column for both.
Improving the __str__ function in the ApiError class, to make debugging a little easier.
Adding a "validate_all" flask command, to help us track down any issues with current workflows in production (use this in concert with sync_with_testing)
Fixed logs of tests.
removed fact_runner.py, a very early and crufty bit of code.
2021-10-19 10:13:43 -04:00
mike cullerton 1c02928d04 Merge branch 'dev' into jinja-include-403 2021-10-19 10:09:18 -04:00
Dan Funk ee839a85ed
Merge pull request #401 from sartography/email-cleanup-498
Email cleanup #498
2021-10-19 08:59:48 -04:00
Dan Funk e1b72c8edf
Merge pull request #380 from sartography/file-cleanup-466
File cleanup #466
2021-10-19 08:57:14 -04:00
mike cullerton 0122029e30 *** WIP ***
Migrating the complete_template script stuff to JinjaService.
Having trouble with the tools stuff.
Pulled back to spot where test pass using CompleteTemplate
2021-10-18 16:56:03 -04:00
mike cullerton da9b902c19 Removed old commented code 2021-10-18 16:10:30 -04:00
mike cullerton 983c4104e1 We run the same basic Jinja code in 4 different contexts.
Now call the the Jinja service
2021-10-16 14:20:48 -04:00
mike cullerton de1c987c85 New service to create and render template with Jinja
Allows us to include Jinja templates within Jinja templates
2021-10-16 14:17:53 -04:00
mike cullerton 7a5de44e1d Merge branch 'dev' into email-cleanup-498 2021-10-13 12:40:58 -04:00
Dan Funk bfd931e854
Merge pull request #400 from sartography/bug/nav-order-420
one solution for the Parallel nav order problem
2021-10-13 12:11:07 -04:00
alicia pritchett 58e75a1c8f Change one condition to compare only user tasks, not non-user-tasks 2021-10-13 12:08:20 -04:00
mike cullerton 3ae00d190d Raise error if we have a problem sending email.
This should be processed by Spiff ultimately.
2021-10-13 12:03:48 -04:00
Dan Funk 5d5256df3a
Merge pull request #398 from sartography/bug/422_value_expression_enum
When dealing with enum default values, assure that we are looking at …
2021-10-12 15:56:25 -04:00
Dan Funk 6428e4ab0a
Merge pull request #397 from sartography/email-data-script-487
Email data script #487
2021-10-12 15:55:48 -04:00
Dan Funk dc07d42a9c
Merge pull request #395 from sartography/email-format-489
Email format #489
2021-10-12 15:51:57 -04:00
Dan 5706fb3ad3 Don't error out here until we decide if we are going to fully refactor emums or leave as is. 2021-10-12 14:32:51 -04:00
Dan 00e0bd5dd2 When dealing with enum default values, assure that we are looking at the '.value' attribute, not at the value itself.
Minor change to front end as well, please see companion ticket in the sartography_libraries.
2021-10-12 14:11:00 -04:00
mike cullerton 63df614f41 Change workflow_id to workflow_spec_id 2021-10-12 13:43:29 -04:00
alicia pritchett 1ef18f23aa one solution for the Parallel nav order problem 2021-10-11 11:50:03 -04:00
mike cullerton 5df8f127c7 Fix email formatting.
Markdown was swallowing the carriage returns.
We use the nl2br extension now.
2021-10-08 11:26:30 -04:00
Dan Funk b0a6af8d5e
Merge pull request #392 from sartography/email-data-script-487
Email data script #487
2021-10-07 14:52:31 -04:00
Dan fdce91507c Improve the warning messages that come back when running the master workflow spec. 2021-10-07 14:43:38 -04:00
mike cullerton 24932072dc Merge branch 'dev' into email-data-script-487 2021-10-07 12:30:13 -04:00
Dan Funk a39e0ba219
Merge pull request #390 from sartography/varchar-category-id-483
Varchar category id #483
2021-10-07 12:23:56 -04:00
Dan 548c35a4a3 Merge branch 'dev' into varchar-category-id-483 2021-10-07 11:35:10 -04:00
mike cullerton 10abf51f70 Added workflow_spec_id to WorkflowMetadata model, because the id is the workflow id, not the workflow_spec id.
Then, we use workflow_spec_id in StudyService when looking for workflow status.
2021-10-07 10:02:13 -04:00
mike cullerton be066b7d59 Add cc, bcc, and workflow_id to the email record, for reporting 2021-10-07 09:22:05 -04:00
Dan 84680ea846 Fixing multiple issues that came out of Study Info, as we debugged issue #474 related to navigating back to a previous task.
There was a problem with the python script engine as well that wasn't handling the de-serialize properly and didn't correctly pick back up on the script engine, and the renaming of methods in PythonScriptEngine created some conflicts with the way we override functions.
We were not handling ldap looks up efficiently, and this was also breaking in Study Info.

Finally we had a bug in SpiffWorkflow that did not allow us to reset back to the previous task in some cases where nested call activities happen far later in the process and are currently active when the reset is created.
2021-10-06 12:17:57 -04:00
mike cullerton 572ca1db6b Fixes for backend code after removing `name` column from `workflow_spec` and `workflow_spec_category` tables 2021-10-05 14:17:41 -04:00
Dan b02731df17 Add some additional checks in the workflow service so we assure the data we are creating during validation can be serialized and deserialized just as it would be through the API. (Was hanging us up on dates)
Assure that if we generate a default value for a date in the task data, it is stored as an ISO String.

remove any unserializable data from the task_data when an error is encountered, rather than just dropping all the task_data. This case seems to happen a lot and it leaves us with nothing to go on.
2021-10-04 15:07:47 -04:00
mike cullerton 5bf7bf3e2e Bug fix for adding master workflow to validation
We now check that a workflow is in the status dictionary before looking up its status.
2021-09-30 15:48:57 -04:00
mike cullerton 64e3cd044f Merge branch 'dev' into file-cleanup-466 2021-09-30 14:11:59 -04:00
Dan Funk f898d6f502
Merge pull request #385 from sartography/ids-approval-validation-478
Ids approval validation #478
2021-09-30 13:59:26 -04:00
Dan Funk 0353161402
Merge branch 'dev' into feature/381_validate_field_types 2021-09-30 13:19:36 -04:00
Dan Funk 1251202244
Merge pull request #379 from sartography/top-level-validation-460
Top level validation #460
2021-09-30 13:11:03 -04:00
mike cullerton 0202b409e1 My checkbox test was in a bad place. Moved it into each of the 2 blocks. 2021-09-30 12:34:46 -04:00
mike cullerton 73cd729cac Checkbox enums need to return a list. 2021-09-30 11:35:13 -04:00
Dan 8e00f16eaa Assure that the field type provided is supported. Catches errors such as adding a custom field type of 'text_area' rather than "textarea" 2021-09-29 11:43:08 -04:00
Dan 92b9fea08d fixing a stupid mistake that made all the people I care about suffer yesterday afternoon. 2021-09-29 10:06:17 -04:00
mike cullerton 29798f1ba6 turned it on 2021-09-28 10:16:47 -04:00
mike cullerton c91e81e356 Clean up file data. Always keep at least 1 version. Do not delete if in lookup or dependency tables 2021-09-27 17:15:53 -04:00
mike cullerton ef5a0a7e45 Check whether a workflow spec is disabled by the master workflow before validating.
Return the master workflow message to the user
2021-09-24 11:05:33 -04:00
Dan 19104303de Refactor of the way we store and return details about users - All the details about a user, or individual associated with a study is returned within in an Ldap model. I've removed duplication between these models. This required some cleanup of the tests, and a migration that will drop the user details. 2021-09-22 13:16:25 -04:00
Dan 4b591a076f Adding importlib-resournces as a dependency, which is suddenly failing on Travis, likely due to different versions of Python as I try to upgrade to 3.9 2021-09-21 14:36:57 -04:00
Mike Cullerton 787614ee91
Merge pull request #369 from sartography/dmn-from-spreadsheet-395
Dmn from spreadsheet #395
2021-09-14 17:41:01 -04:00
mike cullerton 5ddff1d1be Merge branch 'dev' into add-reorder-api-endpoints-444 2021-09-09 13:10:54 -04:00
mike cullerton cc403f1fac Merge branch 'dev' into dmn-from-spreadsheet-395 2021-09-09 13:09:35 -04:00
mike cullerton ce1af73d6e Remove unused import 2021-09-07 15:44:15 -04:00
mike cullerton 21987cf1f1 Remove old root definition.
We now use the 2019 spec
2021-09-07 15:38:53 -04:00
mike cullerton e630aeb94e Add DMNDI section.
Without it, the configurator could not parse the XML
2021-09-07 14:27:15 -04:00
mike cullerton 6e7b549136 Change root element to use 2019 spec 2021-09-07 12:11:27 -04:00
mike cullerton 93e8015ddd Read the spreadsheet data sent from the front end. This allows pandas to see it as a file type object.
Fixed bug where column_count wouldn't get set if there isn't an Annotation column
2021-09-03 10:37:06 -04:00
mike cullerton 4fa68bd4c0 Move business logic to FileService 2021-09-02 09:52:58 -04:00
mike cullerton b88daef4fa Added task name to the error message, for configurators 2021-08-31 16:17:52 -04:00
mike cullerton ed57993f8d Workflow spec cleanup needs a category_id 2021-08-31 12:17:25 -04:00
mike cullerton f6816a2e42 Move display_order cleanup to their own methods 2021-08-31 10:07:38 -04:00
mike cullerton a99818b177 Make sure we don't try to move past the top or bottom of the list. 2021-08-30 11:42:44 -04:00
mike cullerton 070a9c9350 Code for reordering Workflow Spec Categories
Still need to work on edge cases where you try to move past top or bottom of list
Still need to work on tests
2021-08-30 11:27:07 -04:00
mike cullerton f2201a3cef Move business logic to WorkflowService
Return ordered list of specs
2021-08-30 10:41:08 -04:00
mike cullerton da914be3fa Add task_spec to data_store 2021-08-26 10:41:09 -04:00
mike cullerton 506157d58a Add task_spec_name to FileService.add_workflow_file, and script that calls it. 2021-08-26 10:40:47 -04:00
Mike Cullerton 961925e03e
Merge pull request #361 from sartography/430-email-enhancements
#430 email enhancements
2021-08-25 15:02:14 -04:00
Mike Cullerton fcbbeb4735
Merge pull request #360 from sartography/423-LibraryAppearingInDashboard
Fixes #423
2021-08-25 15:01:18 -04:00
Dan 4b9c5bd3e8 Fixing a stupid mistake. 2021-08-24 12:10:59 -04:00
Dan 0bd1c282a3 Merge branch 'dev' of github.com:sartography/cr-connect-workflow into dev 2021-08-20 13:46:08 -04:00
mike cullerton 32c72c5a40 Modified email script and email_service to accommodate new bcc, reply_to, and attachments arguments
Modified the email script description to add the new arguments
Cleaned up some import statements
2021-08-19 17:34:55 -04:00
mike cullerton ef9fd9514d This caused a key error if we had a repeating field that was unused 2021-08-19 17:32:24 -04:00
Kelly McDonald 76f8f5984e Fixes #413
Fixes #423 where a library was showing up in a study workflow

Alex said this used to work, but I don't see where I ever edited the code that needed a filter.
2021-08-19 10:47:13 -04:00
Dan afaecfa21c Catching an error when variables conflict with repeating section variables. 2021-08-18 13:38:34 -04:00
Leashys 032aad9bc4 Fixes #383 - Timestamp on files is UTC?
also this includes the shield test thing for the boolean_type property whoopsie
2021-08-17 13:04:24 -04:00
Dan 7a8eeab820 Merge branch 'dev' into bug/missing_pi_name_246 2021-08-17 11:16:03 -04:00
Dan Funk c831ee7e4a
Merge pull request #357 from sartography/426-remove-hsr-number
remove hsr number #426
2021-08-17 09:58:56 -04:00
Dan 77de2a8f47 Merge branch 'dev' into bug/missing_pi_name_246 2021-08-17 09:47:09 -04:00
Dan 0a2597ae36 Just a quick hot fix so that when can still report errors back to the UI even when the task_data can't be serialized, which can happen when functions are defined. 2021-08-17 09:43:08 -04:00
nilez f8dd4c3eb9 Check Study Associates Endpoint 2021-08-16 09:32:02 -04:00
mike cullerton bd4a9cced3 We no longer use HSRNUMBER to automatically set Study Status to `Open for Enrollment` 2021-08-13 12:06:27 -04:00
nilez 4a2581e938 get studies raises and error when invalid studies are the only studies associated with the user 2021-08-12 14:03:44 -04:00
nilez 7027392a1b Merge remote-tracking branch 'origin/bug/missing_pi_name_246' into bug/missing_pi_name_246
# Conflicts:
#	crc/services/workflow_service.py
#	tests/study/test_study_associate_script.py
2021-08-12 13:01:41 -04:00
nilez e32c1db4c8 Merge remote-tracking branch 'origin/dev' into bug/missing_pi_name_246
# Conflicts:
#	crc/models/study.py
#	crc/services/study_service.py
#	crc/services/workflow_service.py
#	tests/study/test_study_associate_script.py
2021-08-12 12:59:15 -04:00
nilez 41e27cb454 Merge remote-tracking branch 'origin/dev' into bug/missing_pi_name_246
# Conflicts:
#	crc/models/study.py
#	crc/services/study_service.py
#	crc/services/workflow_service.py
#	tests/study/test_study_associate_script.py
2021-08-12 12:39:04 -04:00
nilez 2732071585 Merge branch 'dev' into bug/missing_pi_name_246 2021-08-12 12:07:25 -04:00
Dan 40727c7ce6 avoid erroring out when unable to calculate a value expression as a part of finding a default value. 2021-08-12 11:35:05 -04:00
Dan Funk adb1b74822
Merge pull request #352 from sartography/post-process-empty-field-408
Post process empty field #408
2021-08-12 10:53:26 -04:00
mike cullerton d07bac27ca Fix for hidden file data field.
We were processing a field that didn't have a value.
Ticket 408
2021-08-11 16:43:50 -04:00
Dan 318cd34f81 bouncing to fix a bug in SpiffWorkflow that was holding outo outdated data deed within the python_script_engine.
This caused validation to fail for valid repeat sections, so including a fix to allow that validation to continue.
2021-08-11 14:21:23 -04:00
Dan 848c2e622f Always use a schema to define what is being returned, it enforces consistency of the API and internally we can depend on well defined objects. 2021-08-10 16:16:08 -04:00
Dan 913c12c02d Merge branch 'dev' into bug/pi_name_missing_246 2021-08-10 15:06:52 -04:00
Kelly McDonald 960d302c03 Finish #367 - Make sure that we only use a primary_id if it is in the workflow that we are currently working on - otherwise it is a library and might have its own primary id. 2021-08-10 09:15:38 -04:00
Kelly McDonald 41ad7935f8 Merge branch 'dev' into 367-Call-Activity
# Conflicts:
#	Pipfile.lock
2021-07-29 09:28:21 -04:00
Kelly McDonald 217e61eed3 next_task returns the next available task, except when the task is completed when it returns the EndEvent -
The problem was that it was returning the first EndEvent it found, not the last one. This caused a problem when we had a CallActivity which has its own EndEvent.

Fixes #399
2021-07-27 09:19:08 -04:00
Dan Funk 25e00823a7
Merge pull request #342 from sartography/enum-file-data-375
Enum file data #375
2021-07-23 13:47:57 -04:00
mike cullerton 4c8a86f9bf Fixed bug where processing file data only worked for enums. 2021-07-23 11:24:17 -04:00
NWalker4483 38b8c7fcdf Fixed email_cc test 2021-07-22 15:08:28 -04:00
NWalker4483 a73d1794eb Fixed Associate API Endpoint description 2021-07-22 14:09:24 -04:00
Dan Funk 61504664d4
Merge pull request #346 from sartography/bug/346_timer_fails_to_send_email
fixes #346, allow emails to fire in scheduled events
2021-07-22 13:40:12 -04:00
Dan 2009a794ea We were depending on an active http request existing in order to fire emails, using that request to determine the front end url. We have the frontend url in our config file, and we don't have a request object when running scheduled tasks, so I just use our configuration setting instead. 2021-07-22 13:25:06 -04:00
mike cullerton 8df1145471 Modify the LDAP service to only use lowercase UIDs.
UVA always returns the UID as lowercase.
This caused a postgres unique value problem for us.
2021-07-22 10:46:09 -04:00
Kelly McDonald 2455495457 got library side working - still need to have parent working 2021-07-22 10:20:34 -04:00
NWalker4483 4632c6374f Merge branch 'dev' into bug/missing_pi_name_246
# Conflicts:
#	crc/api.yml
#	crc/services/study_service.py
2021-07-20 11:44:11 -04:00
mike cullerton 354e20c34b Use the data_store_service to set the data_store, rather than access DB directly.
Pass the label explicitly (as the value)
2021-07-15 13:09:40 -04:00
Dan dd67a5e650 Never set the date to datetime.utcnow() on DateTime fields. We want this to fall back on the func.now() method and allow the database to set the time on insert. 2021-07-12 15:58:32 -04:00
Mike Cullerton 522ca9d164
Merge pull request #340 from sartography/bug/better_errors_on_scheduled_tasks
Assure we log reasonably clear errors when executing scheduled tasks …
2021-07-12 10:13:02 -04:00
Mike Cullerton d1bf370a39
Merge pull request #339 from sartography/restrict-loaded-studies-374
Restrict loaded studies #374
2021-07-12 10:11:34 -04:00
Mike Cullerton 7070761089
Merge pull request #338 from sartography/document-spreadsheet-name-380
Document spreadsheet name #380
2021-07-12 10:11:16 -04:00
Dan f982745d32 fixing a failing test, don't assume the study and workflow ids will always be 1. 2021-07-12 10:00:39 -04:00
Dan 1916c4ff54 Assure we log reasonably clear errors when executing scheduled tasks in the background, so that sentry can pick them up and they can be addressed effectively. 2021-07-12 09:43:12 -04:00
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
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
Dan a9805ad40c Adding some documentation for clarity. 2021-07-06 14:40:20 -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
mike cullerton 9690c69b6c added check_study method to protocol_builder service for new endpoint 2021-07-02 15:25:33 -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
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 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 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
NWalker4483 5c5b966bc4 Merge branch 'dev' of https://github.com/sartography/cr-connect-workflow into partial_testing 2021-06-15 09:11:18 -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