{% extends 'base.html.twig' %} {% import "macros/widgets.html.twig" as widgets %} {% import "macros/datatables.html.twig" as tables %} {% import "macros/toolbar.html.twig" as toolbar %} {% block page_title %}{{ 'admin_timesheet.title'|trans }}{% endblock %} {% block page_subtitle %}{{ 'admin_timesheet.subtitle'|trans }}{% endblock %} {% block page_actions %}{{ widgets.page_actions({'filter': '#collapseTimesheetAdmin', 'visibility': '#modal_timesheet_admin', 'create': path('admin_timesheet_create')}) }}{% endblock %} {% block main_before %} {{ toolbar.toolbar(toolbarForm, 'collapseTimesheetAdmin') }} {% endblock %} {% block main %} {% if entries.count == 0 %} {{ widgets.callout('warning', 'error.no_entries_found') }} {% endif %} {% set columns = {'date': 'alwaysVisible'} %} {% if not duration_only %} {% set columns = columns|merge({'starttime': 'hidden-xs', 'endtime': 'hidden-xs'}) %} {% endif %} {% set columns = columns|merge({ 'duration': '', 'rate': '', 'activity': 'hidden-xs hidden-sm', 'username': 'hidden-xs', 'description': 'hidden-xs hidden-sm', 'actions': 'alwaysVisible', }) %} {% set tableName = 'timesheet_admin' %} {{ tables.data_table_header(tableName, columns) }} {% for entry in entries %} {{ entry.begin|date_short }} {% if not duration_only %} {{ entry.begin|date("H:i") }} {% endif %} {% if entry.end %} {% if not duration_only %} {{ entry.end|date("H:i") }} {% endif %} {{ entry.duration|duration }} {{ entry.rate|money(entry.activity.project.customer.currency) }} {% else %} {% if not duration_only %} ‐ {% endif %} {{ entry|duration }} ‐ {% endif %} {{ widgets.label_activity(entry.activity) }} {{ widgets.label_user(entry.user) }} {{ entry.description }} {% set actionButtons = {} %} {% if is_granted('edit', entry) %} {% set actionButtons = {'edit': path('admin_timesheet_edit', {'id' : entry.id, 'page': page})}|merge(actionButtons) %} {% endif %} {% if not entry.end and is_granted('stop', entry) %} {% set actionButtons = {'stop': path('admin_timesheet_stop', {'id' : entry.id})}|merge(actionButtons) %} {% endif %} {% if is_granted('delete', entry) %} {% set actionButtons = actionButtons|merge({'trash': path('admin_timesheet_delete', {'id' : entry.id, 'page': page})}) %} {% endif %} {{ widgets.button_group(actionButtons) }} {% endfor %} {{ tables.data_table_footer(entries, 'admin_timesheet_paginated') }} {% endblock %}