Skip to content

Integrated KANBAN

Models for which a StateMachine has been defined now automatically provide a KANBAN view board that displays all defined States as columns, letting your team move cards with drag & drop — guided by defined transition rules that keep every step on track.

alt text

alt text

You can configure available states and available transitions in code:

protected function getStates(): ?array
{
    return [
        'new' => $this->createState('steelblue', 'file-plus', true),
        'in_progress' => $this->createState('orange', 'pencil'),
        'waiting' => $this->createState('darkorange', 'hourglass'),
        'review' => $this->createState('orange', 'seal-question'),
        'rejected' => $this->createState('red', 'seal-warning'),
        'accepted' => $this->createState('green', 'seal-check'),
        'archived' => $this->createState('grey', 'archive'),
    ];
}

protected function getTransitions(): ?array
{
    return array_filter([
        'new' => ['in_progress', 'waiting'],
        'in_progress' => ['waiting', 'review'],
        'waiting' => ['in_progress', 'review'],
        'review' => ['rejected', 'accepted', 'in_progress', 'waiting'],
        'rejected' => ['archived', 'review'],
        'accepted' => ['archived'],
        'archived' => (Debug::enabled() ? ['new'] : null),
    ]);
}

When you drag a card, the board reflects the possible target statuses and displays them visually:

alt text