759 Commits

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

* 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
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
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
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
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
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
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
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
jasquat
b756e594ab removed useless def comments that started with and underscore as well 2023-06-01 13:52:07 -04:00
jasquat
43f23cd630 removed useless class and def comments from python code w/ burnettk 2023-05-31 16:28:06 -04:00
jasquat
aac0841617 allow not redirecting to home page at all in interstitial component and do not error out if next task does not exist 2023-05-31 08:54:33 -04:00
burnettk
397d99b5c0 enable flake8-bandit, cut off all http requests at 15 seconds to avoid hanging process, ignore xml lib spiff uses 2023-05-30 19:53:26 -04:00
burnettk
aae043e0a4 add pylint 2023-05-30 19:39:15 -04:00
Kevin Burnett
4bbe10be00 Merge branch 'main' into feature/more-secret-secrets 2023-05-30 18:55:14 +00:00
burnettk
7b2f75c349 remove useless comments matching filenames 2023-05-30 12:21:50 -04:00
burnettk
2199214323 only expose value on show, not list, move tests, fix UI 2023-05-29 15:04:38 -04:00
burnettk
f8d4a6382b get compatible with ruff pyupgrade 2023-05-27 14:59:52 -04:00
burnettk
2b2875cb6f let ruff sort imports and ditch duplicative pre-commit linters 2023-05-26 20:01:08 -04:00
jasquat
3f0f06817f allow disabling authentication from the backend w/ burnettk 2023-05-25 12:00:24 -04:00
jasquat
2db6b10b7d Merge pull request #275 from sartography/feature/process_model_unit_tests
Feature/process model unit tests
2023-05-23 15:55:47 -04:00
jbirddog
9ec956cee8 Support custom run at time when creating an instance (#270) 2023-05-23 09:52:01 -04:00
burnettk
20bc44bfe7 lint 2023-05-23 06:38:35 -04:00
jasquat
4ed43e5058 added api to run process model unit tests w/ burnettk 2023-05-22 17:36:07 -04:00
jasquat
3f6bc76a7e Merge remote-tracking branch 'origin/main' into feature/process_model_unit_tests 2023-05-22 15:17:49 -04:00
jasquat
a3890afba1 added missing permissions to elevated perm macro and removed api calls from unit tests 2023-05-22 13:50:32 -04:00
jasquat
1cd2a794eb no reason to instantiate a ProcessModelService 2023-05-17 10:16:09 -04:00
burnettk
77c6e80055 let people use version-info, remove duplicate method, lint 2023-05-16 16:20:40 -04:00
danfunk
a84b77b203 I'm yanking the general exception catching because it made it impossible to debug a problem we ran into - and it results in roughtly the same error message presented to the end user.
Updating SpiffWorkflow which will now handle the situation where a task does not have a parent task.
2023-05-15 16:53:27 -04:00
burnettk
02aa87cec5 mostly frontend stuff: add version and doc links, autofix unused imports 2023-05-12 17:07:53 -04:00
jasquat
1066ae4b8a updated spiffworkflow to fix typo w/ burnettk 2023-05-12 09:55:10 -04:00
jasquat
39962bf6c6 Merge pull request #255 from sartography/feature/upgrade_spiff
using the new spiff branch and tests are now passing w/ burnettk
2023-05-11 16:22:08 -04:00
Dan Funk
15abb63063 Merge pull request #256 from sartography/feature/view_button
Feature/view button
2023-05-11 15:11:32 -04:00
danfunk
127248be34 fixing a stupid mistake. 2023-05-11 12:56:59 -04:00
jasquat
233d8a9832 using the new spiff branch and tests are now passing w/ burnettk 2023-05-11 12:41:52 -04:00
danfunk
1ea4b7bc44 View button styled the same as the go button.
Don't show the view button for Suspended, terminated, or Errored Processes when there is nothing to see.
On the interstitial page, if the process is not runnable, return out of the process, don't keep looping forever.
2023-05-11 12:34:43 -04:00
jbirddog
4bff2bca95 Type ahead cleanup (#253) 2023-05-11 11:08:07 -04:00