|
@@ -78,9 +78,9 @@ class ONU
|
|
|
protected $updated;
|
|
|
|
|
|
/**
|
|
|
- * @ORM\Column(type="string", nullable=false, options={"default": "active"})
|
|
|
+ * @ORM\Column(type="string", nullable=true)
|
|
|
*/
|
|
|
- protected $currentState = 'active';
|
|
|
+ protected $currentState = null;
|
|
|
|
|
|
/**
|
|
|
* @ORM\Column(type="string", nullable=false, options={"default": "pending"})
|
|
@@ -415,26 +415,24 @@ class ONU
|
|
|
|
|
|
public function getWorkflow()
|
|
|
{
|
|
|
- if($this->model) {
|
|
|
- $model = $this->model;
|
|
|
- if($model->getWorkflow() && $model->getWorkflow()->getEnable()) {
|
|
|
- return $model->getWorkflow()->getName();
|
|
|
- }
|
|
|
+ $workflow = $this->getWorkflowObject();
|
|
|
+
|
|
|
+ if($workflow) {
|
|
|
+ return $workflow->getName();
|
|
|
}
|
|
|
-
|
|
|
- return "onu_state";
|
|
|
+
|
|
|
+ return null;
|
|
|
}
|
|
|
|
|
|
public function getWorkflowType()
|
|
|
{
|
|
|
- if($this->model) {
|
|
|
- $model = $this->model;
|
|
|
- if($model->getWorkflow() && $model->getWorkflow()->getEnable()) {
|
|
|
- return $model->getWorkflow()->getType();
|
|
|
- }
|
|
|
+ $workflow = $this->getWorkflowObject();
|
|
|
+
|
|
|
+ if($workflow) {
|
|
|
+ return $workflow->getType();
|
|
|
}
|
|
|
|
|
|
- return "state_machine";
|
|
|
+ return null;
|
|
|
}
|
|
|
|
|
|
public function getLog()
|
|
@@ -444,4 +442,31 @@ class ONU
|
|
|
return implode("\n",$out);
|
|
|
}
|
|
|
|
|
|
+ public function getWorkflowObject()
|
|
|
+ {
|
|
|
+ if($this->model) {
|
|
|
+ $model = $this->model;
|
|
|
+ if($model->getWorkflow()) {
|
|
|
+ return $model->getWorkflow();
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ return null;
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * @ORM\PrePersist
|
|
|
+ */
|
|
|
+ public function prePersist(LifecycleEventArgs $event)
|
|
|
+ {
|
|
|
+ $this->currentState = null;
|
|
|
+
|
|
|
+ $workflow = $this->getWorkflowObject();
|
|
|
+
|
|
|
+ if($workflow) {
|
|
|
+ $this->currentState = $workflow->getInitialPlace($this);
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
}
|