/** * Function to send email to applicant about successfull application for job * * @param \Opit\OpitHrm\HiringBundle\Entity\JobPosition $jobPosition * @param \Opit\OpitHrm\HiringBundle\Entity\Applicant $applicant */ public function sendExternalApplicantMail(JobPosition $jobPosition, Applicant $applicant) { $templateVars = array(); $templateVars['jobPosition'] = $jobPosition; $templateVars['applicant'] = $applicant; $this->mailer->setRecipient($applicant->getEmail()); $this->mailer->setSubject('[OPIT-HRM] - Successfully applied for ' . $jobPosition->getJobTitle() . ' (' . $jobPosition->getJobPositionId() . ')'); $this->mailer->setBodyByTemplate('OpitOpitHrmHiringBundle:Mail:externalApplicationSuccessful.html.twig', $templateVars); $this->mailer->sendMail(); }
/** * * @param \Opit\OpitHrm\HiringBundle\Entity\JobPosition $jobPosition */ public function addNewJobPositionNotification(JobPosition $jobPosition) { $message = 'Job position (' . $jobPosition->getJobPositionId() . ') has been created'; $notification = new JPNotification(); $notification->setJobPosition($jobPosition); $receiver = $jobPosition->getCreatedUser(); $notification->setMessage($message); $notification->setReceiver($receiver); $notification->setDateTime(new \DateTime('now')); $notification->setRead($this->entityManager->getRepository('OpitOpitHrmNotificationBundle:NotificationStatus')->find(NotificationStatus::UNREAD)); $this->entityManager->persist($notification); $this->entityManager->flush(); }
public function doLoad(ObjectManager $manager) { $admin = $this->getReference('admin'); $generalManager = $this->getReference('generalManager'); $juniorPHPDev = new JobPosition(); $juniorPHPDev->setDescription('Looking for a junior PHP developer with 5 years or more experience.'); $juniorPHPDev->setIsActive(true); $juniorPHPDev->setJobTitle('Junior PHP developer'); $juniorPHPDev->setNumberOfPositions(3); $juniorPHPDev->setHiringManager($admin); $juniorPHPDev->setCreatedUser($admin); $seniorPHPDev = new JobPosition(); $seniorPHPDev->setDescription('Looking for a senior PHP developer under 26 with more than 7 years of relevant experience.'); $seniorPHPDev->setIsActive(true); $seniorPHPDev->setJobTitle('Senior PHP developer'); $seniorPHPDev->setNumberOfPositions(3); $seniorPHPDev->setHiringManager($generalManager); $seniorPHPDev->setCreatedUser($generalManager); $sysAdmin = new JobPosition(); $sysAdmin->setDescription('Looking for system administrator.'); $sysAdmin->setIsActive(false); $sysAdmin->setJobTitle('System administrator'); $sysAdmin->setNumberOfPositions(1); $sysAdmin->setHiringManager($generalManager); $sysAdmin->setCreatedUser($generalManager); $manager->persist($juniorPHPDev); $manager->persist($seniorPHPDev); $manager->persist($sysAdmin); $this->addReference('juniorPHPDeveloper', $juniorPHPDev); $this->addReference('seniorPHPDeveloper', $seniorPHPDev); $this->addReference('sysAdmin', $seniorPHPDev); $manager->flush(); }
/** * Function to send email and notification when creating jp. * * @param \Opit\OpitHrm\HiringBundle\Entity\JobPosition $jobPosition */ protected function sendJpMessages(JobPosition $jobPosition) { $templateVars = array(); $templateVars['jobPosition'] = $jobPosition; $applicationName = $this->container->getParameter('application_name'); $emailManager = $this->get('opit.component.email_manager'); $emailManager->setRecipient($jobPosition->getHiringManager()->getEmail()); $emailManager->setSubject('[' . ($applicationName !== null && $applicationName != 'OPIT-HRM' ? $applicationName : 'OPIT-HRM') . '] - Job position created (' . $jobPosition->getJobPositionId() . ')'); $emailManager->setBodyByTemplate('OpitOpitHrmHiringBundle:Mail:jobPosition.html.twig', $templateVars); $emailManager->sendMail(); $notificationManager = $this->get('opit.manager.job_position_notification_manager'); $notificationManager->addNewJobPositionNotification($jobPosition); }