1
0
Fork 0

bgpwtf/invoice: render SP/GTU codes on invoices

Change-Id: I2f47595c67ae0c945fa680b394cb7d5212cd389a
master
q3k 2021-02-17 20:28:51 +01:00
parent 3d116b2952
commit 772a133ca1
3 changed files with 32 additions and 0 deletions

View File

@ -4,6 +4,7 @@ import (
"bytes"
"fmt"
"html/template"
"strings"
"time"
wkhtml "github.com/sebastiaanklippert/go-wkhtmltopdf"
@ -41,6 +42,20 @@ func renderInvoicePDF(i *pb.Invoice, language string) ([]byte, error) {
Total string
}
symbols := ""
var parts []string
for _, code := range i.Data.SpCode {
parts = append(parts, code.String())
}
for _, code := range i.GtuCode {
parts = append(parts, code.String())
}
if len(parts) > 0 {
symbols = strings.Join(parts, ", ") + "."
} else {
symbols = "<i>brak</i>."
}
data := struct {
InvoiceNumber string
InvoicerBilling []string
@ -60,6 +75,7 @@ func renderInvoicePDF(i *pb.Invoice, language string) ([]byte, error) {
VATTotal string
Total string
DeliveryCharge string
Symbols template.HTML
}{
InvoiceNumber: i.FinalUid,
Date: time.Unix(0, i.Date),
@ -75,6 +91,7 @@ func renderInvoicePDF(i *pb.Invoice, language string) ([]byte, error) {
InvoicerBilling: make([]string, len(i.Data.InvoicerBilling)),
InvoiceeBilling: make([]string, len(i.Data.CustomerBilling)),
Symbols: template.HTML(symbols),
}
for d, s := range i.Data.InvoicerBilling {

View File

@ -91,6 +91,9 @@ div.bgtext div {
color: #ddd;
-webkit-transform: rotate(-45deg);
text-transform: uppercase;
}
div.symbols {
padding: 0 0 0.5rem 0.1rem;
}
</style>
</head>
@ -153,6 +156,9 @@ div.bgtext div {
</div>
</div>
<div style="clear: both; height: 1em;"></div>
<div class="symbols">
<b>Oznaczenia</b>: {{ .Symbols }}
</div>
<table class="items">
<tr>
<th style="width: 60%;">Name of goods / service</th>
@ -195,5 +201,8 @@ div.bgtext div {
<td><b>{{ .Total }}</b></td>
</tr>
</table>
<div class="footer">
{{ .Footer }}
</div>
</body>
</html>

View File

@ -91,6 +91,9 @@ div.bgtext div {
color: #ddd;
-webkit-transform: rotate(-45deg);
text-transform: uppercase;
}
div.symbols {
padding: 0 0 0.5rem 0.1rem;
}
</style>
</head>
@ -154,6 +157,9 @@ div.bgtext div {
</div>
</div>
<div style="clear: both; height: 1em;"></div>
<div class="symbols">
<b>Oznaczenia</b>: {{ .Symbols }}
</div>
<table class="items">
<tr>
<th style="width: 60%;">Nazwa towaru lub usługi</th>