mirror of
https://gitlab.com/Chill-Projet/chill-bundles.git
synced 2025-06-07 18:44:08 +00:00
241 lines
12 KiB
Twig
241 lines
12 KiB
Twig
{% macro date_status(title, tasks, count, paginator, status, isSingleStatus, person, user) %}
|
|
{% if tasks|length > 0 %}
|
|
<h3>{{ title|trans }}</h3>
|
|
|
|
<table class="records_list chill-task-list">
|
|
<tbody>
|
|
{% for task in tasks %}
|
|
<tr>
|
|
<td class="chill-task-list__row">
|
|
|
|
<div>
|
|
<span class="chill-task-list__row__title">{{ task.title }}</span>
|
|
</div>
|
|
|
|
{% if person is null %}
|
|
<div>
|
|
<span class="chill-task-list__row__person-for">{{ 'For person'|trans }} :</span> <span class="chill-task-list__row__person"><a href="{{ path('chill_person_view', {person_id : task.person.Id}) }}">{{ task.person}}</a></span>
|
|
</div>
|
|
{% endif %}
|
|
|
|
<div>
|
|
<span class="chill-task-list__row__type">{{ task_workflow_metadata(task, 'definition.name')|trans }}</span>
|
|
</div>
|
|
|
|
|
|
|
|
<div>
|
|
|
|
{% for place in workflow_marked_places(task) %}
|
|
<span class="task-status box type-{{ task.type }} place-{{ place }}">{{ place|trans }}</span>
|
|
{% endfor %}
|
|
{% if task.assignee is not null %}
|
|
<div class="chill-task-list__row__assignee"><span class="chill_task-list__row__assignee_by">{{ 'By'|trans }} :</span> {{ task.assignee.username }}</div>
|
|
{% endif %}
|
|
</div>
|
|
|
|
|
|
{% if task.startDate is not null or task.warningDate is not null or task.endDate is not null %}
|
|
<div class="chill-task-list__row__dates">
|
|
<ul class="record_actions_column">
|
|
{% if task.startDate is not null %}
|
|
<li title="{{ 'Start'|trans|escape('html_attr') }}">
|
|
<i class="fa fa-play" ></i> {{ task.startDate|format_date('medium') }}
|
|
</li>
|
|
{% endif %}
|
|
{% if task.warningDate is not null %}
|
|
<li title="{{ 'Warning'|trans|escape('html_attr') }}">
|
|
<i class="fa fa-exclamation-triangle"></i> {{ task.warningDate|format_date('medium') }}
|
|
</li>
|
|
{% endif %}
|
|
{% if task.endDate is not null %}
|
|
<li title="{{ 'End'|trans|escape('html_attr') }}">
|
|
<i class="fa fa-hourglass-end"></i> {{ task.endDate|format_date('medium') }}
|
|
</li>
|
|
{% endif %}
|
|
</ul>
|
|
</div>
|
|
{% endif %}
|
|
|
|
</td>
|
|
<td>
|
|
<ul class="record_actions">
|
|
{% if workflow_transitions(task)|length > 0 %}
|
|
<li>
|
|
<div class="bt-dropdown">
|
|
<a href="" class="sc-button bt-task-exchange"> </a>
|
|
<div class="bt-dropdown-content">
|
|
{% for transition in workflow_transitions(task) %}
|
|
<a href="{{ path('chill_task_task_transition', { 'taskId': task.id, 'transition': transition.name, 'kind': 'single-task', 'list_params': app.request.query.all }) }}" class="{{ task_workflow_metadata(task, 'transition.class', transition)|e('html_attr') }}">{{ task_workflow_metadata(task, 'transition.verb', transition)|trans }}</a>
|
|
{% endfor %}
|
|
</div>
|
|
</div>
|
|
</li>
|
|
{% endif %}
|
|
<li>
|
|
<a href="{{ path('chill_task_single_task_show', { 'id': task.id, 'list_params': app.request.query.all }) }}" class="sc-button bt-show "></a>
|
|
</li>
|
|
{% if is_granted('CHILL_TASK_TASK_UPDATE', task) %}
|
|
<li>
|
|
<a href="{{ path('chill_task_single_task_edit', { 'id': task.id, 'list_params': app.request.query.all }) }}" class="sc-button bt-update "></a>
|
|
</li>
|
|
{% endif %}
|
|
{% if is_granted('CHILL_TASK_TASK_DELETE', task) %}
|
|
<li>
|
|
<a href="{{ path('chill_task_single_task_delete', { 'id': task.id, 'list_params': app.request.query.all } ) }}" class="sc-button bt-delete "></a>
|
|
</li>
|
|
{% endif %}
|
|
</ul>
|
|
</td>
|
|
</tr>
|
|
{% endfor %}
|
|
</tbody>
|
|
</table>
|
|
|
|
{% if isSingleStatus %}
|
|
{% if tasks|length < paginator.getTotalItems %}
|
|
{{ chill_pagination(paginator) }}
|
|
{% endif %}
|
|
|
|
<!-- lien retour -->
|
|
<ul class="record_actions">
|
|
<li>
|
|
{% if person is not null %}
|
|
<a href="{{ path('chill_task_singletask_list', {'person_id': person.id}) }}" class="sc-button bt-cancel">
|
|
{{ 'Back to the list' | trans }}
|
|
</a>
|
|
{% endif %}
|
|
{% if user is not null %}
|
|
<a href="{{ path('chill_task_singletask_list') }}" class="sc-button bt-cancel">
|
|
{{ 'Back to the list' | trans }}
|
|
</a>
|
|
{% endif %}
|
|
</li>
|
|
<li>
|
|
{% if person is not null %}
|
|
<a href="{{ path('chill_task_single_task_new', {'person_id': person.id}) }}" class="sc-button bt-create">
|
|
{{ 'Add a new task' | trans }}
|
|
</a>
|
|
{% endif %}
|
|
{% if user is not null %}
|
|
<a href="{{ path('chill_task_single_task_new') }}" class="sc-button bt-create">
|
|
{{ 'Add a new task' | trans }}
|
|
</a>
|
|
{% endif %}
|
|
</li>
|
|
</ul>
|
|
{% else %}
|
|
<ul class="record_actions">
|
|
<li>
|
|
<a href="{{ path('chill_task_singletask_list', app.request.query.all|merge({ 'status': [ status ] })) }}" class="sc-button">
|
|
{{ 'See more' | trans }}
|
|
</a>
|
|
</li>
|
|
|
|
</ul>
|
|
{% endif %}
|
|
|
|
{% endif %}
|
|
{% endmacro %}
|
|
|
|
{% import _self as helper %}
|
|
|
|
|
|
<h1>{{ app.request.query.get('title', null)|escape('html')|default('Task list'|trans) }}</h1>
|
|
|
|
{% if false == app.request.query.boolean('hide_form', false) %}
|
|
<h2>{{ 'Filter the tasks'|trans }}</h2>
|
|
{{ form_start(form) }}
|
|
{{ form_row(form.user_id) }}
|
|
|
|
{% if form.status is defined %}
|
|
{{ form_row(form.status) }}
|
|
{% endif %}
|
|
|
|
{% if form.types is defined %}
|
|
{{ form_row(form.types) }}
|
|
{% endif %}
|
|
|
|
{% if form.person_id is defined %}
|
|
{{ form_row(form.person_id) }}
|
|
{% endif %}
|
|
|
|
{% if form.center_id is defined %}
|
|
{{ form_row(form.center_id) }}
|
|
{% endif %}
|
|
|
|
<ul class="record_actions">
|
|
<li>
|
|
<button type="submit" class="sc-button">{{ 'Filter'|trans }}</button>
|
|
</li>
|
|
</ul>
|
|
{{ form_end(form)}}
|
|
{% endif %}
|
|
|
|
|
|
|
|
{% if tasks_count == 0 %}
|
|
<p class="chill-no-data-statement">{{ "There is no tasks."|trans }}</p>
|
|
{% if person is not null and is_granted('CHILL_TASK_TASK_CREATE', person) %}
|
|
<ul class="record_actions">
|
|
<li>
|
|
{% if person is not null %}
|
|
<a href="{{ path('chill_task_single_task_new', {'person_id': person.id}) }}" class="sc-button bt-create">
|
|
{{ 'Add a new task' | trans }}
|
|
</a>
|
|
{% endif %}
|
|
</li>
|
|
</ul>
|
|
{% endif %}
|
|
{% else %}
|
|
|
|
{% if false == app.request.query.boolean('hide_form', false) %}
|
|
<h2>{{ 'Tasks'|trans }}</h2>
|
|
{% endif %}
|
|
|
|
{% if person is not null and is_granted('CHILL_TASK_TASK_CREATE', person) %}
|
|
<ul class="record_actions">
|
|
<li>
|
|
{% if person is not null %}
|
|
<a href="{{ path('chill_task_single_task_new', {'person_id': person.id}) }}" class="sc-button bt-create">
|
|
{{ 'Add a new task' | trans }}
|
|
</a>
|
|
{% endif %}
|
|
</li>
|
|
</ul>
|
|
{% endif %}
|
|
|
|
{% if single_task_ended_tasks is defined %}
|
|
{{ helper.date_status('Tasks with expired deadline', single_task_ended_tasks, single_task_ended_count, single_task_ended_paginator, 'ended', isSingleStatus, person) }}
|
|
{% endif %}
|
|
|
|
{% if single_task_warning_tasks is defined %}
|
|
{{ helper.date_status('Tasks with warning deadline reached', single_task_warning_tasks, single_task_warning_count, single_task_warning_paginator, 'warning', isSingleStatus, person) }}
|
|
{% endif %}
|
|
|
|
{% if single_task_current_tasks is defined %}
|
|
{{ helper.date_status('Current tasks', single_task_current_tasks, single_task_current_count, single_task_current_paginator, 'current', isSingleStatus, person) }}
|
|
{% endif %}
|
|
|
|
{% if single_task_not_started_tasks is defined %}
|
|
{{ helper.date_status('Tasks not started', single_task_not_started_tasks, single_task_not_started_count, single_task_not_started_paginator, 'not_started', isSingleStatus, person) }}
|
|
{% endif %}
|
|
|
|
{% if single_task_closed_tasks is defined %}
|
|
{{ helper.date_status('Closed tasks', single_task_closed_tasks, single_task_closed_count, single_task_closed_paginator, 'closed', isSingleStatus, person) }}
|
|
{% endif %}
|
|
|
|
{% if isSingleStatus == false %}
|
|
<ul class="record_actions">
|
|
<li>
|
|
{% if person is not null and is_granted('CHILL_TASK_TASK_CREATE', person) %}
|
|
<a href="{{ path('chill_task_single_task_new', {'person_id': person.id}) }}" class="sc-button bt-create">
|
|
{{ 'Add a new task' | trans }}
|
|
</a>
|
|
{% endif %}
|
|
</li>
|
|
</ul>
|
|
{% endif %}
|
|
|
|
{% endif %}
|