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); } }