182 lines
5.8 KiB
PHP
182 lines
5.8 KiB
PHP
<?php
|
|
|
|
class FiberPlanDispatcherController extends mfBaseController
|
|
{
|
|
|
|
protected function init()
|
|
{
|
|
$this->needlogin = true;
|
|
$me = new User();
|
|
$me->loadMe();
|
|
$this->me = $me;
|
|
$this->layout()->set("me", $me);
|
|
|
|
if (!$me->is(["Admin"])) {
|
|
$this->redirect("Dashboard");
|
|
}
|
|
}
|
|
|
|
protected function indexAction()
|
|
{
|
|
|
|
$this->layout()->setTemplate("FiberPlanDispatcher/Index");
|
|
$fiberplandispatchers = FiberPlanDispatcherModel::getAll();
|
|
$this->layout()->set("fiberplandispatchers", $fiberplandispatchers);
|
|
|
|
}
|
|
|
|
protected function addAction()
|
|
{
|
|
$this->layout()->setTemplate("FiberPlanDispatcher/Form");
|
|
$networks = NetworkModel::getAll();
|
|
$this->layout()->set("networks", $networks);
|
|
$networkaddresses = NetworkAddressModel::getAll();
|
|
$this->layout()->set("networkaddresses", $networkaddresses);
|
|
|
|
}
|
|
|
|
protected function editAction()
|
|
{
|
|
$id = $this->request->id;
|
|
|
|
if (!is_numeric($id) || !$id) {
|
|
$this->layout()->setFlash("Verteiler/Schacht nicht gefunden", "error");
|
|
$this->redirect("FiberPlanDispatcher");
|
|
}
|
|
|
|
$fiberplandispatchers = new FiberPlanDispatcher($id);
|
|
if ($fiberplandispatchers->id != $id) {
|
|
$this->layout()->setFlash("Verteiler/Schacht nicht gefunden", "error");
|
|
$this->redirect("FiberPlanDispatcher");
|
|
}
|
|
|
|
$this->layout()->set("fiberplandispatchers", $fiberplandispatchers);
|
|
if ($fiberplandispatchers->object_type == "2") {
|
|
$sleeves = FiberPlanDispatchersleeveModel::getAllbyDispatcher($id);
|
|
$this->layout()->set("sleeves", $sleeves);
|
|
}
|
|
|
|
return $this->addAction();
|
|
}
|
|
|
|
protected function saveAction()
|
|
{
|
|
$r = $this->request;
|
|
$id = $r->id;
|
|
//var_dump($r->get());exit;
|
|
if (is_numeric($id) && $id > 0) {
|
|
$mode = "edit";
|
|
$fiberplandispatcher = new FiberPlanDispatcher($id);
|
|
if (!$fiberplandispatcher->id) {
|
|
$this->layout()->setFlash("Verteiler/Schacht nicht gefunden", "error");
|
|
$this->redirect("FiberPlanDispatcher");
|
|
}
|
|
} else {
|
|
$mode = "add";
|
|
}
|
|
|
|
$data = [];
|
|
$data['network_id'] = trim($r->network_id);
|
|
$data['object_type'] = trim($r->object_type);
|
|
$data['description'] = trim($r->description);
|
|
if ($r->type) {
|
|
$data['type'] = trim($r->type);
|
|
}
|
|
if ($r->gps_lat) {
|
|
$data['gps_lat'] = trim($r->gps_lat);
|
|
}
|
|
if ($r->gps_long) {
|
|
$data['gps_long'] = trim($r->gps_long);
|
|
}
|
|
if ($r->comment) {
|
|
$data['comment'] = trim($r->comment);
|
|
}
|
|
|
|
if (!$data['network_id']) {
|
|
$this->layout()->setFlash("Netzgebiet darf nicht leer sein", "error");
|
|
$this->redirect("FiberPlanDispatcher");
|
|
}
|
|
if (!$data['object_type']) {
|
|
$this->layout()->setFlash("Objekt Typ darf nicht leer sein", "error");
|
|
$this->redirect("FiberPlanDispatcher");
|
|
}
|
|
if (!$data['description']) {
|
|
$this->layout()->setFlash("Beschreibung darf nicht leer sein", "error");
|
|
$this->redirect("FiberPlanDispatcher");
|
|
}
|
|
|
|
// var_dump($_FILES);
|
|
// var_dump($upload);
|
|
// exit;
|
|
|
|
|
|
if ($mode == "edit") {
|
|
$fiberplandispatcher->update($data);
|
|
|
|
} else {
|
|
$fiberplandispatcher = FiberPlanDispatcherModel::create($data);
|
|
|
|
}
|
|
// var_dump($filestore);
|
|
// exit;
|
|
$id = $fiberplandispatcher->save();
|
|
if ($mode == "edit") {
|
|
if ($data['object_type'] == "2") {
|
|
FiberPlanDispatchersleeveModel::deletebyDispatcher($id);
|
|
$sleeves = $r->sleeves;
|
|
$sleevedata = [];
|
|
if (is_array($sleeves)) {
|
|
foreach ($sleeves as $sleeve) {
|
|
$sleevedata['name'] = trim($sleeve);
|
|
$sleevedata['fiberPlanDispatcher_id'] = $id;
|
|
$fiberplandispatchersleeve = FiberPlanDispatchersleeveModel::create($sleevedata);
|
|
$fiberplandispatchersleeve->save();
|
|
}
|
|
}
|
|
|
|
}
|
|
} else {
|
|
if ($data['object_type'] == "2") {
|
|
$sleeves = $r->sleeves;
|
|
$sleevedata = [];
|
|
|
|
if (is_array($sleeves)) {
|
|
foreach ($sleeves as $sleeve) {
|
|
$sleevedata['name'] = trim($sleeve);
|
|
$sleevedata['fiberPlanDispatcher_id'] = $id;
|
|
$fiberplandispatchersleeve = FiberPlanDispatchersleeveModel::create($sleevedata);
|
|
$fiberplandispatchersleeve->save();
|
|
}
|
|
}
|
|
|
|
}
|
|
}
|
|
|
|
if (!$id) {
|
|
$this->layout()->setFlash("Verteiler/Schacht konnte nicht angelegt werden", "error");
|
|
$this->redirect("FiberPlanDispatcher");
|
|
}
|
|
|
|
if ($mode == "edit") {
|
|
$this->layout()->setFlash("Verteiler/Schacht erfolgreich geändert", "success");
|
|
} else if ($mode = "add") {
|
|
$this->layout()->setFlash("Verteiler/Schacht erfolgreich angelegt", "success");
|
|
}
|
|
$this->redirect("FiberPlanDispatcher");
|
|
}
|
|
|
|
|
|
protected function deleteAction()
|
|
{
|
|
$id = $this->request->id;
|
|
$fiberplandispatcher = new FiberPlanDispatcher($id);
|
|
if (!$fiberplandispatcher->id || $fiberplandispatcher->id != $id) {
|
|
$this->layout()->setFlash("Verteiler/Schacht nicht gefunden.", "error");
|
|
$this->redirect("FiberPlanDispatcher");
|
|
}
|
|
|
|
$fiberplandispatcher->delete();
|
|
$this->redirect("FiberPlanDispatcher");
|
|
}
|
|
|
|
} |