Submitting a course for approval
Wisteria’s submission flow is course-scoped, not module-scoped. You don’t submit one module at a time — you submit the whole course as a bundle, after marking every module ready.
Step 1 — Mark each module ready
On every module’s Quiz tab, there’s a Ready to Submit button.
Click it to flip the module to “ready.” The button toggles to ✓ Ready to Submit (click to undo). You can un-flip if you change your mind.
What “ready” means: you the trainer think this module is finished and waiting for the rest of the course. It doesn’t submit anything yet.
Two preconditions:
- The module must have at least one card.
- The module must have at least one quiz question.
If either is missing, the Ready button is disabled with an inline hint.
Step 2 — The auto-popup modal
When you mark the last module in a course as Ready — meaning every module in the course is now ready — a submission modal pops up automatically on the module page. You don’t have to navigate to the course detail page.
The modal asks:
- Course title — confirmed (already filled in)
- Module count — confirmation that you intended to submit all N modules
- Recertification — toggle on if learners need to re-take annually
- Recert interval — if recert is on, set the days (365 / 180 / 90 as presets)
Two actions at the bottom:
- Save & exit — close the modal, KEEP the Ready flags, defer submission for later
- Submit — send the whole course for approval
Step 3 — Submit
Click Submit. What happens server-side:
- Wisteria checks every module has a quiz with at least one question (quiz gate).
- For each module, Wisteria creates an
approval_requestrow pointing at the current workflow (based on the course’s tags). - Every module’s status flips from
drafttopending_approval. - Approvers (the people assigned to step 1 of the workflow) get notified by email + Slack.
- The course appears on the approvals kanban under “Pending Approval.”
The flow takes about 2 seconds. You see a confirmation toast and the page redirects back to the course detail view.
Step 4 — Track progress
From the course detail page you can see each module’s individual status. Modules approve / reject per-module — you don’t wait for one big decision at the end.
You’ll get an email when:
- A reviewer approves a module
- A reviewer rejects a module (with their comment)
- A reviewer asks for a query (asks a question without rejecting yet)
If a module is rejected, see Resubmitting after rejection.
”Save & exit” — what it does
If you click Save & exit on the submit modal:
- The Ready flags STAY on every module.
- No
approval_requestrows are created. - The course is still in
draftstatus. - A banner appears at the top of every module in the course: “All N modules in [Course Title] are ready. Submit course.” — clicking it re-opens the submit modal.
Use Save & exit when you want to mark modules Ready (so you don’t lose your place) but defer the actual submission — e.g. you want to double-check with someone before submitting, or you want to ship the submission tomorrow morning when reviewers are online.
What if not all modules are ready
You can’t submit a course until every module is marked Ready. The submit modal only auto-pops on the last click that takes the course to N/N ready.
If you have a 3-module course with 2 ready and 1 you’re not happy with yet, you can:
- Finish the third module — the modal will pop on the next Ready click.
- Delete the third module — the modal will pop the moment N matches the new N.
- Submit a partial course — not supported. Wisteria’s model is course-scoped submission. Either the whole course is ready or none of it is.
What if a module changes after Ready is marked
If you edit a flashcard or a quiz question on a module that’s already marked Ready, Wisteria clears the Ready flag for that module — you’ll need to re-mark it Ready before the course can be submitted.
This is intentional: a stale “Ready” flag would mean reviewers might approve content that you’ve since changed.
What if a course doesn’t have a tag
The submit modal won’t open. There’s an inline hint on the course detail page: “This course needs at least one tag before it can be submitted.” Click through to Course Settings → add a tag → come back.
See Tags for the rationale.
After submission
The trainer’s role on a submitted course is to wait and respond to feedback. You can:
- Watch each module’s status update on the course detail page
- Check the Queries tab at
/admin/approvals/queriesfor any rejections - Respond to queries (see Resubmitting after rejection)
Once every module is approved, you’ll see a banner: “This course is ready to publish.” Click Publish to deliver it to learners.
Notifications
You’ll get notifications for:
- Each module approval (email)
- Each module rejection (email, with reviewer’s comment)
- The whole course is approved (email + Slack, if Slack is configured)
- The course has been published (sent to assigned learners, not to you)