Fixed auto lineworker / pipeworker filter in Pipework/Linework

This commit is contained in:
Frank Schubert
2023-06-12 15:24:37 +02:00
parent c5b0a47a78
commit b091fa75fe
3 changed files with 23 additions and 10 deletions

View File

@@ -102,16 +102,18 @@ class LineworkController extends mfBaseController {
}
}
if($this->me->is("lineworker") && !$this->me->is(["Admin","pipeplanner", "lineplanner","netowner"])) {
$this->log->debug("is lineworker");
$termination_search["lineworker_id"] = ($this->me->address->parent_id) ? $this->me->address->parent_id : $this->me->address_id;
//var_dump($filter);exit;
}
if(!array_key_exists("status_id", $filter)) {
$termination_search["status_id"] = 3;
}
if($this->me->is("lineworker") && !$this->me->is(["Admin","pipeplanner","lineplanner","netowner"]) && $termination_search["status_id"] == 3) {
$this->log->debug("is lineworker");
//$termination_search["lineworker_id"] = ($this->me->address->parent_id) ? $this->me->address->parent_id : $this->me->address_id;
//var_dump($filter);exit;
}
$networks = [];
$pagination['maxItems'] = TerminationModel::count($termination_search);
foreach(TerminationModel::search($termination_search, $pagination) as $term) {

View File

@@ -102,15 +102,15 @@ class PipeworkController extends mfBaseController {
}
if($this->me->is("pipeworker") && !$this->me->is(["Admin","pipeplanner","netowner"])) {
$this->log->debug("is pipeworker");
$building_search["pipeworker_id"] = ($this->me->address->parent_id) ? $this->me->address->parent_id : $this->me->address_id;
}
if(!array_key_exists("status_id", $filter)) {
$building_search["status_id"] = 3;
}
if($this->me->is("pipeworker") && !$this->me->is(["Admin","pipeplanner","netowner"]) && $building_search["status_id"] == 3) {
$this->log->debug("is pipeworker");
$building_search["pipeworker_id"] = ($this->me->address->parent_id) ? $this->me->address->parent_id : $this->me->address_id;
}
$pagination['maxItems'] = BuildingModel::count($building_search);
foreach(BuildingModel::search($building_search, $pagination) as $b) {
if(!array_key_exists($b->network->name, $networks)) {

View File

@@ -115,6 +115,8 @@ class TerminationModel {
}
}
mfLoghandler::singleton()->debug($sql);
$res = $db->query($sql);
if($db->num_rows($res)) {
while($data = $db->fetch_object($res)) {
@@ -145,6 +147,15 @@ class TerminationModel {
}
}
if(array_key_exists("lineworker_id", $filter)) {
$lineworker_id = $filter['lineworker_id'];
if(is_numeric($lineworker_id)) {
$where .= " AND Building.lineworker_id=$lineworker_id";
} elseif(is_array($lineworker_id) && count($lineworker_id)) {
$where .= " AND Building.lineworker_id IN (". implode(",", $lineworker_id).")";
}
}
if(array_key_exists("linework_doku_delay", $filter)) {
if($filter['linework_doku_delay'] == 1) {
$where .= " AND Termination.linework_doku_delay = 1";