Files
thetool/Layout/default/Preorder/Form.php
2022-04-27 16:40:47 +02:00

308 lines
12 KiB
PHP

<?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("Building")?>">Vorbestellung</a></li>
<li class="breadcrumb-item active"><?=($campaign->id) ? "bearbeiten" : "Neu" ?></li>
</ol>
</div>
<h4 class="page-title">Vorbestellung</h4>
</div>
</div>
</div>
<!-- end page title -->
<div class="row">
<div class="col-lg-12">
<div class="card">
<div class="card-body">
<h4 class="header-title mb-2"><?=($preorder->id) ? "Vorbestellung bearbeiten" : "Neue Vorbestellung"?></h4>
<form class="form-horizontal" method="post" action="<?=self::getUrl("Preordercampaign", "save")?>">
<div class="card">
<div class="card-body">
<input type="hidden" name="id" value="<?=$preorder->id?>" />
<div class="form-group row">
<label class="col-lg-2 col-form-label" for="network_id">Vorbestellkampagne</label>
<div class="col-lg-10">
<input type="hidden" name="campaign_id" id="campaign_id" value="<?=$campaign->id?>" />
<input type="text" class="form-control" value="<?=$campaign->name?>" readonly="readonly"/>
</div>
</div>
<div class="form-group row">
<label class="col-lg-2 col-form-label" for="network_id">Netzgebiet</label>
<div class="col-lg-10">
<input type="hidden" name="network_id" id="network_id" value="<?=$campaign->network_id?>" />
<input type="text" class="form-control" value="<?=$campaign->network->name?>" readonly="readonly" />
</div>
</div>
<div id="building-search">
<div class="form-group row">
<label class="col-lg-2 col-form-label" for="building_units">Gebäude suchen *</label>
<div class="col-lg-10">
<input type="text" class="form-control" name="building_id_search" id="building_id_search" />
</div>
</div>
<div class="form-group row" id="building-search-results-section">
<label class="col-lg-2 col-form-label" for="building_units">Gebäude auswählen *</label>
<div class="col-lg-10">
<a href="#" class="text-success" onclick="refreshBuildingSearch()"><i class="fas fa-refresh"></i> Aktualisieren</a>
<table class="table table-striped table-hover mb-0" id="building-search-results">
<tr>
<th></th>
<th>Straße</th>
<th>PLZ</th>
<th>Ort</th>
<th>Code</th>
<th>OAN ID</th>
</tr>
</table>
<a href="#" class="text-success" onclick="refreshBuildingSearch()"><i class="fas fa-refresh"></i> Aktualisieren</a>
<p class="mt-2"><a class="btn btn-sm btn-outline-primary" href="<?=self::getUrl("Building", "add", ["network_id" => $campaign->network_id])?>" target="_blank"><i class="fas fa-plus"></i> Neues Gebäude anlegen</a></p>
</div>
</div>
<div class="form-group row" id="building-search-selected">
<label class="col-lg-2 col-form-label" for="">Ausgewähltes Gebäude</label>
<div class="col-lg-10">
<table>
<tr>
<td class="check-mark align-top" style="font-size: 2.5em; width:40px;"><i class="fas fa-question text-warning"></i></td>
<td class="label">Bitte auswählen...</td>
</tr>
</table>
</div>
</div>
</div>
<div id="preorder-form">
<h4>Vorbestellung</h4>
<div class="form-group row">
<label class="col-lg-2 col-form-label" for="building_units">Vorbestelltyp *</label>
<div class="col-lg-10">
<select class="form-control" name="type" id="type">
<option value="interest">Interessensbekundung</option>
<option value="preorder">Vorsorgeanschluss</option>
<option value="order">Vollanschluss</option>
</select>
</div>
</div>
<div class="form-group row">
<label class="col-lg-2 col-form-label" for="building_units">Preis Netto *</label>
<div class="col-lg-10">
<input type="text" class="form-control" name="building_id_search" id="building_id_search" />
</div>
</div>
<h4>Kundendaten</h4>
<div class="form-group row">
<label class="col-lg-2 col-form-label" for="building_units">Vorname *</label>
<div class="col-lg-10">
<input type="text" class="form-control" name="building_id_search" id="building_id_search" />
</div>
</div>
<div>
</div>
</div>
<div class="form-group row">
<label class="col-lg-2"></label>
<div class="col-lg-10">
<button type="submit" class="btn btn-primary">Speichern</button>
</div>
</div>
</form>
</div>
</div>
</div>
</div>
<script type="text/javascript">
$(document).ready(function() {
$('#building-search-results-section').hide();
$('#building-search-selected').hide();
/**********************
* Event handler
**********************/
// show Building Search when selecting Network
$('#network_id').change(function() {
var network_id = $('#network_id').val();
if(network_id) {
$('#building-search').show();
$('#building_id_search').focus();
} else {
$('#building-search').hide();
resetBuildingSearch();
}
});
$('#building_id_search').keyup(function() {
var search = $('#building_id_search').val();
var network_id = $('#network_id').val();
if(!network_id || search.length < 3) {
return;
}
$.post('<?=self::getUrl('Building','api')?>',
{
do: 'findBuildings',
network_id: network_id,
search: search
},
function(success) {
if(success.status == "OK") {
listSearchresults(success.result);
}
},
'json');
});
$('#building_id_search').keydown(function() {
if(event.keyCode == 9 || event.keyCode == 13) {
event.preventDefault();
return false;
}
});
});
function listSearchresults(data) {
resetSearchresults();
var count = data.buildings.length;
var count_total = data.count;
if(!("buildings" in data) || !count) {
$('#building-search-results-section').hide();
return false;
}
$('#building-search-results-section').show();
data.buildings.forEach(function(b) {
var line = '<tr class="result result-' + b.id + ' pointer" onclick="selectBuilding(' + b.id + ')">';
line += '<td><input type="checkbox" readonly="readonly" onclick="selectBuilding(' + b.id + ')" name="building_id" value="' + b.id + '" data-zip="' + b.zip + '" data-city="' + b.city + '" data-street="' + b.street + '" data-code="' + b.code + '" data-oanid="' + b.oan_id + '" data-units="' + b.units + '" /></td>';
line += "<td>" + b.street + "</td>";
line += "<td>" + b.zip + "</td>";
line += "<td>" + b.city + "</td>";
line += "<td>" + b.units + "</td>";
line += "<td>" + b.code + "</td>";
line += "<td>" + b.oan_id + "</td>";
$('#building-search-results').append(line);
});
console.log(count);
console.log(count_total);
if(count < count_total) {
$('#building-search-results').append('<tr class="results-more bg-warning"><td><i class="fas fa-warning"></i></td><td colspan="5">Es wurden ' + (count_total - count) + ' weitere Suchergebnisse gefunden. Bitte verfeinern Sie die Suche!</td></tr>');
} else {
$('#building-search-results .results-more').remove();
}
}
function resetSearchresults() {
$('#building-search-results .result').each(function() {
this.remove();
});
$('#building-search-results .results-more').remove();
}
function selectBuilding(id) {
if($('input[name=building_id][value=' + id + ']').prop('checked')) {
$('input[name=building_id][value=' + id + ']').prop('checked', false);
$('#building-search-selected .label').removeClass("font-weight-bold").text("Bitte auswählen...");
$('#building-search-selected .check-mark i').removeClass().addClass("fas fa-question text-warning");
} else {
// check selected checkbox and uncheck all others
$('input[name=building_id][value=' + id + ']').prop('checked', true);
$('input[name=building_id]').each(function() {
if($(this).val() != id) {
$(this).prop('checked', false);
}
});
// write selected buildings address
var street = $('input[name=building_id][value=' + id + ']').data("street");
var zip = $('input[name=building_id][value=' + id + ']').data("zip");
var city = $('input[name=building_id][value=' + id + ']').data("city");
var code = $('input[name=building_id][value=' + id + ']').data("code");
var oan_id = $('input[name=building_id][value=' + id + ']').data("oanid");
var units = $('input[name=building_id][value=' + id + ']').data("units");
var label = street + "<br />" + zip + " " + city;
label += "<br /><div style='font-weight: normal;'>Wohneinheiten: " + units;
if(code || oan_id) {
if(code) {
label += "<br />Code: " + code;
}
if(oan_id) {
label += "<br />OAN ID: " + oan_id;
}
}
label += "</div>";
$('#building-search-selected .label').addClass("font-weight-bold").html(label);
$('#building-search-selected .check-mark i').removeClass().addClass("fas fa-check text-success");
$('#building-search-selected').show();
showPreorderForm();
}
}
function showPreorderForm() {
}
function showTerminationSearch() {
}
function resetBuildingSearch() {
resetSearchresults();
$('#building-search-selected').hide();
$('#building-search-selected .label').removeClass("font-weight-bold").text("Bitte auswählen...");
$('#building-search-selected .check-mark i').removeClass().addClass("fas fa-question text-warning");
}
function refreshBuildingSearch() {
resetBuildingSearch();
$('#building_id_search').keyup();
}
</script>
<?php include(realpath(dirname(__FILE__)."/../../$mfLayoutPackage")."/footer.php"); ?>