Реализовал систему разрешений
This commit is contained in:
@@ -12,6 +12,7 @@ from django.utils import timezone
|
||||
|
||||
from mainapp.models import SourceRequest, SourceRequestStatusHistory, Source, Satellite
|
||||
from mainapp.forms import SourceRequestForm
|
||||
from mainapp.permissions import PermissionRequiredMixin
|
||||
|
||||
import re
|
||||
import pandas as pd
|
||||
@@ -83,8 +84,9 @@ class SourceRequestListView(LoginRequiredMixin, ListView):
|
||||
return context
|
||||
|
||||
|
||||
class SourceRequestCreateView(LoginRequiredMixin, CreateView):
|
||||
class SourceRequestCreateView(LoginRequiredMixin, PermissionRequiredMixin, CreateView):
|
||||
"""Создание заявки на источник."""
|
||||
permission_required = 'request_create'
|
||||
model = SourceRequest
|
||||
form_class = SourceRequestForm
|
||||
template_name = 'mainapp/source_request_form.html'
|
||||
@@ -132,8 +134,9 @@ class SourceRequestCreateView(LoginRequiredMixin, CreateView):
|
||||
return super().form_invalid(form)
|
||||
|
||||
|
||||
class SourceRequestUpdateView(LoginRequiredMixin, UpdateView):
|
||||
class SourceRequestUpdateView(LoginRequiredMixin, PermissionRequiredMixin, UpdateView):
|
||||
"""Редактирование заявки на источник."""
|
||||
permission_required = 'request_edit'
|
||||
model = SourceRequest
|
||||
form_class = SourceRequestForm
|
||||
template_name = 'mainapp/source_request_form.html'
|
||||
@@ -164,8 +167,9 @@ class SourceRequestUpdateView(LoginRequiredMixin, UpdateView):
|
||||
return super().form_invalid(form)
|
||||
|
||||
|
||||
class SourceRequestDeleteView(LoginRequiredMixin, View):
|
||||
class SourceRequestDeleteView(LoginRequiredMixin, PermissionRequiredMixin, View):
|
||||
"""Удаление заявки на источник."""
|
||||
permission_required = 'request_delete'
|
||||
|
||||
def post(self, request, pk):
|
||||
try:
|
||||
@@ -182,8 +186,9 @@ class SourceRequestDeleteView(LoginRequiredMixin, View):
|
||||
}, status=404)
|
||||
|
||||
|
||||
class SourceRequestBulkDeleteView(LoginRequiredMixin, View):
|
||||
class SourceRequestBulkDeleteView(LoginRequiredMixin, PermissionRequiredMixin, View):
|
||||
"""Массовое удаление заявок."""
|
||||
permission_required = 'request_delete'
|
||||
|
||||
def post(self, request):
|
||||
import json
|
||||
@@ -688,8 +693,9 @@ class SourceDataAPIView(LoginRequiredMixin, View):
|
||||
return JsonResponse(data)
|
||||
|
||||
|
||||
class SourceRequestImportView(LoginRequiredMixin, View):
|
||||
class SourceRequestImportView(LoginRequiredMixin, PermissionRequiredMixin, View):
|
||||
"""Импорт заявок из Excel файла."""
|
||||
permission_required = 'request_import'
|
||||
|
||||
def get(self, request):
|
||||
"""Отображает форму загрузки файла."""
|
||||
|
||||
Reference in New Issue
Block a user