518 lines
33 KiB
PHP
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"); ?>
|