pipeworker only sees assigned buildings in workflow

This commit is contained in:
Frank Schubert
2021-09-02 21:01:45 +02:00
parent 06899abba2
commit d10c3572cb
3 changed files with 13 additions and 1 deletions

View File

@@ -36,7 +36,7 @@
<i class="fas fa-hard-hat"></i>Netzbau <div class="arrow-down"></div>
</a>
<ul class="submenu">
<li><a href="<?=self::getUrl("Building")?>">Objekte & Anschlüsse</a></li>
<?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","pipeworker"])): ?><li><a href="<?=self::getUrl("Pipework")?>">Tiefbau</a></li><?php endif; ?>
<?php if($me->is(["Admin","netowner","lineplanner","lineworker"])): ?><li><a href="<?=self::getUrl("Lineworker")?>">Leitungsbau</a></li><?php endif; ?>
</ul>

View File

@@ -124,6 +124,13 @@ class BuildingModel {
}
}
if(array_key_exists("pipeworker_id", $filter)) {
$pipeworker_id = $filter['pipeworker_id'];
if(is_numeric($pipeworker_id)) {
$where .= " AND Building.pipeworker_id=$pipeworker_id";
}
}
if(is_array($filter['type']) && count($filter['type'])) {
$ot = $filter['type'];
$in = [];

View File

@@ -73,6 +73,11 @@ class PipeworkController extends mfBaseController {
//$building_search = array_merge($building_search, $filter);
}
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;
}
//var_dump($building_search);exit;
foreach(BuildingModel::search($building_search) as $b) {
if(!array_key_exists($b->id, $networks[$network->name])) {