fix event parent list
This commit is contained in:
@@ -480,6 +480,17 @@ class EventController extends ResourceController
|
|||||||
$semester = $this->request->getGet('semester') ?? $this->semester;
|
$semester = $this->request->getGet('semester') ?? $this->semester;
|
||||||
|
|
||||||
$parents = $this->userModel->getParents();
|
$parents = $this->userModel->getParents();
|
||||||
|
usort($parents, static function (array $a, array $b): int {
|
||||||
|
$aLabel = trim(preg_replace('/\s+/', ' ', (string) ($a['firstname'] ?? '') . ' ' . (string) ($a['lastname'] ?? '')));
|
||||||
|
$bLabel = trim(preg_replace('/\s+/', ' ', (string) ($b['firstname'] ?? '') . ' ' . (string) ($b['lastname'] ?? '')));
|
||||||
|
|
||||||
|
$nameCmp = strnatcasecmp($aLabel, $bLabel);
|
||||||
|
if ($nameCmp !== 0) {
|
||||||
|
return $nameCmp;
|
||||||
|
}
|
||||||
|
|
||||||
|
return strnatcasecmp((string) ($a['school_id'] ?? ''), (string) ($b['school_id'] ?? ''));
|
||||||
|
});
|
||||||
$events = $this->eventModel->getActiveEvents($schoolYear);
|
$events = $this->eventModel->getActiveEvents($schoolYear);
|
||||||
$filterEventId = (int) ($this->request->getGet('event_id') ?? 0);
|
$filterEventId = (int) ($this->request->getGet('event_id') ?? 0);
|
||||||
$filterParentId = (int) ($this->request->getGet('parent_id') ?? 0);
|
$filterParentId = (int) ($this->request->getGet('parent_id') ?? 0);
|
||||||
|
|||||||
@@ -145,9 +145,24 @@
|
|||||||
$<?= esc(number_format($selectedEvent['amount'] ?? 0, 2)) ?> fee
|
$<?= esc(number_format($selectedEvent['amount'] ?? 0, 2)) ?> fee
|
||||||
</span>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
<p class="mb-1 text-muted small">
|
<?php $eventDescription = trim((string) ($selectedEvent['description'] ?? '')); ?>
|
||||||
<?= esc($selectedEvent['description'] ?: 'No description provided for this event.') ?>
|
<div class="mb-1">
|
||||||
</p>
|
<button type="button"
|
||||||
|
class="btn btn-link btn-sm px-0 py-0 text-decoration-none event-description-toggle"
|
||||||
|
data-bs-toggle="collapse"
|
||||||
|
data-bs-target="#selectedEventDescription"
|
||||||
|
aria-expanded="false"
|
||||||
|
aria-controls="selectedEventDescription"
|
||||||
|
data-label-collapsed="Show description"
|
||||||
|
data-label-expanded="Hide description">
|
||||||
|
Show description
|
||||||
|
</button>
|
||||||
|
<div class="collapse mt-2" id="selectedEventDescription">
|
||||||
|
<div class="text-muted small" style="white-space: pre-line;">
|
||||||
|
<?= esc($eventDescription !== '' ? $eventDescription : 'No description provided for this event.') ?>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
<?php if (!empty($selectedEvent['expiration_date'])): ?>
|
<?php if (!empty($selectedEvent['expiration_date'])): ?>
|
||||||
<small class="text-secondary">
|
<small class="text-secondary">
|
||||||
Expires: <?= esc(local_date($selectedEvent['expiration_date'], 'm-d-Y')) ?>
|
Expires: <?= esc(local_date($selectedEvent['expiration_date'], 'm-d-Y')) ?>
|
||||||
@@ -465,6 +480,24 @@
|
|||||||
|
|
||||||
<?= $this->section('scripts') ?>
|
<?= $this->section('scripts') ?>
|
||||||
<script>
|
<script>
|
||||||
|
document.addEventListener('DOMContentLoaded', function () {
|
||||||
|
document.querySelectorAll('.event-description-toggle').forEach(function (button) {
|
||||||
|
const targetSelector = button.getAttribute('data-bs-target');
|
||||||
|
const target = targetSelector ? document.querySelector(targetSelector) : null;
|
||||||
|
if (!target) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
target.addEventListener('show.bs.collapse', function () {
|
||||||
|
button.textContent = button.dataset.labelExpanded || 'Hide description';
|
||||||
|
});
|
||||||
|
|
||||||
|
target.addEventListener('hide.bs.collapse', function () {
|
||||||
|
button.textContent = button.dataset.labelCollapsed || 'Show description';
|
||||||
|
});
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
function loadStudentsWithCharges() {
|
function loadStudentsWithCharges() {
|
||||||
let parentId = $('#parent_id').val();
|
let parentId = $('#parent_id').val();
|
||||||
let eventId = $('#event_id').val();
|
let eventId = $('#event_id').val();
|
||||||
|
|||||||
Reference in New Issue
Block a user