diff --git a/public/assets/images/pdf_images/100x100.png b/public/assets/images/pdf_images/100x100.png new file mode 100644 index 00000000..8a1daa01 Binary files /dev/null and b/public/assets/images/pdf_images/100x100.png differ diff --git a/public/assets/images/pdf_images/110x110-qr-codes-logo-placeholder.png b/public/assets/images/pdf_images/110x110-qr-codes-logo-placeholder.png new file mode 100644 index 00000000..87bce404 Binary files /dev/null and b/public/assets/images/pdf_images/110x110-qr-codes-logo-placeholder.png differ diff --git a/public/assets/images/pdf_images/120x120-qr-codes.png b/public/assets/images/pdf_images/120x120-qr-codes.png new file mode 100644 index 00000000..5bfe29c8 Binary files /dev/null and b/public/assets/images/pdf_images/120x120-qr-codes.png differ diff --git a/public/assets/images/pdf_images/275x100-century-logo-placeholder.png b/public/assets/images/pdf_images/275x100-century-logo-placeholder.png new file mode 100644 index 00000000..75562fe5 Binary files /dev/null and b/public/assets/images/pdf_images/275x100-century-logo-placeholder.png differ diff --git a/public/assets/images/pdf_images/275x125-century-logo-placeholder.png b/public/assets/images/pdf_images/275x125-century-logo-placeholder.png new file mode 100644 index 00000000..1cd10c4f Binary files /dev/null and b/public/assets/images/pdf_images/275x125-century-logo-placeholder.png differ diff --git a/public/assets/images/pdf_images/275x75-century-logo-placeholder.png b/public/assets/images/pdf_images/275x75-century-logo-placeholder.png new file mode 100644 index 00000000..65e8c0d5 Binary files /dev/null and b/public/assets/images/pdf_images/275x75-century-logo-placeholder.png differ diff --git a/public/assets/images/pdf_images/275x90-century-logo-placeholder.png b/public/assets/images/pdf_images/275x90-century-logo-placeholder.png new file mode 100644 index 00000000..46c88337 Binary files /dev/null and b/public/assets/images/pdf_images/275x90-century-logo-placeholder.png differ diff --git a/public/assets/images/pdf_images/90.png b/public/assets/images/pdf_images/90.png new file mode 100644 index 00000000..59769ffc Binary files /dev/null and b/public/assets/images/pdf_images/90.png differ diff --git a/public/assets/images/pdf_images/95.png b/public/assets/images/pdf_images/95.png new file mode 100644 index 00000000..46e69146 Binary files /dev/null and b/public/assets/images/pdf_images/95.png differ diff --git a/public/assets/images/pdf_images/heart_logo.png b/public/assets/images/pdf_images/heart_logo.png new file mode 100644 index 00000000..a8454480 Binary files /dev/null and b/public/assets/images/pdf_images/heart_logo.png differ diff --git a/public/assets/images/pdf_images/heart_qr.png b/public/assets/images/pdf_images/heart_qr.png new file mode 100644 index 00000000..44df477f Binary files /dev/null and b/public/assets/images/pdf_images/heart_qr.png differ diff --git a/public/assets/images/pdf_images/pdf_cmb_logo.png b/public/assets/images/pdf_images/pdf_cmb_logo.png new file mode 100644 index 00000000..f206620e Binary files /dev/null and b/public/assets/images/pdf_images/pdf_cmb_logo.png differ diff --git a/public/assets/images/pdf_images/touchngo_logo.png b/public/assets/images/pdf_images/touchngo_logo.png new file mode 100644 index 00000000..1d236467 Binary files /dev/null and b/public/assets/images/pdf_images/touchngo_logo.png differ diff --git a/public/assets/images/pdf_images/touchngo_qr.png b/public/assets/images/pdf_images/touchngo_qr.png new file mode 100644 index 00000000..3a0522c0 Binary files /dev/null and b/public/assets/images/pdf_images/touchngo_qr.png differ diff --git a/src/Service/JobOrderHandler/CMBJobOrderHandler.php b/src/Service/JobOrderHandler/CMBJobOrderHandler.php index 4760d286..2a481593 100644 --- a/src/Service/JobOrderHandler/CMBJobOrderHandler.php +++ b/src/Service/JobOrderHandler/CMBJobOrderHandler.php @@ -2150,7 +2150,8 @@ class CMBJobOrderHandler implements JobOrderHandlerInterface // translate the title and the logo for the pdf $translated_title = $translator->trans('jo_title_pdf'); - $translated_logo = $translator->trans('image_jo_pdf'); + // TODO: change the image file in messages.en.yaml to the correct logo + $translated_logo = $translator->trans('image_jo_pdf_century_logo'); $translated_delivery_instructions_label = $translator->trans('delivery_instructions_label'); // generate the pdf @@ -2171,222 +2172,186 @@ class CMBJobOrderHandler implements JobOrderHandlerInterface $header_font_size = 9; $jo_font_size = 16; $col1_x = $margin; + $col_extra_x = 85; $col2_x = 120; $label_width = 40; $val_width = 60; + $col_qr_code = 150; // insert the logo $image_path = $proj_path . $translated_logo; $pdf->Image($image_path, $col1_x, 10); + $y = $pdf->GetY(); + + // insert number + $pdf->Ln($line_height); + $pdf->SetFont($font_face, 'B', $body_font_size); + $pdf->SetX($col_extra_x); + $pdf->Cell($label_width, $jo_line_height, '1800-22-8837'); + // insert JO number $pdf->SetFont($font_face, 'B', $jo_font_size); - $pdf->SetX($col2_x); - $pdf->Cell($label_width, $jo_line_height, 'JO Number:'); + $pdf->SetXY($col2_x, $y); + $pdf->Cell($label_width, $jo_line_height, 'JO NO:'); $pdf->SetTextColor(9, 65, 150); $pdf->Cell(0, $jo_line_height, $obj->getID()); + $pdf->Ln(); + + // insert date + $pdf->SetX($col2_x); + $str_date_create = $obj->getDateCreate()->format('d/m/y'); + $pdf->SetFont($font_face, 'B', $jo_font_size); + $pdf->SetTextColor(0, 0, 0); + $pdf->Cell($label_width, $jo_line_height, 'JO Date:'); + $pdf->SetTextColor(9, 65, 150); + $pdf->Cell(0, $jo_line_height, $str_date_create); + + // insert company name + $pdf->Ln($line_height * 2); + $pdf->SetFont($font_face, 'B', $body_font_size); + $pdf->SetTextColor(0, 0, 0); + $pdf->SetX($col1_x); + $pdf->Cell(0, $jo_line_height, $translator->trans('pdf_company_name')); + + // insert company address + $pdf->Ln($line_height); + $pdf->SetFont($font_face, '', $body_font_size); + $pdf->SetTextColor(0, 0, 0); + $pdf->SetX($col1_x); + $pdf->Cell(0, $jo_line_height, $translator->trans('pdf_company_address')); + + // insert company numbers and email + $pdf->Ln($line_height); + $pdf->SetFont($font_face, '', $body_font_size); + $pdf->SetTextColor(0, 0, 0); + $pdf->SetX($col1_x); + $pdf->Cell(0, $jo_line_height, $translator->trans('pdf_company_number_email')); + + // insert INVOICE header + $pdf->Ln($line_height * 2); + $pdf->SetFont($font_face, 'BU', $jo_font_size); + $pdf->MultiCell(0 , $jo_line_height, 'INVOICE', 0, 'C'); + + // insert customer details header + $pdf->SetFont($font_face, 'B', $header_font_size); + $pdf->Cell($label_width, $line_height, $translator->trans('pdf_customer_details_header')); + $pdf->Ln($line_height); + $pdf->SetFont($font_face, '', $body_font_size); + // insert customer info $customer = $obj->getCustomer(); $pdf->SetFont($font_face, '', $body_font_size); $pdf->SetTextColor(0, 0, 0); - $pdf->Ln($line_height * 7); - // get current Y $y = $pdf->GetY(); $pdf->SetXY($col1_x, $y); $pdf->Cell($label_width, $line_height, 'Customer Name:'); - $pdf->MultiCell($val_width, $line_height, $customer ? $customer->getFirstName() . ' ' . $customer->getLastName() : '', 0, 'L'); + $pdf->MultiCell($val_width, $line_height, $customer ? strtoupper($customer->getFirstName()) . ' ' . strtoupper($customer->getLastName()) : '', 0, 'L'); - // get Y after left cell - $y1 = $pdf->GetY(); + // get current Y + $y = $pdf->GetY(); - $pdf->SetXY($col2_x, $y); + $pdf->SetXY($col1_x, $y); $pdf->Cell($label_width, $line_height, 'Mobile Phone:'); $pdf->MultiCell(0, $line_height, $customer && $customer->getPhoneMobile() ? $this->country_code . $customer->getPhoneMobile() : '', 0, 'L'); - // get Y after right cell - $y2 = $pdf->GetY(); - - // get row height - $y = max($y1, $y2); + // get current Y + $y = $pdf->GetY(); $pdf->SetXY($col1_x, $y); - $pdf->Cell($label_width, $line_height, 'Delivery Date:'); - $pdf->MultiCell($val_width, $line_height, $obj->getDateSchedule() ? $obj->getDateSchedule()->format("m/d/Y") : '', 0, 'left'); + $pdf->Cell($label_width, $line_height, 'Second Number:'); + $pdf->MultiCell(0, $line_height, $customer && $customer->getPhoneMobile() ? $this->country_code . $customer->getPhoneLandline() : '', 0, 'L'); - // get Y after left cell - $y1 = $pdf->GetY(); - - $pdf->SetXY($col2_x, $y); - $pdf->Cell($label_width, $line_height, 'Landline:'); - $pdf->MultiCell(0, $line_height, $customer && $customer->getPhoneLandline() ? $this->country_code . $customer->getPhoneLandline() : '', 0, 'L'); - - // get Y after right cell - $y2 = $pdf->GetY(); - - // get row height - $y = max($y1, $y2); - - $pdf->SetXY($col2_x, $y); - $pdf->Cell($label_width, $line_height, 'Office Phone:'); - $pdf->MultiCell(0, $line_height, $customer && $customer->getPhoneOffice() ? $this->country_code . $customer->getPhoneOffice() : '', 0, 'L'); - - $pdf->SetX($col2_x); - $pdf->Cell($label_width, $line_height, 'Fax:'); - $pdf->MultiCell($val_width, $line_height, $customer && $customer->getPhoneFax() ? $this->country_code . $customer->getPhoneFax() : '', 0, 'L'); + // get current Y + $y = $pdf->GetY(); // insert vehicle info $cv = $obj->getCustomerVehicle(); $vehicle = $cv->getVehicle(); - $pdf->Ln(); - $pdf->SetFont($font_face, 'B', $header_font_size); - $pdf->Cell($label_width, $line_height, 'Vehicle Details'); - $pdf->Ln($line_height * 2); - - // get current Y - $y = $pdf->GetY(); - - $pdf->SetFont($font_face, '', $body_font_size); + $pdf->SetXY($col1_x, $y); $pdf->Cell($label_width, $line_height, 'Plate Number:'); - $pdf->MultiCell($val_width, $line_height, $cv ? $cv->getPlateNumber() : '', 0, 'L'); + $pdf->MultiCell(0, $line_height, $cv ? $cv->getPlateNumber() : '', 0, 'L'); - // get Y after right cell - $y2 = $pdf->GetY(); - - // get row height - $y = max($y1, $y2); + // get current Y + $y = $pdf->GetY(); $pdf->SetXY($col1_x, $y); $pdf->Cell($label_width, $line_height, 'Brand:'); - $pdf->MultiCell($val_width, $line_height, $vehicle && $vehicle->getManufacturer() ? $vehicle->getManufacturer()->getName() : '', 0, 'L'); + $pdf->MultiCell($val_width, $line_height, $vehicle && $vehicle->getManufacturer() ? strtoupper($vehicle->getManufacturer()->getName()) : '', 0, 'L'); - // get Y after left cell - $y1 = $pdf->GetY(); - - $pdf->SetXY($col2_x, $y); - $pdf->Cell($label_width, $line_height, 'Model / Year:'); - $pdf->MultiCell(0, $line_height, $cv ? $cv->getModelYear() : '', 0, 'L'); - - // get Y after right cell - $y2 = $pdf->GetY(); - - // get row height - $y = max($y1, $y2); + // get current Y + $y = $pdf->GetY(); $pdf->SetXY($col1_x, $y); $pdf->Cell($label_width, $line_height, 'Make:'); - $pdf->MultiCell($val_width, $line_height, $vehicle ? $vehicle->getMake() : '', 0, 'L'); + $pdf->MultiCell($val_width, $line_height, $vehicle ? strtoupper($vehicle->getMake()) : '', 0, 'L'); - // insert battery info + // get current Y + $y = $pdf->GetY(); + + $pdf->SetXY($col1_x, $y); + $pdf->Cell($label_width, $line_height, 'Model / Year:'); + $pdf->MultiCell(0, $line_height, $cv ? $cv->getModelYear() : '', 0, 'L'); + + // get current Y + $y = $pdf->GetY(); + + $pdf->SetXY($col1_x, $y); + $pdf->Cell($label_width, $line_height, 'Delivery Address:'); + $pdf->MultiCell($val_width, $line_height, strtoupper($obj->getDeliveryAddress()), 0, 'L'); + + + // insert Other Details $battery = $cv->getCurrentBattery(); $pdf->Ln(); $pdf->SetFont($font_face, 'B', $header_font_size); - $pdf->Cell($label_width, $line_height, 'Battery Details'); - $pdf->Ln($line_height * 2); - + $pdf->Cell($label_width, $line_height, 'Other Details'); + $pdf->Ln($line_height); $pdf->SetFont($font_face, '', $body_font_size); // get current Y $y = $pdf->GetY(); - $pdf->Cell($label_width, $line_height, 'Current Battery:'); - $pdf->MultiCell($val_width, $line_height, $battery && $battery->getManufacturer() && $battery->getModel() && $battery->getSize() ? $battery->getManufacturer()->getName() . ' ' . $battery->getModel()->getName() . ' ' . $battery->getSize()->getName() . ' (' . $battery->getProductCode() . ')' : '', 0, 'L'); + $pdf->setXY($col1_x, $y); + $pdf->Cell($label_width, $line_height, strtoupper($obj->getDeliveryInstructions())); - // get Y after left cell - $y1 = $pdf->GetY(); + // insert invoice details + $pdf->Ln($line_height * 2); + $pdf->SetFont($font_face, 'B', $header_font_size); + $pdf->Cell($label_width, $line_height, 'Invoice Details'); + $pdf->Ln($line_height); + $pdf->SetFont($font_face, '', $body_font_size); - $pdf->SetXY($col2_x, $y); - $pdf->Cell($label_width, $line_height, 'Serial Number:'); - $pdf->MultiCell(0, $line_height, $cv ? $cv->getWarrantyCode() : '', 0, 'L'); + // get current Y + $y = $pdf->GetY(); - // get Y after right cell - $y2 = $pdf->GetY(); + $pdf->Cell($label_width, $line_height, 'Transaction Type:'); + $pdf->MultiCell($val_width, $line_height, CMBServiceType::getName($obj->getServiceType()), 0, 'L'); - // get row height - $y = max($y1, $y2); + // get current Y + $y = $pdf->GetY(); + + $pdf->Cell($label_width, $line_height, 'OR Name:'); + $pdf->MultiCell($val_width, $line_height, $obj->getORName(), 0, 'L'); + + // get current Y + $y = $pdf->GetY(); $pdf->SetXY($col1_x, $y); - $pdf->Cell($label_width, $line_height, 'Wty. Exp. Date:'); - $pdf->MultiCell($val_width, $line_height, $cv && $cv->getWarrantyExpiration() ? $cv->getWarrantyExpiration()->format("d/m/Y") : '', 0, 'L'); - - // insert transaction details - $pdf->Ln(); - $pdf->SetFont($font_face, 'B', $header_font_size); - $pdf->Cell($label_width, $line_height, 'Transaction Details'); - $pdf->Ln($line_height * 2); - - $pdf->SetFont($font_face, '', $body_font_size); - - // get current Y - $y = $pdf->GetY(); - - $pdf->Cell($label_width, $line_height, 'Warranty Class:'); - $pdf->MultiCell($val_width, $line_height, CMBWarrantyClass::getName($obj->getWarrantyClass()), 0, 'L'); - - // get Y after left cell - $y1 = $pdf->GetY(); - - $pdf->SetXY($col2_x, $y); $pdf->Cell($label_width, $line_height, 'Mode of Payment:'); $pdf->MultiCell(0, $line_height, CMBModeOfPayment::getName($obj->getModeOfPayment()), 0, 'L'); - // get Y after right cell - $y2 = $pdf->GetY(); - - // get row height - $y = max($y1, $y2); - - $pdf->Cell($label_width, $line_height, 'Delivery Address:'); - $pdf->MultiCell($val_width, $line_height, $obj->getDeliveryAddress(), 0, 'L'); - - // get Y after left cell - $y1 = $pdf->GetY(); - - $pdf->SetXY($col2_x, $y); - $pdf->Cell($label_width, $line_height, 'Landmark:'); - $pdf->MultiCell(0, $line_height, $obj->getLandMark(), 0, 'L'); - - // get Y after right cell - $y2 = $pdf->GetY(); - - // get row height - $y = max($y1, $y2); + // get current Y + $y = $pdf->GetY(); $pdf->SetXY($col1_x, $y); - $pdf->Cell($label_width, $line_height, 'Dispatch Time:'); - $pdf->MultiCell($val_width, $line_height, $obj->getDateSchedule() ? $obj->getDateSchedule()->format("g:i A") : '', 0, 'L'); - - // get Y after left cell - $y1 = $pdf->GetY(); - - $pdf->SetXY($col2_x, $y); - $pdf->Cell($label_width, $line_height, 'Dispatched By:'); - $pdf->MultiCell(0, $line_height, $obj->getProcessedBy() ? $obj->getProcessedBy()->getFullName() : '', 0, 'L'); - - // get Y after right cell - $y2 = $pdf->GetY(); - - // get row height - $y = max($y1, $y2); - - // insert delivery instructions - $pdf->SetY($y); - $pdf->Ln(); - $pdf->SetFont($font_face, 'B', $header_font_size); - $pdf->Cell(0, $line_height, $translated_delivery_instructions_label); - $pdf->Ln(); - - $pdf->SetFont($font_face, '', $body_font_size); - $pdf->MultiCell(0, $line_height, $obj->getDeliveryInstructions(), 1, 'L'); - - // insert invoice details - $pdf->Ln(); - $pdf->SetFont($font_face, 'B', $header_font_size); - $pdf->Cell($label_width, $line_height, 'Invoice Details'); - $pdf->Ln(); + $pdf->Cell($label_width, $line_height, 'Credit Card No:'); + // TODO: insert boxes here + $pdf->MultiCell($val_width, $line_height, 'INSERT BOXES HERE', 0, 'L'); // invoice table headers $invoice = $obj->getInvoice(); @@ -2407,83 +2372,101 @@ class CMBJobOrderHandler implements JobOrderHandlerInterface $pdf->Cell($table_col_width * 2, $table_line_height, number_format($item->getPrice(), 2), 1, 0, 'R'); $pdf->Cell($table_col_width * 2, $table_line_height, number_format($item->getPrice() * $item->getQuantity(), 2), 1, 1, 'R'); } + $pdf->Cell($table_col_width * 6, $table_line_height, 'SubTotal', 1); + $pdf->Cell($table_col_width * 2, $table_line_height, '', 1, 0, 'R'); + $pdf->Cell($table_col_width * 2, $table_line_height, '', 1, 0, 'R'); + $pdf->Cell($table_col_width * 2, $table_line_height, number_format($invoice->getTotalPrice(), 2), 1, 1, 'R'); } else { $pdf->Cell($table_col_width * 12, 7, 'No items', 1, 1); } - $pdf->Ln($line_height * 2); + $pdf->Ln($line_height); + + // insert invoice footer details + $pdf->Cell($label_width, $line_height, 'Dispatched by:'); + $pdf->MultiCell(0, $line_height, $obj->getProcessedBy() ? $obj->getProcessedBy()->getFullName() : '', 0, 'L'); // get current Y $y = $pdf->GetY(); - // insert invoice footer details - $pdf->Cell($label_width, $line_height, 'Transaction Type:'); - $pdf->MultiCell($val_width, $line_height, CMBServiceType::getName($obj->getServiceType()), 0, 'L'); + $pdf->SetXY($col1_x, $y); + $pdf->Cell($label_width, $line_height, 'JO Done by:'); + $pdf->MultiCell(0, $line_height, $obj->getRider() ? $obj->getRider()->getFullName() : '', 0, 'L'); // get Y after left cell $y1 = $pdf->GetY(); - $pdf->SetXY($col2_x, $y); + // get Y after right cell + $y2 = $pdf->GetY(); + + $y = max($y1, $y2); + + // insert the scan to pay + $pdf->SetXY($col_qr_code, $y); $pdf->SetFont($font_face, 'B'); - $pdf->Cell($label_width, $line_height, 'SUBTOTAL:'); - $pdf->SetFont($font_face, ''); - $pdf->MultiCell(0, $line_height, $invoice ? number_format($invoice->getVATExclusivePrice(), 2) : '', 0, 'R'); + $pdf->Cell($label_width, $line_height, $translator->trans('pdf_footer_scan_to_pay')); // get Y after right cell $y2 = $pdf->GetY(); - // get row height $y = max($y1, $y2); + // insert space here $pdf->SetXY($col1_x, $y); - $pdf->Cell($label_width, $line_height, 'OR Name:'); - $pdf->MultiCell($val_width, $line_height, $obj->getORName(), 0, 'L'); + $pdf->Ln($line_height); + // get Y after left cell $y1 = $pdf->GetY(); - $pdf->SetXY($col2_x, $y); - $pdf->SetFont($font_face, 'B'); - $pdf->Cell($label_width, $line_height, 'TAX:'); - $pdf->SetFont($font_face, ''); - $pdf->MultiCell(0, $line_height, $invoice ? number_format($invoice->getVAT(), 2) : '', 0, 'R'); - - // get Y after right cell - $y2 = $pdf->GetY(); - - // get row height $y = max($y1, $y2); - $pdf->SetXY($col1_x, $y); - $pdf->Cell($label_width, $line_height, 'Emp. ID/Card No./Ref. By:'); - $pdf->MultiCell($val_width, $line_height, $obj->getPromoDetail(), 0, 'L'); + // insert qr logos + $qr_logo_image_path_1 = $proj_path . $translator->trans('image_jo_pdf_qr_logo_1');; + $pdf->Image($qr_logo_image_path_1, $col_qr_code, $y, 25); + + $qr_logo_image_path_2 = $proj_path . $translator->trans('image_jo_pdf_qr_logo_2');; + $pdf->Image($qr_logo_image_path_2, $col_qr_code + 30, $y, 25); + + $y2 = $pdf->GetY(); + + // insert qr codes + $qr_code_image_path_1 = $proj_path . $translator->trans('image_jo_pdf_qr_code_1');; + $pdf->Image($qr_code_image_path_1, $col_qr_code, $y + 30); + + $qr_code_image_path_2 = $proj_path . $translator->trans('image_jo_pdf_qr_code_2');; + $pdf->Image($qr_code_image_path_2, $col_qr_code + 30, $y + 30); // get Y after left cell $y1 = $pdf->GetY(); - $pdf->SetXY($col2_x, $y); - $pdf->SetFont($font_face, 'B'); - $pdf->Cell($label_width, $line_height, 'DISCOUNT:'); - $pdf->SetFont($font_face, ''); - $pdf->MultiCell(0, $line_height, $invoice ? number_format($invoice->getDiscount(), 2) : '', 0, 'R'); - - // get Y after right cell - $y2 = $pdf->GetY(); - - // get row height $y = max($y1, $y2); + // insert the footer text $pdf->SetXY($col1_x, $y); - $pdf->Cell($label_width, $line_height, 'Discount Type:'); - $pdf->MultiCell($val_width, $line_height, $invoice && $invoice->getPromo() ? $invoice->getPromo()->getName() : '', 0, 'L'); - - $pdf->SetXY($col2_x, $y); - $pdf->SetFont($font_face, 'B'); - $pdf->Cell($label_width, $line_height, 'FINAL AMOUNT:'); - $pdf->MultiCell(0, $line_height, $invoice ? number_format($invoice->getTotalPrice(), 2) : '', 0, 'R'); $pdf->SetFont($font_face, ''); + $pdf->Cell($label_width, $line_height, $translator->trans('pdf_footer_payments')); + + $pdf->Ln(); + $pdf->Cell($label_width, $line_height, $translator->trans('pdf_footer_company_name')); + $pdf->Ln(); + $pdf->Cell($label_width, $line_height, $translator->trans('pdf_footer_bank')); + $pdf->Ln(); + $pdf->Cell($label_width, $line_height, $translator->trans('pdf_footer_return_policy')); + $pdf->Ln(); + $pdf->Cell($label_width, $line_height, $translator->trans('pdf_footer_warranty_private_label')); + $pdf->Ln(); + $pdf->Cell($label_width, $line_height, $translator->trans('pdf_footer_warranty_private_text_1')); + $pdf->Ln(); + $pdf->Cell($label_width, $line_height, $translator->trans('pdf_footer_warranty_private_text_2')); + $pdf->Ln(); + $pdf->Cell($label_width, $line_height, $translator->trans('pdf_footer_warranty_commercial_label')); + $pdf->Ln(); + $pdf->Cell($label_width, $line_height, $translator->trans('pdf_footer_warranty_commercial_text')); + $pdf->Ln($line_height * 2); + $pdf->Cell($label_width, $line_height, $translator->trans('pdf_footer_document')); $params['obj'] = $pdf; $params['filename'] = $filename; diff --git a/translations/cmb.messages.en.yaml b/translations/cmb.messages.en.yaml index 1f269944..6c757d14 100644 --- a/translations/cmb.messages.en.yaml +++ b/translations/cmb.messages.en.yaml @@ -12,6 +12,21 @@ add_cust_vehicle_battery_info: This vehicle is using a Motolite battery jo_title_pdf: Res-Q for CMB Job Order country_code_prefix: '+60' delivery_instructions_label: 'Other Details' +pdf_company_name: ENTITY LOGISTICS SDN BHD(1045869-H) +pdf_company_address: 26/1 Lebuh Persekutuan 47301 Petaling Jaya Selangor +pdf_company_number_email: 'Tel: 03-7872 9072 E-Mail: enquiry@entitylogistic.com.my' +pdf_customer_details_header: Customers Details +pdf_footer_scan_to_pay: Scan To Pay +pdf_footer_payments: 'Note: All payments are made payable to' +pdf_footer_company_name: Entity Logistic Sdn Bhd +pdf_footer_bank: 'Malayan Banking: 512307611410' +pdf_footer_return_policy: Goods Sold are not returnable or exchangeable +pdf_footer_warranty_private_label: 'Petrol vehicles / private use : -' +pdf_footer_warranty_private_text_1: 'Warranty 12 months + 6 months extended or 25,000 km (whichever' +pdf_footer_warranty_private_text_2: 'comes first) and on selected models' +pdf_footer_warranty_commercial_label: 'Diesel vehicles / commercial use : -' +pdf_footer_warranty_commercial_text: 'Warranty 6 months extended or 20,000 km (whichever comes first)' +pdf_footer_document: 'THIS IS A COMPUTER GENERATED DOCUMENT - NO SIGNATURE REQUIRED' # images image_logo_login: /assets/images/black-text-logo-01.png @@ -19,7 +34,11 @@ icon_login: /assets/images/battery-assist-bm-logo-32x32.png icon_base_32x32: /assets/images/black-text-logo-01-32x32.png icon_base_16x16: /assets/images/black-text-logo-01-16x16.png image_dashboard: /assets/images/century_logo.png -image_jo_pdf: /public/assets/images/black-text-logo-01-115x115.png +image_jo_pdf_century_logo: /public/assets/images/pdf_images/275x75-century-logo-placeholder.png +image_jo_pdf_qr_logo_1: /public/assets/images/pdf_images/110x110-qr-codes-logo-placeholder.png +image_jo_pdf_qr_logo_2: /public/assets/images/pdf_images/110x110-qr-codes-logo-placeholder.png +image_jo_pdf_qr_code_1: /public/assets/images/pdf_images/120x120-qr-codes.png +image_jo_pdf_qr_code_2: /public/assets/images/pdf_images/120x120-qr-codes.png # default point for maps default_lat: 3.084216 diff --git a/translations/messages.en.yaml b/translations/messages.en.yaml index 1f269944..760a95c6 100644 --- a/translations/messages.en.yaml +++ b/translations/messages.en.yaml @@ -12,6 +12,21 @@ add_cust_vehicle_battery_info: This vehicle is using a Motolite battery jo_title_pdf: Res-Q for CMB Job Order country_code_prefix: '+60' delivery_instructions_label: 'Other Details' +pdf_company_name: ENTITY LOGISTICS SDN BHD(1045869-H) +pdf_company_address: 26/1 Lebuh Persekutuan 47301 Petaling Jaya Selangor +pdf_company_number_email: 'Tel: 03-7872 9072 E-Mail: enquiry@entitylogistic.com.my' +pdf_customer_details_header: Customers Details +pdf_footer_scan_to_pay: Scan To Pay +pdf_footer_payments: 'Note: All payments are made payable to' +pdf_footer_company_name: Entity Logistic Sdn Bhd +pdf_footer_bank: 'Malayan Banking: 512307611410' +pdf_footer_return_policy: Goods Sold are not returnable or exchangeable +pdf_footer_warranty_private_label: 'Petrol vehicles / private use : -' +pdf_footer_warranty_private_text_1: 'Warranty 12 months + 6 months extended or 25,000 km (whichever' +pdf_footer_warranty_private_text_2: 'comes first) and on selected models' +pdf_footer_warranty_commercial_label: 'Diesel vehicles / commercial use : -' +pdf_footer_warranty_commercial_text: 'Warranty 6 months extended or 20,000 km (whichever comes first)' +pdf_footer_document: 'THIS IS A COMPUTER GENERATED DOCUMENT - NO SIGNATURE REQUIRED' # images image_logo_login: /assets/images/black-text-logo-01.png @@ -19,7 +34,11 @@ icon_login: /assets/images/battery-assist-bm-logo-32x32.png icon_base_32x32: /assets/images/black-text-logo-01-32x32.png icon_base_16x16: /assets/images/black-text-logo-01-16x16.png image_dashboard: /assets/images/century_logo.png -image_jo_pdf: /public/assets/images/black-text-logo-01-115x115.png +image_jo_pdf_century_logo: /public/assets/images/pdf_images/pdf_cmb_logo.png +image_jo_pdf_qr_logo_1: /public/assets/images/pdf_images/touchngo_logo.png +image_jo_pdf_qr_logo_2: /public/assets/images/pdf_images/heart_logo.png +image_jo_pdf_qr_code_1: /public/assets/images/pdf_images/touchngo_qr.png +image_jo_pdf_qr_code_2: /public/assets/images/pdf_images/heart_qr.png # default point for maps default_lat: 3.084216