Реализовал систему разрешений
This commit is contained in:
@@ -19,13 +19,15 @@ from ..models import (
|
||||
Parameter,
|
||||
)
|
||||
from ..mixins import RoleRequiredMixin
|
||||
from ..permissions import PermissionRequiredMixin
|
||||
from ..utils import parse_pagination_params, find_matching_transponder, find_matching_lyngsat
|
||||
|
||||
|
||||
class TechAnalyzeEntryView(LoginRequiredMixin, View):
|
||||
class TechAnalyzeEntryView(LoginRequiredMixin, PermissionRequiredMixin, View):
|
||||
"""
|
||||
Представление для ввода данных технического анализа.
|
||||
"""
|
||||
permission_required = 'source_tech_analyze'
|
||||
|
||||
def get(self, request):
|
||||
satellites = Satellite.objects.all().order_by('name')
|
||||
@@ -37,10 +39,11 @@ class TechAnalyzeEntryView(LoginRequiredMixin, View):
|
||||
return render(request, 'mainapp/tech_analyze_entry.html', context)
|
||||
|
||||
|
||||
class TechAnalyzeSaveView(LoginRequiredMixin, View):
|
||||
class TechAnalyzeSaveView(LoginRequiredMixin, PermissionRequiredMixin, View):
|
||||
"""
|
||||
API endpoint для сохранения данных технического анализа.
|
||||
"""
|
||||
permission_required = 'tech_analyze_create'
|
||||
|
||||
def post(self, request):
|
||||
try:
|
||||
@@ -177,7 +180,7 @@ class TechAnalyzeSaveView(LoginRequiredMixin, View):
|
||||
|
||||
|
||||
|
||||
class LinkExistingPointsView(LoginRequiredMixin, View):
|
||||
class LinkExistingPointsView(LoginRequiredMixin, PermissionRequiredMixin, View):
|
||||
"""
|
||||
API endpoint для привязки существующих точек к данным теханализа.
|
||||
|
||||
@@ -194,6 +197,7 @@ class LinkExistingPointsView(LoginRequiredMixin, View):
|
||||
* Обновить полосу частот (если 0 или None)
|
||||
* Подобрать подходящий транспондер
|
||||
"""
|
||||
permission_required = 'tech_analyze_edit'
|
||||
|
||||
def post(self, request):
|
||||
try:
|
||||
@@ -388,11 +392,11 @@ class TechAnalyzeListView(LoginRequiredMixin, View):
|
||||
return render(request, 'mainapp/tech_analyze_list.html', context)
|
||||
|
||||
|
||||
class TechAnalyzeDeleteView(LoginRequiredMixin, RoleRequiredMixin, View):
|
||||
class TechAnalyzeDeleteView(LoginRequiredMixin, PermissionRequiredMixin, View):
|
||||
"""
|
||||
API endpoint для удаления выбранных записей теханализа.
|
||||
"""
|
||||
allowed_roles = ['admin', 'moderator']
|
||||
permission_required = 'tech_analyze_delete'
|
||||
|
||||
def post(self, request):
|
||||
try:
|
||||
|
||||
Reference in New Issue
Block a user