Skip to content

Commit aebedd2

Browse files
authored
Merge pull request #1563 from hashtopolis/1542-bug-renaming-agent-causes-network-error
Added more validation for assigning agents
2 parents e0d9555 + 86c3805 commit aebedd2

File tree

1 file changed

+8
-1
lines changed

1 file changed

+8
-1
lines changed

src/inc/utils/AgentUtils.class.php

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -408,10 +408,17 @@ public static function assign(int $agentId, int $taskId, User $user): ?Assignmen
408408

409409
$benchmark = 0;
410410
if (sizeof($assignments) > 0) {
411+
if ($assignments[0]->getTaskId() === $taskId) {
412+
throw new HttpError("Agent is already assigned to this task");
413+
}
411414
for ($i = 1; $i < sizeof($assignments); $i++) { // clean up if required
412415
Factory::getAssignmentFactory()->delete($assignments[$i]);
413416
}
414-
Factory::getAssignmentFactory()->mset($assignments[0], [Assignment::TASK_ID => $task->getId(), Assignment::BENCHMARK => $benchmark]);
417+
$assignment = $assignments[0];
418+
Factory::getAssignmentFactory()->mset($assignment, [Assignment::TASK_ID => $task->getId(), Assignment::BENCHMARK => $benchmark]);
419+
$assignment->setTaskId($task->getId());
420+
$assignment->setAgentId($agent->getId());
421+
$assignment->setBenchmark($benchmark);
415422
}
416423
else {
417424
$assignment = new Assignment(null, $task->getId(), $agent->getId(), $benchmark);

0 commit comments

Comments
 (0)