public function isValid($postData) { $pageSession = new Zend_Session_Namespace('portfolio_insurance_quote'); $customerReferenceNumber = $pageSession->CustomerRefNo; $propertyManager = new Manager_Insurance_Portfolio_Property(); $propertyObjects = $propertyManager->fetchAllProperties($customerReferenceNumber); $propertyArray = $propertyObjects->toArray(); $optionList = array('' => '--- please select ---'); foreach ($propertyArray as $property) { $optionList[$property['id']] = $property['address1'] . " " . $property['address2'] . " " . $property['address3'] . " " . $property['postcode']; } // Get the subfoem element for property address that the bank may have interest in $propertyAddressSelect = $this->getElement('claim_property'); $propertyAddressSelect->setMultiOptions($optionList); $validator = new Zend_Validate_InArray(array('haystack' => array_keys($optionList))); $validator->setMessages(array(Zend_Validate_InArray::NOT_IN_ARRAY => 'Not in list')); $propertyAddressSelect->addValidator($validator, true); // Set the selected to 0 $propertyAddressSelect->setValue('0'); $claimTypeList = array('' => '--- please select ---'); $claimTypesSelect = $this->getElement('claim_type'); $claimTypes = new Datasource_Insurance_PreviousClaimTypes(); $claimTypeObjects = $claimTypes->getPreviousClaimTypes(Model_Insurance_ProductNames::LANDLORDSPLUS); foreach ($claimTypeObjects as $ClaimType) { $claimTypeList[$ClaimType->getClaimTypeID()] = $ClaimType->getClaimTypeText(); } $claimTypesSelect->setMultiOptions($claimTypeList); return parent::isValid($postData); }
public function isValid($postData) { $pageSession = new Zend_Session_Namespace('portfolio_insurance_quote'); $customerReferenceNumber = $pageSession->CustomerRefNo; $propertyManager = new Manager_Insurance_Portfolio_Property(); $propertyObjects = $propertyManager->fetchAllProperties($customerReferenceNumber); $propertyArray = $propertyObjects->toArray(); $optionList = array('' => '--- please select ---'); foreach ($propertyArray as $property) { $optionList[$property['id']] = $property['address1'] . " " . $property['address2'] . " " . $property['address3'] . " " . $property['postcode']; } // Get the subfoem element for property address that the bank may have interest in $propertyAddressSelect = $this->getElement('bank_property'); $propertyAddressSelect->setMultiOptions($optionList); $validator = new Zend_Validate_InArray(array('haystack' => array_keys($optionList))); $validator->setMessages(array(Zend_Validate_InArray::NOT_IN_ARRAY => 'Property not in list')); $propertyAddressSelect->addValidator($validator, true); return parent::isValid($postData); }
/** * This will convert all the new data into the old lagacy tables * @param * @return * @author John Burrin * @since 1.3 * * Munten ergo sum */ public function convertLegacy($refNo) { // fetch quote premiums $premiums = $this->quote($refNo); // Fetch the Landlords details $landlord = new Manager_Insurance_Portfolio_LegacyCustomer(); $landlordDetails = $landlord->fetchByRefNo($refNo); // Fetch all the properties $propertyManager = new Manager_Insurance_Portfolio_Property(); $propertyObject = new Model_Insurance_Portfolio_Property(); $propertyObject = $propertyManager->fetchAllProperties($refNo); // populate the legacy portfoliostat table $legacyPortfolioStat = new Model_Insurance_Portfolio_LegacyPortfolio(); $legacyPortfolioStat->agentSchemeNo = 1403796; // $legacyPortfolioStat->csuId = ""; $legacyPortfolioStat->customerRefNo = ""; $legacyPortfolioStat->date = date("Y-m-d"); $legacyPortfolioStat->email = $landlordDetails['email_address']; $legacyPortfolioStat->heardFrom = ""; $legacyPortfolioStat->hpc = ""; $legacyPortfolioStat->name = $landlordDetails['first_name'] . " " . $landlordDetails['last_name']; $legacyPortfolioStat->numOfHouse = count($propertyObject); $legacyPortfolioStat->policyNumber = ""; $legacyPortfolioStat->quote = $premiums['premiums']['UserQuoteAnnualPremium']; $legacyPortfolioStat->referred = ""; $legacyPortfolioStat->refNo = $refNo; $legacyPortfolioStat->telephone = $landlordDetails['telephone1']; // Set up datasources to the risk areas $dsBuildingsRiskArea = new Datasource_Insurance_RiskAreas_Buildings(); $dsContentsRiskArea = new Datasource_Insurance_RiskAreas_LandlordsContents(); //Save the portfoliostat data $legacyPortfolioManager = new Manager_Insurance_Portfolio_LegacyPortfolio(); $legacyPortfolioManager->save($legacyPortfolioStat); $idd = new Datasource_Insurance_IddSupport(); if (!$idd->isIddSupport($legacyPortfolioStat->refNo)) { $inserArray = array(); $insertArray['policynumber'] = $legacyPortfolioStat->refNo; $insertArray['agentschemeno'] = $legacyPortfolioStat->agentSchemeNo; $insertArray['csuid'] = 0; $fsaAgentStatusDatasource = new Datasource_Fsa_AgentStatus(); $fsaStatus = $fsaAgentStatusDatasource->getAgentFsaStatus($legacyPortfolioStat->agentSchemeNo); if (isset($fsaStatus['status_abbr'])) { $insertArray['FSA_status'] = $fsaStatus['status_abbr']; } else { $insertArray['FSA_status'] = ""; } $insertArray['origsaleid'] = 9; $insertArray['callerid'] = 2; $idd->setIddSupport($insertArray); } // Setup an agent manager $agent = new Manager_Core_Agent(); // get polict options $ds_rates = new Datasource_Insurance_Portfolio_PortfolioRates(); $rates = $ds_rates->fetchRates(); $optionsString = $this->_getPolicyOptions(); // Save the property data into the legacy portfolio table $legacyPropertyManager = new Manager_Insurance_Portfolio_LegacyProperty(); foreach ($propertyObject as $property) { // Create a new Model_Insurance_Portfolio_LegacyProperty Object $legacyPropertyObject = new Model_Insurance_Portfolio_LegacyProperty(); $legacyPropertyObject->amountsCovered = $this->_getAmountsCovered($property); $legacyPropertyObject->discount = ""; $legacyPropertyObject->excessId = ""; $legacyPropertyObject->ipt = ""; $legacyPropertyObject->optionDiscounts = ""; $legacyPropertyObject->optionPremiums = ""; $legacyPropertyObject->policyNumber = $refNo; $legacyPropertyObject->policyOptions = $optionsString; $legacyPropertyObject->premium = ""; $legacyPropertyObject->propAddress1 = $property->address1; $legacyPropertyObject->propAddress3 = $property->address2; $legacyPropertyObject->propAddress5 = $property->address3; $legacyPropertyObject->propPostcode = $property->postcode; $legacyPropertyObject->quote = 0.0; $legacyPropertyObject->rateSetId = $agent->getRatesetIDByASN($refNo); $legacyPropertyObject->riskArea = $dsContentsRiskArea->getCurrentRate($property['postcode']); $legacyPropertyObject->riskAreaB = $dsBuildingsRiskArea->getCurrentRate($property['postcode']); $legacyPropertyObject->surcharge = ""; $legacyPropertyManager->save($legacyPropertyObject); } }
private function _doMail($data) { $pageSession = new Zend_Session_Namespace('portfolio_insurance_quote'); $customerRefNo = $pageSession->CustomerRefNo; // Get Customer $customerManager = new Manager_Insurance_Portfolio_LegacyCustomer(); $customerObject = new Model_Insurance_Portfolio_LegacyCustomer(); $customerObject = $customerManager->fetchByRefNo($customerRefNo); // Get Properties $propertyManager = new Manager_Insurance_Portfolio_Property(); $properties = array(); // Fetch all the properties related to this customer refNo $properties = $propertyManager->fetchAllProperties($customerRefNo)->toArray(); $propertyHtml = $this->view->partialLoop('portfolio-insurance-quote/partials/email-templates/property-details.phtml', $properties); // Fetch claims releted to this customer refNo $claimsManager = new Manager_Insurance_Portfolio_PreviousClaims(); $claims = $claimsManager->fetchWithClaimTypes($customerRefNo); $claimsHtml = $this->view->partialLoop('portfolio-insurance-quote/partials/email-templates/claims.phtml', $claims); // Fetch bank interest related to this customer refNo $bankInterestManager = new Manager_Insurance_Portfolio_BankInterest(); $bankInterest = $bankInterestManager->fetchAllInterests($customerRefNo); $bankInterestHtml = $this->view->partialLoop('portfolio-insurance-quote/partials/email-templates/bank-interest.phtml', $bankInterest); $uwManager = new Manager_Insurance_Portfolio_UnderwritingAnswers(); $uwAnswers = $uwManager->fetchByRefNo($customerRefNo); // Merge the claim and Interest info into the UW template $uwQuestionsHtml = $this->view->partial('portfolio-insurance-quote/partials/email-templates/uw-questions.phtml', array('claimsHtml' => $claimsHtml, 'bankInterestHtml' => $bankInterestHtml, 'uwAnswers' => $uwAnswers->toArray())); // Merge all the html together $mailBody = $this->view->partial('portfolio-insurance-quote/partials/email-templates/emailQuote.phtml', array('theData' => $data, 'theCustomer' => $customerObject->toArray(), 'propertyHtml' => $propertyHtml, 'uwQuestionsHtml' => $uwQuestionsHtml)); // Get some parameter stuffs $params = Zend_Registry::get('params'); $emailArray = explode(",", $params->email->portfolioAdmin); $toAddress = $emailArray[0]; $ccAddress = $emailArray[1]; $fromAddress = $params->email->noreply; // Mail that bad boy if (isset($data['referred'])) { $referred = " - REFERRED"; } $email = new Application_Core_Mail(); $email->setFrom($fromAddress, "PORTFOLIO NEW BUSINESS {$referred}"); $email->setTo($toAddress, "Underwriting"); $email->setCC($ccAddress); $email->setSubject("Portfolio Website Query - ref: {$customerRefNo}"); $email->setBodyHtml($mailBody); $email->send(); return; }
/** * TODO: Document this * @param * @return * @author John Burrin * @since */ public function updatePropertyAction() { $pageSession = new Zend_Session_Namespace('portfolio_insurance_quote'); $customerReferenceNumber = $pageSession->CustomerRefNo; $ajaxForm = new Form_PortfolioInsuranceQuote_editPropertyDialog(); $return = array(); $request = $this->getRequest(); $postdata = $request->getPost(); $return['success'] = false; $ajaxForm->isValid($postdata); $return['errorObject'] = $ajaxForm->getMessages(); if ($ajaxForm->isValid($postdata)) { $cleanData = $ajaxForm->getValues(); // According to the Zend manual these *should* be the clean values $propertyArray = array(); $propertyManager = new Manager_Insurance_Portfolio_Property(); $dataObject = new Model_Insurance_Portfolio_Property(); if (isset($postdata['propertyid'])) { $dataObject->id = $cleanData['propertyid']; } if (isset($customerReferenceNumber)) { $dataObject->refno = $customerReferenceNumber; } if (isset($postdata['ins_house_number_name'])) { $dataObject->building = $cleanData['ins_house_number_name']; } if (isset($postdata['ins_postcode'])) { $dataObject->postcode = $propertyManager->formatPostcode($cleanData['ins_postcode']); } if (isset($postdata['employment_status'])) { $dataObject->tenantOccupation = $cleanData['employment_status']; } if (isset($postdata['buildings_cover'])) { $dataObject->buildingsSumInsured = $cleanData['buildings_cover']; } if (isset($postdata['buildings_accidental_damage'])) { $dataObject->buildingsAccidentalDamage = $cleanData['buildings_accidental_damage']; } if (isset($postdata['buildings_nil_excess'])) { $dataObject->buildingsNilExcess = $cleanData['buildings_nil_excess']; } if (isset($postdata['contents_cover'])) { $dataObject->contentsSumInsured = $cleanData['contents_cover']; } if (isset($postdata['contents_accidental_damage'])) { $dataObject->contentsAccidentalDamage = $cleanData['contents_accidental_damage']; } if (isset($postdata['contents_nil_excess'])) { $dataObject->contentsNilExcess = $cleanData['contents_nil_excess']; } if (isset($postdata['limited_contents'])) { $dataObject->limitedContents = $cleanData['limited_contents']; } $address = new Manager_Core_Postcode(); $return['address'] = $address->getPropertyByID($cleanData['ins_address']); $dataObject->houseNumber = $return['address']['houseNumber']; $dataObject->building = $return['address']['buildingName']; $dataObject->address1 = $return['address']['address1']; $dataObject->address2 = $return['address']['address2']; $dataObject->address3 = $return['address']['address3']; $dataObject->address4 = $return['address']['address4']; $dataObject->address5 = $return['address']['address5']; $dataObject->postcode = $property->formatPostcode($cleanData['ins_postcode']); $dataObject->refno = $pageSession->CustomerRefNo; $dataObject->tenantOccupation = $dataObject->tenantOccupation; // Do the update stuffs $propertyManager->save($dataObject); // need to tell the view we are on step 2 $this->view->stepNum = 2; // Get the properties to shove back into the page $propertyArray = $propertyManager->fetchAllProperties($customerReferenceNumber); $return['html'] = $this->view->partialLoop('portfolio-insurance-quote/partials/property-list.phtml', $propertyArray); $return['success'] = true; $return['propNumb'] = count($propertyArray->toArray()); } echo Zend_Json::encode($return); }