From 07d888257fed8cab9c504f226cfb7e321baa0f56 Mon Sep 17 00:00:00 2001 From: David Bomba Date: Thu, 17 Nov 2022 16:41:23 +1100 Subject: [PATCH] Paid CSS Overlay --- app/Mail/Engine/PaymentEmailEngine.php | 8 ++++ app/Utils/HtmlEngine.php | 5 +++ .../views/email/template/admin.blade.php | 30 +++++++++++++ .../views/email/template/client.blade.php | 27 ++++++++++++ .../views/email/template/master.blade.php | 30 +++++++++++++ resources/views/pdf-designs/bold.html | 42 +++++++++++++++++-- resources/views/pdf-designs/business.html | 30 +++++++++++++ resources/views/pdf-designs/calm.html | 29 +++++++++++++ resources/views/pdf-designs/clean.html | 30 +++++++++++++ resources/views/pdf-designs/creative.html | 29 +++++++++++++ resources/views/pdf-designs/elegant.html | 31 +++++++++++++- resources/views/pdf-designs/hipster.html | 29 +++++++++++++ resources/views/pdf-designs/modern.html | 29 +++++++++++++ resources/views/pdf-designs/plain.html | 29 +++++++++++++ resources/views/pdf-designs/playful.html | 30 +++++++++++++ resources/views/pdf-designs/tech.html | 31 +++++++++++++- 16 files changed, 433 insertions(+), 6 deletions(-) diff --git a/app/Mail/Engine/PaymentEmailEngine.php b/app/Mail/Engine/PaymentEmailEngine.php index f1eaac47ffb5..bf15b7aa2ca4 100644 --- a/app/Mail/Engine/PaymentEmailEngine.php +++ b/app/Mail/Engine/PaymentEmailEngine.php @@ -243,6 +243,14 @@ class PaymentEmailEngine extends BaseEmailEngine $data['$invoices.due_date'] = ['value' => $this->formatInvoiceField('due_date'), 'label' => ctrans('texts.invoices')]; $data['$invoices.po_number'] = ['value' => $this->formatInvoiceField('po_number'), 'label' => ctrans('texts.invoices')]; + + if($this->payment->status_id == 4) { + $data['$status_logo'] = ['value' => '
' . ctrans('texts.paid') .'
', 'label' => '']; + } + else + $data['$status_logo'] = ['value' => '', 'label' => '']; + + $arrKeysLength = array_map('strlen', array_keys($data)); array_multisort($arrKeysLength, SORT_DESC, $data); diff --git a/app/Utils/HtmlEngine.php b/app/Utils/HtmlEngine.php index a022d5e1642e..003d5fb1f79f 100644 --- a/app/Utils/HtmlEngine.php +++ b/app/Utils/HtmlEngine.php @@ -124,6 +124,7 @@ class HtmlEngine $data['$line_tax_labels'] = ['value' => $this->lineTaxLabels(), 'label' => ctrans('texts.taxes')]; $data['$line_tax_values'] = ['value' => $this->lineTaxValues(), 'label' => ctrans('texts.taxes')]; $data['$date'] = ['value' => $this->translateDate($this->entity->date, $this->client->date_format(), $this->client->locale()) ?: ' ', 'label' => ctrans('texts.date')]; + $data['$status_logo'] = ['value' => '', 'label' => '']; $data['$invoice.date'] = &$data['$date']; $data['$invoiceDate'] = &$data['$date']; @@ -167,6 +168,10 @@ class HtmlEngine $data['$invoice.project'] = &$data['$project.name']; } + if($this->entity->status_id == 4) { + $data['$status_logo'] = ['value' => '
' . ctrans('texts.paid') .'
', 'label' => '']; + } + if($this->entity->vendor) { $data['$invoice.vendor'] = ['value' => $this->entity->vendor->present()->name(), 'label' => ctrans('texts.vendor_name')]; } diff --git a/resources/views/email/template/admin.blade.php b/resources/views/email/template/admin.blade.php index 82b9df9e55a5..7aecb654c82e 100644 --- a/resources/views/email/template/admin.blade.php +++ b/resources/views/email/template/admin.blade.php @@ -101,6 +101,36 @@ #content .center { text-align: center; } + + .stamp { + transform: rotate(12deg); + color: #555; + font-size: 3rem; + font-weight: 700; + border: 0.25rem solid #555; + display: inline-block; + padding: 0.25rem 1rem; + text-transform: uppercase; + border-radius: 1rem; + font-family: 'Courier'; + mix-blend-mode: multiply; + z-index:200 !important; + position: fixed; + text-align: center; + } + + .is-paid { + color: #D23; + border: 1rem double #D23; + transform: rotate(-5deg); + font-size: 6rem; + font-family: "Open sans", Helvetica, Arial, sans-serif; + border-radius: 0; + padding: 0.5rem; + opacity: 0.2; + z-index:200 !important; + position: fixed; + } diff --git a/resources/views/email/template/client.blade.php b/resources/views/email/template/client.blade.php index ac4dced9248a..93e772abe888 100644 --- a/resources/views/email/template/client.blade.php +++ b/resources/views/email/template/client.blade.php @@ -80,6 +80,33 @@ #content .left { text-align: left !important; } + + .stamp { + transform: rotate(12deg); + color: #555; + font-size: 3rem; + font-weight: 700; + border: 0.25rem solid #555; + text-transform: uppercase; + border-radius: 1rem; + font-family: 'Courier'; + mix-blend-mode: multiply; + z-index:200 !important; + position: relative; + } + + .is-paid { + color: #D23; + border: 1rem double #D23; + transform: rotate(-5deg); + font-size: 6rem; + font-family: "Open sans", Helvetica, Arial, sans-serif; + border-radius: 0; + padding: 0.5rem; + opacity: 0.2; + z-index:200 !important; + position: relative; + } -
diff --git a/resources/views/pdf-designs/business.html b/resources/views/pdf-designs/business.html index fe8285c334ac..d4c0da6f2c44 100644 --- a/resources/views/pdf-designs/business.html +++ b/resources/views/pdf-designs/business.html @@ -276,6 +276,36 @@ overflow-wrap: break-word; } + .stamp { + transform: rotate(12deg); + color: #555; + font-size: 3rem; + font-weight: 700; + border: 0.25rem solid #555; + display: inline-block; + padding: 0.25rem 1rem; + text-transform: uppercase; + border-radius: 1rem; + font-family: 'Courier'; + mix-blend-mode: multiply; + z-index:200 !important; + position: fixed; + text-align: center; + } + + .is-paid { + color: #D23; + border: 1rem double #D23; + transform: rotate(-5deg); + font-size: 6rem; + font-family: "Open sans", Helvetica, Arial, sans-serif; + border-radius: 0; + padding: 0.5rem; + opacity: 0.2; + z-index:200 !important; + position: fixed; + } + /** Useful snippets, uncomment to enable. **/ /** Hide company logo **/ diff --git a/resources/views/pdf-designs/calm.html b/resources/views/pdf-designs/calm.html index 0ebcd8d26f85..bbd8887835ca 100644 --- a/resources/views/pdf-designs/calm.html +++ b/resources/views/pdf-designs/calm.html @@ -264,6 +264,35 @@ [data-ref="total_table-public_notes"] { font-weight: normal; } [data-ref="total_table-terms"] { font-weight: normal; } + .stamp { + transform: rotate(12deg); + color: #555; + font-size: 3rem; + font-weight: 700; + border: 0.25rem solid #555; + display: inline-block; + padding: 0.25rem 1rem; + text-transform: uppercase; + border-radius: 1rem; + font-family: 'Courier'; + mix-blend-mode: multiply; + z-index:200 !important; + position: fixed; + text-align: center; + } + + .is-paid { + color: #D23; + border: 1rem double #D23; + transform: rotate(-5deg); + font-size: 6rem; + font-family: "Open sans", Helvetica, Arial, sans-serif; + border-radius: 0; + padding: 0.5rem; + opacity: 0.2; + z-index:200 !important; + position: fixed; + } /** Useful snippets, uncomment to enable. **/ /** Hide company logo **/ diff --git a/resources/views/pdf-designs/clean.html b/resources/views/pdf-designs/clean.html index b584d6c6be45..1f9fcebbd282 100644 --- a/resources/views/pdf-designs/clean.html +++ b/resources/views/pdf-designs/clean.html @@ -257,6 +257,36 @@ overflow-wrap: break-word; } + .stamp { + transform: rotate(12deg); + color: #555; + font-size: 3rem; + font-weight: 700; + border: 0.25rem solid #555; + display: inline-block; + padding: 0.25rem 1rem; + text-transform: uppercase; + border-radius: 1rem; + font-family: 'Courier'; + mix-blend-mode: multiply; + z-index:200 !important; + position: fixed; + text-align: center; + } + + .is-paid { + color: #D23; + border: 1rem double #D23; + transform: rotate(-5deg); + font-size: 6rem; + font-family: "Open sans", Helvetica, Arial, sans-serif; + border-radius: 0; + padding: 0.5rem; + opacity: 0.2; + z-index:200 !important; + position: fixed; + } + /** Useful snippets, uncomment to enable. **/ /** Hide company logo **/ diff --git a/resources/views/pdf-designs/creative.html b/resources/views/pdf-designs/creative.html index 4bf969e71715..1f7f6dbe8050 100644 --- a/resources/views/pdf-designs/creative.html +++ b/resources/views/pdf-designs/creative.html @@ -229,6 +229,35 @@ overflow-wrap: break-word; } + .stamp { + transform: rotate(12deg); + color: #555; + font-size: 3rem; + font-weight: 700; + border: 0.25rem solid #555; + display: inline-block; + padding: 0.25rem 1rem; + text-transform: uppercase; + border-radius: 1rem; + font-family: 'Courier'; + mix-blend-mode: multiply; + z-index:200 !important; + position: fixed; + text-align: center; + } + + .is-paid { + color: #D23; + border: 1rem double #D23; + transform: rotate(-5deg); + font-size: 6rem; + font-family: "Open sans", Helvetica, Arial, sans-serif; + border-radius: 0; + padding: 0.5rem; + opacity: 0.2; + z-index:200 !important; + position: fixed; + } /** Useful snippets, uncomment to enable. **/ /** Hide company logo **/ diff --git a/resources/views/pdf-designs/elegant.html b/resources/views/pdf-designs/elegant.html index 98b39ca60bba..649160995e15 100644 --- a/resources/views/pdf-designs/elegant.html +++ b/resources/views/pdf-designs/elegant.html @@ -233,7 +233,36 @@ max-width: 300px; overflow-wrap: break-word; } - + + .stamp { + transform: rotate(12deg); + color: #555; + font-size: 3rem; + font-weight: 700; + border: 0.25rem solid #555; + display: inline-block; + padding: 0.25rem 1rem; + text-transform: uppercase; + border-radius: 1rem; + font-family: 'Courier'; + mix-blend-mode: multiply; + z-index:200 !important; + position: fixed; + text-align: center; + } + + .is-paid { + color: #D23; + border: 1rem double #D23; + transform: rotate(-5deg); + font-size: 6rem; + font-family: "Open sans", Helvetica, Arial, sans-serif; + border-radius: 0; + padding: 0.5rem; + opacity: 0.2; + z-index:200 !important; + position: fixed; + } /** Useful snippets, uncomment to enable. **/ /** Hide company logo **/ diff --git a/resources/views/pdf-designs/hipster.html b/resources/views/pdf-designs/hipster.html index b14f8c2fe586..d3201b1bc92c 100644 --- a/resources/views/pdf-designs/hipster.html +++ b/resources/views/pdf-designs/hipster.html @@ -251,6 +251,35 @@ overflow-wrap: break-word; } + .stamp { + transform: rotate(12deg); + color: #555; + font-size: 3rem; + font-weight: 700; + border: 0.25rem solid #555; + display: inline-block; + padding: 0.25rem 1rem; + text-transform: uppercase; + border-radius: 1rem; + font-family: 'Courier'; + mix-blend-mode: multiply; + z-index:200 !important; + position: fixed; + text-align: center; + } + + .is-paid { + color: #D23; + border: 1rem double #D23; + transform: rotate(-5deg); + font-size: 6rem; + font-family: "Open sans", Helvetica, Arial, sans-serif; + border-radius: 0; + padding: 0.5rem; + opacity: 0.2; + z-index:200 !important; + position: fixed; + } /** Useful snippets, uncomment to enable. **/ /** Hide company logo **/ diff --git a/resources/views/pdf-designs/modern.html b/resources/views/pdf-designs/modern.html index 4dfea2f4daa7..e47ebffd3db4 100644 --- a/resources/views/pdf-designs/modern.html +++ b/resources/views/pdf-designs/modern.html @@ -278,6 +278,35 @@ overflow-wrap: break-word; } + .stamp { + transform: rotate(12deg); + color: #555; + font-size: 3rem; + font-weight: 700; + border: 0.25rem solid #555; + display: inline-block; + padding: 0.25rem 1rem; + text-transform: uppercase; + border-radius: 1rem; + font-family: 'Courier'; + mix-blend-mode: multiply; + z-index:200 !important; + position: fixed; + text-align: center; + } + + .is-paid { + color: #D23; + border: 1rem double #D23; + transform: rotate(-5deg); + font-size: 6rem; + font-family: "Open sans", Helvetica, Arial, sans-serif; + border-radius: 0; + padding: 0.5rem; + opacity: 0.2; + z-index:200 !important; + position: fixed; + } /** Useful snippets, uncomment to enable. **/ /** Hide company logo **/ diff --git a/resources/views/pdf-designs/plain.html b/resources/views/pdf-designs/plain.html index 30acac638bfe..a1f2906f6aff 100644 --- a/resources/views/pdf-designs/plain.html +++ b/resources/views/pdf-designs/plain.html @@ -221,6 +221,35 @@ overflow-wrap: break-word; } + .stamp { + transform: rotate(12deg); + color: #555; + font-size: 3rem; + font-weight: 700; + border: 0.25rem solid #555; + display: inline-block; + padding: 0.25rem 1rem; + text-transform: uppercase; + border-radius: 1rem; + font-family: 'Courier'; + mix-blend-mode: multiply; + z-index:200 !important; + position: fixed; + text-align: center; + } + + .is-paid { + color: #D23; + border: 1rem double #D23; + transform: rotate(-5deg); + font-size: 6rem; + font-family: "Open sans", Helvetica, Arial, sans-serif; + border-radius: 0; + padding: 0.5rem; + opacity: 0.2; + z-index:200 !important; + position: fixed; + } /** Useful snippets, uncomment to enable. **/ /** Hide company logo **/ diff --git a/resources/views/pdf-designs/playful.html b/resources/views/pdf-designs/playful.html index 4e30191d59a0..84ac8eb6f294 100644 --- a/resources/views/pdf-designs/playful.html +++ b/resources/views/pdf-designs/playful.html @@ -293,6 +293,36 @@ max-width: 300px; overflow-wrap: break-word; } + + .stamp { + transform: rotate(12deg); + color: #555; + font-size: 3rem; + font-weight: 700; + border: 0.25rem solid #555; + display: inline-block; + padding: 0.25rem 1rem; + text-transform: uppercase; + border-radius: 1rem; + font-family: 'Courier'; + mix-blend-mode: multiply; + z-index:200 !important; + position: fixed; + text-align: center; + } + + .is-paid { + color: #D23; + border: 1rem double #D23; + transform: rotate(-5deg); + font-size: 6rem; + font-family: "Open sans", Helvetica, Arial, sans-serif; + border-radius: 0; + padding: 0.5rem; + opacity: 0.2; + z-index:200 !important; + position: fixed; + } /** Useful snippets, uncomment to enable. **/ diff --git a/resources/views/pdf-designs/tech.html b/resources/views/pdf-designs/tech.html index cac33a111716..e9ff50fe6242 100644 --- a/resources/views/pdf-designs/tech.html +++ b/resources/views/pdf-designs/tech.html @@ -257,7 +257,36 @@ max-width: 300px; overflow-wrap: break-word; } - + + .stamp { + transform: rotate(12deg); + color: #555; + font-size: 3rem; + font-weight: 700; + border: 0.25rem solid #555; + display: inline-block; + padding: 0.25rem 1rem; + text-transform: uppercase; + border-radius: 1rem; + font-family: 'Courier'; + mix-blend-mode: multiply; + z-index:200 !important; + position: fixed; + text-align: center; + } + + .is-paid { + color: #D23; + border: 1rem double #D23; + transform: rotate(-5deg); + font-size: 6rem; + font-family: "Open sans", Helvetica, Arial, sans-serif; + border-radius: 0; + padding: 0.5rem; + opacity: 0.2; + z-index:200 !important; + position: fixed; + } /** Useful snippets, uncomment to enable. **/ /** Hide company logo **/