Filter and pagination is still set after saving Order
This commit is contained in:
@@ -112,7 +112,7 @@ class OrderController extends mfBaseController {
|
||||
}
|
||||
}
|
||||
|
||||
if(!$showLonelies) {
|
||||
//if(!$showLonelies) {
|
||||
//var_dump($order_search);exit;
|
||||
$pagination['maxItems'] = OrderModel::count($order_search);
|
||||
foreach(OrderModel::search($order_search, $pagination) as $order) {
|
||||
@@ -120,9 +120,17 @@ class OrderController extends mfBaseController {
|
||||
$orders[$order->id] = $order;
|
||||
}
|
||||
}
|
||||
//}
|
||||
|
||||
$showLoneliesCount = false;
|
||||
foreach(["owner", "owner_address", "partner_number", "finish_date"] as $key) {
|
||||
if(array_key_exists($key, $filter) && $filter[$key]) {
|
||||
$showLoneliesCount = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if($showLonelies) {
|
||||
|
||||
if($showLonelies || $showLoneliesCount) {
|
||||
$userIds = $this->me->getAddressOrParent()->getUserIds();
|
||||
//var_dump($userIds);exit;
|
||||
if(!array_key_exists("network_linked_status", $order_search)) {
|
||||
@@ -265,10 +273,13 @@ class OrderController extends mfBaseController {
|
||||
}
|
||||
|
||||
protected function addAction() {
|
||||
//var_dump($this->request->filter);exit;
|
||||
|
||||
|
||||
// TODO: filter by network permissions
|
||||
$this->layout()->setTemplate("Order/Form");
|
||||
if($this->me->is("Admin")) {
|
||||
$this->layout()->set("addresses", AddressModel::search(['parents_only' => 1]));
|
||||
//$this->layout()->set("addresses", AddressModel::search(['parents_only' => 1]));
|
||||
$this->layout()->set("products", ProductModel::getAll());
|
||||
$this->layout()->set("terminations", TerminationModel::getAll());
|
||||
} else {
|
||||
@@ -280,17 +291,18 @@ class OrderController extends mfBaseController {
|
||||
$users = [];
|
||||
foreach($this->me->my_networks as $network) {
|
||||
$network_ids[] = $network->id;
|
||||
$tmp_users = $network->getAddressUsersByAddresstype("salespartner");
|
||||
/*$tmp_users = $network->getAddressUsersByAddresstype("salespartner");
|
||||
foreach($tmp_users as $user) {
|
||||
if(!in_array($user->id, $users)) {
|
||||
$users[] = $user->id;
|
||||
}
|
||||
}
|
||||
}*/
|
||||
}
|
||||
/*
|
||||
// get addresses from salespartner address' user ids
|
||||
$addresses = AddressModel::search(["create_by" => $users]);
|
||||
$this->layout()->set("addresses", $addresses);
|
||||
|
||||
*/
|
||||
// get terminations in my networks
|
||||
$terms = TerminationModel::search(["network_id" => $network_ids]);
|
||||
$this->layout()->set("terminations", $terms);
|
||||
@@ -305,6 +317,15 @@ class OrderController extends mfBaseController {
|
||||
|
||||
}
|
||||
|
||||
if($this->request->filter) {
|
||||
$this->layout()->set("filter", $this->request->filter);
|
||||
}
|
||||
if($this->request->noTermProducts) {
|
||||
$this->layout()->set("noTermProducts", $this->request->noTermProducts);
|
||||
}
|
||||
if($this->request->s) {
|
||||
$this->layout()->set("s", $this->request->s);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
@@ -366,18 +387,12 @@ class OrderController extends mfBaseController {
|
||||
$this->layout()->setFlash("Bestellung nicht gefunden", "error");
|
||||
$this->redirect("Order");
|
||||
}
|
||||
|
||||
// refuse to save if there is a contract already
|
||||
|
||||
if($order->finish_date && is_array($order->contracts) && count($order->contracts)) {
|
||||
$this->layout()->setFlash("Bestellung kann nicht mehr bearbeitet werden, da sie bereits abgeschlossen und in Verrechnung ist.", "error");
|
||||
$this->redirect("Order", "edit", ['id' => $order->id]);
|
||||
}
|
||||
/*foreach($order->products as $p) {
|
||||
if($p->contract && $p->contract->id) {
|
||||
$this->layout()->setFlash("Bestellung kann nicht mehr bearbeitet werden, da sie bereits abgeschlossen und in Verrechnung ist.", "error");
|
||||
$this->redirect("Order", "edit", ['id' => $order->id]);
|
||||
}
|
||||
}*/
|
||||
} else {
|
||||
$id = false;
|
||||
$mode = "add";
|
||||
@@ -385,12 +400,6 @@ class OrderController extends mfBaseController {
|
||||
|
||||
// validate owner
|
||||
$owner = false;
|
||||
/*if(!$r->owner_id) {
|
||||
$this->layout()->setFlash("Bitte Vertragsinhaber auswählen oder eintragen.", "error");
|
||||
$this->layout()->set("order", $r);
|
||||
return $this->add();
|
||||
}*/
|
||||
|
||||
$owner_new = false;
|
||||
|
||||
if(is_numeric($r->owner_id) && $r->owner_id > 0) {
|
||||
@@ -415,11 +424,7 @@ class OrderController extends mfBaseController {
|
||||
return $this->add();
|
||||
}
|
||||
}
|
||||
}/* else {
|
||||
$this->layout()->setFlash("Ungültiger Vertragsinhaber.");
|
||||
$this->layout()->set("order", $r);
|
||||
return $this->add();
|
||||
}*/
|
||||
}
|
||||
|
||||
|
||||
// validate billindaddress
|
||||
@@ -456,11 +461,7 @@ class OrderController extends mfBaseController {
|
||||
return $this->add();
|
||||
}
|
||||
}
|
||||
} /*else {
|
||||
$this->layout()->setFlash("Ungültiger Rechnungsempfänger.");
|
||||
$this->layout()->set("order", $r);
|
||||
return $this->add();
|
||||
}*/
|
||||
}
|
||||
|
||||
// validate sepa
|
||||
if(!$r->billing_type) {
|
||||
@@ -873,8 +874,23 @@ class OrderController extends mfBaseController {
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
$sq = "";
|
||||
$query = [];
|
||||
if($r->s) {
|
||||
$query['s'] = $r->s;
|
||||
}
|
||||
if($r->noTermProducts) {
|
||||
$query["noTermProducts"] = $r->noTermProducts;
|
||||
}
|
||||
if($r->filter) {
|
||||
$query["filter"] = $r->filter;
|
||||
}
|
||||
|
||||
$qs = http_build_query($query);
|
||||
|
||||
$this->layout()->setFlash("Bestellung erfolgreich gespeichert.", "success");
|
||||
$this->redirect("Order", "edit", ["id" => $new_id]);
|
||||
$this->redirect("Order", "Index", $qs, "order=$new_id-details");
|
||||
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user