diff --git a/Layout/default/Contract/ProductchangeForm.php b/Layout/default/Contract/ProductchangeForm.php index d1ef26abc..c7132826b 100644 --- a/Layout/default/Contract/ProductchangeForm.php +++ b/Layout/default/Contract/ProductchangeForm.php @@ -31,7 +31,7 @@ -
+

product_name?> (id?>)

@@ -77,7 +77,7 @@
-
+

Neuer Contract

@@ -309,7 +309,7 @@
- +
diff --git a/Layout/default/Contract/View.php b/Layout/default/Contract/View.php index 357065e4f..a32bf419b 100644 --- a/Layout/default/Contract/View.php +++ b/Layout/default/Contract/View.php @@ -231,7 +231,7 @@ $contract->id])?>"> $contract->id])?>"> - + finish_date): ?> $contract->id])?>" onclick="if(!confirm('Jetzt fertigstellen und in Verrechnung geben?')) return false"> diff --git a/Layout/default/Order/Index.php b/Layout/default/Order/Index.php index 9f947a7d5..ad50c05d8 100644 --- a/Layout/default/Order/Index.php +++ b/Layout/default/Order/Index.php @@ -142,7 +142,8 @@ diff --git a/Layout/default/Order/Productchange.php b/Layout/default/Order/Productchange.php new file mode 100644 index 000000000..ce0b820f8 --- /dev/null +++ b/Layout/default/Order/Productchange.php @@ -0,0 +1,78 @@ + + + + +
+
+
+
+ +
+

Bestellungen

+
+
+
+ + +
+
+ +
+
+

Produktwechsel

+ +
+
+
+ +
+
+ + +
+ +
+

Vertragsinhaber auswählen

+ + + +
+
+
+
+
+
+ +
+
+
+ +
+
+ + + + + diff --git a/application/Contract/trigger/Finished.php b/application/Contract/trigger/Finished.php index bc81bc6ce..7c257414a 100644 --- a/application/Contract/trigger/Finished.php +++ b/application/Contract/trigger/Finished.php @@ -48,6 +48,7 @@ class ContractTrigger_Finished { $now->setTime(2,0,0); $cancel_date = clone($now); + $cancel_date->modify("-1 day"); $cancel_date->setTime(23,59,59); $origin = $link->origin; @@ -74,7 +75,7 @@ class ContractTrigger_Finished { // verlinkten Contract kündigen (wenn nicht schon gekündigt) if ($old_link->change_action == "cancel" && !$old_link->origin->cancel_date) { $old_link->origin->update([ - 'cancel_date' => $now->getTimestamp(), + 'cancel_date' => $cancel_date->getTimestamp(), 'cancel_date_by' => $this->me->id, 'edit_by' => $this->me->id ]); @@ -100,7 +101,7 @@ class ContractTrigger_Finished { // verlinkten Contract kündigen (wenn nicht schon gekündigt) if ($old_link->change_action == "cancel" && !$old_link->contract->cancel_date) { $old_link->contract->update([ - 'cancel_date' => $now->getTimestamp(), + 'cancel_date' => $cancel_date->getTimestamp(), 'cancel_date_by' => $this->me->id, 'edit_by' => $this->me->id ]); @@ -126,7 +127,7 @@ class ContractTrigger_Finished { // Alte Gutschrift kündigen und neue anlegen //var_dump($old_credit->contract); $old_credit->contract->update([ - 'cancel_date' => $now->getTimestamp(), + 'cancel_date' => $cancel_date->getTimestamp(), 'cancel_date_by' => $this->me->id, 'edit_by' => $this->me->id ]); diff --git a/application/Order/OrderController.php b/application/Order/OrderController.php index 2e8e1e52e..954d1aff1 100644 --- a/application/Order/OrderController.php +++ b/application/Order/OrderController.php @@ -150,18 +150,11 @@ class OrderController extends mfBaseController { } } - //if(!$showLonelies) { - //var_dump($order_search);exit; - $pagination['maxItems'] = OrderModel::count($order_search); - foreach(OrderModel::search($order_search, $pagination) as $order) { - if(!array_key_exists($order->id, $orders)) { - $orders[$order->id] = $order; - } - } - //} - + $pagination['maxItems'] = OrderModel::count($order_search); + $orders = OrderModel::search($order_search, $pagination, true); + $showLoneliesCount = false; - foreach(["owner", "owner_address", "partner_number"] as $key) { + foreach(["owner", "owner_address", "partner_number"] as $key) { if(array_key_exists($key, $filter) && $filter[$key]) { $showLoneliesCount = true; break; @@ -192,7 +185,6 @@ class OrderController extends mfBaseController { if($this->me->isAdmin()) { if(!$this->request->filter['network_id']) { $lonelies = OrderModel::search($order_search); - } } else { $order_search['create_by'] = $userIds; @@ -225,7 +217,7 @@ class OrderController extends mfBaseController { foreach($lonelies as $order) { // check for voice or special products only - $this->log->debug("Order id ".$order->id); + //$this->log->debug("Order id ".$order->id); /*if($order->id == 38) { var_dump($order); exit; @@ -476,7 +468,13 @@ class OrderController extends mfBaseController { $this->layout()->setFlash("Wartestatus erfolgreich gespeichert", "success"); $this->redirect("Order","Index", $qs); } - + + protected function addUpgrade() { + $this->layout()->setTemplate("Order/Productchange"); + + + } + protected function saveAction() { $r = $this->request; //var_dump($r->products); diff --git a/application/Order/OrderModel.php b/application/Order/OrderModel.php index db4a8ca51..48527d8f2 100644 --- a/application/Order/OrderModel.php +++ b/application/Order/OrderModel.php @@ -180,7 +180,7 @@ class OrderModel { return 0; } - public static function search($filter, $limit=false) { + public static function search($filter, $limit=false, $withId = false) { $items = []; $db = FronkDB::singleton(); @@ -210,7 +210,7 @@ class OrderModel { if(is_array($limit) && count($limit)) { if(is_numeric($limit['start']) && is_numeric($limit['count'])) { $sql .= " LIMIT ".$limit['start'].", ".$limit['count']; - } elseif(is_numeric($count)) { + } elseif(is_numeric($limit['count'])) { $sql .= " LIMIT ".$limit['count']; } } @@ -218,7 +218,11 @@ class OrderModel { $res = $db->query($sql); if($db->num_rows($res)) { while($data = $db->fetch_object($res)) { - $items[] = new Order($data); + if($withId) { + $items[$data->id] = new Order($data); + } else { + $items[] = new Order($data); + } } }