From 30715626fd4de4c63eb9ee9d7936fda50d2b47db Mon Sep 17 00:00:00 2001 From: jasquat <2487833+jasquat@users.noreply.github.com> Date: Tue, 12 Sep 2023 15:39:32 -0400 Subject: [PATCH] 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 --- spiffworkflow-backend/poetry.lock | 142 ++---------------- .../src/components/ButtonWithConfirmation.tsx | 3 + .../src/components/ProcessModelTestRun.tsx | 5 +- spiffworkflow-frontend/src/index.css | 8 + .../src/routes/ProcessModelShow.tsx | 2 + 5 files changed, 26 insertions(+), 134 deletions(-) diff --git a/spiffworkflow-backend/poetry.lock b/spiffworkflow-backend/poetry.lock index 11c4786c..18734290 100644 --- a/spiffworkflow-backend/poetry.lock +++ b/spiffworkflow-backend/poetry.lock @@ -1,10 +1,9 @@ -# This file is automatically @generated by Poetry 1.4.2 and should not be changed by hand. +# This file is automatically @generated by Poetry 1.5.1 and should not be changed by hand. [[package]] name = "alembic" version = "1.10.3" description = "A database migration tool for SQLAlchemy." -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -24,7 +23,6 @@ tz = ["python-dateutil"] name = "aniso8601" version = "9.0.1" description = "A library for parsing ISO 8601 strings." -category = "main" optional = false python-versions = "*" files = [ @@ -39,7 +37,6 @@ dev = ["black", "coverage", "isort", "pre-commit", "pyenchant", "pylint"] name = "apscheduler" version = "3.10.1" description = "In-process task scheduler with Cron-like capabilities" -category = "main" optional = false python-versions = ">=3.6" files = [ @@ -51,7 +48,7 @@ files = [ pytz = "*" setuptools = ">=0.7" six = ">=1.4.0" -tzlocal = ">=2.0,<3.0.0 || >=4.0.0" +tzlocal = ">=2.0,<3.dev0 || >=4.dev0" [package.extras] doc = ["sphinx", "sphinx-rtd-theme"] @@ -69,7 +66,6 @@ zookeeper = ["kazoo"] name = "attrs" version = "22.2.0" description = "Classes Without Boilerplate" -category = "main" optional = false python-versions = ">=3.6" files = [ @@ -88,7 +84,6 @@ tests-no-zope = ["cloudpickle", "cloudpickle", "hypothesis", "hypothesis", "mypy name = "bandit" version = "1.7.2" description = "Security oriented static analyser for python code." -category = "dev" optional = false python-versions = ">=3.7" files = [ @@ -111,7 +106,6 @@ yaml = ["PyYAML"] name = "bcrypt" version = "4.0.1" description = "Modern password hashing for your software and your servers" -category = "main" optional = false python-versions = ">=3.6" files = [ @@ -146,7 +140,6 @@ typecheck = ["mypy"] name = "black" version = "22.12.0" description = "The uncompromising code formatter." -category = "dev" optional = false python-versions = ">=3.7" files = [ @@ -181,7 +174,6 @@ uvloop = ["uvloop (>=0.15.2)"] name = "blinker" version = "1.6.2" description = "Fast, simple object-to-object and broadcast signaling" -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -193,7 +185,6 @@ files = [ name = "cachelib" version = "0.10.2" description = "A collection of cache libraries in the same API interface." -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -205,7 +196,6 @@ files = [ name = "certifi" version = "2023.7.22" description = "Python package for providing Mozilla's CA Bundle." -category = "main" optional = false python-versions = ">=3.6" files = [ @@ -217,7 +207,6 @@ files = [ name = "cffi" version = "1.15.1" description = "Foreign Function Interface for Python calling C code." -category = "main" optional = false python-versions = "*" files = [ @@ -294,7 +283,6 @@ pycparser = "*" name = "cfgv" version = "3.3.1" description = "Validate configuration and produce human readable error messages." -category = "dev" optional = false python-versions = ">=3.6.1" files = [ @@ -306,7 +294,6 @@ files = [ name = "charset-normalizer" version = "3.1.0" description = "The Real First Universal Charset Detector. Open, modern and actively maintained alternative to Chardet." -category = "main" optional = false python-versions = ">=3.7.0" files = [ @@ -391,7 +378,6 @@ files = [ name = "click" version = "8.1.3" description = "Composable command line interface toolkit" -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -406,7 +392,6 @@ colorama = {version = "*", markers = "platform_system == \"Windows\""} name = "clickclick" version = "20.10.2" description = "Click utility functions" -category = "main" optional = false python-versions = "*" files = [ @@ -422,7 +407,6 @@ PyYAML = ">=3.11" name = "colorama" version = "0.4.6" description = "Cross-platform colored terminal text." -category = "main" optional = false python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,!=3.6.*,>=2.7" files = [ @@ -434,7 +418,6 @@ files = [ name = "configparser" version = "5.3.0" description = "Updated configparser from stdlib for earlier Pythons." -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -450,7 +433,6 @@ testing = ["flake8 (<5)", "pytest (>=6)", "pytest-black (>=0.3.7)", "pytest-chec name = "connexion" version = "2.14.1" description = "Connexion - API first applications with OpenAPI/Swagger and Flask" -category = "main" optional = false python-versions = ">=3.6" files = [ @@ -481,7 +463,6 @@ tests = ["MarkupSafe (>=0.23)", "aiohttp (>=2.3.10,<4)", "aiohttp-jinja2 (>=0.14 name = "coverage" version = "6.5.0" description = "Code coverage measurement for Python" -category = "dev" optional = false python-versions = ">=3.7" files = [ @@ -547,7 +528,6 @@ toml = ["tomli"] name = "cryptography" version = "41.0.3" description = "cryptography is a package which provides cryptographic recipes and primitives to Python developers." -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -593,7 +573,6 @@ test-randomorder = ["pytest-randomly"] name = "dateparser" version = "1.1.8" description = "Date parsing library designed to parse dates from HTML pages" -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -616,7 +595,6 @@ langdetect = ["langdetect"] name = "distlib" version = "0.3.6" description = "Distribution utilities" -category = "dev" optional = false python-versions = "*" files = [ @@ -628,7 +606,6 @@ files = [ name = "dparse" version = "0.6.2" description = "A parser for Python dependency files" -category = "dev" optional = false python-versions = ">=3.5" files = [ @@ -648,7 +625,6 @@ pipenv = ["pipenv"] name = "exceptiongroup" version = "1.1.1" description = "Backport of PEP 654 (exception groups)" -category = "dev" optional = false python-versions = ">=3.7" files = [ @@ -663,7 +639,6 @@ test = ["pytest (>=6)"] name = "execnet" version = "1.9.0" description = "execnet: rapid multi-Python deployment" -category = "dev" optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" files = [ @@ -678,7 +653,6 @@ testing = ["pre-commit"] name = "filelock" version = "3.11.0" description = "A platform independent file lock." -category = "dev" optional = false python-versions = ">=3.7" files = [ @@ -694,7 +668,6 @@ testing = ["covdefaults (>=2.3)", "coverage (>=7.2.2)", "diff-cover (>=7.5)", "p name = "flask" version = "2.2.5" description = "A simple framework for building complex web applications." -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -716,7 +689,6 @@ dotenv = ["python-dotenv"] name = "flask-admin" version = "1.6.1" description = "Simple and extensible admin interface framework for Flask" -category = "main" optional = false python-versions = ">=3.6" files = [ @@ -736,7 +708,6 @@ azure = ["azure-storage-blob"] name = "flask-bcrypt" version = "1.0.1" description = "Brcrypt hashing for Flask." -category = "main" optional = false python-versions = "*" files = [ @@ -752,7 +723,6 @@ Flask = "*" name = "flask-cors" version = "3.0.10" description = "A Flask extension adding a decorator for CORS support" -category = "main" optional = false python-versions = "*" files = [ @@ -768,7 +738,6 @@ Six = "*" name = "flask-jwt-extended" version = "4.4.4" description = "Extended JWT integration with Flask" -category = "main" optional = false python-versions = ">=3.7,<4" files = [ @@ -788,7 +757,6 @@ asymmetric-crypto = ["cryptography (>=3.3.1)"] name = "flask-mail" version = "0.9.1" description = "Flask extension for sending email" -category = "main" optional = false python-versions = "*" files = [ @@ -803,7 +771,6 @@ Flask = "*" name = "flask-marshmallow" version = "0.15.0" description = "Flask + marshmallow for beautiful APIs" -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -826,7 +793,6 @@ tests = ["flask-sqlalchemy (>=3.0.0)", "marshmallow-sqlalchemy (>=0.28.2)", "moc name = "flask-migrate" version = "4.0.4" description = "SQLAlchemy database migrations for Flask applications using Alembic." -category = "main" optional = false python-versions = ">=3.6" files = [ @@ -843,7 +809,6 @@ Flask-SQLAlchemy = ">=1.0" name = "flask-oauthlib" version = "0.9.6" description = "OAuthlib for Flask" -category = "main" optional = false python-versions = "*" files = [ @@ -861,7 +826,6 @@ requests-oauthlib = ">=0.6.2,<1.2.0" name = "flask-restful" version = "0.3.9" description = "Simple framework for creating REST APIs" -category = "main" optional = false python-versions = "*" files = [ @@ -882,7 +846,6 @@ docs = ["sphinx"] name = "flask-session" version = "0.5.0" description = "Server-side session support for Flask" -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -898,7 +861,6 @@ flask = ">=2.2" name = "flask-simple-crypt" version = "0.3.3" description = "Flask extension based on simple-crypt that allows simple, secure encryption and decryption for Python." -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -914,7 +876,6 @@ pycryptodome = "*" name = "flask-sqlalchemy" version = "3.0.3" description = "Add SQLAlchemy support to your Flask application." -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -930,7 +891,6 @@ SQLAlchemy = ">=1.4.18" name = "gitdb" version = "4.0.10" description = "Git Object Database" -category = "dev" optional = false python-versions = ">=3.7" files = [ @@ -943,24 +903,25 @@ smmap = ">=3.0.1,<6" [[package]] name = "gitpython" -version = "3.1.31" +version = "3.1.36" description = "GitPython is a Python library used to interact with Git repositories" -category = "dev" optional = false python-versions = ">=3.7" files = [ - {file = "GitPython-3.1.31-py3-none-any.whl", hash = "sha256:f04893614f6aa713a60cbbe1e6a97403ef633103cdd0ef5eb6efe0deb98dbe8d"}, - {file = "GitPython-3.1.31.tar.gz", hash = "sha256:8ce3bcf69adfdf7c7d503e78fd3b1c492af782d58893b650adb2ac8912ddd573"}, + {file = "GitPython-3.1.36-py3-none-any.whl", hash = "sha256:8d22b5cfefd17c79914226982bb7851d6ade47545b1735a9d010a2a4c26d8388"}, + {file = "GitPython-3.1.36.tar.gz", hash = "sha256:4bb0c2a6995e85064140d31a33289aa5dce80133a23d36fcd372d716c54d3ebf"}, ] [package.dependencies] gitdb = ">=4.0.1,<5" +[package.extras] +test = ["black", "coverage[toml]", "ddt (>=1.1.1,!=1.4.3)", "mypy", "pre-commit", "pytest", "pytest-cov", "pytest-sugar", "virtualenv"] + [[package]] name = "greenlet" version = "2.0.2" description = "Lightweight in-process concurrent programming" -category = "main" optional = false python-versions = ">=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*" files = [ @@ -1034,7 +995,6 @@ test = ["objgraph", "psutil"] name = "gunicorn" version = "20.1.0" description = "WSGI HTTP Server for UNIX" -category = "main" optional = false python-versions = ">=3.5" files = [ @@ -1055,7 +1015,6 @@ tornado = ["tornado (>=0.2)"] name = "identify" version = "2.5.22" description = "File identification library for Python" -category = "dev" optional = false python-versions = ">=3.7" files = [ @@ -1070,7 +1029,6 @@ license = ["ukkonen"] name = "idna" version = "3.4" description = "Internationalized Domain Names in Applications (IDNA)" -category = "main" optional = false python-versions = ">=3.5" files = [ @@ -1082,7 +1040,6 @@ files = [ name = "inflection" version = "0.5.1" description = "A port of Ruby on Rails inflector to Python" -category = "main" optional = false python-versions = ">=3.5" files = [ @@ -1094,7 +1051,6 @@ files = [ name = "iniconfig" version = "2.0.0" description = "brain-dead simple config-ini parsing" -category = "dev" optional = false python-versions = ">=3.7" files = [ @@ -1106,7 +1062,6 @@ files = [ name = "itsdangerous" version = "2.1.2" description = "Safely pass data to untrusted environments and back." -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -1118,7 +1073,6 @@ files = [ name = "jinja2" version = "3.1.2" description = "A very fast and expressive template engine." -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -1136,7 +1090,6 @@ i18n = ["Babel (>=2.7)"] name = "jsonschema" version = "4.17.3" description = "An implementation of JSON Schema validation for Python" -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -1156,7 +1109,6 @@ format-nongpl = ["fqdn", "idna", "isoduration", "jsonpointer (>1.13)", "rfc3339- name = "lxml" version = "4.9.2" description = "Powerful and Pythonic XML processing library combining libxml2/libxslt with the ElementTree API." -category = "main" optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, != 3.4.*" files = [ @@ -1249,7 +1201,6 @@ source = ["Cython (>=0.29.7)"] name = "mako" version = "1.2.4" description = "A super-fast templating language that borrows the best ideas from the existing templating languages." -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -1269,7 +1220,6 @@ testing = ["pytest"] name = "markupsafe" version = "2.1.2" description = "Safely add untrusted strings to HTML/XML markup." -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -1329,7 +1279,6 @@ files = [ name = "marshmallow" version = "3.19.0" description = "A lightweight library for converting complex datatypes to and from native Python datatypes." -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -1350,7 +1299,6 @@ tests = ["pytest", "pytz", "simplejson"] name = "marshmallow-enum" version = "1.5.1" description = "Enum field for Marshmallow" -category = "main" optional = false python-versions = "*" files = [ @@ -1365,7 +1313,6 @@ marshmallow = ">=2.0.0" name = "marshmallow-sqlalchemy" version = "0.29.0" description = "SQLAlchemy integration with the marshmallow (de)serialization library" -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -1388,7 +1335,6 @@ tests = ["pytest", "pytest-lazy-fixture (>=0.6.2)"] name = "mypy" version = "1.2.0" description = "Optional static typing for Python" -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -1435,7 +1381,6 @@ reports = ["lxml"] name = "mypy-extensions" version = "1.0.0" description = "Type system extensions for programs checked with the mypy type checker." -category = "main" optional = false python-versions = ">=3.5" files = [ @@ -1447,7 +1392,6 @@ files = [ name = "mysqlclient" version = "2.2.0" description = "Python interface to MySQL" -category = "main" optional = false python-versions = ">=3.8" files = [ @@ -1464,7 +1408,6 @@ files = [ name = "nodeenv" version = "1.7.0" description = "Node.js virtual environment builder" -category = "dev" optional = false python-versions = ">=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,!=3.6.*" files = [ @@ -1479,7 +1422,6 @@ setuptools = "*" name = "oauthlib" version = "2.1.0" description = "A generic, spec-compliant, thorough implementation of the OAuth request-signing logic" -category = "main" optional = false python-versions = "*" files = [ @@ -1497,7 +1439,6 @@ test = ["blinker", "cryptography", "mock", "nose", "pyjwt (>=1.0.0)", "unittest2 name = "packaging" version = "21.3" description = "Core utilities for Python packages" -category = "main" optional = false python-versions = ">=3.6" files = [ @@ -1512,7 +1453,6 @@ pyparsing = ">=2.0.2,<3.0.5 || >3.0.5" name = "pathspec" version = "0.11.1" description = "Utility library for gitignore style pattern matching of file paths." -category = "dev" optional = false python-versions = ">=3.7" files = [ @@ -1524,7 +1464,6 @@ files = [ name = "pbr" version = "5.11.1" description = "Python Build Reasonableness" -category = "dev" optional = false python-versions = ">=2.6" files = [ @@ -1536,7 +1475,6 @@ files = [ name = "platformdirs" version = "3.2.0" description = "A small Python package for determining appropriate platform-specific dirs, e.g. a \"user data dir\"." -category = "dev" optional = false python-versions = ">=3.7" files = [ @@ -1552,7 +1490,6 @@ test = ["appdirs (==1.4.4)", "covdefaults (>=2.3)", "pytest (>=7.2.2)", "pytest- name = "pluggy" version = "1.0.0" description = "plugin and hook calling mechanisms for python" -category = "dev" optional = false python-versions = ">=3.6" files = [ @@ -1568,7 +1505,6 @@ testing = ["pytest", "pytest-benchmark"] name = "pre-commit" version = "2.21.0" description = "A framework for managing and maintaining multi-language pre-commit hooks." -category = "dev" optional = false python-versions = ">=3.7" files = [ @@ -1587,7 +1523,6 @@ virtualenv = ">=20.10.0" name = "pre-commit-hooks" version = "4.4.0" description = "Some out-of-the-box hooks for pre-commit." -category = "dev" optional = false python-versions = ">=3.7" files = [ @@ -1603,7 +1538,6 @@ tomli = {version = ">=1.1.0", markers = "python_version < \"3.11\""} name = "prometheus-client" version = "0.16.0" description = "Python client for the Prometheus monitoring system." -category = "main" optional = false python-versions = ">=3.6" files = [ @@ -1618,7 +1552,6 @@ twisted = ["twisted"] name = "prometheus-flask-exporter" version = "0.22.3" description = "Prometheus metrics exporter for Flask" -category = "main" optional = false python-versions = "*" files = [ @@ -1634,7 +1567,6 @@ prometheus-client = "*" name = "psycopg2" version = "2.9.6" description = "psycopg2 - Python-PostgreSQL Database Adapter" -category = "main" optional = false python-versions = ">=3.6" files = [ @@ -1657,7 +1589,6 @@ files = [ name = "pycparser" version = "2.21" description = "C parser in Python" -category = "main" optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" files = [ @@ -1669,7 +1600,6 @@ files = [ name = "pycryptodome" version = "3.17" description = "Cryptographic library for Python" -category = "main" optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" files = [ @@ -1712,7 +1642,6 @@ files = [ name = "pygments" version = "2.15.1" description = "Pygments is a syntax highlighting package written in Python." -category = "dev" optional = false python-versions = ">=3.7" files = [ @@ -1727,7 +1656,6 @@ plugins = ["importlib-metadata"] name = "pyjwt" version = "2.6.0" description = "JSON Web Token implementation in Python" -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -1745,7 +1673,6 @@ tests = ["coverage[toml] (==5.0.4)", "pytest (>=6.0.0,<7.0.0)"] name = "pyparsing" version = "3.0.9" description = "pyparsing module - Classes and methods to define and execute parsing grammars" -category = "main" optional = false python-versions = ">=3.6.8" files = [ @@ -1760,7 +1687,6 @@ diagrams = ["jinja2", "railroad-diagrams"] name = "pyrsistent" version = "0.19.3" description = "Persistent/Functional/Immutable data structures" -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -1797,7 +1723,6 @@ files = [ name = "pytest" version = "7.4.0" description = "pytest: simple powerful testing with Python" -category = "dev" optional = false python-versions = ">=3.7" files = [ @@ -1820,7 +1745,6 @@ testing = ["argcomplete", "attrs (>=19.2.0)", "hypothesis (>=3.56)", "mock", "no name = "pytest-flask" version = "1.2.0" description = "A set of py.test fixtures to test Flask applications." -category = "dev" optional = false python-versions = ">=3.5" files = [ @@ -1840,7 +1764,6 @@ docs = ["Sphinx", "sphinx-rtd-theme"] name = "pytest-flask-sqlalchemy" version = "1.1.0" description = "A pytest plugin for preserving test isolation in Flask-SQlAlchemy using database transactions." -category = "dev" optional = false python-versions = "*" files = [ @@ -1862,7 +1785,6 @@ tests = ["psycopg2-binary", "pytest (>=6.0.1)", "pytest-postgresql (>=2.4.0,<4.0 name = "pytest-mock" version = "3.10.0" description = "Thin-wrapper around the mock package for easier use with pytest" -category = "dev" optional = false python-versions = ">=3.7" files = [ @@ -1880,7 +1802,6 @@ dev = ["pre-commit", "pytest-asyncio", "tox"] name = "pytest-random-order" version = "1.1.0" description = "Randomise the order in which pytest tests are run with some control over the randomness" -category = "dev" optional = false python-versions = ">=3.5.0" files = [ @@ -1895,7 +1816,6 @@ pytest = ">=3.0.0" name = "pytest-xdist" version = "3.3.1" description = "pytest xdist plugin for distributed testing, most importantly across multiple CPUs" -category = "dev" optional = false python-versions = ">=3.7" files = [ @@ -1916,7 +1836,6 @@ testing = ["filelock"] name = "python-dateutil" version = "2.8.2" description = "Extensions to the standard Python datetime module" -category = "main" optional = false python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,>=2.7" files = [ @@ -1931,7 +1850,6 @@ six = ">=1.5" name = "pytz" version = "2022.7.1" description = "World timezone definitions, modern and historical" -category = "main" optional = false python-versions = "*" files = [ @@ -1943,7 +1861,6 @@ files = [ name = "pytz-deprecation-shim" version = "0.1.0.post0" description = "Shims to make deprecation of pytz easier" -category = "main" optional = false python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,>=2.7" files = [ @@ -1958,7 +1875,6 @@ tzdata = {version = "*", markers = "python_version >= \"3.6\""} name = "pyyaml" version = "6.0" description = "YAML parser and emitter for Python" -category = "main" optional = false python-versions = ">=3.6" files = [ @@ -2008,7 +1924,6 @@ files = [ name = "regex" version = "2023.3.23" description = "Alternative regular expression module, to replace re." -category = "main" optional = false python-versions = ">=3.8" files = [ @@ -2078,7 +1993,6 @@ files = [ name = "requests" version = "2.31.0" description = "Python HTTP for Humans." -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -2100,7 +2014,6 @@ use-chardet-on-py3 = ["chardet (>=3.0.2,<6)"] name = "requests-oauthlib" version = "1.1.0" description = "OAuthlib authentication support for Requests." -category = "main" optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" files = [ @@ -2119,7 +2032,6 @@ rsa = ["oauthlib[signedtoken] (>=2.1.0,<3.0.0)"] name = "restrictedpython" version = "6.2" description = "RestrictedPython is a defined subset of the Python language which allows to provide a program input into a trusted environment." -category = "main" optional = false python-versions = ">=3.6, <3.12" files = [ @@ -2135,7 +2047,6 @@ test = ["pytest", "pytest-mock"] name = "ruamel-yaml" version = "0.17.21" description = "ruamel.yaml is a YAML parser/emitter that supports roundtrip preservation of comments, seq/map flow style, and map key order" -category = "dev" optional = false python-versions = ">=3" files = [ @@ -2154,7 +2065,6 @@ jinja2 = ["ruamel.yaml.jinja2 (>=0.2)"] name = "ruamel-yaml-clib" version = "0.2.7" description = "C version of reader, parser and emitter for ruamel.yaml derived from libyaml" -category = "dev" optional = false python-versions = ">=3.5" files = [ @@ -2201,7 +2111,6 @@ files = [ name = "ruff" version = "0.0.270" description = "An extremely fast Python linter, written in Rust." -category = "dev" optional = false python-versions = ">=3.7" files = [ @@ -2228,7 +2137,6 @@ files = [ name = "safety" version = "2.3.5" description = "Checks installed dependencies for known vulnerabilities and licenses." -category = "dev" optional = false python-versions = "*" files = [ @@ -2252,7 +2160,6 @@ gitlab = ["python-gitlab (>=1.3.0)"] name = "sentry-sdk" version = "1.19.1" description = "Python client for Sentry (https://sentry.io)" -category = "main" optional = false python-versions = "*" files = [ @@ -2294,7 +2201,6 @@ tornado = ["tornado (>=5)"] name = "setuptools" version = "65.7.0" description = "Easily download, build, install, upgrade, and uninstall Python packages" -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -2311,7 +2217,6 @@ testing-integration = ["build[virtualenv]", "filelock (>=3.4.0)", "jaraco.envs ( name = "simplejson" version = "3.19.1" description = "Simple, fast, extensible JSON encoder/decoder for Python" -category = "main" optional = false python-versions = ">=2.5, !=3.0.*, !=3.1.*, !=3.2.*" files = [ @@ -2406,7 +2311,6 @@ files = [ name = "six" version = "1.16.0" description = "Python 2 and 3 compatibility utilities" -category = "main" optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*" files = [ @@ -2418,7 +2322,6 @@ files = [ name = "smmap" version = "5.0.0" description = "A pure Python implementation of a sliding window memory map manager" -category = "dev" optional = false python-versions = ">=3.6" files = [ @@ -2430,7 +2333,6 @@ files = [ name = "spiff-element-units" version = "0.3.1" description = "" -category = "main" optional = false python-versions = ">=3.9" files = [ @@ -2451,7 +2353,6 @@ files = [ name = "SpiffWorkflow" version = "2.0.0rc0" description = "" -category = "main" optional = false python-versions = "*" files = [] @@ -2471,7 +2372,6 @@ resolved_reference = "f113aba0f59f18e9dce7263289c441a28a83b4c6" name = "sqlalchemy" version = "2.0.9" description = "Database Abstraction Library" -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -2519,7 +2419,7 @@ files = [ ] [package.dependencies] -greenlet = {version = "!=0.4.17", markers = "platform_machine == \"aarch64\" or platform_machine == \"ppc64le\" or platform_machine == \"x86_64\" or platform_machine == \"amd64\" or platform_machine == \"AMD64\" or platform_machine == \"win32\" or platform_machine == \"WIN32\""} +greenlet = {version = "!=0.4.17", markers = "platform_machine == \"win32\" or platform_machine == \"WIN32\" or platform_machine == \"AMD64\" or platform_machine == \"amd64\" or platform_machine == \"x86_64\" or platform_machine == \"ppc64le\" or platform_machine == \"aarch64\""} typing-extensions = ">=4.2.0" [package.extras] @@ -2549,7 +2449,6 @@ sqlcipher = ["sqlcipher3-binary"] name = "sqlalchemy-stubs" version = "0.4" description = "SQLAlchemy stubs and mypy plugin" -category = "main" optional = false python-versions = "*" files = [] @@ -2569,7 +2468,6 @@ resolved_reference = "d1176931684ce5b327539cc9567d4a1cd8ef1efd" name = "stevedore" version = "5.0.0" description = "Manage dynamic plugins for Python applications" -category = "dev" optional = false python-versions = ">=3.8" files = [ @@ -2584,7 +2482,6 @@ pbr = ">=2.0.0,<2.1.0 || >2.1.0" name = "swagger-ui-bundle" version = "0.0.9" description = "swagger_ui_bundle - swagger-ui files in a pip package" -category = "main" optional = false python-versions = "*" files = [ @@ -2599,7 +2496,6 @@ Jinja2 = ">=2.0" name = "toml" version = "0.10.2" description = "Python Library for Tom's Obvious, Minimal Language" -category = "dev" optional = false python-versions = ">=2.6, !=3.0.*, !=3.1.*, !=3.2.*" files = [ @@ -2611,7 +2507,6 @@ files = [ name = "tomli" version = "2.0.1" description = "A lil' TOML parser" -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -2623,7 +2518,6 @@ files = [ name = "typeguard" version = "3.0.2" description = "Run-time type checker for Python" -category = "dev" optional = false python-versions = ">=3.7.4" files = [ @@ -2642,7 +2536,6 @@ test = ["mypy (>=0.991)", "pytest (>=7)"] name = "types-click" version = "7.1.8" description = "Typing stubs for click" -category = "dev" optional = false python-versions = "*" files = [ @@ -2654,7 +2547,6 @@ files = [ name = "types-dateparser" version = "1.1.4.9" description = "Typing stubs for dateparser" -category = "dev" optional = false python-versions = "*" files = [ @@ -2666,7 +2558,6 @@ files = [ name = "types-flask" version = "1.1.6" description = "Typing stubs for Flask" -category = "dev" optional = false python-versions = "*" files = [ @@ -2683,7 +2574,6 @@ types-Werkzeug = "*" name = "types-jinja2" version = "2.11.9" description = "Typing stubs for Jinja2" -category = "dev" optional = false python-versions = "*" files = [ @@ -2698,7 +2588,6 @@ types-MarkupSafe = "*" name = "types-markupsafe" version = "1.1.10" description = "Typing stubs for MarkupSafe" -category = "dev" optional = false python-versions = "*" files = [ @@ -2710,7 +2599,6 @@ files = [ name = "types-pytz" version = "2022.7.1.2" description = "Typing stubs for pytz" -category = "dev" optional = false python-versions = "*" files = [ @@ -2722,7 +2610,6 @@ files = [ name = "types-pyyaml" version = "6.0.12.9" description = "Typing stubs for PyYAML" -category = "dev" optional = false python-versions = "*" files = [ @@ -2734,7 +2621,6 @@ files = [ name = "types-requests" version = "2.28.11.17" description = "Typing stubs for requests" -category = "dev" optional = false python-versions = "*" files = [ @@ -2749,7 +2635,6 @@ types-urllib3 = "<1.27" name = "types-urllib3" version = "1.26.25.10" description = "Typing stubs for urllib3" -category = "dev" optional = false python-versions = "*" files = [ @@ -2761,7 +2646,6 @@ files = [ name = "types-werkzeug" version = "1.0.9" description = "Typing stubs for Werkzeug" -category = "dev" optional = false python-versions = "*" files = [ @@ -2773,7 +2657,6 @@ files = [ name = "typing-extensions" version = "4.5.0" description = "Backported and Experimental Type Hints for Python 3.7+" -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -2785,7 +2668,6 @@ files = [ name = "tzdata" version = "2023.3" description = "Provider of IANA time zone data" -category = "main" optional = false python-versions = ">=2" files = [ @@ -2797,7 +2679,6 @@ files = [ name = "tzlocal" version = "4.3" description = "tzinfo object for the local timezone" -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -2816,7 +2697,6 @@ devenv = ["black", "check-manifest", "flake8", "pyroma", "pytest (>=4.3)", "pyte name = "urllib3" version = "1.26.15" description = "HTTP library with thread-safe connection pooling, file post, and more." -category = "main" optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, !=3.5.*" files = [ @@ -2833,7 +2713,6 @@ socks = ["PySocks (>=1.5.6,!=1.5.7,<2.0)"] name = "virtualenv" version = "20.21.0" description = "Virtual Python Environment builder" -category = "dev" optional = false python-versions = ">=3.7" files = [ @@ -2854,7 +2733,6 @@ test = ["covdefaults (>=2.2.2)", "coverage (>=7.1)", "coverage-enable-subprocess name = "werkzeug" version = "2.3.4" description = "The comprehensive WSGI web application library." -category = "main" optional = false python-versions = ">=3.8" files = [ @@ -2872,7 +2750,6 @@ watchdog = ["watchdog (>=2.3)"] name = "wtforms" version = "3.0.1" description = "Form validation and rendering for Python web development." -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -2890,7 +2767,6 @@ email = ["email-validator"] name = "xdoctest" version = "1.1.1" description = "A rewrite of the builtin doctest module" -category = "dev" optional = false python-versions = ">=3.6" files = [ diff --git a/spiffworkflow-frontend/src/components/ButtonWithConfirmation.tsx b/spiffworkflow-frontend/src/components/ButtonWithConfirmation.tsx index f8a56b25..14e3d9f3 100644 --- a/spiffworkflow-frontend/src/components/ButtonWithConfirmation.tsx +++ b/spiffworkflow-frontend/src/components/ButtonWithConfirmation.tsx @@ -13,6 +13,7 @@ type OwnProps = { renderIcon?: boolean; iconDescription?: string | null; hasIconOnly?: boolean; + classNameForModal?: string; }; export default function ButtonWithConfirmation({ @@ -26,6 +27,7 @@ export default function ButtonWithConfirmation({ renderIcon = false, iconDescription = null, hasIconOnly = false, + classNameForModal, }: OwnProps) { const [showConfirmationPrompt, setShowConfirmationPrompt] = useState(false); @@ -54,6 +56,7 @@ export default function ButtonWithConfirmation({ onSecondarySubmit={handleConfirmationPromptCancel} onRequestSubmit={handleConfirmation} onRequestClose={handleConfirmationPromptCancel} + className={classNameForModal} /> ); }; diff --git a/spiffworkflow-frontend/src/components/ProcessModelTestRun.tsx b/spiffworkflow-frontend/src/components/ProcessModelTestRun.tsx index 231b86b2..eda42aa8 100644 --- a/spiffworkflow-frontend/src/components/ProcessModelTestRun.tsx +++ b/spiffworkflow-frontend/src/components/ProcessModelTestRun.tsx @@ -12,11 +12,13 @@ import { type OwnProps = { processModelFile?: ProcessFile; titleText: string; + classNameForModal?: string; }; export default function ProcessModelTestRun({ processModelFile, titleText, + classNameForModal, }: OwnProps) { const [testCaseResults, setTestCaseResults] = useState(null); @@ -142,10 +144,11 @@ export default function ProcessModelTestRun({ open={showTestCaseResultsModal} data-qa="test-case-results-modal" modalHeading={modalHeading} - modalLabel="Test Case Rsults" + modalLabel="Test Case Results" primaryButtonText="OK" onRequestSubmit={() => setShowTestCaseResultsModal(false)} onRequestClose={() => setShowTestCaseResultsModal(false)} + className={classNameForModal} > {testCaseFormattedResultTag()} diff --git a/spiffworkflow-frontend/src/index.css b/spiffworkflow-frontend/src/index.css index 56922c0e..bba7bb6d 100644 --- a/spiffworkflow-frontend/src/index.css +++ b/spiffworkflow-frontend/src/index.css @@ -573,6 +573,14 @@ svg.notification-icon { background-color: #80ee90; } +/* reset to initial modal css and avoid table specific css */ +.modal-within-table-cell .cds--modal-container { + text-align: left; +} +.modal-within-table-cell .cds--modal-container button { + padding-left: 15px; +} + /* Errors and notifications */ .error_info .error_title { display: inline-block; diff --git a/spiffworkflow-frontend/src/routes/ProcessModelShow.tsx b/spiffworkflow-frontend/src/routes/ProcessModelShow.tsx index 38ee8c84..752d05d8 100644 --- a/spiffworkflow-frontend/src/routes/ProcessModelShow.tsx +++ b/spiffworkflow-frontend/src/routes/ProcessModelShow.tsx @@ -303,6 +303,7 @@ export default function ProcessModelShow() { onDeleteFile(processModelFile.name); }} confirmButtonLabel="Delete" + classNameForModal="modal-within-table-cell" /> ); @@ -327,6 +328,7 @@ export default function ProcessModelShow() { );