Merge branch 'fronkdev' into 'master'
address-fibu / rml preorderlogistics printtemplate See merge request fronk/thetool!143
This commit is contained in:
@@ -168,7 +168,6 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<h4>Verrechnungsdaten</h4>
|
||||
<div class="card">
|
||||
@@ -233,6 +232,32 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<h4>FIBU</h4>
|
||||
<div class="card">
|
||||
<div class="card-body">
|
||||
|
||||
<div class="form-group row">
|
||||
<label class="col-lg-2">Primäres Verrechnungskonto</label>
|
||||
<div class="col-lg-10">
|
||||
<label><input type="checkbox" name="fibu_primary_account" id="fibu_primary_account" value="1" <?=($address->fibu_primary_account) ? "checked='checked'" : ""?> /> Ist primäres Verrechnungskonto</label>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group row">
|
||||
<label class="col-lg-2 col-form-label" for="fibu_account_number">FIBU Verrechnungsnummer</label>
|
||||
<div class="col-lg-10">
|
||||
<input type="text" class="form-control" name="fibu_account_number" id="fibu_account_number" value="<?=$address->fibu_account_number?>" />
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group row">
|
||||
<label class="col-lg-2 col-form-label" for="fibu_supplier_number">FIBU Lieferanten Nummer</label>
|
||||
<div class="col-lg-10">
|
||||
<input type="text" class="form-control" name="fibu_supplier_number" id="fibu_supplier_number" value="<?=$address->fibu_supplier_number?>" />
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<h4>Zusatzdaten</h4>
|
||||
<div class="card">
|
||||
|
||||
@@ -33,6 +33,18 @@
|
||||
<div class="row">
|
||||
<div class="col-lg-12">
|
||||
|
||||
<?php if($me->can("Fibu")): ?>
|
||||
<div class="card">
|
||||
<div class="card-body">
|
||||
<div class="row">
|
||||
<div class="col">
|
||||
<a href="https://thetool.xinon.at/xfarm/" class="btn btn-primary" target="_blank">AR-Merge / Fibu Konten Import</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<?php endif; ?>
|
||||
|
||||
<div class="card">
|
||||
<div class="card-body mb-3">
|
||||
<h4 class="header-title mb-3">Filter</h4>
|
||||
@@ -65,63 +77,69 @@
|
||||
|
||||
<div class="col-1">
|
||||
<label class="form-label" for="filter_customer_number">Kundennummer</label>
|
||||
<input type="text" class="form-control" name="filter[customer_number]" id="filter_customer_number" value="<?=$filter['customer_number']?>" />
|
||||
<input type="text" class="form-control" name="filter[customer_number]" id="filter_customer_number" value="<?=(array_key_exists('customer_number', $filter)) ? $filter['customer_number'] : ""?>" />
|
||||
</div>
|
||||
|
||||
<div class="col-1">
|
||||
<label class="form-label" for="filter_spin">Service PIN</label>
|
||||
<input type="text" class="form-control" name="filter[spin]" id="filter_spin" value="<?=$filter['spin']?>" />
|
||||
<input type="text" class="form-control" name="filter[spin]" id="filter_spin" value="<?=(array_key_exists('spin', $filter)) ? $filter['spin'] : ""?>" />
|
||||
</div>
|
||||
|
||||
<div class="col-1">
|
||||
<label class="form-label" for="filter_fibu_account_number">FIBU Konto</label>
|
||||
<input type="text" class="form-control" name="filter[fibu_account_number]" id="filter_fibu_account_number" value="<?=array_key_exists('fibu_account_number', $filter) ? $filter['fibu_account_number'] : ""?>" />
|
||||
</div>
|
||||
|
||||
<div class="col-2">
|
||||
<label class="form-label" for="filter_company">Firma</label>
|
||||
<input type="text" class="form-control" name="filter[company]" id="filter_company" value="<?=$filter['company']?>" />
|
||||
<input type="text" class="form-control" name="filter[company]" id="filter_company" value="<?=array_key_exists('company', $filter) ? $filter['company'] : ""?>" />
|
||||
</div>
|
||||
|
||||
<div class="col-1">
|
||||
<label class="form-label" for="filter_firstname">Vorname</label>
|
||||
<input type="text" class="form-control" name="filter[firstname]" id="filter_firstname" value="<?=$filter['firstname']?>" />
|
||||
<input type="text" class="form-control" name="filter[firstname]" id="filter_firstname" value="<?=array_key_exists('firstname', $filter) ? $filter['firstname'] : ""?>" />
|
||||
</div>
|
||||
|
||||
<div class="col-1">
|
||||
<label class="form-label" for="filter_lastname">Nachname</label>
|
||||
<input type="text" class="form-control" name="filter[lastname]" id="filter_lastname" value="<?=$filter['lastname']?>" />
|
||||
<input type="text" class="form-control" name="filter[lastname]" id="filter_lastname" value="<?=array_key_exists('lastname', $filter) ? $filter['lastname'] : ""?>" />
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div class="row mt-2">
|
||||
<div class="col-2">
|
||||
<label class="form-label" for="filter_street">Straße</label>
|
||||
<input type="text" class="form-control" name="filter[street]" id="filter_street" value="<?=$filter['street']?>" />
|
||||
<input type="text" class="form-control" name="filter[street]" id="filter_street" value="<?=array_key_exists('street', $filter) ? $filter['street'] : ""?>" />
|
||||
</div>
|
||||
|
||||
<div class="col-1">
|
||||
<label class="form-label" for="filter_zip">PLZ</label>
|
||||
<input type="text" class="form-control" name="filter[zip]" id="filter_zip" value="<?=$filter['zip']?>" />
|
||||
<input type="text" class="form-control" name="filter[zip]" id="filter_zip" value="<?=array_key_exists('zip', $filter) ? $filter['zip'] : ""?>" />
|
||||
</div>
|
||||
|
||||
<div class="col-1">
|
||||
<label class="form-label" for="filter_city">Ort</label>
|
||||
<input type="text" class="form-control" name="filter[city]" id="filter_city" value="<?=$filter['city']?>" />
|
||||
<input type="text" class="form-control" name="filter[city]" id="filter_city" value="<?=array_key_exists('city', $filter) ? $filter['city'] : ""?>" />
|
||||
</div>
|
||||
|
||||
|
||||
<div class="col-1">
|
||||
<label class="form-label" for="filter_country">Land</label>
|
||||
<input type="text" class="form-control" name="filter[country]" id="filter_country" value="<?=$filter['country']?>" />
|
||||
<input type="text" class="form-control" name="filter[country]" id="filter_country" value="<?=array_key_exists('country', $filter) ? $filter['country'] : ""?>" />
|
||||
</div>
|
||||
|
||||
<div class="col-1">
|
||||
<label class="form-label" for="filter_pfm">Telefon/Fax/Mobil</label>
|
||||
<input type="text" class="form-control" name="filter[pfm]" id="filter_pfm" value="<?=$filter['pfm']?>" />
|
||||
<input type="text" class="form-control" name="filter[pfm]" id="filter_pfm" value="<?=array_key_exists('pfm', $filter) ? $filter['pfm'] : ""?>" />
|
||||
</div>
|
||||
|
||||
<div class="col-1">
|
||||
<label class="form-label" for="filter_email">Email</label>
|
||||
<input type="text" class="form-control" name="filter[email]" id="filter_email" value="<?=$filter['email']?>" />
|
||||
<input type="text" class="form-control" name="filter[email]" id="filter_email" value="<?=array_key_exists('email', $filter) ? $filter['email'] : ""?>" />
|
||||
</div>
|
||||
|
||||
<div class="col-1">
|
||||
<label class="form-label" for="filter_note">Notiz</label>
|
||||
<input type="text" class="form-control" name="filter[note]" id="filter_note" value="<?=$filter['note']?>" />
|
||||
<input type="text" class="form-control" name="filter[note]" id="filter_note" value="<?=array_key_exists('note', $filter) ? $filter['note'] : ""?>" />
|
||||
</div>
|
||||
|
||||
|
||||
@@ -159,6 +177,7 @@
|
||||
<tr>
|
||||
<th>Typ</th>
|
||||
<th>Kundennummer</th>
|
||||
<th>FIBU Verrechnungskonto</th>
|
||||
<th>Firma</th>
|
||||
<th>Name</th>
|
||||
<th>Adresse</th>
|
||||
@@ -168,7 +187,7 @@
|
||||
</tr>
|
||||
<?php foreach($addresses as $address): ?>
|
||||
<tr>
|
||||
<?php if(is_array($address->types)):?>
|
||||
<?php if(is_array($address->types) && count($address->types)):?>
|
||||
<?php
|
||||
$types = array_keys($address->types);
|
||||
$l7d_types = [];
|
||||
@@ -179,6 +198,8 @@
|
||||
<td title="<?=implode(", ", $l7d_types)?>">
|
||||
<?=$l7d_types[0]?><?=(count($types) > 1) ? ", ..." : ""?>
|
||||
</td>
|
||||
<?php else: ?>
|
||||
<td></td>
|
||||
<?php endif; ?>
|
||||
<td>
|
||||
<a href="<?=self::getUrl("Address", "view", ["id" => $address->id, 'filter' => $filter, 's' => $pagination['start']])?>">
|
||||
@@ -186,6 +207,7 @@
|
||||
<?=($address->spin) ? "<br /><span class='text-pink'>".$address->spin."</span>" : ""?>
|
||||
</a>
|
||||
</td>
|
||||
<td><?=$address->fibu_account_number?><?=($address->fibu_primary_account) ? " <i class='fas fa-check text-success' title='Primäres Verrechnungskonto'></i>" : ""?></td>
|
||||
<td><a href="<?=self::getUrl("Address", "view", ["id" => $address->id, 'filter' => $filter, 's' => $pagination['start']])?>"><?=nl2br($address->company)?></a></td>
|
||||
<td><a href="<?=self::getUrl("Address", "view", ["id" => $address->id, 'filter' => $filter, 's' => $pagination['start']])?>"><?=$address->getFullName()?></a></td>
|
||||
<td>
|
||||
|
||||
@@ -116,6 +116,18 @@
|
||||
</tr><tr>
|
||||
<th>BIC</th>
|
||||
<td><?=$address->bank_account_bic?></td>
|
||||
</tr><tr>
|
||||
<td colspan="2"><h4>FIBU</h4></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>Ist primäres Verrechnungskonto</th>
|
||||
<td><?=($address->fibu_primary_account) ? "<i class='fas fa-check text-success' title='Primäres Verrechnungskonto'></i>" : "<i class='fas fa-xmark text-danger'></i>"?></td>
|
||||
</tr><tr>
|
||||
<th>FIBU Verrechnungskonto</th>
|
||||
<td><?=$address->fibu_account_number?></td>
|
||||
</tr><tr>
|
||||
<th>FIBU Lieferanten Konto</th>
|
||||
<td><?=$address->fibu_supplier_number?></td>
|
||||
</tr><tr>
|
||||
<td colspan="2"><h4>Zusatzdaten</h4></td>
|
||||
</tr><tr>
|
||||
@@ -123,7 +135,7 @@
|
||||
<td><?=(is_array($address->attributes) && array_key_exists("rtrcode", $address->attributes)) ? $address->attributes['rtrcode']->value : ""?></td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
|
||||
<h4>Verknüpfungen</h4>
|
||||
<?php if(is_array($address->links) && count($address->links)): ?>
|
||||
<div class="card border-top-warning">
|
||||
|
||||
@@ -46,8 +46,7 @@
|
||||
<label class="form-label" for="filter_sent">Status</label>
|
||||
<select name="filter[sent]" id="filter_sent" class="form-control">
|
||||
<option value="no">Noch nicht versendet</option>
|
||||
<option value="yes" <?=(is_array($filter) && array_key_exists("sent", $filter) && intval($filter['sent']) === 1) ? "selected='selected'" : ""?>>Versendet</option>
|
||||
<option value="all" <?=(is_array($filter) && array_key_exists("sent", $filter) && $filter['sent'] == "all") ? "selected='selected'" : ""?>>Alle</option>
|
||||
<option value="yes" <?=(is_array($filter) && array_key_exists("sent", $filter) && $filter['sent'] == "yes") ? "selected='selected'" : ""?>>Versendet</option>
|
||||
</select>
|
||||
</div>
|
||||
|
||||
|
||||
@@ -1,82 +0,0 @@
|
||||
<?php
|
||||
|
||||
$this->setReturnValue([
|
||||
'filename' => "ichwillglasfaser-versand-".$preorder->ucode.".pdf"
|
||||
]);
|
||||
?>
|
||||
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<title>Ichwillglasfaser Hausanschlussversand</title>
|
||||
<meta charset="utf-8" />
|
||||
<link href="<?=self::getResourcePath()?>fontawesome/css/all.min.css" rel="stylesheet" type="text/css" />
|
||||
<!--link href="<?=self::getResourcePath()?>assets/css/bootstrap.min.css" rel="stylesheet" type="text/css" /-->
|
||||
<link href="<?=self::getResourcePath()?>assets/css/print.css" rel="stylesheet" type="text/css" />
|
||||
|
||||
<style>
|
||||
body {
|
||||
margin-top: 0;
|
||||
padding-top: 20pt;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<div style="border-top: 1pt solid #000">
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
<div style="height:24pt;"></div>
|
||||
|
||||
<h3>Wichtige Information</h3>
|
||||
|
||||
<div style="height:24pt;"></div>
|
||||
|
||||
<div>
|
||||
<?php if($preorder->company): ?>
|
||||
<?=nl2br($preorder->company)?><br />
|
||||
<?php endif; ?>
|
||||
<?php if($preorder->lastname): ?>
|
||||
<?=$preorder->firstname?> <?=$preorder->lastname?><br />
|
||||
<?php endif; ?>
|
||||
<?=$preorder->street?><br />
|
||||
<?=$preorder->zip?> <?=$preorder->city?>
|
||||
</div>
|
||||
|
||||
<div style="height:24pt;"></div>
|
||||
|
||||
<div>
|
||||
<p>Sehr geehrte Damen und Herren,</p>
|
||||
<p>Vielen Dank, dass Sie sich für einen Glasfaseranschluss entschieden haben.</p>
|
||||
<p>In diesem Paket finden Sie das Lehrrohr, welches auf Ihrem Grundstück eingegrageb
|
||||
werden muss.</p>
|
||||
<p>Sobald die Lehrrohrinstallation Ihrerseits erledigt wurde, teilen Sie uns dies bitte mit.
|
||||
Scannen Sie dazu einfach den folgenden QR-Code auf Ihrem Smartphone ein und bestätigen Sie
|
||||
uns die Fertigstellung der Installation:</p>
|
||||
</div>
|
||||
|
||||
<div style="height:1.5pt;"></div>
|
||||
|
||||
<div>
|
||||
<img src="<?=$qr_url?>" />
|
||||
</div>
|
||||
|
||||
<div style="height:1.5pt;"></div>
|
||||
|
||||
<div>
|
||||
<p><strong>Sollten Sie noch Fragen haben wenden Sie sich bitte an Ihrem Internetprovider.</strong></p>
|
||||
</div>
|
||||
|
||||
<div style="height:32pt;"></div>
|
||||
|
||||
<div>
|
||||
<p>Mit besten Grüßen,</p>
|
||||
|
||||
<p><?=$preorder->campaign->network->owner->getCompanyOrName()?></p>
|
||||
</div>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
108
Layout/default/Preorderlogistics/Print.template.php
Normal file
108
Layout/default/Preorderlogistics/Print.template.php
Normal file
@@ -0,0 +1,108 @@
|
||||
<?php
|
||||
|
||||
$this->setReturnValue([
|
||||
'filename' => "ichwillglasfaser-versand-".$preorder->ucode.".pdf"
|
||||
]);
|
||||
?>
|
||||
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<title>Ichwillglasfaser Hausanschlussversand</title>
|
||||
<meta charset="utf-8" />
|
||||
<link href="<?=self::getResourcePath()?>fontawesome/css/all.min.css" rel="stylesheet" type="text/css" />
|
||||
<!--link href="<?=self::getResourcePath()?>assets/css/bootstrap.min.css" rel="stylesheet" type="text/css" /-->
|
||||
<link href="<?=self::getResourcePath()?>assets/css/print.css?<?=date('U')?>" rel="stylesheet" type="text/css" />
|
||||
|
||||
<style>
|
||||
body {
|
||||
margin-top: 0;
|
||||
padding-top: 20pt;
|
||||
font-family: "Calibri", "Open Sans", "Dejavu Sans", dejavusans, sans-serif;
|
||||
font-size: 12pt;
|
||||
}
|
||||
.container {
|
||||
margin-left: 64pt;
|
||||
margin-right: 64pt;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<div class="container">
|
||||
<div style="text-align: right;">
|
||||
<img src="<?=self::getResourcePath()?>assets/images/rml-logo-header.png" style="height:80pt;" />
|
||||
</div>
|
||||
|
||||
<div>
|
||||
<p>
|
||||
<?php if($preorder->company): ?>
|
||||
<?=nl2br($preorder->company)?><br />
|
||||
<?php else: ?>
|
||||
<br />
|
||||
<?php endif; ?>
|
||||
<?php if($preorder->lastname): ?>
|
||||
<?=$preorder->firstname?> <?=$preorder->lastname?><br />
|
||||
<?php endif; ?>
|
||||
<?=$preorder->street?><br />
|
||||
<?=$preorder->zip?> <?=$preorder->city?>
|
||||
</p>
|
||||
<p style="text-align: right; padding-top: 4pt;">Liezen, <?=date("d.m.Y")?></p>
|
||||
|
||||
<p style="padding-top: 4pt;">Liebe(r) <?=($preorder->firstname) ? $preorder->firstname : ""?> <?=($preorder->lastname) ? $preorder->lastname : ""?>,</p>
|
||||
<p style="padding-top: 4pt;">
|
||||
sie halten nun das Hausanschluss-Paket der RML Infrastruktur in Händen.
|
||||
Mit den Materialien im Hausanschluss-Paket können Sie nun die Vorbereitungen für die Verlegung der Glasfaserleitung von der Grundstücksgrenze bis ins Gebäude abschließen.
|
||||
Eine beigelegte Anleitung von uns hilft dabei.
|
||||
</p>
|
||||
<p style="padding-top: 4pt;">Alle weiteren Informationen zur Aktivierung Ihres Glasfaser-Internetanschlusses erhalten Sie vom Internetservice-Anbieter. Link: <a href="http://www.DeineGlasfaser.at/hotlines">www.DeineGlasfaser.at/hotlines</a></p>
|
||||
<p style="padding-top: 4pt;">
|
||||
<strong>WO FINDE ICH MEINEN HAUSANSCHLUSS AN DER GRUNDSTÜCKSGRENZE?</strong><br />
|
||||
Wir haben Ihren Glasfaser-Hausanschluss an der Grundstücksgrenze abgelegt. Sollte dieser oberirdisch nicht ersichtlich
|
||||
sein hilft unsere Fotodokumentation. Geben Sie hier die Adresse ein und finden so den Glasfaser-Hausanschluss. Link: <a href="https://www.DeineGlasfaser.at/isthier">www.DeineGlasfaser.at/isthier</a>
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div style="height:20pt;"></div>
|
||||
|
||||
<div>
|
||||
<table style="padding:0; margin:0">
|
||||
<tr>
|
||||
<td style="vertical-align: middle; height: 56pt; padding-right: 12px;"><img src="<?=self::getResourcePath()?>assets/images/rml-cif-cable-qr.png" style="height:56pt; vertical-align: top;" /></td>
|
||||
<td style="vertical-align: middle; height: 56pt;">
|
||||
<strong>ZU KURZ</strong><br />
|
||||
Wir haben Ihnen ein 40 Meter langes Glasfaser-Leerrohr zugeschickt. Sie benötigen ein längeres? Dann scannen Sie diesen QR-Code und bestellen Sie Ihre Verlängerung.
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<div style="height:20pt;"></div>
|
||||
|
||||
<div>
|
||||
<table style="padding:0; margin:0">
|
||||
<tr>
|
||||
|
||||
<td style="vertical-align: middle; height: 56pt;">
|
||||
<p><strong>FERTIG</strong><br />
|
||||
Alles erledigt? Sie haben laut beigelegter Anleitung den Glasfaser-Hausanschluss errichtet? Dann scannen Sie diesen QR-Code und teilen uns damit, dass Sie fertig sind. Wir setzen die nächsten Schritte in Gang.</p>
|
||||
<p style="padding-top: 4pt;">Beste Grüße,<br />
|
||||
Ihr Team der RML Infrastruktur</p>
|
||||
</td>
|
||||
<td style="vertical-align: top; height: 56pt; padding-right: 12px;"><img src="<?=$qr_url?>" style="height:112pt; vertical-align: top;" /></td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
<div>
|
||||
<p style="font-size: 8pt">PS: Für die Region, bleibt in der Region, gehört der Region. Dieser Mehrwert zeichnet unsere regionale Glasfaser-Offensive in den 29 Gemeinden des Bezirks Liezen aus. Sie sind mit Ihrem Glasfaseranschluss jetzt ein Teil davon.</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div style="position: absolute; bottom:0;">
|
||||
<img src="<?=self::getResourcePath()?>assets/images/rml-preorderlogistic-footer.png" style="width:100%;" />
|
||||
</div>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
@@ -56,21 +56,28 @@
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label for="admin">Admin:</label>
|
||||
<select name="admin" class="form-control" <?=($user->id == 1) ? "disabled='disabled'" : ""?>>
|
||||
<select name="admin" id="admin" class="form-control" <?=($user->id == 1) ? "disabled='disabled'" : ""?>>
|
||||
<option value="false" <?=(isset($user) && !$user->isAdmin()) ? "selected='selected'" : ""?>>No</option>
|
||||
<option value="true" <?=(isset($user) && $user->isAdmin() || $user->id == 1) ? "selected='selected'" : ""?>>Yes</option>
|
||||
</select>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label for="employee"><span class="text-warning font-weight-bold font-16">X</span><span class="text-primary font-weight-bold">inon</span> Mitarbeiter:</label>
|
||||
<select name="employee" id="employee" class="form-control">
|
||||
<option value="false" <?=(isset($user) && !$user->is("employee")) ? "selected='selected'" : ""?>>No</option>
|
||||
<option value="true" <?=(isset($user) && $user->is("employee")) ? "selected='selected'" : ""?>>Yes</option>
|
||||
</select>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label for="technician">Techniker:</label>
|
||||
<select name="technician" class="form-control">
|
||||
<option value="false" <?=(isset($user) && !$user->is("Technician")) ? "selected='selected'" : ""?>>No</option>
|
||||
<option value="true" <?=(isset($user) && $user->is("Technician")) ? "selected='selected'" : ""?>>Yes</option>
|
||||
<select name="technician" id="technician" class="form-control">
|
||||
<option value="false" <?=(isset($user) && !$user->is("technician")) ? "selected='selected'" : ""?>>No</option>
|
||||
<option value="true" <?=(isset($user) && $user->is("technician")) ? "selected='selected'" : ""?>>Yes</option>
|
||||
</select>
|
||||
</div>
|
||||
<div class="form-group" id="preorderfront-container">
|
||||
<label for="preorderfront">Preorder Frontdesk (Semi-Readonly):</label>
|
||||
<select name="preorderfront" class="form-control">
|
||||
<select name="preorderfront" id="preorderfront" class="form-control">
|
||||
<option value="false" <?=(isset($user) && !$user->is("preorderfront")) ? "selected='selected'" : ""?>>No</option>
|
||||
<option value="true" <?=(isset($user) && $user->is("preorderfront")) ? "selected='selected'" : ""?>>Yes</option>
|
||||
</select>
|
||||
@@ -78,7 +85,7 @@
|
||||
|
||||
<div class="form-group" id="preorder-reporting-container">
|
||||
<label for="preorderaddressreporting">Preorder Address Reporting API User:</label>
|
||||
<select name="preorderaddressreporting" class="form-control">
|
||||
<select name="preorderaddressreporting" id="preorderaddressreporting" class="form-control">
|
||||
<option value="false" <?=(isset($user) && !$user->is("preorderaddressreporting")) ? "selected='selected'" : ""?>>No</option>
|
||||
<option value="true" <?=(isset($user) && $user->is("preorderaddressreporting")) ? "selected='selected'" : ""?>>Yes</option>
|
||||
</select>
|
||||
@@ -87,7 +94,7 @@
|
||||
|
||||
<div class="form-group" id="preorderlogistics-container">
|
||||
<label for="preorderlogistics">Preorder Logistikpartner:</label>
|
||||
<select name="preorderlogistics" class="form-control">
|
||||
<select name="preorderlogistics" id="preorderlogistics" class="form-control">
|
||||
<option value="false" <?=(isset($user) && !$user->is("preorderlogistics")) ? "selected='selected'" : ""?>>No</option>
|
||||
<option value="true" <?=(isset($user) && $user->is("preorderlogistics")) ? "selected='selected'" : ""?>>Yes</option>
|
||||
</select>
|
||||
@@ -199,6 +206,17 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<h4 class="card-title mb-3 mt-3">Zusatzberechtigungen</h4>
|
||||
|
||||
<div class="row">
|
||||
<div class="col-4">
|
||||
<div class="form-group form-check">
|
||||
<input type="checkbox" class="form-check-input" name="can[Fibu]" id="can_fibu" value="1" <?=($user && $user->can("Fibu")) ? "checked='checked'" : ""?> />
|
||||
<label for="can_fibu" class="form-check-label">Buchhaltung</label>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<hr />
|
||||
|
||||
<div class="form-group">
|
||||
|
||||
@@ -2,6 +2,8 @@
|
||||
|
||||
class Address extends mfBaseModel {
|
||||
protected $forcestr = ['street','company','zip','phone','fax','mobile','note'];
|
||||
private $in_after_save = false;
|
||||
|
||||
private $parent;
|
||||
private $childaddresses;
|
||||
private $links = [];
|
||||
@@ -14,6 +16,55 @@ class Address extends mfBaseModel {
|
||||
|
||||
private $phoneparts;
|
||||
|
||||
protected function afterSave() {
|
||||
// prevent potential infinite loop
|
||||
if($this->in_after_save) return true;
|
||||
$this->in_after_save = true;
|
||||
|
||||
$this->syncToFibuMerge();
|
||||
}
|
||||
|
||||
private function syncToFibuMerge() {
|
||||
if(!$this->customer_number) return true;
|
||||
|
||||
//var_dump($this);exit;
|
||||
|
||||
if($this->fibu_account_number) {
|
||||
$fibumerge = XinonFibuMergeModel::getFirst(["old_custnum" => $this->customer_number]);
|
||||
if(!$fibumerge) {
|
||||
// create fibu merge
|
||||
$fibumerge = XinonFibuMergeModel::create([
|
||||
"old_custnum" => $this->customer_number,
|
||||
"new_custnum" => $this->fibu_account_number,
|
||||
"name" => ($this->company) ? $this->company : $this->lastname,
|
||||
"vorname" => ($this->company) ? "" : $this->firstname,
|
||||
"strasse" => $this->street,
|
||||
"plz" => $this->zip,
|
||||
"ort" => $this->city,
|
||||
]);
|
||||
$fibumerge->save();
|
||||
return true;
|
||||
}
|
||||
|
||||
if($fibumerge->new_custnum != $this->fibu_account_number) {
|
||||
$fibumerge->new_custnum = $this->fibu_account_number;
|
||||
$fibumerge->save();
|
||||
}
|
||||
} elseif($this->_old_data->fibu_account_number) {
|
||||
// fibu account number was removed => remove fibumerge entry
|
||||
$fibumerge = XinonFibuMergeModel::getFirst(["old_custnum" => $this->customer_number, "new_custnum" => $this->_old_data->fibu_account_number]);
|
||||
//var_dump($fibumerge);exit;
|
||||
if(!$fibumerge) return true;
|
||||
|
||||
$fibumerge->delete();
|
||||
|
||||
}
|
||||
|
||||
|
||||
return true;
|
||||
|
||||
}
|
||||
|
||||
public function getFullName() {
|
||||
// Assumes "Firma1 Firma2" or "firstname lastname" as readable form
|
||||
$name = "";
|
||||
@@ -146,6 +197,24 @@ class Address extends mfBaseModel {
|
||||
}
|
||||
}*/
|
||||
|
||||
public static function getNextSupplierNumber() {
|
||||
$db = FronkDB::singleton();
|
||||
$res = $db->select("Address","fibu_supplier_number", "fibu_supplier_number > 0 ORDER BY fibu_supplier_number DESC LIMIT 1");
|
||||
if(!$db->num_rows($res)) {
|
||||
return TT_FIRST_SUPPLIER_NUM;
|
||||
}
|
||||
|
||||
$data = $db->fetch_object($res);
|
||||
$last_num = $data->fibu_supplier_number;
|
||||
if($last_num) {
|
||||
$new_num = $last_num + 1;
|
||||
} else {
|
||||
$new_num = TT_FIRST_SUPPLIER_NUM;
|
||||
}
|
||||
return $new_num;
|
||||
|
||||
}
|
||||
|
||||
public function getProperty($name) {
|
||||
if($this->$name == null) {
|
||||
|
||||
|
||||
@@ -73,6 +73,11 @@ class AddressController extends mfBaseController {
|
||||
$new_filter["parents_only"] = 1;
|
||||
}
|
||||
|
||||
if(array_key_exists("fibu_account_number", $filter) && $filter['fibu_account_number']) {
|
||||
$new_filter['fibu_account_number'] = $filter['fibu_account_number']."%";
|
||||
unset($filter['fibu_account_number']);
|
||||
}
|
||||
|
||||
foreach($filter as $name => $value) {
|
||||
$new_filter[$name] = $value;
|
||||
}
|
||||
@@ -177,6 +182,13 @@ class AddressController extends mfBaseController {
|
||||
$data['email'] = $r->email;
|
||||
$data['note'] = $r->note;
|
||||
$data['uid'] = $r->uid;
|
||||
$data['fibu_account_number'] = ($r->fibu_account_number) ? $r->fibu_account_number : null;
|
||||
$data['fibu_supplier_number'] = ($r->fibu_supplier_number) ? $r->fibu_supplier_number : null;
|
||||
if($r->fibu_primary_account) {
|
||||
$data['fibu_primary_account'] = 1;
|
||||
} else {
|
||||
$data['fibu_primary_account'] = 0;
|
||||
}
|
||||
|
||||
|
||||
// billing data
|
||||
@@ -236,6 +248,17 @@ class AddressController extends mfBaseController {
|
||||
return $this->add();
|
||||
}
|
||||
|
||||
// check for multiple primary fibu accounts, and remove from any other than this one
|
||||
if($address->fibu_primary_account && $address->fibu_account_number) {
|
||||
foreach(AddressModel::search(["fibu_primary_account" => true, "fibu_account_number" => $address->fibu_account_number]) as $fibu_primary) {
|
||||
if($fibu_primary->id == $address->id) continue;
|
||||
$fibu_primary->fibu_primary_account = 0;
|
||||
$fibu_primary->save();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// save address types
|
||||
$new_types = $r->addresstypes;
|
||||
if(is_array($new_types)) {
|
||||
foreach($address->types as $existing_type) {
|
||||
@@ -258,6 +281,19 @@ class AddressController extends mfBaseController {
|
||||
}
|
||||
}
|
||||
|
||||
// generate new supplier account number if is supplier and supplier num empty
|
||||
//var_dump($mode, $address->fibu_supplier_number, $address->types);exit;
|
||||
if(!$address->fibu_supplier_number && array_key_exists("supplier", $address->types)) {
|
||||
$supplier_num = Address::getNextSupplierNumber();
|
||||
if(!$supplier_num) {
|
||||
$this->layout()->setFlash("Lieferantennummer konnte nicht generiert werden.");
|
||||
} else {
|
||||
$this->log->debug("new supplier number: ". $supplier_num);
|
||||
$address->fibu_supplier_number = $supplier_num;
|
||||
$address->save();
|
||||
}
|
||||
}
|
||||
|
||||
$attribs = $r->attributes;
|
||||
//var_dump($attribs);exit;
|
||||
if(is_array($attribs) && count($attribs)) {
|
||||
|
||||
@@ -1,20 +1,23 @@
|
||||
<?php
|
||||
|
||||
class AddressModel {
|
||||
public $parent_id = null;
|
||||
public $customer_number = null;
|
||||
public $spin = null;
|
||||
public $company = null;
|
||||
public $firstname = null;
|
||||
public $lastname = null;
|
||||
public $street = null;
|
||||
public $zip = null;
|
||||
public $city = null;
|
||||
public $country = null;
|
||||
public $phone = null;
|
||||
public $fax = null;
|
||||
public $mobile = null;
|
||||
public $email = null;
|
||||
public $parent_id;
|
||||
public $customer_number;
|
||||
public $fibu_account_number;
|
||||
public $fibu_supplier_number;
|
||||
public $fibu_primary_account;
|
||||
public $spin;
|
||||
public $company;
|
||||
public $firstname;
|
||||
public $lastname;
|
||||
public $street;
|
||||
public $zip;
|
||||
public $city;
|
||||
public $country;
|
||||
public $phone;
|
||||
public $fax;
|
||||
public $mobile;
|
||||
public $email;
|
||||
public $uid;
|
||||
public $billing_type;
|
||||
public $billing_delivery;
|
||||
@@ -25,12 +28,12 @@ class AddressModel {
|
||||
public $allow_contact;
|
||||
public $allow_spin;
|
||||
|
||||
public $note = null;
|
||||
public $note;
|
||||
|
||||
public $create_by = null;
|
||||
public $edit_by = null;
|
||||
public $create = null;
|
||||
public $edit = null;
|
||||
public $create_by;
|
||||
public $edit_by;
|
||||
public $create;
|
||||
public $edit;
|
||||
|
||||
public static function create(Array $data) {
|
||||
$model = new Address();
|
||||
@@ -232,6 +235,34 @@ class AddressModel {
|
||||
}
|
||||
}
|
||||
|
||||
if(array_key_exists("fibu_account_number", $filter)) {
|
||||
$fan = $filter["fibu_account_number"];
|
||||
if($fan) {
|
||||
if(is_numeric($fan)) {
|
||||
$where .= " AND fibu_account_number=$fan";
|
||||
} else {
|
||||
$fan = FronkDB::singleton()->escape($fan);
|
||||
$where .= " AND fibu_account_number LIKE '$fan'";
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if(array_key_exists("fibu_supplier_number", $filter)) {
|
||||
$fsn = $filter["fibu_supplier_number"];
|
||||
if(is_numeric($fsn)) {
|
||||
$where .= " AND fibu_supplier_number=$fsn";
|
||||
}
|
||||
}
|
||||
|
||||
if(array_key_exists("fibu_primary_account", $filter)) {
|
||||
$fpa = $filter["fibu_primary_account"];
|
||||
if($fpa) {
|
||||
$where .= " AND fibu_primary_account=1";
|
||||
} else {
|
||||
$where .= " AND fibu_primary_account=0";
|
||||
}
|
||||
}
|
||||
|
||||
if(array_key_exists("spin", $filter)) {
|
||||
$spin = FronkDB::singleton()->escape($filter["spin"]);
|
||||
if($spin) {
|
||||
|
||||
@@ -160,7 +160,7 @@ class PreorderlogisticsController extends mfBaseController {
|
||||
}
|
||||
|
||||
protected function printAction() {
|
||||
$this->layout()->setTemplate("Preorderlogistics/Print");
|
||||
$this->layout()->setTemplate("Preorderlogistics/Print.template");
|
||||
$id = $this->request->id;
|
||||
if(!is_numeric($id) || $id < 1) {
|
||||
$this->layout()->setFlash("Vorbestellung nicht gefunden", "error");
|
||||
|
||||
@@ -111,7 +111,7 @@ class User extends mfBaseModel {
|
||||
$m = [];
|
||||
if(preg_match('/^([^ ]+) ([^ ]+)(?: ([^ ]+))?$/', $this->name, $m)) {
|
||||
$firstname = $m[1];
|
||||
if($m[3]) {
|
||||
if(array_key_exists(3, $m) && $m[3]) {
|
||||
$middlename = $m[2];
|
||||
$lastname = $m[3];
|
||||
} else {
|
||||
@@ -261,7 +261,6 @@ class User extends mfBaseModel {
|
||||
public function myNetworks($types) {
|
||||
$typenets = [];
|
||||
$my_networks = $this->getProperty("my_networks");
|
||||
|
||||
if(!is_array($types)) {
|
||||
$types = [$types];
|
||||
}
|
||||
|
||||
@@ -188,6 +188,12 @@ class UserController extends mfBaseController
|
||||
$user->permissions->admin = "false";
|
||||
}
|
||||
|
||||
if ($r->employee == "true") {
|
||||
$user->permissions->employee = "true";
|
||||
} else {
|
||||
$user->permissions->employee = "false";
|
||||
}
|
||||
|
||||
if ($r->technician == "true") {
|
||||
$user->permissions->technician = "true";
|
||||
} else {
|
||||
@@ -218,10 +224,11 @@ class UserController extends mfBaseController
|
||||
$user->permissions->canVoipnumbering = "false";
|
||||
$user->permissions->canPreorder = "false";
|
||||
$user->permissions->canOrder = "false";
|
||||
$user->permissions->canFibu = "false";
|
||||
|
||||
if($r->get("can") && is_array($r->can)) {
|
||||
foreach($r->can as $key => $can) {
|
||||
var_dump($key . "=> ".$can);
|
||||
//var_dump($key . "=> ".$can);
|
||||
if($can) {
|
||||
$user->permissions->{"can$key"} = "true";
|
||||
}
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
|
||||
class WorkerPermission extends mfBaseModel {
|
||||
public $isAdmin = false;
|
||||
public $isTicketadmin = false;
|
||||
public $isEmployee = false;
|
||||
public $isTechnician = false;
|
||||
public $isPreorderfront = false;
|
||||
public $isPreorderaddressreporting = false;
|
||||
@@ -26,8 +26,8 @@ class WorkerPermission extends mfBaseModel {
|
||||
if($this->admin == 'true') {
|
||||
$this->isAdmin = true;
|
||||
}
|
||||
if($this->ticketadmin == 'true') {
|
||||
$this->isTicketadmin = true;
|
||||
if($this->employee == 'true') {
|
||||
$this->isEmployee = true;
|
||||
}
|
||||
if($this->technician == 'true') {
|
||||
$this->isTechnician = true;
|
||||
|
||||
35
application/XinonFibuMerge/XinonFibuMerge.php
Normal file
35
application/XinonFibuMerge/XinonFibuMerge.php
Normal file
@@ -0,0 +1,35 @@
|
||||
<?php
|
||||
|
||||
class XinonFibuMerge extends mfBaseModel {
|
||||
private $address;
|
||||
|
||||
public function getProperty($name) {
|
||||
if($this->$name == null) {
|
||||
|
||||
if(!$this->id) {
|
||||
return null;
|
||||
}
|
||||
|
||||
if($name == "address") {
|
||||
if(!$this->old_custnum) return null;
|
||||
|
||||
$address = new Address($this->old_custnum);
|
||||
if(!$address->id) return null;
|
||||
return $address;
|
||||
}
|
||||
|
||||
|
||||
$classname = ucfirst($name);
|
||||
$idfield = $name."_id";
|
||||
$this->$name = new $classname($this->$idfield);
|
||||
|
||||
if($this->$name->id) {
|
||||
return $this->$name;
|
||||
} else {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
return $this->$name;
|
||||
}
|
||||
}
|
||||
142
application/XinonFibuMerge/XinonFibuMergeModel.php
Normal file
142
application/XinonFibuMerge/XinonFibuMergeModel.php
Normal file
@@ -0,0 +1,142 @@
|
||||
<?php
|
||||
|
||||
class XinonFibuMergeModel {
|
||||
|
||||
public $old_custnum;
|
||||
public $new_custnum;
|
||||
public $name;
|
||||
public $vorname;
|
||||
public $strasse;
|
||||
public $plz;
|
||||
public $ort;
|
||||
|
||||
public $create_by = null;
|
||||
public $edit_by = null;
|
||||
public $create = null;
|
||||
public $edit = null;
|
||||
|
||||
public static function create(Array $data) {
|
||||
$model = new XinonFibuMerge();
|
||||
|
||||
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 getFirst($filter = []) {
|
||||
$db = FronkDB::singleton();
|
||||
|
||||
$where = self::getSqlFilter($filter);
|
||||
$res = $db->select("XinonFibuMerge", "*", "$where ORDER BY old_custnum LIMIT 1");
|
||||
if ($db->num_rows($res)) {
|
||||
$data = $db->fetch_object($res);
|
||||
$item = new XinonFibuMerge($data);
|
||||
if ($item->id) {
|
||||
return $item;
|
||||
} else {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
public static function getAll() {
|
||||
$items = [];
|
||||
|
||||
$db = FronkDB::singleton();
|
||||
|
||||
$res = $db->select("XinonFibuMerge", "*", "1=1 ORDER BY old_custnum");
|
||||
if ($db->num_rows($res)) {
|
||||
while ($data = $db->fetch_object($res)) {
|
||||
$items[] = new XinonFibuMerge($data);
|
||||
}
|
||||
}
|
||||
return $items;
|
||||
}
|
||||
|
||||
public static function count($filter) {
|
||||
$db = FronkDB::singleton();
|
||||
|
||||
$where = self::getSqlFilter($filter);
|
||||
$sql = "SELECT COUNT(*) as cnt FROM XinonFibuMerge
|
||||
WHERE $where
|
||||
";
|
||||
|
||||
$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 XinonFibuMerge
|
||||
WHERE $where
|
||||
ORDER BY old_custnum";
|
||||
|
||||
mfLoghandler::singleton()->debug($sql);
|
||||
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'];
|
||||
}
|
||||
}
|
||||
|
||||
$res = $db->query($sql);
|
||||
if ($db->num_rows($res)) {
|
||||
while ($data = $db->fetch_object($res)) {
|
||||
$items[] = new XinonFibuMerge($data);
|
||||
}
|
||||
}
|
||||
return $items;
|
||||
}
|
||||
|
||||
private static function getSqlFilter($filter) {
|
||||
$where = "1=1 ";
|
||||
|
||||
|
||||
|
||||
if(array_key_exists("old_custnum", $filter)) {
|
||||
$old_custnum = $filter['old_custnum'];
|
||||
if (is_numeric($old_custnum)) {
|
||||
$where .= " AND XinonFibuMerge.old_custnum=$old_custnum";
|
||||
}
|
||||
}
|
||||
|
||||
if(array_key_exists("new_custnum", $filter)) {
|
||||
$new_custnum = $filter['new_custnum'];
|
||||
if (is_numeric($new_custnum)) {
|
||||
$where .= " AND XinonFibuMerge.new_custnum=$new_custnum";
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
//var_dump($filter, $where);exit;
|
||||
return $where;
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,37 @@
|
||||
<?php
|
||||
declare(strict_types=1);
|
||||
|
||||
use Phinx\Migration\AbstractMigration;
|
||||
|
||||
final class AddressAddFibubillingnumberSuppliernumber extends AbstractMigration
|
||||
{
|
||||
public function up(): void
|
||||
{
|
||||
if($this->getEnvironment() == "thetool") {
|
||||
$table = $this->table("Address");
|
||||
$table->addColumn("fibu_account_number","integer", ["null" => true, "default" => null, "after" => "customer_number"]);
|
||||
$table->addColumn("fibu_supplier_number","integer", ["null" => true, "default" => null, "after" => "fibu_account_number"]);
|
||||
$table->addColumn("fibu_primary_account","integer", ["null" => false, "default" => 0, "limit" => \Phinx\Db\Adapter\MysqlAdapter::INT_TINY, "after" => "fibu_supplier_number"]);
|
||||
$table->update();
|
||||
}
|
||||
|
||||
if($this->getEnvironment() == "addressdb") {
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
public function down(): void
|
||||
{
|
||||
if($this->getEnvironment() == "thetool") {
|
||||
$table = $this->table("Address");
|
||||
$table->removeColumn("fibu_primary_account");
|
||||
$table->removeColumn("fibu_supplier_number");
|
||||
$table->removeColumn("fibu_account_number");
|
||||
$table->save();
|
||||
}
|
||||
|
||||
if($this->getEnvironment() == "addressdb") {
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,35 @@
|
||||
<?php
|
||||
declare(strict_types=1);
|
||||
|
||||
use Phinx\Migration\AbstractMigration;
|
||||
|
||||
final class WorkerPermissionAddEmployee extends AbstractMigration
|
||||
{
|
||||
public function up(): void
|
||||
{
|
||||
if($this->getEnvironment() == "thetool") {
|
||||
$table = $this->table("WorkerPermission");
|
||||
$table->addColumn("employee", "enum", ["values" => 'false,true', "default" => "false", "after" => "admin"]);
|
||||
$table->addColumn("canFibu", "enum", ["values" => 'false,true', "default" => "false", "after" => "preorderlogistics"]);
|
||||
$table->update();
|
||||
}
|
||||
|
||||
if($this->getEnvironment() == "addressdb") {
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
public function down(): void
|
||||
{
|
||||
if($this->getEnvironment() == "thetool") {
|
||||
$table = $this->table("WorkerPermission");
|
||||
$table->removeColumn("canFibu");
|
||||
$table->removeColumn("employee");
|
||||
$table->save();
|
||||
}
|
||||
|
||||
if($this->getEnvironment() == "addressdb") {
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -9,8 +9,6 @@ and open the template in the editor.
|
||||
*/
|
||||
|
||||
html {
|
||||
margin-left: 18pt;
|
||||
margin-right: 18pt;
|
||||
height:100%;
|
||||
}
|
||||
|
||||
@@ -21,6 +19,11 @@ body {
|
||||
margin-top: 20pt;
|
||||
}
|
||||
|
||||
.container {
|
||||
margin-left: 18pt;
|
||||
margin-right: 18pt;
|
||||
}
|
||||
|
||||
.center {
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
BIN
public/assets/images/rml-cif-cable-qr.png
Normal file
BIN
public/assets/images/rml-cif-cable-qr.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 1.0 KiB |
BIN
public/assets/images/rml-logo-header.png
Normal file
BIN
public/assets/images/rml-logo-header.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 25 KiB |
BIN
public/assets/images/rml-preorderlogistic-footer.png
Normal file
BIN
public/assets/images/rml-preorderlogistic-footer.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 104 KiB |
Reference in New Issue
Block a user