Added filter to Cpeprovisioning

This commit is contained in:
Frank Schubert
2021-11-02 20:17:53 +01:00
parent d833c7583f
commit 3df3e93492
2 changed files with 100 additions and 4 deletions

View File

@@ -19,7 +19,55 @@
<div class="row">
<div class="col-lg-12">
<div class="card">
<div class="card-body mb-3">
<h4 class="header-title mb-3">Filter</h4>
<form method="get" action="<?=self::getUrl("Cpeprovisioning")?>">
<div class="row">
<div class="col-1">
<label class="form-label" for="filter_network_id">Netzgebiet</label>
<select name="filter[network_id]" id="filter_network_id" class="form-control">
<option></option>
<?php foreach($mynetworks as $fnet): ?>
<option value="<?=$fnet->id?>" <?=($filter['network_id'] == $fnet->id) ? "selected='selected'" : ""?>><?=$fnet->name?></option>
<?php endforeach; ?>
</select>
</div>
<div class="col-2">
<label class="form-label" for="filter_routerconfig_finished">Provisioningstatus</label>
<select name="filter[routerconfig_finished]" id="filter_routerconfig_finished" class="form-control">
<option value="0" <?=($filter['routerconfig_finished'] == 0) ? "selected='selected'" : ""?>>Offen</option>
<option value="1" <?=($filter['routerconfig_finished'] == 1) ? "selected='selected'" : ""?>>Abgeschlossen</option>
</select>
</div>
<div class="col-2">
<label class="form-label" for="filter_hide_delayed_finish">Verzögerte Herstellung</label>
<select name="filter[hide_delayed_finish]" id="filter_hide_delayed_finish" class="form-control">
<option value="0" <?=(array_key_exists("hide_delayed_finish", $filter) &&$filter['hide_delayed_finish'] != 1) ? "selected='selected'" : ""?>>Anzeigen</option>
<option value="1" <?=(!array_key_exists("hide_delayed_finish", $filter) || $filter['hide_delayed_finish'] == 1) ? "selected='selected'" : ""?>>Nicht anzeigen</option>
</select>
</div>
<div class="col-2">
<label class="form-label" for="filter_owner">Kunde</label>
<input type="text" class="form-control" name="filter[owner]" id="filter_owner" value="<?=$filter['owner']?>" />
</div>
</div>
<div class="row mt-2">
<div class="col">
<button type="submit" class="btn btn-primary">Filter anwenden</button>
<a class="btn btn-secondary" href="<?=self::getUrl("Cpeprovisioning")?>">Filter zurücksetzen</a>
</div>
</div>
</form>
</div>
</div>
<div class="card">

View File

@@ -18,10 +18,21 @@ class CpeprovisioningController extends mfBaseController {
$this->layout()->setTemplate("Cpeprovisioning/Index");
$cpeproducts = [];
$this->layout->set("filter", $this->request->filter);
$filter = $this->getPreparedFilter($this->request->filter);
// pagination defaults
$pagination = [];
$pagination['start'] = 0;
$pagination['count'] = 20;
$pagination['maxItems'] = 0;
$order_filter = $filter;
$order_filter["finish_date"] = null;
//var_dump($filter);exit;
/*
* Get orderproducts in need of sending CPE
* Get orderproducts in need of sending a CPE
*/
$orders = OrderModel::search(["finish_date" => null]);
$orders = OrderModel::search($order_filter);
foreach($orders as $order) {
if($order->finish_after) {
@@ -41,7 +52,9 @@ class CpeprovisioningController extends mfBaseController {
foreach($order->products as $orderproduct) {
if($orderproduct->cpeprovisioning->routerconfig_finished == 1) {
continue;
if(!$filter['routerconfig_finished']) continue;
} else {
if($filter['routerconfig_finished']) continue;
}
$product = $orderproduct->product;
@@ -65,6 +78,41 @@ class CpeprovisioningController extends mfBaseController {
$this->layout()->set("products", $cpeproducts);
}
private function getPreparedFilter($filter) {
$new_filter = [];
if(array_key_exists("hide_delayed_finish", $filter)) {
if($filter["hide_delayed_finish"] == "1") {
$new_filter["hide_delayed_finish"] = true;
} else {
$new_filter["hide_delayed_finish"] = false;
}
unset($filter["hide_delayed_finish"]);
} else {
$new_filter["hide_delayed_finish"] = true;
}
if(array_key_exists("routerconfig_finished", $filter)) {
if($filter["routerconfig_finished"] == "1") {
$new_filter["routerconfig_finished"] = true;
$new_filter["hide_delayed_finish"] = false;
} else {
$new_filter["routerconfig_finished"] = false;
}
unset($filter["routerconfig_finished"]);
} else {
$new_filter["routerconfig_finished"] = false;
}
foreach($filter as $name => $value) {
$new_filter[$name] = $value;
}
//var_dump($new_filter);exit;
return $new_filter;
}
protected function saveAction() {
$r = $this->request;
$id = $r->id;