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);
 }
Exemple #3
0
 /**
  * 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);
 }