From eff08d59450cf69d5fe4b49c4a4b915c8ca18e79 Mon Sep 17 00:00:00 2001 From: Frank Schubert Date: Tue, 9 Jan 2024 18:32:30 +0100 Subject: [PATCH] Only show Fibu fields in Address/Form if can Fibu --- Layout/default/Address/Form.php | 2 ++ application/Address/AddressController.php | 35 +++++++++++++++-------- 2 files changed, 25 insertions(+), 12 deletions(-) diff --git a/Layout/default/Address/Form.php b/Layout/default/Address/Form.php index 73e7e9da6..55224e494 100644 --- a/Layout/default/Address/Form.php +++ b/Layout/default/Address/Form.php @@ -232,6 +232,7 @@ + can("Fibu")): ?>

FIBU

@@ -266,6 +267,7 @@
+

Zusatzdaten

diff --git a/application/Address/AddressController.php b/application/Address/AddressController.php index 679229167..fe8883d97 100644 --- a/application/Address/AddressController.php +++ b/application/Address/AddressController.php @@ -179,6 +179,12 @@ class AddressController extends mfBaseController { $last_export->value(date("U")); $last_export->save(); */ + + if(!$this->me->can("Fibu")) { + $this->layout()->setFlash("Sicha ned!", "error"); + $this->redirect("Address"); + } + $last_export = 0; $export_ts = new mfConfig("bmd.export.ts"); @@ -209,11 +215,7 @@ class AddressController extends mfBaseController { $addresses = []; foreach(AddressModel::search($search) as $address) { - // if supplier -> use it - if($address->fibu_supplier_number) { - $addresses[$address->fibu_supplier_number] = $address; - continue; - } + // if is primary -> use it if($address->fibu_account_number && $address->fibu_primary_account) { @@ -268,6 +270,12 @@ class AddressController extends mfBaseController { $addresses[$address->fibu_account_number] = $address; continue; } + + // if supplier -> use it + if($address->fibu_supplier_number) { + $addresses[$address->fibu_supplier_number] = $address; + continue; + } } @@ -366,14 +374,17 @@ class AddressController extends mfBaseController { $data['email'] = $r->email; $data['note'] = $r->note; $data['uid'] = $r->uid; - $data['fibu_account_number'] = ($r->fibu_account_number) ? $r->fibu_account_number : null; - $data['fibu_supplier_number'] = ($r->fibu_supplier_number) ? $r->fibu_supplier_number : null; - if($r->fibu_primary_account) { - $data['fibu_primary_account'] = 1; - } else { - $data['fibu_primary_account'] = 0; + + if($this->me->can("Fibu")) { + $data['fibu_account_number'] = ($r->fibu_account_number) ? $r->fibu_account_number : null; + $data['fibu_supplier_number'] = ($r->fibu_supplier_number) ? $r->fibu_supplier_number : null; + if($r->fibu_primary_account) { + $data['fibu_primary_account'] = 1; + } else { + $data['fibu_primary_account'] = 0; + } + $data['fibu_supplier_due'] = ($r->fibu_supplier_due) ? $r->fibu_supplier_due : null; } - $data['fibu_supplier_due'] = ($r->fibu_supplier_due) ? $r->fibu_supplier_due : null; // billing data