90 Commits

Author SHA1 Message Date
Kevin Burnett
5cceb52756 Numeric range field added (#799) (#800)
* Numeric range field added (#799)

Added a custom field to handle numeric ranges. The field checks for the first key in the properties of the schema and will add min and max to it when the values are put in.

* autofix lint stuff

* updates to simplify the code, fix a few ux issues, and make more inline with current conventions w/ burnettk

* removed subkey from numeric range and added validation to ensure max is greater than min w/ burnettk

* added some comments to clarify how to use numeric range w/ burnettk

* added some documentation for the numeric range field w/ burnettk

---------

Co-authored-by: Kayvon-Martinez <142514475+Kayvon-Martinez@users.noreply.github.com>
Co-authored-by: burnettk <burnettk@users.noreply.github.com>
Co-authored-by: jasquat <jasquat@users.noreply.github.com>
2023-12-13 12:50:26 -06:00
jasquat
18600189c8 Feature/background proc with celery (#788)
* WIP: some initial test code to test out celery w/ burnettk

* some cleanup for celery and added base model to put tasks waiting on timers

* removed dup bpmn file

* some more cleanup and added strategy to queue instructions

* some minor code changes w/ burnettk

* remove the unused next_task key from api calls since nobody uses it w/ burnettk essweine

* added migration for future tasks and added test to make sure we are inserting into it w/ burnettk essweine

* ensure future task run at time can be updated w/ burnettk

* added table to queue instructions for end user in w/ burnettk

* added test to ensure we are storing instructions for end users w/ burnettk

* added progress page to display new instructions to user

* ignore dup instructions on db insert w/ burnettk

* some more updates for celery w/ burnettk

* some pyl and test fixes w/ burnettk

* fixed tests w/ burnettk

* WIP: added in page to show instructions on pi show page w/ burnettk

* pi show page is fully using not interstitial now w/ burnettk

* fixed broken test w/ burnettk

* moved background processing items to own module w/ burnettk

* fixed apscheduler start script

* updated celery task queue to handle future tasks and upgraded black and set its line-length to match ruff w/ burnettk

* added support to run future tasks using countdown w/ burnettk

* build image for celery branch w/ burnettk

* poet does not exist in the image w/ burnettk

* start blocking scheduler should always start the scheduler w/ burnettk

* add init and stuff for this branch

* make this work not just on my mac

* send other args to only

* added running status for process instance and use that on fe to go to show page and added additional identifier to locking system to isolate celery workers better w/ burnettk

* fixed typing error that typeguard found, not sure why mypy did not w/ burnettk

* do not check for no instructions on interstitial page for cypress tests on frontend w/ burnettk

* do not queue process instances twice w/ burnettk

* removed bad file w/ burnettk

* queue tasks using strings to avoid circular imports when attmepting to queue w/ burnettk

* only queue imminent new timer events and mock celery

* some keyboard shortcut support on frontend and added ability to force run a process instance over the api w/ burnettk

* some styles added for the shortcut menu w/ burnettk

* pyl w/ burnettk

* fixed test w/ burnettk

* removed temporary celery script and added support for celery worker in run server locally w/ burnettk

* cleaned up migrations w/ burnettk

* created new migration to clean up old migrations

---------

Co-authored-by: jasquat <jasquat@users.noreply.github.com>
Co-authored-by: burnettk <burnettk@users.noreply.github.com>
2023-12-05 11:41:59 -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
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
9cfec3d357 updated completed form modal to have white background and minor changes to table column names 2023-09-21 08:00:14 -04:00
jasquat
439c8abbe2 allow instructions to collapse in view completed form and make items in text fields a little more readable w/ burnettk (#506)
Co-authored-by: jasquat <jasquat@users.noreply.github.com>
2023-09-20 16:03:58 -04:00
jasquat
00158df03d Feature/pm readme file (#495)
* refactored process model show page to use tabs

* added ability to view and edit a process model readme file w/ burnettk

---------

Co-authored-by: jasquat <jasquat@users.noreply.github.com>
2023-09-20 11:14:20 -04:00
jasquat
db7f6a64a1 Feature/markdown error fix (#498)
* added widget to edit markdown with rjsf

* build spiffcrm

* updated docker images to build w/ burnettk

---------

Co-authored-by: jasquat <jasquat@users.noreply.github.com>
Co-authored-by: burnettk <burnettk@users.noreply.github.com>
2023-09-19 07:37:05 -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
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
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
beb0449a5a set overflow to auto so the scrollbar only appears when necessary 2023-09-07 13:48:01 -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
c747c4be56 Feature/UI tweaks (#419)
* some initial ui tweaks w/ burnettk

* left align more items as per the figma page w/ burnettk

* pyl w/ burnettk

* left align additional pages w/ burnettk

* use carbon components for the rjsf forms as well w/ burnettk

* do not raise if the app cannot load an env specific config file w/ burnettk

* attempting to center all the main elements except the diagram page WIP w/ burnettk

* fix build issue

* document media query

* fixed centering of elements in webui w/ burnettk

* some tweaks to taskshow markdown w/ burnettk

* make filter button smaller as a medium size

* medium styles for these buttons to the top right of tables

* inscreased cap for metadata key when displayed and allow word-wrapping w/ burnettk

---------

Co-authored-by: jasquat <jasquat@users.noreply.github.com>
Co-authored-by: burnettk <burnettk@users.noreply.github.com>
2023-09-07 10:12:13 -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
9a1c23f22b fixed how button sets are displayed and removed test date range picker from secret list w/ burnettk (#397)
Co-authored-by: jasquat <jasquat@users.noreply.github.com>
2023-07-17 22:14:10 +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
746a41c524 Feature/never ending UI tweaks 2 (#377)
* Using a rem based measurement rather than pixels, to better handle 4k displays and their adjusted font sizes - and setting relatively large breakpoints and page width limits that should result in a better view of the tables on the home page.

* Here is the latest:

    * Improved metadata display on the process instance page, with better widths, grayed out text (which I lost at some point).
    * Reduced the End Task "instructions for end user" size, and added a fade out on the bottom.
    * Improved the "chicken buttons" for custom columns on the process instance list filters, which can now accommodate very long names for the columns.
    * Removed the "show-page" which is more consistently handled by the content wrappers for the different routers.
2023-07-06 16:38:44 -04:00
Dan Funk
dbe52af9f4 Feature/never ending UI edits (#374)
* Basically shift our ui to something similar to Google's search results page - where we have a strong left padding that offsets against our logo, and a fixed width for our content, that can be breached in some circumstances (such as when tables are very large).  This breaking can happen for both our standard tables, as well as markdown tables.   This does not include the fix for locking - which is still in progress.

* modified routes so that most routes are within a "fixed-width-container" but our BPMN editor can still take up 100% of the screen.
* fixed-width-container has breakpoints at 1056 (remove all padding) and 1400 (limit width to a max of 1280)  but in all cases allow for an overflow of visible - so tables can extend beyond this limit when needed,
* Removed "Messages" as a heading from the tab view - but left on the /messages route.

* Lint fixing
2023-07-06 09:41:18 +05:30
Dan Funk
771f54b7b4 Bug/UI fixes (#369)
* 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.
2023-07-04 09:29:46 +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 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
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
burnettk
53d73e13a3 Revert "Feature/interstitial summary (#337)"
This reverts commit c48f3a458bae210627293badc4b454926ab8deec.
2023-06-19 08:19:36 -04:00
Dan Funk
c48f3a458b 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>
2023-06-16 09:53:20 -04:00
jasquat
9b9ec335b3 format date picker helper text width to match the date widget itself … (#330)
* format date picker helper text width to match the date widget itself w/ burnettk

* not sure we need xdoctest

---------

Co-authored-by: jasquat <jasquat@users.noreply.github.com>
Co-authored-by: burnettk <burnettk@users.noreply.github.com>
2023-06-13 20:16:26 +05:30
Kevin Burnett
7ab4d40ff4 make primary file use font style italics (#324)
Co-authored-by: burnettk <burnettk@users.noreply.github.com>
2023-06-12 06:42:30 -07:00
jasquat
ee18052be9 added css to make the hr elements look like they do for bootstrap w/ burnettk (#320)
Co-authored-by: jasquat <jasquat@users.noreply.github.com>
2023-06-09 11:50:42 -04:00
jasquat
4fc6b1a193 use carbon components when adding secrets (#312)
* use carbon components when adding secrets

* docker compose pull before running up w/ burnettk

* use all carbon on script task unit test modal w/ burnettk

* removed remaining references to bootstrap from frontend w/ burnettk

* updated usage of hidden to use the class instead of the bootstrap attribute w/ burnettk

* print out docker version for debugging

* docker pull with docker instead of compose

* added comment for docker pull in check docker start script

---------

Co-authored-by: jasquat <jasquat@users.noreply.github.com>
2023-06-08 14:26:14 -07:00
jasquat
4ed43e5058 added api to run process model unit tests w/ burnettk 2023-05-22 17:36:07 -04:00
danfunk
cd99837378 Requested simplification of the interstitial page. 2023-05-16 15:26:48 -04:00
burnettk
02aa87cec5 mostly frontend stuff: add version and doc links, autofix unused imports 2023-05-12 17:07:53 -04:00
burnettk
49523f34cb make the space on the right match the space on the top 2023-05-10 22:58:12 -04:00
jasquat
1efbb8f564 updated some css class names and moved the profile toggle tip over a couple pixels 2023-05-10 09:33:21 -04:00
burnettk
79b64d3e94 round corners and add border, and close by default 2023-05-09 22:55:56 -04:00
burnettk
7e9787d5fe placement of user profile nav item and remove caret 2023-05-09 22:40:48 -04:00
jasquat
e2a5a2aadf use a toggle tip instead of the popover w/ burnettk 2023-05-09 17:38:15 -04:00
jasquat
ddc78c5446 changed to display the username in a circle that can be expanded w/ burnettk 2023-05-09 17:05:37 -04:00
burnettk
2b76f4ad5d avoid percentage widths, which appear to not do what we want in safari w/ jasquat 2023-05-08 16:24:52 -04:00
jasquat
9320ec3cf9 cleaned up displaying active users in frontend w/ burnettk 2023-05-04 12:44:04 -04:00
jasquat
a219d8efd4 added ability to display users showing on the process model edit diagram page w/ burnettk 2023-05-03 17:36:43 -04:00
jasquat
607abf97c2 added links to filtered tables on homepage and added advanced options modal to use them w/ burnettk 2023-05-01 12:25:22 -04:00
Dan
d845b0b1e2 Need to remove the initial greedy first task from run-until-user-instructions as it was causing us to skip over user messages.
We weren't formatting instructions for end events.
More cleanup of the UI
More rapid graying out of past messages
2023-04-26 21:27:52 -04:00
Dan
015754e089 some styling changes and a better end page. 2023-04-26 19:15:15 -04:00
Dan
e2b582b7fc various css tweaks 2023-04-26 18:10:02 -04:00
Dan
4cbf4e456b a whole bunch of front end and backend changes that got mangled. 2023-04-26 16:22:50 -04:00
jasquat
1b65a277c4 properly save task and instance exceptions to the db and display in the frontend w/ burnettk 2023-04-20 11:49:34 -04:00
jasquat
03b30ec7ec Merge remote-tracking branch 'origin/main' into feature/home_page_refactor 2023-04-14 09:20:30 -04:00
jasquat
fd25bb64d7 updated text on home page w/ burnettk 2023-04-13 16:36:46 -04:00
Elizabeth Esswein
234c533816 add coloring for cancelled tasks 2023-04-12 13:51:29 -04:00
jasquat
c321e4ff6d reformatted click filter button message and activate filter button when clearing fields w/ burnettk 2023-03-20 12:13:28 -04:00