Commit Graph

2070 Commits

Author SHA1 Message Date
jasquat 74de2063d6 added spiffworkflow-2 realm based on spiffworkflow realm w/ burnettk 2023-11-28 12:41:16 -05:00
burnettk c0a0606913 remove accidentally added keycloak dir ignore w/ jasquat 2023-11-28 12:37:30 -05:00
burnettk 6c7fad9b80 removed bad dir w/ jasquat 2023-11-28 12:20:39 -05:00
Kevin Burnett cfe00a45d4 reset to page 1 when status changes to fix #765 (#769)
* reset to page 1 when status changes to fix #765 w/ jasquat

* upgrade connexion and werkzeug to fix snyk w/ jasquat

* fix all security issues like a boss w/ jasquat

* whoops, still no resolution for cryptography w/ jasquat

---------

Co-authored-by: burnettk <burnettk@users.noreply.github.com>
2023-11-28 08:58:54 -08:00
burnettk 126ba9512c tweak 2023-11-28 09:54:24 -05:00
jbirddog abe865c19b Data Store CRUD interface (#689) 2023-11-24 13:27:46 -05:00
jasquat d737d40ab7 disabled no task data on completed tasks when rehydrating (#706)
Co-authored-by: jasquat <jasquat@users.noreply.github.com>
2023-11-21 10:49:16 -05:00
jasquat 762f945e62 updated connector-proxy-demo dockerfile to be more like backend w/ burnettk 2023-11-20 16:49:30 -05:00
jasquat 91ee554543 ensure we do not delete user group assignments from regexes w/ burnettk (#690)
Co-authored-by: jasquat <jasquat@users.noreply.github.com>
2023-11-20 08:27:28 -08:00
burnettk f524b78368 fixes from fixit 2 2023-11-20 11:04:33 -05:00
jasquat b031b0f940 remove the unused next_task key from api calls since nobody uses it w/ burnettk essweine (#688)
Co-authored-by: jasquat <jasquat@users.noreply.github.com>
2023-11-17 13:34:04 -08:00
jasquat 5e95849923 sort nested process groups as well (#685)
Co-authored-by: jasquat <jasquat@users.noreply.github.com>
2023-11-17 10:12:56 -05:00
Kevin Burnett 8d85e5ac26 added some updates to help with logging deployments w/ burnettk (#683)
Co-authored-by: jasquat <jasquat@users.noreply.github.com>
Co-authored-by: burnettk <burnettk@users.noreply.github.com>
2023-11-16 13:15:49 -08:00
jasquat 9f58c7405d avoid serializing the bpmn process instance just to save data w/ burnettk 2023-11-16 12:32:38 -05:00
Kevin Burnett d9203f4d37 curl and procps in container for debugging (#680)
* curl and procps in container for debugging

* added some spacing between from lines in dockerfiles w/ burnettk

---------

Co-authored-by: burnettk <burnettk@users.noreply.github.com>
Co-authored-by: jasquat <jasquat@users.noreply.github.com>
2023-11-16 07:18:11 -08:00
jasquat fc503ec76b feature/secrets-encryption-cleaning (#673)
* removed simple-crypt and cleaned up usage of keys for encryption w/ burnettk

* renamed var to SPIFFWORKFLOW_BACKEND_ENCRYPTION_KEY w/ burnettk

* pyl w/ burnettk

---------

Co-authored-by: jasquat <jasquat@users.noreply.github.com>
2023-11-16 10:12:47 -05:00
jasquat 1eed6e2444 feature/full-breadcrumb-on-task-show (#675)
* show the full breadcrumb on task show page w/ burnettk

* check read permission of process model before displaying in breadcrumb on task show page

* in the breadcrumb if the api returns 401 then just ignore the breadcrumb

* pyl

---------

Co-authored-by: jasquat <jasquat@users.noreply.github.com>
2023-11-16 10:05:08 -05:00
burnettk 166f7e9873 ignore this for a month and hope that we get a resolution on the internet during this time 2023-11-15 14:54:03 -05:00
jasquat 449fe87d43 Feature/deny macro on permission (#672)
* look for deny in the permission action rather than in the target uri and updated the documentation w/ burnettk

* added depecation warning if allowed_permissions is being used intead of actions w/ burnettk

---------

Co-authored-by: jasquat <jasquat@users.noreply.github.com>
2023-11-15 11:46:56 -05:00
jasquat 34ce785aea let spiff serialize the bpmn process data to let it handle datetimes before we give it to the db w/ burnettk 2023-11-15 10:43:56 -05:00
jasquat 981cfcb347 Merge branch 'main' of github.com:sartography/spiff-arena 2023-11-15 09:47:23 -05:00
jasquat 6d99fd0ac3 only log out the user when we return a 401, not raise an error 2023-11-15 09:47:20 -05:00
Kevin Burnett 8dcdae2590 Feature/fix filters (#670)
* work in progress

* respect multiple filters for the same field

---------

Co-authored-by: burnettk <burnettk@users.noreply.github.com>
2023-11-15 06:20:00 -08:00
jasquat 1d37001727 Feature/no data for finished spiff tasks (#661)
* do not add data to spiff tasks if that task is finished w/ burnettk

* build docker image for this branch w/ burnettk

---------

Co-authored-by: jasquat <jasquat@users.noreply.github.com>
2023-11-14 12:47:20 -08:00
Dan Funk 12c8b899f0 Copy and Paste Error (#663)
* We were getting copy and paste errors that an id already existed.  This fixes that problem by assuring we always call the importXML method on the diagram modeller (and don't bypass it with a call to the fromXML of the protected _moddle.
we have to correct for the loop characteristics getting removed in a different way.

* run_pyl.

* eslint fixes

* Cypress caught some errors - I hate it, but it was right, and it caught something critical.
2023-11-14 15:14:07 -05:00
jasquat 18207bcfbd bugfix/fix-refresh-token-error (#668)
* when backend returns 401 also remove cookies and redirect in frontend if cookies are not set w/ burnettk

* added a copule helpful comments w/ burnettk

---------

Co-authored-by: jasquat <jasquat@users.noreply.github.com>
2023-11-14 14:54:16 -05:00
jasquat 1197a1a51a do not tell users to add a process model/group if they do not have access to do so w/ burnettk 2023-11-13 16:56:41 -05:00
jbirddog c122926e01 Support creating unique top level keys for KKV data store (#613) 2023-11-13 11:37:24 -05:00
jasquat 1596076a15 updated auth identifier header name to include spiffworkflow w/ burnettk 2023-11-09 15:45:52 -05:00
jasquat 07895d3965 get the auth identifier from the cookie or the header or return default 2023-11-09 15:39:06 -05:00
jasquat 45bcba172d default other open id configs is url is specified w/ burnettk 2023-11-09 14:31:30 -05:00
jasquat 04e763116e authentication_identifier comes from cookies, not headers 2023-11-09 13:50:45 -05:00
jasquat b8cfa4fd3c fixed backwards compatibility with multiple auths 2023-11-09 11:09:11 -05:00
jasquat d5b0330609 Feature/support multiple auth (#602)
* added some support for configs to have mutliple auths

* multiple openids services are mostly working - still needs some cleanup

* some cleanup for pyl and fixed login_return for internal openid server w/ burnettk

* if only one auth is returned from backend then just do that w/ burnettk

* login page has been formatted w/ burnettk

* some extra formatting on the login page w/ burnettk

* relabel test openid providers and add user

---------

Co-authored-by: jasquat <jasquat@users.noreply.github.com>
Co-authored-by: burnettk <burnettk@users.noreply.github.com>
2023-11-09 10:34:07 -05:00
jasquat a48bc8a885 do not attempt to migrate instance from interstitial page if the serializer version has not been set yet 2023-11-09 09:13:18 -05:00
jasquat 7b904387fc updated example permissions to use macros and prefer perm absolute path over filename w/ burnettk 2023-11-08 16:57:19 -05:00
jasquat 57c8112eea run the data migrator from the insterstitial page code when loading the pi show page w/ burnettk (#607)
Co-authored-by: jasquat <jasquat@users.noreply.github.com>
2023-11-07 16:20:47 -05:00
Kevin Burnett eb13ab843b fix standard loop task serialization (#606)
* fix standard loop task serialization

* lint

---------

Co-authored-by: burnettk <burnettk@users.noreply.github.com>
2023-11-06 12:18:33 -08:00
Kevin Burnett 6014f2940d fix serialization issue with custom service task, w/ essweine (#605)
Co-authored-by: burnettk <burnettk@users.noreply.github.com>
2023-11-03 15:00:30 -07:00
burnettk c57cc0ed0b ignore another werkzeug issue until we can upgrade 2023-11-01 18:52:49 -04:00
jasquat 11512a888e disable element units for now w/ burnettk 2023-10-27 15:59:28 -04:00
jasquat 234c9646e1 feature/skip-user-input-required-tasks (#596)
* only check for timer events in ready_user_task_has_associated_timer so we can skip user_input_required instances w/ burnettk

* removed test.py file w/ burnettk

---------

Co-authored-by: jasquat <jasquat@users.noreply.github.com>
2023-10-27 15:01:28 -04:00
jasquat 566f383918 adds basic support to use certain components in extensions w/ burnettk (#597)
Co-authored-by: jasquat <jasquat@users.noreply.github.com>
2023-10-27 14:54:45 -04:00
jasquat c2ce27e961 Feature/drop id column on json data (#587)
* added migration to drop the id column from json_data and make hash the primary key

* removed id column from task_draft_data as well

---------

Co-authored-by: jasquat <jasquat@users.noreply.github.com>
2023-10-27 11:02:52 -04:00
jbirddog f8112641cc Reenable element units (#593) 2023-10-26 18:20:55 -04:00
jasquat 24741b29de use last_state_change to figure out if a cancelled task needs an event in the task service instead of with get_tasks and check when manually completing tasks w/ burnettk (#595)
Co-authored-by: jasquat <jasquat@users.noreply.github.com>
2023-10-26 16:11:16 -04:00
jbirddog eb3fd9e2af Bump SpiffWorkflow (#590)
Co-authored-by: jasquat <jasquat@users.noreply.github.com>
2023-10-26 12:27:35 -04:00
jasquat 7e128c5a55 Feature/completed tasks on pi show (#591)
* added api to get all completed tasks for an instance and display it in a table w/ burnettk

* moved completed tasks table on pi show page to sub tabs

---------

Co-authored-by: jasquat <jasquat@users.noreply.github.com>
2023-10-26 11:37:55 -04:00
jasquat a025aaa017 upgraded cryptography to satisfy snyk and added ignore for werkzeug issue since we cannot do anything about it now w/ burnettk 2023-10-26 11:28:37 -04:00
jasquat 83094c66ce process all cancelled tasks to see if that fixes error boundary events 2023-10-26 10:35:52 -04:00
jasquat 39edd60fd6 Feature/hide private data objects (#581)
* 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>
2023-10-25 16:31:06 -04:00
jbirddog 36b7b2462e Remove backend references to Box (#579) 2023-10-25 16:09:25 -04:00
jasquat c18c5a8d9c Feature/do not save cancelled task events twice (#575)
* do not save cancelled task events again

* actually only process cancelled events that were cancelled during the current run

---------

Co-authored-by: jasquat <jasquat@users.noreply.github.com>
2023-10-25 13:45:20 -04:00
jbirddog 16ae1d9ccd Add support for KKV data stores to the data stores tab (#576) 2023-10-25 12:59:09 -04:00
jasquat 54b7c5c3ec feature/formatting-in-extension-md (#559)
* 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>
2023-10-20 15:19:26 -04:00
jasquat 6664b52985 install vim-tiny instead of vim for security w/ burnettk 2023-10-19 15:01:39 -04:00
jasquat fe4dc14b8d Feature/docker CVE issues (#558)
* updated Dockerfile to try to remove security vulnerabilities w/ burnettk

* we require curl for health checks w/ burnettk

* try to scan docker image in ci

* use Dockerfile from backend w/ burnettk

* continue-on-error w/ burnettk

* attempt to elevate permissions of snyk w/ burnettk

* added snyk security github workflow w/ burnettk

* fixed location of constraints w/ burnettk

* add in or true for snyk tests w/ burnettk

* sent the snyk token w/ burnettk

* specify the directory for the sarif file w/ burnettk

* updated spiffworkflow-connector-command for snyk issue w/ burnettk

* updated sql statements sanitize input

* ignore issues for debug_controller and check frontend with snyk w/ burnettk

* updated babel and electron for snyk w/ burnettk

* some more updates to fix vulnerabilities w/ burnettk

* prune repeated deps for frontend builds since

* uncomment ci code so it runs again and use node for frontend base image w/ burnettk

* fixed backend image name w/ burnettk

* pyl w/ burnettk

---------

Co-authored-by: jasquat <jasquat@users.noreply.github.com>
2023-10-19 14:22:52 -04:00
jasquat 2f9aa12906 Feature/error boundary (#552)
* WIP for error boundary support w/ burnettk

* updates to catch error boundary events and send them back out w/ burnettk

* fixed broken test w/ burnettk

* use connector-http and spiffworkflow-proxy from main w/ burnettk

* updated smtp and slack connectors in connector-proxy-demo w/ burnettk

* added more tests for the service task service call connector to test errors w/ burnettk

* added spiffworkflow-connector-command and some code clean up

* updated the connectors in the proxy demo

* use SpiffWorkflow from git instead of locally

* some cleanup while code reviewing

---------

Co-authored-by: jasquat <jasquat@users.noreply.github.com>
2023-10-18 14:00:12 -04:00
jasquat b6a4d40f74 updated urllib3 for snyk 2023-10-18 11:21:53 -04:00
jbirddog a80abc4c47 Keyed key/value data store implementation (#548) 2023-10-17 10:59:01 -04:00
jasquat 4d7347c131 do not save events to db when running data migrations w/ burnettk 2023-10-16 15:02:19 -04:00
jasquat abf87a5aa3 corrected typename for tasks in data migration 3 w/ burnettk 2023-10-16 14:51:50 -04:00
jasquat d22e5b2550 check if form contents is None and not truthy when deciding to return back to the user w/ burnettk 2023-10-16 11:42:09 -04:00
burnettk 1eadeb0b29 add cris 2023-10-16 11:24:48 -04:00
burnettk 53def3f3c8 update README 2023-10-13 23:32:01 -04:00
jasquat c2dc4a738e Feature/data migrator tests (#546)
* using new spiffworkflow locally and the db can be recreated w/ burnettk

* tests are passing w/ burnettk

* added version 3 data migration for typenames on tasks and bpmn processes w/ burnettk

* pyl w/ burnettk

* attempting to add tests for data migrator and fix 1.3 for postgres

* run version_1_3 migration differently from postgres versus mysql and sqlite

* look up the task model again to make sure it is fresh w/ burnettk

---------

Co-authored-by: jasquat <jasquat@users.noreply.github.com>
2023-10-12 14:29:51 -04:00
jasquat 4d842e8dbf Improvement/better serialization (#540)
* using new spiffworkflow locally and the db can be recreated w/ burnettk

* tests are passing w/ burnettk

* added version 3 data migration for typenames on tasks and bpmn processes w/ burnettk

* pyl w/ burnettk

* switch SpiffWorkflow back to main

---------

Co-authored-by: jasquat <jasquat@users.noreply.github.com>
2023-10-12 14:14:02 -04:00
jasquat db4e9292f6 remove colons as well when checking wildcard permissions and updated test to ensure it works as expected 2023-10-11 10:25:02 -04:00
jasquat ceb06cc227 Hotfix/user task with timer cancel (#533)
* cherry picked changes from b12af9f3bc to pin form json files

* use the class name to determine what a task type is w/ burnettk

* initial thoughts to fix cancel timer issue w/ burnettk

* added migration to run predict on all open instances w/ burnettk

* remove debug, refactor data migrations, add benchmark_log_func

* log progress of script

* only process predicted tasks and their parents in the version 2 data miagration w/ burnettk

* added data migrator and using that to run version 2 migrations when needed w/ burnettk

* removed some unwanted code

* fix issue, but tests still need updating

* fix tests by returning code to closer to what it was

---------

Co-authored-by: jasquat <jasquat@users.noreply.github.com>
Co-authored-by: burnettk <burnettk@users.noreply.github.com>
2023-10-10 11:17:09 -04:00
burnettk dd6dcdcec9 add dinithi 2023-10-09 10:01:20 -04:00
jasquat 8bf92f7a39 Feature/regex support in permissions (#530)
* support wildcards when adding users to groups from waiting table

* moved the user route to authentication_controller to avoid having so many user routes and this controller was all about login

* added test to ensure regexes work for permissions - still need to remove old ones on refresh

* moved token related code out of authorization service and into authentication service w/ burnettk

* remove old user group assignment waiting entries when refreshing permissions w/ burnettk

---------

Co-authored-by: jasquat <jasquat@users.noreply.github.com>
2023-10-06 13:47:40 -04:00
jasquat 01ef4e6eaa pyl w/ burnettk 2023-10-06 13:36:24 -04:00
danfunk a83e11c504 overriding more of the login screen - can't do it all with CSS anymore so overriding one of the ftl files (Whatever they are, not sure, but works) 2023-10-06 11:02:11 -04:00
jasquat 94a01fcc80 Merge branch 'main' of github.com:sartography/spiff-arena 2023-10-05 14:01:09 -04:00
jasquat aeded99114 keycloak output on import seems to have changed 2023-10-05 14:01:06 -04:00
jasquat 15041734a7 use the class name to determine what a task type is w/ burnettk (#527)
Co-authored-by: jasquat <jasquat@users.noreply.github.com>
2023-10-05 13:28:41 -04:00
jasquat cba4a19d3b Feature/remove group service (#529)
* removed group service in favor of user service and messing around with ruff and pre-commeit w/ burnettk

* pyl can succeed now w/ burnettk

* removed debug code w/ burnettk

* pyl

---------

Co-authored-by: jasquat <jasquat@users.noreply.github.com>
2023-10-05 13:27:38 -04:00
burnettk d4984a0269 do the joinedload so we actually eliminate the n plus 1 query 2023-10-05 09:30:02 -04:00
danfunk 77845d38ce copy was not creating the spifftheme directory. 2023-10-04 15:48:57 -04:00
jasquat b12af9f3bc Feature/pin form schemas to revision (#526)
* task show loads the correct revision of the json schema form w/ burnettk

* display error if form cannot be found at revision w/ burnettk

---------

Co-authored-by: jasquat <jasquat@users.noreply.github.com>
2023-10-04 15:23:42 -04:00
jasquat dbbf14fe58 fixed copy of theme to keycloak docker image w/ burnettk 2023-10-04 15:08:55 -04:00
danfunk 3ce513a29b Enabled copy in the docker file
Added a spiffworkflow logo, colors, fonts, styling to login page based off the styles used on our website.
Maybe someday these can bleed through to the app itself.
2023-10-04 14:31:08 -04:00
jasquat b23bdbbebc upgrade keycloak to 22.0.4 and added a base custom theme for login screen w/ burnettk 2023-10-04 11:32:53 -04:00
jbirddog 34a0323c4d Upsearch for data stores (#520) 2023-10-04 09:42:25 -04:00
jasquat 22570ce8d3 fix git command with c option 2023-10-04 08:37:41 -04:00
burnettk d7d3858a7a return error if no token instead of blowing up 2023-10-03 22:07:20 -04:00
burnettk d4104f4d12 tell sentry about release info if we have it 2023-10-03 21:23:25 -04:00
burnettk 9a59d37b53 remove debug print statement 2023-10-03 16:03:52 -04:00
Kevin Burnett fa5109ff57 update permission check to hopefully improve performance (#523)
Co-authored-by: burnettk <burnettk@users.noreply.github.com>
2023-10-03 13:00:13 -07:00
jasquat 5d4713fc0e feature/use-context-with-git-commands (#524)
* use the c option with git commands instead of using cd from python w/ burnettk

* removed the cd method since we should not be using it since it is not threadsafe

* pyl

---------

Co-authored-by: jasquat <jasquat@users.noreply.github.com>
2023-10-03 16:00:03 -04:00
jasquat 1b06d9c987 updated urllib3 for snyk 2023-10-03 14:42:01 -04:00
burnettk f754ee1658 avoid notifying sentry on standard 405 method not allowed 2023-10-02 22:16:38 -04:00
jasquat a9877c116b move task draft data insert into try statement to handle Deadlock errors 2023-10-02 08:35:00 -04:00
burnettk e3f775e54f ignore process instance not found in terms of sentry notification 2023-10-01 12:36:00 -04:00
jasquat d6f3965c2b do not check for git source branch when using the webhook, let it fail naturally if not a git repo w/ burnettk 2023-09-29 16:39:02 -04:00
jasquat 8220aa42ef added bin/console command that runs flask shell and align zoom tooltips to the bottom w/ burnettk 2023-09-29 16:00:16 -04:00
jasquat 6c41d54502 better fix where we ensure we get the process id from the primary bpmn file 2023-09-29 10:57:23 -04:00
jasquat a8ad7ad979 removed test file 2023-09-29 10:45:14 -04:00
jasquat 336cd3a1c7 Merge branch 'main' of github.com:sartography/spiff-arena 2023-09-29 10:43:35 -04:00
jasquat 42e5c91613 call activities do not need to mock data in unit tests and ensure we add the primary bpmn file last otherwise we lose it - seems another fix will be needed for this 2023-09-29 10:43:32 -04:00
jbirddog 37ae7e2f7f Refactor finding process models to support finding other file types (#516) 2023-09-29 09:38:45 -04:00
jasquat f3e7bbaa02 a couple updates for extensions w/ burnettk 2023-09-28 17:19:37 -04:00
jasquat a84750741e updated SpiffWorkflow for depth fix (#519)
Co-authored-by: jasquat <jasquat@users.noreply.github.com>
2023-09-28 12:51:48 -07:00
jasquat 10fa556525 handle dup key error when saving draft data by updating the record on conflict w/ burnettk (#518)
Co-authored-by: jasquat <jasquat@users.noreply.github.com>
2023-09-28 12:01:57 -07:00
jasquat 47f94dccbb Feature/nonetype debug stuff (#513)
* some debug items w/ burnettk

* removed some db commits from workflow execution service so the passed in save is the only thing that actually commits the transaction

* set max depth to 50000 for now w/ burnettk

* pyl w/ burnettk

* use temp maxdepth fix in SpiffWorkflow w/ burnettk

---------

Co-authored-by: jasquat <jasquat@users.noreply.github.com>
2023-09-27 17:04:47 -04:00
jasquat 08098dd54e set an authenticated attribute on g to check against instead of token w/ burnettk 2023-09-27 16:59:16 -04:00
jasquat ff558388ec updated files table on pm show page to force single line and added migration to increase column size of process-model identifier in message triggerable table w/ burnettk (#515)
Co-authored-by: jasquat <jasquat@users.noreply.github.com>
2023-09-27 09:00:09 -07:00
jasquat 2619af1a67 Feature/dynamically set configs (#512)
* added method to get configs from env so we can manipulate the values in a consistent way w/ burnettk

* grouped configs in default py to make it a little easier to understand

---------

Co-authored-by: jasquat <jasquat@users.noreply.github.com>
2023-09-26 15:03:13 -04:00
burnettk e9bd81d1cb fix typo 2023-09-25 15:50:27 -04:00
jasquat 4be95df48c do not pass mocked data on unit tests to multi instance task types w/ burnettk 2023-09-25 15:48:06 -04:00
jasquat 3e0c503119 support dmn files in process model unit test w/ burnettk 2023-09-25 12:19:35 -04:00
burnettk 5958a57d25 actually LGPL 2023-09-25 11:13:46 -04:00
jasquat 41292b7c6d make sure we load the cache_generation table w/ burnettk 2023-09-25 10:55:28 -04:00
jasquat 633b5d7ecb use the long revision when comparing git revs for webhook w/ burnettk 2023-09-25 10:37:08 -04:00
burnettk 6463a7461f fix admin path and rollback on exception. w/ jlantz and elizabeth 2023-09-22 16:51:36 -04:00
jasquat ca3563931b fix permissions for getting extension process models w/ burnettk 2023-09-22 13:57:03 -04:00
jasquat 8bf38aaa1c Feature/new reference cache (#511)
* added basic model for new reference cache w/ burnettk

* switched out SpecReferenceCache for ReferenceCacheModel w/ burnettk jbirddog

* pyl w/ burnettk jbirddog

* save items to the db using the new cache with generation table w/ burnettk

* bulk save for performance

* tests are passing

* actually use the new generation table - we still need a test to ensure we are using it

* added test to ensure using new cache generation

* corrected reference interface on frontend w/ burnettk

* do not perform git pull in webhook if the revision is the same as the current w/ burnettk jbirddog

---------

Co-authored-by: jasquat <jasquat@users.noreply.github.com>
Co-authored-by: burnettk <burnettk@users.noreply.github.com>
2023-09-22 11:28:59 -04:00
jasquat b035191964 updated cryptography for snyk w/ burnettk 2023-09-22 10:36:06 -04:00
jasquat 1826cc4b6c Improvement/flexible task iteration (#507)
* updated to use new spiff branch and fixed broken tests w/ burnettk essweine

* updated spiffworkflow with new main build w/ burnettk essweine

* initial updates to new spiff branch w/ burnettk essweine

* more updates for new spiff w/ burnettk essweine

* fixed some linting issues w/ burnettk essweine

* fixed some failing tests w/ burnettk

* updated spiffworkflow for cancel fix w/ burnettk

* Improvement/flexible task iteration 2 (#504)

* wip

* consistent failure, mostly

* removing test code and tests

* removing unused test bpmn files

* removing unused test bpmn files

* minor cleanup of commented code

* spaces and unused imports

* go back to spiff on main

---------

Co-authored-by: burnettk <burnettk@users.noreply.github.com>

* lint

* updated test to reflect storing predicted tasks w/ burnettk

* add some orders so postgres does not do whatever it wants, and clear log

* fix lint

---------

Co-authored-by: jasquat <jasquat@users.noreply.github.com>
Co-authored-by: danfunk <daniel.h.funk@gmail.com>
Co-authored-by: burnettk <burnettk@users.noreply.github.com>
2023-09-21 14:47:18 -07:00
jasquat ff9d34fe83 updated milestone table query to include logic similar to caching last_milestone on the pi w/ burnettk (#505)
Co-authored-by: jasquat <jasquat@users.noreply.github.com>
2023-09-20 13:25:42 -04:00
jasquat 1b18cb88c1 check for user attr on g before attempting to use it 2023-09-19 07:36:10 -04:00
Kevin Burnett ed4eb4cd28 store predicted tasks in the database and store task cancelled events w/ burnettk (#500)
Co-authored-by: jasquat <jasquat@users.noreply.github.com>
2023-09-18 13:24:23 -07:00
jbirddog 804555bc4d File based generic json data store (#490) 2023-09-18 15:55:24 -04:00
Dan Funk 691611c695 Bug/various bugs (#494)
* Don't bug out in older instances that don't have runtime_info

* Add zoom buttons to React Diagram Editor

* This removes some potential features for on-boarding, that we are not currently using, but fixes the issue with 100's of onboarding processes piling up and sitting around.  Hoepfully we can wrap this into the extensions mechanism so everything works the same way eventually.

* Improved error messages on form builder
Don't try to auto-save the file before it is fully loaded.
Example data was not getting saved on update.

* Found several errors with new zooming buttons in DMN, so cleaning that up.

Recent changes prevented creating a new dmn table.

* Errors were not being displyed for the Editor Routes

* Going to disable handling user tasks in the onboarding controller for now.
2023-09-18 11:22:29 -04:00
jasquat d747af2d7a fixed process instance event table on the show page to work a little more intuitively w/ burnettk 2023-09-15 12:29:07 -04:00
jasquat f6d3bc8e73 Feature/api keys (#489)
* some initial work to support user api keys w/ burnettk

* some updates to store and use service accounts - migrations do not work in sqlite atm

* pyl

* minor tweak to the migration

* refactored user route

* this is working if returning user that created the service account

* put back migrations from main w/ burnettk

* tests pass with new migration w/ burnettk

* do not remove service account permissions on refresh_permissions w/ burnettk

* added new component to make some api calls to populate child components and routes w/ burnettk

* allow displaying extensions in configuration tab w/ burnettk

* removed service accounts controller in favor of extension and encrypt the api keys

* add fuzz to username to make deleting and recreating service accounts easier

* allow specifying the process id to use when running an extension w/ burnettk

* allow extensions to navigate to each other on form submit w/ burnettk

* removed commented out debug code

---------

Co-authored-by: jasquat <jasquat@users.noreply.github.com>
2023-09-15 10:10:57 -04:00
jbirddog 45f85a7f77 Table based generic json data store (#486) 2023-09-13 11:57:26 -04:00
Dan Funk b432f22fe0 Bug/predicted tasks dropped (#484)
* when removing predicted tasks for data storage, don't alter the in-memory version of the workflow.

* run_pyl

* Bump gitPython for security vulnerability.
2023-09-12 16:15:43 -04:00
jasquat 9312b8cf91 pass a class to the modal to put it back (#483)
* pass a class to the modal to put it back

* update gitpython for safety

---------

Co-authored-by: jasquat <jasquat@users.noreply.github.com>
2023-09-12 15:39:32 -04:00
jasquat ba97518207 only return guest_confirmation if it is a guest task 2023-09-12 11:11:05 -04:00
burnettk f15b8c5c08 add /debug/url-info path 2023-09-11 20:17:10 -04:00
burnettk d935def567 debugging function 2023-09-11 16:56:27 -04:00
burnettk e4d50f850e update spiff to get a couple bug fixes 2023-09-11 10:32:34 -04:00
jasquat a72ed7ffb5 disable element units by default and added test that was failing due to it w/ burnettk (#480)
Co-authored-by: jasquat <jasquat@users.noreply.github.com>
2023-09-08 13:47:31 -07:00
jasquat 42b44cef07 feature/user-guest-sign-in-fixes (#479)
* do not change guest user permissions when running refresh_permissions w/ burnettk

* linting

---------

Co-authored-by: jasquat <jasquat@users.noreply.github.com>
2023-09-08 13:32:37 -07:00
jasquat 912886f3e6 Improvement/task and spec relations (#477)
* updated to use new spiff branch and fixed broken tests w/ burnettk essweine

* updated spiffworkflow with new main build w/ burnettk essweine

* work around dictionary changed size during iteration error in parallel tests

---------

Co-authored-by: jasquat <jasquat@users.noreply.github.com>
Co-authored-by: burnettk <burnettk@users.noreply.github.com>
2023-09-08 12:54:43 -04:00
burnettk 4e47eadfea add SPIFFWORKFLOW_BACKEND_OPEN_ID_IS_AUTHORITY_FOR_USER_GROUPS and default to false 2023-09-08 12:54:32 -04:00
Dan Funk 948c633b2c Feature/better form nav (#474)
* Detect focus loss/return in the Diagram Editor - so that we can reload the process model and assure that we know about any changed files.

Allow for looking specifically for json SCHEMA files (those files that are named -schema.json or .schema.json (as is the convention).  Only show these in the dropdown for the form.

* * Run descriptions through the markdown processor so you can use bold/italic etc... in your description fields within a form.
* Move ExampleTable into it's own view component to keep the size of the form builder sane.
* Assure markdown within jrsf forms have reasonable styling that follows the containers style, rather than setting to some other default.
* Add a couple of example forms so people can get a sense of what is possible.
* Connect up the new Json Schema Editor Component to the process model edit diagram.
* Just select the schema file - not the ui file when selecting the form for a component - we may revert this to just a text box.
*

* Cleanup the formatting of arrays, so that they are sligtly intended, do not contain an awkward unneeded heading, and have some tighter css.

* Connect the form editing in the modal back to the BPMN-JS editor

Auto-Save edits in the Form Builder

Lots and lots of tweaks to the react form builder ui

* various fixes.

* test for prepare_schema

* minor fix for run_pyl

* css cleanup
less issues with reloading and jumping about when in the editor
Don't sort keys when returning the json.
More intelligent "ready"

* bump package to point to branch of bpmn-js-spiffworkflow so others can check it out.

* Assure that json keys are not sorted during serialization by default.
Allow adding example fields to an existing schema

Create a set of examples.

* db complaints in migration change.

* removed items from interface file that had been moved elsewhere w/ burnettk

* rename prepare_form to prepare-form

* rename prepare_form to prepare-form

* Remove commented out code.

* typo

* add a comment about the empty column

* move back to the main branch

---------

Co-authored-by: jasquat <jasquat@users.noreply.github.com>
Co-authored-by: burnettk <burnettk@users.noreply.github.com>
2023-09-08 11:07:43 -04:00
jasquat 161a0bceb6 do not run the background scheduler in ci for cypress tests 2023-09-08 10:03:36 -04:00
jasquat a7556dc958 remove the publish button if backend is not configured to publish w/ burnettk (#473)
Co-authored-by: jasquat <jasquat@users.noreply.github.com>
2023-09-07 16:03:47 -04:00
jasquat 3ba3b5448a runtime_info can be None so check for it w/ burnettk 2023-09-07 15:11:06 -04:00
jasquat 4cf33b62fc Feature/user preference extension (#472)
* added ability to display navigation items in user profile toggle

* updated naming of some extension elements

* added user property table and updates for extensions to use it w/ burnettk

* moved extension ui interfaces to own file and linting issues

* some updates to render markdown results on load w/ burnettk

* added migration merge file w/ burnettk

* moved code to fix linting issues w/ burnettk

* resolved db migration conflict

* removed unnecessary migrations and added just one w/ burnettk

---------

Co-authored-by: jasquat <jasquat@users.noreply.github.com>
2023-09-07 11:22:40 -07:00
Elizabeth Esswein 75e6007ef3 multiinstance ui (#469)
* multiinstance ui

* fix black

* added migration merge file

---------

Co-authored-by: burnettk <burnettk@users.noreply.github.com>
Co-authored-by: jasquat <jasquat@users.noreply.github.com>
2023-09-07 14:00:09 -04:00
jasquat a774589748 updated with tasks waiting for me query to include tasks manually assigned to the user w/ burnettk (#467)
Co-authored-by: jasquat <jasquat@users.noreply.github.com>
2023-09-07 13:41:41 -04:00
jbirddog f9e4cf577a Allow cycle timers to cycle when a human task is in play (#465)
* Refactor to prep for manual task handling

* Fix for manual tasks that complete workflows with cycle timer events

* Getting bin_pyl to pass
2023-09-07 13:40:38 -04:00
jasquat 6944f87c8a Feature/view completed user forms (#464)
* added modal and table to view completed forms w/ burnettk

* avoid making api calls for tab components on instance show page w/ burnettk

* show id when no task name and fix cognitive complexity warning in an embarrassing way

* removed some commented out code

* made human task attributes optional and noted them in frontend interfaces w/ burnettk

* removed draft completed tasks component w/ burnettk

---------

Co-authored-by: jasquat <jasquat@users.noreply.github.com>
Co-authored-by: burnettk <burnettk@users.noreply.github.com>
2023-09-07 12:04:10 -04:00
jasquat f2cddc1e3b Feature/avoid repredicting tasks (#460)
* removed commented out smart task prediction code from after_engine_steps and removed code to predict tasks again from within backend

* build images for this branch

* removed commented out debug code

---------

Co-authored-by: jasquat <jasquat@users.noreply.github.com>
2023-09-07 11:50:38 -04:00
jasquat 4f20f97317 show an error message and render the remaining page if a bpmn diagram cannot load w/ burnettk (#458)
Co-authored-by: jasquat <jasquat@users.noreply.github.com>
2023-09-07 11:20:58 -04:00
jasquat c056b89006 Feature/group mapping from keycloak (#457)
* 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>
2023-09-07 11:17:40 -04:00
jasquat bc4e475809 when we replace variables in enum list in jsonschema ensure it is actually a non-empty list w/ burnettk (#455)
Co-authored-by: jasquat <jasquat@users.noreply.github.com>
2023-09-07 11:13:27 -04:00
jasquat 9ea90a94bf updated the support user permissions to disallow authentications as well and updated webui to nav to auth page if auth is available but secrets are not w/ burnettk (#454)
Co-authored-by: jasquat <jasquat@users.noreply.github.com>
2023-09-07 10:33:56 -04:00
jbirddog 9925105a5e Support lazy loading call activities with human tasks (#450)
* Switch to local wheel

* Fix to load the call activity by spec

* Added log

* Logging

* WIP - getting the right tasks it seems from the db, need to get into the workflow

* Clean up, revert things

* Working thanks dan

* Getting bin_pyl to pass

* run_pyl.

* Re-poet install

* Revert file

* Remove logging lines

* Getting bin_pyl to pass

* Clean up, revert things

* Bump wheel

* Use version off pypi

---------

Co-authored-by: danfunk <daniel.h.funk@gmail.com>
2023-09-07 10:33:38 -04:00
jasquat ffe2a18ce9 Feature/guest form submission (#447)
* WIP: some initial code to allow anonymous users get a task w/ burnettk

* added scripts to get the url for a given human task w/ burnettk

* users can complete a task anonymously

* pyl

* fixed up login flow and added submission confirmation message for guest tasks w/ burnettk

* added only_guest_task_completion to guest token so we can remove items from the ui with it

* renamed anonymous to guest

* force logout guest users when verifying the token if certain criteria are met and do not do it random controller methods

* also allow saving draft data to use guest users w/ burnettk

* updated bpmn-js-spiffworkflow and added test to test allow guest

* pyl

* fix typo and remove bad file

* remove allow_guest column and moved allow guest check to TaskModel

* removed unnecessary comment

* missing import

* do not allow guest users to see completed tasks and remove save and close button for guest users w/ burnettk

---------

Co-authored-by: jasquat <jasquat@users.noreply.github.com>
Co-authored-by: burnettk <burnettk@users.noreply.github.com>
2023-09-07 10:33:02 -04:00
Dan Funk 80ad92a0c3 Threads (#439)
* WIP - threading with dan

* WIP - cleanup with dan

* Fixing a minor bug and adding a comment and taking the win, even though it was all actually done by @jbirddog with help from @essweine

* adding a couple of simple tests

* * Threaded execution of multiple ready engine tasks is now the default behavior for all execution strategies by default (the skip-one strategry does not do it)
* Assure that tasks in the db match those in the spiffworkflow bpmn on save (remove all predicted and pruned tasks)

with @jbirddog, @jlantz, @burnettk

* run_pyl

---------

Co-authored-by: Jon Herron <jon.herron@yahoo.com>
Co-authored-by: jasquat <jasquat@users.noreply.github.com>
2023-09-07 10:12:56 -04:00
jasquat 9bb9ce47f8 Feature/business end states (#333)
* 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>
2023-09-07 10:10:44 -04:00
burnettk f218805a2d try to make invalid tokens easier to debug 2023-09-02 19:33:09 -04:00
burnettk 0667436c15 cleanup and log SPIFFWORKFLOW_BACKEND_BPMN_SPEC_ABSOLUTE_DIR 2023-08-31 21:01:11 -04:00
burnettk b60b620f16 kill some duplication and just go ahead and get a process model repo if there is none 2023-08-31 20:52:09 -04:00
jasquat d41b08e810 feature/fix-run-scheduler-config (#456)
* updated scheduler config name to make sense and updated docker-compose file to use the local_docker env

* added sample command to boot server in docker

* removed terraform configs since they are no longer used

* fixed snyk issue

---------

Co-authored-by: jasquat <jasquat@users.noreply.github.com>
2023-08-31 16:09:26 -04:00
Dan Funk 8c53432ee6 Feature/bug fixes for quick merge on mi ca (#462)
* upgrade to correct multi-instance error bug in BPMN-JS-Spiffworkflow

* update the git service to re-build cache after doing a git pull when a web-hook is called.

* update to SpiffWorkflow - which includes 'replace root with spec start'

* updating the lock file.
2023-08-31 21:10:03 +05:30
jasquat 6094a63084 updated restrictedpython for security 2023-08-31 11:03:17 -04:00
burnettk c063a4f84c use a slightly safer time in migration script. w/ jlantz 2023-08-29 12:22:43 -04:00
burnettk 8ea9b61ead improve error messaging for process model repo 2023-08-29 07:46:50 -04:00
Kevin Burnett ad7a4cd1e9 handle when parent is none when getting last state change (#453)
Co-authored-by: burnettk <burnettk@users.noreply.github.com>
2023-08-25 17:53:33 +05:30
jasquat 8160d174bc feature/fix-task-last-state-change (#452)
* added a migration function to fix tasks with null last state changes

* pyl

---------

Co-authored-by: jasquat <jasquat@users.noreply.github.com>
2023-08-25 10:10:50 +05:30
jasquat d58391e21d added permissions for authentication endpoints 2023-08-24 08:37:01 -04:00
jasquat 487ce87699 fixed run server locally so it defaults to sample 2023-08-23 12:27:35 -04:00
jasquat de67f1ba72 update SpiffWorkflow to remove Root task specs and removed Root specific code from backend w/ burnettk (#444)
Co-authored-by: jasquat <jasquat@users.noreply.github.com>
2023-08-22 08:55:09 +05:30
jasquat 29620cb17f Feature/add support permissions (#445)
* added support perm macro which removes secrets perms w/ burnettk

* support perm macro inherits from basic now and updated docs on permissions to be more accurate w/ burnettk

---------

Co-authored-by: jasquat <jasquat@users.noreply.github.com>
2023-08-22 08:53:26 +05:30
jasquat dc2d163785 added db migration that merges branching heads together 2023-08-21 13:24:50 -04:00
Kevin Burnett 68ac5868b7 bump spiff to change task internal data, add new method and new exceptions (#441)
* bump spiff to change task internal data, add new method and new exceptions

* bump bpmn-js-spiffworkflow for MI updates

---------

Co-authored-by: burnettk <burnettk@users.noreply.github.com>
Co-authored-by: jasquat <jasquat@users.noreply.github.com>
2023-08-21 22:23:02 +05:30
jasquat dbabdf170b fixed is_empty metadata filter and added test to ensure they all work w/ burnettk (#437)
Co-authored-by: jasquat <jasquat@users.noreply.github.com>
2023-08-21 22:00:01 +05:30
jasquat 17309fb7fd Feature/allow markdown in extension results (#435)
* allow markdown in extensions results w/ burnettk

* fixed tests

* moved our rjsf form to component so extensions can also use it w/ burnettk

* added ability to create extensions that can download files w/ burnettk

* added test for extensions-get-data endpoint w/ burnettk

* make user optional when getting process instance reports

* added extensions-get-data to elevated perm macro and raise an error if user is not specified when needed when running a report

* fixed typeguard test

* push extensions branch

---------

Co-authored-by: jasquat <jasquat@users.noreply.github.com>
Co-authored-by: burnettk <burnettk@users.noreply.github.com>
2023-08-21 21:59:25 +05:30
jbirddog 2b363f4783 Oauth admin (#434)
* Adding dependencies

* Disconnect from /v1/auths for auth list. hardcoded for now.

* Revert changes

* WIP

* Getting hardcoded v2 auths into the frontend

* Better url for v2 oauth

* Pass the auth token from the frontend, don't verify token to start the auth process

* Manually verify the token from the querystring

* WIP

* WIP

* WIP, refactor SPIFF_SECRET handling, move dependencies

* Construct remote_app

* WIP

* WIP

* WIP

* WIP

* Ugly but getting the grant screen

* WIP

* WIP

* Github oauth ok

* Verify token, save access token

* Let secret name work with regex

* Getting bin_pyl to pass

* New component

* Load up the current config in an editor

* Getting bin_pyl to pass

* End point to update auth config

* Linting

* Adding configuration model

* Adding configuration model

* Prep to read config from db

* Read config from the db

* Save/reload poor man's styling

* Getting bin_pyl to pass

* Getting bin_pyl to pass

* Getting bin_pyl to pass

* Better handling of invalid json

* Getting bin_pyl to pass
2023-08-21 21:58:55 +05:30
jasquat 198f898f14 created migration to incrase the human task file names to 255 in the db w/ burnettk (#429)
Co-authored-by: jasquat <jasquat@users.noreply.github.com>
2023-08-21 21:58:10 +05:30
jasquat 8ba5616ea8 Feature/restrict call activity processes (#426)
* ensure users have access to run a process model in order to use it as a call activity w/ burnettk

* bad some cache dir w/ burnettk

* pyl

---------

Co-authored-by: jasquat <jasquat@users.noreply.github.com>
2023-08-21 21:57:29 +05:30
jasquat ed9bdd42da Feature/event payload migration fix (#443)
* also update exclusive gateways when migrating to event payload spiffworkflow

* pyl w/ burnettk

* build docker image for this branch w/ burnettk

* check to make sure configs are not None w/ burnettk

* do not migrate tasks related to exclusive gateways w/ burnettk

---------

Co-authored-by: jasquat <jasquat@users.noreply.github.com>
2023-08-17 22:13:29 +05:30
Dan Funk a0202c6a5b Feature/onboarding ephemeral (#442)
* The onboarding controller should not save the process model to the database.  It creates a pile of pointless noise.  So just cleaning that up.

* run_pyl

* assure we can handle user tasks if they happen during on-boarding, while keeping the list of processes clean.
Lots of weird stuff getting run_pyl going.

* pyl

---------

Co-authored-by: burnettk <burnettk@users.noreply.github.com>
2023-08-16 12:11:38 -04:00
jasquat 314e5b660d display correct status value when erroring from do_waiting w/ burnettk 2023-08-15 14:56:55 -04:00
jasquat f8038e5c3e add the process instance id to the error message when using system notifications on errors w/ burnettk 2023-08-15 10:29:03 -04:00
jasquat 634f35d385 remove debug file w/ burnettk 2023-08-11 14:18:29 -04:00
jasquat 66e4c2718b removed debug print statement w/ burnettk 2023-08-11 14:17:42 -04:00
Kevin Burnett 9313a9f73a Feature/event payloads part 2 (#401)
* Revert "Revert "Feature/event payloads (#393)""

This reverts commit 95fafb7af1.

* Revert "Revert "poet not available in container""

This reverts commit 140220498c.

* Revert "Revert "Run event payloads data migration from background processor (#399)""

This reverts commit 2afced3a51.

* Revert "Revert "using new spiff api to get info about events. w/ elizabeth""

This reverts commit af857fee22.

* Revert "Revert "fix tests for waiting_event_can_be_skipped""

This reverts commit 886e6bd42a.

* push image for preview env

* default scripts to localhost w/ burnettk

* use the bugfix/update-split-task-inputs spiffworkflow branch w/ burnettk

* removed debug json files

* use main for spiffworkflow

* do not attempt to highlight non-diagram boundary items w/ burnettk

* updated SpiffWorkflow to fix multiple signal event issue w/ burnettk

---------

Co-authored-by: burnettk <burnettk@users.noreply.github.com>
Co-authored-by: jasquat <jasquat@users.noreply.github.com>
2023-08-10 18:24:49 +05:30
jasquat e62892f574 removed coverage.xml file and ignore it in git in the future 2023-08-04 14:05:32 -04:00
jasquat 48893cae13 fixed linting issues w/ burnettk 2023-08-03 15:38:02 -04:00
Dan Funk b446aad184 Minor tweaks t othe onboarding page. (#430)
* * Display the instructions_for_user directly on the home page (no redirects to alternate pages)
* Moved the onboarding view above the tabs on the home page.
* Added a "times_executed_by_user" script - not sure if we should keep it, but maybe handy.
* Assure that the display_name for the user is returned consistently (it was not being returned by the get_current_user function).

With @jbirddog

* remove pointless comment.
2023-08-03 15:08:25 -04:00
jasquat 3f6fb4d9f5 Feature/pin spiff in ci (#428)
* 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>
2023-08-03 11:49:30 -04:00
jasquat 9c1eedee91 Merge branch 'main' of github.com:sartography/spiff-arena 2023-08-02 11:05:59 -04:00
jasquat 9fa6182bfb updated python packages for ci w/ burnettk 2023-08-02 11:05:55 -04:00
burnettk f971a298f1 bump cryptography 2023-08-02 10:34:21 -04:00
jasquat 2198c0444f return an empty list if the extensions api is not enabled 2023-08-02 09:00:46 -04:00
jasquat 09794e9302 column names for tables in frontend should only have the first letter… (#425)
* column names for tables in frontend should only have the first letter of the first word capitalized

* forgot a couple field names w/ burnettk

---------

Co-authored-by: jasquat <jasquat@users.noreply.github.com>
2023-08-02 14:06:19 +05:30
jasquat 1c84e5bb47 Feature/run error handler from dequeued (#424)
* run the error handler from the dequeued method instead of marking all failed process instances as error w/ burnettk

* do not commit some_cache_dir w/ burnettk

---------

Co-authored-by: jasquat <jasquat@users.noreply.github.com>
2023-08-02 14:05:11 +05:30
jasquat 796dc9dbec Feature/extensions api (#423)
* 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>
2023-08-02 14:02:53 +05:30
jasquat 8427f9d2fb Feature/metadata filtering (#418)
* added ability to filter metadata by is and contains w/ burnettk

* added the empty options for metadata filtering

* remove the filter when removing the corresponding column on the frontend

---------

Co-authored-by: jasquat <jasquat@users.noreply.github.com>
Co-authored-by: burnettk <burnettk@users.noreply.github.com>
2023-08-02 14:01:38 +05:30
jbirddog 7ccb0aec62 Don't schedule a cycle with 0 second duration (#417)
* Don't schedule a cycle with 0 second duration

* PR feedback

* Getting bin_pyl to pass
2023-08-02 14:00:00 +05:30
jasquat 299f4a6823 return the process instance when interstitial process is complete and… (#421)
* return the process instance when interstitial process is complete and favor redirecting to it on the frontend

* upgrade certifi for snyk check

---------

Co-authored-by: jasquat <jasquat@users.noreply.github.com>
2023-07-28 20:34:39 +05:30
jasquat 865c89e80f display the potential task owners or group in the interstitial info message w/ burnettk (#415)
Co-authored-by: jasquat <jasquat@users.noreply.github.com>
2023-07-27 22:30:32 +05:30
jasquat 51642ccd96 do not display instructions for end events at the top level of the process w/ burnettk (#414)
Co-authored-by: jasquat <jasquat@users.noreply.github.com>
2023-07-27 21:13:53 +05:30
jasquat cdaf2ea6c5 added a loading icon on task show page to avoid blank page when loadi… (#411)
* added a loading icon on task show page to avoid blank page when loading large datasets w/ burnettk

* fixed broken tests w/ burnettk

---------

Co-authored-by: jasquat <jasquat@users.noreply.github.com>
2023-07-27 17:00:16 +05:30
jbirddog 43beb916a3 Basic scaffolding for onboarding (#400)
* Wedge between InProgressInstances for default view customization

* Rename to OnboardingView, stubbed out api in the backend

* Flip between InProgressInstances and MyTasks via the backend

* WIP

* WIP

* Basic human task handling

* FE lint

* Getting ./bin/pyl to pass

* Suppress any exceptions during onboarding request

* Script to skip onboarding if already started

* Getting ./bin/pyl to pass

* Better default location

* PR feedback

* PR feedback

* PR feedback - add new endpoint to basic permissions

* Fix basic permissions test

* Add integration tests

* Getting bin_pyl to pass
2023-07-27 11:54:30 +05:30
jasquat 148bf386e3 attempt to save again if deadlock given for draft data save w/ burnettk (#410)
Co-authored-by: jasquat <jasquat@users.noreply.github.com>
2023-07-26 20:38:17 +05:30
jasquat 84369a1b20 return the process instance early from the interstitial if it is susp… (#407)
* return the process instance early from the interstitial if it is suspended or terminated

* added a test to make sure the interstitial page returns the process instance if suspended or termianted w/ burnettk

* randomize tests and cleaned up the pyproject file a little bit w/ burnettk

---------

Co-authored-by: jasquat <jasquat@users.noreply.github.com>
2023-07-25 22:57:53 +05:30
Kevin Burnett 77f922f675 use a less wrong scheam for save-draft (#402)
Co-authored-by: burnettk <burnettk@users.noreply.github.com>
2023-07-25 22:54:48 +05:30
jasquat a4ceb982ea do not raise if the app cannot load an env specific config file w/ burnettk 2023-07-25 10:16:37 -04:00
burnettk 95fafb7af1 Revert "Feature/event payloads (#393)"
This reverts commit f1c5f1ea21.
2023-07-19 11:44:06 -04:00
burnettk 140220498c Revert "poet not available in container"
This reverts commit d43514b388.
2023-07-19 11:43:51 -04:00
burnettk 2afced3a51 Revert "Run event payloads data migration from background processor (#399)"
This reverts commit ab5926aab1.
2023-07-19 11:43:42 -04:00
burnettk af857fee22 Revert "using new spiff api to get info about events. w/ elizabeth"
This reverts commit 440a4850f1.
2023-07-19 11:43:27 -04:00
burnettk 886e6bd42a Revert "fix tests for waiting_event_can_be_skipped"
This reverts commit 2900a9a5f8.
2023-07-19 11:43:17 -04:00
burnettk 4638adbaef update cryptography 2023-07-18 17:12:25 -04:00
burnettk 2900a9a5f8 fix tests for waiting_event_can_be_skipped 2023-07-18 17:07:14 -04:00
burnettk 440a4850f1 using new spiff api to get info about events. w/ elizabeth 2023-07-18 14:35:56 -04:00
Kevin Burnett ab5926aab1 Run event payloads data migration from background processor (#399)
* move data migration code out of bin so it can be reused in background processor

* sleep for 5 minutes and update bpmn js to pull in some fixes from elizabeth

* update spiff to pull in parser update to make it act like before

---------

Co-authored-by: burnettk <burnettk@users.noreply.github.com>
2023-07-18 10:50:07 -07:00
burnettk d43514b388 poet not available in container 2023-07-18 10:09:35 -04:00
jasquat f1c5f1ea21 Feature/event payloads (#393)
* some initial changes for event payload changes in spiff

* fixed tests for new spiffworkflow with event payloads w/ burnettk essweine

* pyl w/ burnettk essweine

* updated SpiffWorkflow from branch

* switched SpiffWorkflow back to main w/ burnettk

* added base for migration script to upgrade db w/ burnettk essweine

* some updates to script w/ burnettk

* script has been written, needs to be tested

* pyl w/ burnettk

* updates to migration script so it can work w/ burnettk

* pyl w/ burnettk

* added comment to data migration file

* run the version 1 3 migration on app boot w/ burnettk

---------

Co-authored-by: jasquat <jasquat@users.noreply.github.com>
2023-07-18 06:56:24 -07:00
jasquat c2f9da9773 Revert "added uniqueness constraint to human task so it cannot have multiple human tasks for a process instance and task id w/ burnettk (#396)"
This reverts commit 9b199cad71.
2023-07-17 13:42:45 -04:00
jasquat 9b199cad71 added uniqueness constraint to human task so it cannot have multiple human tasks for a process instance and task id w/ burnettk (#396)
Co-authored-by: jasquat <jasquat@users.noreply.github.com>
2023-07-17 22:14:32 +05:30
burnettk 29678bcd88 make duration in seconds an int w/ jasquat 2023-07-14 16:15:49 -04:00
burnettk 00ed1b4e6a grab total seconds, not just the seconds that have been explicitly assigned to the timedelta. w/ jason and elizabeth w/ jasquat 2023-07-14 15:48:18 -04:00
Dan Funk 73aed82f24 Feature/view data stores (#388)
* * Added /data-stores/ endpoint accessible by privileged users that will return a list of all data stores known to the system.
* Added a /data-stores/[type]/[name] endpoint that will return a list of all data stored within a data-store.
* Granted users with "elevated permissions" the right to access the data store.
* Added a "Data Store" link to the navigation bar beside messages.
* And a few useful tests.
* Still a little front end work to do to get it all looking pretty.

* Added a Data Store List component that, well, displays, you guessed it! A list of data stores and their contents.

Also, Carbon's paginator doesn't care how many pages you have, it's going to build the mother of all drop down lists - you got 60,000,000 records? Showing 5 at a time? It's going to be a dropdown list that contains all numbers between 1 and 12,000,000, because that makes sense! So, yea, not doing that, cutting it off at 1000 pages - you got more pages than that, the paginator can't take you there.  As you can show 100 items per page, that means you can access 100,000 items instantly.

* renaming data_store_items_list => data_store_item_list
2023-07-13 20:54:10 +05:30
jasquat a7d0fbb38c Feature/sanitize jinja template (#389)
* added a helpers class that can be used in jinja templates

* added jinja helpers to script task imports

* added some comments for jinja helper usage

* added tests for jinja helpers

* pyl

* pass jinja helper mappings in so helpers can be used consistently

---------

Co-authored-by: jasquat <jasquat@users.noreply.github.com>
2023-07-13 20:35:49 +05:30
jasquat cde64400ea added error handling to insterstitial page when running engine steps (#390)
Co-authored-by: jasquat <jasquat@users.noreply.github.com>
2023-07-13 19:54:09 +05:30
Elizabeth Esswein d5baefd793 update root of reset subprocess (#385)
* update root of reset subprocess

* pyl w/ burnettk

---------

Co-authored-by: jasquat <jasquat@users.noreply.github.com>
2023-07-12 19:51:14 +05:30
jasquat 285294967d Feature/error to suspended state (#384)
* fixed suspended message w/ burnettk

* allow manually executing errored tasks when suspended w/ burnettk

---------

Co-authored-by: jasquat <jasquat@users.noreply.github.com>
2023-07-12 19:50:24 +05:30
jbirddog 1134e39dd1 Bump SpiffWorkflow to fix call activity references (#383) 2023-07-12 19:48:08 +05:30
jasquat 4059f63fb6 catch and handle exceptions when attempting to complete human tasks (#380)
* catch and handle exceptions when attempting to complete human tasks w/ burnettk

* fix lint

---------

Co-authored-by: jasquat <jasquat@users.noreply.github.com>
Co-authored-by: burnettk <burnettk@users.noreply.github.com>
2023-07-12 19:46:05 +05:30
jasquat c2706c5bde Feature/unlock stale locks (#360)
* set locked_at_in_seconds so we can find stale locks w/ burnettk

* added background job to cleanup old locks w/ burnettk

---------

Co-authored-by: jasquat <jasquat@users.noreply.github.com>
2023-07-12 19:45:27 +05:30
jasquat c936c02db0 use mysqlclient instead of mysql-connect w/ burnettk (#358)
* use mysqlclient instead of mysql-connect w/ burnettk

* updated some comments w/ burnettk

* runs tests in parallel in run_pyl

---------

Co-authored-by: jasquat <jasquat@users.noreply.github.com>
Co-authored-by: burnettk <burnettk@users.noreply.github.com>
2023-07-12 19:44:49 +05:30
jasquat 841f3ccc8c Feature/task assignment (#352)
* added an api to assign a list of users to a task w/ burnettk

* use the modal submit and close buttons when saving task data on the instance show page w/ burnettk

* switch save and cancel buttons on secrets new page w/ burnettk

* add some icons, tho still missing event stuff

* finished adding imporoved icons and fixing up task modal w/ burnettk

* added some user search options to assig tasks to w/ burnettk

* cleaned up task details modal and added call to backend to add potential users w/ burnettk

* fixed broken tests w/ burnettk

* removed some merge comments w/ burnettk

* process instance id is an int not a str w/ burnettk

---------

Co-authored-by: jasquat <jasquat@users.noreply.github.com>
Co-authored-by: burnettk <burnettk@users.noreply.github.com>
2023-07-12 19:44:01 +05:30
burnettk b7aa82bd08 fix security issue 2023-07-11 15:57:11 -04:00
Dan Funk 2b6d1c334f make sure we have a current processor so we don't return null (#379)
* 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

---------

Co-authored-by: jasquat <jasquat@users.noreply.github.com>
2023-07-07 15:49:52 -04:00
jasquat 5ffb3e5ae5 restrict to specific user if querying for instances with tasks waiting for me w/ burnettk (#372)
Co-authored-by: jasquat <jasquat@users.noreply.github.com>
2023-07-07 20:24:10 +05:30
jasquat 7c3c3af057 also check human task table for completed by user when determining if… (#370)
* also check human task table for completed by user when determining if an instance is associated with a user

* update pygments

* added some comments for clarity w/ burnettk

---------

Co-authored-by: jasquat <jasquat@users.noreply.github.com>
Co-authored-by: burnettk <burnettk@users.noreply.github.com>
2023-07-07 20:22:57 +05:30
jasquat 95068495ba Bug/process locking (#375)
* re-enable the move canvas and zoom modules, and try like hell to get the !@#$! display to zoom to fit consistently. As the from_xml does not trigger the "import.done" where the resize is happening.

* Clicking on timestamp should reload the page so we are observing the diagram at the correct point in time.

* Use a grid rather than a stack for the filter buttons, make them a consistent width, and force the close "x" button to the far right.

* Better handling the lots and lots of metadata fields in both the process instance list table, and in the metadata information on the process instance view page.

* Using DL rather than Carbon's grid, because my mind was starting to break.
* Process instance List Tables are set to optimize their max width for readability.

* assure the diagram editor is top aligned - otherwise when the proprties pannel get's super duper long (as with recent additions to multi-instance) we don't end up with weird spaces showing up above a center aligned canvas.

* wip

* updated interstitial to exit at the correct time if already locked

---------

Co-authored-by: danfunk <daniel.h.funk@gmail.com>
Co-authored-by: jasquat <jasquat@users.noreply.github.com>
2023-07-06 16:21:02 -04:00
jasquat 25eb8b30f1 give user access to pi for-me with all perm to process group w/ burnettk (#371)
Co-authored-by: jasquat <jasquat@users.noreply.github.com>
2023-07-05 14:47:15 -04:00
jasquat c8bdf3a109 print the status of the backgroun processor as well as the instance id (#368)
Co-authored-by: jasquat <jasquat@users.noreply.github.com>
2023-07-03 22:32:57 +05:30
jasquat e4bf22f5cf Feature/interstitial summary part 3 (#367)
* throw an error if backend gives a 500 from interstitial page w/ burnettk

* turn unexpected errors for the interstitial page into event stream responses to avoid error misdirection

* pyl

* raise the api_error from the original and make the render_data method private

* Feature/interstitial summary (#337)

* * Process instance logs and messages are now components rather than pages, and are included within tabs on the process instance page, along with the diagram.
* Removed the Zoom and Move modules when showing the readonly
  Diagram.  Assured this readonly view is resized to fit the space when possible.
* Checkbox Widget no longer displays a duplicate label.
* CSS Tweaks
  * All pages are limited to a max display width of 1440, with auto margins to center the main content on the page.
  * "Show" pages, like ProcessInstanceShow, TaskShow have the primary content limited to 1000, also with auto-margins.
  * Paragraphs, headings, blockquotes, list items are limited to a width of 640.
  * Reduced margin bottom on all breadcrumbs.
  * Slightly reduced the width and margin of tiles
  * ordered lists and unordered lists show numbers and bullets now.
* End user Instructions component can, optionally, auto-collapse, so that only a portion is displayed, along with a toggle.  This is how it is set up for the ProcessInstanceShow page.
* Greatly reduced the lag in the interstitial page when doing a re-direct.

* run_pyl

* kill console

* wait for permissionsLoaded too since we are using ability.can

* Previous change removed the top level Messages page - this re-adds it.

* I am always, ALWAYS shocked at how I can not wrap my head around when and where to use "useEffect".

This should cause the show/hide Instructions toggle to only show when useful.

* Minor cleanup on the process instance properties display.

* linting

---------

Co-authored-by: burnettk <burnettk@users.noreply.github.com>

* Fix a linting error.

* minor permissions related fixes for the new ui.

* Revert "Revert "Feature/better subworkflow management (#331)""

This reverts commit 48dcde8faf.

* do not execute tasks from the process instance show page w/ burnettk

* pyl w/ burnettk

* Very minor UI tweak to resolve a number of issues mentioned in SPIFF-316 Notion Ticket:

* Markdown links now open in a new window
* Tables on the home pages are now contained within Grids to better align them with the other content that is in a grid.
* Right aligned the "process instance list link" button to it is flush right with the table underneath
* Gave a little more breathing room the content on the info/metadata in the process instance view .

* updated docker image build action to contain the appropriate version info w/ burnettk

* properly resize to the available columns depending on s/m/l

---------

Co-authored-by: jasquat <jasquat@users.noreply.github.com>
Co-authored-by: Dan Funk <daniel.h.funk@gmail.com>
Co-authored-by: burnettk <burnettk@users.noreply.github.com>
2023-07-03 10:54:54 +05:30
jasquat 766a7e491e delete the draft task data when the task has been submitted (#364)
Co-authored-by: jasquat <jasquat@users.noreply.github.com>
2023-06-30 13:03:56 +05:30
jasquat e30488c95b added cascade delete to process instance so task draft data is deleted (#361)
Co-authored-by: jasquat <jasquat@users.noreply.github.com>
2023-06-30 12:57:53 +05:30
jasquat d810d9b01f fixed up the unit test permission yml to better match the way we do permissions (#363)
Co-authored-by: jasquat <jasquat@users.noreply.github.com>
2023-06-29 14:21:15 -04:00
jasquat f80c52ba38 update basic permission set for callers to allow for processes to be passed in (#362)
Co-authored-by: jasquat <jasquat@users.noreply.github.com>
2023-06-29 19:05:18 +05:30
jasquat 3a8cfd2642 disable form submit buttons when appropriate, lock process instance when sending events, and ensure return events match ones associated with desired guids w/ burnettk (#359)
Co-authored-by: jasquat <jasquat@users.noreply.github.com>
2023-06-29 09:36:47 +05:30
jasquat 15b2947107 Feature/draft data in join table (#355)
* added a new model to store task draft data in a join table

* cleaned up using the join table for draft table w/ burnettk

* created new single migration for changes w/ burnettk

* added hidden form which autosaves without validations w/ burnettk

* change close button name since it does indeed save on close now

---------

Co-authored-by: jasquat <jasquat@users.noreply.github.com>
2023-06-28 22:23:39 +05:30
jasquat d50fb61bb9 added a script task script to get a task data value based on key name… (#353)
* added a script task script to get a task data value based on key name w/ burnettk

* pyl

---------

Co-authored-by: jasquat <jasquat@users.noreply.github.com>
2023-06-27 10:04:04 -04:00
Kevin Burnett b13b716424 parallel tests with xdist (#335)
* parallel tests with xdist

* add pytest-xdist as dev dep

* put back spiff

* update messaging

* get more in line with main

---------

Co-authored-by: burnettk <burnettk@users.noreply.github.com>
Co-authored-by: jasquat <jasquat@users.noreply.github.com>
2023-06-26 22:37:41 +05:30
jasquat 51cfcfa2a5 Feature/autosave and null form data (#346)
* 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>
2023-06-26 18:26:56 +05:30
jasquat a9cc15177f updated usages of task_spec.spec for new spiff (#345)
* updated usages of task_spec.spec for new spiff

* removed unused attributes referring to call activities

---------

Co-authored-by: jasquat <jasquat@users.noreply.github.com>
2023-06-26 11:57:32 +05:30
burnettk 5d3f531ae2 commit some scripts that should not affect site functionality to main 2023-06-23 15:31:55 -04:00
jbirddog 2c99e17381 Show callers for non primary files (#334)
* WIP - working with multiple process ids, need to return a file's process ids

* Send bpmn process ids back with bpmn files

* Getting ./bin/pyl to pass

* Fix up unit test

* Wire up the front end

* Pre pr cleanup
2023-06-23 11:45:23 +05:30