diff --git a/src/opnsense/mvc/app/controllers/OPNsense/Routes/Api/RoutesController.php b/src/opnsense/mvc/app/controllers/OPNsense/Routes/Api/RoutesController.php index 669d57907..c6b50a6b6 100644 --- a/src/opnsense/mvc/app/controllers/OPNsense/Routes/Api/RoutesController.php +++ b/src/opnsense/mvc/app/controllers/OPNsense/Routes/Api/RoutesController.php @@ -47,30 +47,32 @@ class RoutesController extends ApiControllerBase $grid = new UIModelGrid($mdlRoute->route); return $grid->fetchBindRequest( $this->request, - array("disabled", "network", "gateway", "descr"), - "description" + array('disabled', 'network', 'gateway', 'descr'), + 'description' ); } public function setrouteAction($uuid) { - $result = array("result"=>"failed"); - if ($this->request->isPost() && $this->request->hasPost("route")) { + $result = array('result'=>'failed'); + if ($this->request->isPost() && $this->request->hasPost('route')) { $mdlRoute = new Route(); if ($uuid != null) { $node = $mdlRoute->getNodeByReference('route.'.$uuid); if ($node != null) { $this->backend_execute_route('delete', $node); - $node->setNodes($this->request->getPost("route")); - $validations = $mdlRoute->validate($node->__reference, "route"); + $node->setNodes($this->request->getPost('route')); + $validations = $mdlRoute->validate($node->__reference, 'route'); if (count($validations)) { $result['validations'] = $validations; } else { // serialize model to config and save $mdlRoute->serializeToConfig(); - $this->backend_execute_route('add', $node); + if ((string)$node->disabled != '1') { + $this->backend_execute_route('add', $node); + } Config::getInstance()->save(); - $result["result"] = "saved"; + $result['result'] = 'saved'; } } } @@ -80,20 +82,22 @@ class RoutesController extends ApiControllerBase public function addrouteAction() { - $result = array("result"=>"failed"); - if ($this->request->isPost() && $this->request->hasPost("route")) { + $result = array('result'=>'failed'); + if ($this->request->isPost() && $this->request->hasPost('route')) { $mdlRoute = new Route(); $node = $mdlRoute->route->Add(); - $node->setNodes($this->request->getPost("route")); - $validations = $mdlRoute->validate($node->__reference, "route"); + $node->setNodes($this->request->getPost('route')); + $validations = $mdlRoute->validate($node->__reference, 'route'); if (count($validations)) { $result['validations'] = $validations; } else { // serialize model to config and save $mdlRoute->serializeToConfig(); Config::getInstance()->save(); - $this->backend_execute_route('add', $node); - $result["result"] = "saved"; + if ((string)$node->disabled != '1') { + $this->backend_execute_route('add', $node); + } + $result['result'] = 'saved'; } } return $result; @@ -106,19 +110,19 @@ class RoutesController extends ApiControllerBase $node = $mdlRoute->getNodeByReference('route.'.$uuid); if ($node != null) { // return node - return array("route" => $node->getNodes()); + return array('route' => $node->getNodes()); } } else { // generate new node, but don't save to disc $node = $mdlRoute->route->add(); - return array("route" => $node->getNodes()); + return array('route' => $node->getNodes()); } return array(); } public function delrouteAction($uuid) { - $result = array("result"=>"failed"); + $result = array('result'=>'failed'); if ($this->request->isPost() && $uuid != null) { $mdlRoute = new Route(); $node = $mdlRoute->getNodeByReference('route.'.$uuid); @@ -127,7 +131,9 @@ class RoutesController extends ApiControllerBase $mdlRoute->serializeToConfig(); Config::getInstance()->save(); $result['result'] = 'deleted'; - $this->backend_execute_route('delete', $node); + if ((string)$node->disabled != '1') { + $this->backend_execute_route('delete', $node); + } } else { $result['result'] = 'not found'; } @@ -142,16 +148,16 @@ class RoutesController extends ApiControllerBase $mdlRoute = new Route(); $node = $mdlRoute->getNodeByReference('route.' . $uuid); if ($node != null) { - if ($disabled == "0" || $disabled == "1") { + if ($disabled == '0' || $disabled == '1') { $node->disabled = (string)$disabled; - } elseif ($node->disabled->__toString() == "1") { - $node->disabled = "0"; + } elseif ($node->disabled->__toString() == '1') { + $node->disabled = '0'; $this->backend_execute_route('add', $node); } else { - $node->disabled = "1"; + $node->disabled = '1'; $this->backend_execute_route('delete', $node); } - $result['result'] = $node->disabled; + $result['result'] = (string)$node->disabled == '1' ? 'Disabled' : 'Enabled'; // if item has toggled, serialize to config and save $mdlRoute->serializeToConfig(); Config::getInstance()->save(); diff --git a/src/opnsense/mvc/app/controllers/OPNsense/Routes/forms/dialogEditRoute.xml b/src/opnsense/mvc/app/controllers/OPNsense/Routes/forms/dialogEditRoute.xml index 6f6bac988..63c2ec863 100644 --- a/src/opnsense/mvc/app/controllers/OPNsense/Routes/forms/dialogEditRoute.xml +++ b/src/opnsense/mvc/app/controllers/OPNsense/Routes/forms/dialogEditRoute.xml @@ -3,20 +3,24 @@ route.disabled checkbox + Set this option to disable this static route without removing it from the list. route.network text + Destination network for this static route route.gateway dropdown + add a new one.]]> route.descr text + You may enter a description here for your reference (not parsed). diff --git a/src/opnsense/mvc/app/views/OPNsense/Routes/index.volt b/src/opnsense/mvc/app/views/OPNsense/Routes/index.volt index 07e782e92..5b2e176b6 100644 --- a/src/opnsense/mvc/app/views/OPNsense/Routes/index.volt +++ b/src/opnsense/mvc/app/views/OPNsense/Routes/index.volt @@ -20,13 +20,11 @@ - - - {{ lang._('Do not enter static routes for networks assigned on any interface of this firewall. Static routes are only used for networks reachable via a different router, and not reachable via your default gateway.')}} - - +
+

{{ lang._('Do not enter static routes for networks assigned on any interface of this firewall. Static routes are only used for networks reachable via a different router, and not reachable via your default gateway.')}}

+