Skip to content

Let students waive a prerequisite for units - #77

Merged
Swofty-Developments merged 3 commits into
mainfrom
tans/prerequisite-waivers
Oct 31, 2026
Merged

Swofty-Developments merged 3 commits into
mainfrom
tans/prerequisite-waivers

Conversation

@Tyzren

@Tyzren Tyzren commented Oct 31, 2026

Copy link
Copy Markdown
Contributor

Students can waive a prerequisite for one unit from its details, ie. waive MAT1830 for FIT3235. It only counts for that unit's prerequisites in that plan and adds no credit, so other units with the same prerequisite still need it. Waivers save with the plan like credit, and clear when the course or start year changes or the map is reset. A Waivers dialog lists them, and print and CSV show the ones for units on the plan.

Also trim stray whitespace from requisite codes, which stopped 16 prerequisites in the 2027 handbook from being met, ie. ADS2002 needing "ADS2001 ", and hid prohibitions on 6 units.

Some handbook codes carry spaces or tabs, which no completed unit could
ever match. That stopped 16 prerequisites in the 2027 handbook from being
met (ADS2002 needs "ADS2001 ") and hid prohibitions on 6 units, so
FIT5003 with ITO5003 now conflicts.
A waiver counts as met only for that unit's prerequisites. It earns no
credit, and corequisites, prohibitions, course progress and other units
ignore it. Search ranking treats the unit as ready to take and stops
suggesting the waived code for it. Waivers are saved as part of the plan,
so each course map has its own. Changing the course or start year or
resetting the map clears them, as does loading a plan whose start year
is no longer in the database.

The CSV lists waivers for units on the plan.
An unmet prerequisite in a placed unit's details gets a Waive button,
placed in the requirement tree so its "all of" and "any of" stay
readable. A waived one shows as met, with Undo. Where the slot reads
another handbook year, the error says which year to switch to. A Waivers
dialog lists the plan's waivers for removal and says when one no longer
applies.

A card relying on a waiver gets a small marker, and the Validate tooltip
and toast say so. Changing the course offers Undo when it clears waivers,
the start year and reset prompts warn about them, and the printed plan
lists waivers for units on the plan.
@Tyzren Tyzren self-assigned this Oct 31, 2026
@Swofty-Developments
Swofty-Developments merged commit 405de87 into main Oct 31, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants