/** * 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'); }