/** * @Route("/admin/contract/view/{id}", name="tsk_contract_default_view", defaults={"_format" = "html" }) * @Template() */ public function viewAction(Contract $contract) { $em = $this->getDoctrine()->getEntityManager(); $doc = $contract->getLatestContractDoc(); $paymentTermsJSON = $doc->getPaymentTerms(); // ld($paymentTermsJSON); $paymentTerms = json_decode($paymentTermsJSON['paymentsData']); // $paymentTerms = new \StdClass(); // foreach ($paymentTermsJSON as $k => $v) { // $paymentTerms->$k = $v; // } $s = new String(); $installments = $s->stringifyPayments($paymentTerms->payments); // Get contract school and school state // $school = $doc->getSchool(); $contractTemplate = $contract->getProgram()->getMembershipType()->getContractTemplate(); if ($contractTemplate) { $template = $contractTemplate->getTemplate(); $orgId = $this->get('session')->get('tsk_organization_id'); $orgRepo = $em->getRepository('TSK\\UserBundle\\Entity\\Organization'); $org = $orgRepo->find($orgId); $stringRenderer = $this->get('tsk.twig.string'); $output = $stringRenderer->render($template, array('contractAmount' => $paymentTerms->principal, 'contractDiscount' => !empty($paymentTerms->discount) ? $paymentTerms->discount : '', 'contractPayments' => $paymentTerms->payments, 'contractNumPayments' => count($paymentTerms->payments), 'schoolLegalName' => $doc->getSchoolLegalName(), 'schoolAddress1' => $doc->getSchoolAddress1(), 'schoolAddress2' => $doc->getSchoolAddress2(), 'schoolCity' => $doc->getSchoolCity(), 'schoolState' => $doc->getSchoolState(), 'schoolPostalCode' => $doc->getSchoolPostalCode(), 'schoolPhone' => $doc->getSchoolPhone(), 'schoolLateGraceDays' => $doc->getSchoolLateGraceDays(), 'schoolLatePaymentCharge' => $doc->getSchoolLatePaymentCharge(), 'programLegalDescription' => $doc->getProgramLegalDescription(), 'org' => $org, 'orgName' => $org->getTitle(), 'abbrOrgName' => $org->getTitle(), 'blackBeltFee' => 495, 'student' => $doc->getStudents(), 'installments' => '$installments')); // $xml = $response->getContent(); $response = new Response(); $facade = $this->get('ps_pdf.facade'); $content = $facade->render($output); return new Response($content, 200, array('content-type' => 'application/pdf')); exit; } $refundPolicy = $this->generateRefundPolicy($student->getContracts()->count(), $school->getContact()->getState()->getStateName(), $latestContract->getAmount()); $cancelPolicy = $this->generateCancelPolicy($school->getContact()->getState()->getStateName()); $format = $this->get('request')->get('_format'); return $this->render('TSKContractBundle:Default:index.pdf.twig', array('contract' => $latestContract, 'school' => $school, 'orgName' => "Tiger Schulmann's Mixed Martial Arts Center", 'abbrOrgName' => 'TSMMA', 'blackBeltFee' => 495, 'student' => $student, 'refundPolicy' => $refundPolicy, 'cancelPolicy' => $cancelPolicy, 'installments' => $installments)); }