コード例 #1
0
 public function generateWithJsonErrorInFlowMessage($manager)
 {
     $message = new Message();
     $message->setFlowCreatedAt(new \DateTime());
     $message->setFlow(json_encode([1 => ['Module' => 'Accounts', 'GUID' => uniqid(), 'Datamap' => 'ExampleDatamap', 'Status' => 'Done'], 2 => ['Module' => 'Contacts', 'GUID' => uniqid(), 'Datamap' => 'ExampleDatamap', 'Status' => 'Error'], 3 => ['Module' => 'Tasks', 'GUID' => uniqid(), 'Datamap' => 'ExampleDatamap', 'Status' => 'In progress'], 4 => ['Module' => 'Relation', 'GUID' => '', 'SourceModule' => 'Accounts', 'DestinationModule' => 'Contacts', 'SourceStep' => 1, 'DestinationStep' => 2, 'Status' => 'New']]));
     $message->setFlowStatus('New');
     $message->setFlowMessage('some text');
     $message->setFlowName('nne');
     $manager->persist($message);
 }
コード例 #2
0
 /**
  * @Route("/set-step-guid/{id}/{stepNumber}", name="message_set_step_guid")
  *
  * @param Request $request
  * @param Message $message
  * @param integer $stepNumber
  *
  * @throws \Exception
  *
  * @return \Symfony\Component\HttpFoundation\RedirectResponse
  */
 public function setStepGuidAction(Request $request, Message $message, $stepNumber)
 {
     $guid = $request->get('guid');
     $newGuid = $request->get('new-guid-value');
     if (!$guid) {
         $this->get('session')->getFlashBag()->add('error', 'Error setting GUID. Form is not valid.');
         return $this->redirect($request->headers->get('referer'));
     }
     if ($guid == 'new-guid') {
         if ($newGuid) {
             $guid = $newGuid;
         } else {
             $this->get('session')->getFlashBag()->add('error', 'Please provide new GUID value.');
             return $this->redirect($request->headers->get('referer'));
         }
     }
     $em = $this->getDoctrine()->getManager();
     $message->changeStepParameter($stepNumber, 'GUID', $guid);
     $message->batchChangeStepStatuses(null, 'New');
     $message->setFlowStatus('New');
     $em->persist($message);
     $em->flush();
     $this->get('session')->getFlashBag()->add('success', 'GUID set successfully in step number ' . $stepNumber);
     return $this->redirect($request->headers->get('referer'));
 }
コード例 #3
0
 public function testIsActionAllowed()
 {
     $message = new Message();
     $this->assertTrue($message->isActionAllowed('run'));
     $this->assertTrue($message->isActionAllowed('new'));
     $this->assertTrue($message->isActionAllowed('halt'));
     $this->assertTrue($message->isActionAllowed('cancel'));
     $this->assertTrue($message->isActionAllowed('reset_guids'));
     $message->setFlowStatus('in progress');
     $this->assertFalse($message->isActionAllowed('run'));
     $this->assertTrue($message->isActionAllowed('new'));
     $this->assertTrue($message->isActionAllowed('halt'));
     $this->assertTrue($message->isActionAllowed('cancel'));
     $this->assertTrue($message->isActionAllowed('reset_guids'));
     $message->setFlowStatus('finished');
     $this->assertFalse($message->isActionAllowed('run'));
     $this->assertFalse($message->isActionAllowed('new'));
     $this->assertFalse($message->isActionAllowed('halt'));
     $this->assertFalse($message->isActionAllowed('cancel'));
     $this->assertFalse($message->isActionAllowed('reset_guids'));
     $message->setFlowStatus('cancelled');
     $this->assertFalse($message->isActionAllowed('run'));
     $this->assertTrue($message->isActionAllowed('new'));
     $this->assertFalse($message->isActionAllowed('halt'));
     $this->assertFalse($message->isActionAllowed('cancel'));
     $this->assertTrue($message->isActionAllowed('reset_guids'));
 }