Commit Graph

561 Commits

Author SHA1 Message Date
alicia pritchett 8c5f3a8cfb slight model change thing for categories 2022-02-09 10:27:46 -05:00
Dan cc915ac25a refactoring the study service. 2022-02-09 08:50:00 -05:00
mike cullerton 65d6728be7 pass specs to _add_all_workflow_specs_to_study 2022-02-08 15:03:00 -05:00
Dan 25ecc1593a test_workflow_spec_api passing. 2022-02-08 13:35:27 -05:00
Dan 6c0e38c0a5 Merge branch 'feature/spec_files_wthout_db' of github.com:sartography/cr-connect-workflow into feature/spec_files_wthout_db 2022-02-08 11:31:56 -05:00
Dan dc040f190e got one more test to work. 2022-02-08 11:30:13 -05:00
alicia pritchett 38c30adbfc i think this fixes adding and removing libraries to a spec 2022-02-08 11:27:20 -05:00
mike cullerton 3f856355e2 Merge branch 'git-integration-596' into feature/spec_files_wthout_db
# Conflicts:
#	config/testing.py
#	crc/services/lookup_service.py
2022-02-08 10:38:03 -05:00
alicia pritchett 7b031c26dc small change to libraries in workflow.py 2022-02-08 10:06:20 -05:00
alicia pritchett aa9807a543 heres the categories 2022-02-07 15:45:09 -05:00
Dan 1d7ecad51f Merge branch 'feature/spec_files_wthout_db' of github.com:sartography/cr-connect-workflow into feature/spec_files_wthout_db 2022-02-07 14:58:42 -05:00
Dan 4b8d193fb9 a few more tests passing 2022-02-07 14:58:25 -05:00
alicia pritchett d4b04f5b80 fixes the import thing for real 2022-02-07 14:10:10 -05:00
Dan 056f901f9a WIP - its just caos right now. 2022-02-07 12:59:48 -05:00
alicia pritchett c78140e60c fixed spec_file.py 2022-02-07 12:17:49 -05:00
alicia pritchett 2a6578b785 fixed workflow.py 2022-02-07 12:10:57 -05:00
alicia pritchett 66906c3786 fix a couple things 2022-02-07 10:57:34 -05:00
alicia pritchett 699d0ab797 updated method calls in workflow.py
except for reordering
2022-02-04 15:31:36 -05:00
alicia pritchett 2fb6746f6b new methods 2022-02-04 14:45:52 -05:00
Dan 6765afbd02 WIP - Move the categories and specifications out of the database. 2022-02-04 13:51:39 -05:00
mike cullerton 64ffbde3d9 Remove unused code 2022-02-03 06:47:41 -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 35e2a53b09 Actually use the model 2022-02-02 12:35:08 -05:00
mike cullerton 55697c6c88 Return the schema 2022-02-02 12:04:28 -05:00
mike cullerton 1cb6465f22 Return the schema 2022-02-02 10:04:02 -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 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
Dan 9690ebf883 minor minor stuff. 2022-01-24 14:43:36 -05:00
mike cullerton 7da2fa2171 Fix for failing tests 2022-01-21 15:13:05 -05:00
mike cullerton 65345a8e91 We can now set our own user_id in instance.config so that user dhf8r isn't always logged in. 2022-01-21 14:42:36 -05:00
mike cullerton 76b09a418e Created separate api files for spec_files and reference_files 2022-01-20 15:22:47 -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
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 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
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
Dan c83b047881 Fixing some bugs I introduced with the latest fix. 2021-12-21 16:22:41 -05:00
Dan f129509802 Looks like reording the deletes allows us to remove workflow specs a little easier. Tested this with libraries, and seems to work ok. 2021-12-20 14:36:45 -05:00
Dan 421e4fd9aa Fixes related to resent commit to SpiffWorkflow that provides better handling for workflows that loop back on themselves. 2021-12-15 16:00:31 -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
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 12b78c1f99 Value Errors should also alert us that we can't serialize the json.
Enum Label was depending on the options attribute not existing in some situtations, which is a bad assumption.  Rather, check for specific properties, and call back to using options as the default.
2021-11-22 12:37:10 -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 Funk 84f364ce37
Merge branch 'dev' into chore/view-as-382 2021-11-10 15:16:20 -05:00
Dan 9376d3deaf Don't error out trying to send an error about invalid review types. 2021-11-04 13:32:57 -04:00
alicia pritchett 702b8eaed6 add ldap endpoint that doesnt require workflow info 2021-10-28 16:19:39 -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 1671caacec Use the new JinjaService 2021-10-21 10:30:42 -04:00
mike cullerton 8fd55565a4 Move changes to another branch 2021-10-20 13:11:06 -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
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 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 771019d9ca Clarify call to email service. We now use the words content and content_html 2021-10-13 12:05:08 -04:00
alicia pritchett 40b5bf3afa Adds a POST for reference file. and a cool test 2021-10-12 14:29:15 -04:00
alicia pritchett 8b5686ce40 wip 2021-10-12 09:46:22 -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 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
Dan d0c819dd5f sync was failing because it tried to add the libraries before adding the spec the libraries connect to. 2021-09-29 10:21:24 -04:00
Dan Funk e4add14193
Merge pull request #378 from sartography/bug/246_user_ldap_refactor
Bug/246 user ldap refactor
2021-09-22 15:31:34 -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
mike cullerton d7b7f39128 Added a field `handle` that displays the filename, which is what configurators actually call in a script task. 2021-09-22 12:10:43 -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 15efc2f3f1
Merge pull request #370 from sartography/library-listing-453
Library listing #453
2021-09-14 16:11:56 -04:00
alicia pritchett a7f032d372 Returns workflow spec categories ordered by display order
sorry to open a whole branch just for this little fix
2021-09-14 10:56:41 -04:00
mike cullerton 7b7c228a81 2 changes
- The `all_specifications` method is now explicit in what it returns; either `library`, `standalone`, or `regular` workflow specs

