Add yes/no RSVP answers with required login

RSVPs now carry a status ('yes'/'no'). When auth is enabled, answering
requires login for all events, not just capped ones. Answers are deduped
one per user and re-answering updates in place. A 'no' zeroes plus_one,
is excluded from Going counts and cap math, frees the person's slot
claims, and shows in a separate "Can't make it" list.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
2026-08-26 07:59:33 -04:00
parent 891b49b4c0
commit cf2ef77bb0
12 changed files with 341 additions and 107 deletions
+7
View File
@@ -9,6 +9,13 @@
<label>Your name</label>
<input type="text" name="name" value="{{.Rsvp.Name}}" required>
</div>
<div class="form-row">
<label>Coming?</label>
<select name="status">
<option value="yes" {{if ne .Rsvp.Status "no"}}selected{{end}}>Yes, I'm going</option>
<option value="no" {{if eq .Rsvp.Status "no"}}selected{{end}}>Can't make it</option>
</select>
</div>
<div class="form-row">
<label>Bringing anyone?</label>
<input type="number" name="plus_one" value="{{.Rsvp.PlusOne}}" min="0" max="10">