Skip to content
Snippets Groups Projects
Commit 4d4a645f authored by Tanner Prestegard's avatar Tanner Prestegard Committed by GraceDB
Browse files

add utility function for getting a superevent by its date id or returning a 404

parent c8a74529
No related branches found
No related tags found
No related merge requests found
......@@ -14,7 +14,7 @@ from django.shortcuts import get_object_or_404
from ..models import Superevent
from ..utils import remove_tag_from_log, remove_event_from_superevent, \
remove_label_from_superevent
remove_label_from_superevent, get_superevent_by_date_id_or_404
from core.vfile import VersionedFile
from core.http import check_and_serve_file
......@@ -70,10 +70,8 @@ class SupereventViewSet(viewsets.ModelViewSet):
def get_object(self):
queryset = self.filter_queryset(self.get_queryset())
superevent_id = self.kwargs.get(self.lookup_field)
filter_kwargs = Superevent.get_filter_kwargs_for_date_id_lookup(
superevent_id)
obj = get_object_or_404(queryset, **filter_kwargs)
obj = get_superevent_by_date_id_or_404(self.request, superevent_id)
# TODO: figure this out
self.check_object_permissions(self.request, obj)
......
from django.shortcuts import get_object_or_404
from .models import Superevent, Log, Labelling
from events.models import Event, EventLog, Tag
from events.permission_utils import assign_default_perms
......@@ -372,3 +374,15 @@ def get_or_create_tags(tag_name_list, display_name_list=[]):
tag_list.append(tag)
return tag_list
# TODO: add permissions checking?
def get_superevent_by_date_id_or_404(request, superevent_id):
filter_kwargs = Superevent.get_filter_kwargs_for_date_id_lookup(
superevent_id)
# TODO: filter queryset for user here
queryset = Superevent.objects.all()
return get_object_or_404(queryset, **filter_kwargs)
......@@ -6,6 +6,7 @@ from django.views.decorators.http import require_POST
from .models import Superevent, Log
from .forms import LogCreateForm
from .utils import get_superevent_by_date_id_or_404
from core.vfile import VersionedFile
from events.permission_utils import internal_user_required, is_external
......@@ -19,10 +20,7 @@ logger = logging.getLogger(__name__)
def webview(request, superevent_id):
# Get superevent object
try:
superevent = Superevent.get_by_date_id(superevent_id)
except Superevent.DoesNotExist:
raise Http404("Superevent matching the given query does not exist.")
superevent = get_superevent_by_date_id_or_404(request, superevent_id)
# Get context
context = {}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment