Merge branch 'fronkdev' into 'master'
Added foldable details in Preorder Index See merge request fronk/thetool!111
This commit is contained in:
@@ -228,6 +228,9 @@
|
||||
|
||||
<table class="table table-striped table-hover">
|
||||
<tr>
|
||||
<?php if($me->is(["Admin", "netowner"])): ?>
|
||||
<th></th>
|
||||
<?php endif; ?>
|
||||
<?php if(!$me->is("preorderfront")): ?><th>Kampagne</th><?php endif; ?>
|
||||
<th>Bestelltyp<br />Bestellcode</th>
|
||||
<th>Status</th>
|
||||
@@ -244,7 +247,12 @@
|
||||
<th></th>
|
||||
</tr>
|
||||
<?php foreach($preorders as $preorder): ?>
|
||||
<tr>
|
||||
<tr class="preorder-list-tr" id="preorder-<?=$preorder->id?>">
|
||||
<?php if($me->is(["Admin", "netowner"])): ?>
|
||||
<td class="bg-lightblue border border-end text-center pointer" onclick="togglePreorder(<?=$preorder->id?>); return false;">
|
||||
<i class="fas fa-fw fa-angle-down"></i>
|
||||
</td>
|
||||
<?php endif; ?>
|
||||
<?php if(!$me->is("preorderfront")): ?><td><?=$preorder->campaign->name?></td><?php endif; ?>
|
||||
<td>
|
||||
<?=__($preorder->type, "preorder")?><br />
|
||||
@@ -294,11 +302,20 @@
|
||||
<?php endif; ?>
|
||||
<td style="text-align: left; letter-spacing: 4px; font-size: 1.1em;">
|
||||
<?php if(!$me->is("preorderfront")): ?>
|
||||
<a href="<?=self::getUrl("Preorder", "edit", ["id" => $preorder->id])?>"><i class="far fa-edit" title="Vorbestellkampagne Bearbeiten"></i></a>
|
||||
<a href="<?=self::getUrl("Preorder", "edit", ["id" => $preorder->id])?>"><i class="far fa-edit" title="Vorbestellung Bearbeiten"></i></a>
|
||||
<a href="<?=self::getUrl("Preorder", "delete", ["id" => $preorder->id, "filter" => $filter])?>" class="text-danger" onclick="if(!confirm('Vorbestellung wirklich löschen?')) return false;" title="Vorbestellung Löschen"><i class="fas fa-trash"></i></a>
|
||||
<?php endif; ?>
|
||||
</td>
|
||||
</tr>
|
||||
<?php if($me->is(["Admin","netowner"])): ?>
|
||||
<tr id="preorder-detail-<?=$preorder->id?>" style="display:none; background-color:#fff">
|
||||
<td colspan="13">
|
||||
<?php include(realpath(dirname(__FILE__))."/include/preorder-detail.php"); ?>
|
||||
</td>
|
||||
</tr>
|
||||
<tr style="display:none;"></tr>
|
||||
<?php endif; ?>
|
||||
|
||||
<?php endforeach; ?>
|
||||
</table>
|
||||
|
||||
@@ -557,5 +574,30 @@
|
||||
<?php if(is_array($filter) && count($filter)): ?>
|
||||
//refreshMap();
|
||||
<?php endif; ?>
|
||||
|
||||
|
||||
function togglePreorder(id) {
|
||||
$('#preorder-detail-' + id).toggle();
|
||||
if($('#preorder-detail-' + id).is(":hidden")) {
|
||||
$('#preorder-' + id).removeClass("bg-lightblue");
|
||||
$('#preorder-' + id).removeClass("text-info");
|
||||
history.replaceState(null, null, ' ');
|
||||
} else {
|
||||
$('#preorder-' + id).addClass("text-info");
|
||||
$('#preorder-' + id).addClass("bg-lightblue");
|
||||
location.hash = "preorder=" + id;
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
// navigation
|
||||
var preorder_id;
|
||||
var hash = window.location.hash.substr(1);
|
||||
var match = hash.match(/preorder=(\d+)/);
|
||||
if(match && match[1]) {
|
||||
preorder_id = match[1]
|
||||
togglePreorder(preorder_id);
|
||||
$('html, body').animate( {scrollTop: $('#preorder-' + preorder_id).offset().top - 230}, 200);
|
||||
}
|
||||
</script>
|
||||
<?php include(realpath(dirname(__FILE__)."/../../$mfLayoutPackage")."/footer.php"); ?>
|
||||
|
||||
332
Layout/default/Preorder/include/preorder-detail.php
Normal file
332
Layout/default/Preorder/include/preorder-detail.php
Normal file
@@ -0,0 +1,332 @@
|
||||
<div class="card">
|
||||
<div class="card-body">
|
||||
<div class="row justify-content-center mt-2">
|
||||
<div class="col-12">
|
||||
|
||||
<ul class="nav nav-tabs order-tab">
|
||||
<li class="nav-item"><a class="nav-link active" href="#preorder-detail-<?=$preorder->id?>-detail" data-toggle="tab" aria-expanded="false">Details</a></li>
|
||||
<li class="nav-item"><a class="nav-link" href="#preorder-detail-<?=$preorder->id?>-address" data-toggle="tab" aria-expanded="false">Adressdetails</a></li>
|
||||
<li class="nav-item"><a class="nav-link" href="#preorder-detail-<?=$preorder->id?>-rimo" data-toggle="tab" aria-expanded="false">RIMO</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="tab-content pt-0">
|
||||
<div id="preorder-detail-<?=$preorder->id?>-detail" class="tab-pane show active">
|
||||
<div class="row justify-content-center">
|
||||
<div class="col-12">
|
||||
|
||||
<div class="card">
|
||||
<div class="card-body">
|
||||
<div class="card-header bg-info text-white pl-2 pr-2 pt-1 pb-1">Details</div>
|
||||
|
||||
<div class="row">
|
||||
<div class="col-8">
|
||||
<h3>Allgemein</h3>
|
||||
<table class="table table-sm table-striped">
|
||||
<tr>
|
||||
<th>ID:</th>
|
||||
<td class="text-monospace"><?=$preorder->id?></td>
|
||||
</tr><tr>
|
||||
<th>Bestellcode:</th>
|
||||
<td class="text-monospace"><?=$preorder->ucode?></td>
|
||||
</tr><th>Kampagne:</th>
|
||||
<td><?=$preorder->campaign->name?></td>
|
||||
</tr><tr>
|
||||
<th>Status:</th>
|
||||
<td class="text-monospace"><?=$preorder->status->code?> - <?=$preorder->status->name?></td>
|
||||
</tr><tr>
|
||||
<th>OAID:</th>
|
||||
<td class="text-monospace text-pink"><?=$preorder->oaid?></td>
|
||||
</tr><tr>
|
||||
<th>Bestelltyp:</th>
|
||||
<td><?=__($preorder->type, "preorder")?></td>
|
||||
</tr><tr>
|
||||
<th>Anschlusstyp:</th>
|
||||
<td><?=__($preorder->connection_type, "preorder")?></td>
|
||||
</tr><tr>
|
||||
<th>Ist Zusatzbestellung:</th>
|
||||
<td><?=($preorder->is_additional_order) ? "Ja" : "Nein"?></td>
|
||||
</tr><tr>
|
||||
<th>Partner:</th>
|
||||
<td><?=$preorder->partner->getCompanyOrName()?></td>
|
||||
</tr><tr>
|
||||
<th>Erstellt:</th>
|
||||
<td class="text-monospace"><?=date("d.m.Y H:i",$preorder->create)?> (<?=$preorder->creator->name?>)</td>
|
||||
</tr><tr>
|
||||
<th>Zuletzt bearbeitet:</th>
|
||||
<td class="text-monospace"><?=date("d.m.Y H:i",$preorder->edit)?> (<?=$preorder->editor->name?>)</td>
|
||||
</tr>
|
||||
|
||||
</table>
|
||||
</div>
|
||||
<div class="col-4">
|
||||
|
||||
<h3>Zustimmungen</h3>
|
||||
<table class="table table-sm table-striped">
|
||||
<tr>
|
||||
<th>Zustimmung AGB:</th>
|
||||
<td><?=($preorder->accept_agb) ? '<i class="fas fa-fw fa-check text-success"></i>' : '<i class="fas fa-fw fa-xmark text-danger"></i>'?></td>
|
||||
</tr><tr>
|
||||
<th>Zustimmung DSGVO:</th>
|
||||
<td><?=($preorder->accept_dsgvo) ? '<i class="fas fa-fw fa-check text-success"></i>' : '<i class="fas fa-fw fa-xmark text-danger"></i>'?></td>
|
||||
</tr><tr>
|
||||
<th>Zustimmung Rücktrittsrecht:</th>
|
||||
<td><?=($preorder->accept_withdrawal) ? '<i class="fas fa-fw fa-check text-success"></i>' : '<i class="fas fa-fw fa-xmark text-danger"></i>'?></td>
|
||||
</tr><tr>
|
||||
<th>Zustimmung Datenweitergabe:</th>
|
||||
<td><?=($preorder->accept_marketing) ? '<i class="fas fa-fw fa-check text-success"></i>' : '<i class="fas fa-fw fa-xmark text-danger"></i>'?></td>
|
||||
</tr><tr>
|
||||
<th>Zustimmung Grabungsarbeiten:</th>
|
||||
<td><?=($preorder->accept_digging) ? '<i class="fas fa-fw fa-check text-success"></i>' : '<i class="fas fa-fw fa-xmark text-danger"></i>'?></td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="row">
|
||||
<div class="col-6">
|
||||
<h3>Bestelldaten</h3>
|
||||
<table class="table table-sm table-striped">
|
||||
<tr>
|
||||
<th>Extref:</th>
|
||||
<td class="text-monospace"><?=htmlentities($preorder->extref)?></td>
|
||||
</tr><tr>
|
||||
<th>Adressinfo:</th>
|
||||
<td><?=nl2br(htmlentities($preorder->address_info))?></td>
|
||||
</tr><tr>
|
||||
<th>Versand an:</th>
|
||||
<td><?=($preorder->address_info == "address") ? "Anschlussadresse" : "Kontaktadresse"?></td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<div class="col-6">
|
||||
<?php if($preorder->ordered_services): ?>
|
||||
<h3>Bestellte Zusatzdienste</h3>
|
||||
<table class="table table-sm table-striped">
|
||||
<tr>
|
||||
<th>Dienst</th>
|
||||
<th>Bestellt</th>
|
||||
<th>Daten</th>
|
||||
</tr>
|
||||
<?php foreach($preorder->ordered_services as $service): ?>
|
||||
<tr>
|
||||
<td><?=$service->service?></td>
|
||||
<td><?=($service->ordered == true || $service->ordered == 1) ? "Ja" : "Nein"?></td>
|
||||
<td class="text-monospace">
|
||||
<?php if($service->data): ?>
|
||||
<?php foreach($service->data as $data): ?>
|
||||
<?=$data->name?>: <?=$data->value?><br />
|
||||
<?php endforeach; ?>
|
||||
<?php endif; ?>
|
||||
</td>
|
||||
</tr>
|
||||
<?php endforeach; ?>
|
||||
</table>
|
||||
<?php endif; ?>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="preorder-detail-<?=$preorder->id?>-address" class="tab-pane">
|
||||
<div class="row justify-content-center">
|
||||
<div class="col-12">
|
||||
<div class="card">
|
||||
<div class="card-body">
|
||||
|
||||
<div class="card-header bg-info text-white pl-2 pr-2 pt-1 pb-1">Addressdetails</div>
|
||||
|
||||
<div class="row">
|
||||
<div class="col-6">
|
||||
|
||||
<h3>Anschlussadresse</h3>
|
||||
<table class="table table-sm table-striped">
|
||||
<tr>
|
||||
<th>ID</th>
|
||||
<td class="text-monospace"><?=$preorder->adb_hausnummer_id?></td>
|
||||
</tr><tr>
|
||||
<th>OAID</th>
|
||||
<td class="text-monospace text-pink"><?=$preorder->adb_hausnummer->oaid?></td>
|
||||
</tr><tr>
|
||||
<th>Status</th>
|
||||
<td class="text-monospace"><?=$preorder->adb_hausnummer->status->code?> - <?=$preorder->adb_hausnummer->status->name?></td>
|
||||
</tr><tr>
|
||||
<th>Extref</th>
|
||||
<td class="text-monospace"><?=$preorder->adb_hausnummer->extref?></td>
|
||||
</tr><tr>
|
||||
<th>Straße/Hausnummer</th>
|
||||
<td><?=$preorder->adb_hausnummer->strasse->name?> <?=$preorder->adb_hausnummer->hausnummer?></td>
|
||||
</tr><tr>
|
||||
<th>PLZ Ort</th>
|
||||
<td><?=$preorder->adb_hausnummer->plz->plz?> <?=$preorder->adb_hausnummer->ortschaft->name?></td>
|
||||
</tr><tr>
|
||||
<th>Gemeinde</th>
|
||||
<td><?=$preorder->adb_hausnummer->strasse->gemeinde->name?></td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<h3>Nutzungseinheit</h3>
|
||||
<table class="table table-sm table-striped">
|
||||
<tr>
|
||||
<th>ID</th>
|
||||
<td class="text-monospace"><?=($preorder->adb_wohneinheit_id) ? $preorder->adb_wohneinheit_id : ""?></td>
|
||||
</tr><tr>
|
||||
<th>Status</th>
|
||||
<td class="text-monospace"><?=$preorder->adb_wohneinheit->status->code?> - <?=$preorder->adb_wohneinheit->status->name?></td>
|
||||
</tr><tr>
|
||||
<th>OAID</th>
|
||||
<td class="text-monospace text-pink"><?=$preorder->adb_wohneinheit->oaid?></td>
|
||||
</tr><tr>
|
||||
<th>Extref</th>
|
||||
<td class="text-monospace"><?=$preorder->adb_wohneinheit->extref?></td>
|
||||
</tr><tr>
|
||||
<th>Block</th>
|
||||
<td><?=$preorder->adb_wohneinheit->block?></td>
|
||||
</tr><tr>
|
||||
<th>Stiege</th>
|
||||
<td><?=$preorder->adb_wohneinheit->stiege?></td>
|
||||
</tr><tr>
|
||||
<th>Stock</th>
|
||||
<td><?=$preorder->adb_wohneinheit->stock?></td>
|
||||
</tr><tr>
|
||||
<th>Tür</th>
|
||||
<td><?=$preorder->adb_wohneinheit->tuer?></td>
|
||||
</tr><tr>
|
||||
<th>Zusatz</th>
|
||||
<td><?=$preorder->adb_wohneinheit->zusatz?></td>
|
||||
</tr><tr>
|
||||
<th>Bezeichner</th>
|
||||
<td><?=$preorder->adb_wohneinheit->bezeichner?></td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<div class="col-6">
|
||||
<h3>Kontaktadresse</h3>
|
||||
<table class="table table-sm table-striped">
|
||||
<tr>
|
||||
<th>Firma</th>
|
||||
<td><?=$preorder->company?></td>
|
||||
</tr><tr>
|
||||
<th>UID</th>
|
||||
<td><?=$preorder->uidy?></td>
|
||||
</tr><tr>
|
||||
<th>Vorname</th>
|
||||
<td><?=$preorder->firstname?></td>
|
||||
</tr><tr>
|
||||
<th>Nachname</th>
|
||||
<td><?=$preorder->lastname?></td>
|
||||
</tr><tr>
|
||||
<th>Straße</th>
|
||||
<td>
|
||||
<?=$preorder->street?> <?=$preorder->housenumber?>
|
||||
<?=($preorder->block) ? "/".$preorder->block : ""?>
|
||||
<?=($preorder->stiege) ? "/".$preorder->stiege : ""?>
|
||||
<?=($preorder->stock) ? "/".$preorder->stock : ""?>
|
||||
<?=($preorder->tuer) ? "/".$preorder->tuer : ""?>
|
||||
</td>
|
||||
</tr><tr>
|
||||
<th>PLZ</th>
|
||||
<td><?=$preorder->zip?></td>
|
||||
</tr><tr>
|
||||
<th>Ort</th>
|
||||
<td><?=$preorder->city?></td>
|
||||
</tr><tr>
|
||||
<th>Telefon</th>
|
||||
<td><?=$preorder->phone?></td>
|
||||
</tr><tr>
|
||||
<th>Email</th>
|
||||
<td><?=$preorder->email?></td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="preorder-detail-<?=$preorder->id?>-rimo" class="tab-pane">
|
||||
<div class="row justify-content-center">
|
||||
<div class="col-12">
|
||||
|
||||
<div class="card">
|
||||
|
||||
<div class="card-body">
|
||||
<div class="card-header bg-info text-white pl-2 pr-2 pt-1 pb-1">RIMO</div>
|
||||
|
||||
<div class="row">
|
||||
<div class="col-6">
|
||||
<h3>Metadaten</h3>
|
||||
<table class="table table-sm table-striped">
|
||||
<tr>
|
||||
<th>Building Name:</th>
|
||||
<td class="text-monospace"><?=$preorder->adb_hausnummer->extref?>
|
||||
</tr><tr>
|
||||
<th>Home External ID:</th>
|
||||
<td class="text-monospace"><?=$preorder->adb_wohneinheit->extref?>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<div class="col-6">
|
||||
<h3>FTU</h3>
|
||||
<table class="table table-sm table-striped">
|
||||
<tr>
|
||||
<th>FTU Name:</th>
|
||||
<td class="text-monospace"><?=$preorder->adb_wohneinheit->ftu_data["name"]?>
|
||||
</tr><tr>
|
||||
<th>FTU External ID:</th>
|
||||
<td class="text-monospace"><?=$preorder->adb_wohneinheit->ftu_data["id"]?>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div class="row">
|
||||
|
||||
<div class="col-6">
|
||||
<h3>Workorder</h3>
|
||||
<table class="table table-sm table-striped">
|
||||
<tr>
|
||||
<th>Name</th>
|
||||
<td class="text-monospace"><?=$preorder->adb_wohneinheit->rimo_workorder->rimo_name?></td>
|
||||
</tr><tr>
|
||||
<th>External ID</th>
|
||||
<td class="text-monospace"><?=$preorder->adb_wohneinheit->rimo_workorder->rimo_id?></td>
|
||||
</tr><tr>
|
||||
<th>Status</th>
|
||||
<td><?=$preorder->adb_wohneinheit->rimo_workorder->rimo_status?></td>
|
||||
</tr><tr>
|
||||
<th>Erstellt</th>
|
||||
<td class="text-monospace"><?=($preorder->adb_wohneinheit->rimo_workorder->id) ? date("d.m.Y H:i:s", $preorder->adb_wohneinheit->rimo_workorder->create) : ""?></td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
@@ -87,8 +87,8 @@
|
||||
<i class="fad fa-fw fa-running"></i>Netzbetrieb <div class="arrow-down"></div>
|
||||
</a>
|
||||
<ul class="submenu">
|
||||
<?php if($me->can("Cpeprovisioning")): ?><li><a href="<?=self::getUrl("Cpeprovisioning")?>"><i class="fad fa-fw fa-hdd text-info"></i> CPE Provisioning</a></li><?php endif; ?>
|
||||
<?php if($me->can("Cpeshipping")): ?><li><a href="<?=self::getUrl("Cpeshipping")?>"><i class="fad fa-fw fa-shipping-fast text-info"></i> CPE Versand</a></li><?php endif; ?>
|
||||
<?php if($me->isAdmin() || $me->can("Cpeprovisioning")): ?><li><a href="<?=self::getUrl("Cpeprovisioning")?>"><i class="fad fa-fw fa-hdd text-info"></i> CPE Provisioning</a></li><?php endif; ?>
|
||||
<?php if($me->isAdmin() || $me->can("Cpeshipping")): ?><li><a href="<?=self::getUrl("Cpeshipping")?>"><i class="fad fa-fw fa-shipping-fast text-info"></i> CPE Versand</a></li><?php endif; ?>
|
||||
</ul>
|
||||
</li>
|
||||
<?php endif; ?>
|
||||
|
||||
@@ -6,9 +6,10 @@ class ADBHausnummer extends mfBaseModel {
|
||||
private $ortschaft;
|
||||
private $strasse;
|
||||
private $plz;
|
||||
private $status;
|
||||
private $freigaben = [];
|
||||
private $wohneinheiten = [];
|
||||
|
||||
|
||||
protected function init() {
|
||||
$this->db = FronkDB::singleton(ADDRESSDB_DBHOST, ADDRESSDB_DBUSER, ADDRESSDB_DBPASS, ADDRESSDB_DBNAME);
|
||||
$this->table = "Hausnummer";
|
||||
@@ -126,7 +127,12 @@ class ADBHausnummer extends mfBaseModel {
|
||||
}
|
||||
return $this->wohneinheiten;
|
||||
}
|
||||
|
||||
|
||||
if($name == "status") {
|
||||
$this->status = new ADBStatus($this->status_id);
|
||||
return $this->status;
|
||||
}
|
||||
|
||||
$classname = ucfirst($name);
|
||||
$idfield = $name."_id";
|
||||
$this->$name = new $classname($this->$idfield);
|
||||
|
||||
9
application/ADBStatus/ADBStatus.php
Normal file
9
application/ADBStatus/ADBStatus.php
Normal file
@@ -0,0 +1,9 @@
|
||||
<?php
|
||||
|
||||
class ADBStatus extends mfBaseModel {
|
||||
|
||||
public function init() {
|
||||
$this->db = FronkDB::singleton(ADDRESSDB_DBHOST, ADDRESSDB_DBUSER, ADDRESSDB_DBPASS, ADDRESSDB_DBNAME);
|
||||
$this->table = "Status";
|
||||
}
|
||||
}
|
||||
136
application/ADBStatus/ADBStatusModel.php
Normal file
136
application/ADBStatus/ADBStatusModel.php
Normal file
@@ -0,0 +1,136 @@
|
||||
<?php
|
||||
|
||||
class StatusModel {
|
||||
public $code;
|
||||
public $name;
|
||||
|
||||
public $create_by;
|
||||
public $edit_by;
|
||||
public $create;
|
||||
public $edit;
|
||||
|
||||
public static function create(Array $data) {
|
||||
$model = new Status();
|
||||
|
||||
foreach($data as $field => $value) {
|
||||
if(property_exists(get_called_class(), $field)) {
|
||||
$model->$field = $value;
|
||||
}
|
||||
}
|
||||
|
||||
$me = mfValuecache::singleton()->get("me");
|
||||
if(!$me) {
|
||||
$me = new User();
|
||||
$me->loadMe();
|
||||
mfValuecache::singleton()->set("me", $me);
|
||||
}
|
||||
|
||||
if($model->create_by === null) {
|
||||
$model->create_by = $me->id;
|
||||
}
|
||||
if($model->edit_by === null) {
|
||||
$model->edit_by = $me->id;
|
||||
}
|
||||
|
||||
return $model;
|
||||
}
|
||||
|
||||
|
||||
public static function getAll() {
|
||||
$items = [];
|
||||
|
||||
$db = FronkDB::singleton();
|
||||
|
||||
$res = $db->select("Status", "*");
|
||||
if($db->num_rows($res)) {
|
||||
while($data = $db->fetch_object($res)) {
|
||||
$items[] = new Status($data);
|
||||
}
|
||||
}
|
||||
return $items;
|
||||
|
||||
}
|
||||
|
||||
public static function getFirst($filter = false) {
|
||||
$db = FronkDB::singleton();
|
||||
|
||||
$where = self::getSqlFilter($filter);
|
||||
$res = $db->select("Status", "*", "$where ORDER BY code, name");
|
||||
if($db->num_rows($res)) {
|
||||
$data = $db->fetch_object($res);
|
||||
$item = new Status($data);
|
||||
if($item->id) {
|
||||
return $item;
|
||||
} else {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
public static function count($filter) {
|
||||
$db = FronkDB::singleton();
|
||||
|
||||
$where = self::getSqlFilter($filter);
|
||||
$sql = "SELECT COUNT(*) as cnt FROM Status
|
||||
WHERE $where
|
||||
";
|
||||
|
||||
mfLoghandler::singleton()->debug($sql);
|
||||
|
||||
$res = $db->query($sql);
|
||||
if($db->num_rows($res)) {
|
||||
$data = $db->fetch_object($res);
|
||||
return $data->cnt;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
public static function search($filter, $limit = false) {
|
||||
$items = [];
|
||||
$db = FronkDB::singleton();
|
||||
|
||||
$where = self::getSqlFilter($filter);
|
||||
|
||||
$sql = "SELECT * FROM Status
|
||||
WHERE $where
|
||||
ORDER BY code, name
|
||||
";
|
||||
|
||||
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)) {
|
||||
$sql .= " LIMIT ".$limit['count'];
|
||||
}
|
||||
}
|
||||
|
||||
mfLoghandler::singleton()->debug($sql);
|
||||
|
||||
$res = $db->query($sql);
|
||||
if($db->num_rows($res)) {
|
||||
while($data = $db->fetch_object($res)) {
|
||||
$items[] = new Status($data);
|
||||
}
|
||||
}
|
||||
return $items;
|
||||
}
|
||||
|
||||
private static function getSqlFilter($filter) {
|
||||
$where = "1=1 ";
|
||||
|
||||
//var_dump($filter);exit;
|
||||
|
||||
if(array_key_exists("code", $filter)) {
|
||||
$code = $filter['code'];
|
||||
if(is_numeric($code)) {
|
||||
$where .= " AND code=$code";
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
//var_dump($filter, $where);exit;
|
||||
return $where;
|
||||
}
|
||||
|
||||
}
|
||||
@@ -3,7 +3,9 @@
|
||||
class ADBWohneinheit extends mfBaseModel {
|
||||
private $hausnummer;
|
||||
private $rimo_workorder;
|
||||
|
||||
private $ftu_data;
|
||||
private $status;
|
||||
|
||||
protected function init() {
|
||||
$this->db = FronkDB::singleton(ADDRESSDB_DBHOST, ADDRESSDB_DBUSER, ADDRESSDB_DBPASS, ADDRESSDB_DBNAME);
|
||||
$this->table = "Wohneinheit";
|
||||
@@ -131,37 +133,31 @@ class ADBWohneinheit extends mfBaseModel {
|
||||
return $code;
|
||||
}
|
||||
|
||||
public function afterLoad() {
|
||||
//$this->hausnummer = new ADBHausnummer($this->hausnummer_id);
|
||||
//$this->loadStatus();
|
||||
//$this->loadProvider();
|
||||
public function getExternalData() {
|
||||
if(!$this->external_data) return [];
|
||||
|
||||
$extdata = json_decode($this->external_data, true);
|
||||
if(is_array($extdata) && count($extdata)) {
|
||||
return $extdata;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
/*
|
||||
public function loadStatus() {
|
||||
if(!$this->id) {
|
||||
|
||||
public function getExternalRimoData() {
|
||||
$extdata = $this->getExternalData();
|
||||
if(!is_array($extdata) || !count($extdata)) {
|
||||
return false;
|
||||
}
|
||||
$status = HausnummerStatus::singleton();
|
||||
$this->status = $status->getObject($this->status_id);
|
||||
}
|
||||
|
||||
public function loadProvider() {
|
||||
if(!$this->id) {
|
||||
return false;
|
||||
}
|
||||
|
||||
$res = $this->db->select("HausnummerProvider", "*", "hausnummer_id=".$this->id);
|
||||
if($this->db->num_rows($res)) {
|
||||
while($data = $this->db->fetch_object($res)) {
|
||||
$provider = new Provider($data->provider_id);
|
||||
$this->providerlist[$provider->id] = $provider->name;
|
||||
$this->providers[] = $provider;
|
||||
//var_dump($extdata);exit;
|
||||
if(array_key_exists("rimo", $extdata) && count($extdata['rimo'])) {
|
||||
$rimo_data = $extdata['rimo'];
|
||||
if(is_array($extdata['rimo']) && count($extdata['rimo'])) {
|
||||
return $rimo_data;
|
||||
}
|
||||
}
|
||||
|
||||
return true;
|
||||
}*/
|
||||
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
public function getProperty($name) {
|
||||
if($this->$name == null) {
|
||||
@@ -175,7 +171,29 @@ class ADBWohneinheit extends mfBaseModel {
|
||||
$this->rimo_workorder = RimoWorkorderModel::getFirst(['adb_wohneinheit_id' => $this->id]);
|
||||
return $this->rimo_workorder;
|
||||
}
|
||||
|
||||
|
||||
if($name == "ftu_data") {
|
||||
$rimo_data = $this->getExternalRimoData();
|
||||
|
||||
if(!is_array($rimo_data) || !count($rimo_data)) {
|
||||
return ['id' => "", 'name' => ""];
|
||||
}
|
||||
|
||||
if(array_key_exists("ftu", $rimo_data)) {
|
||||
$ftu_data = $rimo_data['ftu'];
|
||||
if($ftu_data['id'] || $ftu_data['name']) {
|
||||
$this->ftu_data = $ftu_data;
|
||||
return $this->ftu_data;
|
||||
}
|
||||
}
|
||||
return ['id' => "", 'name' => ""];
|
||||
}
|
||||
|
||||
if($name == "status") {
|
||||
$this->status = new ADBStatus($this->status_id);
|
||||
return $this->status;
|
||||
}
|
||||
|
||||
$classname = ucfirst($name);
|
||||
$idfield = $name."_id";
|
||||
$this->$name = new $classname($this->$idfield);
|
||||
|
||||
@@ -464,6 +464,7 @@ class PreorderApicontroller extends mfBaseApicontroller {
|
||||
$where = "1=1 ";
|
||||
$unit = false;
|
||||
|
||||
// We ignore Stock when matching units
|
||||
$unit_search_count_without_stock = count($unit_search);
|
||||
if(array_key_exists("stock", $unit_search) && $unit_search['stock']) {
|
||||
$unit_search_count_without_stock--;
|
||||
|
||||
@@ -10,6 +10,10 @@ class Preorder extends mfBaseModel {
|
||||
private $building;
|
||||
private $adb_hausnummer;
|
||||
private $adb_wohneinheit;
|
||||
private $services;
|
||||
private $ordered_services;
|
||||
private $creator;
|
||||
private $editor;
|
||||
private $attribute = [];
|
||||
|
||||
|
||||
@@ -312,7 +316,7 @@ class Preorder extends mfBaseModel {
|
||||
return $a;
|
||||
}
|
||||
|
||||
|
||||
|
||||
public function getProperty($name) {
|
||||
if($this->$name == null) {
|
||||
|
||||
@@ -364,8 +368,35 @@ class Preorder extends mfBaseModel {
|
||||
return $this->adb_wohneinheit;
|
||||
}
|
||||
|
||||
if($name == "addon_services") {
|
||||
|
||||
if($name == "services") {
|
||||
if(!$this->addon_services) {
|
||||
return null;
|
||||
}
|
||||
$addon_services = json_decode($this->addon_services);
|
||||
if(json_last_error() === JSON_ERROR_NONE) {
|
||||
$this->services = $addon_services;
|
||||
return $this->services;
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
if($name == "ordered_services") {
|
||||
if(!$this->addon_services) {
|
||||
return null;
|
||||
}
|
||||
$ordered_services = [];
|
||||
$addon_services = json_decode($this->addon_services);
|
||||
if(json_last_error() === JSON_ERROR_NONE) {
|
||||
foreach($addon_services as $s) {
|
||||
if($s->ordered) {
|
||||
$ordered_services[] = $s;
|
||||
}
|
||||
}
|
||||
|
||||
$this->ordered_services = $ordered_services;
|
||||
return $this->ordered_services;
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
if($name == "attribute") {
|
||||
|
||||
@@ -44,7 +44,7 @@ class PreorderstatusModel {
|
||||
public static function getAll() {
|
||||
$items = [];
|
||||
|
||||
$db = FronkDB::singleton();
|
||||
$db = FronkDB::singleton(ADDRESSDB_DBHOST, ADDRESSDB_DBUSER, ADDRESSDB_DBPASS, ADDRESSDB_DBNAME);
|
||||
|
||||
$res = $db->select("Preorderstatus", "*");
|
||||
if($db->num_rows($res)) {
|
||||
@@ -57,7 +57,7 @@ class PreorderstatusModel {
|
||||
}
|
||||
|
||||
public static function getFirst($filter = false) {
|
||||
$db = FronkDB::singleton();
|
||||
$db = FronkDB::singleton(ADDRESSDB_DBHOST, ADDRESSDB_DBUSER, ADDRESSDB_DBPASS, ADDRESSDB_DBNAME);
|
||||
|
||||
$where = self::getSqlFilter($filter);
|
||||
$res = $db->select("Preorderstatus", "*", "$where ORDER BY code, name");
|
||||
@@ -74,7 +74,7 @@ class PreorderstatusModel {
|
||||
}
|
||||
|
||||
public static function count($filter) {
|
||||
$db = FronkDB::singleton();
|
||||
$db = FronkDB::singleton(ADDRESSDB_DBHOST, ADDRESSDB_DBUSER, ADDRESSDB_DBPASS, ADDRESSDB_DBNAME);
|
||||
|
||||
$where = self::getSqlFilter($filter);
|
||||
$sql = "SELECT COUNT(*) as cnt FROM Preorderstatus
|
||||
@@ -93,7 +93,7 @@ class PreorderstatusModel {
|
||||
|
||||
public static function search($filter, $limit = false) {
|
||||
$items = [];
|
||||
$db = FronkDB::singleton();
|
||||
$db = FronkDB::singleton(ADDRESSDB_DBHOST, ADDRESSDB_DBUSER, ADDRESSDB_DBPASS, ADDRESSDB_DBNAME);
|
||||
|
||||
$where = self::getSqlFilter($filter);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user