Added voicenumber to OrderProduct

This commit is contained in:
Frank Schubert
2023-05-23 16:21:41 +02:00
parent de2b478c2f
commit cdae3cd24a
3 changed files with 72 additions and 4 deletions

View File

@@ -894,6 +894,24 @@ class OrderController extends mfBaseController {
$product_data['termination_id'] = null;
}
if(array_key_exists(TT_ATTRIB_VOICENUMBER_REQUIRED_NAME, $prod->attributes) && $prod->attributes[TT_ATTRIB_VOICENUMBER_REQUIRED_NAME]->value == 1) {
$voicenumbers = [];
foreach(explode("\n", $p['voicenumber']) as $number) {
$number = preg_replace('/\D/', '', trim($number));
if(substr($number, 0, 2) == "00") $number = "+".substr($number, 2);
if(preg_match('/^0[^0]/', $number)) {
$number = "+43".substr($number, 1);
}
if(substr($number, 0, 1) != "+") $number = "+$number";
if($number && !in_array($number, $voicenumbers)) $voicenumbers[] = $number;
}
$product_data['voicenumber'] = json_encode($voicenumbers);
} else {
$product_data['voicenumber'] = null;
}
if(!$orderproduct_id) {
$product = OrderProductModel::create($product_data);

View File

@@ -6,6 +6,7 @@ class OrderProduct extends mfBaseModel {
private $termination;
private $cpeprovisioning;
private $contract;
private $voicenumbers;
private $editor;
private $creator;
@@ -50,6 +51,18 @@ class OrderProduct extends mfBaseModel {
return $this->contract;
}
if($name == "voicenumbers") {
$this->voicenumbers = [];
if(!$this->voicenumber) return [];
$json = json_decode($this->voicenumber);
if(!is_array($json)) return [];
$this->voicenumbers = $json;
return $this->voicenumbers;
}
if($name == "creator") {
$this->creator = mfValuecache::singleton()->get("Worker-id-".$this->create_by);
if($this->creator === null) {