{{- /* SPDX-License-Identifier: AGPL-3.0-only OR LicenseRef-Commercial */ -}} {{- /* SPDX-FileCopyrightText: 2025-2026 Christian Galo */ -}} {{/* operator_payments.html Payments view inside the operator_billing.html wrapper (which owns the page header). Built from the page-anatomy parts: states through statusBadge, the empty and blocked states through emptyState. The organization is the row's subject and leads as the row header; the invoice cross-reference (the invoice's own number) rides beside it; the always-"Default" billing account name and the truncated ID column are retired (maintainer, 2026-08-30); a payment has no detail page today, so no cell links its own. */}} {{ if .Error }}
| Organization | Invoice | Status | Amount | Payment method | Created | Stripe sync {{ template "helpIcon" (helpIcon "Stripe sync" "Whether the row has a linked Stripe object. Not mapped means none is linked yet; that is expected when Stripe is not configured or a sync has not run. Check the Stripe integration settings before assuming something is broken.") }} |
|---|---|---|---|---|---|---|
| {{ if .OrgName }} {{ .OrgName }} {{ else }} {{ .OrgID }} {{ end }}{{ if .EnvState }}{{ template "statusBadge" .EnvBadge }}{{ end }} | {{ if .InvoiceID }}{{ if .InvoiceNumber }}{{ .InvoiceNumber }}{{ else }}Invoice{{ end }}{{ else }}—{{ end }} | {{ template "statusBadge" .StatusBadge }} | {{ .Amount }} | {{ if .PaymentMethod }}{{ .PaymentMethod }}{{ else }}—{{ end }} | {{ .CreatedAt }} | {{ template "statusBadge" .SyncBadge }} |