Added filters to Pipework

This commit is contained in:
Frank Schubert
2021-08-30 22:42:38 +02:00
parent b166bc3bd2
commit 609dac71ab
4 changed files with 99 additions and 11 deletions

View File

@@ -17,16 +17,42 @@ class PipeworkController extends mfBaseController {
protected function indexAction() {
$this->layout()->setTemplate("Pipework/Index");
$this->layout->set("filter", $this->request->filter);
if($this->request->filter) {
$filter = $this->getPreparedFilter($this->request->filter);
}
$my_networks = [];
// get allowed networks
if($this->me->is("Admin")) {
$my_networks = NetworkModel::getAll();
if($filter['network_id']) {
$my_networks[] = new Network($filter['network_id']);
} else {
$my_networks = NetworkModel::getAll();
}
$this->layout()->set("mynetworks", NetworkModel::getAll());
} else {
$use_filter_network = false;
$my_networks = $this->me->my_networks;
foreach($my_networks as $mn) {
if($mn->id == $filter['network_id']) {
$use_filter_network = true;
continue;
}
}
if($use_filter_network) {
$my_networks = [];
$my_networks[] = new Network($filter['network_id']);
}
$this->layout()->set("mynetworks", $this->me->my_networks);
}
unset($filter['network_id']);
// get Buildings in networks
$networks = [];
@@ -39,13 +65,15 @@ class PipeworkController extends mfBaseController {
"network_id" => $network->id,
"workflow_finished" => 0
];
if(is_array($filter) && count($filter)) {
$building_search = array_merge($building_search, $filter);
foreach($filter as $name => $value) {
$building_search[$name] = $value;
}
//$building_search = array_merge($building_search, $filter);
}
$this->log->debug(print_r($building_search, true));
foreach(BuildingModel::search($building_search) as $b) {
if(!array_key_exists($b->id, $networks[$network->name])) {
$networks[$network->name][$b->id] = $b;
@@ -77,8 +105,17 @@ class PipeworkController extends mfBaseController {
}
private function getPreparedFilter($filter) {
$new_filter = [];
return $filter;
foreach($filter as $name => $value) {
/*if($name == 'network_id') {
$new_filter['id'] = $value;
continue;
}*/
$new_filter[$name] = $value;
}
return $new_filter;
}
protected function saveAction() {