Skip to content

Let executives hold multiple terms - #135

Merged
AlaqmarG merged 1 commit into
mainfrom
feat/exec-terms
Sep 15, 2026
Merged

AlaqmarG merged 1 commit into
mainfrom
feat/exec-terms

Conversation

@AlaqmarG

@AlaqmarG AlaqmarG commented Sep 15, 2026

Copy link
Copy Markdown
Member

Description

Stacked on #134 (Exports) — targets that branch, not main.

  • Execs can now serve multiple terms. Term is a chip list (add/remove) instead of one dropdown, on both the co-president tile editor and an exec's own profile.
  • A current exec with no term gets the current academic year assigned automatically — once at startup for existing tiles, and immediately whenever a tile becomes current (approval, creation, returning to the team).
  • Everywhere a term is shown (team page, Users, admin search, exports) now shows the exec's newest term.
  • Team page: a returning exec appears once, under their newest term; their alumni card lists every year they served; search matches any of them.
  • Access Removal (Exports) now catches anyone who served in the chosen year, not just those whose newest term is that year.
  • Fixes a false "this document isn't for the current year" warning on exports between April and August, when the incoming team's tiles legitimately carry next year already.

Checklist

  • npm run typecheck, npm run lint, npm run format:check and npm run build pass
  • Schema changes have a committed migration (npm run db:generate) — none (jsonb)
  • New env vars added to .env.example, .env.local.example, deploy/docker-compose.yml and komodo/deploy-context.mjs — none
  • Admin-only routes gated with requireAdmin / requireApprover
  • Tested on the branch's preview deploy: public team page (light theme). Admin-side chip editor and palette hint need a sign-in to click through.
  • No secrets, internal hostnames or IPs committed

Testing Evidence

team page on the preview
  • No current exec or alumnus in the copied prod data serves more than one term yet, so the "Also served" line and multi-term chip editor aren't visible against real data here — they're covered by the workflow's fake-data behaviour script (19/19 checks) instead.

@AlaqmarG AlaqmarG added feature New capability for the people using the site area: admin The admin portal: analytics, users, events area: web The public website labels Sep 15, 2026
Base automatically changed from feat/data-exports to main September 15, 2026 01:38
@AlaqmarG
AlaqmarG merged commit c5e0bca into main Sep 15, 2026
8 checks passed
@AlaqmarG
AlaqmarG deleted the feat/exec-terms branch September 15, 2026 01:39
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area: admin The admin portal: analytics, users, events area: web The public website feature New capability for the people using the site

Development

Successfully merging this pull request may close these issues.

1 participant