fix errors and test pdf
This commit is contained in:
parent
08fb20d7be
commit
491f482fc7
@ -53,7 +53,7 @@ func (app *application) writeJSON(
|
||||
}
|
||||
|
||||
func (app *application) badRequest(w http.ResponseWriter, r *http.Request, err error) error {
|
||||
var payload jsonResponse
|
||||
var payload JSONResponse
|
||||
|
||||
payload.OK = false
|
||||
payload.Message = err.Error()
|
||||
@ -70,7 +70,7 @@ func (app *application) badRequest(w http.ResponseWriter, r *http.Request, err e
|
||||
}
|
||||
|
||||
func (app *application) invalidCredentials(w http.ResponseWriter) error {
|
||||
var payload jsonResponse
|
||||
var payload JSONResponse
|
||||
payload.OK = false
|
||||
payload.Message = "invalid authentication credentials"
|
||||
|
||||
|
@ -24,14 +24,27 @@ func (app *application) CreateAndSendInvoice(w http.ResponseWriter, r *http.Requ
|
||||
// receive json
|
||||
var order Order
|
||||
|
||||
err := app.readJSON(w, r, &order)
|
||||
order.ID = 100
|
||||
order.Email = "me@here.com"
|
||||
order.FirstName = "John"
|
||||
order.LastName = "Smith"
|
||||
order.Quantity = 1
|
||||
order.Amount = 1000
|
||||
order.Product = "Widget"
|
||||
order.CreatedAt = time.Now()
|
||||
// err = app.readJSON(w, r, &order)
|
||||
// if err != nil {
|
||||
// app.badRequest(w, r, err)
|
||||
// return
|
||||
// }
|
||||
|
||||
// generate a pdf invoice
|
||||
err := app.createInvoicePDF(order)
|
||||
if err != nil {
|
||||
app.badRequest(w, r, err)
|
||||
return
|
||||
}
|
||||
|
||||
// generate a pdf invoice
|
||||
|
||||
// create mail
|
||||
|
||||
// send mail with attachment
|
||||
@ -50,7 +63,7 @@ func (app *application) createInvoicePDF(order Order) error {
|
||||
|
||||
importer := gofpdi.NewImporter()
|
||||
|
||||
t := importer.ImportPage(pdf, "./pdf-templates/invoice.pdf", q, "/MediaBox")
|
||||
t := importer.ImportPage(pdf, "./pdf-templates/invoice.pdf", 1, "/MediaBox")
|
||||
|
||||
pdf.AddPage()
|
||||
importer.UseImportedTemplate(pdf, t, 0, 0, 215.9, 0)
|
||||
@ -88,7 +101,7 @@ func (app *application) createInvoicePDF(order Order) error {
|
||||
pdf.CellFormat(
|
||||
97,
|
||||
8,
|
||||
order.CreatedAt.Format("2005-01-02"),
|
||||
order.CreatedAt.Format("2006-01-02"),
|
||||
"",
|
||||
0,
|
||||
"L",
|
||||
@ -125,9 +138,9 @@ func (app *application) createInvoicePDF(order Order) error {
|
||||
|
||||
pdf.SetX(185)
|
||||
pdf.CellFormat(
|
||||
155,
|
||||
20,
|
||||
8,
|
||||
fmt.Sprintf("€%.2f", float32(order.Amount/100.0)),
|
||||
fmt.Sprintf("$%.2f", float32(order.Amount)/100.0),
|
||||
"",
|
||||
0,
|
||||
"R",
|
||||
|
@ -18,6 +18,6 @@ func (app *application) routes() http.Handler {
|
||||
MaxAge: 300,
|
||||
}))
|
||||
|
||||
mux.Post("/invoice/create-and-send", app.CreateAndSendInvoice)
|
||||
mux.Get("/invoice/create-and-send", app.CreateAndSendInvoice)
|
||||
return mux
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user