308 lines
16 KiB
PHP
308 lines
16 KiB
PHP
<?php
|
|
|
|
$pagination_baseurl = $this->getUrl("Order","Upgrades");
|
|
$pagination_baseurl_params = ["filter" => $filter];
|
|
$pagination_entity_name = "Upgrades";
|
|
//var_dump($mynetworks);
|
|
|
|
$sorted_networks = [];
|
|
if(is_array($mynetworks) && count($mynetworks)) {
|
|
foreach($mynetworks as $net) {
|
|
$sorted_networks[$net->name] = $net->id;
|
|
}
|
|
}
|
|
ksort($sorted_networks);
|
|
|
|
//var_dump($mynetworks);
|
|
//var_dump($sorted_networks);exit;
|
|
|
|
?>
|
|
<?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 active">Bestellungen</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">
|
|
<div class="card-body mb-3">
|
|
<h4 class="header-title mb-3">Filter</h4>
|
|
|
|
<form method="get" action="<?=self::getUrl("Order", "Upgrades")?>">
|
|
<div class="row">
|
|
|
|
|
|
<div class="col-2">
|
|
<label class="form-label" for="filter_building_street">Straße (Anschluss)</label>
|
|
<input type="text" class="form-control" name="filter[building_street]" id="filter_building_street" value="<?=$filter['building_street']?>" />
|
|
</div>
|
|
|
|
<div class="col-1">
|
|
<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 class="col-2">
|
|
<label class="form-label" for="filter_owner">Straße (Kunde)</label>
|
|
<input type="text" class="form-control" name="filter[owner_address]" id="filter_owner_address" value="<?=$filter['owner_address']?>" />
|
|
</div>
|
|
|
|
|
|
<div class="col-1">
|
|
<label class="form-label" for="filter_partner_number">Partnernummer</label>
|
|
<input type="text" class="form-control" name="filter[partner_number]" id="filter_partner_number" value="<?=$filter['partner_number']?>" />
|
|
</div>
|
|
|
|
<div class="col-1">
|
|
<label class="form-label" for="filter_customer_type">Kundentyp</label>
|
|
<select name="filter[customer_type]" id="filter_customer_type" class="form-control">
|
|
<option></option>
|
|
<option value="residential" <?=($filter['customer_type'] == "residential") ? 'selected="selected"' : ""?>>Residential</option>
|
|
<option value="business" <?=($filter['customer_type'] == "business") ? 'selected="selected"' : ""?>>Business</option>
|
|
</select>
|
|
</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("Order", "Upgrades")?>">Filter zurücksetzen</a>
|
|
</div>
|
|
</div>
|
|
</form>
|
|
|
|
</div>
|
|
</div>
|
|
|
|
<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-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>
|
|
|
|
<ul class="nav nav-tabs ml-1" role="tablist">
|
|
<li class="nav-item">
|
|
<a class="nav-link" href="<?=self::getUrl("Order", "Index", ["filter" => $filter])?>">Bestellungen mit Anschluss</a>
|
|
</li>
|
|
<li class="nav-item">
|
|
<a class="nav-link" href="<?=self::getUrl("Order", "Index", ["noTermProducts" => 1, "filter" => $filter])?>">
|
|
Bestellungen ohne Anschluss
|
|
</a>
|
|
</li>
|
|
<li class="nav-item">
|
|
<a class="nav-link " href="<?=self::getUrl("Order", "Index", ["voiceProductsOnly" => 1, "filter" => $filter])?>">
|
|
Nur Voice/PBX
|
|
</a>
|
|
</li>
|
|
<li class="nav-item">
|
|
<a class="nav-link" href="<?=self::getUrl("Order", "Index", ["specialProductsOnly" => 1, "filter" => $filter])?>">
|
|
Nur Sonderprodukte/Projekte
|
|
</a>
|
|
</li>
|
|
<li class="nav-item">
|
|
<a class="nav-link active" href="<?=self::getUrl("Order", "Upgrades", ["filter" => $filter])?>">
|
|
Upgrades
|
|
</a>
|
|
</li>
|
|
</ul>
|
|
|
|
<div class="card border-top-info">
|
|
<div class="card-body mb-3">
|
|
<?php if(is_array($upgrades) && count($upgrades)): ?>
|
|
|
|
<?php include(realpath(dirname(__FILE__)."/../")."/tpl/pagination.php"); ?>
|
|
<?php include(realpath(dirname(__FILE__)."/../")."/tpl/pagination-summary.php"); ?>
|
|
|
|
<table class="table table-striped table-hover">
|
|
<tr>
|
|
<th></th>
|
|
<th class="align-middle">Contact ID</th>
|
|
<th class="align-middle">Bisheriger Vertragsinhaber</th>
|
|
<th class="align-middle">Bestehendes Produkt<br />Matchcode</th>
|
|
<th class="align-middle">Verknüpfte Produkte</th>
|
|
<th class="align-middle">Rechnungsperiode</th>
|
|
<th class="align-middle">Preis<br />Preis Setup</th>
|
|
<th class="border border-dark text-center align-middle pl-0 pr-0">Fertigstellungssdatum<br />(Falls vorhanden)</th>
|
|
<th class="align-middle">Neuer Vertragsinhaber</th>
|
|
<th class="align-middle">Neues Produkt<br />Matchcode</th>
|
|
<th class="align-middle">Preis<br />Preis Setup</th>
|
|
<th></th>
|
|
</tr>
|
|
<?php foreach($upgrades as $upgrade): ?>
|
|
<tr id="upgrade-<?=$upgrade->id?>">
|
|
<td class="bg-lightblue border border-end text-center pointer" onclick="toggleUpgrade(<?=$upgrade->id?>); return false;">
|
|
<i class="fas fa-fw fa-angle-down"></i>
|
|
</td>
|
|
<td><?=$upgrade->origin->id?></td>
|
|
<td><?=$upgrade->origin->owner->getCompanyOrName()?> <?=($upgrade->origin->owner->customer_number) ? " [".$upgrade->origin->owner->customer_number."]" : ""?></td>
|
|
<td>
|
|
<?=$upgrade->origin->product_name?><br />
|
|
<span class="font-italic"><?=$upgrade->origin->matchcode?></span>
|
|
</td>
|
|
<td><?=$upgrade->origin->countActiveLinks()?></td>
|
|
<td><?=__($upgrade->origin->billing_period, "billing_period")?></td>
|
|
<td>
|
|
€ <?=number_format($upgrade->origin->price, 4, ",", ".")?><br />
|
|
€ <?=number_format($upgrade->origin->price_setup, 4, ",", ".")?>
|
|
</td>
|
|
|
|
<td class="border border-dark text-center align-middle pl-0 pr-0" style="font-size: 1.3rem;">
|
|
<?php if($upgrade->contract->finish_date): ?>
|
|
<?=date("d.m.Y", $upgrade->contract->finish_date)?>
|
|
<?php elseif($upgrade->origin->cancel_date): ?>
|
|
<?=date("d.m.Y", $upgrade->origin->cancel_date)?>
|
|
<?php endif; ?>
|
|
<i class="fas fa-fw fa-right"></i>
|
|
</td>
|
|
|
|
<td><?=$upgrade->contract->owner->getCompanyOrName()?></td>
|
|
<td>
|
|
<?=$upgrade->contract->product_name?><br />
|
|
<span class="font-italic"><?=$upgrade->contract->matchcode?></span>
|
|
</td>
|
|
<td>
|
|
€ <?=number_format($upgrade->contract->price, 4, ",", ".")?><br />
|
|
€ <?=number_format($upgrade->contract->price_setup, 4, ",", ".")?>
|
|
</td>
|
|
<!--td>
|
|
<a href="<?=self::getUrl("Order", "editProductchange", ["contract_id" => $upgrade->origin->id])?>"><i class="far fa-edit" title="Produktwechsel bearbeiten"></i></a>
|
|
</td-->
|
|
</tr>
|
|
<tr id="upgrade-detail-<?=$upgrade->id?>" style="display:none; background-color:#fff">
|
|
<td colspan="8">
|
|
|
|
<div class="card">
|
|
<div class="card-body">
|
|
<div class="row justify-content-center">
|
|
<div class="col-12">
|
|
|
|
<h4>Verknüpfte bestehende Produkte</h4>
|
|
<table class="table table-sm table-striped">
|
|
<tr>
|
|
<th>Contact ID</th>
|
|
<th>Vertragsinhaber</th>
|
|
<th>Produkt<br />Matchcode</th>
|
|
<th class="align-middle">Rechnungsperiode</th>
|
|
<th>Preis<br />Preis Setup</th>
|
|
<th>Übernahmeaktion</th>
|
|
</tr>
|
|
<?php foreach($upgrade->origin->linksWithCredit as $link): ?>
|
|
<?php
|
|
|
|
if($link->contract_id == $upgrade->origin_contract_id) {
|
|
$linkcontract = $link->origin;
|
|
} else {
|
|
$linkcontract = $link->contract;
|
|
}
|
|
|
|
if($linkcontract->price < 0) continue;
|
|
|
|
if($linkcontract->isCancelled()) continue;
|
|
?>
|
|
<tr>
|
|
<td><?=$linkcontract->id?></td>
|
|
<td><?=$linkcontract->owner->getCompanyOrName()?></td>
|
|
<td>
|
|
<?=$linkcontract->product_name?><br />
|
|
<span class="font-italic"><?=$linkcontract->matchcode?></span>
|
|
</td>
|
|
<td><?=__($linkcontract->billing_period, "billing_period")?></td>
|
|
<td>
|
|
€ <?=number_format($linkcontract->price, 4, ",", ".")?><br />
|
|
€ <?=number_format($linkcontract->price_setup, 4, ",", ".")?>
|
|
</td>
|
|
<td>
|
|
<?php if($linkcontract->cancel_date): ?>
|
|
<strong>Kündigung am <span class="text-danger"><?=date("d.m.Y", $linkcontract->cancel_date)?></span></strong>
|
|
<?php elseif($link->change_action == "cancel"): ?>
|
|
<strong>Kündigung bei Fertigstellung</strong>
|
|
<?php else: ?>
|
|
Wird übernommen
|
|
<?php endif; ?>
|
|
</td>
|
|
</tr>
|
|
<?php endforeach; ?>
|
|
</table>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
</td>
|
|
</tr>
|
|
<tr></tr>
|
|
<?php endforeach; ?>
|
|
</table>
|
|
|
|
<?php include(realpath(dirname(__FILE__)."/../")."/tpl/pagination.php"); ?>
|
|
<?php include(realpath(dirname(__FILE__)."/../")."/tpl/pagination-summary.php"); ?>
|
|
|
|
<?php else: ?>
|
|
<i>Keine Upgrades zu den Suchkriterien gefunden</i>
|
|
<?php endif; ?>
|
|
</div>
|
|
</div>
|
|
|
|
</div>
|
|
</div>
|
|
|
|
<script type="text/javascript">
|
|
$(document).ready(function() {
|
|
$('.datepicker').each(function() {
|
|
$(this).datepicker({
|
|
language: 'de',
|
|
format: "dd.mm.yyyy",
|
|
showWeekDays: true,
|
|
todayBtn: 'linked',
|
|
autoclose: true
|
|
});
|
|
});
|
|
|
|
//sortSelect(document.getElementById("filter_network_id"));
|
|
|
|
var upgrade_id;
|
|
var hash = window.location.hash.substr(1);
|
|
var match = hash.match(/upgrade=(\d+)/);
|
|
if(match && match[1]) {
|
|
upgrade_id = match[1]
|
|
toggleUpgrade(upgrade_id);
|
|
$('html, body').animate( {scrollTop: $('#upgrade-' + upgrade_id).offset().top - 230}, 200);
|
|
}
|
|
});
|
|
|
|
function toggleUpgrade(id) {
|
|
$('#upgrade-detail-' + id).toggle();
|
|
if($('#upgrade-detail-' + id).is(":hidden")) {
|
|
$('#upgrade-' + id).removeClass("bg-lightblue");
|
|
$('#upgrade-' + id).removeClass("text-info");
|
|
history.replaceState(null, null, ' ');
|
|
} else {
|
|
$('#upgrade-' + id).addClass("text-info");
|
|
$('#upgrade-' + id).addClass("bg-lightblue");
|
|
location.hash = "upgrade=" + id;
|
|
return false;
|
|
}
|
|
}
|
|
|
|
|
|
</script>
|
|
|
|
<?php include(realpath(dirname(__FILE__)."/../../$mfLayoutPackage")."/footer.php"); ?>
|