178 lines
4.9 KiB
PHP
178 lines
4.9 KiB
PHP
<?php
|
|
|
|
class VoicenumberController extends mfBaseController {
|
|
|
|
protected function init() {
|
|
$this->needlogin=true;
|
|
$me = new User();
|
|
$me->loadMe();
|
|
$this->me = $me;
|
|
$this->layout()->set("me",$me);
|
|
|
|
if(!$me->isAdmin()) {
|
|
$this->redirect("Dashboard");
|
|
}
|
|
}
|
|
|
|
protected function editAction() {
|
|
$block_id = $this->request->block_id;
|
|
if(!is_numeric($block_id) || !$block_id) {
|
|
$this->layout()->setFlash("Rufnummer nicht gefunden1", "error");
|
|
$this->redirect("Voicenumberblock");
|
|
}
|
|
|
|
$block = new Voicenumberblock($block_id);
|
|
if(!$block->id) {
|
|
$this->layout()->setFlash("Rufnummer nicht gefunden2", "error");
|
|
$this->redirect("Voicenumberblock");
|
|
}
|
|
|
|
$num = (string)$this->request->number;
|
|
if(!strlen($num)) {
|
|
$this->layout()->setFlash("Rufnummer nicht gefunden3", "error");
|
|
$this->redirect("Voicenumberblock", "Index", null, ["block" => $block->id]);
|
|
}
|
|
|
|
if(!$block->isNumberInBlock($num)) {
|
|
$this->layout()->setFlash("Rufnummer nicht gefunden4", "error");
|
|
$this->redirect("Voicenumberblock", "Index", null, ["block" => $block->id]);
|
|
}
|
|
|
|
$number = VoicenumberModel::getFirst(["block_id" => $block_id, "number" => (string)$num]);
|
|
$mode = "edit";
|
|
|
|
if(!$number) {
|
|
$number = new Voicenumber();
|
|
$number->loadFromBlock($block);
|
|
$number->number = $num;
|
|
$mode = "add";
|
|
}
|
|
|
|
$this->layout()->setTemplate("Voicenumber/Form");
|
|
$this->layout()->set("number", $number);
|
|
|
|
|
|
}
|
|
|
|
protected function saveAction() {
|
|
$r = $this->request;
|
|
//var_dump($r);exit;
|
|
$block_id = $r->block_id;
|
|
if(!is_numeric($block_id) || !$block_id) {
|
|
$this->layout()->setFlash("Rufnummer nicht gefunden1", "error");
|
|
$this->redirect("Voicenumberblock");
|
|
}
|
|
|
|
$block = new Voicenumberblock($block_id);
|
|
if(!$block->id) {
|
|
$this->layout()->setFlash("Rufnummer nicht gefunden2", "error");
|
|
$this->redirect("Voicenumberblock");
|
|
}
|
|
|
|
$num = (string)$r->number;
|
|
if(!strlen($num)) {
|
|
$this->layout()->setFlash("Rufnummer nicht gefunden3", "error");
|
|
$this->redirect("Voicenumberblock", "Index", null, ["block" => $block->id]);
|
|
}
|
|
|
|
if(!$block->isNumberInBlock($num)) {
|
|
$this->layout()->setFlash("Rufnummer nicht gefunden4", "error");
|
|
$this->redirect("Voicenumberblock", "Index", null, ["block" => $block->id]);
|
|
}
|
|
|
|
$number = VoicenumberModel::getFirst(["block_id" => $block_id, "number" => (string)$num]);
|
|
$mode = "edit";
|
|
|
|
if(!$number) {
|
|
$number = new Voicenumber();
|
|
$number->loadFromBlock($block);
|
|
$number->number = $num;
|
|
$number->create_by = $this->me->id;
|
|
$mode = "add";
|
|
}
|
|
|
|
//var_dump($number);
|
|
|
|
|
|
$number_data = [];
|
|
$number_data['contract_id'] = ($r->contract_id) ? $r->contract_id : null;
|
|
if($r->active === "1") {
|
|
$number_data['active'] = 1;
|
|
} else {
|
|
$number_data['active'] = 0;
|
|
}
|
|
|
|
switch($r->routing) {
|
|
case "sipit":
|
|
$number_data['routing'] = "sipit";
|
|
break;
|
|
default:
|
|
$number_data['routing'] = "kolmisoft";
|
|
}
|
|
|
|
|
|
$number_data['ported_from'] = $r->ported_from;
|
|
if($r->port_in_date) {
|
|
$number_data['port_in_date'] = self::dateToTimestamp($r->port_in_date);
|
|
}
|
|
|
|
$number_data['ported_to'] = $r->ported_to;
|
|
if($r->port_out_date) {
|
|
$number_data['port_out_date'] = self::dateToTimestamp($r->port_out_date);
|
|
}
|
|
|
|
if($r->disabled === "1") {
|
|
$number_data['disabled'] = 1;
|
|
switch($r->disabled_reason) {
|
|
case "ported_out":
|
|
$number_data['disabled_reason'] = "ported_out";
|
|
break;
|
|
case "ported_back":
|
|
$number_data['disabled_reason'] = "ported_back";
|
|
break;
|
|
case "legacy":
|
|
$number_data['disabled_reason'] = "legacy";
|
|
break;
|
|
case "damaged":
|
|
$number_data['disabled_reason'] = "damaged";
|
|
break;
|
|
default:
|
|
$number_data['disabled_reason'] = "reserved";
|
|
}
|
|
|
|
} else {
|
|
$number_data['disabled'] = 0;
|
|
$number_data['disabled_reason'] = null;
|
|
}
|
|
|
|
if($r->enable_on_date) {
|
|
$number_data['enable_on_date'] = self::dateToTimestamp($r->enable_on_date);
|
|
} else {
|
|
$number_data['enable_on_date'] = null;
|
|
}
|
|
$number_data['comment'] = $r->comment;
|
|
$number_data['edit_by'] = $this->me->id;
|
|
|
|
$number->update($number_data);
|
|
$number_id = $number->save();
|
|
|
|
|
|
|
|
if(!$number_id) {
|
|
$this->layout()->setFlash("Fehler beim Speichern", "error");
|
|
$this->redirect("Voicenumber", "edit", ["block_id" => $block_id, "number" => $num]);
|
|
}
|
|
|
|
//var_dump($number->_old_data);exit;
|
|
|
|
|
|
// save number to contract
|
|
|
|
|
|
$this->layout()->setFlash("Rufnummer erfolgreich gespeichert", "success");
|
|
$this->redirect("Voicenumberblock", "Index", null, "block=".$block->id);
|
|
|
|
|
|
}
|
|
|
|
} |