* added new table to handle called process relationships
* process caller api endpoint is working again w/ burnettk
* fixed more tests and mypy w/ burnettk
* unit tests are passing and commented out unrelated failing test w/ burnettk
* all tests are passing almost w/ burnettk
* uncommented flakey test w/ burnettk
* minor change while reviewing w/ burnettk
* some changes from coderabbit suggestions w/ burnettk
* commented out sampling change w/ burnettk
* name the foreign keys on the process caller table w/ burnettk
---------
Co-authored-by: jasquat <jasquat@users.noreply.github.com>
* added most of the code needed to generate a bpmn unit test from a process instance w/ burnettk
* pyl and tests are passing
* renamed some files and some clean up
* added api method to generate test case w/ burnettk
* debugging the generate test api w/ burnettk
* test case generator test case is now passing w/ burnettk
* added test for TaskMismatchError w/ burnettk
* added support for extension to create bpmn unit tests with the api w/ burnettk
* coderabbit and typeguard fixes w/ burnettk
---------
Co-authored-by: jasquat <jasquat@users.noreply.github.com>
* initial updates to prepare for data object data migration w/ burnettk
* added method to import bpmn_process_dict to the database w/ burnettk
* test to ensure we can import json is passing w/ burnettk
* added some more tests around importing bpmn process json w/ burnettk
* version 4 migration test is now passing w/ burnettk
* spiff lib back to main after its merge
* some coderabbit suggestions
* do not run version 3 and 4 migrations twice w/ burnettk
* build docker images for this branch w/ burnettk
---------
Co-authored-by: jasquat <jasquat@users.noreply.github.com>
Co-authored-by: burnettk <burnettk@users.noreply.github.com>
* some basic updates for unauthed endpoints and the start of a test w/ burnettk
* added logic to create public access token if appropriate w/ burnettk
* updated message_form_show to return the rjs form w/ burnettk
* pyl w/ burnettk
* WIP: adding public routes to frontend w/ burnettk
* added public message form page to start a process instance w/ burnettk
* added api endpoint to submit message task data w/ burnettk
* allow switching rjsf themes in customform w/ burnettk
* we can submit a public message form w/ burnettk
* add message start submit to public exclusion list w/ burnettk
* run message submit in synchronous mode w/ burnettk
* a little refactoring to get ready for submitting unauthed tasks w/ burnettk
* created public controller w/ burnettk
* added api endpoint to submit additional public forms w/ burnettk
* added ability to submit a second form from the public web ui w/ burnettk
* some clean up and show markdown confirmation messages w/ burnettk
* added support for instructions and added a logout page for public users w/ burnettk
* support instructions for end user on the start message event as well w/ burnettk
* minor tweaks to public logout page w/ burnettk
* pyl w/ burnettk
* log unsupported form in custom form w/ burnettk
---------
Co-authored-by: jasquat <jasquat@users.noreply.github.com>
* get parent process groups of process models that the user has access to w/ burnettk
* use the process group list to get the info we need for the group show page for permissions w/ burnettk
* clear the browser cache when updating a process group w/ burnettk
* fixed broken test w/ burnettk
---------
Co-authored-by: jasquat <jasquat@users.noreply.github.com>
* WIP: some initial test code to test out celery w/ burnettk
* some cleanup for celery and added base model to put tasks waiting on timers
* removed dup bpmn file
* some more cleanup and added strategy to queue instructions
* some minor code changes w/ burnettk
* remove the unused next_task key from api calls since nobody uses it w/ burnettk essweine
* added migration for future tasks and added test to make sure we are inserting into it w/ burnettk essweine
* ensure future task run at time can be updated w/ burnettk
* added table to queue instructions for end user in w/ burnettk
* added test to ensure we are storing instructions for end users w/ burnettk
* added progress page to display new instructions to user
* ignore dup instructions on db insert w/ burnettk
* some more updates for celery w/ burnettk
* some pyl and test fixes w/ burnettk
* fixed tests w/ burnettk
* WIP: added in page to show instructions on pi show page w/ burnettk
* pi show page is fully using not interstitial now w/ burnettk
* fixed broken test w/ burnettk
* moved background processing items to own module w/ burnettk
* fixed apscheduler start script
* updated celery task queue to handle future tasks and upgraded black and set its line-length to match ruff w/ burnettk
* added support to run future tasks using countdown w/ burnettk
* build image for celery branch w/ burnettk
* poet does not exist in the image w/ burnettk
* start blocking scheduler should always start the scheduler w/ burnettk
* add init and stuff for this branch
* make this work not just on my mac
* send other args to only
* added running status for process instance and use that on fe to go to show page and added additional identifier to locking system to isolate celery workers better w/ burnettk
* fixed typing error that typeguard found, not sure why mypy did not w/ burnettk
* do not check for no instructions on interstitial page for cypress tests on frontend w/ burnettk
* do not queue process instances twice w/ burnettk
* removed bad file w/ burnettk
* queue tasks using strings to avoid circular imports when attmepting to queue w/ burnettk
* only queue imminent new timer events and mock celery
* some keyboard shortcut support on frontend and added ability to force run a process instance over the api w/ burnettk
* some styles added for the shortcut menu w/ burnettk
* pyl w/ burnettk
* fixed test w/ burnettk
* removed temporary celery script and added support for celery worker in run server locally w/ burnettk
* cleaned up migrations w/ burnettk
* created new migration to clean up old migrations
---------
Co-authored-by: jasquat <jasquat@users.noreply.github.com>
Co-authored-by: burnettk <burnettk@users.noreply.github.com>
* added test and some additional support for deny permissions w/ burnettk
* added support for deny through permissions-check api w/ burnettk
* support DENY at the beginning of a permission target marcro
* do not look up permissions using grant type, only use the uniqueness key
* added support in frontend to display a nice error if user does not have access to a data object value w/ burnettk
---------
Co-authored-by: jasquat <jasquat@users.noreply.github.com>
* support formatting data client side in markdown and support greater than and less than for metadata column filters w/ burnettk
* moved spiff conversion functions to FormattingService and use it in InstructionsForEndUser w/ burnettk
* added tests for greater than and less than metadata operators and added negative tests w/ burnettk
* removed unneeded useEffect w/ burnettk
---------
Co-authored-by: jasquat <jasquat@users.noreply.github.com>
* some basics to set a user groups based on info in keycloak w/ burnettk
* test for adding groups from token now passes
* do not remove users from groups when running refresh_permissions if specified
---------
Co-authored-by: jasquat <jasquat@users.noreply.github.com>
* WIP: some updates to support new spiff w/ burnettk
* unit tests are passing
* all tests except message tests are passing
* fixed usage of catch message event w/ burnettk
* messages are working again w/ burnettk
* uncommented remaining message tests w/ burnettk
* fixed cypress tests w/ burnettk
* use main for spiffworkflow
* translated mysql last milestone query to sqlalchemy w/ burnettk
* fixed last milestone query so instances still return if no milestone found and moved some code from the main report method to own methods
* added some comments
* added last milestone column to process instances table
* display last milestone in instance list table w/ burnettk
* remove 3 characters when truncating last milestone for ellipsis
* make sure we have a current processor so we don't return null
* remove sleep
* The background processor now only picks up processes that were last updated more than a minute ago to avoid conflicting with the interstitial page. With the understanding that we can rmeove this limitation when we can refactor to allow the backend processes to provide updates on what they are doing.
* pyl w/ burnettk
* cache last milestone on instances
* pyl
* added test for last milestone and added it to the proces instance show page w/ burnettk
* fixed broken test w/ burnettk
* fixed last milestone header
* removed duplicated column
* fixed broken test
---------
Co-authored-by: jasquat <jasquat@users.noreply.github.com>
Co-authored-by: Kevin Burnett <18027+burnettk@users.noreply.github.com>
Co-authored-by: danfunk <daniel.h.funk@gmail.com>
Co-authored-by: burnettk <burnettk@users.noreply.github.com>
* attempt to use the locked version of SpiffWorkflow in ci w/ burnettk
* fixed regex for spiffworkflow revision replacement
* make sure we also update the lockfile when getting new spiff
* install poetry before we attempt to update hte pyproject
* hardcoding spiffworkflow revision as a test w/ burnettk
* try running tests in ci from bash script w/ burnettk
* print working dir in ci w/ burnettk
* fixed location of instance dir w/ burnettk
* run with mysql in ci
* run typeguard with bash script as well w/ burnettk
* fixed postgres test w/ burnettk
* clean up github action file w/ burnettk
* fixed postgres test again w/ burnettk
* pyl
* attempt to remove nox from ci completely
* omit safety for now to test coverage
* fixed how coverage is being called from not nox
* allow running safety and macos again
* renamed run_not_nox to run_ci_session w/ burnettk
* attempt to only upload if matrix says to w/ burnettk
* attempt to install mysqlclient prereqs for mac and remove noxfile stuff w/ burnettk
* added back the constraints file w/ burnettk
* moved the contributing file to the root of arena w/ burnettk
---------
Co-authored-by: jasquat <jasquat@users.noreply.github.com>
* added api and test to run a process model and return task data synchronously w/ burnettk
* added test to make sure we can access db models from extensions api w/ burnettk
* added extensions api to elevated permissions
* fixed permission tests
* do not add extensions permission to all permission for a pg or pm w/ burnettk
* added configs for extensions api w/ burnettk
* added the basis for an extensions list api w/ burnettk
* added tests for extenstions api and do not use serialized as a property
* allow giving a body to an extension when running and some support in frontend to use extensions
* added ability to display markdown and rjsf on extensions page
* added ability to submit the extension form and display the resulting task data
* made frontend extension urls have 2 pieces of information so we can specify multiple routes for the same process-model w/ burnettk
* do not save process instances when running extensions w/ burnettk
* add extension input to a task not the process w/ burnettk
* pyl w/ burnettk
---------
Co-authored-by: jasquat <jasquat@users.noreply.github.com>
Co-authored-by: burnettk <burnettk@users.noreply.github.com>
* autosave form data on change w/ burnettk
* tests are now passing and pyl
* do not do anything on autosave success w/ burnettk
* merged autosave and null form data branches together w/ burnettk
---------
Co-authored-by: jasquat <jasquat@users.noreply.github.com>
Request "profile" scope over OpenID so we can get a few more bits of information when avilable.
Add a "clear_perissions" script
Add an "add_permissions" script
Add an "add_permissions" script
When logging in for the first time, check for any awaiting permissions and assign them.
Add "enumerate" as a whitelisted function to React Schema
Add a "display_name" to the user table
Add a test for adding a new permission
Add a test for adding a user to group
Adding a test for deleting all permissions.
Adding a display name for the user table