This commit is contained in:
@@ -52,6 +52,11 @@ class RolePermissionController extends Controller
|
||||
public function assignRole()
|
||||
{
|
||||
helper('url');
|
||||
|
||||
if ($redirect = $this->redirectWithoutLegacyTermFilters('rolepermission/assign_role')) {
|
||||
return $redirect;
|
||||
}
|
||||
|
||||
return view('rolepermission/assign_role', [
|
||||
'assignRoleEndpoint' => site_url('api/rolepermission/users'),
|
||||
'rolesEndpoint' => site_url('api/rolepermission/roles'),
|
||||
@@ -196,6 +201,27 @@ class RolePermissionController extends Controller
|
||||
return ['users' => $normalized];
|
||||
}
|
||||
|
||||
private function redirectWithoutLegacyTermFilters(string $route): ?\CodeIgniter\HTTP\RedirectResponse
|
||||
{
|
||||
$legacyTermKeys = ['school_year', 'schoolYear', 'year', 'semester'];
|
||||
$query = $this->request->getGet();
|
||||
$hasLegacyTermFilter = false;
|
||||
|
||||
foreach ($legacyTermKeys as $key) {
|
||||
if (array_key_exists($key, $query)) {
|
||||
unset($query[$key]);
|
||||
$hasLegacyTermFilter = true;
|
||||
}
|
||||
}
|
||||
|
||||
if (!$hasLegacyTermFilter) {
|
||||
return null;
|
||||
}
|
||||
|
||||
$target = site_url($route) . (!empty($query) ? '?' . http_build_query($query) : '');
|
||||
return redirect()->to($target);
|
||||
}
|
||||
|
||||
private function updateStaffRecord(int $userId, array $newRoleNames): void
|
||||
{
|
||||
$excludedRoles = ['parent', 'student', 'guest'];
|
||||
|
||||
Reference in New Issue
Block a user