diff --git a/apps/reports/views.py b/apps/reports/views.py index 31585b8..305b9ff 100644 --- a/apps/reports/views.py +++ b/apps/reports/views.py @@ -14,13 +14,6 @@ from django.views.decorators.http import require_POST from apps.reports.access import user_can_edit_template, user_can_manage_templates from apps.reports.engine import TemplateRenderError, render_report -from apps.reports.it_monthly import ( - available_report_months, - build_monthly_report, - parse_month_id, - user_can_manage_it_monthly_report, - user_can_view_it_monthly_report, -) from apps.reports.documents import ( report_document_relpath, unique_filename, @@ -29,6 +22,13 @@ from apps.reports.documents import ( user_can_view_report_document, visible_report_documents, ) +from apps.reports.it_monthly import ( + available_report_months, + build_monthly_report, + parse_month_id, + user_can_manage_it_monthly_report, + user_can_view_it_monthly_report, +) from apps.reports.models import ReportDocument, ReportTemplate from apps.reports.publication import ( available_months_for_user, @@ -97,10 +97,11 @@ def reports_hub_view(request): if not _can_open_reports_hub(request.user): return deny_section_access(request) specs = visible_reports(request.user) + docs = list(visible_report_documents(request.user)) return render_page(request, 'reports.html', { 'report_specs': specs, 'report_rows': report_list_rows(request.user), - 'report_documents': list(visible_report_documents(request.user)), + 'report_documents': docs, 'can_create_report_document': user_can_create_report_document(request.user), 'onlyoffice_ready': _onlyoffice_ready(), 'reports_message': request.session.pop('reports_message', ''), diff --git a/templates/pages/reports.html b/templates/pages/reports.html index 4b1ebca..0fcf25b 100644 --- a/templates/pages/reports.html +++ b/templates/pages/reports.html @@ -1,7 +1,7 @@ {% load i18n %}
-
+

{% trans "Отчёты" %}

{% trans "Аналитика и выгрузки по отделам" %}

@@ -12,48 +12,121 @@ {% endif %}
- {% if report_rows %} + {% if reports_message %} +
{{ reports_message }}
+ {% endif %} + {% if reports_error %} +
{{ reports_error }}
+ {% endif %} + + {% if report_rows or report_documents or can_create_report_document %}
- - - - - + + + + + + {% if report_rows %} {% for row in report_rows %} - - - - + + - {% endfor %} + {% endif %} + + + + + + {% for doc in report_documents %} + + + + + + + + {% empty %} + + + + {% endfor %} + {% if can_create_report_document %} + + + + {% endif %} +
{% trans "Отчёт" %}{% trans "Отдел" %}{% trans "Период" %}{% trans "Статус" %}{% trans "Название" %}{% trans "Отдел" %}{% trans "Период" %}{% trans "Статус" %}
+ {{ row.title }} -
{{ row.description }}
+
{{ row.description }}
{{ row.department_label }}{{ row.latest_month|default:"—" }} + {{ row.department_label }}{{ row.latest_month|default:"—" }} {% if row.status == 'published' %} {{ row.status_label }} - {% elif row.status == 'draft' %} - {{ row.status_label }} {% else %} {{ row.status_label }} {% endif %} + - {% trans "Открыть" %} - + style="font-size:0.75rem; color:var(--color-primary); text-decoration:none;">{% trans "Открыть" %}
+ {% trans "Документы отдела" %} +
+ {% if onlyoffice_ready %} + {{ doc.title }} + {% else %} + {{ doc.title }} + {% endif %} +
+ {{ doc.filename }} + {% if doc.kind == 'snapshot' %} · {% trans "снимок отчёта" %}{% endif %} +
+
{{ doc.department.name }}{{ doc.updated_at|date:"d.m.Y H:i" }} + {% if doc.filename|slice:"-5:" == ".xlsx" %} + Excel + {% else %} + Word + {% endif %} + + {% trans "Скачать" %} + {% if can_create_report_document %} +
+ {% csrf_token %} + +
+ {% endif %} +
+ {% trans "Пока нет файлов отдела." %} +
+
+ {% csrf_token %} + + + +
+
{% else %} @@ -62,80 +135,4 @@
{% endif %} - {% if reports_message %} -
{{ reports_message }}
- {% endif %} - {% if reports_error %} -
{{ reports_error }}
- {% endif %} - -
-
-
-
{% trans "Документы отдела" %}
-

- {% trans "Дополнительные файлы и сохранённые отчёты. Правка — в OnlyOffice." %} -

-
- {% if can_create_report_document %} -
- {% csrf_token %} - - - -
- {% endif %} -
- {% if report_documents %} - - - - - - - - - - - {% for doc in report_documents %} - - - - - - - {% endfor %} - -
{% trans "Документ" %}{% trans "Отдел" %}{% trans "Обновлён" %}
-
{{ doc.title }}
-
- {% if doc.kind == 'snapshot' %}{% trans "Снимок отчёта" %}{% else %}{% trans "Документ" %}{% endif %} - · {{ doc.filename }} -
-
{{ doc.department.name }}{{ doc.updated_at|date:"d.m.Y H:i" }} - {% if onlyoffice_ready %} - {% trans "Открыть" %} - {% endif %} - {% trans "Скачать" %} - {% if can_create_report_document %} -
- {% csrf_token %} - -
- {% endif %} -
- {% else %} -
- {% trans "Пока нет дополнительных документов." %} - {% if can_create_report_document %}{% trans "Создайте Word или Excel — файл откроется в OnlyOffice." %}{% endif %} -
- {% endif %} -
-