Index
hypha.apply.funds.workflows
¶
Workflow System Documentation
This package implements a flexible workflow system for managing application states and transitions. The system is built on the following key concepts:
- Workflow: Overall process definition containing stages and phases
- Stage: Major sections of the workflow (e.g. Request, Proposal)
- Phase: Individual states within a stage
- Transition: Allowed movements between phases
Key Components: - models/: Core workflow model classes - definitions/: Workflow configuration definitions - registry.py: Central workflow registration and lookup - permissions.py: Permission checking system
PHASES
module-attribute
¶
PHASES = list(itertools.chain.from_iterable(workflow.items() for workflow in WORKFLOWS.values()))
STATUS_SLUGS
module-attribute
¶
STATUS_SLUGS = {value.display_name: value.display_slug for _, value in PHASES}
WORKFLOWS
module-attribute
¶
WORKFLOWS = {Request.admin_name: Request, RequestSameTime.admin_name: RequestSameTime, RequestExternal.admin_name: RequestExternal, RequestCommunity.admin_name: RequestCommunity, RequestExternalInternal.admin_name: RequestExternalInternal, ConceptProposal.admin_name: ConceptProposal}
active_statuses
module-attribute
¶
active_statuses = [status for status, _ in PHASES if 'accepted' not in status and 'rejected' not in status and 'invited' not in status]