Skip to content

Commit 02654ad

Browse files
committed
feat: add admin approval requirement for event registrations
1 parent cd832f2 commit 02654ad

3 files changed

Lines changed: 20 additions & 2 deletions

File tree

src/component/EventDetails.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -364,7 +364,7 @@ const EventDetails: React.FC<EventDetailsProps> = ({ eventId }) => {
364364
variant="success"
365365
className="me-2"
366366
onClick={() => {
367-
if (canManageRegistrations(currentUser, event)) {
367+
if (canViewRegistrations(currentUser, event)) {
368368
setShowExportModal(true);
369369
} else {
370370
setInsufficientModal({ show: true, message: "You don't have permission to export registrations for this event." });
@@ -567,7 +567,7 @@ const EventDetails: React.FC<EventDetailsProps> = ({ eventId }) => {
567567
variant="success"
568568
className="me-2"
569569
onClick={() => {
570-
if (canManageRegistrations(currentUser, event)) {
570+
if (canViewRegistrations(currentUser, event)) {
571571
setShowExportModal(true);
572572
} else {
573573
setInsufficientModal({ show: true, message: "You don't have permission to export team registrations for this event." });

src/component/editEventModal/EventFormModal.tsx

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -670,6 +670,23 @@ const EventFormModal: React.FC<EventFormModalProps> = ({ show, onHide, onSubmit,
670670
<div className="form-text">Enable registration fees.</div>
671671
</div>
672672

673+
<div className="col-md-3">
674+
<label htmlFor="requireAdminApproval" className="form-label">Require Admin Approval</label>
675+
<div className="form-check form-switch">
676+
<input
677+
className="form-check-input"
678+
type="checkbox"
679+
id="requireAdminApproval"
680+
checked={event.requireAdminApproval || false}
681+
onChange={(e) => setEvent({ ...event, requireAdminApproval: e.target.checked })}
682+
/>
683+
<label className="form-check-label" htmlFor="requireAdminApproval">
684+
{event.requireAdminApproval ? "Required" : "Not Required"}
685+
</label>
686+
</div>
687+
<div className="form-text">Registrations need admin approval.</div>
688+
</div>
689+
673690
{/* paymentType selector: only shown for team events since user asked */}
674691
{event.eventType === "team" && (
675692
<div className="col-md-3">

src/models/Event.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -81,4 +81,5 @@ export interface Event {
8181
venueName?: string;
8282
venueId?: string;
8383
sameCollegeOnly?: boolean;
84+
requireAdminApproval?: boolean;
8485
}

0 commit comments

Comments
 (0)