Commit Graph

1652 Commits

Author SHA1 Message Date
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
jasquat 1f848f6992 updated spiffworkflow to fix terminate instance error (#344)
Co-authored-by: jasquat <jasquat@users.noreply.github.com>
2023-06-22 09:16:55 -04:00
jasquat c818e01aed pyl and do not error if ruff fix fails w/ burnettk 2023-06-20 14:23:58 -04:00
jasquat de01e0a3c9 handle not having a bpmn process better on task list w/ burnettk 2023-06-20 14:21:55 -04:00
Kevin Burnett 7de0d97303 Feature/better subworkflow management part 2 (#341)
* Revert "Revert "Feature/better subworkflow management (#331)""

This reverts commit 48dcde8faf.

* updated SpiffWorkflow to fix infinite loop in task trace w/ burnettk

---------

Co-authored-by: burnettk <burnettk@users.noreply.github.com>
Co-authored-by: jasquat <jasquat@users.noreply.github.com>
2023-06-20 10:37:49 -04:00
burnettk 48dcde8faf Revert "Feature/better subworkflow management (#331)"
This reverts commit 23af5cbbe4.
2023-06-15 15:10:48 -04:00
jasquat 23af5cbbe4 Feature/better subworkflow management (#331)
* 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

---------

Co-authored-by: jasquat <jasquat@users.noreply.github.com>
2023-06-15 10:31:42 -04:00
jasquat d15289ffc2 Feature/exclude user from group assignment (#332)
* check if user in group also has the task assigned to them when returning process instances w/ burnettk

* only check if user is assigned task if querying for active tasks w/ burnettk

---------

Co-authored-by: jasquat <jasquat@users.noreply.github.com>
2023-06-14 12:11:20 -04:00
burnettk 0848c64299 if lane owner name is an actual group, assume that we want tasks assigned to group 2023-06-13 21:59:17 -04:00
jbirddog d1581d94d4 Allow terminating not_started instances (#329)
* Support terminating instances that have not started

* Getting ./bin/pyl to pass
2023-06-12 13:41:08 -07:00
Kevin Burnett 41ccb7d863 remove backend docs dir (#325)
* remove backend docs dir

* remove reference to gone dir

---------

Co-authored-by: burnettk <burnettk@users.noreply.github.com>
2023-06-12 09:28:58 -07:00
jasquat a14072c0b6 added remaining path segment all perms to elevated options (#326)
Co-authored-by: jasquat <jasquat@users.noreply.github.com>
2023-06-12 08:05:33 -07:00
burnettk ac29b7d1b7 bump connector timeout from 30 to 45 2023-06-09 17:13:20 -04:00
jbirddog 5eff6d4ead Typeahead datastore (#321)
* Wiring up the datastore

* Writes into the data store

* Bulk save needs the timestamps

* Prep to do the local query

* Local typeahead working

* Pre pr cleanup

* ignore migrations dir in pre-commit for ruff w/ burnettk

* Getting ./bin/pyl to pass

---------

Co-authored-by: jasquat <jasquat@users.noreply.github.com>
2023-06-09 12:28:59 -07:00
jasquat 121b3c7cc9 some fixes and updates to help with running an acceptance test model (#323)
Co-authored-by: jasquat <jasquat@users.noreply.github.com>
2023-06-09 11:19:02 -07:00
danfunk b39c4e5c93 Merge branch 'main' of github.com:sartography/spiff-arena into main 2023-06-09 11:06:41 -04:00
danfunk ff03450f58 A quick fix for git_ser ice 2023-06-09 11:06:20 -04:00
jasquat 90a2a0ca0b look up human tasks with the guid instead of the task spec identifier w/ burnettk (#317)
Co-authored-by: jasquat <jasquat@users.noreply.github.com>
2023-06-08 14:26:48 -07:00
Kevin Burnett 35543cc362 add mccabe linter and auto fixes (#302)
Co-authored-by: burnettk <burnettk@users.noreply.github.com>
2023-06-08 14:26:33 -07:00