Files
thetool/Layout/default/Preordercampaign/Form.php
2024-11-26 15:10:27 +01:00

518 lines
33 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("Preordercampaign") ?>">Vorbestellkampagnen</a>
</li>
<li class="breadcrumb-item active"><?= ($Action == "add") ? "neu" : "bearbeiten" ?></li>
</ol>
</div>
<h4 class="page-title">Vorbestellkampagne</h4>
</div>
</div>
</div>
<!-- end page title -->
<div class="row">
<div class="col-lg-12">
<div class="card bg-light">
<div class="card-body">
<h4 class="header-title mb-2"><?= ($Action == "add") ? "Neue " : "" ?>
Vorbestellkampagne <?= ($Action == "edit") ? "bearbeiten " : "" ?></h4>
<form class="form-horizontal" method="post"
action="<?= self::getUrl("Preordercampaign", "save") ?>">
<input type="hidden" name="id" value="<?= $campaign->id ?>"/>
<div class="card">
<div class="card-body">
<div class="form-group row">
<label class="col-lg-2 col-form-label" for="network_id">Netzgebiet *</label>
<div class="col-lg-10">
<select class="select2 form-control " name="network_id" id="network_id">
<option></option>
<?php foreach ($networks as $network): ?>
<option value="<?= $network->id ?>" <?= ($campaign->network_id == $network->id) ? "selected='selected'" : "" ?>><?= ($network->name) ?></option>
<?php endforeach; ?>
</select>
</div>
</div>
<div class="form-group row">
<label class="col-lg-2 col-form-label" for="name">Name *</label>
<div class="col-lg-10">
<input type="text" class="form-control" name="name" id="name"
value="<?= $campaign->name ?>"/>
</div>
</div>
<div class="form-group row">
<label class="col-lg-2 col-form-label" for="description">Info</label>
<div class="col-lg-10">
<textarea class="form-control" style="height:120px;"
name="description"><?= $campaign->description ?></textarea>
</div>
</div>
<div class="form-group row">
<label class="col-lg-2 col-form-label" for="area">Gebiet *</label>
<div class="col-lg-10">
<input type="text" class="form-control" name="area" id="area"
value="<?= $campaign->area ?>"/>
</div>
</div>
<div class="form-group row">
<label class="col-lg-2 col-form-label" for="homes_total">Homes gesamt *</label>
<div class="col-lg-10">
<input type="text" class="form-control" name="homes_total" id="homes_total"
value="<?= $campaign->homes_total ?>"/>
</div>
</div>
<div class="form-group row">
<label class="col-lg-2 col-form-label" for="from">Von</label>
<div class="col-lg-10">
<input type="text" class="form-control datepicker" name="from" id="from"
value="<?= ($campaign->from) ? date('d.m.Y', $campaign->from) : "" ?>"/>
</div>
</div>
<div class="form-group row">
<label class="col-lg-2 col-form-label" for="to">Bis</label>
<div class="col-lg-10">
<input type="text" class="form-control datepicker" name="to" id="to"
value="<?= ($campaign->to) ? date('d.m.Y', $campaign->to) : "" ?>"/>
</div>
</div>
<div class="form-group row">
<label class="col-lg-2 col-form-label" for="product_type">Verfügbare Produkte
*</label>
<div class="col-lg-10">
<select class="form-control" name="product_type" id="product_type"
data-placeholder="Bitte auswählen ...">
<option value="all" <?= ($campaign->product_type == "all") ? "selected='selected'" : "" ?>>
Alle Produkte im Netzgebiet
</option>
<option value="no_setup" <?= ($campaign->product_type == "no_setup") ? "selected='selected'" : "" ?>>
Alle Produkte im Netzgebiet, ohne Herstellungsprodukt
</option>
<option value="setup_only" <?= ($campaign->product_type == "setup_only") ? "selected='selected'" : "" ?>>
Nur Anschlussbestellung, keine Produkte
</option>
</select>
</div>
</div>
<div class="form-group row">
<label class="col-lg-2 col-form-label" for="types">Erlaubte Vorbestellungstypen
*</label>
<div class="col-lg-10">
<select class="select2 form-control select2-multiple" name="types[]" id="types"
multiple="multiple" data-placeholder="Bitte auswählen ...">
<option value="interest" <?= (is_array($campaign->types) && array_key_exists("interest", $campaign->types)) ? "selected='selected'" : "" ?>><?= __("interest", "preorder") ?></option>
<option value="provision" <?= (is_array($campaign->types) && array_key_exists("provision", $campaign->types)) ? "selected='selected'" : "" ?>><?= __("provision", "preorder") ?></option>
<option value="order" <?= (is_array($campaign->types) && array_key_exists("order", $campaign->types)) ? "selected='selected'" : "" ?>><?= __("order", "preorder") ?></option>
<option value="reorder" <?= (is_array($campaign->types) && array_key_exists("reorder", $campaign->types)) ? "selected='selected'" : "" ?>><?= __("reorder", "preorder") ?></option>
<option value="legacytransfer" <?= (is_array($campaign->types) && array_key_exists("legacytransfer", $campaign->types)) ? "selected='selected'" : "" ?>><?= __("legacytransfer", "preorder") ?></option>
</select>
</div>
</div>
<div class="form-group row">
<label class="col-lg-2 col-form-label" for="fulfillment">Auftragsabwicklung bei
Projektstart *</label>
<div class="col-lg-10">
<select class="form-control" name="fulfillment" id="fulfillment"
data-placeholder="Bitte auswählen ...">
<option value="thetool" <?= ($campaign->fulfillment == "thetool") ? "selected='selected'" : "" ?>>
thetool
</option>
<option value="rimo" <?= ($campaign->fulfillment == "rimo") ? "selected='selected'" : "" ?>>
RIMO
</option>
<option value="thirdparty" <?= ($campaign->fulfillment == "thirdparty") ? "selected='selected'" : "" ?>>
Drittsystem
</option>
</select>
</div>
</div>
<div class="form-group row">
<label class="col-lg-2 col-form-label" for="oaid_origin">OAID Herkunft *</label>
<div class="col-lg-10">
<select class="form-control" name="oaid_origin" id="oaid_origin"
data-placeholder="Bitte auswählen ...">
<option value="thetool" <?= ($campaign->oaid_origin == "thetool") ? "selected='selected'" : "" ?>>
thetool
</option>
<option value="ofaa" <?= ($campaign->oaid_origin == "ofaa") ? "selected='selected'" : "" ?>>
OFAA
</option>
</select>
</div>
</div>
</div>
</div>
<div class="card">
<div class="card-body">
<div class="form-group row">
<label class="col-lg-2 col-form-label" for="adb_netzgebiet_ids">Beschränkt auf
Salescluster (GWR)</label>
<div class="col-lg-10">
<select class="select2 form-control select2-multiple"
name="adb_netzgebiet_ids[]" id="adb_netzgebiet_ids" multiple="multiple"
data-placeholder="Salescluster ...">
<?php foreach (ADBNetzgebietModel::getAll() as $salescluster): ?>
<option value="<?= $salescluster->id ?>" <?= (is_array($campaign->salesclusters) && array_key_exists($salescluster->id, $campaign->salesclusters)) ? "selected='selected'" : "" ?>><?= $salescluster->name ?></option>
<?php endforeach; ?>
</select>
</div>
</div>
<div class="form-group row">
<label class="col-lg-2 col-form-label" for="banned_rimo_fcp">Für Bestellung
gesperrte FCPs</label>
<div class="col-lg-10">
<select class="select2 form-control select2-multiple bg-danger"
name="banned_rimo_fcp[]" id="banned_rimo_fcp" multiple="multiple"
data-placeholder="FCPs ...">
<?php foreach ($campaign->all_fcp_names as $fcp_name): ?>
<option value="<?= $fcp_name ?>" <?= (is_array($campaign->banned_fcps) && in_array($fcp_name, $campaign->banned_fcps)) ? "selected='selected'" : "" ?>><?= $fcp_name ?></option>
<?php endforeach; ?>
</select>
</div>
</div>
<div class="form-group row">
<label class="col-lg-2 col-form-label" for="adb_netzgebiet_ids">Erforderliche
Zusatzfelder:</label>
<div class="col-lg-10">
<select class="select2 form-control select2-multiple" name="required_fields[]"
id="required_fields" multiple="multiple" data-placeholder="Felder ...">
<option value="contact_type" <?= (is_array($campaign->required_fields) && in_array("contact_type", $campaign->required_fields)) ? "selected='selected'" : "" ?>>
Kontakttyp (Besitzer/Bewohner)
</option>
</select>
<small>Diese Felder müssen beim Bestellen angegeben werden</small>
</div>
</div>
<div class="form-group row">
<label class="col-lg-2 col-form-label" for="district_is_city">Ortsteil ist
Ort:</label>
<div class="col-lg-10">
<select class="form-control" name="district_is_city" id="district_is_city">
<option value="0" <?= (!$campaign->district_is_city) ? "selected='selected'" : "" ?>>
Nein
</option>
<option value="1" <?= ($campaign->district_is_city) ? "selected='selected'" : "" ?>>
Ja
</option>
</select>
<small>Statt Ort muss Ortsteil/Bezirk angegeben werden</small>
</div>
</div>
<div class="form-group row">
<label class="col-lg-2 col-form-label" for="hausnummer_add_zusatz">Adresszusatz an
Hausnummer anhängen:</label>
<div class="col-lg-10">
<select class="form-control" name="hausnummer_add_zusatz"
id="hausnummer_add_zusatz">
<option value="0" <?= (!$campaign->hausnummer_add_zusatz) ? "selected='selected'" : "" ?>>
Nein
</option>
<option value="1" <?= ($campaign->hausnummer_add_zusatz) ? "selected='selected'" : "" ?>>
Ja
</option>
</select>
</div>
</div>
<div class="form-group row">
<label class="col-lg-2 col-form-label" for="exist_is_error">Erlaubte Vorbestellungen
pro Wohneinheit (API):</label>
<div class="col-lg-10">
<select class="form-control" name="exist_is_error" id="exist_is_error">
<option value="0" <?= (!$campaign->exist_is_error) ? "selected='selected'" : "" ?>>
Mehr als eine
</option>
<option value="1" <?= ($campaign->exist_is_error) ? "selected='selected'" : "" ?>>
Maximal eine
</option>
</select>
<small>Weiterer Bestellversuch liefert Fehler zurück</small>
</div>
</div>
<hr/>
<div class="form-group row">
<label class="col-lg-2 col-form-label" for="cifurl">CIF Url</label>
<div class="col-lg-10">
<input type="text" class="form-control" name="cifurl" id="cifurl"
value="<?= $campaign->cifurl ?>"/>
<small>
Customer Installation Feedback (für QR-Code bei Status 145).<br/>
Templatevariable <code>{{CIFTOKEN}}</code> wird mit echtem Cif Token ersetzt<br/>
Beispiel: <code>https://pro.ichwillglasfaser.at/ClientSubmit/finishedInstallationWork?c={{CIFTOKEN}}</code>
</small>
</div>
</div>
<div class="form-group row">
<label class="col-lg-2 col-form-label"
for="cifcableurl">Kabelnachbestell-Url</label>
<div class="col-lg-10">
<input type="text" class="form-control" name="cifcableurl" id="cifcableurl"
value="<?= $campaign->cifcableurl ?>"/>
<small>Für Begleitschreiben - Status 145</small>
</div>
</div>
</div>
</div>
<div class="card bg-light">
<div class="card-body">
<h4>Netzbetreiber</h4>
<div class="card">
<div class="card-body">
<h4>Aktivnetzbetreiber</h4>
<?php foreach ($campaign->active_operators as $aop): ?>
<div class="form-group row">
<label class="col-lg-2 col-form-label"
for="active_operators_<?= $aop->id ?>"></label>
<div class="col-lg-4">
<select class="form-control"
name="active_operators[<?= $aop->id ?>]"
id="active_operators_<?= $aop->id ?>"
data-placeholder="Netzbetreiber wählen ...">
<option></option>
<?php foreach (AddressModel::search(['addresstype' => ["netowner"]]) as $operator): ?>
<option value="<?= $operator->id ?>" <?= ($operator->id == $aop->operator_id) ? "selected='selected'" : "" ?>><?= $operator->getCompanyOrName() ?></option>
<?php endforeach; ?>
</select>
</div>
<label class="col-lg-1 col-form-label text-right" for="active_isps">ISPs:</label>
<div class="col-lg-4">
<select class="select2 form-control select2-multiple active_isps"
name="active_isps[<?= $aop->operator_id ?>][]"
id="active_isps_<?= $aop->id ?>" multiple="multiple"
data-placeholder="ISPs wählen ...">
<option></option>
<?php foreach (AddressModel::search(['addresstype' => ["salespartner"]]) as $isp): ?>
<option value="<?= $isp->id ?>" <?= (array_key_exists($isp->id, $aop->isps)) ? "selected='selected'" : "" ?>><?= $isp->getCompanyOrName() ?></option>
<?php endforeach; ?>
</select>
</div>
</div>
<?php endforeach; ?>
<hr/>
<div class="form-group row">
<label class="col-lg-2 col-form-label text-right"
for="active_operators">Neu</label>
<div class="col-lg-4">
<select class="form-control" name="active_operators[new]"
id="active_operators"
data-placeholder="Netzbetreiber wählen ...">
<option></option>
<?php foreach (AddressModel::search(['addresstype' => ["netowner"]]) as $operator): ?>
<option value="<?= $operator->id ?>"><?= $operator->getCompanyOrName() ?></option>
<?php endforeach; ?>
</select>
</div>
<label class="col-lg-1 col-form-label text-right"
for="active_isps">ISPs:</label>
<div class="col-lg-4">
<select class="select2 form-control select2-multiple active_isps"
name="active_isps[new]" id="active_isps" multiple="multiple"
data-placeholder="ISPs wählen ...">
<option></option>
<?php foreach (AddressModel::search(['addresstype' => ["salespartner"]]) as $isp): ?>
<option value="<?= $isp->id ?>"><?= $isp->getCompanyOrName() ?></option>
<?php endforeach; ?>
</select>
</div>
</div>
</div>
</div>
<div class="card">
<div class="card-body">
<div class="form-group row">
<label class="col-lg-2 col-form-label" for="apiusers">Passive Netzbetreiber</label>
<div class="col-lg-10">
<select class="form-control" name="passive_operators[]"
id="passive_operators" multiple="multiple"
data-placeholder="Netzbetreiber wählen ...">
<?php foreach (AddressModel::search(['addresstype' => ["netowner", "salespartner"]]) as $operator): ?>
<option value="<?= $operator->id ?>" <?= (is_array($campaign->passive_operators) && array_key_exists($operator->id, $campaign->passive_operators)) ? "selected='selected'" : "" ?>><?= $operator->getCompanyOrName() ?></option>
<?php endforeach; ?>
</select>
</div>
</div>
</div>
</div>
</div>
</div>
<h4>Emailbenachrichtigungen</h4>
<div class="card">
<div class="card-body">
<div class="form-group row">
<label class="col-lg-2 col-form-label" for="from_email_name">Absender Name</label>
<div class="col-lg-10">
<input type="text" class="form-control" name="from_email_name" id="from_email_name" value="<?= $campaign->from_email_name ?>"/>
</div>
</div>
<div class="form-group row">
<label class="col-lg-2 col-form-label" for="from_email">Absender Emailadresse</label>
<div class="col-lg-10">
<input type="text" class="form-control" name="from_email" id="from_email" value="<?= $campaign->from_email ?>"/>
</div>
</div>
</div>
</div>
<h4>API-User</h4>
<div class="card">
<div class="card-body">
<div class="form-group row">
<label class="col-lg-2 col-form-label" for="apiusers">Erlaubte
User</label>
<div class="col-lg-10">
<select class="select2 form-control select2-multiple"
name="apiusers[]" id="apiusers" multiple="multiple"
data-placeholder="Benutzer auswählen ...">
<?php foreach (UserModel::search(['apikey' => true]) as $user): ?>
<option value="<?= $user->id ?>" <?= (is_array($campaign->apiusers) && array_key_exists($user->id, $campaign->apiusers)) ? "selected='selected'" : "" ?>><?= $user->username ?>
(<?= $user->name ?>)
</option>
<?php endforeach; ?>
</select>
<small>Benutzer mit API-Key</small>
</div>
</div>
<div class="form-group row">
<label class="col-lg-2 col-form-label" for="corsorigins">CORS Origin
Hostnamen</label>
<div class="col-lg-10">
<textarea class="form-control"
name="corsorigins"><?= ($campaign->corsorigins) ? implode("\n", $campaign->corsorigins) : "" ?></textarea>
<small>Hostname der Website, mit oder ohne Protokoll
(<em>https://</em>); *. als Wildcard erlaubt
(<em>*.domain.com</em>); ein Eintrag pro Zeile</small>
</div>
</div>
</div>
</div>
<div class="card">
<div class="card-body">
<div class="form-group row">
<label class="col-lg-2 col-form-label" for="note">Interne Notiz</label>
<div class="col-lg-10">
<textarea class="form-control" style="height:120px;" name="note"
id="note"><?= $campaign->note ?></textarea>
</div>
</div>
</div>
</div>
<div class="form-group row">
<label class="col-lg-2"></label>
<div class="col-lg-10">
<button type="submit" name="return" value="" class="btn btn-primary">Speichern</button>
<button type="submit" name="return" value="index" class="btn btn-primary ml-1">Speichern und zur Übersicht</button>
</div>
</div>
</div>
</form>
</div>
</div>
</div>
</div>
<script type="text/javascript">
$('.datepicker').datepicker({
language: 'de',
format: "dd.mm.yyyy",
showWeekDays: true,
todayBtn: 'linked',
autoclose: true
});
$("#types").select2({
allowClear: true,
placeholder: "",
closeOnSelect: false
});
$("#adb_netzgebiet_ids").select2({
allowClear: true,
placeholder: "",
closeOnSelect: false
});
/*
$("#active_operators").select2({
allowClear: true,
placeholder: "",
closeOnSelect: false
});
*/
$("#passive_operators").select2({
allowClear: true,
placeholder: "",
closeOnSelect: false
});
$(".active_isps").select2({
allowClear: true,
placeholder: "",
closeOnSelect: false
});
$("#apiusers").select2({
allowClear: true,
placeholder: "",
closeOnSelect: false
});
$("#required_fields").select2({
allowClear: true,
placeholder: "",
closeOnSelect: false
});
$("#banned_rimo_fcp").select2({
allowClear: true,
placeholder: "",
closeOnSelect: false,
background: "bg-danger"
});
</script>
<?php include(realpath(dirname(__FILE__) . "/../../$mfLayoutPackage") . "/footer.php"); ?>