Files
alrahma_sunday_school/_chunk9.txt
T
root e81a1832ad
Deploy to Shared Hosting / Shared hosting deploy (push) Failing after 49s
Tests / PHPUnit (push) Successful in 1m26s
fix home page display snd styling
2026-09-02 23:15:24 -04:00

101 lines
3.4 KiB
Plaintext

}
$role = trim((string) ($session->get('role') ?? ''));
if ($role === '') {
return false;
}
$excluded = array_map(
fn ($value) => strtolower(trim((string) $value)),
service('adminNotificationSettings')->excludedRoles()
);
return !in_array(strtolower($role), $excluded, true);
}
public function administratorDashboard()
{
helper('url');
$searchData = service('administratorDashboard')->search((string) $this->request->getGet('query'));
return view('administrator/administratordashboard', array_merge($searchData, [
'dashboardEndpoint' => site_url('api/administrator/dashboard'),
'schoolYear' => $this->schoolYear,
]));
}
public function dashboardMetrics()
{
return $this->response->setJSON(
service('administratorDashboard')->metrics((string) $this->schoolYear, (string) $this->semester)
);
}
public function userSearch()
{
$data = service('administratorDashboard')->search((string) $this->request->getGet('query'));
return view('administrator/search_results', $data);
}
public function teacherSubmissionsReport()
{
$semester = (string) ($this->semester !== '' ? $this->semester : (getSemester() ?? $this->semester ?? ''));
$schoolYear = trim((string) ($this->request->getGet('school_year') ?? ''));
if ($schoolYear === '') {
$schoolYear = $this->currentSchoolYearName((string) ($this->schoolYear ?? ''));
}
$lowProgressRaw = (string) $this->request->getGet('low_progress_sections');
$lowProgressSectionIds = array_values(array_unique(array_filter(array_map(
'intval',
preg_split('/\s*,\s*/', $lowProgressRaw, -1, PREG_SPLIT_NO_EMPTY)
))));
return view(
'administrator/teacher_submissions',
service('teacherSubmissionReport')->buildReport($semester, $schoolYear, $lowProgressSectionIds)
);
}
public function sendTeacherSubmissionNotifications()
{
$result = service('teacherSubmissionReport')->sendNotifications(
(array) $this->request->getPost(),
(string) ($this->semester !== '' ? $this->semester : (getSemester() ?? '')),
(int) (session()->get('user_id') ?? 0)
);
if (($result['redirect'] ?? '') === 'login') {
return redirect()->to('/login');
}
return redirect()->back()->with((string) ($result['type'] ?? 'info'), (string) ($result['message'] ?? ''));
}
public function notificationsAlerts()
{
if (!$this->canManageAdminNotifications()) {
return redirect()->to('/login');
}
return view('administrator/notifications_alerts', service('adminNotificationSettings')->alertsPage());
}
public function saveNotificationSubjects()
{
if (!$this->canManageAdminNotifications()) {
return redirect()->to('/login');
}
$result = service('adminNotificationSettings')->saveSubjects($this->request->getPost('subjects'));
return redirect()->to('/administrator/notifications_alerts')
->with((string) ($result['type'] ?? 'info'), (string) ($result['message'] ?? ''));
}
public function printNotificationRecipients()
{
if (!$this->canManageAdminNotifications()) {
return redirect()->to('/login');