| Version 1 (modified by , 8 days ago) ( diff ) |
|---|
UC0004 - Check Full Member Meeting Attendance
Initiating actor: Board Member
A Board Member records attendance for a Full Member Meeting. The scenario checks attendance for the Full Member Meeting held on 12 March 2026.
Scenario
- The Board Member opens the attendance screen for the Full Member Meeting.
- The application lists full members with their RSVP, attendance status, and absence reason if one exists.
SELECT
s.student_index,
s.first_name,
s.last_name,
COALESCE(p.rsvp_status, 'no_response') AS rsvp_status,
COALESCE(p.attendance_status, 'not_checked') AS attendance_status,
aa.reason
FROM full_members fm
JOIN students s
ON s.student_index = fm.student_index
LEFT JOIN participation p
ON p.student_index = fm.student_index
AND p.at_name = 'Full Member Meeting'
AND p.as_start_time = TIMESTAMP '2026-03-12 18:00:00'
AND p.as_location = 'BEST Office'
LEFT JOIN announces_absence aa
ON aa.student_index = fm.student_index
AND aa.at_name = 'Full Member Meeting'
AND aa.as_start_time = TIMESTAMP '2026-03-12 18:00:00'
AND aa.as_location = 'BEST Office'
ORDER BY s.last_name, s.first_name;
- The Board Member marks Mila Jovanovska as excused.
- The application updates the attendance status.
UPDATE participation SET attendance_status = 'excused' WHERE student_index = 230005 AND at_name = 'Full Member Meeting' AND as_start_time = TIMESTAMP '2026-03-12 18:00:00' AND as_location = 'BEST Office';
- The application refreshes the attendance list.
SELECT
p.student_index,
s.first_name,
s.last_name,
p.rsvp_status,
p.rsvp_at,
p.attendance_status
FROM participation p
JOIN students s
ON s.student_index = p.student_index
WHERE p.at_name = 'Full Member Meeting'
AND p.as_start_time = TIMESTAMP '2026-03-12 18:00:00'
AND p.as_location = 'BEST Office'
ORDER BY s.last_name, s.first_name;
Note:
See TracWiki
for help on using the wiki.
