diff --git a/accounts/forms.py b/accounts/forms.py index c7e3443d..4a140777 100644 --- a/accounts/forms.py +++ b/accounts/forms.py @@ -249,10 +249,11 @@ class RegistrationCompleteForm(forms.ModelForm): try: User.objects.get(url=url) User.objects.get(id=int(url)) - except (User.DoesNotExist, ValueError, ): + except (User.DoesNotExist,): return url - else: - raise forms.ValidationError(_(u'Пользователь с таким url уже существует')) + except (ValueError, ): + pass + raise forms.ValidationError(_(u'Пользователь с таким url уже существует')) class SocialRegistrationCompleteForm(RegistrationCompleteForm): diff --git a/meta/models.py b/meta/models.py index 972d540a..c0002aa1 100644 --- a/meta/models.py +++ b/meta/models.py @@ -63,7 +63,7 @@ class MetaSetting(TranslatableModel): object_params = { 'object_name': 'name', 'object_title': 'main_title', - 'object_title_l': lambda obj: obj.main_title[:1].lower() + obj.main_title[1:] if obj.main_title else '', + 'object_title_l': lambda obj: getattr(obj, 'main_title', '')[:1].lower() + getattr(obj, 'main_title', '')[1:] if getattr(obj, 'main_title', None) else '', 'city': 'city', 'country': 'country', diff --git a/settings/redirect_views.py b/settings/redirect_views.py index 67df53d2..968728ed 100644 --- a/settings/redirect_views.py +++ b/settings/redirect_views.py @@ -38,32 +38,35 @@ 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: + if self.model.objects.filter(old_url__icontains=value).exists(): + obj = self.model.objects.filter(old_url__icontains=value)[0] + 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 +176,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 diff --git a/support/prod/settings.py b/support/prod/settings.py index 7bd849ac..a9d88d99 100644 --- a/support/prod/settings.py +++ b/support/prod/settings.py @@ -582,5 +582,3 @@ LOGGING = { }, } } - - diff --git a/templates/client/includes/conference/conference_object.html b/templates/client/includes/conference/conference_object.html index 964cf33a..763f9363 100644 --- a/templates/client/includes/conference/conference_object.html +++ b/templates/client/includes/conference/conference_object.html @@ -36,7 +36,7 @@

{% if event.main_title %} - {{ event.name|safe }} - {{ event.main_title|safe|lowfirst }} + {{ event.name|safe }} - {{ event.main_title|lowfirst|safe }} {% else %} {{ event.name|safe }} {% endif %} diff --git a/templates/client/includes/conference/conference_paid.html b/templates/client/includes/conference/conference_paid.html index 5f7b011f..1d199237 100644 --- a/templates/client/includes/conference/conference_paid.html +++ b/templates/client/includes/conference/conference_paid.html @@ -44,7 +44,7 @@

{% if event.main_title %} - {{ event.name|safe }} - {{ event.main_title|safe|lowfirst }} + {{ event.name|safe }} - {{ event.main_title|lowfirst|safe }} {% else %} {{ event.name|safe }} {% endif %} diff --git a/templates/client/includes/exposition/expo_paid.html b/templates/client/includes/exposition/expo_paid.html index 00fcc954..2972441c 100644 --- a/templates/client/includes/exposition/expo_paid.html +++ b/templates/client/includes/exposition/expo_paid.html @@ -42,7 +42,7 @@

{% if exposition.main_title %} - {{ exposition.name|safe }} - {{ exposition.main_title|safe|lowfirst }} + {{ exposition.name|safe }} - {{ exposition.main_title|lowfirst|safe }} {% else %} {{ exposition.name|safe }} {% endif %} diff --git a/templates/client/includes/exposition/exposition_object.html b/templates/client/includes/exposition/exposition_object.html index 51d69919..ef78e628 100644 --- a/templates/client/includes/exposition/exposition_object.html +++ b/templates/client/includes/exposition/exposition_object.html @@ -39,7 +39,7 @@

{% if exposition.main_title %} - {{ exposition.name|safe }} - {{ exposition.main_title|safe|lowfirst }} + {{ exposition.name|safe }} - {{ exposition.main_title|lowfirst|safe }} {% else %} {{ exposition.name|safe }} {% endif %}