Files
thetool/Layout/default/Order/Upgrades.php
2024-07-30 20:02:57 +02:00

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"); ?>