72 lines
3.5 KiB
Twig
72 lines
3.5 KiB
Twig
{% macro statusForm(report,reportToDoList,reportEnum) %}
|
|
<form action="{{ path('app_set_status_todo',{id:report.id}) }}" method="post">
|
|
<input type="hidden" name="token" value="{{ csrf_token('report-status') }}">
|
|
<div class="btn-group" role="group" aria-label="Todos">
|
|
{% for todo in reportToDoList %}
|
|
<button type="submit" class="btn-check" name="{{ todo.value }}" value='1' id="checkboxToDo{{ todo.value }}Id{{ report.id }}"></button>
|
|
<label class="btn
|
|
{% if report.isReportsTodo(todo) %}
|
|
btn-{{ reportEnum.checkboxColor }}
|
|
{% else %}
|
|
btn-outline-{{ reportEnum.checkboxColor }}
|
|
{% endif %}
|
|
d-flex align-items-center"
|
|
for="checkboxToDo{{ todo.value }}Id{{ report.id }}"
|
|
data-toggle="tooltip" data-placement="bottom" title="{{ todo.takeLang }}">
|
|
<i class="fa fa-solid fa-{{ todo.takeIcon }}"> </i>
|
|
</label>
|
|
{% endfor %}
|
|
</div>
|
|
</form>
|
|
{% endmacro %}
|
|
|
|
{% macro progress(report, countAllTodos) %}
|
|
<div class="progress">
|
|
{% set percentageProgress = report.isDone ? 100 : report.countTodoReports / countAllTodos * 100 %}
|
|
<div class="progress-bar progress-bar-striped bg-info"
|
|
role="progressbar"
|
|
aria-valuenow="{{ report.countTodoReports }}"
|
|
aria-valuemin="0"
|
|
aria-valuemax="{{ countAllTodos }}"
|
|
style="width: {{ percentageProgress }}%"
|
|
>
|
|
<strong>{{ percentageProgress }}%</strong>
|
|
</div>
|
|
</div>
|
|
{% endmacro %}
|
|
|
|
{% macro cardView(report, groupStatus, reportToDoList) %}
|
|
<div class="card text-{{ groupStatus.textColor }} report-one {{ groupStatus.name | lower }}" data-report_id="{{ report.id }}">
|
|
<div class="report-number">
|
|
<div class="badge bg-{{ groupStatus.takeBadgeBg }} text-dark" data-toggle="tooltip" data-placement="bottom" title="Numer sprawozdania">{{ report.number }}</div>
|
|
</div>
|
|
{% if enum(groupStatus, 'COMPLETE') and false %}
|
|
<div class="report-mark-uncompleted">
|
|
<form action="{{ path('app_set_status_todo',{id:report.id}) }}" method="post">
|
|
<input type="hidden" name="token" value="{{ csrf_token('report-status') }}">
|
|
<input type="hidden" name="unDone" value="1">
|
|
<button type="submit" class="badge bg-danger" data-toggle="tooltip" data-placement="bottom" title="Oznacz jako nie zakończone"><i class="fa fa-solid fa-remove"></i></button>
|
|
</form>
|
|
</div>
|
|
{% endif %}
|
|
<div class="card-header">
|
|
<h5 class="card-title">
|
|
{% if is_granted('clientView') %}
|
|
<a href="{{ path('app_client',{id: report.client.id}) }}" >{{ report.client.strName }}</a>
|
|
{% else %}
|
|
{{ report.client.strName }}
|
|
{% endif %}
|
|
</h5>
|
|
</div>
|
|
{# {% if not enum(groupStatus, 'COMPLETE') %}#}
|
|
<div class="card-body">
|
|
<p class="card-text">{{ _self.statusForm(report, reportToDoList, groupStatus) }}</p>
|
|
</div>
|
|
{# {% endif %}#}
|
|
{% if enum(groupStatus, 'WORKING') %}
|
|
<div class="card-footer bg-transparent">
|
|
{{ _self.progress(report, reportToDoList|length) }}
|
|
</div>
|
|
{% endif %}
|
|
</div>
|
|
{% endmacro %} |