Skip to content

Commit

Permalink
Reformatted and refactored PDF views now that the rendering method re…
Browse files Browse the repository at this point in the history
…moves leading spaces
  • Loading branch information
MasterZydra committed Mar 1, 2024
1 parent 8319c51 commit 4449417
Show file tree
Hide file tree
Showing 5 changed files with 185 additions and 184 deletions.
8 changes: 8 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,14 @@ Types of changes: `Added`, `Changed`, `Deprecate`, `Removed`, `Fixed`, `Secruity

## [Unreleased]

### Added
- Add function to remove leading spaces on the beginning of each line

### Changed
- Changed the behaviour of the function `render()` so that it removes leading spaces from the rendered HTML

## v2.2.2 - 29.02.2024 - Improved UX with recommendations and validation

### Added
- Added subdistrict recommendations to the create and edit form for plot
- Added frontend validation to check if given IBAN is valid
Expand Down
32 changes: 16 additions & 16 deletions resources/Views/pdf/activeSuppliers.php
Original file line number Diff line number Diff line change
@@ -1,19 +1,19 @@
<?php use App\Models\Supplier; ?>
<table cellpadding="5" cellspacing="0" style="width: 100%; ">
<tr>
<td width="100%">
<h1 style="text-align: center;">Aktive Lieferanten</h1>
<p>
<ul>
<?php /** @var \App\Models\Supplier $supplier */
foreach (Supplier::all() as $supplier) {
if ($supplier->getIsLocked()) continue;
?>
<li><?= $supplier->getName() ?></li>
<?php } ?>
</ul>
</p>
<p>Stand: <?= date("d.m.Y") ?></p>
</td>
</tr>
<tr>
<td width="100%">
<h1 style="text-align: center;">Aktive Lieferanten</h1>
<p>
<ul>
<?php /** @var \App\Models\Supplier $supplier */
foreach (Supplier::all() as $supplier) {
if ($supplier->getIsLocked()) continue;
?>
<li><?= $supplier->getName() ?></li>
<?php } ?>
</ul>
</p>
<p>Stand: <?= date("d.m.Y") ?></p>
</td>
</tr>
</table>
131 changes: 58 additions & 73 deletions resources/Views/pdf/invoice.php
Original file line number Diff line number Diff line change
Expand Up @@ -6,81 +6,67 @@
?>

<table cellpadding="0" cellspacing="0" style="width: 100%;">
<!-- Sender address -->
<tr>

<td width="60%">
<?= setting('invoiceSenderName') ?><br>
<?= setting('invoiceSenderStreet') ?><br>
<?= setting('invoiceSenderPostalCode') ?> <?= setting('invoiceSenderCity') ?><br>
<?= setting('invoiceSenderAddition') ?>
</td>

<td width="25%">
Rechnungsnummer:<br>
Rechnungsdatum:
</td>

<td width="15%" style="text-align: right;">
<?= $invoice->getNr() ?><br>
<?= Format::date($invoice->getInvoiceDate()) ?>
</td>

</tr>
<!-- Invoice title -->
<tr>

<td style="font-size:1.3em; font-weight: bold;">
<br><br><?= setting('invoiceName') ?>
</td>

</tr>

<!-- Recipient address -->
<tr>

<td colspan="2">
<br><br>
<?php $recipient = $invoice->getRecipient(); ?>
<?= $recipient->getName() ?><br>
<?= $recipient->getStreet() ?><br>
<?= $recipient->getPostalCode() ?> <?= $recipient->getCity() ?><br>
</td>

</tr>
<!-- Sender address -->
<tr>
<td width="60%">
<?= setting('invoiceSenderName') ?><br>
<?= setting('invoiceSenderStreet') ?><br>
<?= setting('invoiceSenderPostalCode') ?> <?= setting('invoiceSenderCity') ?><br>
<?= setting('invoiceSenderAddition') ?>
</td>

<td width="25%">
Rechnungsnummer:<br>
Rechnungsdatum:
</td>

<td width="15%" style="text-align: right;">
<?= $invoice->getNr() ?><br>
<?= Format::date($invoice->getInvoiceDate()) ?>
</td>
</tr>
<!-- Invoice title -->
<tr>
<td style="font-size:1.3em; font-weight: bold;">
<br><br><?= setting('invoiceName') ?>
</td>
</tr>
<!-- Recipient address -->
<tr>
<td colspan="2">
<br><br>
<?php $recipient = $invoice->getRecipient(); ?>
<?= $recipient->getName() ?><br>
<?= $recipient->getStreet() ?><br>
<?= $recipient->getPostalCode() ?> <?= $recipient->getCity() ?><br>
</td>
</tr>
</table>
<br><br>

<table cellpadding="5" cellspacing="0" style="width: 100%;" border="0">

<tr style="background-color: #4a8a16; padding:5px; color:white;">
<td style="text-align: center;vertical-align: middle;"><b>Lieferschein-Nr</b></td>
<td style="text-align: center;vertical-align: middle;"><b>Lieferdatum</b></td>
<td style="text-align: center;vertical-align: middle;"><b>Produkt</b></td>
<td style="text-align: center;vertical-align: middle;"><b>Menge</b></td>
<td style="text-align: center;vertical-align: middle;"><b>Preis</b></td>
</tr>

<!-- List items -->
<?php /** @var \App\Models\DeliveryNote $deliveryNote */
foreach ($invoice->getDeliveryNotes() as $deliveryNote) { ?>

<tr>
<td style="text-align: center;"><?= $deliveryNote->getNr() ?></td>
<td style="text-align: center;"><?= Format::date($deliveryNote->getDeliveryDate()) ?></td>
<td style="text-align: center;"><?= $deliveryNote->getProduct()->getName() ?></td>
<td style="text-align: right;"><?= $deliveryNote->getAmount() ?> <?= setting('massUnit') ?></td>
<td style="text-align: center;"><?= Format::currency($deliveryNote->getPositionPrice()) ?></td>
</tr>

<?php } ?>

<tr style="background-color: #4a8a16; padding:5px; color:white;">
<td style="text-align: center;vertical-align: middle;"><b>Lieferschein-Nr</b></td>
<td style="text-align: center;vertical-align: middle;"><b>Lieferdatum</b></td>
<td style="text-align: center;vertical-align: middle;"><b>Produkt</b></td>
<td style="text-align: center;vertical-align: middle;"><b>Menge</b></td>
<td style="text-align: center;vertical-align: middle;"><b>Preis</b></td>
</tr>
<!-- List items -->
<?php /** @var \App\Models\DeliveryNote $deliveryNote */
foreach ($invoice->getDeliveryNotes() as $deliveryNote) { ?>
<tr>
<td style="text-align: center;"><?= $deliveryNote->getNr() ?></td>
<td style="text-align: center;"><?= Format::date($deliveryNote->getDeliveryDate()) ?></td>
<td style="text-align: center;"><?= $deliveryNote->getProduct()->getName() ?></td>
<td style="text-align: right;"><?= $deliveryNote->getAmount() ?> <?= setting('massUnit') ?></td>
<td style="text-align: center;"><?= Format::currency($deliveryNote->getPositionPrice()) ?></td>
</tr>
<?php } ?>
</table>

<hr>

<table cellpadding="5" cellspacing="0" style="width: 100%;" border="0">

<!--
if ($umsatzsteuer > 0) { $netto = $totalAmount / (1 + $umsatzsteuer); $umsatzsteuer_betrag = $totalAmount - $netto;
<tr>
Expand All @@ -93,12 +79,11 @@
</tr>';
}
-->

<tr>
<td colspan="3"><b>Gesamtbetrag: </b></td>
<td style="text-align: center;"><b><?= Format::currency($invoice->getTotalPrice()) ?></b></td>
</tr>

<table cellpadding="5" cellspacing="0" style="width: 100%;" border="0">
<tr>
<td colspan="3"><b>Gesamtbetrag: </b></td>
<td style="text-align: center;"><b><?= Format::currency($invoice->getTotalPrice()) ?></b></td>
</tr>
</table>

<!--
Expand Down
138 changes: 75 additions & 63 deletions resources/Views/pdf/supplierPayouts.php
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,8 @@

/** @var array $deliveryNotes */

use App\Models\DeliveryNote;
use App\Models\Supplier;
use Framework\Facades\Format;

/** @var ?\App\Models\Invoice $invoice */
Expand All @@ -13,71 +15,81 @@
$docName = 'Auszahlung für das Jahr ' . $deliveryNotes[0]->getYear();
}

?>

<table cellpadding="5" cellspacing="0" style="width: 100%; ">

<tr><td width="100%">
<h1 style="text-align: center;"><?= $docName ?></h1><br>

<?php
$lastSupplier = null;
$sumAmount = 0;
$sumPayout = 0;
/** @var \App\Models\DeliveryNote $deliveryNote */
foreach ($deliveryNotes as $deliveryNote) {
if ($deliveryNote->getSupplier()->getHasNoPayout()) continue;
if ($deliveryNote->getSupplier()->getId() !== $lastSupplier) {
if ($lastSupplier !== null) { ?>
$GLOBALS['sumAmount'] = 0;
$GLOBALS['sumPayout'] = 0;

function printSum()
{ ?>
<tr style="height:2px;"><td style="height:2px;" colspan="4"><hr></td></tr>
<tr>
<td></td>
<td style="text-align: right;">Summe:</td>
<td style="text-align: right;"><?= $GLOBALS['sumAmount'] ?></td>
<td style="text-align: right;"><?= Format::currency($GLOBALS['sumPayout']) ?></td>
</tr>
</table><br><br>
<?php
}

<tr style="height:2px;"><td style="height:2px;" colspan="4"><hr></td></tr>
<tr>
<td></td>
<td style="text-align: right;">Summe:</td>
<td style="text-align: right;"><?= $sumAmount ?></td>
<td style="text-align: right;"><?= Format::currency($sumPayout) ?></td>
</tr>
</table><br><br>
function printSupplierHeader(Supplier $supplier)
{ ?>
<i><?= $supplier->getName() ?></i><br>
<table>
<tr>
<th style="text-align: center;"><strong>Lieferschein-Nr.</strong></th>
<th style="text-align: center;"><strong>Lieferdatum</strong></th>
<th style="text-align: center;"><strong>Menge in <?= setting('massUnit')?></strong></th>
<th style="text-align: center;"><strong>x Preis in <?= setting('currencyUnit') ?></strong></th>
</tr>
<?php
}

<?php }
$lastSupplier = $deliveryNote->getSupplier()->getId();
$sumAmount = 0;
$sumPayout = 0;
function printDeliveryNoteLine(DeliveryNote $deliveryNote)
{
$price = $deliveryNote->getSupplier()->getHasFullPayout() ?
$deliveryNote->getPrice()->getPrice() : $deliveryNote->getPrice()->getPricePayout();
$GLOBALS['sumAmount'] += $deliveryNote->getAmount();
$GLOBALS['sumPayout'] += $price * $deliveryNote->getAmount();
?>
<tr>
<td style="text-align: right;"><?= $deliveryNote->getNr() ?></td>
<td style="text-align: center;"><?= Format::date($deliveryNote->getDeliveryDate()) ?></td>
<td style="text-align: right;"><?= $deliveryNote->getAmount() ?></td>
<td style="text-align: right;">x <?= $price ?> = <?= Format::currency($price * $deliveryNote->getAmount()) ?></td>
</tr>
<?php
}
?>

<i><?= $deliveryNote->getSupplier()->getName() ?></i><br>
<table>
<tr>
<th style="text-align: center;"><strong>Lieferschein-Nr.</strong></th>
<th style="text-align: center;"><strong>Lieferdatum</strong></th>
<th style="text-align: center;"><strong>Menge in <?= setting('massUnit')?></strong></th>
<th style="text-align: center;"><strong>x Preis in <?= setting('currencyUnit') ?></strong></th>
</tr>

<?php } ?>

<tr>
<?php
$price = $deliveryNote->getSupplier()->getHasFullPayout() ?
$deliveryNote->getPrice()->getPrice() : $deliveryNote->getPrice()->getPricePayout();
$sumAmount += $deliveryNote->getAmount();
$sumPayout += $price * $deliveryNote->getAmount();
?>
<td style="text-align: right;"><?= $deliveryNote->getNr() ?></td>
<td style="text-align: center;"><?= Format::date($deliveryNote->getDeliveryDate()) ?></td>
<td style="text-align: right;"><?= $deliveryNote->getAmount() ?></td>
<td style="text-align: right;">x <?= $price ?> = <?= Format::currency($price * $deliveryNote->getAmount()) ?></td>
</tr>

<?php } ?>

<tr style="height:2px;"><td style="height:2px;" colspan="4"><hr></td></tr>
<tr>
<td></td>
<td style="text-align: right;">Summe:</td>
<td style="text-align: right;"><?= $sumAmount ?></td>
<td style="text-align: right;"><?= Format::currency($sumPayout) ?></td>
</tr>
</table><br><br>

</td></tr></table>
<table cellpadding="5" cellspacing="0" style="width: 100%; ">
<tr>
<td width="100%">
<h1 style="text-align: center;"><?= $docName ?></h1><br>

<?php
/** @var \App\Models\DeliveryNote $deliveryNote */
foreach ($deliveryNotes as $deliveryNote) {
if ($deliveryNote->getSupplier()->getHasNoPayout()) {
continue;
}

if ($deliveryNote->getSupplier()->getId() !== $lastSupplier) {
if ($lastSupplier !== null) {
printSum();
}

$lastSupplier = $deliveryNote->getSupplier()->getId();
$GLOBALS['sumAmount'] = 0;
$GLOBALS['sumPayout'] = 0;

printSupplierHeader($deliveryNote->getSupplier());
}

printDeliveryNoteLine($deliveryNote);
}
printSum();
?>
</td>
</tr>
</table>
Loading

0 comments on commit 4449417

Please sign in to comment.