mirror of
https://github.com/nikdoof/vapemap.git
synced 2025-12-18 04:09:22 +00:00
404 if the target object can't be found
This commit is contained in:
@@ -1,5 +1,6 @@
|
|||||||
from django.views.generic.edit import CreateView
|
from django.views.generic.edit import CreateView
|
||||||
from django.core.urlresolvers import reverse
|
from django.core.urlresolvers import reverse
|
||||||
|
from django.http import Http404
|
||||||
from django.contrib.contenttypes.models import ContentType
|
from django.contrib.contenttypes.models import ContentType
|
||||||
from django.contrib import messages
|
from django.contrib import messages
|
||||||
from ..forms import ClaimRequestForm
|
from ..forms import ClaimRequestForm
|
||||||
@@ -16,6 +17,8 @@ class ClaimCreateView(WaffleSwitchMixin, CreateView):
|
|||||||
|
|
||||||
def get(self, request, *args, **kwargs):
|
def get(self, request, *args, **kwargs):
|
||||||
self.target_obj = self.get_target_object()
|
self.target_obj = self.get_target_object()
|
||||||
|
if not self.target_obj:
|
||||||
|
raise Http404
|
||||||
return super(ClaimCreateView, self).get(request, *args, **kwargs)
|
return super(ClaimCreateView, self).get(request, *args, **kwargs)
|
||||||
|
|
||||||
def post(self, request, *args, **kwargs):
|
def post(self, request, *args, **kwargs):
|
||||||
@@ -24,7 +27,11 @@ class ClaimCreateView(WaffleSwitchMixin, CreateView):
|
|||||||
|
|
||||||
def get_target_object(self):
|
def get_target_object(self):
|
||||||
obj_slug = self.kwargs.get('slug')
|
obj_slug = self.kwargs.get('slug')
|
||||||
return self.target_model.objects.get(slug=obj_slug)
|
try:
|
||||||
|
obj = self.target_model.objects.get(slug=obj_slug)
|
||||||
|
except self.target_model.DoesNotExist:
|
||||||
|
return None
|
||||||
|
return obj
|
||||||
|
|
||||||
def get_context_data(self, **kwargs):
|
def get_context_data(self, **kwargs):
|
||||||
ctx = super(ClaimCreateView, self).get_context_data(**kwargs)
|
ctx = super(ClaimCreateView, self).get_context_data(**kwargs)
|
||||||
|
|||||||
Reference in New Issue
Block a user