diff --git a/settings/redirect_views.py b/settings/redirect_views.py index 67df53d2..85b31b06 100644 --- a/settings/redirect_views.py +++ b/settings/redirect_views.py @@ -38,32 +38,34 @@ class TagRedirect(RedirectMixin): model = Tag def get_object_url(self, key, value): - Model = self.model - try: - obj = Model.objects.get(old_url=value) - except Model.DoesNotExist: - try: - obj = Model.objects.get(url=value) - except Model.DoesNotExist: - if value.endwith('-expo'): - value = value.replace('-expo', '') - elif value.endwith('-conf'): - value = value.replace('-conf', '') - - obj = get_object_or_404(old_url=value) - + obj = self._get_object(value) + if not obj: + if value.endswith('-expo'): + value = value.replace('-expo', '') + elif value.endswith('-conf'): + value = value.replace('-conf', '') + obj = self._get_object(value) if obj: return {key: obj.url} else: raise Http404 + def _get_object(self, value): + obj = None + try: + obj = self.model.objects.get(old_url=value) + except self.model.DoesNotExist: + try: + obj = self.model.objects.get(url=value) + except self.model.DoesNotExist: + pass + return obj class CompanyRedirect(RedirectMixin): model = Company - class EventRedirect(object): def get_object_url(self,key, value): @@ -173,4 +175,4 @@ def old_profile(request): if user.is_authenticated(): return HttpResponseRedirect('/%s/'%user.url) else: - raise Http404 \ No newline at end of file + raise Http404