summaryrefslogtreecommitdiff
path: root/internal/reports/pdf.go
diff options
context:
space:
mode:
authorT <t@tjp.lol>2025-08-13 16:48:58 -0600
committerT <t@tjp.lol>2025-08-13 16:49:20 -0600
commit7d0d21ba8663ab7ff777a06f4b113337fa717ff3 (patch)
treef06d8691fd13bee6ebccfc17a08c599bd5710705 /internal/reports/pdf.go
parent5c3554c7e49abe263faf54c61e435ba1d5202d27 (diff)
go module in git.tjp.lol
Diffstat (limited to 'internal/reports/pdf.go')
-rw-r--r--internal/reports/pdf.go20
1 files changed, 10 insertions, 10 deletions
diff --git a/internal/reports/pdf.go b/internal/reports/pdf.go
index 8434f07..b83436f 100644
--- a/internal/reports/pdf.go
+++ b/internal/reports/pdf.go
@@ -9,8 +9,8 @@ import (
"path/filepath"
"time"
- "punchcard/internal/queries"
- "punchcard/templates"
+ "git.tjp.lol/punchcard/internal/queries"
+ "git.tjp.lol/punchcard/templates"
)
// RecordInvoice records the invoice in the database after successful generation
@@ -229,16 +229,16 @@ type UnifiedJSONData struct {
ContractorName string `json:"contractor_name"`
ContractorLabel string `json:"contractor_label"`
ContractorEmail string `json:"contractor_email"`
-
+
// Invoice-specific fields
InvoiceNumber string `json:"invoice_number"`
LineItems []LineItem `json:"line_items"`
TotalAmount float64 `json:"total_amount"`
-
+
// Timesheet-specific fields
- Entries []TimesheetEntry `json:"entries"`
- Timezone string `json:"timezone"`
-
+ Entries []TimesheetEntry `json:"entries"`
+ Timezone string `json:"timezone"`
+
// Shared field with same value
TotalHours float64 `json:"total_hours"`
}
@@ -268,7 +268,7 @@ func GenerateUnifiedPDF(unifiedData *UnifiedReportData, outputPath string) error
ContractorLabel: unifiedData.InvoiceData.ContractorLabel,
ContractorEmail: unifiedData.InvoiceData.ContractorEmail,
TotalHours: unifiedData.InvoiceData.TotalHours, // Should match timesheet total
-
+
// Invoice-specific fields
InvoiceNumber: fmt.Sprintf("%04d-%02d-%03d",
unifiedData.InvoiceData.DateRange.Start.Year(),
@@ -277,7 +277,7 @@ func GenerateUnifiedPDF(unifiedData *UnifiedReportData, outputPath string) error
),
LineItems: unifiedData.InvoiceData.LineItems,
TotalAmount: unifiedData.InvoiceData.TotalAmount,
-
+
// Timesheet-specific fields
Entries: unifiedData.TimesheetData.Entries,
Timezone: unifiedData.TimesheetData.Timezone,
@@ -296,7 +296,7 @@ func GenerateUnifiedPDF(unifiedData *UnifiedReportData, outputPath string) error
// Create unified template by combining invoice and timesheet templates
unifiedTemplate := templates.InvoiceTemplate + "\n\n#pagebreak()\n\n" + templates.TimesheetTemplate
-
+
// Write Typst template file
typstFile := filepath.Join(tempDir, "unified.typ")
if err := os.WriteFile(typstFile, []byte(unifiedTemplate), 0o644); err != nil {