The approvals kanban
The approvals kanban at /admin/approvals/pending shows every course in the workspace, grouped by status. It’s your work queue if you’re a content_manager or super_admin.
Available to: super_admin, content_manager, trainer (read-only, scoped to own department), auditor (read-only).
The four columns
| Column | What’s in it | What happens here |
|---|---|---|
| Draft | Courses still being authored | Trainers are working; nothing for you to do yet |
| Pending Approval | Courses with at least one module awaiting review | Where your queue lives |
| Published | Courses fully approved + published | Live to learners; can be archived from here |
| Archived | Courses removed from circulation | Historical; not visible to learners |
Card structure
Each card is a course, not a single module. The cards group modules inside their course:
- Course title + emoji + module count
- A “subline” depending on column:
- Draft: “4 / 6 modules ready”
- Pending: “3 modules awaiting review”
- Published: “12 modules live”
- The course’s tags as chips
- A link to the course detail page
Click a card to open the course detail view, where you’ll review each module individually.
What happens on submit
When a trainer submits a course, every module in it flips to pending_approval. The card moves from Draft to Pending Approval.
You get an email (if email notifications are on) and a Slack ping (if configured). The Approvals badge in the sidebar shows a count of pending courses.
What happens after each module decision
You approve modules one at a time. Wisteria moves a course between columns based on the aggregate state of its modules:
- Any module is
pending_approval→ course is in Pending Approval - Every module is
approvedorpublished→ course is in Approved (a sub-state of Pending Approval awaiting trainer publish) - Every module is
published→ course is in Published - Every module is
archived→ course is in Archived
So you’ll often see a course move slowly from Pending to Approved as you knock down modules one at a time.
Filtering and sorting
The board supports:
- Search — fuzzy match against course titles
- Filter by department — see only courses from a specific department
- Filter by tag — see only courses tagged with X
- Sort — recently submitted, oldest first, alphabetical
These persist in URL query params.
Trainer view: read-only, own department only
Trainers see the same board but:
- Scoped to courses they authored
- Read-only — they can’t move cards (drag-and-drop is disabled)
- Used to track their own course-progress through review
If you’re a trainer wondering why you can’t act on the board: that’s by design. Wait for the reviewer.
Auditor view: read-only, full workspace
Auditors see every card in every column but can’t act. Useful for compliance — auditors witness the queue without changing it.
What’s NOT on this board
- Queries — the rejection-and-resubmit threads live on a separate tab at
/admin/approvals/queries. See The rejection-and-resubmit cycle. - Workflow configuration — at
/admin/approvals/workflow. Super admin only.
The Approvals page has three tabs: Pending (this kanban), Queries (rejection threads), Workflow (builder). Switch between them from the tab bar.