/** * Processing demand DBupdate * @param Demand $demandToProcess * @param User $dbUser * @param array $gitLabUser * @param \SimpleXMLElement $redmineUser * @return Demand */ protected function processDemandUpdate(Demand $demandToProcess, User $dbUser, array $gitLabUser, \SimpleXMLElement $redmineUser) { // Getting EM and object $succeedStatus = $this->em->getRepository('SpiritDevDBoxPortalBundle:Status')->findOneBy(array('canonicalName' => 'resolved')); // Updating demand $demandToProcess->setStatus($succeedStatus); // Applying new apllicant $demandToProcess->setApplicant($dbUser); // Updating demand date depending on status if ($succeedStatus->getCanonicalName() == "resolved") { $demandToProcess->setResolutionDate(new \DateTime()); } else { $demandToProcess->setResolutionDate(null); } // Updating user $dbUser->setGitLabId($gitLabUser['id']); $dbUser->setRedmineId($redmineUser->{'id'}); // TODO Update QA if available // TODO Update CI if available // Registering update $this->em->flush(); return $demandToProcess; }
/** * Process demand registration * @return Demand */ private function registerDemand() { // Managing EM entities $status = $this->em->getRepository('SpiritDevDBoxPortalBundle:Status')->findOneBy(array('canonicalName' => 'new')); $type = $this->em->getRepository('SpiritDevDBoxPortalBundle:Type')->findOneBy(array('canonicalName' => 'new_security')); // Creating empty demand $demand = new Demand(); // Setting datas $demand->setAskdate(new \DateTime()); $demand->setApplicant($this->getCurrentUser()); $demand->setStatus($status); $demand->setType($type); $demand->setContent($this->setContentData()); // Persisting EM entity $this->em->persist($demand); $this->em->flush(); return $demand; }