Pre-release
This release is a pre-release and may not be stable for production use.
forge-mvc-workflow
Module workflow pour Forge — statuts et transitions applicatives.
Extrait du core Forge depuis la version 2.6.0 (ADR-004).
Installation
pip install forge-mvc-workflow
# ou en mode developpement
pip install -e packages/forge-mvc-workflow/
Usage
from forge_mvc_workflow import (
WorkflowStatus,
WorkflowTransition,
make_status,
make_transition,
validate_statuses,
validate_transitions,
can_transition,
get_available_transitions,
make_workflow_jinja_helpers,
)
# Definir des statuts
statuses = validate_statuses([
make_status("brouillon", label="Brouillon", color="gray"),
make_status("confirme", label="Confirme", color="green"),
make_status("annule", label="Annule", color="red"),
])
# Definir des transitions autorisees
transitions = validate_transitions([
make_transition("brouillon", "confirme"),
make_transition("brouillon", "annule"),
make_transition("confirme", "annule"),
], statuses=statuses)
# Verifier une transition
if can_transition(transitions, "brouillon", "confirme"):
...
# Obtenir les transitions disponibles depuis un statut
available = get_available_transitions(transitions, "brouillon")
Helpers Jinja2
env.globals.update(make_workflow_jinja_helpers())
Dans un template :
{{ workflow_status_badge(reservation.status) }}
{{ workflow_status_label(reservation.status) }}
Cas d'usage
- Statut d'une reservation (brouillon → confirmee → terminee → annulee)
- Statut d'un document (redaction → validation → publie)
- Statut d'une commande (panier → payee → expediee → livree)
API publique
WorkflowStatus— dataclass statut (name, label, color)WorkflowTransition— dataclass transition (from_status, to_status)make_status(name, label, color)— constructeur validemake_transition(from_status, to_status)— constructeur validevalidate_statuses(list)— valide une liste de statutsvalidate_transitions(list, statuses)— valide les transitions par rapport aux statutscan_transition(transitions, from_name, to_name)— teste une transitionget_available_transitions(transitions, from_name)— liste les transitions disponiblesmake_workflow_jinja_helpers()— dict de helpers Jinja2
Release files for forge-mvc-workflow 1.0.0rc6
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| forge_mvc_workflow-1.0.0rc6.tar.gz | 11.2 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| forge_mvc_workflow-1.0.0rc6-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 18.7 kB
Release files / forge_mvc_workflow-1.0.0rc6.tar.gz
| Download URL | forge_mvc_workflow-1.0.0rc6.tar.gz |
|---|---|
| Size | 11.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
f925dab43c79029170482fe143165a3479e2dc2e441c74c9e0b04c75d25b9bd1
|
|
BLAKE2b-256 checksum How to use checksums |
634133e58f04652d55bf98341d6ab5f91b421708e4c850cad905c9d1686916ff
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.13
|
Release files / forge_mvc_workflow-1.0.0rc6-py3-none-any.whl
| Download URL | forge_mvc_workflow-1.0.0rc6-py3-none-any.whl |
|---|---|
| Size | 7.5 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
4380295983e7faf17fe9a9063b13fe23d25153bbec17a49a1932286fd63516cd
|
|
BLAKE2b-256 checksum How to use checksums |
0aed7420070c274ab48bed11f16fb888d0236afb2280e43c805b0635b6c3ce93
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.13
|