Added fibu account numbers to Address; new permission fibu + employee
This commit is contained in:
@@ -73,6 +73,11 @@ class AddressController extends mfBaseController {
|
||||
$new_filter["parents_only"] = 1;
|
||||
}
|
||||
|
||||
if(array_key_exists("fibu_account_number", $filter) && $filter['fibu_account_number']) {
|
||||
$new_filter['fibu_account_number'] = $filter['fibu_account_number']."%";
|
||||
unset($filter['fibu_account_number']);
|
||||
}
|
||||
|
||||
foreach($filter as $name => $value) {
|
||||
$new_filter[$name] = $value;
|
||||
}
|
||||
@@ -177,6 +182,13 @@ 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;
|
||||
}
|
||||
|
||||
|
||||
// billing data
|
||||
@@ -236,6 +248,17 @@ class AddressController extends mfBaseController {
|
||||
return $this->add();
|
||||
}
|
||||
|
||||
// check for multiple primary fibu accounts, and remove from any other than this one
|
||||
if($address->fibu_primary_account && $address->fibu_account_number) {
|
||||
foreach(AddressModel::search(["fibu_primary_account" => true, "fibu_account_number" => $address->fibu_account_number]) as $fibu_primary) {
|
||||
if($fibu_primary->id == $address->id) continue;
|
||||
$fibu_primary->fibu_primary_account = 0;
|
||||
$fibu_primary->save();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// save address types
|
||||
$new_types = $r->addresstypes;
|
||||
if(is_array($new_types)) {
|
||||
foreach($address->types as $existing_type) {
|
||||
@@ -258,6 +281,19 @@ class AddressController extends mfBaseController {
|
||||
}
|
||||
}
|
||||
|
||||
// generate new supplier account number if is supplier and supplier num empty
|
||||
//var_dump($mode, $address->fibu_supplier_number, $address->types);exit;
|
||||
if(!$address->fibu_supplier_number && array_key_exists("supplier", $address->types)) {
|
||||
$supplier_num = Address::getNextSupplierNumber();
|
||||
if(!$supplier_num) {
|
||||
$this->layout()->setFlash("Lieferantennummer konnte nicht generiert werden.");
|
||||
} else {
|
||||
$this->log->debug("new supplier number: ". $supplier_num);
|
||||
$address->fibu_supplier_number = $supplier_num;
|
||||
$address->save();
|
||||
}
|
||||
}
|
||||
|
||||
$attribs = $r->attributes;
|
||||
//var_dump($attribs);exit;
|
||||
if(is_array($attribs) && count($attribs)) {
|
||||
|
||||
Reference in New Issue
Block a user