diff --git a/apps/reports/test_reports.py b/apps/reports/test_reports.py index cb39e65..756e53d 100644 --- a/apps/reports/test_reports.py +++ b/apps/reports/test_reports.py @@ -50,6 +50,11 @@ class MonthlyReportTests(TestCase): response = self.client.get(reverse("monthly-report"), {"user": other.pk, "year": 2026, "month": 7}) self.assertEqual(response.context["report"]["user"], self.user) + def test_worker_does_not_see_client_pdf_button(self): + self.client.force_login(self.user) + response = self.client.get(reverse("monthly-report"), {"year": 2026, "month": 7}) + self.assertNotContains(response, "PDF для клиента") + def test_client_pdf_is_generated_for_one_company(self): self.client.force_login(self.user) response = self.client.get(reverse("company-report-pdf", args=(self.company_a.pk,)), {"year": 2026, "month": 7}) diff --git a/templates/reports/monthly.html b/templates/reports/monthly.html index 23fdf64..c04319c 100644 --- a/templates/reports/monthly.html +++ b/templates/reports/monthly.html @@ -1,7 +1,7 @@ {% extends 'base.html' %}{% load report_tags %}{% block content %}

Месячный отчёт

{% if user.is_app_admin %}{% endif %}

{{ report.user.get_full_name|default:report.user.username }}

-{% for group in report.companies %}

{{ group.company.name }}

PDF для клиента
+{% for group in report.companies %}

{{ group.company.name }}

{% if user.is_app_admin %}PDF для клиента{% endif %}
{% for project in group.projects.values %}

{{ project.project.name }}

{% for task in project.tasks %}{% endfor %}
ДатаЗадачаОписаниеВремяСтавкаСумма
{{ task.work_date|date:'d.m.Y' }}{{ task.title }}{{ task.description }}{{ task.duration_minutes|duration }}{{ task.hourly_rate }} ₽{{ task.amount }} ₽
Итого по проекту{{ project.minutes|duration }}{{ project.amount }} ₽
{% endfor %}

Итого по компании: {{ group.minutes|duration }}, {{ group.amount }} ₽

{% empty %}

За выбранный месяц выполненных задач нет.

{% endfor %}

Общий итог: {{ report.total_minutes|duration }}, {{ report.total_amount }} ₽

{% endblock %}