Merge branch 'fronkdev' into 'master'

Added invoice number filter to Invoice/Index

See merge request fronk/thetool!566
This commit is contained in:
Frank Schubert
2024-08-06 14:08:51 +00:00
4 changed files with 24 additions and 4 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

@@ -197,8 +197,9 @@ class ContractController extends mfBaseController
}
$contract->cancel_date = $cancel_date->getTimestamp();
$contract->edit_by = $this->me->id;
if(!$contract->save()) {
$this->layout()->setFlash("Verlinkten Vertrag $link_id nicht gefunden", "error");
$this->layout()->setFlash("Fehler beim Speichern", "error");
$this->redirect("Contract", "cancel", ["contract_id" => $contract->id]);
}
@@ -214,6 +215,7 @@ class ContractController extends mfBaseController
}
$link_contract->cancel_date = $cancel_date->getTimestamp();
$link_contract->edit_by = $this->me->id;
if(!$link_contract->save()) {
$this->layout()->setFlash("Fehler beim Speichern von verlinktem Vertrag", "warning");
}
@@ -468,6 +470,7 @@ class ContractController extends mfBaseController
if($contract_cancel_date) {
$contract->cancel_date = $contract_cancel_date->getTimestamp();
$contract->edit_by = $this->me->id;
$contract->save();
}

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) {