Реализовал систему разрешений
This commit is contained in:
@@ -15,6 +15,7 @@ from django.views.generic import CreateView, DeleteView, UpdateView
|
||||
from ..forms import GeoForm, ObjItemForm, ParameterForm
|
||||
from ..mixins import CoordinateProcessingMixin, FormMessageMixin, RoleRequiredMixin
|
||||
from ..models import Geo, Modulation, ObjItem, Polarization, Satellite
|
||||
from ..permissions import PermissionRequiredMixin
|
||||
from ..utils import (
|
||||
format_coordinate,
|
||||
format_coords_display,
|
||||
@@ -24,10 +25,9 @@ from ..utils import (
|
||||
)
|
||||
|
||||
|
||||
class DeleteSelectedObjectsView(RoleRequiredMixin, View):
|
||||
class DeleteSelectedObjectsView(PermissionRequiredMixin, View):
|
||||
"""View for deleting multiple selected objects."""
|
||||
|
||||
required_roles = ["admin", "moderator"]
|
||||
permission_required = 'objitem_delete'
|
||||
|
||||
def post(self, request):
|
||||
ids = request.POST.get("ids", "")
|
||||
@@ -503,7 +503,7 @@ class ObjItemListView(LoginRequiredMixin, View):
|
||||
|
||||
|
||||
class ObjItemFormView(
|
||||
RoleRequiredMixin, CoordinateProcessingMixin, FormMessageMixin, UpdateView
|
||||
PermissionRequiredMixin, CoordinateProcessingMixin, FormMessageMixin, UpdateView
|
||||
):
|
||||
"""
|
||||
Base class for creating and editing ObjItem.
|
||||
@@ -515,7 +515,7 @@ class ObjItemFormView(
|
||||
form_class = ObjItemForm
|
||||
template_name = "mainapp/objitem_form.html"
|
||||
success_url = reverse_lazy("mainapp:source_list")
|
||||
required_roles = ["admin", "moderator"]
|
||||
permission_required = 'objitem_edit'
|
||||
|
||||
def get_success_url(self):
|
||||
"""Returns URL with saved filter parameters."""
|
||||
@@ -651,7 +651,7 @@ class ObjItemFormView(
|
||||
|
||||
class ObjItemUpdateView(ObjItemFormView):
|
||||
"""View for editing ObjItem."""
|
||||
|
||||
permission_required = 'objitem_edit'
|
||||
success_message = "Объект успешно сохранён!"
|
||||
|
||||
def set_user_fields(self):
|
||||
@@ -660,7 +660,7 @@ class ObjItemUpdateView(ObjItemFormView):
|
||||
|
||||
class ObjItemCreateView(ObjItemFormView, CreateView):
|
||||
"""View for creating ObjItem."""
|
||||
|
||||
permission_required = 'objitem_create'
|
||||
success_message = "Объект успешно создан!"
|
||||
|
||||
def get_object(self, queryset=None):
|
||||
@@ -672,14 +672,13 @@ class ObjItemCreateView(ObjItemFormView, CreateView):
|
||||
self.object.updated_by = self.request.user.customuser
|
||||
|
||||
|
||||
class ObjItemDeleteView(RoleRequiredMixin, FormMessageMixin, DeleteView):
|
||||
class ObjItemDeleteView(PermissionRequiredMixin, FormMessageMixin, DeleteView):
|
||||
"""View for deleting ObjItem."""
|
||||
|
||||
permission_required = 'objitem_delete'
|
||||
model = ObjItem
|
||||
template_name = "mainapp/objitem_confirm_delete.html"
|
||||
success_url = reverse_lazy("mainapp:objitem_list")
|
||||
success_message = "Объект успешно удалён!"
|
||||
required_roles = ["admin", "moderator"]
|
||||
|
||||
def get_success_url(self):
|
||||
"""Returns URL with saved filter parameters."""
|
||||
|
||||
Reference in New Issue
Block a user