Wersja MVP
This commit is contained in:
parent
1639a6367c
commit
803226678c
16
index.php
16
index.php
@ -232,7 +232,7 @@ $status_colors = [
|
|||||||
data-person-name="<?= htmlspecialchars($person['first_name'] . ' ' . $person['last_name']) ?>"
|
data-person-name="<?= htmlspecialchars($person['first_name'] . ' ' . $person['last_name']) ?>"
|
||||||
data-bni-group-id="<?= $col['group_id'] ?>"
|
data-bni-group-id="<?= $col['group_id'] ?>"
|
||||||
data-meeting-datetime="<?= $meeting_datetime ?>"
|
data-meeting-datetime="<?= $meeting_datetime ?>"
|
||||||
data-initial-status="<?= $status ?>"
|
data-current-status="<?= $status ?>"
|
||||||
title="Status: <?= ucfirst($status) ?>"></span>
|
title="Status: <?= ucfirst($status) ?>"></span>
|
||||||
</td>
|
</td>
|
||||||
<?php endforeach; ?>
|
<?php endforeach; ?>
|
||||||
@ -596,7 +596,7 @@ document.addEventListener('DOMContentLoaded', function () {
|
|||||||
function updateDot(dot, status) {
|
function updateDot(dot, status) {
|
||||||
const color = statusColors[status] || 'secondary';
|
const color = statusColors[status] || 'secondary';
|
||||||
dot.className = `badge rounded-circle bg-${color} meeting-dot`;
|
dot.className = `badge rounded-circle bg-${color} meeting-dot`;
|
||||||
dot.dataset.initialStatus = status;
|
dot.dataset.currentStatus = status;
|
||||||
dot.title = `Status: ${status.charAt(0).toUpperCase() + status.slice(1)}`;
|
dot.title = `Status: ${status.charAt(0).toUpperCase() + status.slice(1)}`;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -609,7 +609,13 @@ document.addEventListener('DOMContentLoaded', function () {
|
|||||||
document.querySelectorAll(`.meeting-dot[data-bni-group-id='${groupId}']`).forEach(dot => {
|
document.querySelectorAll(`.meeting-dot[data-bni-group-id='${groupId}']`).forEach(dot => {
|
||||||
dot.dataset.meetingDatetime = meetingDate;
|
dot.dataset.meetingDatetime = meetingDate;
|
||||||
const personId = dot.dataset.personId;
|
const personId = dot.dataset.personId;
|
||||||
let status = dot.dataset.initialStatus; // Keep default if no record
|
|
||||||
|
const personRow = dot.closest('tr');
|
||||||
|
const personGroupId = personRow.dataset.groupId;
|
||||||
|
const isMember = personGroupId == groupId;
|
||||||
|
let defaultStatus = isMember ? 'present' : 'none';
|
||||||
|
|
||||||
|
let status = defaultStatus;
|
||||||
if (data.attendance[personId]) {
|
if (data.attendance[personId]) {
|
||||||
status = data.attendance[personId].attendance_status;
|
status = data.attendance[personId].attendance_status;
|
||||||
}
|
}
|
||||||
@ -630,7 +636,7 @@ document.addEventListener('DOMContentLoaded', function () {
|
|||||||
const personName = dot.dataset.personName;
|
const personName = dot.dataset.personName;
|
||||||
const bniGroupId = dot.dataset.bniGroupId;
|
const bniGroupId = dot.dataset.bniGroupId;
|
||||||
const meetingDatetime = dot.dataset.meetingDatetime;
|
const meetingDatetime = dot.dataset.meetingDatetime;
|
||||||
const initialStatus = dot.dataset.initialStatus;
|
const currentStatus = dot.dataset.currentStatus || 'none';
|
||||||
|
|
||||||
// The person's own group is on the TR element
|
// The person's own group is on the TR element
|
||||||
const personGroupId = dot.closest('tr').dataset.groupId;
|
const personGroupId = dot.closest('tr').dataset.groupId;
|
||||||
@ -641,7 +647,7 @@ document.addEventListener('DOMContentLoaded', function () {
|
|||||||
meetingPersonName.textContent = personName;
|
meetingPersonName.textContent = personName;
|
||||||
meetingGroupId.value = bniGroupId;
|
meetingGroupId.value = bniGroupId;
|
||||||
meetingDateInput.value = meetingDatetime;
|
meetingDateInput.value = meetingDatetime;
|
||||||
attendanceStatus.value = initialStatus;
|
attendanceStatus.value = currentStatus;
|
||||||
|
|
||||||
// Show/hide guest survey
|
// Show/hide guest survey
|
||||||
guestSurveySection.style.display = !isMember ? 'block' : 'none';
|
guestSurveySection.style.display = !isMember ? 'block' : 'none';
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user