Fix stale session redirect loop, filtering stats to reflect overrides
All checks were successful
Build and Push Docker Image / build (push) Successful in 8m56s

- Auth layout verifies user exists in DB before redirecting to dashboard,
  breaking infinite loop for deleted accounts with stale sessions
- Jury/Mentor layouts handle null user (deleted) by redirecting to login
- Filtering stats cards and result list now use effective outcome
  (finalOutcome ?? outcome) instead of raw AI outcome
- Award eligibility evaluation includes admin-overridden PASSED projects
- Award shortlist reasoning column shows full text instead of truncating

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
Matt
2026-02-18 10:01:31 +01:00
parent 1ec2247295
commit 6e9fcda45a
6 changed files with 72 additions and 44 deletions

View File

@@ -59,9 +59,15 @@ export async function processEligibilityJob(
}>
if (filteringRoundId) {
// Scope to projects that PASSED filtering in the specified round
// Scope to projects that effectively PASSED filtering (including admin overrides)
const passedResults = await prisma.filteringResult.findMany({
where: { roundId: filteringRoundId, outcome: 'PASSED' },
where: {
roundId: filteringRoundId,
OR: [
{ finalOutcome: 'PASSED' },
{ finalOutcome: null, outcome: 'PASSED' },
],
},
select: { projectId: true },
})
const passedIds = passedResults.map((r) => r.projectId)