Skip to content

Howdy Week deferred points award #36

Description

@akhilk999

Summary

Howdy Week events track prospective attendance in event_guests. Linked guests already get attendance rows at 0 points (CSV upload / rematch / register auto-link). Officers should later be able to award points for those existing attendance rows without re-running a mixer-style org filter.

Desired behavior

  • On a published Howdy Week event detail page, add an Award points control (officer/admin only).
  • Officer chooses award type: General Meeting (2) / CSA-Wide (3) / CSA-Wide Mixers (3) (display/bucket semantics only — do not require mixer "org contains CSA" filter or JT-family rules).
  • Apply points to existing attendance rows for linked members (e.g. update event point_value / award metadata, or set overrides) — do not invent attendance from scratch.
  • Unmatched guests stay on event_guests for outreach; they do not get points until linked.
  • Idempotent: awarding twice must not duplicate attendance.
  • After a successful award, the button is disabled / not clickable (persist award state on the event, e.g. points_awarded_at / points_awarded_as columns).
  • Prefer an explicit award action over morphing the event category (category change would also flip check-in type and labels).

Already implemented

Guest CSV, auto-link on register, rematch (event detail + Guests tab), badges, Guests outreach tab with export log, and 0-pt attendance for linked members.

Test plan

  • Award with linked attendance → points appear on leaderboard/profile
  • Award with unmatched guests only → no points / clear message
  • Re-click award → blocked / no-op, UI disabled
  • Leaderboard buckets match chosen award type
  • Caps (JT weekly / spectator) do not apply unless we intentionally map into those categories later (current intent: GM / CSA-Wide / Mixers bucket only)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions