Merge remote-tracking branch 'origin/master'
This commit is contained in:
@@ -3,6 +3,7 @@ package routes
|
||||
import (
|
||||
"bytes"
|
||||
"database/sql"
|
||||
"errors"
|
||||
"fmt"
|
||||
"github.com/gorilla/mux"
|
||||
"github.com/jung-kurt/gofpdf"
|
||||
@@ -331,14 +332,14 @@ func contains(list []string, v string) bool {
|
||||
2) PDF OLUŞTURUCU (A4 YATAY + FOOTER)
|
||||
=========================================================== */
|
||||
|
||||
func newOrderPdf() *gofpdf.Fpdf {
|
||||
func newOrderPdf() (*gofpdf.Fpdf, error) {
|
||||
pdf := gofpdf.New("L", "mm", "A4", "")
|
||||
pdf.SetMargins(10, 10, 10)
|
||||
pdf.SetAutoPageBreak(false, 12)
|
||||
|
||||
// UTF8 fontlar
|
||||
pdf.AddUTF8Font("dejavu", "", "fonts/DejaVuSans.ttf")
|
||||
pdf.AddUTF8Font("dejavu-b", "", "fonts/DejaVuSans-Bold.ttf")
|
||||
if err := registerDejavuFonts(pdf, "dejavu", "dejavu-b"); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
// Footer: sayfa numarası
|
||||
pdf.AliasNbPages("")
|
||||
@@ -349,7 +350,7 @@ func newOrderPdf() *gofpdf.Fpdf {
|
||||
pdf.CellFormat(0, 10, txt, "", 0, "R", false, 0, "")
|
||||
})
|
||||
|
||||
return pdf
|
||||
return pdf, nil
|
||||
}
|
||||
|
||||
/* ===========================================================
|
||||
@@ -1340,6 +1341,10 @@ func OrderPDFHandler(db *sql.DB) http.Handler {
|
||||
header, err := getOrderHeaderFromDB(db, orderID)
|
||||
if err != nil {
|
||||
log.Println("header error:", err)
|
||||
if errors.Is(err, sql.ErrNoRows) {
|
||||
http.Error(w, "order not found", http.StatusNotFound)
|
||||
return
|
||||
}
|
||||
http.Error(w, "header not found", http.StatusInternalServerError)
|
||||
return
|
||||
}
|
||||
@@ -1367,7 +1372,12 @@ func OrderPDFHandler(db *sql.DB) http.Handler {
|
||||
rows := normalizeOrderLinesForPdf(lines)
|
||||
|
||||
// PDF
|
||||
pdf := newOrderPdf()
|
||||
pdf, err := newOrderPdf()
|
||||
if err != nil {
|
||||
log.Println("pdf init error:", err)
|
||||
http.Error(w, "pdf init error: "+err.Error(), http.StatusInternalServerError)
|
||||
return
|
||||
}
|
||||
renderOrderGrid(pdf, header, rows, hasVat, vatRate)
|
||||
|
||||
var buf bytes.Buffer
|
||||
|
||||
Reference in New Issue
Block a user