/** * Resends the TAT invitation email to the reference subject. * * @param string $enquiryId * Identifies the reference. Can be either the IRN or the ERN. * * @return boolean * Returns true on success, false otherwise. */ public function resendTatInvitation($enquiryId) { $returnVal = false; $tatManager = new Manager_Referencing_Tat($enquiryId); if ($tatManager->isTatApplicable()) { //Does not check if initial invitation has been sent. $tatMailManager = new Manager_Referencing_TatMail($tatManager->_reference); if ($tatMailManager->sendTatInvitation()) { $returnVal = true; } } return $returnVal; }
/** * Helper function for generating email attachment HTML fragment * * @param Model_Referencing_Reference * Encapsulates details of the reference. * * @return string */ public function uploadEmailAttachments($reference) { $pageSession = new Zend_Session_Namespace('tenants_referencing_tracker'); $tatMailManager = new Manager_Referencing_TatMail($reference); $attachments = $tatMailManager->detailAttachments(); // Filter out names from complete paths and make HTML safe, and add up total file size $fileNames = array(); $totalSize = 0; foreach ($attachments as $file => $size) { $fileNames[] = htmlentities(substr($file, strrpos($file, '/') + 1)); $totalSize += $size; } // Return partial view HTML return $this->view->partial('tenants-referencing-tracker/partials/upload-email-attachments.phtml', array('totalSize' => $totalSize, 'maxSize' => 4194304, 'attachments' => $fileNames)); }
/** * Send e-mail to HomeLet screen * * @return void */ public function emailAction() { if ($this->_enquiryId == null) { return; } $pageForm = new Form_TenantsReferencingTracker_Email(); $request = $this->getRequest(); $formData = $request->getPost(); $pageForm->populate($formData); $tatManager = new Manager_Referencing_Tat($this->_enquiryId); $tat = $tatManager->getTat(); $tatMailManager = new Manager_Referencing_TatMail($tatManager->_reference); if ($request->isPost()) { // Check if user's going back to the TAT index, or is submitting the form if (isset($formData['back'])) { // Redirect to index page $this->_helper->redirector->gotoUrl('/tenants/reference-tracker'); return; } else { // Check if this is to add/remove attachments, or is a full submit // TODO: It'd be nice to handle this by separating it out into a smooth non-page-refreshing AJAX method if (isset($formData['attachButton']) || isset($formData['deleteButton'])) { // Handle attachments if (isset($formData['attachButton'])) { $tatMailManager->addAttachments(); } else { $tatMailManager->deleteAttachments(); } } else { if ($pageForm->isValid($formData)) { // Successful set of data, send e-mail and show message to user $data = $pageForm->getValues(); $content = ''; $content .= "Enquiry ID: {$this->_enquiryId}\r\n\r\n"; $content .= "Name: {$data['name']}\r\n\r\n"; $content .= "Contact number or e-mail address: {$data['contact_info']}\r\n\r\n"; $content .= "Message to assessor:\r\n{$data['message']}\r\n\r\n"; $attachmentInfo = $tatMailManager->detailAttachments(); if (count($attachmentInfo) > 0) { $tatMailManager->notifyAssessorWithAttachments($content); $tatMailManager->deleteAttachments(); } else { $tatMailManager->notifyAssessor($content); } // Log MI event Application_Core_ActivityLogger::log('TAT Email HomeLet', 'complete', 'TAT', null, "IRN: {$this->_enquiryId}"); // Redirect to confirmation page, the redirect prevents // multiple submissions if user refreshes browser $this->_helper->redirector->gotoUrl('/tenants/reference-tracker/emailsent'); return; } } } } $this->view->reference = $tatManager->_reference; $this->view->form = $pageForm; }
/** * Call me form. */ public function callMeAction() { // Get TAT status $tatStatus = $this->getIrisSystemContext()->getTatClient()->getTatStatus(array('agentSchemeNumber' => (int) $this->agentSchemeNumber, 'applicationReferenceNumber' => $this->applicationReferenceNumber, 'applicantBirthDate' => $this->applicantBirthDate)); // Create new call me form $form = $this->getFormFactory()->create(new TatCallMeType()); // Process POSTed form if ($this->getSymfonyRequest()->isMethod('POST')) { $form->submit($this->getSymfonyRequest()); if ($form->isValid()) { $formData = $form->getData(); // Send e-mail to campaign team $content = ''; $content .= 'Name: ' . $tatStatus->getFirstName() . ' ' . $tatStatus->getLastName() . "\r\n\r\n"; $content .= "Reference number: {$this->applicationReferenceNumber}\r\n\r\n"; $content .= "Mobile number: {$formData['mobileNumber']}\r\n\r\n"; $content .= "Landline number: {$formData['landlineNumber']}\r\n\r\n"; $content .= "Additional information:\r\n{$formData['additionalInfo']}\r\n\r\n"; $content .= "Best time to call: {$formData['timeToCall']}\r\n\r\n"; $content .= "Agent Scheme Number: {$this->agentSchemeNumber}\r\n\r\n"; $tatMailManager = new Manager_Referencing_TatMail($this->applicationReferenceNumber); $tatMailManager->notifyCampaignTeam($content); // Show confirmation screen and end here $this->renderTwigView('/iris-tat/call-me-sent.html.twig', array('bodyTitle' => 'HomeLet Tenant\'s Insurance - Message Sent')); return; } } $this->renderTwigView('/iris-tat/call-me.html.twig', array('bodyTitle' => 'HomeLet Tenant\'s Insurance', 'formTheme' => 'tat-widgets.html.twig', 'tatStatus' => $tatStatus, 'agentSchemeNumber' => $this->agentSchemeNumber, 'form' => $form->createView())); }