/** * Function dedicated to sending admin mail for new demands * @param Demand $demand * @param $subject */ protected function sendNewDemandAdminMail(Demand $demand, $subject) { // Define necessary vars $template = 'SpiritDevDBoxPortalBundle:Mailer/Demand:adminRegistration.html.twig'; // Template $subject = $this->getSubject($subject); // Subject $demandUrl = $this->router->generate('spirit_dev_dbox_portal_bundle_demand', array('id' => $demand->getId()), true); $rendered = $this->templating->render($template, array('demand' => $demand, 'demand_url' => $demandUrl)); // Template rendering // Send Mail $this->sendEmailMessage($rendered, $subject, $this->adminMail); }
/** * Send mail for a new Security request * To Admin * To project owner * @param Demand $demand * @param $projectName * @return mixed */ public function newSecurityRequestSendMail(Demand $demand, $projectName) { // User mail $template = "SpiritDevDBoxPortalBundle:Mailer/Security:securityRequest.html.twig"; // Template $subject = $this->getSubject('New security assessment request - ' . $projectName); // Subject $demandUrl = $this->router->generate('spirit_dev_dbox_portal_bundle_demand', array('id' => $demand->getId()), true); $rendered = $this->templating->render($template, array('firstname' => $demand->getApplicant()->getFirstName(), 'lastname' => $demand->getApplicant()->getLastName(), 'demand' => $demand, 'project_name' => $projectName, 'demand_url' => $demandUrl)); // Template rendering // Send mail effectively $this->sendEmailMessage($rendered, $subject, $demand->getApplicant()->getEmail()); // Admin mail $this->sendNewDemandAdminMail($demand, 'Admin - New security request - ' . $projectName); }
/** * AutoProcess Project * @param Demand $demandToProcess * @param bool $flashbag * @return mixed */ public function processNewProject(Demand $demandToProcess, $flashbag = true) { // Preparing return values $returnValues['processor'] = "project"; $returnValues['demand_id'] = $demandToProcess->getId(); // Process GitLabAPI project creation // Getting related project $projectId = $demandToProcess->getContent()["id"]; $demandProject = $this->em->getRepository('SpiritDevDBoxPortalBundle:Project')->findOneBy(array('id' => $projectId)); // Process VCS project creation if ($demandProject->isVcsManaged()) { $returnValues['slot'][] = $this->processVCSProjectCreation($demandProject); } // Process PM Project creation if ($demandProject->isPmManaged()) { $returnValues['slot'][] = $this->processPMProjectCreation($demandProject); } // Process CI Project creation if ($demandProject->isCiDevManaged()) { $returnValues['slot'][] = $this->processCIProjectCreation($demandProject); } // Process QA Project creation if ($demandProject->isQaDevManaged()) { $returnValues['slot'][] = $this->processQAProjectCreation($demandProject); } // Finalize Process $returnValues['slot'][] = $this->processProjectCreationFinalize($demandProject, $demandToProcess, $flashbag); // Adding todos $returnValues['slot'][] = $this->processProjectCreationTodos($demandProject); return $returnValues; }