{% extends 'base.html.twig' %} {% import "macros/widgets.html.twig" as widgets %} {% import "macros/search.html.twig" as search %} {% import "macros/datatables.html.twig" as tables %} {% import "invoice/actions.html.twig" as actions %} {% import "invoice/macros.html.twig" as macros %} {% set columns = { 'date': {'class': 'alwaysVisible text-nowrap'}, 'user': {'class': 'hidden-xs hidden-sm text-nowrap hidden', 'orderBy': false}, 'customer': {'class': 'hidden-xs hidden-sm', 'orderBy': false}, 'comment': {'class': 'hidden-xs hidden-sm', 'title': 'label.description'|trans}, } %} {% for field in metaColumns %} {% set columns = columns|merge({ ('mf_' ~ field.name): {'title': field.label|trans, 'class': 'hidden-xs hidden-sm mf_' ~ field.name, 'orderBy': false} }) %} {% endfor %} {% set columns = columns|merge({ 'invoice_number': {'class': 'hidden-xs hidden-sm w-min', 'title': 'invoice.number'|trans, 'orderBy': false}, 'due_date': {'class': 'hidden-xs w-min', 'title': 'invoice.due_days'|trans, 'orderBy': false}, 'payment_date': {'class': 'hidden-xs hidden w-min', 'title': 'invoice.payment_date'|trans, 'orderBy': false}, 'status': {'class': 'alwaysVisible w-min', 'orderBy': false}, 'subtotal': {'class': 'hidden-xs text-right w-min hidden', 'title': 'invoice.subtotal'|trans, 'orderBy': false}, 'tax': {'class': 'hidden-xs text-right w-min hidden', 'title': 'invoice.tax'|trans}, 'total_rate': {'class': 'hidden-xs text-right w-min'}, 'actions': {'class': 'actions alwaysVisible', 'orderBy': false}, }) %} {% set tableName = 'invoices' %} {% block page_title %}{{ 'invoices'|trans }}{% endblock %} {% block page_actions %}{{ actions.invoice_listing('index', query) }}{% endblock %} {% block page_search %}{{ search.searchModal(toolbarForm) }}{% endblock %} {% block main_before %} {{ tables.data_table_column_modal(tableName, columns) }} {% endblock %} {% block main %} {% if entries is empty %} {{ widgets.nothing_found() }} {% else %} {{ tables.datatable_header(tableName, columns, query, {}) }} {% for entry in entries %} {{ entry.createdAt|date_short }} {{ widgets.user_avatar(entry.user) }} {{ widgets.username(entry.user) }} {{ widgets.label_customer(entry.customer) }} {{ entry.comment }} {% for field in metaColumns %} {{ tables.datatable_meta_column(entry, field) }} {% endfor %} {{ widgets.label(entry.invoiceNumber, 'default') }} {{ macros.invoice_due_date(entry) }} {% if entry.paymentDate and entry.paid %} {{ widgets.label(entry.paymentDate|date_short, 'primary') }} {% endif %} {{ macros.invoice_status(entry) }} {{ entry.subtotal|money(entry.currency) }} {{ entry.tax|money(entry.currency) }} {{ entry.total|money(entry.currency) }} {{ actions.invoice(entry, 'index') }} {% endfor %} {{ tables.data_table_footer(entries, 'admin_invoice_list') }} {% endif %} {% endblock %} {% block javascripts %} {{ parent() }} {% if download is not null %} {% endif %} {% endblock %}