104 lines
4.4 KiB
Plaintext
104 lines
4.4 KiB
Plaintext
{{ define "title" -}}
|
|
{{- /*gotype: dev.tandem.ws/tandem/numerus/pkg.expensesIndexPage*/ -}}
|
|
{{( pgettext "Expenses" "title" )}}
|
|
{{- end }}
|
|
|
|
{{ define "breadcrumbs" -}}
|
|
{{- /*gotype: dev.tandem.ws/tandem/numerus/pkg.expensesIndexPage*/ -}}
|
|
<nav data-hx-boost="true" data-hx-target="main">
|
|
<p>
|
|
<a href="{{ companyURI "/" }}">{{( pgettext "Home" "title" )}}</a> /
|
|
<a>{{( pgettext "Expenses" "title" )}}</a>
|
|
</p>
|
|
<p>
|
|
{{ template "filters-toggle" }}
|
|
<a class="primary button"
|
|
href="{{ companyURI "/expenses/new" }}">{{( pgettext "New expense" "action" )}}</a>
|
|
</p>
|
|
</nav>
|
|
{{- end }}
|
|
|
|
{{ define "content" }}
|
|
{{- /*gotype: dev.tandem.ws/tandem/numerus/pkg.expensesIndexPage*/ -}}
|
|
<form class="filters" method="GET" action="{{ companyURI "/expenses"}}"
|
|
data-hx-target="main" data-hx-boost="true" data-hx-trigger="change,search,submit"
|
|
aria-labelledby="filters-toggle"
|
|
>
|
|
{{ with .Filters }}
|
|
{{ template "select-field" .Contact }}
|
|
{{ template "input-field" .FromDate }}
|
|
{{ template "input-field" .ToDate }}
|
|
{{ template "input-field" .InvoiceNumber }}
|
|
{{ template "tags-field" .Tags | addTagsAttr (print `data-conditions="` .TagsCondition.Name `-field"`) }}
|
|
{{ template "toggle-field" .TagsCondition }}
|
|
{{ end }}
|
|
<noscript>
|
|
<button type="submit">{{( pgettext "Filter" "action" )}}</button>
|
|
</noscript>
|
|
</form>
|
|
<table>
|
|
<thead>
|
|
<tr>
|
|
<th>{{( pgettext "All" "expense" )}}</th>
|
|
<th>{{( pgettext "Contact" "title" )}}</th>
|
|
<th>{{( pgettext "Invoice Date" "title" )}}</th>
|
|
<th>{{( pgettext "Invoice Number" "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 .Expenses }}
|
|
{{- range . }}
|
|
<tr>
|
|
<td></td>
|
|
<td>{{ .InvoicerName }}</td>
|
|
<td>{{ .InvoiceDate|formatDate }}</td>
|
|
<td>{{ .InvoiceNumber }}</td>
|
|
<td
|
|
data-hx-get="{{companyURI "/expenses/"}}{{ .Slug }}/tags/edit"
|
|
data-hx-target="this"
|
|
data-hx-swap="outerHTML"
|
|
>
|
|
{{- range $index, $tag := .Tags }}
|
|
{{- if gt $index 0 }}, {{ end -}}
|
|
{{ . }}
|
|
{{- end }}
|
|
</td>
|
|
<td class="numeric">{{ .Amount | formatPrice }}</td>
|
|
<td class="invoice-download">
|
|
{{ if .OriginalFileName }}
|
|
<a href="{{ companyURI "/expenses/"}}{{ .Slug }}/download/{{.OriginalFileName}}"
|
|
title="{{( pgettext "Download expense attachment" "action" )}}"
|
|
aria-label="{{( pgettext "Download expense attachment" "action" )}}"><i
|
|
class="ri-download-line"></i></a>
|
|
{{ end }}
|
|
</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 "/expenses"}}/{{ .Slug }}"
|
|
data-hx-target="main" data-hx-boost="true"
|
|
>
|
|
<i class="ri-edit-line"></i>
|
|
{{( pgettext "Edit" "action" )}}
|
|
</a>
|
|
</li>
|
|
</ul>
|
|
</details>
|
|
</td>
|
|
</tr>
|
|
{{- end }}
|
|
{{ else }}
|
|
<tr>
|
|
<td colspan="8">{{( gettext "No expenses added yet." )}}</td>
|
|
</tr>
|
|
{{ end }}
|
|
</tbody>
|
|
</table>
|
|
{{- end }}
|