order package label

main
alex 2024-05-02 22:55:11 +02:00
parent 4f7169d42e
commit a532af2be6
15 changed files with 214 additions and 5 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 596 KiB

View File

@ -0,0 +1,63 @@
<!DOCTYPE html>
<html lang="de">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Versandlabel</title>
<link
href="https://fonts.googleapis.com/css2?family=Outfit:wght@100..900&display=swap"
rel="stylesheet"
/>
<style>
@page {
margin: 0;
padding: 0;
size: 2046mm 360mm;
}
:root {
--container-width: 2046mm;
--container-height: 360mm;
}
body,
html {
margin: 0;
padding: 0;
font-family: "Outfit";
width: var(--container-width); /* Breite des Containers */
height: var(--container-height); /* Höhe des Containers */
font-size: 40px;
}
.large-container {
width: var(--container-width); /* Breite des Containers */
height: var(--container-height); /* Höhe des Containers */
background-color: #ddd; /* Hintergrundfarbe */
display: flex;
align-items: center;
}
.container {
height: var(--container-height); /* Höhe des Containers */
}
</style>
</head>
<body>
<div class="large-container">
<h1 style="">Von SHINNEX für Annete</h1>
<div style="display: flex; flex-direction: column; align-items: center">
<h1>Folge uns</h1>
<img src="instagram-logo.png" width="80px" />
<h1>SHINNEX</h1>
</div>
<div style="display: flex; flex-direction: column; align-items: center">
<h1>Folge uns</h1>
<img src="tiktok-logo.png" width="80px" />
<h1>SHINNEX</h1>
</div>
</div>
</body>
</html>

View File

@ -0,0 +1,87 @@
<!DOCTYPE html>
<html lang="de">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Versandlabel</title>
<style>
@page {
margin: 0;
padding: 0;
size: 2046mm 360mm;
}
:root {
--container-width: 2046mm;
--container-height: 360mm;
}
body,
html {
margin: 0;
padding: 0;
font-size: 14px;
width: var(--container-width); /* Breite des Containers */
height: var(--container-height); /* Höhe des Containers */
}
.large-container {
width: var(--container-width); /* Breite des Containers */
height: var(--container-height); /* Höhe des Containers */
background-color: #808080; /* Hintergrundfarbe */
display: flex;
align-items: center;
}
.container {
height: var(--container-height); /* Höhe des Containers */
}
</style>
</head>
<body>
<div class="large-container">
<div
class="container"
style="width: 200mm; background-color: orange"
></div>
<div
class="container"
style="width: 12mm; background-color: #d9d9d9; position: absolute"
></div>
<div
class="container"
style="
width: 2400mm;
background-color: blue;
display: flex;
justify-content: center;
align-items: center;
"
>
<img src="Stempel.png" width="1500" />
</div>
<div class="container" style="width: 400mm; background-color: pink"></div>
<div
class="container"
style="
width: 2400mm;
background-color: purple;
display: flex;
justify-content: center;
align-items: center;
"
>
<img src="label.png" width="2600" />
</div>
<div
class="container"
style="width: 400mm; background-color: yellow"
></div>
</div>
</body>
</html>

View File

@ -0,0 +1,15 @@
{
"category": "Shinnex",
"name": "Versandlabel erstellen",
"globalInputs": [],
"tasks": [
{
"name": "Versandlabel erstellen und drucken",
"onFinish": "next",
"undoPossible": false,
"repeatPossible": true,
"scriptPath": "script.py",
"parameters": []
}
]
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 206 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 275 KiB

Binary file not shown.

View File

@ -0,0 +1,28 @@
import subprocess
import sys
def createPdf(sourceHtml, outputPdf):
command = [
"google-chrome-stable",
"--headless",
"--no-sandbox",
"--disable-gpu",
"--debug=1",
"--print-to-pdf=" + outputPdf,
"--run-all-compositor-stages-before-draw",
"--virtual-time-budget=10000",
sourceHtml,
]
process = subprocess.Popen(command, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
_, stderr = process.communicate()
if process.returncode != 0:
print("Error creating PDF")
print(stderr)
sys.exit(1)
if __name__ == "__main__":
print("Order Package Label")
createPdf("index.html", "output.pdf")

Binary file not shown.

After

Width:  |  Height:  |  Size: 105 KiB

View File

@ -72,7 +72,7 @@
</p>
<div class="code-box first-item" style="margin-top: 39px">
<span>ASD</span>
<span>{{DISCOUNT_CODE}}</span>
</div>
</div>

View File

@ -53,7 +53,7 @@
Hey, wir haben gerade Dein Paket liebevoll verpackt und konnten es kaum
erwarten, Dir diese kleine Nachricht zu hinterlassen,
</span>
<b>Anna</b><span>.</span>
<b>{{CUSTOMER_NAME}}</b><span>.</span>
</div>
<p>
@ -87,7 +87,7 @@
<p>
<span>Jeder Code ist ein kleines Dankeschön von uns an Dich, </span>
<b>Anna</b
<b>{{CUSTOMER_NAME}}</b
><span
>, und wir hoffen, dass sie Dein Shopping-Erlebnis noch besser machen.
Falls Du Fragen hast oder Unterstützung brauchst, zögere nicht, uns zu

View File

@ -181,7 +181,7 @@
bgcolor="#af9363"
>
<a
href="https://shinnex.de"
href="https://shinnex.de?utm_source=email&utm_medium=email&utm_campaign=deserved_voucher&utm_content=deserved_voucher"
class="button__text"
style="
font-size: 16px;

View File

@ -4,6 +4,6 @@ Dein Gutscheincode als Dankeschön
Dein Gutscheincode lautet: {{VOUCHER_CODE}}
Zu unserem Shop: https://shinnex.de
Zu unserem Shop: https://shinnex.de?utm_source=email&utm_medium=email&utm_campaign=deserved_voucher&utm_content=deserved_voucher
Falls du Fragen hast, antworte auf diese E-Mail oder kontaktiere uns unter info@shinnex.de.

View File

@ -832,3 +832,18 @@ func DeleteCrmLink(c *fiber.Ctx) error {
return c.SendStatus(fiber.StatusOK)
}
func CrmNoLinkProvidedRedirect(c *fiber.Ctx) error {
// swagger:operation GET /crm/nolink crm crmNoLinkProvidedRedirect
// ---
// summary: Redirect to crm no link provided
// produces:
// - application/json
// responses:
// '200':
// description: Redirect to crm no link provided
// '500':
// description: Failed to redirect to crm no link provided
return c.Redirect("https://shinnex.de?utm_source=web&utm_medium=web&utm_campaign=voucherlinkredirect&utm_content=redirect")
}

View File

@ -80,6 +80,7 @@ func SetupRoutes(app *fiber.App) {
c.Post("/links", requestAccessValidation, crm.CreateCrmLink)
c.Get("/links/:customerId", requestAccessValidation, crm.GetCrmLinks)
c.Get("/link/:id", crm.CrmUseLink)
c.Get("/link", crm.CrmNoLinkProvidedRedirect)
c.Delete("/links/:id", requestAccessValidation, crm.DeleteCrmLink)
app.Static("/", config.Cfg.FolderPaths.PublicStatic)