fix errors and test pdf
This commit is contained in:
		@ -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
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
		Reference in New Issue
	
	Block a user