add todos for more class based views

This commit is contained in:
Laura Klünder 2023-10-02 17:42:01 +02:00
parent 12848e4acf
commit 233298cf34
6 changed files with 13 additions and 12 deletions

View file

@ -9,13 +9,13 @@ from django.urls import reverse
from django.utils.translation import gettext_lazy as _ from django.utils.translation import gettext_lazy as _
from c3nav.control.forms import AccessPermissionForm from c3nav.control.forms import AccessPermissionForm
from c3nav.control.views import control_panel_view from c3nav.control.views.base import control_panel_view
from c3nav.mapdata.models.access import AccessPermissionToken from c3nav.mapdata.models.access import AccessPermissionToken
@login_required(login_url='site.login') @login_required(login_url='site.login')
@control_panel_view @control_panel_view
def grant_access(request): def grant_access(request): # todo: make class based view
if request.method == 'POST' and request.POST.get('submit_access_permissions'): if request.method == 'POST' and request.POST.get('submit_access_permissions'):
form = AccessPermissionForm(request=request, data=request.POST) form = AccessPermissionForm(request=request, data=request.POST)
if form.is_valid(): if form.is_valid():
@ -37,7 +37,7 @@ def grant_access(request):
@login_required(login_url='site.login') @login_required(login_url='site.login')
@control_panel_view @control_panel_view
def grant_access_qr(request, token): def grant_access_qr(request, token): # todo: make class based view
with transaction.atomic(): with transaction.atomic():
token = AccessPermissionToken.objects.select_for_update().get(token=token, author=request.user) token = AccessPermissionToken.objects.select_for_update().get(token=token, author=request.user)
if token.redeemed: if token.redeemed:

View file

@ -3,13 +3,13 @@ from django.core.exceptions import PermissionDenied
from django.shortcuts import redirect, render, get_object_or_404 from django.shortcuts import redirect, render, get_object_or_404
from c3nav.control.forms import AnnouncementForm from c3nav.control.forms import AnnouncementForm
from c3nav.control.views import control_panel_view from c3nav.control.views.base import control_panel_view
from c3nav.site.models import Announcement from c3nav.site.models import Announcement
@login_required(login_url='site.login') @login_required(login_url='site.login')
@control_panel_view @control_panel_view
def announcement_list(request): def announcement_list(request): # todo: make class based view
if not request.user_permissions.manage_announcements: if not request.user_permissions.manage_announcements:
raise PermissionDenied raise PermissionDenied
@ -33,7 +33,7 @@ def announcement_list(request):
@login_required(login_url='site.login') @login_required(login_url='site.login')
@control_panel_view @control_panel_view
def announcement_detail(request, announcement): def announcement_detail(request, announcement): # todo: make class based view
if not request.user_permissions.manage_announcements: if not request.user_permissions.manage_announcements:
raise PermissionDenied raise PermissionDenied

View file

@ -11,14 +11,14 @@ from django.utils.timezone import make_aware
from django.utils.translation import gettext_lazy as _ from django.utils.translation import gettext_lazy as _
from c3nav.control.forms import MapUpdateForm, MapUpdateFilterForm from c3nav.control.forms import MapUpdateForm, MapUpdateFilterForm
from c3nav.control.views import control_panel_view from c3nav.control.views.base import control_panel_view
from c3nav.mapdata.models import MapUpdate from c3nav.mapdata.models import MapUpdate
from c3nav.mapdata.tasks import process_map_updates from c3nav.mapdata.tasks import process_map_updates
@login_required(login_url='site.login') @login_required(login_url='site.login')
@control_panel_view @control_panel_view
def map_updates(request): def map_updates(request): # todo: make class based view
if not request.user_permissions.manage_map_updates: if not request.user_permissions.manage_map_updates:
raise PermissionDenied raise PermissionDenied

View file

@ -1,6 +1,6 @@
from django.views.generic import ListView from django.views.generic import ListView
from c3nav.control.views import ControlPanelMixin from c3nav.control.views.base import ControlPanelMixin
from c3nav.mesh.models import MeshNode from c3nav.mesh.models import MeshNode

View file

@ -13,8 +13,7 @@ from django.views.generic import ListView
from c3nav.control.forms import UserPermissionsForm, AccessPermissionForm, UserSpaceAccessForm from c3nav.control.forms import UserPermissionsForm, AccessPermissionForm, UserSpaceAccessForm
from c3nav.control.models import UserSpaceAccess, UserPermissions from c3nav.control.models import UserSpaceAccess, UserPermissions
from c3nav.control.views.base import ControlPanelMixin, control_panel_view
from c3nav.control.views import ControlPanelMixin, control_panel_view
from c3nav.mapdata.models import AccessRestriction from c3nav.mapdata.models import AccessRestriction
from c3nav.mapdata.models.access import AccessPermission from c3nav.mapdata.models.access import AccessPermission
@ -36,7 +35,7 @@ class UserListView(ControlPanelMixin, ListView):
@login_required(login_url='site.login') @login_required(login_url='site.login')
@control_panel_view @control_panel_view
def user_detail(request, user): def user_detail(request, user): # todo: make class based view
qs = User.objects.select_related( qs = User.objects.select_related(
'permissions', 'permissions',
).prefetch_related( ).prefetch_related(

View file

@ -96,6 +96,8 @@ def level_detail(request, pk):
def space_detail(request, level, pk): def space_detail(request, level, pk):
Level = request.changeset.wrap_model('Level') Level = request.changeset.wrap_model('Level')
Space = request.changeset.wrap_model('Space') Space = request.changeset.wrap_model('Space')
# todo: HOW TO GET DATA
qs = Space.objects.filter(Space.q_for_request(request)) qs = Space.objects.filter(Space.q_for_request(request))
space = get_object_or_404(qs.select_related('level'), level__pk=level, pk=pk) space = get_object_or_404(qs.select_related('level'), level__pk=level, pk=pk)