* imported patch from old message_improvements branch w/ burnettk
* wip.
* merging in changes from message_improvements
* remove patch files that were accidendetally added.
* Added a modal for editing a correlation. Added ability to delete whole correlation keys.
A little css cleanup.
* * Removing migration - will add back in at the end.
* The Message models API should not require page and per_age parameters, it will return all.
* The Message model list should return a full json description of all messages/correlations for all containing groups.
*
* wip
* Add import, fix class name
* Getting ./bin/pyl to pass
* Getting ./bin/pyl to pass
* Some fe lint fixes
* Some ruff fixes
* Commands to nuke poetry dirs
* Temp skipping of a couple tests
* Getting ./bin/pyl to pass
* This needs to be back in
* Revert back to main
* Factored out data store handling
* Working on factoring out collecting messages, has test failure
* Formatting
* Fixed up test failures
* Remove commentted out lines
* Adding fields
* Fix merge issue
* Re-enable modal
* WIP
* Untested relationships
* Remove correlation key table
* Remove retrieval expression from uniqueness
* Remove commentted out lines
* WIP
* WIP
* WIP
* WIP
* WIP
* Make mypy pass
* Getting formatters to pass
* Add migration
* WIP fixing tests
* WIP fixing tests
* WIP fixing tests
* WIP fixing tests
* WIP fixing tests
* Getting ./bin/pyl to pass
* Fix skipped test
* Fix skipped test
* Getting ./bin/pyl to pass
* Remove unused method
* Remove unused methods
* Clean up unused code
* Refactor to support creating single messages from the UI
* Untested support for processing one process_group
* WIP test
* WIP test
* Filled out test
* Getting ./bin/pyl to pass
* Message Editor Modal Work
* Change migration and add in schemas.
* Swtich to using the associated branch of the process BPMN.io mods
* Get the backend returning messages created from the frontend to the drop down list in the BPMN.io editor.
* Merge main, fix up test
* Getting ./bin/pyl to pass
* Show path in location
* Rename var
* install packages from bpmn-js-spiffworkflow as well for local development
* process group api can add and update message models now w/ burnettk
* backend tests are passing now w/ burnettk
* the launch message edit button is loading the editor w/ burnettk
* updated bpmn-js-spiffworkflow
* pyl is passing w/ burnettk
* updated bpmn-js-spiffworkflow w/ burnettk
* updated bpmn-js-spiffworkflow w/ burnettk
* fixed console errors w/ burnettk
* a couple tweaks w/ burnettk
* save the message json in the new format from the mform w/ burnettk
* display the correlation props in the form w/ burnettk
* default to empty schema so the format is obvious
* allow removing correlation props from web ui w/ burnettk
* added save notification when saving a message on a process model w/ burnettk
* fixed broken test w/ burnettk
* Updating test cases to new message format, tests are failing
* support schema from messages in frontend
* Fixing tests
* Fixing tests
* Fixing tests
* removed references to correlation keys and removed unused components w/ burnettk
* removed temp mesasge model edit button w/ burnettk
* Make mypy pass
* Fixing tests
* Fixing tests
* Getting ./bin/pyl to pass
* save deleted messages before attempting to add new ones w/ burnettk
* set state for the message id so it can be changed w/ burnettk
* do not wait for the message id to be set since it is not necessary w/ burnettk
* updated bpmn-js-spiffworkflow w/ burnettk
* build images for this branch w/ burnettk
* put location in path of message-models so we can control permissions on it w/ burnettk
* fix black
* some coderabbit suggestions
* pull in spiff fix
* Default schema to {}
* Temp fix for invalid schema
* updated bpmn-js-spiffworkflow
* some updates for issue 1626
* minor name tweaks and attempts to update message dropdown in panel when message changes - does not work yet w/ burnettk
* updated bpmn-js-spiffworkflow w/ burnettk
* attempt to call add_message.returned event when message updates w/ burnettk
* treat formData as a state in the MesasgeEditor so it can be updated when the form contents is modified w/ burnettk
* updated bpmn-js-spiffworkflow w/ burnettk
* Feature/merge correlation properties (#1693)
* Merge XML Correlation properties with Process group properties
* updates for messages w/ burnettk
---------
Co-authored-by: theaubmov <ayoubaitlachgar98@gmail.com>
Co-authored-by: jasquat <jasquat@users.noreply.github.com>
* do not wait for message id state to be set to better support new messages w/ burnettk
* updated SpiffWorkflow w/ burnettk
* some cleanup from coderabbit and linting
* added index to message tables, run typecheck in ci, and other updates while code reviewing w/ burnettk
* updated bpmn-js-spiffworkflow w/ burnettk
* remove branch to build
---------
Co-authored-by: jasquat <jasquat@users.noreply.github.com>
Co-authored-by: danfunk <daniel.h.funk@gmail.com>
Co-authored-by: Jon Herron <jon.herron@yahoo.com>
Co-authored-by: burnettk <burnettk@users.noreply.github.com>
Co-authored-by: jasquat <2487833+jasquat@users.noreply.github.com>
Co-authored-by: theaubmov <ayoubaitlachgar98@gmail.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>
* 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