Hi [[@maxventasweb](/u/maxventasweb)](/u/maxventasweb) . Replace the entire code in Packaging.php
in the code below.
<?php defined('BASEPATH') or exit('No direct script access allowed'); ?>
<div class="modal-dialog modal-lg">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">
<i class="fa fa-2x">×</i>
</button>
<button type="button" class="btn btn-xs btn-default no-print pull-right" style="margin-right:15px;" onclick="window.print();">
<i class="fa fa-print"></i> <?= lang('print'); ?>
</button>
<h4 class="modal-title" id="myModalLabel"><?= lang('packaging'); ?></h4>
</div>
<div class="modal-body">
<div class="well well-sm">
<?= lang('biller') . ': ' . $sale->biller; ?><br>
<?= lang('reference') . ': ' . $sale->reference_no; ?><br>
<?= lang('warehouse') . ': ' . $warehouse->name . ' (' . $warehouse->code . ')'; ?>
</div>
<div class="table-responsive">
<table class="table table-striped table-bordered">
<thead>
<tr>
<th><?= lang('name'); ?></th>
<th><?= lang('quantity'); ?></th>
<th><?= lang('category'); ?></th>
<th><?= lang('unit_price'); ?></th>
</tr>
</thead>
<tbody>
<?php foreach ($packaging as $item) {
echo '<tr>';
echo '<td>' . $item['name'] . '</td>';
echo '<td>' . $this->sma->formatQuantity($item['quantity']) . ' ' . $item['unit'] . '</td>';
echo '<td>' . $item['category'] . '</td>';
echo '<td>' . $item['unit_price'] . '</td>';
echo '</tr>';
} ?>
</tbody>
</table>
</div>
</div>
</div>
</div>
Then in the controller script Sales.php
, directory path app\controllers\admin\Sales.php
, replace the Packaging()
function in line 1637 to 1659
with the code below.
public function packaging($id)
{
$sale = $this->sales_model->getInvoiceByID($id);
$this->data['returned'] = false;
if ($sale->sale_status == 'returned' || $sale->return_id) {
$this->data['returned'] = true;
}
$this->data['warehouse'] = $this->site->getWarehouseByID($sale->warehouse_id);
$items = $this->sales_model->getAllInvoiceItems($sale->id);
foreach ($items as $item) {
$packaging[] = [
'name' => $item->product_code . ' - ' . $item->product_name,
'quantity' => $item->quantity,
'unit' => $item->product_unit_code,
'rack' => $this->sales_model->getItemRack($item->product_id, $sale->warehouse_id),
'category' => $item->cat_name.' ('.$item->cat_code.')',
'unit_price' => $item->unit_price,
];
}
$this->data['packaging'] = $packaging;
$this->data['sale'] = $sale;
$this->load->view($this->theme . 'sales/packaging', $this->data);
}
Finally in the model script Sales_model.php
, directory path app\models\admin\Sales_model.php
, replace the getAllInvoiceItems()
function in line 245 to 268
with the code below.
public function getAllInvoiceItems($sale_id, $return_id = null)
{
$this->db->select('sale_items.*, tax_rates.code as tax_code, tax_rates.name as tax_name, tax_rates.rate as tax_rate, products.image, products.details as details, product_variants.name as variant, products.hsn_code as hsn_code, products.second_name as second_name, products.unit as base_unit_id, units.code as base_unit_code, categories.code as cat_code, categories.name as cat_name')
->join('products', 'products.id=sale_items.product_id', 'left')
->join('product_variants', 'product_variants.id=sale_items.option_id', 'left')
->join('tax_rates', 'tax_rates.id=sale_items.tax_rate_id', 'left')
->join('units', 'units.id=products.unit', 'left')
->join('categories', 'products.category_id=categories.id', 'left')
->group_by('sale_items.id')
->order_by('id', 'asc');
if ($sale_id && !$return_id) {
$this->db->where('sale_id', $sale_id);
} elseif ($return_id) {
$this->db->where('sale_id', $return_id);
}
$q = $this->db->get('sale_items');
if ($q->num_rows() > 0) {
foreach (($q->result()) as $row) {
$data[] = $row;
}
return $data;
}
return false;
}
My name is @Enyinnaya Gift . I am an Independent software developer
with in-depth knowledge of SMA system. I have done a lot of customization for many happy clients across the globe.
You can check out highlights and a demo of my latest customization by Clicking HERE - Highlights
You can also reach me via any of the following mediums for a real-time discussion on your customization request:
-Skype ID: enyinnayag
-Wechat ID: genyinnaya
-Email: [email protected]
-WhatsApp: +2348068355192