125 lines
5.2 KiB
PHP
125 lines
5.2 KiB
PHP
<?= $this->extend('layout/management_layout') ?>
|
|
<?= $this->section('content') ?>
|
|
|
|
<div class="container mt-4">
|
|
<h2>Create Event</h2>
|
|
|
|
<?php
|
|
$defaultCategories = ['Fun Event-1', 'Fun Event-2', 'Fun Event-3'];
|
|
$existingCategories = array_map('strval', $categories ?? []);
|
|
$allCategories = array_unique(array_merge($defaultCategories, $existingCategories));
|
|
?>
|
|
<form method="post" action="<?= site_url('administrator/events/create') ?>" enctype="multipart/form-data">
|
|
<?= csrf_field() ?>
|
|
<div class="mb-3">
|
|
<label class="form-label">Event Name</label>
|
|
<input type="text" name="event_name" class="form-control" required>
|
|
</div>
|
|
|
|
<div class="mb-3">
|
|
<label class="form-label">Category</label>
|
|
<select name="event_category" class="form-control" required>
|
|
<option value="" selected disabled>Select category</option>
|
|
<?php foreach ($allCategories as $category): ?>
|
|
<option value="<?= esc($category) ?>"><?= esc(ucwords($category)) ?></option>
|
|
<?php endforeach; ?>
|
|
</select>
|
|
</div>
|
|
|
|
<div class="mb-3">
|
|
<label class="form-label">Description</label>
|
|
<textarea name="description" class="form-control"></textarea>
|
|
</div>
|
|
|
|
<div class="mb-3">
|
|
<label class="form-label">Amount</label>
|
|
<input type="number" step="0.01" name="amount" class="form-control" required>
|
|
</div>
|
|
|
|
<div class="mb-3">
|
|
<label class="form-label">Flyer (optional)</label>
|
|
<input type="file" name="flyer" class="form-control">
|
|
</div>
|
|
|
|
<div class="mb-3">
|
|
<label class="form-label">Expiration Date</label>
|
|
<input type="date" name="expiration_date" class="form-control" required>
|
|
</div>
|
|
|
|
<div class="mb-3">
|
|
<label class="form-label">Semester</label>
|
|
<input type="text" name="semester" class="form-control" required>
|
|
</div>
|
|
|
|
<div class="mb-3">
|
|
<label class="form-label">School Year</label>
|
|
<input type="text" name="school_year" class="form-control" required>
|
|
</div>
|
|
|
|
<div class="card mb-3">
|
|
<div class="card-header">School Calendar</div>
|
|
<div class="card-body">
|
|
<div class="form-check mb-2">
|
|
<input class="form-check-input" type="checkbox" id="add_to_calendar" name="add_to_calendar" value="1">
|
|
<label class="form-check-label" for="add_to_calendar">
|
|
Add this event to the school calendar
|
|
</label>
|
|
</div>
|
|
|
|
<div id="calendar_recipients" class="ms-3" style="display:none;">
|
|
<div class="mb-2 fw-semibold">Visible On Calendars</div>
|
|
<div class="d-flex flex-wrap gap-3">
|
|
<label class="form-check-label">
|
|
<input class="form-check-input me-1" type="checkbox" name="notify_parent" value="1" checked>
|
|
Parents
|
|
</label>
|
|
<label class="form-check-label">
|
|
<input class="form-check-input me-1" type="checkbox" name="notify_teacher" value="1" checked>
|
|
Teachers
|
|
</label>
|
|
<label class="form-check-label">
|
|
<input class="form-check-input me-1" type="checkbox" name="notify_admin" value="1" checked>
|
|
Admins
|
|
</label>
|
|
</div>
|
|
<div class="form-text">If none are selected, the event is visible to everyone.</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="card mb-3">
|
|
<div class="card-header">Parent Email Broadcast</div>
|
|
<div class="card-body">
|
|
<div class="form-check">
|
|
<input class="form-check-input" type="checkbox" id="send_email_parent" name="send_email_parent" value="1">
|
|
<label class="form-check-label" for="send_email_parent">
|
|
Send one event email to all parents and add all parent emails in CC
|
|
</label>
|
|
</div>
|
|
<div class="form-text">The email is sent once. The school sender address stays in To, and all parent emails are placed in CC.</div>
|
|
</div>
|
|
</div>
|
|
|
|
<button type="submit" class="btn btn-success">Create Event</button>
|
|
<a href="<?= site_url('administrator/events') ?>" class="btn btn-secondary">Cancel</a>
|
|
</form>
|
|
</div>
|
|
|
|
<?= $this->endSection() ?>
|
|
|
|
<?= $this->section('scripts') ?>
|
|
<script>
|
|
(function () {
|
|
const toggle = document.getElementById('add_to_calendar');
|
|
const recipients = document.getElementById('calendar_recipients');
|
|
if (!toggle || !recipients) return;
|
|
|
|
function sync() {
|
|
recipients.style.display = toggle.checked ? '' : 'none';
|
|
}
|
|
toggle.addEventListener('change', sync);
|
|
sync();
|
|
})();
|
|
</script>
|
|
<?= $this->endSection() ?>
|