Реализовал систему разрешений

This commit is contained in:
2025-12-15 11:45:25 +03:00
parent ca7709ebff
commit 46dc79b93f
33 changed files with 1340 additions and 124 deletions

View File

@@ -14,11 +14,13 @@ from openpyxl.styles import Font, Alignment
from mainapp.forms import KubsatFilterForm
from mainapp.models import Source, ObjItem
from mainapp.permissions import PermissionRequiredMixin
from mainapp.utils import calculate_mean_coords
class KubsatView(LoginRequiredMixin, FormView):
class KubsatView(LoginRequiredMixin, PermissionRequiredMixin, FormView):
"""Страница Кубсат с фильтрами и таблицей источников"""
permission_required = 'kubsat_view'
template_name = 'mainapp/kubsat_tabs.html'
form_class = KubsatFilterForm
@@ -349,8 +351,9 @@ class KubsatView(LoginRequiredMixin, FormView):
return queryset.distinct()
class KubsatExportView(LoginRequiredMixin, FormView):
class KubsatExportView(LoginRequiredMixin, PermissionRequiredMixin, FormView):
"""Экспорт отфильтрованных данных в Excel"""
permission_required = 'kubsat_view'
form_class = KubsatFilterForm
def post(self, request, *args, **kwargs):
@@ -595,8 +598,9 @@ class KubsatExportView(LoginRequiredMixin, FormView):
return response
class KubsatCreateRequestsView(LoginRequiredMixin, FormView):
class KubsatCreateRequestsView(LoginRequiredMixin, PermissionRequiredMixin, FormView):
"""Массовое создание заявок из отфильтрованных данных"""
permission_required = 'request_create'
form_class = KubsatFilterForm
def post(self, request, *args, **kwargs):
@@ -688,8 +692,9 @@ class KubsatCreateRequestsView(LoginRequiredMixin, FormView):
})
class KubsatRecalculateCoordsView(LoginRequiredMixin, FormView):
class KubsatRecalculateCoordsView(LoginRequiredMixin, PermissionRequiredMixin, FormView):
"""API для пересчёта усреднённых координат по списку ObjItem ID"""
permission_required = 'kubsat_view'
form_class = KubsatFilterForm
def post(self, request, *args, **kwargs):