* * 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
* 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>
* 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>
* 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>
* 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>
* 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>
* 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>
* 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>
* 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>
* 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>
* 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>
* 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>
* 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>
* 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
* 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>
* 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>
* 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>