diff --git a/README.md b/README.md index 84983e5..60c5c18 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,7 @@ +

+ scraps +

+ # scraps nom nom nom diff --git a/backend/README.md b/backend/README.md index f88845b..f6c8fa5 100644 --- a/backend/README.md +++ b/backend/README.md @@ -1 +1,3 @@ -# scraps backend \ No newline at end of file +# scraps backend + +just don't diff --git a/backend/src/routes/admin.ts b/backend/src/routes/admin.ts index 5dcba20..06ab808 100644 --- a/backend/src/routes/admin.ts +++ b/backend/src/routes/admin.ts @@ -444,6 +444,11 @@ admin.post('/reviews/:id', async ({ params, body, headers }) => { if (!project[0]) return { error: 'Project not found' } + // Validate hours override doesn't exceed project hours + if (hoursOverride !== undefined && hoursOverride > (project[0].hours ?? 0)) { + return { error: `Hours override (${hoursOverride}) cannot exceed project hours (${project[0].hours})` } + } + // Reject if project is deleted or not waiting for review if (project[0].deleted) { return { error: 'Cannot review a deleted project' } diff --git a/frontend/README.md b/frontend/README.md new file mode 100644 index 0000000..9fc3048 --- /dev/null +++ b/frontend/README.md @@ -0,0 +1,3 @@ +# scraps frontend + +at least it's not rails diff --git a/frontend/src/routes/admin/reviews/[id]/+page.svelte b/frontend/src/routes/admin/reviews/[id]/+page.svelte index 2af7b85..e8dd972 100644 --- a/frontend/src/routes/admin/reviews/[id]/+page.svelte +++ b/frontend/src/routes/admin/reviews/[id]/+page.svelte @@ -72,6 +72,12 @@ let hoursOverride = $state(undefined) let tierOverride = $state(undefined) + let hoursOverrideError = $derived( + hoursOverride !== undefined && project && hoursOverride > project.hours + ? `Hours override cannot exceed project hours (${project.hours}h)` + : null + ) + let confirmAction = $state<'approved' | 'denied' | 'permanently_rejected' | null>(null) let projectId = $derived(page.params.id) @@ -421,10 +427,15 @@ + {#if hoursOverrideError} +

{hoursOverrideError}

+ {/if}
@@ -465,24 +476,24 @@