107 lines
5.1 KiB
Plaintext
107 lines
5.1 KiB
Plaintext
{{ define "title" -}}
|
|
{{( pgettext "Invoices" "title" )}}
|
|
{{- end }}
|
|
|
|
{{ define "content" }}
|
|
<nav>
|
|
<p>
|
|
<a href="{{ companyURI "/" }}">{{( pgettext "Home" "title" )}}</a> /
|
|
<a>{{( pgettext "Invoices" "title" )}}</a>
|
|
</p>
|
|
|
|
<form id="batch-form" action="{{ companyURI "/invoices/batch" }}" method="post">
|
|
{{ csrfToken }}
|
|
<p>
|
|
<button type="submit"
|
|
name="action" value="download"
|
|
>{{( pgettext "Download invoices" "action" )}}</button>
|
|
<a class="primary button"
|
|
href="{{ companyURI "/invoices/new" }}">{{( pgettext "New invoice" "action" )}}</a>
|
|
</p>
|
|
</form>
|
|
</nav>
|
|
|
|
{{- /*gotype: dev.tandem.ws/tandem/numerus/pkg.InvoicesIndexPage*/ -}}
|
|
<table class="no-padding">
|
|
<thead>
|
|
<tr>
|
|
<th>{{( pgettext "All" "invoice" )}}</th>
|
|
<th>{{( pgettext "Date" "title" )}}</th>
|
|
<th>{{( pgettext "Invoice Num." "title" )}}</th>
|
|
<th>{{( pgettext "Customer" "title" )}}</th>
|
|
<th>{{( pgettext "Status" "title" )}}</th>
|
|
<th>{{( pgettext "Tags" "title" )}}</th>
|
|
<th>{{( pgettext "Amount" "title" )}}</th>
|
|
<th>{{( pgettext "Download" "title" )}}</th>
|
|
<th>{{( pgettext "Actions" "title" )}}</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
{{ with .Invoices }}
|
|
{{- range $invoice := . }}
|
|
<tr>
|
|
{{ $title := .Number | printf (pgettext "Select invoice %v" "action") }}
|
|
<td><input type="checkbox" form="batch-form"
|
|
name="invoice" value="{{ .Slug }}"
|
|
aria-label="{{ $title }}"
|
|
title="{{ $title }}"/></td>
|
|
<td>{{ .Date|formatDate }}</td>
|
|
<td><a href="{{ companyURI "/invoices/"}}{{ .Slug }}">{{ .Number }}</a></td>
|
|
<td><a href="{{ companyURI "/contacts/"}}{{ .CustomerSlug }}">{{ .CustomerName }}</a></td>
|
|
<td>
|
|
<details class="invoice-status menu">
|
|
<summary class="invoice-status-{{ .Status }}">{{ .StatusLabel }}</summary>
|
|
<form action="{{companyURI "/invoices/"}}{{ .Slug }}" method="POST">
|
|
{{ csrfToken }}
|
|
{{ putMethod }}
|
|
<ul role="menu">
|
|
{{- range $status, $name := $.InvoiceStatuses }}
|
|
{{- if ne $status $invoice.Status }}
|
|
<li role="presentation">
|
|
<button role="menuitem" type="submit"
|
|
name="status" value="{{ $status }}"
|
|
class="invoice-status-{{ $status }}"
|
|
>{{ $name }}</button>
|
|
</li>
|
|
{{- end }}
|
|
{{- end }}
|
|
</ul>
|
|
</form>
|
|
</details>
|
|
</td>
|
|
<td>
|
|
{{- range $index, $tag := .Tags }}
|
|
{{- if gt $index 0 }}, {{ end -}}
|
|
<a href="?tag={{ . }}">{{ . }}</a>
|
|
{{- end }}
|
|
</td>
|
|
<td class="numeric">{{ .Total|formatPrice }}</td>
|
|
<td class="invoice-download"><a href="{{ companyURI "/invoices/"}}{{ .Slug }}.pdf"
|
|
download="{{ .Number}}.pdf"
|
|
title="{{( pgettext "Download invoice" "action" )}}"
|
|
aria-label="{{( pgettext "Download invoice %s" "action" )}}"><i
|
|
class="ri-download-line"></i></a></td>
|
|
<td class="actions">
|
|
<details class="menu">
|
|
<summary><i class="ri-more-line"></i></summary>
|
|
<ul role="menu" class="action-menu">
|
|
<li role="presentation">
|
|
<a role="menuitem" href="{{ companyURI "/invoices/new"}}?duplicate={{ .Slug }}">
|
|
<i class="ri-file-copy-line"></i>
|
|
{{( pgettext "Duplicate" "action" )}}
|
|
</a>
|
|
</li>
|
|
</ul>
|
|
</details>
|
|
</td>
|
|
</tr>
|
|
{{- end }}
|
|
{{ else }}
|
|
<tr>
|
|
<td colspan="7">{{( gettext "No invoices added yet." )}}</td>
|
|
</tr>
|
|
{{ end }}
|
|
</tbody>
|
|
</table>
|
|
{{- end }}
|