| Current Path : /home/emeraadmin/public_html/pages/subcontractor/ |
| Current File : /home/emeraadmin/public_html/pages/subcontractor/rejecttask_bulk.php |
<?php
session_start();
require_once '../../Classes/Database.php';
require_once '../../Service/TaskService.php';
require_once '../../Classes/Task.php';
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
if (isset($_POST['taskIds']) && isset($_POST['companyId'])) {
$taskIds = $_POST['taskIds'];
$companyId = $_POST['companyId'];
$taskService = new TaskService();
$errors = [];
foreach ($taskIds as $taskId) {
$task = $taskService->getTaskByIdAsObject($taskId);
if ($task) {
$task->setAssignedTo(null);
$task->setIsAssigned(0);
// Get existing not accepted users
$temp = $task->getNotAcceptedUsers();
$notAcceptedUsers = array_filter(explode(',', $temp));
// Add the new companyId if not already in the list
if (!in_array($companyId, $notAcceptedUsers)) {
$notAcceptedUsers[] = $companyId;
}
// Convert the array back to a string
$task->setNotAcceptedUsers(implode(',', $notAcceptedUsers));
if (!$taskService->rejectTask($task)) {
$errors[] = "Failed to reject task ID: $taskId";
}
} else {
$errors[] = "Task ID: $taskId not found";
}
}
if (empty($errors)) {
echo 'success';
} else {
echo implode(', ', $errors);
}
} else {
echo 'invalid_data';
}
} else {
echo 'invalid_request';
}