Реализовал систему разрешений
This commit is contained in:
@@ -16,6 +16,7 @@ from django.views.generic import CreateView, UpdateView
|
||||
from ..forms import SatelliteForm
|
||||
from ..mixins import RoleRequiredMixin, FormMessageMixin
|
||||
from ..models import Satellite, Band
|
||||
from ..permissions import PermissionRequiredMixin
|
||||
from ..utils import parse_pagination_params
|
||||
|
||||
|
||||
@@ -252,15 +253,14 @@ class SatelliteListView(LoginRequiredMixin, View):
|
||||
return render(request, "mainapp/satellite_list.html", context)
|
||||
|
||||
|
||||
class SatelliteCreateView(RoleRequiredMixin, FormMessageMixin, CreateView):
|
||||
class SatelliteCreateView(PermissionRequiredMixin, FormMessageMixin, CreateView):
|
||||
"""View for creating a new satellite."""
|
||||
|
||||
permission_required = 'satellite_create'
|
||||
model = Satellite
|
||||
form_class = SatelliteForm
|
||||
template_name = "mainapp/satellite_form.html"
|
||||
success_url = reverse_lazy("mainapp:satellite_list")
|
||||
success_message = "Спутник успешно создан!"
|
||||
required_roles = ["admin", "moderator"]
|
||||
|
||||
def get_context_data(self, **kwargs):
|
||||
context = super().get_context_data(**kwargs)
|
||||
@@ -274,15 +274,14 @@ class SatelliteCreateView(RoleRequiredMixin, FormMessageMixin, CreateView):
|
||||
return super().form_valid(form)
|
||||
|
||||
|
||||
class SatelliteUpdateView(RoleRequiredMixin, FormMessageMixin, UpdateView):
|
||||
class SatelliteUpdateView(PermissionRequiredMixin, FormMessageMixin, UpdateView):
|
||||
"""View for updating an existing satellite."""
|
||||
|
||||
permission_required = 'satellite_edit'
|
||||
model = Satellite
|
||||
form_class = SatelliteForm
|
||||
template_name = "mainapp/satellite_form.html"
|
||||
success_url = reverse_lazy("mainapp:satellite_list")
|
||||
success_message = "Спутник успешно обновлен!"
|
||||
required_roles = ["admin", "moderator"]
|
||||
|
||||
def get_context_data(self, **kwargs):
|
||||
import json
|
||||
@@ -320,10 +319,9 @@ class SatelliteUpdateView(RoleRequiredMixin, FormMessageMixin, UpdateView):
|
||||
return super().form_valid(form)
|
||||
|
||||
|
||||
class DeleteSelectedSatellitesView(RoleRequiredMixin, View):
|
||||
class DeleteSelectedSatellitesView(PermissionRequiredMixin, View):
|
||||
"""View for deleting multiple selected satellites with confirmation."""
|
||||
|
||||
required_roles = ["admin", "moderator"]
|
||||
permission_required = 'satellite_delete'
|
||||
|
||||
def get(self, request):
|
||||
"""Show confirmation page with details about satellites to be deleted."""
|
||||
|
||||
Reference in New Issue
Block a user