Commit Graph

321 Commits

Author SHA1 Message Date
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
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
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 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
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
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
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 48893cae13 fixed linting issues w/ burnettk 2023-08-03 15:38:02 -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 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 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 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 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
burnettk 95fafb7af1 Revert "Feature/event payloads (#393)"
This reverts commit f1c5f1ea21.
2023-07-19 11:44:06 -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
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 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
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
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 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 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
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
danfunk 542babba28 Merge remote-tracking branch 'origin/main' into feature/better_interstitial_spinner_and_suspend_message 2023-06-01 15:07:25 -04:00
danfunk 6e9a5bd590 Introduced a small spinner to the interstitial view on the Process Instance Show page.
Display reasonable messages when a processes is suspended or errored. Can't do much with terminated.
Show the spinner more frequently and consistently.
When running ruff, ignore everything in .gitignore
2023-06-01 15:05:59 -04: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
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 ad3f283098 get compatible with ruff 2023-05-29 17:03:30 -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 696bfe224c fixed tests related to new permissions w/ burnettk 2023-05-22 14:58:51 -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 83f7849685 changed publish endpoint to precede model id so we can grant publish access but read only to a model otherwise w/ burnettk 2023-05-19 12:26:16 -04:00
jasquat 40b3246eb7 support macros in perm yml and pyl 2023-05-18 12:11:40 -04:00
jasquat 233d8a9832 using the new spiff branch and tests are now passing w/ burnettk 2023-05-11 12:41:52 -04:00
jasquat da52b68c84 updated Spiffworkflow and updated terminated test to ensure tasks are deleted from the db w/ burnettk 2023-05-10 16:39:03 -04:00
jasquat 6d5422a9fd added reminder to check remaining tasks once we get new spiff 2023-05-10 13:25:26 -04:00
jasquat 57fcadbd62 save all spiff tasks to the db after terminating a process instance w/ burnettk 2023-05-10 12:02:48 -04:00
jasquat 26310da412 Merge pull request #244 from sartography/feature/check_permissions_on_group_and_model_list
Feature/check permissions on group and model list
2023-05-08 14:29:39 -04:00
jasquat 874fe9052c pyl and i am not sure how mypy missed that one typing issue 2023-05-08 13:20:40 -04:00
jasquat 1b0f71579b pyl 2023-05-08 11:34:45 -04:00
jasquat 6f59d2f828 added tests to make sure users can only list process models and groups that they have access to 2023-05-08 11:31:57 -04:00
jasquat eef920acae do not perform any tasks if instance is suspended from the interstitial page w/ burnettk 2023-05-05 14:01:32 -04:00
jasquat 92cdceb201 fixed test w/ burnettk 2023-05-04 12:45:53 -04:00
jasquat 60db9db296 Merge pull request #241 from sartography/feature/multiple_editor_users
Feature/multiple editor users
2023-05-04 11:40:28 -04:00
jasquat f65b301635 do not raise errors if a process cannot be found in the spec reference cache when trying to get a task trace for an error 2023-05-04 09:45:01 -04:00
jasquat 8655ca0cd0 Merge remote-tracking branch 'origin/main' into feature/multiple_editor_users 2023-05-03 17:38:49 -04:00
Dan Funk 64692f0d59 Merge pull request #237 from sartography/feature/cancel_button
Feature/cancel button
2023-05-03 10:12:02 -04:00
jasquat 38428cb6a4 fixed tests w/ burnettk 2023-05-02 17:09:29 -04:00
Dan ac149c9dcb * Adding signal_buttons to tasks, which will prompt the frontend to display a button that when pressed will cause the signal to fire.
* This alters how the send_event endpoint responds - it originally responded with a process instance, it now responds with the next task, in keeping with how other task completion endpoints behave.
* I was forced to upgrade some of the bpmn-js libraries which fixes some of the linting errors on the front end.
* The "Return to home" button isn't always displayed.  It will not display when it is redirecting, or when the current task is running.
.
2023-05-02 13:40:41 -04:00
jasquat 418ec7d9c9 updated typeguard and fixed issues w/ burnettk 2023-05-01 15:26:29 -04:00
jbirddog 87c34f4822 Support connectors that return logs (#230) 2023-04-28 10:54:24 -04:00
jasquat 3754d72f4f tests are now passing and pyl w/ burnettk 2023-04-28 10:07:21 -04:00
jasquat 6a9d30e3fe Merge remote-tracking branch 'origin/main' into feature/home_page_filter_links 2023-04-27 17:33:49 -04:00
jasquat a4fd81cb9a remove a lot of unused code and fixed linting issues w/ burnettk 2023-04-27 17:33:25 -04:00
burnettk 05d3184e19 use debug controller for test raise error api method per jakub suggestion 2023-04-27 11:13:11 -04:00
burnettk 4c64c466ae add test-raise-error endpoint for sentry testing, etc 2023-04-27 11:05:24 -04:00
burnettk 93ec911484 fix permissions for process callers api 2023-04-27 07:20:52 -04:00
jasquat 04864692b6 added typeahead search for bpmn name and identifier in process instance event list w/ burnettk 2023-04-25 15:30:26 -04:00
jasquat 013a2cb34a call dequeue method for interstitial page tests w/ burnettk 2023-04-24 15:48:20 -04:00
burnettk 8e9c6cdf3f fixing TypeError: type of value sent to generator must be str 2023-04-20 23:16:45 -04:00
Dan a6adb98a19 Merging with main. 2023-04-20 16:06:22 -04:00
jasquat 8cc2d56dbd merged in main and resolved conflicts w/ burnettk 2023-04-20 14:10:23 -04:00
jasquat 92c21f2c11 fixed tests and added test to ensure we are saving error events to the db on error w/ burnettk 2023-04-20 13:32:45 -04:00
jbirddog ff0202f4d4 Called elements (#218) 2023-04-19 18:07:15 -04:00
Dan a8fd0a246d run pyl. 2023-04-19 17:00:09 -04:00
jasquat b1568fb472 fixed test w/ burnettk 2023-04-19 15:52:11 -04:00
Dan 0244d58613 getting all the tests to pass. 2023-04-19 15:13:00 -04:00
Dan be14b9c05f Add a test for the interstitial endpoint.
Assure all "GO" buttons lead to the interstial page, and display differently depending on if there is anything you can actually do.
2023-04-19 13:52:29 -04:00
jasquat b441c59fde some cleanup before merging to main w/ burnettk 2023-03-31 10:57:13 -04:00
jasquat 854b41378f WIP trying to get resetting to a task within a subprocess working w/ burnettk 2023-03-30 16:30:34 -04:00
jasquat c73c0dcad1 fixed some failing tests except for test_send_event 2023-03-30 15:25:44 -04:00
burnettk 4a092a8e2a tests have been broken in ci, and this should fix it 2023-03-27 17:02:29 -04:00
burnettk a263696758 add test for filtering columns and clarify that we are doing unit tests with api, whoops 2023-03-24 18:11:11 -04:00
jasquat 3f49f912ea pyl passes w/ burnettk 2023-03-23 15:16:39 -04:00
jasquat 77e97d7a57 tasks can be skipped and manually executed w/ burnettk 2023-03-17 15:35:27 -04:00
jasquat 88df3bd5c3 added process instance event table 2023-03-17 13:20:06 -04:00
jasquat 3461056beb Merge remote-tracking branch 'origin/main' into feature/use_tasks_as_logs 2023-03-17 12:40:26 -04:00
jbirddog 90aed76e21 UAT bug fix: suspended/terminated instances automagically resume (#186) 2023-03-17 11:55:11 -04:00
jasquat e0dbb6a768 updated log list view in frontend w/ burnettk 2023-03-17 10:30:29 -04:00
jasquat 363428df09 added bpmn_name columns to definition tables and added test for simple logs as well 2023-03-17 10:00:59 -04:00
burnettk 6bfce59fe3 lint 2023-03-16 22:59:42 -04:00
jasquat 4b96a0c453 add in missing fields to logs 2023-03-16 17:58:43 -04:00
jasquat d75d66c33f pyl w/ burnettk 2023-03-16 16:18:02 -04:00
jasquat 5c0d72ab91 tests are now passing w/ burnettk 2023-03-16 16:14:41 -04:00
jasquat bbdac3c586 some initial code to use tasks for logs 2023-03-16 09:30:25 -04:00
burnettk dc355e90e9 try to fix postgres and mysql group by 2023-03-16 00:02:02 -04:00
jasquat e305b22b5a increase line length from 88 to 119 for black w/ burnettk 2023-03-15 16:24:08 -04:00
jasquat 0f23a1b4d9 Merge remote-tracking branch 'origin/main' into feature/split_up_bpmn_json 2023-03-07 10:48:37 -05:00
Jon Herron ce5969e9ca Getting ./bin/pyl to pass 2023-03-06 20:42:25 -05:00
Jon Herron ec53ab8717 Fix secret getting reset when decrypted in get_secret 2023-03-06 20:40:08 -05:00
Jon Herron 3361bb0cd2 Fixed tests 2023-03-06 19:27:24 -05:00
jasquat 0c6e9a63ba unit tests are passing with the new spec tables 2023-03-03 10:08:14 -05:00
jasquat cf9b796e1a avoid creating new processors if it is not necessary 2023-03-02 10:00:08 -05:00