Added initial order confirmation e-mail template #48
This commit is contained in:
@@ -0,0 +1,54 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Mail;
|
||||||
|
|
||||||
|
use Illuminate\Bus\Queueable;
|
||||||
|
use Illuminate\Contracts\Queue\ShouldQueue;
|
||||||
|
use Illuminate\Mail\Mailable;
|
||||||
|
use Illuminate\Mail\Mailables\Content;
|
||||||
|
use Illuminate\Mail\Mailables\Address;
|
||||||
|
use Illuminate\Mail\Mailables\Envelope;
|
||||||
|
use Illuminate\Queue\SerializesModels;
|
||||||
|
|
||||||
|
class OrderConfirmation extends Mailable
|
||||||
|
{
|
||||||
|
use Queueable, SerializesModels;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Create a new message instance.
|
||||||
|
*/
|
||||||
|
public function __construct(public array $offer) {}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get the message envelope.
|
||||||
|
*/
|
||||||
|
public function envelope(): Envelope
|
||||||
|
{
|
||||||
|
return new Envelope(
|
||||||
|
// TODO: get from settings
|
||||||
|
from: new Address('buchhaltung@tooloop.de', 'Tooloop Multimedia'),
|
||||||
|
bcc: [new Address('daniel.stock@tooloop.de', '<Daniel Stock')],
|
||||||
|
subject: 'Auftragsbestätigung',
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get the message content definition.
|
||||||
|
*/
|
||||||
|
public function content(): Content
|
||||||
|
{
|
||||||
|
return new Content(
|
||||||
|
view: 'mail.offers.confirmation',
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get the attachments for the message.
|
||||||
|
*
|
||||||
|
* @return array<int, \Illuminate\Mail\Mailables\Attachment>
|
||||||
|
*/
|
||||||
|
public function attachments(): array
|
||||||
|
{
|
||||||
|
return [];
|
||||||
|
}
|
||||||
|
}
|
||||||
+13
-13
@@ -19,7 +19,7 @@
|
|||||||
|
|
||||||
p {
|
p {
|
||||||
font-size: 16px;
|
font-size: 16px;
|
||||||
line-height: 20px;
|
line-height: 24px;
|
||||||
font-weight: 400;
|
font-weight: 400;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -148,7 +148,7 @@
|
|||||||
<table width="636" cellpadding="0" cellspacing="0" border="0" class="container">
|
<table width="636" cellpadding="0" cellspacing="0" border="0" class="container">
|
||||||
<tr>
|
<tr>
|
||||||
<td valign="top">
|
<td valign="top">
|
||||||
<a href="https://www.tooloop.de@TrackLink"><img
|
<a href="https://www.tooloop.de"><img
|
||||||
src="http://newsletter.tooloop.de/uploads/tooloop-logo.png"
|
src="http://newsletter.tooloop.de/uploads/tooloop-logo.png"
|
||||||
width="128px" alt="Tooloop"></a>
|
width="128px" alt="Tooloop"></a>
|
||||||
</td>
|
</td>
|
||||||
@@ -197,7 +197,7 @@
|
|||||||
<td align="left" height="32" style="font-size:16px;">{{ $invoice['nr'] }}</td>
|
<td align="left" height="32" style="font-size:16px;">{{ $invoice['nr'] }}</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<th align="left" height="32" style="font-size:16px;">Beteff</th>
|
<th align="left" height="32" style="font-size:16px;">Betreff</th>
|
||||||
<td align="left" height="32" style="font-size:16px;">{{ $invoice['title'] }}</td>
|
<td align="left" height="32" style="font-size:16px;">{{ $invoice['title'] }}</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
@@ -255,44 +255,44 @@
|
|||||||
<table width="636" cellpadding="0" cellspacing="0" border="0" class="container">
|
<table width="636" cellpadding="0" cellspacing="0" border="0" class="container">
|
||||||
<tr>
|
<tr>
|
||||||
<td align="center" valign="top">
|
<td align="center" valign="top">
|
||||||
<p style="font-size: 14px; line-height: 15px;">
|
<p style="font-size: 14px; line-height: 21px;">
|
||||||
<a style="color: #00264D;" href="tel:+4982165079983">+49 821
|
<a style="color: #00264D;" href="tel:+4982165079983">+49 821
|
||||||
65079983</a>,
|
65079983</a>,
|
||||||
<a href="https://www.tooloop.de@TrackLink" style="color: #00264D;"
|
<a href="https://www.tooloop.de" style="color: #00264D;"
|
||||||
target="_blank">www.tooloop.de</a>,
|
target="_blank">www.tooloop.de</a>,
|
||||||
<a style="color: #00264D;"
|
<a style="color: #00264D;"
|
||||||
href="mailto:info@tooloop.de">info@tooloop.de</a>
|
href="mailto:info@tooloop.de">info@tooloop.de</a>
|
||||||
</p>
|
</p>
|
||||||
<p style="color: #999999;font-size: 14px; line-height: 15px;">Tooloop
|
<p style="color: #999999;font-size: 14px; line-height: 21px;">Tooloop
|
||||||
Multimedia Daniel
|
Multimedia Daniel
|
||||||
Stock, Rehmstraße 4, 86161 Augsburg</p>
|
Stock, Rehmstraße 4, 86161 Augsburg</p>
|
||||||
<p>
|
<p>
|
||||||
<a style="margin: 0 8px;"
|
<a style="margin: 0 8px;"
|
||||||
href="https://threema.id/KACDAD2H@TrackLink"><img
|
href="https://threema.id/KACDAD2H"><img
|
||||||
src="http://newsletter.tooloop.de/uploads/contact_logo_threema.png"
|
src="http://newsletter.tooloop.de/uploads/contact_logo_threema.png"
|
||||||
width="32px" alt="Threema"></a>
|
width="32px" alt="Threema"></a>
|
||||||
<a style="margin: 0 8px;"
|
<a style="margin: 0 8px;"
|
||||||
href="https://matrix.to/#/@vollstock:matrix.org@TrackLink"><img
|
href="https://matrix.to/#/@vollstock:matrix.org"><img
|
||||||
src="http://newsletter.tooloop.de/uploads/contact_logo_matrix.png"
|
src="http://newsletter.tooloop.de/uploads/contact_logo_matrix.png"
|
||||||
width="32px" alt="Matrix"></a>
|
width="32px" alt="Matrix"></a>
|
||||||
<a style="margin: 0 8px;"
|
<a style="margin: 0 8px;"
|
||||||
href="https://www.github.com/tooloop@TrackLink"><img
|
href="https://www.github.com/tooloop"><img
|
||||||
src="http://newsletter.tooloop.de/uploads/contact_logo_github.png"
|
src="http://newsletter.tooloop.de/uploads/contact_logo_github.png"
|
||||||
width="32px" alt="Github"></a>
|
width="32px" alt="Github"></a>
|
||||||
<a style="margin: 0 8px;"
|
<a style="margin: 0 8px;"
|
||||||
href="https://www.linkedin.com/in/daniel-stock-749678123@TrackLink"><img
|
href="https://www.linkedin.com/in/daniel-stock-749678123"><img
|
||||||
src="http://newsletter.tooloop.de/uploads/contact_logo_linkedin.png"
|
src="http://newsletter.tooloop.de/uploads/contact_logo_linkedin.png"
|
||||||
width="32px" alt="LinkedIn"></a>
|
width="32px" alt="LinkedIn"></a>
|
||||||
<a style="margin: 0 8px;"
|
<a style="margin: 0 8px;"
|
||||||
href="https://www.xing.com/profile/Daniel_Stock9@TrackLink"><img
|
href="https://www.xing.com/profile/Daniel_Stock9"><img
|
||||||
src="http://newsletter.tooloop.de/uploads/contact_logo_xing.png"
|
src="http://newsletter.tooloop.de/uploads/contact_logo_xing.png"
|
||||||
width="32px" alt="Xing"></a>
|
width="32px" alt="Xing"></a>
|
||||||
<a style="margin: 0 8px;"
|
<a style="margin: 0 8px;"
|
||||||
href="https://mastodon.social/@tooloop@TrackLink"><img
|
href="https://mastodon.social/@tooloop"><img
|
||||||
src="http://newsletter.tooloop.de/uploads/contact_logo_mastodon.png"
|
src="http://newsletter.tooloop.de/uploads/contact_logo_mastodon.png"
|
||||||
width="32px" alt="Xing"></a>
|
width="32px" alt="Xing"></a>
|
||||||
<a style="margin: 0 8px;"
|
<a style="margin: 0 8px;"
|
||||||
href="https://www.instagram.com/tooloop.multimedia/@TrackLink"><img
|
href="https://www.instagram.com/tooloop.multimedia/"><img
|
||||||
src="http://newsletter.tooloop.de/uploads/contact_logo_instagram.png"
|
src="http://newsletter.tooloop.de/uploads/contact_logo_instagram.png"
|
||||||
width="32px" alt="Xing"></a>
|
width="32px" alt="Xing"></a>
|
||||||
</p>
|
</p>
|
||||||
@@ -0,0 +1,351 @@
|
|||||||
|
@php
|
||||||
|
$fmt = new \IntlDateFormatter('de_DE', NULL, NULL);
|
||||||
|
$fmt->setPattern('d. MMMM yyyy');
|
||||||
|
@endphp
|
||||||
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
|
||||||
|
<html lang="de">
|
||||||
|
|
||||||
|
<head>
|
||||||
|
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||||
|
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||||
|
|
||||||
|
<title>Auftragsbestätigung</title>
|
||||||
|
|
||||||
|
<style type="text/css">
|
||||||
|
* {
|
||||||
|
font-family: system-ui, sans-serif;
|
||||||
|
}
|
||||||
|
|
||||||
|
a {
|
||||||
|
color: #00264D;
|
||||||
|
}
|
||||||
|
|
||||||
|
p {
|
||||||
|
font-size: 16px;
|
||||||
|
line-height: 24px;
|
||||||
|
font-weight: 400;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Outlines the grids, remove when sending */
|
||||||
|
/* table td {
|
||||||
|
border: 1px solid rgb(227, 238, 245);
|
||||||
|
} */
|
||||||
|
|
||||||
|
/* CLIENT-SPECIFIC STYLES */
|
||||||
|
body,
|
||||||
|
table,
|
||||||
|
td,
|
||||||
|
a {
|
||||||
|
-webkit-text-size-adjust: 100%;
|
||||||
|
-ms-text-size-adjust: 100%;
|
||||||
|
}
|
||||||
|
|
||||||
|
table,
|
||||||
|
td {
|
||||||
|
mso-table-lspace: 0pt;
|
||||||
|
mso-table-rspace: 0pt;
|
||||||
|
}
|
||||||
|
|
||||||
|
img {
|
||||||
|
-ms-interpolation-mode: bicubic;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* RESET STYLES */
|
||||||
|
img {
|
||||||
|
border: 0;
|
||||||
|
outline: none;
|
||||||
|
text-decoration: none;
|
||||||
|
max-width: 100%;
|
||||||
|
height: auto;
|
||||||
|
}
|
||||||
|
|
||||||
|
table {
|
||||||
|
border-collapse: collapse !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
body {
|
||||||
|
margin: 0 !important;
|
||||||
|
padding: 0 !important;
|
||||||
|
width: 100% !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
li {
|
||||||
|
font-size: 16px;
|
||||||
|
margin-bottom: 8px;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* iOS BLUE LINKS */
|
||||||
|
a[x-apple-data-detectors] {
|
||||||
|
color: inherit !important;
|
||||||
|
text-decoration: none !important;
|
||||||
|
font-size: inherit !important;
|
||||||
|
font-family: inherit !important;
|
||||||
|
font-weight: inherit !important;
|
||||||
|
line-height: inherit !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* ANDROID CENTER FIX */
|
||||||
|
div[style*="margin: 16px 0;"] {
|
||||||
|
margin: 0 !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* MEDIA QUERIES */
|
||||||
|
@media all and (max-width:699px) {
|
||||||
|
.wrapper {
|
||||||
|
width: 100% !important;
|
||||||
|
padding: 0 !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.container {
|
||||||
|
width: calc(100% - 64px) !important;
|
||||||
|
padding: 0 !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.mobile {
|
||||||
|
width: 100% !important;
|
||||||
|
display: block !important;
|
||||||
|
padding: 0 !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.img {
|
||||||
|
width: 100% !important;
|
||||||
|
height: auto !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
*[class="mobileOff"] {
|
||||||
|
width: 0px !important;
|
||||||
|
display: none !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
*[class*="mobileOn"] {
|
||||||
|
display: block !important;
|
||||||
|
max-height: none !important;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.table tr {
|
||||||
|
border-top: 1px solid #cccccc;
|
||||||
|
border-bottom: 1px solid #cccccc;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
|
||||||
|
</head>
|
||||||
|
|
||||||
|
<body style="margin:0; padding:0; background-color:#f2f2f2;">
|
||||||
|
|
||||||
|
<span style="display: block; width: 700px !important; max-width: 700px; height: 1px" class="mobileOff"></span>
|
||||||
|
|
||||||
|
<center>
|
||||||
|
<table width="100%" border="0" cellpadding="0" cellspacing="0" bgcolor="#f2f2f2">
|
||||||
|
<tr>
|
||||||
|
<td align="center" valign="top">
|
||||||
|
|
||||||
|
<!-- Logo -->
|
||||||
|
<table width="700" cellpadding="0" cellspacing="0" border="0" class="wrapper" bgcolor="#FFFFFF">
|
||||||
|
<tr>
|
||||||
|
<td height="32" style="font-size:12px; line-height:15px;"> </td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td align="center" valign="top">
|
||||||
|
|
||||||
|
<table width="636" cellpadding="0" cellspacing="0" border="0" class="container">
|
||||||
|
<tr>
|
||||||
|
<td valign="top">
|
||||||
|
<a href="https://www.tooloop.de"><img
|
||||||
|
src="http://newsletter.tooloop.de/uploads/tooloop-logo.png"
|
||||||
|
width="128px" alt="Tooloop"></a>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td height="32" style="font-size:12px; line-height:15px;"> </td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
|
||||||
|
<!-- --------------------------------------------------- -->
|
||||||
|
<!-- Content -->
|
||||||
|
<!-- --------------------------------------------------- -->
|
||||||
|
|
||||||
|
<!-- schon angepasst -->
|
||||||
|
|
||||||
|
<table width="700" cellpadding="0" cellspacing="0" border="0" class="wrapper" bgcolor="#ffffff">
|
||||||
|
<tr>
|
||||||
|
<td height="32" style="font-size:12px; line-height:15px;"> </td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td align="center" valign="top">
|
||||||
|
|
||||||
|
<table width="636" cellpadding="0" cellspacing="0" border="0" class="container">
|
||||||
|
<tr>
|
||||||
|
<td align="left" valign="top">
|
||||||
|
<p>Hallo {{ $offer['contact']['salutation'] ?? '' }} {{
|
||||||
|
$offer['contact']['lastName'] }},</p>
|
||||||
|
<p>wir bedanken uns herzlich für Ihren Auftrag und bestätigen Ihnen hiermit
|
||||||
|
den Eingang und die Annahme Ihres Auftrags vom {{
|
||||||
|
$fmt->format(strtotime($offer['orderDate'])) }}.</p>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td height="32" style="font-size:12px; line-height:15px;"> </td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td align="center" valign="top">
|
||||||
|
<table width="100%" class="table">
|
||||||
|
<!-- <tr>
|
||||||
|
<th align="left" height="32" style="font-size:16px;">Angebots-Nr.
|
||||||
|
</th>
|
||||||
|
<td align="left" height="32" style="font-size:16px;">{{ $offer['nr']
|
||||||
|
}}</td>
|
||||||
|
</tr> -->
|
||||||
|
<tr>
|
||||||
|
<th align="left" height="32" style="font-size:16px;">Betreff</th>
|
||||||
|
<td align="left" height="32" style="font-size:16px;">{{
|
||||||
|
$offer['title'] }}</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<th align="left" height="32" style="font-size:16px;">Unser Angebot
|
||||||
|
vom</th>
|
||||||
|
<td align="left" height="32" style="font-size:16px;">{{
|
||||||
|
$fmt->format(strtotime($offer['offerDate'])) }}</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<th align="left" height="32" style="font-size:16px;">Gesamtbetrag
|
||||||
|
</th>
|
||||||
|
<td align="left" height="32" style="font-size:16px;">
|
||||||
|
@toCurrency(round($offer['totalAmount'] * 1.19, 2))</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<th align="left" height="32" style="font-size:16px;">Zahlungsziel
|
||||||
|
</th>
|
||||||
|
@if($offer['paymentTerms']['isFixed'])
|
||||||
|
<td align="left" height="32" style="font-size:16px;">{{
|
||||||
|
$offer['paymentTerms']['description'] }}</td>
|
||||||
|
@else
|
||||||
|
<td align="left" height="32" style="font-size:16px;">{{
|
||||||
|
$offer['paymentTerms']['days'] }} Tage</td>
|
||||||
|
@endif
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td height="32" style="font-size:12px; line-height:15px;"> </td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td align="left" valign="top">
|
||||||
|
<p>Falls Sie Fragen haben oder Änderungen am Auftrag vornehmen möchten,
|
||||||
|
stehen wir Ihnen gerne zur Verfügung. Wir freuen uns auf eine
|
||||||
|
erfolgreiche Zusammenarbeit.</p>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td height="32" style="font-size:12px; line-height:15px;"> </td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td align="left" valign="top">
|
||||||
|
<p style="color: #999999; font-size: 14px; line-height: 21px;">Es gelten
|
||||||
|
unsere allgemeinen Geschäftsbedingungen, die Sie jederzeit unter <a
|
||||||
|
href="https://www.tooloop.de/de/agb">www.tooloop.de/agb</a> einsehen
|
||||||
|
können.</p>
|
||||||
|
<p style="color: #999999; font-size: 14px; line-height: 21px;">Dieses
|
||||||
|
Dokument dient als Auftragsbestätigung und ist nicht als
|
||||||
|
umsatzsteuerlich gültiges Dokument zu verstehen. Es berechtigt nicht zum
|
||||||
|
Vorsteuerabzug. <!-- Der ausgewiesene
|
||||||
|
Mehrwertsteuerbetrag dient lediglich zu Ihrer Information.--> Die
|
||||||
|
Rechnung
|
||||||
|
zu Ihrem Auftrag wird Ihnen in einer separaten Mail zugesendet.
|
||||||
|
</p>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td height="32" style="font-size:12px; line-height:15px;"> </td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
|
||||||
|
<!-- --------------------------------------------------- -->
|
||||||
|
<!-- End content -->
|
||||||
|
<!-- --------------------------------------------------- -->
|
||||||
|
|
||||||
|
|
||||||
|
<!-- Last Space -->
|
||||||
|
<table width="700" cellpadding="0" cellspacing="0" border="0" class="wrapper" bgcolor="#ffffff">
|
||||||
|
<tr>
|
||||||
|
<td height="32" style="font-size:12px; line-height:15px;"> </td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
|
||||||
|
<!-- Footer -->
|
||||||
|
<table width="700" cellpadding="0" cellspacing="0" border="0" class="wrapper" bgcolor="#f2f2f2">
|
||||||
|
<tr>
|
||||||
|
<td height="64" style="font-size:24px; line-height:30px;"> </td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td align="center" valign="top">
|
||||||
|
|
||||||
|
<table width="636" cellpadding="0" cellspacing="0" border="0" class="container">
|
||||||
|
<tr>
|
||||||
|
<td align="center" valign="top">
|
||||||
|
<p style="font-size: 14px; line-height: 21px;">
|
||||||
|
<a style="color: #00264D;" href="tel:+4982165079983">+49 821
|
||||||
|
65079983</a>,
|
||||||
|
<a href="https://www.tooloop.de" style="color: #00264D;"
|
||||||
|
target="_blank">www.tooloop.de</a>,
|
||||||
|
<a style="color: #00264D;"
|
||||||
|
href="mailto:info@tooloop.de">info@tooloop.de</a>
|
||||||
|
</p>
|
||||||
|
<p style="color: #999999; font-size: 14px; line-height: 21px;">Tooloop
|
||||||
|
Multimedia Daniel
|
||||||
|
Stock, Rehmstraße 4, 86161 Augsburg</p>
|
||||||
|
<p>
|
||||||
|
<a style="margin: 0 8px;" href="https://threema.id/KACDAD2H"><img
|
||||||
|
src="http://newsletter.tooloop.de/uploads/contact_logo_threema.png"
|
||||||
|
width="32px" alt="Threema"></a>
|
||||||
|
<a style="margin: 0 8px;"
|
||||||
|
href="https://matrix.to/#/@vollstock:matrix.org"><img
|
||||||
|
src="http://newsletter.tooloop.de/uploads/contact_logo_matrix.png"
|
||||||
|
width="32px" alt="Matrix"></a>
|
||||||
|
<a style="margin: 0 8px;" href="https://www.github.com/tooloop"><img
|
||||||
|
src="http://newsletter.tooloop.de/uploads/contact_logo_github.png"
|
||||||
|
width="32px" alt="Github"></a>
|
||||||
|
<a style="margin: 0 8px;"
|
||||||
|
href="https://www.linkedin.com/in/daniel-stock-749678123"><img
|
||||||
|
src="http://newsletter.tooloop.de/uploads/contact_logo_linkedin.png"
|
||||||
|
width="32px" alt="LinkedIn"></a>
|
||||||
|
<a style="margin: 0 8px;"
|
||||||
|
href="https://www.xing.com/profile/Daniel_Stock9"><img
|
||||||
|
src="http://newsletter.tooloop.de/uploads/contact_logo_xing.png"
|
||||||
|
width="32px" alt="Xing"></a>
|
||||||
|
<a style="margin: 0 8px;" href="https://mastodon.social/@tooloop"><img
|
||||||
|
src="http://newsletter.tooloop.de/uploads/contact_logo_mastodon.png"
|
||||||
|
width="32px" alt="Xing"></a>
|
||||||
|
<a style="margin: 0 8px;"
|
||||||
|
href="https://www.instagram.com/tooloop.multimedia/"><img
|
||||||
|
src="http://newsletter.tooloop.de/uploads/contact_logo_instagram.png"
|
||||||
|
width="32px" alt="Xing"></a>
|
||||||
|
</p>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td height="64" style="font-size:24px; line-height:30px;"> </td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
</center>
|
||||||
|
</body>
|
||||||
|
|
||||||
|
</html>
|
||||||
+50
-2
@@ -8,15 +8,18 @@
|
|||||||
use App\Models\Invoice;
|
use App\Models\Invoice;
|
||||||
use App\Http\Controllers\PaymentTermsController;
|
use App\Http\Controllers\PaymentTermsController;
|
||||||
use App\Http\Controllers\SettingController;
|
use App\Http\Controllers\SettingController;
|
||||||
|
use App\Mail\OrderConfirmation;
|
||||||
use App\Support\ApiDataTransformer;
|
use App\Support\ApiDataTransformer;
|
||||||
|
use Illuminate\Support\Facades\Mail;
|
||||||
|
|
||||||
|
|
||||||
|
Route::get('customers/{id}', [CustomerController::class, 'single']);
|
||||||
Route::get('customers', [CustomerController::class, 'index']);
|
Route::get('customers', [CustomerController::class, 'index']);
|
||||||
// ->middleware('auth:sanctum');
|
// ->middleware('auth:sanctum');
|
||||||
|
|
||||||
|
|
||||||
// Route::apiResource('invoices', InvoiceController::class);
|
// Route::apiResource('invoices', InvoiceController::class);
|
||||||
// ->middleware('auth:sanctum');
|
// ->middleware('auth:sanctum');
|
||||||
|
|
||||||
Route::get('/invoices', [InvoiceController::class, 'index']);
|
Route::get('/invoices', [InvoiceController::class, 'index']);
|
||||||
Route::post('/invoices', [InvoiceController::class, 'store']);
|
Route::post('/invoices', [InvoiceController::class, 'store']);
|
||||||
Route::get('/invoices/{id}', [InvoiceController::class, 'single']);
|
Route::get('/invoices/{id}', [InvoiceController::class, 'single']);
|
||||||
@@ -25,7 +28,52 @@
|
|||||||
|
|
||||||
Route::get('/invoices/{id}/remind', function ($id) {
|
Route::get('/invoices/{id}/remind', function ($id) {
|
||||||
$invoice = InvoiceController::single($id);
|
$invoice = InvoiceController::single($id);
|
||||||
return new Reminder($invoice);
|
Mail::to('daniel@vollstock.de')->send(new Reminder($invoice));
|
||||||
|
// return new Reminder($invoice);
|
||||||
|
});
|
||||||
|
|
||||||
|
Route::get('/offers/{id}/confirmation', function ($id) {
|
||||||
|
// $offer = offerController::single($id);
|
||||||
|
$offer = [
|
||||||
|
'nr' => 0,
|
||||||
|
'offerDate' => '2025-10-01',
|
||||||
|
'orderDate' => '2025-10-28',
|
||||||
|
'customerId' => 0,
|
||||||
|
'customer' => [
|
||||||
|
'companyName' => '',
|
||||||
|
'vatId' => '',
|
||||||
|
'billingAddress' => [
|
||||||
|
'lineOne' => '',
|
||||||
|
'lineTwo' => '',
|
||||||
|
'city' => '',
|
||||||
|
'postalCode' => '',
|
||||||
|
'countryCode' => 'DE',
|
||||||
|
]
|
||||||
|
],
|
||||||
|
'contact' => [
|
||||||
|
'salutation' => 'Frau',
|
||||||
|
'firstName' => '',
|
||||||
|
'lastName' => '',
|
||||||
|
'email' => '',
|
||||||
|
'phone' => '',
|
||||||
|
'position' => null,
|
||||||
|
'isPrimary' => false,
|
||||||
|
'avatar' => null,
|
||||||
|
],
|
||||||
|
'totalAmount' => '13575.88',
|
||||||
|
'title' => "",
|
||||||
|
'text' => '',
|
||||||
|
'items' => [],
|
||||||
|
'paymentTerms' => [
|
||||||
|
'name' => 'onReceipt',
|
||||||
|
'description' => 'Bei Rechnungserhalt',
|
||||||
|
'isFixed' => true,
|
||||||
|
'days' => null,
|
||||||
|
]
|
||||||
|
];
|
||||||
|
|
||||||
|
// Mail::to('')->cc([''])->send(new OrderConfirmation($offer));
|
||||||
|
return new OrderConfirmation($offer);
|
||||||
});
|
});
|
||||||
|
|
||||||
Route::get('/paymentterms', [PaymentTermsController::class, 'index']);
|
Route::get('/paymentterms', [PaymentTermsController::class, 'index']);
|
||||||
|
|||||||
Reference in New Issue
Block a user