it_manager+reports: иерархия договоров, биллинг и месячные отчёты

Иерархия рамочных/дочерних договоров и платежей, интернет-биллинг,
месячные IT-отчёты (импорт, DOCX/PDF, шаблоны выводов).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
2026-09-09 18:03:44 +03:00
parent 897ffc99c9
commit 0da9c13192
59 changed files with 6861 additions and 267 deletions
+24
View File
@@ -1,9 +1,32 @@
from functools import partial
from django.urls import path
from apps.reports.views import redirect_legacy_it_report
from . import views
urlpatterns = [
path('it-manager/', views.it_manager_view, name='it_manager'),
path(
'it-manager/report/<str:month_id>.md',
partial(redirect_legacy_it_report, fmt='md'),
name='it_monthly_report_md',
),
path(
'it-manager/report/<str:month_id>.docx',
partial(redirect_legacy_it_report, fmt='docx'),
name='it_monthly_report_docx',
),
path(
'it-manager/report/<str:month_id>.pdf',
partial(redirect_legacy_it_report, fmt='pdf'),
name='it_monthly_report_pdf',
),
path(
'it-manager/report/<str:month_id>/preview/',
partial(redirect_legacy_it_report, fmt='preview'),
name='it_monthly_report_preview',
),
path('it-manager/equipment/models/create/', views.equipment_model_create_view, name='it_equipment_model_create'),
path('it-manager/equipment/bulk-create/', views.equipment_bulk_create_view, name='it_equipment_bulk_create'),
path('it-manager/equipment/bulk-assign/', views.equipment_bulk_assign_view, name='it_equipment_bulk_assign'),
@@ -11,6 +34,7 @@ urlpatterns = [
path('it-manager/tickets/<int:pk>/update/', views.ticket_update_view, name='it_ticket_update'),
path('it-manager/tickets/<int:pk>/comment/', views.ticket_comment_view, name='it_ticket_comment'),
path('it-manager/worklog/create/', views.worklog_create_view, name='it_worklog_create'),
path('it-manager/worklog/<int:pk>/update/', views.worklog_update_view, name='it_worklog_update'),
path('it-manager/consumables/create/', views.consumable_create_view, name='it_consumable_create'),
path('it-manager/consumables/<int:pk>/update/', views.consumable_update_view, name='it_consumable_update'),
path('it-manager/providers/create/', views.provider_create_view, name='it_provider_create'),