Move unlock processor and unlock assignor to the job order service. #270
This commit is contained in:
parent
304ef3274c
commit
7de72e2ca3
4 changed files with 72 additions and 23 deletions
|
|
@ -36,18 +36,14 @@ use App\Service\APNSClient;
|
||||||
use Doctrine\ORM\Query;
|
use Doctrine\ORM\Query;
|
||||||
use Doctrine\DBAL\Connection;
|
use Doctrine\DBAL\Connection;
|
||||||
use Doctrine\DBAL\LockMode;
|
use Doctrine\DBAL\LockMode;
|
||||||
use Doctrine\ORM\PessimisticLockException;
|
|
||||||
|
|
||||||
use Symfony\Component\HttpFoundation\Request;
|
use Symfony\Component\HttpFoundation\Request;
|
||||||
use Symfony\Component\HttpFoundation\Response;
|
use Symfony\Component\HttpFoundation\Response;
|
||||||
use Symfony\Component\Validator\Validator\ValidatorInterface;
|
|
||||||
use Symfony\Bundle\FrameworkBundle\Controller\Controller;
|
use Symfony\Bundle\FrameworkBundle\Controller\Controller;
|
||||||
use Symfony\Contracts\Translation\TranslatorInterface;
|
use Symfony\Contracts\Translation\TranslatorInterface;
|
||||||
|
|
||||||
use Catalyst\MenuBundle\Annotation\Menu;
|
use Catalyst\MenuBundle\Annotation\Menu;
|
||||||
|
|
||||||
use CrEOF\Spatial\PHP\Types\Geometry\Point;
|
|
||||||
|
|
||||||
use Mosquitto\Client as MosquittoClient;
|
use Mosquitto\Client as MosquittoClient;
|
||||||
use DateTime;
|
use DateTime;
|
||||||
use DateInterval;
|
use DateInterval;
|
||||||
|
|
@ -1520,36 +1516,23 @@ class JobOrderController extends Controller
|
||||||
]);
|
]);
|
||||||
}
|
}
|
||||||
|
|
||||||
public function unlockProcessor($id)
|
public function unlockProcessor($id, JobOrderHandlerInterface $jo_handler)
|
||||||
{
|
{
|
||||||
$this->denyAccessUnlessGranted('jo_proc.unlock', null, 'No access.');
|
$this->denyAccessUnlessGranted('jo_proc.unlock', null, 'No access.');
|
||||||
|
|
||||||
// clear lock
|
// call unlockProcessor in job order service
|
||||||
$em = $this->getDoctrine()->getManager();
|
$jo_handler->unlockProcessor($id);
|
||||||
$jo = $em->getRepository(JobOrder::class)->find($id);
|
|
||||||
if ($jo == null)
|
|
||||||
return $this->redirectToRoute('jo_proc');
|
|
||||||
|
|
||||||
$jo->setProcessedBy(null);
|
|
||||||
|
|
||||||
$em->flush();
|
|
||||||
|
|
||||||
// redirect to list
|
// redirect to list
|
||||||
return $this->redirectToRoute('jo_proc');
|
return $this->redirectToRoute('jo_proc');
|
||||||
}
|
}
|
||||||
|
|
||||||
public function unlockAssignor($id)
|
public function unlockAssignor($id, JobOrderHandlerInterface $jo_handler)
|
||||||
{
|
{
|
||||||
$this->denyAccessUnlessGranted('jo_assign.unlock', null, 'No access.');
|
$this->denyAccessUnlessGranted('jo_assign.unlock', null, 'No access.');
|
||||||
|
|
||||||
// clear lock
|
// call unlockAssignor in job order service
|
||||||
$em = $this->getDoctrine()->getManager();
|
$jo_handler->unlockAssignor($id);
|
||||||
$jo = $em->getRepository(JobOrder::class)->find($id);
|
|
||||||
if ($jo == null)
|
|
||||||
return $this->redirectToRoute('jo_assign');
|
|
||||||
|
|
||||||
$jo->setAssignedBy(null);
|
|
||||||
$em->flush();
|
|
||||||
|
|
||||||
// redirect to list
|
// redirect to list
|
||||||
return $this->redirectToRoute('jo_assign');
|
return $this->redirectToRoute('jo_assign');
|
||||||
|
|
|
||||||
|
|
@ -864,6 +864,36 @@ class CMBJobOrderHandler implements JobOrderHandlerInterface
|
||||||
return $error_array;
|
return $error_array;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// unlock processor
|
||||||
|
public function unlockProcessor($id)
|
||||||
|
{
|
||||||
|
// clear lock
|
||||||
|
$em = $this->em;
|
||||||
|
$jo = $em->getRepository(JobOrder::class)->find($id);
|
||||||
|
if ($jo != null)
|
||||||
|
{
|
||||||
|
$jo->setProcessedBy(null);
|
||||||
|
|
||||||
|
$em->flush();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// unlock assignor
|
||||||
|
public function unlockAssignor($id)
|
||||||
|
{
|
||||||
|
// clear lock
|
||||||
|
$em = $this->em;
|
||||||
|
$jo = $em->getRepository(JobOrder::class)->find($id);
|
||||||
|
if ($jo != null)
|
||||||
|
{
|
||||||
|
$jo->setAssignedBy(null);
|
||||||
|
|
||||||
|
$em->flush();
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
// initialize incoming job order form
|
// initialize incoming job order form
|
||||||
public function initializeIncomingForm()
|
public function initializeIncomingForm()
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -864,6 +864,36 @@ class ResqJobOrderHandler implements JobOrderHandlerInterface
|
||||||
return $error_array;
|
return $error_array;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// unlock processor
|
||||||
|
public function unlockProcessor($id)
|
||||||
|
{
|
||||||
|
// clear lock
|
||||||
|
$em = $this->em;
|
||||||
|
$jo = $em->getRepository(JobOrder::class)->find($id);
|
||||||
|
if ($jo != null)
|
||||||
|
{
|
||||||
|
$jo->setProcessedBy(null);
|
||||||
|
|
||||||
|
$em->flush();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// unlock assignor
|
||||||
|
public function unlockAssignor($id)
|
||||||
|
{
|
||||||
|
// clear lock
|
||||||
|
$em = $this->em;
|
||||||
|
$jo = $em->getRepository(JobOrder::class)->find($id);
|
||||||
|
if ($jo != null)
|
||||||
|
{
|
||||||
|
$jo->setAssignedBy(null);
|
||||||
|
|
||||||
|
$em->flush();
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
// initialize incoming job order form
|
// initialize incoming job order form
|
||||||
public function initializeIncomingForm()
|
public function initializeIncomingForm()
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -34,6 +34,12 @@ interface JobOrderHandlerInterface
|
||||||
// set rider for job order
|
// set rider for job order
|
||||||
public function setRider(Request $req, int $id, MQTTClient $mclient);
|
public function setRider(Request $req, int $id, MQTTClient $mclient);
|
||||||
|
|
||||||
|
// unlock processor
|
||||||
|
public function unlockProcessor(int $id);
|
||||||
|
|
||||||
|
// unlock assignor
|
||||||
|
public function unlockAssignor(int $id);
|
||||||
|
|
||||||
// initialize incoming job order form
|
// initialize incoming job order form
|
||||||
public function initializeIncomingForm();
|
public function initializeIncomingForm();
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue