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

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions