getPermissionRequestById($permission_id); if (!$permission_details) { set_message("Permission request not found or invalid.", "danger"); header('Location: manage_permissions_admin.php'); exit(); } // Optional: You could add a check here to ensure the data source itself is still active // $dataSource = $dataSourceManager->getDataSourceById($permission_details['fkdspsds_id']); // if (!$dataSource) { /* handle error */ } if (!in_array($new_status, ['Approved', 'Pending', 'Rejected', 'Revoked'])) { set_message('Invalid permission status selected.', 'danger'); } else { // The reg_by for permission updates is the user who is logged in (DAC Staff) $dataSourceManager->updatePermissionStatus( (int) $permission_id, $new_status, (int) $_SESSION['user_id'], $notes ); set_message('Permission status updated successfully!', 'success'); } } catch (Exception $e) { set_message('Error updating permission status: ' . $e->getMessage(), 'danger'); } } // Redirect to self, preserving search/filter parameters if they exist $redirect_url = 'manage_permissions_admin.php'; $query_params = []; if (!empty($search_query)) { $query_params['search'] = urlencode($search_query); } if (!empty($filter_status)) { $query_params['status_filter'] = urlencode($filter_status); } if (!empty($query_params)) { $redirect_url .= '?' . http_build_query($query_params); } header('Location: ' . $redirect_url); exit(); } // Fetch all permission requests based on search and filter parameters $allPermissions = $dataSourceManager->getAllPermissionRequests($filter_status, $search_query); ?>
| Req. ID | Data Source | Requester | Data Owner | Permission Type | Request Notes | Proof | Status | Requested On | Actions |
|---|---|---|---|---|---|---|---|---|---|
| —'; ?> | View N/A | ||||||||
| No permission requests found. | |||||||||