Added unit_missing & connection_count filter in Preorder/Index

This commit is contained in:
Frank Schubert
2023-04-18 15:21:43 +02:00
parent 9cdd77e7dc
commit 8929e9b7d4
3 changed files with 37 additions and 0 deletions

View File

@@ -107,6 +107,23 @@
</select>
</div>
<div class="col-2">
<label class="form-label" for="filter_unit_missing">Wohneinheit</label>
<select name="filter[unit_missing]" id="filter_unit_missing" class="form-control">
<option value=""></option>
<option value="yes" <?=(isset($filter) && array_key_exists("unit_missing", $filter) && $filter['unit_missing'] == "yes") ? "selected='selected'" : ""?>>Wohneinheit fehlt</option>
<option value="no" <?=(isset($filter) && array_key_exists("unit_missing", $filter) && $filter['unit_missing'] == "no") ? "selected='selected'" : ""?>>Wohneinheit vorhanden</option>
</select>
</div>
<div class="col-2">
<label class="form-label" for="filter_unit_count">Anzahl Anschlüsse</label>
<select name="filter[connection_count]" id="filter_connection_count" class="form-control">
<option value=""></option>
<option value="1" <?=(isset($filter) && array_key_exists("connection_count", $filter) && intval($filter['connection_count']) === 1) ? "selected='selected'" : ""?>>1</option>
<option value="2" <?=(isset($filter) && array_key_exists("connection_count", $filter) && intval($filter['connection_count']) === 2) ? "selected='selected'" : ""?>> &gt; 1</option>
</select>
</div>
<?php endif; ?>
</div>

View File

@@ -144,6 +144,15 @@ class PreorderController extends mfBaseController {
}
}
if(array_key_exists("unit_missing", $filter)) {
if($filter['unit_missing'] == "yes") {
$new_filter['adb_wohneinheit_id'] = null;
} elseif($filter['unit_missing'] == "no") {
$new_filter['adb_wohneinheit_id'] = true;
}
unset($filter['unit_missing']);
}
if(array_key_exists("attributes", $filter) && count($filter['attributes'])) {
}

View File

@@ -372,6 +372,8 @@ class PreorderModel {
$where .= " AND adb_wohneinheit_id IN (".implode(",",$adb_wohneinheit_id).")";
} elseif($adb_wohneinheit_id === null) {
$where .= " AND adb_wohneinheit_id IS NULL";
} elseif($adb_wohneinheit_id === true) {
$where .= " AND adb_wohneinheit_id IS NOT NULL AND adb_wohneinheit_id > 0";
}
}
@@ -408,6 +410,15 @@ class PreorderModel {
}
}
if(array_key_exists("connection_count", $filter)) {
$connection_count = $filter['connection_count'];
if(intval($connection_count) === 1) {
$where .= " AND connection_count = 1";
} elseif(intval($connection_count) === 2) {
$where .= " AND connection_count > 1";
}
}
if(array_key_exists("ucode", $filter)) {
$ucode = FronkDB::singleton()->escape($filter['ucode']);
if($ucode) {