Files
alrahma_sunday_school/_chunk8.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
2.9 KiB
Plaintext

unset($query[$key]);
$hasLegacyTermFilter = true;
}
}
if (!$hasLegacyTermFilter) {
return null;
}
$target = site_url($route) . (!empty($query) ? '?' . http_build_query($query) : '');
return redirect()->to($target);
}
public function manageUsers()
{// Fetch all users
$users = $this->userModel->findAll();
// Fetch roles for each user
foreach ($users as &$user) {
$userRoles = ($this->userRoleModel)->where('user_id', $user['id'])->findAll();
$user['roles'] = [];
foreach ($userRoles as $userRole) {
$role = $this->roleModel->find($userRole['role_id']);
if ($role) {
$user['roles'][] = $role['name'];
}
}
}
$data['users'] = $users;
return view('administrator/manage_users', $data);
}
public function editUser($userId)
{$user = $this->userModel->find($userId);
// Fetch roles assigned to the user
$userRoles = $this->userRoleModel->where('user_id', $userId)->findAll();
$assignedRoles = [];
foreach ($userRoles as $userRole) {
$role = $this->roleModel->find($userRole['role_id']);
if ($role) {
$assignedRoles[] = $role['id'];
}
}
$roles = $this->roleModel->findAll();
$data = [
'user' => $user,
'roles' => $roles,
'assignedRoles' => $assignedRoles,
];
return view('administrator/edit_user', $data);
}
public function updateUser()
{$userId = $this->request->getPost('id');
$roleIds = $this->request->getPost('role_ids');
// Update user details
$data = [
'id' => $userId,
'firstname' => $this->request->getPost('firstname'),
'lastname' => $this->request->getPost('lastname'),
'email' => $this->request->getPost('email'),
];
$this->userModel->save($data);
// Update user roles
$this->userRoleModel->where('user_id', $userId)->delete();
foreach ($roleIds as $roleId) {
$this->userRoleModel->save([
'user_id' => $userId,
'role_id' => $roleId,
]);
}
service('staffDirectorySync')->syncUser((int) $userId);
return redirect()->to('/administrator/manage-users');
}
public function deleteUser($userId)
{// Delete user roles first
$this->userRoleModel->where('user_id', $userId)->delete();
// Delete the user
$this->userModel->delete($userId);
return redirect()->to('/administrator/manage-users');
}
private function canManageAdminNotifications(): bool
{
$session = session();
if (! $session->get('is_logged_in')) {
return false;