/** * Project remove user auto processing * To user himself * To Admin * To project owner * @param Project $project * @param User $removedUser * @return mixed */ public function projectRemoveUser(Project $project, User $removedUser) { // Define necessary vars $template = "SpiritDevDBoxPortalBundle:Mailer/Project:projectRemoveUser.html.twig"; // Template $subject = $this->getSubject('Project user removal'); // Subject $renderingDatas = array('project' => $project, 'user' => $removedUser); //Template rendering datas // Send mail to admin $renderingDatas['scope'] = 'admin'; $rendered = $this->templating->render($template, $renderingDatas); // Template rendering $this->sendEmailMessage($rendered, $subject, $this->adminMail); // Send mail to new user $renderingDatas['scope'] = 'user'; $rendered = $this->templating->render($template, $renderingDatas); // Template rendering $this->sendEmailMessage($rendered, $subject, $removedUser->getEmail()); // Send mail to owner $renderingDatas['scope'] = 'owner'; $rendered = $this->templating->render($template, $renderingDatas); // Template rendering $this->sendEmailMessage($rendered, $subject, $project->getOwner()->getEmail()); }
/** * Setting demand content * @param Project $project * @return array */ private function setContentData(Project $project) { $owner = $project->getOwner()->getCommonName(); $teamMembersArray = ""; $teamMembers = $project->getTeamMembers(); $tml = count($teamMembers); $tmc = 1; foreach ($teamMembers as $member) { $teamMembersArray .= $member->getCommonName(); if ($tmc < $tml) { $teamMembersArray .= ", "; } $tmc++; } return ["name" => $project->getName(), "description" => $project->getDescription(), "owner" => $owner, "team_members" => $teamMembersArray, "git_issues" => $project->isGitLabIssueEnabled(), "git_wiki" => $project->isGitLabWikiEnabled(), "git_snippets" => $project->isGitLabSnippetsEnabled(), "id" => $project->getId()]; }