function buildFooterModel() { $footerModel = new Vtiger_PDF_Model(); $termsconditionLabel = getTranslatedString('Description', $this->moduleName); $footerModel->set('title', $termsconditionLabel); $footerModel->set('content', from_html($this->focusColumnValue("description"))); return $footerModel; }
function buildSummaryModel() { if (isset($this->focus->column_fields['currency_id'])) { $currencyInfo = getCurrencyInfo($this->focus->column_fields['currency_id']); $currency = $currencyInfo['code']; } else { $currency = 'RUB'; } $associated_products = $this->associated_products; $final_details = $associated_products[1]['final_details']; $summaryModel = new Vtiger_PDF_Model(); $netTotal = $netTotalGoods = $netTotalServices = $discount = $handlingCharges = $handlingTaxes = 0; $adjustment = $grandTotal = 0; $productLineItemIndex = 0; $sh_tax_percent = 0; foreach ($associated_products as $productLineItem) { ++$productLineItemIndex; $netTotal += $productLineItem["netPrice{$productLineItemIndex}"]; if ($productLineItem["entityType{$productLineItemIndex}"] == 'Products') { $netTotalGoods += $productLineItem["netPrice{$productLineItemIndex}"]; } if ($productLineItem["entityType{$productLineItemIndex}"] == 'Services') { $netTotalServices += $productLineItem["netPrice{$productLineItemIndex}"]; } } $summaryModel->set("summaryNetTotal", $this->formatPrice($netTotal)); $summaryModel->set("summaryNetTotalGoods", $this->formatPrice($netTotalGoods)); $summaryModel->set("summaryNetTotalServices", $this->formatPrice($netTotalServices)); $discount_amount = $final_details["discount_amount_final"]; $discount_percent = $final_details["discount_percentage_final"]; $discount = 0.0; $discountGoods = 0.0; $discountServices = 0.0; if (!empty($discount_amount)) { $discount = $discount_amount; $discountGoods = $discount_amount; $discountServices = $discount_amount; } if (!empty($discount_percent)) { $discount = $discount_percent * $final_details["hdnSubTotal"] / 100; $discountGoods = $discount_percent * $netTotalGoods / 100; $discountServices = $discount_percent * $netTotalServices / 100; } $summaryModel->set("summaryDiscount", $this->formatPrice($discount)); $summaryModel->set("summaryDiscountGoods", $this->formatPrice($discountGoods)); $summaryModel->set("summaryDiscountServices", $this->formatPrice($discountServices)); $group_total_tax_percent = '0.00'; $overall_tax = 0; $overall_tax_goods = 0; $overall_tax_services = 0; //To calculate the group tax amount if ($final_details['taxtype'] == 'group') { $group_tax_details = $final_details['taxes']; for ($i = 0; $i < count($group_tax_details); $i++) { $group_total_tax_percent += $group_tax_details[$i]['percentage']; } $summaryModel->set("summaryTax", $this->formatPrice($final_details['tax_totalamount'])); $summaryModel->set("summaryTaxLiteral", $this->num2str($final_details['tax_totalamount'], false, $currency)); $summaryModel->set("summaryTaxPercent", $group_total_tax_percent); $overall_tax += $final_details['tax_totalamount']; $summaryModel->set("summaryTaxGoods", $this->formatPrice(($netTotalGoods - $discountGoods) * $group_total_tax_percent / 100.0)); $summaryModel->set("summaryTaxGoodsLiteral", $this->num2str(($netTotalGoods - $discountGoods) * $group_total_tax_percent / 100.0, false, $currency)); $summaryModel->set("summaryTaxGoodsPercent", $group_total_tax_percent); $overall_tax_goods += ($netTotalGoods - $discountGoods) * $group_total_tax_percent / 100.0; $summaryModel->set("summaryTaxServices", $this->formatPrice(($netTotalServices - $discountServices) * $group_total_tax_percent / 100.0)); $summaryModel->set("summaryTaxServicesLiteral", $this->num2str(($netTotalServices - $discountServices) * $group_total_tax_percent / 100.0, false, $currency)); $summaryModel->set("summaryTaxServicesPercent", $group_total_tax_percent); $overall_tax_services += ($netTotalServices - $discountServices) * $group_total_tax_percent / 100.0; } else { if ($final_details['taxtype'] == 'group_tax_inc') { $group_tax_details = $final_details['taxes']; for ($i = 0; $i < count($group_tax_details); $i++) { $group_total_tax_percent += $group_tax_details[$i]['percentage']; } $summaryModel->set("summaryTax", $this->formatPrice($final_details['tax_totalamount'])); $summaryModel->set("summaryTaxLiteral", $this->num2str($final_details['tax_totalamount'], false, $currency)); $summaryModel->set("summaryTaxPercent", $group_total_tax_percent); $overall_tax += $final_details['tax_totalamount']; $summaryModel->set("summaryNetTotal", $this->formatPrice($netTotal - $final_details['tax_totalamount'])); $summaryModel->set("summaryTaxGoods", $this->formatPrice(($netTotalGoods - $discountGoods) * $group_total_tax_percent / (100.0 + $group_total_tax_percent))); $summaryModel->set("summaryTaxGoodsLiteral", $this->num2str(($netTotalGoods - $discountGoods) * $group_total_tax_percent / (100.0 + $group_total_tax_percent), false, $currency)); $summaryModel->set("summaryTaxGoodsPercent", $group_total_tax_percent); $overall_tax_goods += ($netTotalGoods - $discountGoods) * $group_total_tax_percent / (100.0 + $group_total_tax_percent); $summaryModel->set("summaryNetTotalGoods", $this->formatPrice($netTotalGoods - ($netTotalGoods - $discountGoods) * $group_total_tax_percent / (100.0 + $group_total_tax_percent))); $summaryModel->set("summaryTaxServices", $this->formatPrice(($netTotalServices - $discountServices) * $group_total_tax_percent / (100.0 + $group_total_tax_percent))); $summaryModel->set("summaryTaxServicesLiteral", $this->num2str(($netTotalServices - $discountServices) * $group_total_tax_percent / (100.0 + $group_total_tax_percent), false, $currency)); $summaryModel->set("summaryTaxServicesPercent", $group_total_tax_percent); $overall_tax_services += ($netTotalServices - $discountServices) * $group_total_tax_percent / (100.0 + $group_total_tax_percent); $summaryModel->set("summaryNetTotalServices", $this->formatPrice($netTotalServices - ($netTotalServices - $discountServices) * $group_total_tax_percent / (100.0 + $group_total_tax_percent))); } else { $summaryModel->set("summaryTax", $this->formatPrice($this->totaltaxes)); $summaryModel->set("summaryTaxLiteral", $this->num2str($this->totaltaxes, false, $currency)); if ($netTotal > 0) { $summaryModel->set("summaryTaxPercent", $this->totaltaxes / $netTotal * 100); } else { $summaryModel->set("summaryTaxPercent", 0); } $overall_tax += $this->totaltaxes; $summaryModel->set("summaryTaxGoods", $this->formatPrice($this->totaltaxesGoods)); $summaryModel->set("summaryTaxGoodsLiteral", $this->num2str($this->totaltaxesGoods, false, $currency)); if ($netTotalGoods > 0) { $summaryModel->set("summaryTaxGoodsPercent", $this->totaltaxesGoods / $netTotalGoods * 100); } else { $summaryModel->set("summaryTaxGoodsPercent", 0); } $overall_tax_goods += $this->totaltaxesGoods; $summaryModel->set("summaryTaxServices", $this->formatPrice($this->totaltaxesServices)); $summaryModel->set("summaryTaxServicesLiteral", $this->num2str($this->totaltaxesServices, false, $currency)); if ($netTotalServices > 0) { $summaryModel->set("summaryTaxServicesPercent", $this->totaltaxesServices / $netTotalServices * 100); } else { $summaryModel->set("summaryTaxServicesPercent", 0); } $overall_tax_services += $this->totaltaxesServices; } } //Shipping & Handling taxes $sh_tax_details = $final_details['sh_taxes']; for ($i = 0; $i < count($sh_tax_details); $i++) { $sh_tax_percent = $sh_tax_percent + $sh_tax_details[$i]['percentage']; } //obtain the Currency Symbol $currencySymbol = $this->buildCurrencySymbol(); $summaryModel->set("summaryShipping", $this->formatPrice($final_details['shipping_handling_charge'])); $summaryModel->set("summaryShippingTax", $this->formatPrice($final_details['shtax_totalamount'])); $summaryModel->set("summaryShippingTaxPercent", $sh_tax_percent); $summaryModel->set("summaryAdjustment", $this->formatPrice($final_details['adjustment'])); $summaryModel->set("summaryGrandTotal", $this->formatPrice($final_details['grandTotal'])); // TODO add currency string $summaryModel->set("summaryGrandTotalLiteral", $this->num2str($final_details['grandTotal'], false, $currency)); $overall_tax += $final_details['shtax_totalamount']; $overall_tax_goods += $final_details['shtax_totalamount']; $summaryModel->set("summaryOverallTax", $this->formatPrice(round($overall_tax))); $summaryModel->set("summaryOverallTaxLiteral", $this->num2str(round($overall_tax), false, $currency)); $summaryModel->set("summaryOverallTaxGoods", $this->formatPrice(round($overall_tax_goods))); $summaryModel->set("summaryOverallTaxGoodsLiteral", $this->num2str(round($overall_tax_goods), false, $currency)); $summaryModel->set("summaryOverallTaxServices", $this->formatPrice(round($overall_tax_services))); $summaryModel->set("summaryOverallTaxServicesLiteral", $this->num2str(round($overall_tax_services), false, $currency)); if ($final_details['taxtype'] == 'group_tax_inc') { $summaryModel->set("summaryGrandTotalGoods", $this->formatPrice($netTotalGoods - $discountGoods + $final_details['shipping_handling_charge'] + $final_details['adjustment'])); $summaryModel->set("summaryGrandTotalGoodsLiteral", $this->num2str($netTotalGoods - $discountGoods + $final_details['shipping_handling_charge'] + $final_details['adjustment'], false, $currency)); $summaryModel->set("summaryGrandTotalServices", $this->formatPrice($netTotalServices - $discountServices + $final_details['adjustment'])); $summaryModel->set("summaryGrandTotalServicesLiteral", $this->num2str($netTotalServices - $discountServices + $final_details['adjustment'], false, $currency)); } else { $summaryModel->set("summaryGrandTotalGoods", $this->formatPrice($netTotalGoods - $discountGoods + $overall_tax_goods + $final_details['shipping_handling_charge'] + $final_details['adjustment'])); $summaryModel->set("summaryGrandTotalGoodsLiteral", $this->num2str($netTotalGoods - $discountGoods + $overall_tax_goods + $final_details['shipping_handling_charge'] + $final_details['adjustment'], false, $currency)); $summaryModel->set("summaryGrandTotalServices", $this->formatPrice($netTotalServices - $discountServices + $overall_tax_services + $final_details['adjustment'])); $summaryModel->set("summaryGrandTotalServicesLiteral", $this->num2str($netTotalServices - $discountServices + $overall_tax_services + $final_details['adjustment'], false, $currency)); } return $summaryModel; }
function buildWatermarkModel() { $watermarkModel = new Vtiger_PDF_Model(); $watermarkModel->set('content', $this->getWatermarkContent()); return $watermarkModel; }
/** * Function transforms Advance filter to workflow conditions */ function transformAdvanceFilterToWorkFlowFilter(Vtiger_PDF_Model &$pdfModel) { $conditions = $pdfModel->get('conditions'); $wfCondition = []; if (!empty($conditions)) { foreach ($conditions as $index => $condition) { $columns = $condition['columns']; if ($index == '1' && empty($columns)) { $wfCondition[] = array('fieldname' => '', 'operation' => '', 'value' => '', 'valuetype' => '', 'joincondition' => '', 'groupid' => '0'); } if (!empty($columns) && is_array($columns)) { foreach ($columns as $column) { $wfCondition[] = array('fieldname' => $column['columnname'], 'operation' => $column['comparator'], 'value' => $column['value'], 'valuetype' => $column['valuetype'], 'joincondition' => $column['column_condition'], 'groupjoin' => $condition['condition'], 'groupid' => $column['groupid']); } } } } $pdfModel->set('conditions', $wfCondition); }