fix home page display snd styling
This commit is contained in:
+100
@@ -0,0 +1,100 @@
|
||||
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;
|
||||
Reference in New Issue
Block a user