- When we add/edit a workflow spec, we make sure that `library` and `standalone` workflow specs do not get a category_id
2021-09-13 16:15:18 -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 9bd012c822 Clean up display_order numbers when reordering.
This fixes the problem where we have don't have all unique display_order numbers.
I.e., 0, 1, 1, 3, 5
2021-09-08 11:16:49 -04:00
mike cullerton a3b3df1bbb Use flask send_file to return DMN file 2021-09-07 12:09:30 -04:00
Dan Funk 1a008499c4
Merge pull request #366 from sartography/file-id-error-info-449
Added file_id to some error messages in api.file #449
2021-09-03 14:32:14 -04:00
mike cullerton 8677d0368b Grab the file data from the request, not as a parameter 2021-09-03 10:32:32 -04:00
mike cullerton b5082b8fd3 Call FileService 2021-09-02 09:53:17 -04:00
mike cullerton 0c31b091ee Merge branch 'dev' into dmn-from-spreadsheet-395 2021-09-01 09:38:03 -04:00
mike cullerton 5db5c7ca43 Added file_id to some error messages in api.file 2021-08-31 15:28:21 -04:00
mike cullerton ed57993f8d Workflow spec cleanup needs a category_id 2021-08-31 12:17:25 -04:00
Dan 1140b21414 Adding a test that assures we pick up libraries on the remote system when syncing. 2021-08-31 12:07:41 -04:00
mike cullerton b92676ea75 Make sure we have good display_orders before adding specs and categories 2021-08-31 11:16:27 -04:00
mike cullerton 994ce4008f Don't let updates to workflow-spec and workflow-spec-category metadata change the display_order
Force display_order changes to use the new reorder API endpoints
2021-08-31 10:36:22 -04:00
mike cullerton f6816a2e42 Move display_order cleanup to their own methods 2021-08-31 10:07:38 -04:00
Dan d17a2c39ed A little cleanup to assure that when we sync we correctly pick up and associate librarires with a workflow when we sync. 2021-08-30 15:46:16 -04:00
mike cullerton b76f45368b Explicitly commit the changes 2021-08-30 15:29:49 -04:00
mike cullerton 7bbb64cf27 Reorder remaining categories after delete 2021-08-30 15:20:45 -04:00