WIP 2024-07-22
This commit is contained in:
@@ -31,7 +31,7 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="card">
|
||||
<div class="card border-top-success">
|
||||
<div class="card-body">
|
||||
<h3 class="text-center mb-3"><?=$contract->product_name?> (<?=$contract->id?>)</h3>
|
||||
|
||||
@@ -77,7 +77,7 @@
|
||||
</div>
|
||||
|
||||
|
||||
<div class="card">
|
||||
<div class="card border-top-purple">
|
||||
<div class="card-body">
|
||||
<h4 class="text-center mb-3">Neuer Contract</h4>
|
||||
|
||||
@@ -309,7 +309,7 @@
|
||||
|
||||
<div class="row">
|
||||
<div class="col text-center">
|
||||
<input type="submit" class="btn btn-primary" value="Produktwechsel speichern"/>
|
||||
<input type="submit" class="btn btn-purple" value="Produktwechsel speichern"/>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
|
||||
@@ -231,7 +231,7 @@
|
||||
<button type="button" class="btn btn-sm btn-outline-secondary"><i class="far fa-people-arrows fa-fw"></i> Inhaberwechsel</button>
|
||||
<a href="<?=self::getUrl("Contract", "productchange", ["contract_id" => $contract->id])?>"><button type="button" class="btn btn-sm btn-outline-purple"><i class="far fa-truck-container fa-fw"></i> Produkt-/Standortwechsel</button></a>
|
||||
<a href="<?=self::getUrl("Contract", "cancel", ["contract_id" => $contract->id])?>"><button type="button" class="btn btn-sm btn-outline-danger"><i class="far fa-axe fa-fw"></i> Kündigen</button></a>
|
||||
<?php else: ?>
|
||||
<?php elseif(!$contract->finish_date): ?>
|
||||
<a href="<?=self::getUrl("Contract", "finishContract", ['contract_id' => $contract->id])?>" onclick="if(!confirm('Jetzt fertigstellen und in Verrechnung geben?')) return false"><button type="button" class="btn btn-sm btn-success"><i class="far fa-face-confused fa-fw"></i> Jetzt fertigstellen</button></a>
|
||||
<?php endif; ?>
|
||||
</td>
|
||||
|
||||
@@ -142,7 +142,8 @@
|
||||
<div class="row">
|
||||
<div class="col-12">
|
||||
<div class="float-right">
|
||||
<a class="btn btn-lg btn-primary mb-2" href="<?=self::getUrl("Order", "add")?>"><i class="fas fa-square-plus mr-1"></i> Neue Bestellung anlegen</a>
|
||||
<a class="btn btn-lg btn-primary mb-2" href="<?=self::getUrl("Order", "add")?>"><i class="fas fa-fw fa-square-plus "></i> Neue Bestellung anlegen</a>
|
||||
<a class="btn btn-lg btn-purple mb-2 ml-2" href="<?=self::getUrl("Order", "addUpgrade")?>"><i class="fas fa-fw fa-square-up "></i> Upgrade eingeben</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
78
Layout/default/Order/Productchange.php
Normal file
78
Layout/default/Order/Productchange.php
Normal file
@@ -0,0 +1,78 @@
|
||||
<?php
|
||||
$urlfilter = [];
|
||||
if($s) {
|
||||
$urlfilter['s'] = $s;
|
||||
}
|
||||
if($noTermProducts) {
|
||||
$urlfilter['noTermProducts'] = 1;
|
||||
}
|
||||
if(isset($filter) && is_array($filter) && count($filter)) {
|
||||
$urlfilter["filter"] = $filter;
|
||||
}
|
||||
$posturl = self::getUrl("Order", "save", $urlfilter);
|
||||
?>
|
||||
<?php include(realpath(dirname(__FILE__)."/../../$mfLayoutPackage")."/header.php"); ?>
|
||||
|
||||
<!-- start page title -->
|
||||
<div class="row">
|
||||
<div class="col-12">
|
||||
<div class="page-title-box">
|
||||
<div class="page-title-right">
|
||||
<ol class="breadcrumb m-0">
|
||||
<li class="breadcrumb-item"><a href="<?=self::getUrl("Dashboard")?>"><?=MFAPPNAME_SLUG?></a></li>
|
||||
<li class="breadcrumb-item"><a href="<?=self::getUrl("Order")?>">Bestellungen</a></li>
|
||||
<li class="breadcrumb-item active">Produktwechsel</li>
|
||||
</ol>
|
||||
</div>
|
||||
<h4 class="page-title">Bestellungen</h4>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- end page title -->
|
||||
|
||||
<div class="row">
|
||||
<div class="col-lg-12">
|
||||
|
||||
<div class="card no-shadow">
|
||||
<div class="card-body bg-light">
|
||||
<h4 class="mb-2">Produktwechsel</h4>
|
||||
|
||||
<form class="form-horizontal" method="post" action="<?=$posturl?>" name="orderForm" id="orderForm" enctype="multipart/form-data">
|
||||
<div class="card">
|
||||
<div class="card-body">
|
||||
|
||||
<div class="row">
|
||||
<div class="col-lg-6" id="owner-block">
|
||||
|
||||
|
||||
<div class="form-group row">
|
||||
|
||||
<div class="col-lg-12 mb-2">
|
||||
<h4>Vertragsinhaber auswählen</h4>
|
||||
|
||||
<select class="form-control basicAutoComplete" autocomplete="off" name="owner_id" id="owner_id" data-url="<?=self::getUrl('Address','api')?>?do=findAddress&autocomplete=1" placeholder="Tippen zum Suchen... (Bestandskunden)" data-noresults-text="Keine Suchergebnisse">
|
||||
<option></option>
|
||||
</select>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<script type="text/javascript">
|
||||
|
||||
$('#owner_id').autoComplete();
|
||||
|
||||
</script>
|
||||
|
||||
|
||||
<?php include(realpath(dirname(__FILE__)."/../../$mfLayoutPackage")."/footer.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
|
||||
]);
|
||||
|
||||
@@ -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;
|
||||
@@ -477,6 +469,12 @@ class OrderController extends mfBaseController {
|
||||
$this->redirect("Order","Index", $qs);
|
||||
}
|
||||
|
||||
protected function addUpgrade() {
|
||||
$this->layout()->setTemplate("Order/Productchange");
|
||||
|
||||
|
||||
}
|
||||
|
||||
protected function saveAction() {
|
||||
$r = $this->request;
|
||||
//var_dump($r->products);
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user