Commit Graph

1677 Commits

Author SHA1 Message Date
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