diff --git a/Layout/default/Device/Detail.php b/Layout/default/Device/Detail.php
index 504c576f7..225265a3a 100644
--- a/Layout/default/Device/Detail.php
+++ b/Layout/default/Device/Detail.php
@@ -25,7 +25,8 @@
Device Detail
- Device: = $devices->data->name ?>
+ Device: = $devices->data->name ?>
+
$devices->id, 'returnto' => "device-detail"]) ?>">
diff --git a/Layout/default/Device/Form.php b/Layout/default/Device/Form.php
index 1105f2099..91b3ddbba 100644
--- a/Layout/default/Device/Form.php
+++ b/Layout/default/Device/Form.php
@@ -1,10 +1,25 @@
id]=$devicetype->devicemanufactor->name . " " . $devicetype->name;
+ $deviceTypes[$devicetype->id] = $devicetype->devicemanufactor->name . " " . $devicetype->name;
}
asort($deviceTypes);
+if ($device->price == "0.00") {
+ $price = "";
+} else {
+ $price = $device->price;
+}
+if ($device->power == "0.0") {
+ $power = "";
+} else {
+ $power = $device->power;
+}
+if (isset($_GET['returnto']) && $_GET['returnto'] == "device-detail") {
+ $cancelUrl = self::getUrl("Device", "Detail", ["id" => $device->id]);
+} else {
+ $cancelUrl = self::getUrl("Device");
+}
?>
diff --git a/application/Device/Device.php b/application/Device/Device.php
index 43aa1e620..178f165fc 100644
--- a/application/Device/Device.php
+++ b/application/Device/Device.php
@@ -1,4 +1,5 @@
$name;
}
}
\ No newline at end of file
diff --git a/application/Device/DeviceController.php b/application/Device/DeviceController.php
index 7e64ee1f9..37c9b49c6 100644
--- a/application/Device/DeviceController.php
+++ b/application/Device/DeviceController.php
@@ -1,6 +1,8 @@
needlogin = true;
@@ -93,7 +95,7 @@ class DeviceController extends mfBaseController
$data = [];
$data['name'] = trim($r->name);
$data['devicetype_id'] = $r->devicetype_id;
- if (trim($r->pop_id)=="0") {
+ if (trim($r->pop_id) == "0") {
$data['pop_id'] = NULL;
} else {
$data['pop_id'] = $r->pop_id;
@@ -179,32 +181,6 @@ class DeviceController extends mfBaseController
}
$this->redirect($returnUrl, $returnAction, $returnVariables, $returnAnker);
}
- $returnUrl="Device";
- $returnAction = "Index";
- $returnVariables = array();
- $returnAnker = "";
- if ($this->request->returnto) {
-
- if (strpos($this->request->returnto, "-") !== false) {
- $urls = explode('-', $this->request->returnto);
- $urlCounter = 0;
- $returnUrlGen = "";
- foreach ($urls as $url) {
- if ($urlCounter > 0) {
- $returnUrlGen .= "/";
- }
- $returnUrlGen .= ucfirst($url);
- $urlCounter++;
- }
- $returnAction = "";
- $returnVariables['id'] = $id;
- $returnUrl = $returnUrlGen;
- } else {
- $returnUrl = ucfirst($this->request->returnto);
-
- }
- }
-
if ($mode == "edit") {
$this->layout()->setFlash("Device erfolgreich geƤndert", "success");
@@ -214,4 +190,62 @@ class DeviceController extends mfBaseController
$this->redirect($returnUrl, $returnAction, $returnVariables, $returnAnker);
}
+ protected function apiAction()
+ {
+ if (!$this->me->is(["Admin"])) {
+ $this->redirect("Dashboard");
+ }
+ $do = $this->request->do;
+ $format = $this->request->format;
+ $filename = $this->request->filename;
+ $id = $this->request->id;
+ $ip = $this->request->ip;
+
+ $data = [];
+
+ switch ($do) {
+ case "getconfig":
+ $return = $this->getConfig($id, $format, $filename);
+ break;
+ case "createconfig":
+ $return = $this->createConfig($ip);
+ break;
+ default:
+ $return = false;
+ }
+
+ }
+
+ private function getConfig($id, $format, $filename)
+ {
+ $configDownload = DeviceModel::getconifgdownload($id, $format);
+//
+
+// header('Content-Type: application/octet-stream');
+ header('Content-Type: text/plain');
+ header('Content-disposition: attachment; filename="' . $filename . '"');
+ echo $configDownload;
+
+ exit;
+ }
+
+ private function createConfig($ip)
+ {
+ $r = $this->request;
+ $id = $r->id;
+ $createConfig = DeviceModel::configcreate($ip);
+ if ($createConfig->success==="true")
+ {
+ $this->layout()->setFlash("Backup wurde erfolgreich erstellt", "success");
+ }
+ else
+ {
+ $this->layout()->setFlash("Backup konnte nicht erstellt werden. Fehler: ".$createConfig->error, "error");
+ }
+ $returnUrl = "Device";
+ $returnAction = "Detail";
+ $returnVariables['id'] = $id;
+ return $this->redirect($returnUrl, $returnAction, $returnVariables, $returnAnker);
+ }
+
}
\ No newline at end of file
diff --git a/application/Device/DeviceModel.php b/application/Device/DeviceModel.php
index 622d8e69b..b5df9bdcc 100644
--- a/application/Device/DeviceModel.php
+++ b/application/Device/DeviceModel.php
@@ -1,4 +1,5 @@
select("Device", "*", "$where ORDER BY name");
- if($db->num_rows($res)) {
- while($data = $db->fetch_object($res)) {
+ if ($db->num_rows($res)) {
+ while ($data = $db->fetch_object($res)) {
$items[] = new Device($data);
}
}
@@ -119,9 +121,9 @@ class DeviceModel
$where = "1=1 ";
//var_dump($filter);exit;
- if(array_key_exists("pop_id", $filter)) {
+ if (array_key_exists("pop_id", $filter)) {
$popid = $filter['pop_id'];
- if(is_numeric($popid)) {
+ if (is_numeric($popid)) {
$where .= " AND pop_id=$popid";
}
}
diff --git a/public/assets/css/datatables-std.css b/public/assets/css/datatables-std.css
index 9aaeaf448..bf18a25ab 100644
--- a/public/assets/css/datatables-std.css
+++ b/public/assets/css/datatables-std.css
@@ -32,6 +32,10 @@
width: 50px;
}
+.edit-width-large {
+ width: 100px;
+}
+
.order-date-pill {
margin: 2px;
white-space: nowrap;