add event to calendar
This commit is contained in:
@@ -13,6 +13,7 @@ use App\Models\InvoiceModel;
|
||||
use App\Models\InvoiceEventModel;
|
||||
use App\Models\ClassSectionModel;
|
||||
use App\Models\PaymentModel;
|
||||
use App\Models\CalendarModel;
|
||||
use Config\Database;
|
||||
#use ???
|
||||
use App\Controllers\View\InvoiceController;
|
||||
@@ -127,6 +128,45 @@ class EventController extends ResourceController
|
||||
'created_by' => session()->get('user_id'),
|
||||
]);
|
||||
|
||||
if ($eventId && $this->request->getPost('add_to_calendar')) {
|
||||
$calendarModel = new CalendarModel();
|
||||
|
||||
$title = trim((string)$this->request->getPost('event_name'));
|
||||
$date = (string)$this->request->getPost('expiration_date');
|
||||
$schoolYear = (string)$this->request->getPost('school_year');
|
||||
$semester = (string)$this->request->getPost('semester');
|
||||
|
||||
if ($title !== '' && $date !== '' && $schoolYear !== '') {
|
||||
$data = [
|
||||
'title' => $title,
|
||||
'description' => (string)$this->request->getPost('description'),
|
||||
'event_type' => 'Event',
|
||||
'date' => $date,
|
||||
'notify_parent' => $this->request->getPost('notify_parent') ? 1 : 0,
|
||||
'notify_teacher' => $this->request->getPost('notify_teacher') ? 1 : 0,
|
||||
'notify_admin' => $this->request->getPost('notify_admin') ? 1 : 0,
|
||||
'no_school' => 0,
|
||||
'school_year' => $schoolYear,
|
||||
'semester' => $semester ?: $this->semester,
|
||||
];
|
||||
if (!$calendarModel->supportsEventType()) {
|
||||
unset($data['event_type']);
|
||||
}
|
||||
|
||||
$dupQuery = $calendarModel
|
||||
->where('school_year', $data['school_year'])
|
||||
->where('date', $data['date'])
|
||||
->where('title', $data['title']);
|
||||
if ($calendarModel->supportsEventType() && isset($data['event_type'])) {
|
||||
$dupQuery = $dupQuery->where('event_type', $data['event_type']);
|
||||
}
|
||||
$existing = $dupQuery->first();
|
||||
if (!$existing) {
|
||||
$calendarModel->save($data);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return redirect()->to('/administrator/events')->with('success', 'Event created successfully');
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user