125 lines
5.9 KiB
Twig
125 lines
5.9 KiB
Twig
{% extends 'base.html.twig' %}
|
|
{% import "macros/widgets.html.twig" as widgets %}
|
|
{% import "activity/actions.html.twig" as actions %}
|
|
|
|
{% block page_title %}{{ 'activities'|trans }}{% endblock %}
|
|
{% block page_actions %}{{ actions.activity(activity, 'activity_details') }}{% endblock %}
|
|
|
|
{% block main %}
|
|
{% set can_edit = is_granted('edit', activity) %}
|
|
{% set currency = null %}
|
|
{% if activity.project is not null %}
|
|
{% set currency = activity.project.customer.currency %}
|
|
{% endif %}
|
|
|
|
{% embed '@AdminLTE/Widgets/box-widget.html.twig' %}
|
|
{% import "macros/widgets.html.twig" as widgets %}
|
|
{% import "customer/actions.html.twig" as customerActions %}
|
|
{% import "project/actions.html.twig" as projectActions %}
|
|
{% block box_attributes %}id="activity_details_box"{% endblock %}
|
|
{% block box_title %}
|
|
{{ widgets.label_name(activity.name, activity.color) }}
|
|
{% endblock %}
|
|
{% block box_tools %}
|
|
{% if can_edit %}
|
|
<a class="modal-ajax-form open-edit btn btn-default btn-sm" data-href="{{ path('admin_activity_edit', {'id': activity.id}) }}" data-toggle="tooltip" data-placement="top" title="{{ 'action.edit'|trans }}"><i class="{{ 'edit'|icon }}"></i></a>
|
|
{% endif %}
|
|
{% endblock %}
|
|
{% block box_body_class %}no-padding{% endblock %}
|
|
{% block box_body %}
|
|
{% if activity.comment is not empty %}
|
|
<div class="comment">
|
|
{{ activity.comment|comment2html(true) }}
|
|
</div>
|
|
{% endif %}
|
|
<table class="table table-hover dataTable">
|
|
{% if not activity.visible %}
|
|
<tr class="{{ widgets.class_activity_row(activity, now) }}">
|
|
<th>{{ 'label.visible'|trans }}</th>
|
|
<td colspan="3">
|
|
{{ widgets.label_boolean(activity.visible) }}
|
|
</td>
|
|
</tr>
|
|
{% endif %}
|
|
{% if not activity.billable %}
|
|
<tr>
|
|
<th>{{ 'label.billable'|trans }}</th>
|
|
<td colspan="3">
|
|
{{ widgets.label_boolean(activity.billable) }}
|
|
</td>
|
|
</tr>
|
|
{% endif %}
|
|
{% if not activity.global %}
|
|
<tr {{ widgets.customer_row_attr(activity.project.customer, now) }}>
|
|
<th>{{ 'label.customer'|trans }}</th>
|
|
<td>
|
|
{{ widgets.label_customer(activity.project.customer) }}
|
|
</td>
|
|
<td class="w-min">
|
|
{{ widgets.badge_team_access(activity.project.customer.teams) }}
|
|
</td>
|
|
<td class="actions">
|
|
{{ customerActions.customer(activity.project.customer, 'custom') }}
|
|
</td>
|
|
</tr>
|
|
<tr {{ widgets.project_row_attr(activity.project, now) }}>
|
|
<th>{{ 'label.project'|trans }}</th>
|
|
<td>
|
|
{{ widgets.label_project(activity.project) }}
|
|
</td>
|
|
<td class="w-min">
|
|
{{ widgets.badge_team_access(activity.project.teams) }}
|
|
</td>
|
|
<td class="actions">
|
|
{{ projectActions.project(activity.project, 'custom') }}
|
|
</td>
|
|
</tr>
|
|
{% endif %}
|
|
{% for metaField in activity.visibleMetaFields|sort((a, b) => a.order <=> b.order) %}
|
|
<tr>
|
|
<th>{{ metaField.label|trans }}</th>
|
|
<td colspan="3">{{ widgets.form_type_value(metaField.type, metaField.value, activity) }}</td>
|
|
</tr>
|
|
{% endfor %}
|
|
</table>
|
|
{% endblock %}
|
|
{% endembed %}
|
|
|
|
{% if stats is not null %}
|
|
{% set currency = kimai_config.getCustomerDefaultCurrency() %}
|
|
{% if activity.project is not null %}
|
|
{% set currency = activity.project.customer.currency %}
|
|
{% endif %}
|
|
{{ include('embeds/budgets.html.twig', {'entity': activity, 'stats': stats, 'currency': currency}) }}
|
|
{% endif %}
|
|
|
|
{% for controller in boxes %}
|
|
{{ render(controller(controller, {'activity': activity, 'page': 1})) }}
|
|
{% endfor %}
|
|
|
|
{% if can_edit %}
|
|
{{ include('embeds/rates-table.html.twig', {'id': 'activity_rates_box', 'entity': activity, 'create_url': path('admin_activity_rate_add', {'id': activity.id}), 'delete_route': 'delete_activity_rate', 'currency': currency}) }}
|
|
{% endif %}
|
|
|
|
{% if teams is not null %}
|
|
{% set options = {'teams': teams, 'team': team} %}
|
|
{% if is_granted('permissions', activity) %}
|
|
{% set options = options|merge({'route_create': path('activity_team_create', {'id': activity.id}), 'route_edit': path('admin_activity_permissions', {'id': activity.id})}) %}
|
|
{% endif %}
|
|
{% if activity.project is not null and (activity.project.teams|length > 0 or activity.project.customer.teams|length > 0) %}
|
|
{% set options = options|merge({'empty_message': 'team.activity_visibility_inherited'}) %}
|
|
{% endif %}
|
|
{{ include('embeds/teams.html.twig', options) }}
|
|
{% endif %}
|
|
|
|
{% endblock %}
|
|
|
|
{% block javascripts %}
|
|
{{ parent() }}
|
|
<script type="text/javascript">
|
|
document.addEventListener('kimai.initialized', function() {
|
|
KimaiReloadPageWidget.create('kimai.activityUpdate kimai.teamUpdate kimai.activityTeamUpdate kimai.projectTeamUpdate kimai.customerTeamUpdate kimai.customerUpdate kimai.projectUpdate kimai.rateUpdate');
|
|
});
|
|
</script>
|
|
{% endblock %}
|