Files
thetool/application/Voicenumber/VoicenumberController.php

166 lines
4.7 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";
}
//var_dump($number);exit;
$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;
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";
}
}
if($r->enable_on_date) {
$number_data['enable_on_date'] = self::dateToTimestamp($r->enable_on_date);
}
$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]);
}
$this->layout()->setFlash("Rufnummer erfolgreich gespeichert", "success");
$this->redirect("Voicenumberblock", "Index", null, "block=".$block->id);
}
}