public function saveInvoiceFile(Document $invoice) { require "vendor/autoload.php"; // inhibit DOMPDF's auto-loader define('DOMPDF_ENABLE_AUTOLOAD', false); //include the DOMPDF config file (required) require 'vendor/dompdf/dompdf/dompdf_config.inc.php'; //if you get errors about missing classes please also add: require_once 'vendor/dompdf/dompdf/include/autoload.inc.php'; $docType = $invoice instanceof Document\Invoice ? Document\Invoice::TYPE_INVOICE : Document\Invoice::TYPE_CREDIT_INVOICE; try { $renderer = $this->locator->get('Zend\\View\\Renderer\\PhpRenderer'); $renderer->setVars(array('document' => $invoice, 'rows' => $invoice->getRows())); $rendered = $renderer->render('application/document/pdf/invoice'); if ($rendered) { $output_document_dir = "data/files/Document/"; $output_customer_dir = "data/files/Customer/"; $fileNameDocument = $invoice->getId() . '_' . $invoice->getPrefix() . $invoice->getDocumentNumber() . '.pdf'; $fileNameCustomer = $invoice->getCustomer()->getId() . '_' . $invoice->getPrefix() . $invoice->getDocumentNumber() . '.pdf'; $dompdf = new \DOMPDF(); $dompdf->load_html($rendered); $dompdf->render(); $output = $dompdf->output(); file_put_contents($output_document_dir . $fileNameDocument, $output); file_put_contents($output_customer_dir . $fileNameCustomer, $output); $size = filesize($output_document_dir . $fileNameDocument); $type = filetype($output_document_dir . $fileNameDocument); $this->addDocumentFile($invoice, $output_document_dir, $fileNameDocument, $type, $size, $docType); $this->customerService->addCustomerFile($invoice->getCustomer(), $invoice, $output_customer_dir, $fileNameCustomer, $type, $size, $docType); } } catch (\Exception $e) { print_r($e->getMessage()); die; } }
private function getCustomerValues() { $results = array(); foreach ($this->customerService->getCustomers($this->user) as $customer) { $results[$customer->getId()] = $customer->getName() . '-' . $customer->getRegNo(); } return $results; }
public function ajaxGetCustomerAction() { if ($this->request->isPost() && $this->request->isXmlHttpRequest()) { $customer = $this->customerService->getCustomerById($this->request->getPost()->customerId); if ($customer) { /* @var $customer \Application\Entity\Customer */ $result = array('deadlineDays' => $customer->getDeadlineDays(), 'delayPercent' => $customer->getDelayPercent()); return new JsonModel($result); } } return $this->response; }
public function getCustomersJsonAction() { $returnData = $this->customerService->getAutoCompleteSource(); return new JsonModel($returnData); }
public function saveInvoiceWithParams(Document $invoice = null, User $user, array $data, $type) { if (!$invoice) { $company = $this->companyService->getCompanyByUser($user); if (!$company) { $this->companyService->setDefaultUserCompany($user); $company = $this->companyService->getCompanyByUser($user); } if ($type == Document::TYPE_INVOICE) { $invoice = new Invoice(); } elseif ($type == Document::TYPE_PURCHASE_INVOICE) { $invoice = new Document\PurchaseInvoice(); } elseif ($type == Document::TYPE_CREDIT_INVOICE) { $invoice = new Document\CreditInvoice(); } $invoice->setCompany($company); $invoice->setUser($user); $invoice->setCreatedBy($user); } if (isset($data['customer']) && $data['customer'] > 0) { $customer = $this->customerService->getCustomerById($data['customer']); if ($customer) { $invoice->setCustomer($customer); } } if (isset($data['supplier']) && $data['supplier'] > 0) { $supplier = $this->supplierService->getSupplierById($data['supplier']); if ($supplier) { $invoice->setSupplier($supplier); } } if (isset($data['vat']) && $data['vat'] > 0) { $vat = $this->settingsService->getVatById($data['vat']); if ($vat) { $invoice->setVat($vat); } } if (isset($data['docDate'])) { $docDate = \DateTime::createFromFormat('d.m.Y', $data['docDate']); if (!$docDate) { $docDate = new \DateTime(); } $deadLine = clone $docDate; $deadlineDays = isset($data['deadlineDays']) && $data['deadlineDays'] > 0 ? $data['deadlineDays'] : 0; $deadLine = $deadLine->add(new \DateInterval('P' . $deadlineDays . 'D')); $invoice->setDocumentDate($docDate); $invoice->setPaymentDate($deadLine); } if (isset($data['deadlineDays'])) { $invoice->setDeadlineDays($data['deadlineDays']); } if (isset($data['supplierDocNumber'])) { $invoice->setSupplierDocumentNumber($data['supplierDocNumber']); } if (isset($data['amount'])) { $invoice->setAmount($data['amount']); } if (isset($data['delayPercent'])) { $invoice->setDelayPercent($data['delayPercent']); } if (isset($data['taxAmount'])) { $invoice->setTaxAmount($data['taxAmount']); } if (isset($data['paymentType'])) { $invoice->setPaymentType($data['paymentType']); } if (isset($data['amountTax'])) { $invoice->setAmountTax($data['amountTax']); } if (isset($data['amountTax'])) { $invoice->setAmountTax($data['amountTax']); } if (isset($data['comment'])) { $invoice->setComment($data['comment']); } return $this->saveInvoiceRows($invoice, $data); }