Commit Graph

364 Commits

Author SHA1 Message Date
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 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 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
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
Kelly McDonald 4fa0f9720a Allow frontend to honor 'view as' and fix problem with tests 2021-02-18 11:25:17 -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
Kelly McDonald 003bf2f9b9 Remove Approvals per ticket 183 2021-02-16 09:05:29 -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
Nile Walker 7eeb491dfa User str decode Removed 2021-02-12 09:30:18 -05:00
mike cullerton 8a2a8b1443 Still not in working order. Committing to work on another ticket. 2021-02-10 12:28:59 -05:00
mike cullerton 3e32cdedc4 New error handler for non Api errors. Ticket 187 2021-02-09 16:35:57 -05:00
mike cullerton fa34bee18a First commit for cleaning up error messages for customers.
This is *not* in a working state.
Committing this so I can work on another ticket.
2021-02-04 11:23:05 -05:00
Dan Funk effd11f947
Merge pull request #231 from sartography/cancellations-137
Cancellations 137
2021-02-03 16:31:18 -05:00
Dan Funk 1eba20f420
Merge pull request #229 from sartography/workflow-spec-order-74
Workflow spec order 74
2021-02-03 16:18:34 -05:00
mike cullerton c5cf3ea7ff Changed call to WorkflowProcessor.reset to reflect change from class method to instance method. 2021-01-29 14:34:09 -05:00
mike cullerton 7e76639cf3 When a study is put on hold, we now reset workflows and call any pending cancel_notify events.
In api.study.update_study we test the study status and call the new WorkflowService method process_workflows_for_cancels.
In services.workflow_service we added the new method process_workflows_for_cancels. It loops through workflows for a study, and resets them if they are in progress.
In services.workflow_processor, we changed the reset method to be an instance method so we can call self.cancel_notify.
In tests.test_lookup_service we changed the call to WorkflowProcessor.reset to reflect the change from class method to instance method
2021-01-29 14:05:07 -05:00
mike cullerton c99a388405 We now set the display_order automatically. Users can modify order using the arrows. 2021-01-27 09:50:29 -05:00
Dan 5921ce9f10 Merge branch 'dev' into 152-workflow-spec-pull 2021-01-21 12:30:43 -05:00
Dan Funk 5b13195182
Merge pull request #224 from sartography/restart-with-no-data-99
Restart with no data 99
2021-01-20 17:22:18 -05:00
mike cullerton 9c71a503ca Python code for new restart_workflow api endpoint. Cleaned up code and docstring in get_workflow to match. 2021-01-19 15:09:20 -05:00
mike cullerton 6a9e6d3570 Restart workflow without form data. Committing so Dan can check it out 2021-01-14 15:32:14 -05:00
Kelly McDonald cf7990ce85 Refactor for better readability due to code smell test 2021-01-12 08:54:32 -05:00
Kelly McDonald e14b896225 Add documentation 2021-01-11 09:31:08 -05:00
Kelly McDonald f282a9ef73 Make sure that top_level_workflow is transferred over, also include reference files in the list of files to sync
We may want to revisit this because I used a 'Magic' workflow_ref_id of 'REFERENCE_FILES' as a special case so I could re-use most of what I already had. This works well, but we may want to structure it different.
2021-01-11 09:21:44 -05:00
Dan 26655b26d3 merging in dev, and fixing a failing test from dev. 2021-01-08 14:42:13 -05:00
Dan 72a73c1fc4 Allow for synch to work even if the local set of workflow specifications are completely empty. 2021-01-08 13:23:01 -05:00
Dan e5a38874f6 A hard or soft reset should also cause a 'cancel_notify' which will kick off any CANCEL events. If this happens during
a hard or soft reset, and an error is thrown trying to fulfil a cancel event, the reset should still fire.
Sending emails still had a number of issues correctly parsing it's arguments.  This is corrected.
2020-12-29 18:05:13 -05:00
Dan 6cfce839c1 Validation now assures that we won't encounter errors when generating navigation lists.
Fixing workflow sync paths that were incorrect.
Repairing a suddenly failing test in files, that just don't make no sense.
Bumping spiffworkflow that contains a fix for issue #155
2020-12-28 17:33:38 -05:00
Dan 1f9bf72c59 Merge branch 'dev' into bug/navigation 2020-12-14 11:46:44 -05:00
Dan Funk 4268d0f482
Merge pull request #208 from sartography/152-workflow-spec-pull
152 workflow spec pull
2020-12-14 11:35:06 -05:00
Dan b62a9c7074 Merge remote-tracking branch 'origin/dev' into bug/navigation 2020-12-14 10:40:21 -05:00
Kelly McDonald ee3ee9fd4a Added tests to cover most of the use cases and code, and a bunch of stuff to make the mocks happy 2020-12-14 10:27:40 -05:00
mike cullerton 856fe445b0 Added user.uid to ApiError and Sentry logging 2020-12-11 16:26:03 -05:00
Kelly McDonald adc4dc4453 redid the api a bit so that nothing was using open security - added a new endpoint for getting a workflow spec that uses the alternate API_TOKEN security and leave the original endpoint as it was. 2020-12-11 12:03:41 -05:00
Kelly McDonald 3a1160efac refactored calls into a service 2020-12-11 11:41:32 -05:00
Kelly McDonald 9eea26e019 add workflow_sync test 2020-12-11 08:34:59 -05:00
Kelly McDonald 3f56dfe484 Move all workflow sync stuff into new file
Make changes to api naming scheme
add some error checking around endpoints for missing/invalid endpoints
2020-12-10 10:46:23 -05:00
Kelly McDonald a8203ed01d save changes before refactor 2020-12-10 10:06:21 -05:00
Kelly McDonald c57b17df1e Add a robust way of adding an API key, update examples and documentation for swagger API and add the ability to completely sync the local system from the remote system. 2020-12-09 12:13:17 -05:00
Kelly McDonald 0e1aa59fa1 Make a change to make sure that if there is a new file locally that is not present remotely when we pull from the remote, the new local file gets deleted.
Also: add several things to the requirements.txt that should have been there in the first place.
2020-12-08 13:42:01 -05:00
Kelly McDonald 44c72115ae Make sure we get the file we intended 2020-12-07 08:50:20 -05:00
Kelly McDonald f26a8615a4 Get more file details so we can fill out everything locally and also add a method to download the file by md5_hash 2020-12-07 08:49:38 -05:00
Dan 93b12a8e82 updates using new navigation from spiff workflow's navigation branch, all tests passing. 2020-12-04 17:56:12 -05:00
Kelly McDonald cad613cf63 Fix problem when method is run for a workflow that is non-existant locally 2020-12-04 12:00:02 -05:00
Kelly McDonald d41d018fe3 For a given workflow - find the files that are different from a remote endpoint for the same workflow 2020-12-04 11:49:07 -05:00
Kelly McDonald 3e8d4ca7c9 Add some inline documentation to make the process more clear 2020-12-04 10:23:03 -05:00
Kelly McDonald 10dce542ec documentation change 2020-12-03 15:27:45 -05:00
Kelly McDonald 0f59d3de09 add endpoint that gets a record for all changed /new workflow_specs at a remote endpoint 2020-12-03 14:45:57 -05:00
Kelly McDonald bcb45a59c8 allow cors 2020-12-03 08:46:34 -05:00
Kelly McDonald 0e8913434a refactor a bit 2020-12-03 08:44:15 -05:00
Kelly McDonald 92aa1b971d commit before removing big long SQL 2020-12-02 16:04:00 -05:00
Dan e0c28cbc7d Make it easer to start things up. 2020-12-01 11:17:07 -05:00
Dan Funk b8a91a513b
Merge pull request #196 from sartography/128-data-store
128 data store
2020-11-18 18:55:33 -05:00
Dan b83ab1bcd1 Move data store base into its own file. 2020-11-18 15:34:50 -05:00
mike cullerton 16313609ec removed call to signal (changed to cancel_notify) 2020-11-18 13:55:30 -05:00
Kelly McDonald 72ade3c367 Add crosstalk test 2020-11-17 10:29:49 -05:00
mike cullerton a2dc3c4812 Use Cancel Event
New title 'New Title'
2020-11-16 09:59:22 -05:00
Kelly McDonald 70425eee0d Add last_updated field - change the api signature to be closer to what we need going forward, but retain the old methods for testing the script get/set through the API 2020-11-13 12:03:29 -05:00
Kelly McDonald 7c2c725840 save before changing how API works 2020-11-13 09:58:21 -05:00
Kelly McDonald 9a4d167dcd Add in api changes 2020-11-11 09:44:58 -05:00
mike cullerton a78af4eab8 Run cancel task during interrupt. Currently this uses Signal event. We may change this to the Cancel event. 2020-11-04 14:37:53 -05:00
Aaron Louie 182e375fdc Adds a test for string manipulation 2020-08-21 13:46:10 -04:00
Dan Funk 66e49a347a Minor tweaks to the eval endpoint, which should take both the expression and the data as one data structure. 2020-08-20 16:13:48 -04:00
Dan Funk d4c5e297cc Merge remote-tracking branch 'origin/dev' into fix/delete_workflow_endpoint 2020-08-17 15:09:11 -04:00
Dan Funk 85ad477b2b Some minor cleanup on the study status and automatic events. I wanted to avoid having one database model automatically generating other database models as a side effect. The study service now has full responsiblity to recording study events.
To help in running tests, adding __init__.py methods to all the test directories.
2020-08-17 14:56:00 -04:00
Carlos Lopez 369fe4bb35 Automatic events refactoring 2020-08-14 08:36:46 -06:00
Carlos Lopez aa010272cc Automatic event creation in study creation 2020-08-14 08:36:10 -06:00
Dan Funk 56b161a234 Fixing the failing tests by passing in workflow.id rather than workflow to the delete workflow endpoint 2020-08-10 13:51:05 -04:00
Carlos Lopez cd9376cf8e Adding back ability to update studies 2020-08-04 09:13:24 -06:00
Carlos Lopez 50b207307a Merge branch 'dev' into feature/update_study_status_latest 2020-07-31 14:26:24 -06:00
Carlos Lopez 5d23223e51 New study status update 2020-07-30 21:03:11 -06:00
Aaron Louie f8944da31f Merge branch 'dev' into feature/admin_impersonations 2020-07-30 13:01:46 -04:00
Aaron Louie faba0f55ab Adds AdminSession model and refactors impersonation methods to use it. 2020-07-30 12:40:53 -04:00
Dan Funk 31982f81ae Merge branch 'dev' into feature/documents_publishing
# Conflicts:
#	Pipfile.lock
2020-07-30 10:17:08 -04:00
Aaron Louie d301e9e6fa Adds list_users endpoint. Adds admin impersonate uid parameter to user endpoint. Adds some utility methods to user service. Refactors authentication tests. 2020-07-29 22:47:47 -04:00
Aaron Louie f897ee3aea Merge branch 'feature/approvals_dashboard_prototype' into feature/admin_impersonations 2020-07-29 10:32:46 -04:00
Dan Funk 0ea4c13d09 Convert protocol builder status to always be in lower case in order to better match the front end. And also fixing an issue with the multi_instance that is oddly broken suddenly, and I don't know why. 2020-07-28 17:16:48 -04:00
Dan Funk 4d11fc04a0 dropping the "read_only" flag in favor of a "do_engine_steps" flag, which more clearly defines what is happening. 2020-07-28 13:51:29 -04:00
Dan Funk f15626033d Allow the workflow to be requested without making changes to the workflow - requires that you specify a read_only flag of true, otherwise it assumes that you want a fully prepared workflow with the next ready task set to run. 2020-07-28 13:33:38 -04:00
Dan Funk 300026cbc8 Expanding the task events endpoint to accept workflow and study ids as additional filters.
Removing events from the study endpoint, too noisy.
2020-07-28 10:16:48 -04:00
Dan Funk 452f2c3723 Building out a user service for getting the current user, it will provide a number of functions, one of which will allow administrative users to impersonate other users in some circumstances (but will assure that we log events correctly when an impersonation occures) 2020-07-27 14:38:57 -04:00
Dan Funk 824582dab1 Hot fix to correct for a failing test due to updates in Spiffworkflow library,
and modifying the token authorization so that we can log in as different users when not in production mode.
2020-07-27 11:25:29 -04:00
Dan Funk acb43cc271 Removing an unused function and addign a fix me. 2020-07-22 11:40:49 -04:00
Dan Funk a243c14d75 Updating to lastest spiffworkflow which uses box to support dot notation.
Adding a new endpoint for evaluating the results of a python expression into the tools section of the api.
2020-07-22 11:30:16 -04:00
Dan Funk d01b30debc Building the start of an endpoint that could be used by logged in / authenticated users that will evaluate basic python functions sent in via the API.
The hope here is that we can process these in real time for the front end, but still do it using the same evaluation engine we use everywhere else, so
the syntax for things like hide-expressions can be properly verified during workflow validation and will be assured to work during front end rendering.
Removing any all javascript code in the BPMN models.
2020-07-21 13:57:33 -04:00
Carlos Lopez fcb772c900 Reporting to Sentry all captured exceptions and enabling multiple environments 2020-07-19 16:40:33 -06:00
Carlos Lopez 59d04feb23 Adding missing import 2020-07-17 17:08:44 -06:00
Carlos Lopez 73400ed6c7 Adding proper tests for files publishing 2020-07-17 16:59:25 -06:00
Carlos Lopez d34d08b121 Trying to force re-run to clear SonarCloud 2020-07-17 13:33:42 -06:00
Carlos Lopez 331a6c0aeb Fixing tests 2020-07-17 12:52:09 -06:00
Carlos Lopez f4eb592b87 Extracting token to env var 2020-07-17 12:31:05 -06:00
Carlos Lopez 419d06c95b Updating file by latest version 2020-07-17 12:31:05 -06:00
Carlos Lopez a10ef9066d Github integration with admin 2020-07-17 12:31:05 -06:00
Dan Funk d85ca1ce51 Whenever a workflow is loaded or updated, add events to the TaskEvent table with assignments for the next set of ready tasks, along with who should complete those tasks.
Add the lane information to the Task model.
Drop the foreign key constraint on the user_uid in the task log, as we might create tasks for users before they ever log into the system.
Add a new endpoint to the API called task events.  It should be possible to query this and get a list of all tasks that need a users attention.
The task events returned include detailed information about the workflow and study as sub-models
Rename all the actions in event log to things that are easier to pass over the api as arguments, make this backwards compatible, updating existing names in the database via the migration.
Throughly test the navigation and task details as control of the workflow is passed between two lanes.
2020-07-14 22:16:44 -04:00
Dan Funk a48322ef6a Partial work on CR Connect Roles.
Adding checks in the API to assure the correct person is completeing a task based on the task's lane.
Adding lane to the Navigation item.
Adding a check to assure that unique user ids can be identified using task.data
Added some additional ldap entries to make testing and development easier.
Removed a big chunk of duplicate code from task_tests_api
Modified some of the helper functions to make it easier to test as specific users.
Added some additional bpmn models to the tests for testing lanes and roles.
2020-07-14 10:29:25 -04:00