Added fibu account numbers to Address; new permission fibu + employee
This commit is contained in:
@@ -2,6 +2,8 @@
|
||||
|
||||
class Address extends mfBaseModel {
|
||||
protected $forcestr = ['street','company','zip','phone','fax','mobile','note'];
|
||||
private $in_after_save = false;
|
||||
|
||||
private $parent;
|
||||
private $childaddresses;
|
||||
private $links = [];
|
||||
@@ -14,6 +16,55 @@ class Address extends mfBaseModel {
|
||||
|
||||
private $phoneparts;
|
||||
|
||||
protected function afterSave() {
|
||||
// prevent potential infinite loop
|
||||
if($this->in_after_save) return true;
|
||||
$this->in_after_save = true;
|
||||
|
||||
$this->syncToFibuMerge();
|
||||
}
|
||||
|
||||
private function syncToFibuMerge() {
|
||||
if(!$this->customer_number) return true;
|
||||
|
||||
//var_dump($this);exit;
|
||||
|
||||
if($this->fibu_account_number) {
|
||||
$fibumerge = XinonFibuMergeModel::getFirst(["old_custnum" => $this->customer_number]);
|
||||
if(!$fibumerge) {
|
||||
// create fibu merge
|
||||
$fibumerge = XinonFibuMergeModel::create([
|
||||
"old_custnum" => $this->customer_number,
|
||||
"new_custnum" => $this->fibu_account_number,
|
||||
"name" => ($this->company) ? $this->company : $this->lastname,
|
||||
"vorname" => ($this->company) ? "" : $this->firstname,
|
||||
"strasse" => $this->street,
|
||||
"plz" => $this->zip,
|
||||
"ort" => $this->city,
|
||||
]);
|
||||
$fibumerge->save();
|
||||
return true;
|
||||
}
|
||||
|
||||
if($fibumerge->new_custnum != $this->fibu_account_number) {
|
||||
$fibumerge->new_custnum = $this->fibu_account_number;
|
||||
$fibumerge->save();
|
||||
}
|
||||
} elseif($this->_old_data->fibu_account_number) {
|
||||
// fibu account number was removed => remove fibumerge entry
|
||||
$fibumerge = XinonFibuMergeModel::getFirst(["old_custnum" => $this->customer_number, "new_custnum" => $this->_old_data->fibu_account_number]);
|
||||
//var_dump($fibumerge);exit;
|
||||
if(!$fibumerge) return true;
|
||||
|
||||
$fibumerge->delete();
|
||||
|
||||
}
|
||||
|
||||
|
||||
return true;
|
||||
|
||||
}
|
||||
|
||||
public function getFullName() {
|
||||
// Assumes "Firma1 Firma2" or "firstname lastname" as readable form
|
||||
$name = "";
|
||||
@@ -146,6 +197,24 @@ class Address extends mfBaseModel {
|
||||
}
|
||||
}*/
|
||||
|
||||
public static function getNextSupplierNumber() {
|
||||
$db = FronkDB::singleton();
|
||||
$res = $db->select("Address","fibu_supplier_number", "fibu_supplier_number > 0 ORDER BY fibu_supplier_number DESC LIMIT 1");
|
||||
if(!$db->num_rows($res)) {
|
||||
return TT_FIRST_SUPPLIER_NUM;
|
||||
}
|
||||
|
||||
$data = $db->fetch_object($res);
|
||||
$last_num = $data->fibu_supplier_number;
|
||||
if($last_num) {
|
||||
$new_num = $last_num + 1;
|
||||
} else {
|
||||
$new_num = TT_FIRST_SUPPLIER_NUM;
|
||||
}
|
||||
return $new_num;
|
||||
|
||||
}
|
||||
|
||||
public function getProperty($name) {
|
||||
if($this->$name == null) {
|
||||
|
||||
|
||||
Reference in New Issue
Block a user