From 6db1055c6b61e8fc2874308a6682363c99481fc7 Mon Sep 17 00:00:00 2001 From: Frank Schubert Date: Tue, 27 Feb 2024 14:35:25 +0100 Subject: [PATCH] Added taxcode to Vatrate --- Layout/default/Vatgroup/Index.php | 16 +++++++++++----- application/Vatgroup/VatgroupController.php | 5 +++++ application/Vatrate/VatrateModel.php | 1 + .../20240220192901_create_vat_tables.php | 1 + 4 files changed, 18 insertions(+), 5 deletions(-) diff --git a/Layout/default/Vatgroup/Index.php b/Layout/default/Vatgroup/Index.php index 6db6e6ce4..3e2fdb458 100644 --- a/Layout/default/Vatgroup/Index.php +++ b/Layout/default/Vatgroup/Index.php @@ -43,26 +43,29 @@
-
+
Zielland *
Erlöskonto *
- Legacy Erlöskonto + Legacy Erlöskonto *
Steuersatz % *
-
+
+ Steuercode * +
+
Rechnungstext
$area_name): ?>
-
+
@@ -74,7 +77,10 @@
rates[$area_key]->rate, 2))?>" placeholder="Steuersatz %" />
-
+
+ rates[$area_key]->taxcode)?>" placeholder="Steuercode" /> +
+
diff --git a/application/Vatgroup/VatgroupController.php b/application/Vatgroup/VatgroupController.php index 5f1052c5c..b5e8ccfb5 100644 --- a/application/Vatgroup/VatgroupController.php +++ b/application/Vatgroup/VatgroupController.php @@ -72,6 +72,7 @@ class VatgroupController extends mfBaseController { $data["account"] = trim($rate["account"]); $data["legacy_account"] = (trim($rate["legacy_account"])) ? trim($rate["legacy_account"]) : null; $data["rate"] = str_replace(",",".", trim($rate["rate"])); + $data["taxcode"] = ($rate["taxcode"]) ? trim($rate["taxcode"]) : null; $data["invoice_text"] = (trim($rate["invoice_text"])) ? trim($rate["invoice_text"]) : null; if(!$data["account"] || !is_numeric($data["account"])) { @@ -86,6 +87,10 @@ class VatgroupController extends mfBaseController { $this->layout()->setFlash("Ungültiger Steuersatz", "error"); $this->redirect("Vatgroup"); } + if($data["taxcode"] && !is_numeric($data["taxcode"])) { + $this->layout()->setFlash("Ungültiger Steuercode", "error"); + $this->redirect("Vatgroup"); + } $vatrate = VatrateModel::getFirst(["vatgroup_id" => $group->id, "area" => $area]); if($vatrate) { diff --git a/application/Vatrate/VatrateModel.php b/application/Vatrate/VatrateModel.php index 00f987614..199b3bd07 100644 --- a/application/Vatrate/VatrateModel.php +++ b/application/Vatrate/VatrateModel.php @@ -6,6 +6,7 @@ class VatrateModel { public $account; public $legacy_account; public $rate; + public $taxcode; public $invoice_text; public $create_by = null; diff --git a/db/migrations/20240220192901_create_vat_tables.php b/db/migrations/20240220192901_create_vat_tables.php index 1054880b4..d2ba9480a 100644 --- a/db/migrations/20240220192901_create_vat_tables.php +++ b/db/migrations/20240220192901_create_vat_tables.php @@ -24,6 +24,7 @@ final class CreateVatTables extends AbstractMigration $table->addColumn("account", "integer", ["null" => false]); $table->addColumn("legacy_account", "integer", ["null" => true, "default" => null]); $table->addColumn("rate", "decimal", ["null" => false, "precision" => 6, "scale" => 2]); + $table->addColumn("taxcode", "integer", ["null" => true, "default" => null]); $table->addColumn("invoice_text", "text", ["null" => true, "default" => null]); $table->addColumn("create_by", "integer", ["null" => false]); $table->addColumn("edit_by", "integer", ["null" => false]);