Added invoice number filter to Invoice/Index

This commit is contained in:
Frank Schubert
2024-08-06 16:08:03 +02:00
parent fe49be342d
commit cdf8050a5f
3 changed files with 20 additions and 3 deletions

View File

@@ -35,6 +35,11 @@ $pagination_entity_name = "Rechnungen";
<form method="get" action="<?=self::getUrl("Invoice")?>">
<div class="row">
<div class="col-2">
<label class="form-label" for="filter_invoice_number">Rechnungsnummer</label>
<input type="text" class="form-control" name="filter[invoice_number]" id="filter_invoice_number" value="<?=(array_key_exists("invoice_number", $filter)) ? $filter['invoice_number'] : ""?>"/>
</div>
<div class="col-2">
<label class="form-label" for="filter_customer_number">Kundennummer</label>
<input type="text" class="form-control" name="filter[customer_number]" id="filter_customer_number" value="<?=(array_key_exists("customer_number", $filter)) ? $filter['customer_number'] : ""?>"/>

View File

@@ -59,7 +59,7 @@ class InvoiceController extends mfBaseController {
if (array_key_exists("customer", $filter)) {
if (array_key_exists("customer", $filter) && $filter["customer"]) {
$kunde = $this->db()->escape($filter['customer']);
$kunde = $this->db()->escape(trim($filter['customer']));
if (!array_key_exists("add-where", $new_filter)) $new_filter["add-where"] = "";
$new_filter['add-where'] .= " AND (company like '%$kunde%' OR firstname like '%$kunde%' OR lastname like '%$kunde%' OR concat(firstname, ' ', lastname) like '%$kunde%' OR concat(lastname, ' ', firstname) like '%$kunde%')";
}
@@ -67,12 +67,17 @@ class InvoiceController extends mfBaseController {
if(array_key_exists("address", $filter)) {
if($filter["address"]) {
$search = $this->db()->escape($filter['address']);
$search = $this->db()->escape(trim($filter['address']));
if (!array_key_exists("add-where", $new_filter)) $new_filter["add-where"] = "";
$new_filter['add-where'] .= " AND (street like '%$search%' OR zip like '%$search%' OR city like '%$search%' OR country like '%$search%')";
}
}
if(array_key_exists("invoice_number", $filter) && $filter["invoice_number"]) {
$new_filter["invoice_number%"] = trim($filter["invoice_number"]);
unset($filter["invoice_number"]);
}
if (is_array($filter) && count($filter)) {
foreach ($filter as $name => $value) {
$new_filter[$name] = $value;

View File

@@ -245,7 +245,14 @@ class InvoiceModel {
$where .= " AND Invoice.invoice_number IS NULL";
}
}
if(array_key_exists("invoice_number%", $filter)) {
$invoice_number = $filter['invoice_number%'];
if($invoice_number) {
$where .= " AND Invoice.invoice_number LIKE '%$invoice_number%'";
}
}
if(array_key_exists("invoice_date", $filter)) {
$invoice_date = $filter['invoice_date'];
if($invoice_date) {