diff --git a/Layout/default/Order/Index.php b/Layout/default/Order/Index.php
index 62974f50c..6eb68b388 100644
--- a/Layout/default/Order/Index.php
+++ b/Layout/default/Order/Index.php
@@ -52,12 +52,12 @@
-
-
diff --git a/Layout/default/menu.php b/Layout/default/menu.php
index 216983245..0addfa0c5 100644
--- a/Layout/default/menu.php
+++ b/Layout/default/menu.php
@@ -36,7 +36,7 @@
Netzbau
diff --git a/application/Order/OrderController.php b/application/Order/OrderController.php
index 11b4defa1..a54113855 100644
--- a/application/Order/OrderController.php
+++ b/application/Order/OrderController.php
@@ -129,6 +129,20 @@ class OrderController extends mfBaseController {
}
}
+ if(array_key_exists("termination_status", $filter)) {
+ $status = $filter['termination_status'];
+ if($status == "term_connected") {
+ $new_filter["termination_status_code"] = ">=".TT_TERMSTATUS_CONNECTED;
+ }
+ if($status == "building_connected") {
+ $new_filter["building_status_code"] = ">=".TT_BUILDINGSTATUS_CONNECTED;
+ }
+ if($status == "pipework_needed") {
+ $new_filter["building_status_code"] = "<".TT_BUILDINGSTATUS_CONNECTED;
+ }
+
+ }
+
foreach($filter as $name => $value) {
$new_filter[$name] = $value;
}
diff --git a/application/Order/OrderModel.php b/application/Order/OrderModel.php
index 7282d2728..0752af294 100644
--- a/application/Order/OrderModel.php
+++ b/application/Order/OrderModel.php
@@ -149,6 +149,8 @@ class OrderModel {
LEFT JOIN Product ON (Product.id = OrderProduct.product_id)
LEFT JOIN Termination ON (Termination.id = OrderProduct.termination_id)
LEFT JOIN Building ON (Building.id = Termination.building_id)
+ LEFT JOIN Terminationstatus ON (Terminationstatus.id = Termination.status_id)
+ LEFT JOIN Buildingstatus ON (Buildingstatus.id = Building.status_id)
WHERE $where
GROUP BY `Order`.id)
as o";
@@ -177,6 +179,9 @@ class OrderModel {
LEFT JOIN Product ON (Product.id = OrderProduct.product_id)
LEFT JOIN Termination ON (Termination.id = OrderProduct.termination_id)
LEFT JOIN Building ON (Building.id = Termination.building_id)
+ LEFT JOIN Terminationstatus ON (Terminationstatus.id = Termination.status_id)
+ LEFT JOIN Buildingstatus ON (Buildingstatus.id = Building.status_id)
+
WHERE $where
GROUP BY `Order`.id
ORDER BY `Order`.order_date ASC";
@@ -284,6 +289,60 @@ class OrderModel {
$where .= " AND Building.street LIKE '%$street%'";
}
}
+ var_dump($filter['building_status_code']);
+ if(array_key_exists("building_status_code", $filter)) {
+ if(in_array(substr($filter['building_status_code'], 0, 2), ["<=", ">="])) {
+ $op = substr($filter['building_status_code'], 0, 2);
+ $status = substr($filter['building_status_code'], 2);
+ } elseif(in_array(substr($filter['building_status_code'], 0, 1), ["<", ">"])) {
+ $op = substr($filter['building_status_code'], 0, 1);
+ $status = substr($filter['building_status_code'], 1);
+ } else {
+ $op = "=";
+ $status = $filter['building_status_code'];
+ }
+
+ //var_dump($op, $status);exit;
+
+ if(is_numeric($status)) {
+ $where .= " AND Buildingstatus.code $op $status";
+ } else {
+ // get code of statusname
+ $code = BuildingstatusModel::getOne(["name" => $status]);
+ if($code) {
+ $status = FronkDB::singleton()->escape($status);
+ $where .= " AND Buildingstatus.code $op '$status'";
+ }
+
+ }
+ }
+ //var_dump($filter['termination_status_code']);
+ if(array_key_exists("termination_status_code", $filter)) {
+ if(in_array(substr($filter['termination_status_code'], 0, 2), ["<=", ">="])) {
+ $op = substr($filter['termination_status_code'], 0, 2);
+ $status = substr($filter['termination_status_code'], 2);
+ } elseif(in_array(substr($filter['termination_status_code'], 0, 1), ["<", ">"])) {
+ $op = substr($filter['termination_status_code'], 0, 1);
+ $status = substr($filter['termination_status_code'], 1);
+ } else {
+ $op = "=";
+ $status = $filter['termination_status_code'];
+ }
+
+ //var_dump($op, $status);exit;
+
+ if(is_numeric($status)) {
+ $where .= " AND Terminationstatus.code $op $status";
+ } else {
+ // get code of statusname
+ $code = TerminationstatusModel::getOne(["name" => $status]);
+ if($code) {
+ $status = FronkDB::singleton()->escape($status);
+ $where .= " AND Terminationstatus.code $op '$status'";
+ }
+
+ }
+ }
//var_dump($filter, $where);exit;
return $where;
diff --git a/application/Pipework/PipeworkController.php b/application/Pipework/PipeworkController.php
index 7db55bbb6..bec4425e9 100644
--- a/application/Pipework/PipeworkController.php
+++ b/application/Pipework/PipeworkController.php
@@ -9,14 +9,15 @@ class PipeworkController extends mfBaseController {
$this->me = $me;
$this->layout()->set("me",$me);
- if(!$me->is(["Admin", "netowner", "pipeplanner", "pipeworker"])) {
+ if(!$me->is(["Admin", "netowner", "pipeplanner", "pipeworker", "lineplanner", "lineworker"])) {
$this->redirect("Dashboard");
}
}
protected function indexAction() {
$this->layout()->setTemplate("Pipework/Index");
-
+
+ $filter = [];
$this->layout->set("filter", $this->request->filter);
if($this->request->filter) {
$filter = $this->getPreparedFilter($this->request->filter);