Example #1
0
 /**
  * Function finalizing processes
  * @param Project $project
  * @param Demand $demand
  * @param bool $flashbag
  * @return mixed
  */
 protected function processProjectCreationFinalize(Project $project, Demand $demand, $flashbag = true)
 {
     $returnValues['slot_name'] = 'proc';
     try {
         // Finalizing process
         //            if ($project->getGitLabProjectId() != null && $project->getRedmineProjectId() != null) {
         // Update demand
         $resolvedStatus = $this->em->getRepository('SpiritDevDBoxPortalBundle:Status')->findOneBy(array('canonicalName' => 'resolved'));
         $demand->setStatus($resolvedStatus);
         $project->setActive(true);
         // Apply project and demand modification
         $this->em->flush();
         // Send user mail + team mail
         $this->mailer->processProjectCreationSendMail($project);
         $returnValues['data'][] = $this->setRetVal('Mail sent', 'bool', true);
         if ($flashbag) {
             $this->session->getFlashBag()->set('success', 'flashbag.demand.processing_project.success');
         }
     } catch (\Exception $e) {
         $returnValues['data'][] = $this->setRetVal('Mail sent', 'bool', false);
     }
     $returnValues['data'][] = $this->setRetVal('Demand status', 'string', $demand->getStatus()->getCanonicalName());
     return $returnValues;
 }
 /**
  * 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;
 }