Added Voicenumber to Contractqueue

This commit is contained in:
Frank Schubert
2024-08-06 21:03:58 +02:00
parent a2443cb025
commit baf2ff2c5b
8 changed files with 166 additions and 3 deletions

View File

@@ -10,6 +10,7 @@ class Contractqueue extends mfBaseModel {
private $product;
private $orderproduct;
private $termination;
private $voicenumbers;
private $sla;
private $creator;
private $editor;
@@ -132,6 +133,46 @@ class Contractqueue extends mfBaseModel {
}
return $this->orderproduct;
}
if($name == "voicenumbers") {
$this->voicenumbers = [];
if(!$this->voicenumber) return [];
$json = json_decode($this->voicenumber);
//var_dump($json);exit;
if(!is_array($json)) return [];
$voicenumbers = [];
foreach($json as $number) {
$number = str_replace("+","",$number);
if(!$number) continue;
$voicenumber = VoicenumberModel::getFirst(["number" => $number]);
if($voicenumber) {
$voicenumbers[] = $voicenumber;
} else {
// find block
$block_id = null;
$block = Voicenumberblock::findBlock($number);
if($block) {
$block_id = $block->id;
}
$voicenumber = VoicenumberModel::create([
'voicenumberblock_id' => $block_id,
"contract_id" => null,
'active' => 1,
'activated_date' => date('U'),
'routing' => "kolmisoft",
'number' => $number,
'disabled' => 0
]);
$voicenumbers[] = $voicenumber;
}
}
$this->voicenumbers = $voicenumbers;
return $this->voicenumbers;
}
if($name == "creator" && $this->id) {

View File

@@ -116,6 +116,15 @@ class ContractqueueController extends mfBaseController {
}
protected function deleteOpenOrdersAction() {
foreach(ContractqueueModel::search(["contract_id" => null]) as $cq) {
$cq->delete();
}
$this->layout()->setFlash("Offene Queue Einträge gelöscht und neu importiert.", "success");
$this->redirect("Contractqueue");
}
private function importOrders() {
$o = 0;
//$max_orders = 1500;
@@ -252,6 +261,10 @@ class ContractqueueController extends mfBaseController {
continue;
}
if($cq->voicenumber) {
$contract->addVoiceFromContractqueue($cq);
}
$c++;
$cq->contract_id = $contract->id;

View File

@@ -15,6 +15,8 @@ class ContractqueueModel {
public $product_info;
public $matchcode;
public $crediting_matchcode;
public $voicenumber;
public $voiceplan_id;
public $amount;
public $sla_id = null;
public $product_external;
@@ -97,6 +99,8 @@ class ContractqueueModel {
$data["sla_id"] = $product->sla_id;
$data["product_external"] = ($product->external) ? $product->external : 0;
$data["product_external_id"] = ($product->external) ? $product->external_id : null;
$data["voicenumber"] = $op->voicenumber;
$data["voiceplan_id"] = $op->voiceplan_id;
$data["price"] = $op->price;
$data["price_setup"] = $op->price_setup;
$data["price_nne"] = $op->price_nne;