Example #1
0
 public static function setUpBeforeClass()
 {
     self::$kernel->resetDatabase();
     $layout = self::$kernel->createLayout('test_workflow_page_listener');
     self::$em->persist($layout);
     self::$em->flush($layout);
     $state1 = new State('state_1', ['code' => -8000, 'label' => 'State 1']);
     $state2 = new State('state_2', ['code' => 8000, 'label' => 'State 2']);
     $state1->setListener('BackBee\\Workflow\\Tests\\Mock\\StateListener');
     $state2->setListener('BackBee\\Workflow\\Tests\\Mock\\StateListener');
     $state1->setLayout($layout);
     $state2->setLayout($layout);
     self::$em->persist($state1);
     self::$em->flush($state1);
     self::$em->persist($state2);
     self::$em->flush($state2);
     $root = self::$kernel->createPage('root_test');
     $root->setLayout($layout);
     self::$em->persist($root);
     self::$em->flush($root);
     $page = self::$kernel->createPage('workflow_test');
     $page->setParent($root)->setLayout($layout);
     self::$em->persist($page);
     self::$em->flush($page);
 }
Example #2
0
 public function testJsonSerialize()
 {
     $state = new State();
     $json = $state->jsonSerialize();
     $this->assertTrue(array_key_exists('uid', $json));
     $this->assertTrue(array_key_exists('layout_uid', $json));
     $this->assertTrue(array_key_exists('code', $json));
     $this->assertTrue(array_key_exists('label', $json));
 }
Example #3
0
 /**
  * Page workflow state setter.
  *
  * @param Page  $page
  * @param State $workflow
  */
 private function trySetPageWorkflowState(Page $page, State $workflow = null)
 {
     $page->setWorkflowState(null);
     if (null !== $workflow) {
         if (null === $workflow->getLayout() || $workflow->getLayout()->getUid() === $page->getLayout()->getUid()) {
             $page->setWorkflowState($workflow);
         }
     }
 }
Example #4
0
 /**
  * Returns the code of the workflow state.
  *
  * @return integer
  *
  * @Serializer\VirtualProperty
  * @Serializer\Type("string")
  */
 public function getStateCode()
 {
     $code = $this->isOnline(true) ? '1' : '0';
     $code .= null !== $this->_workflow_state ? '_' . $this->_workflow_state->getCode() : '';
     return $code;
 }