Added termination status filter to Order
This commit is contained in:
@@ -52,12 +52,12 @@
|
||||
</div>
|
||||
|
||||
<div class="col-2">
|
||||
<label class="form-label" for="filter_status_id">Objektstatus</label>
|
||||
<select name="filter[building_status_id]" id="filter_building_status_id" class="form-control">
|
||||
<label class="form-label" for="filter_status_id">Anschlussstatus</label>
|
||||
<select name="filter[termination_status]" id="filter_building_status_id" class="form-control">
|
||||
<option></option>
|
||||
<?php foreach(BuildingstatusModel::getAll() as $status): ?>
|
||||
<option value="<?=$status->id?>" <?=($filter['building_status_id'] == $status->id) ? "selected='selected'" : ""?>><?=$status->code?> - <?=__($status->name."-b")?></option>
|
||||
<?php endforeach; ?>
|
||||
<option value="pipework_needed" <?=($filter['termination_status'] == "pipework_needed") ? "selected='selected'" : ""?>>Tiefbau ausständig</option>
|
||||
<option value="building_connected" <?=($filter['termination_status'] == "building_connected") ? "selected='selected'" : ""?>>Tiefbau erledigt</option>
|
||||
<option value="term_connected" <?=($filter['termination_status'] == "term_connected") ? "selected='selected'" : ""?>>Anschluss passiv erschlossen</option>
|
||||
</select>
|
||||
</div>
|
||||
|
||||
|
||||
@@ -36,7 +36,7 @@
|
||||
<i class="fas fa-hard-hat"></i>Netzbau <div class="arrow-down"></div>
|
||||
</a>
|
||||
<ul class="submenu">
|
||||
<?php if($me->is(["Admin","netowner","pipeplanner","lineplanner"])): ?><li><a href="<?=self::getUrl("Building")?>">Objekte & Anschlüsse</a></li><?php endif; ?>
|
||||
<?php if($me->is(["Admin","netowner","pipeplanner"])): ?><li><a href="<?=self::getUrl("Building")?>">Objekte & Anschlüsse</a></li><?php endif; ?>
|
||||
<?php if($me->is(["Admin","netowner","pipeplanner","pipeworker","lineplanner","lineworker"])): ?><li><a href="<?=self::getUrl("Pipework")?>">Tiefbau</a></li><?php endif; ?>
|
||||
<?php if($me->is(["Admin","netowner","lineplanner","lineworker"])): ?><li><a href="<?=self::getUrl("Linework")?>">Leitungsbau</a></li><?php endif; ?>
|
||||
</ul>
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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);
|
||||
|
||||
Reference in New Issue
Block a user