/** * @return User */ private function getUser() { if (!$this->user) { $this->user = UserHelper::getUser($this->deliveryExecution->getUserIdentifier()); } return $this->user; }
/** * Get last test takers event from delivery log * @param DeliveryExecution $deliveryExecution * @return array|null */ protected function getLastTestTakersEvent(DeliveryExecution $deliveryExecution) { $deliveryLogService = ServiceManager::getServiceManager()->get(DeliveryLog::SERVICE_ID); $testTakerIdentifier = $deliveryExecution->getUserIdentifier(); $events = array_reverse($deliveryLogService->get($deliveryExecution->getIdentifier())); $lastTestTakersEvent = null; foreach ($events as $event) { if ($event[DeliveryLog::CREATED_BY] === $testTakerIdentifier) { $lastTestTakersEvent = $event; break; } } return $lastTestTakersEvent; }
/** * Update the collection of deliveries * * @param DeliveryExecution $deliveryExecution * @param string $old * @param string $new */ public function updateDeliveryExecutionStatus(DeliveryExecution $deliveryExecution, $old, $new) { $userId = $deliveryExecution->getUserIdentifier(); if ($old != null) { $oldReferences = $this->getDeliveryExecutionsByStatus($userId, $old); foreach (array_keys($oldReferences) as $key) { if ($oldReferences[$key]->getIdentifier() == $deliveryExecution->getIdentifier()) { unset($oldReferences[$key]); } } $this->setDeliveryExecutions($userId, $old, $oldReferences); } $newReferences = $this->getDeliveryExecutionsByStatus($userId, $new); $newReferences[] = $deliveryExecution; $this->setDeliveryExecutions($userId, $new, $newReferences); }