mirror of
https://github.com/kevinpapst/kimai2.git
synced 2024-12-22 12:18:29 +00:00
72 lines
3.4 KiB
Twig
72 lines
3.4 KiB
Twig
{% extends 'datatable.html.twig' %}
|
|
{% import "macros/widgets.html.twig" as widgets %}
|
|
{% import "macros/datatables.html.twig" as tables %}
|
|
{% import "invoice/actions.html.twig" as actions %}
|
|
|
|
{% block datatable_row %}
|
|
<tr class="modal-ajax-form open-edit{% if entry.canceled %} text-body-secondary{% endif %}" data-href="{{ path('admin_invoice_edit', {'id': entry.id}) }}">
|
|
<td class="{{ tables.class(dataTable, 'avatar') }}">{{ widgets.user_avatar(entry.user) }}</td>
|
|
<td class="{{ tables.class(dataTable, 'date') }}">{{ entry.createdAt|date_short }}</td>
|
|
<td class="{{ tables.class(dataTable, 'user') }}">{{ widgets.label_user(entry.user) }}</td>
|
|
<td class="{{ tables.class(dataTable, 'customer') }}">{{ widgets.label_customer(entry.customer) }}</td>
|
|
<td class="{{ tables.class(dataTable, 'comment') }}">{{ entry.comment }}</td>
|
|
{% for field in metaColumns %}
|
|
<td class="{{ tables.class(dataTable, 'mf_' ~ field.name) }}">
|
|
{{ tables.datatable_meta_column(entry, field) }}
|
|
</td>
|
|
{% endfor %}
|
|
<td class="{{ tables.class(dataTable, 'invoice_number') }}">{{ widgets.label(entry.invoiceNumber, 'default') }}</td>
|
|
<td class="{{ tables.class(dataTable, 'due_date') }}">{{ _self.invoice_due_date(entry) }}</td>
|
|
<td class="{{ tables.class(dataTable, 'payment_date') }}">
|
|
{% if entry.paymentDate and entry.paid %}
|
|
{{ widgets.label(entry.paymentDate|date_short, 'primary') }}
|
|
{% endif %}
|
|
</td>
|
|
<td class="{{ tables.class(dataTable, 'status') }}">{{ _self.invoice_status(entry) }}</td>
|
|
<td class="{{ tables.class(dataTable, 'subtotal') }}">{{ entry.subtotal|money(entry.currency) }}</td>
|
|
<td class="{{ tables.class(dataTable, 'tax') }}">{{ entry.tax|money(entry.currency) }}</td>
|
|
<td class="{{ tables.class(dataTable, 'total_rate') }}">{{ entry.total|money(entry.currency) }}</td>
|
|
<td class="{{ tables.class(dataTable, 'actions') }}">{{ actions.invoice(entry, 'index') }}</td>
|
|
</tr>
|
|
{% endblock %}
|
|
|
|
{% block javascripts %}
|
|
{{ parent() }}
|
|
{% if download is not null %}
|
|
<script type="text/javascript">
|
|
document.addEventListener('kimai.initialized', function() {
|
|
location.href = '{{ path('admin_invoice_download', {'id': download.id}) }}';
|
|
});
|
|
</script>
|
|
{% endif %}
|
|
{% endblock %}
|
|
|
|
{% macro invoice_status(invoice) %}
|
|
{% from "macros/widgets.html.twig" import label %}
|
|
{% set overdue = invoice.overdue %}
|
|
{% if invoice.new and overdue %}
|
|
{{ label('status.new'|trans, 'danger') }}
|
|
{% elseif invoice.new %}
|
|
{{ label('status.new'|trans, 'primary') }}
|
|
{% elseif invoice.pending and overdue %}
|
|
{{ label('status.pending'|trans, 'danger') }}
|
|
{% elseif invoice.pending %}
|
|
{{ label('status.pending'|trans, 'warning') }}
|
|
{% elseif invoice.paid %}
|
|
{{ label('status.paid'|trans, 'success') }}
|
|
{% elseif invoice.canceled %}
|
|
{{ label('status.canceled'|trans, 'gray') }}
|
|
{% endif %}
|
|
{% endmacro %}
|
|
|
|
{% macro invoice_due_date(invoice) %}
|
|
{% from "macros/widgets.html.twig" import label %}
|
|
{% if invoice.canceled %}
|
|
{{ label('status.canceled'|trans, 'gray') }}
|
|
{% elseif invoice.overdue and not invoice.paid %}
|
|
{{ label(invoice.dueDate|date_short, 'danger') }}
|
|
{% else %}
|
|
{{ label(invoice.dueDate|date_short, 'primary') }}
|
|
{% endif %}
|
|
{% endmacro %}
|