コード例 #1
0
 /**
  * Reference summary
  *
  * @return void
  */
 public function rentRecoveryPlusSummaryAction()
 {
     $request = $this->getSymfonyRequest();
     if ($request->isMethod('GET')) {
         $policyNumber = $request->get('policyNumber');
         if ($policyNumber) {
             $searchClient = new Datasource_Insurance_RentRecoveryPlus_Search();
             $policySummaryData = $searchClient->searchForPolicyByNumber($this->_agentSchemeNumber, $policyNumber);
             if ($policySummaryData) {
                 /** @var \RRP\Model\RentRecoveryPlusSummary $summary */
                 $summary = $this->getContainer()->get('rrp.model.summary');
                 $summary = $summary::hydrateFromRow($policySummaryData);
                 if ($summary->getPayStatus() == Model_Insurance_RentRecoveryPlus_LegacyPolicy::PAY_STATUS_REFERRED) {
                     $referred = 1;
                 } else {
                     $referred = 0;
                 }
                 $viewDetails = array('summary' => $summary);
                 if (Manager_Core_PolicyNumber::isPolicy($policyNumber)) {
                     $renewalInvitePeriod = $this->_params->connect->settings->rentRecoveryPlus->renewalInvitePeriod;
                     $now = new \DateTime();
                     $mtaEndAt = new \DateTime($summary->getPolicyEndAt());
                     $mtaEndAt = $mtaEndAt->setTime(0, 0, 0)->sub(new \DateInterval($renewalInvitePeriod));
                     if ($now < $mtaEndAt) {
                         $viewDetails['cancelPolicy'] = 1;
                         $viewDetails['amendPolicy'] = 1;
                     }
                 } else {
                     if (!$referred) {
                         $viewDetails['acceptPolicy'] = 1;
                     }
                 }
                 $this->renderTwigView('/rentguarantee/rent-recovery-plus-summary.html.twig', $viewDetails);
                 return;
             }
         }
     }
     $this->renderTwigView('/rentguarantee/rent-recovery-plus-error.html.twig');
 }