From a04fe870fa4907df6279e48d74aa4ad29df9c351 Mon Sep 17 00:00:00 2001 From: Nazar Kotjuk Date: Thu, 24 Sep 2015 16:35:54 +0300 Subject: [PATCH 1/2] Translators seo fix --- article/models.py | 2 +- specialist_catalog/urls.py | 18 +++++++++++++----- specialist_catalog/views.py | 23 ++++++++++++++++++----- 3 files changed, 32 insertions(+), 11 deletions(-) diff --git a/article/models.py b/article/models.py index b1a4d2c5..5b981113 100644 --- a/article/models.py +++ b/article/models.py @@ -45,7 +45,7 @@ class ArticleManager(TranslationManager): if cached_news: return cached_news else: - news = list(self.news().filter(publish_date__isnull=False).order_by('-main_page', '-publish_date')[:3]) + news = list(self.news().filter(publish_date__isnull=False).order_by('-main_page', '-publish_date', '-modified')[:3]) cache.set(key, news, self.cache_time) return news diff --git a/specialist_catalog/urls.py b/specialist_catalog/urls.py index 91382837..d3853d9c 100644 --- a/specialist_catalog/urls.py +++ b/specialist_catalog/urls.py @@ -1,11 +1,19 @@ # -*- coding: utf-8 -*- from django.conf.urls import url, patterns -from .views import CatalogDetailedView, SpecCatalog +from .views import CatalogDetailedView, SpecCatalog, redirect_old + urlpatterns = patterns('', - url(r'^city/$', SpecCatalog.as_view(), {'type': 'city'}, name="spec_city"), - url(r'^country/$', SpecCatalog.as_view(), {'type': 'country'}, name="spec_country"), + url(r'^city/(?P.*)/all/page/(?P\d+)/$', redirect_old, {'type': 'city'}), + url(r'^city/(?P.*)/all/$', redirect_old, {'type': 'city'}), + url(r'^city/$', SpecCatalog.as_view(), {'type': 'city', 'meta_id': 86}, name="spec_city"), + url(r'^city/(?P.*)/$', CatalogDetailedView.as_view(), {'type': 'city', 'meta_id': 88}, name="spec_catalog_city"), - url(r'^city/(?P.*)/$', CatalogDetailedView.as_view(), {'type': 'city'}, name="spec_catalog_city"), - url(r'^country/(?P.*)/$', CatalogDetailedView.as_view(), {'type': 'country'}, name="spec_catalog_country"), + url(r'^country/(?P.*)/all/page/(?P\d+)/$', redirect_old), + url(r'^country/(?P.*)/all/$', redirect_old), + url(r'^country/$', SpecCatalog.as_view(), {'type': 'country', 'meta_id': 86}, name="spec_country"), + url(r'^country/(?P.*)/$', CatalogDetailedView.as_view(), {'type': 'country', 'meta_id': 87}, name="spec_catalog_country"), + url(r'^(?P.*)/$', redirect_old), + url(r'^page/(?P\d+)/$', redirect_old), + url(r'^$', redirect_old), ) \ No newline at end of file diff --git a/specialist_catalog/views.py b/specialist_catalog/views.py index b7ed1b44..fe81fccb 100644 --- a/specialist_catalog/views.py +++ b/specialist_catalog/views.py @@ -2,12 +2,13 @@ from django.views.generic import CreateView, UpdateView, DeleteView, ListView, FormView, DetailView from django.views.generic.detail import SingleObjectMixin from django.utils.translation import ugettext as _ +from meta.views import MetadataMixin from .forms import * from django.core.urlresolvers import reverse_lazy from django.conf import settings from django.shortcuts import get_object_or_404 from service.order_forms import TranslationForm -from django.http import HttpResponseRedirect, Http404 +from django.http import HttpResponseRedirect, Http404, HttpResponsePermanentRedirect from .models import _city, _country @@ -155,7 +156,7 @@ class FeedbackDeleteView(DeleteView): # ========= CLIENT VIEWS ============ -class CatalogDetailedView(SingleObjectMixin, FormView): +class CatalogDetailedView(MetadataMixin, SingleObjectMixin, FormView): model = SpecialistCatalog form_class = TranslationForm template_name = "client/specialist_catalog/catalog_detailed.html" @@ -164,12 +165,16 @@ class CatalogDetailedView(SingleObjectMixin, FormView): def get_catalog_obj(self): if self.kwargs.get('type') is "country": try: - return self.model.objects.language().get(type=1, country__url=self.kwargs.get('slug')) + spec_catalog = self.model.objects.language().get(type=1, country__url=self.kwargs.get('slug')) + self.kwargs['country'] = spec_catalog.country + return spec_catalog except self.model.DoesNotExist: raise Http404 else: try: - return self.model.objects.language().get(type=2, city__url=self.kwargs.get('slug')) + spec_catalog = self.model.objects.language().get(type=2, city__url=self.kwargs.get('slug')) + self.kwargs['city'] = spec_catalog.city + return spec_catalog except self.model.DoesNotExist: raise Http404 @@ -197,7 +202,7 @@ class CatalogDetailedView(SingleObjectMixin, FormView): init['city'] = obj.city.name return init -class SpecCatalog(ListView): +class SpecCatalog(MetadataMixin, ListView): model = SpecialistCatalog template_name = 'client/specialist_catalog/catalog.html' @@ -223,3 +228,11 @@ class SpecCatalog(ListView): else: context['title'] = _(u'Переводчики по городам') return context + + + +def redirect_old(request, *args, **kwargs): + if not kwargs.get('type'): + return HttpResponsePermanentRedirect('/translators/country/') + else: + return HttpResponsePermanentRedirect('/translators/city/') \ No newline at end of file From f03ffb19a3be391885bf4b147e97ec6201342e6d Mon Sep 17 00:00:00 2001 From: Nazar Kotjuk Date: Thu, 24 Sep 2015 21:08:37 +0300 Subject: [PATCH 2/2] Tag fix. News logo fix --- conference/forms.py | 3 ++- exposition/forms.py | 6 ++++-- templates/client/includes/article/news_on_main_logo.html | 2 +- 3 files changed, 7 insertions(+), 4 deletions(-) diff --git a/conference/forms.py b/conference/forms.py index 12040fc2..897f441b 100644 --- a/conference/forms.py +++ b/conference/forms.py @@ -132,7 +132,8 @@ class ConferenceCreateForm(forms.Form): else: conference = obj conference.theme.clear() - conference.tag.clear() + if data.get('tag'): + conference.tag.clear() #simple fields if not getattr(conference, 'url'): diff --git a/exposition/forms.py b/exposition/forms.py index 7036432a..8b431736 100644 --- a/exposition/forms.py +++ b/exposition/forms.py @@ -161,9 +161,11 @@ class ExpositionCreateForm(forms.Form): else: exposition = obj exposition.theme.clear() - exposition.tag.clear() + + exposition.organiser.clear() - #exposition.company.clear() + if data.get('tag'): + exposition.tag.clear() #simple fields if not getattr(exposition, 'url'): diff --git a/templates/client/includes/article/news_on_main_logo.html b/templates/client/includes/article/news_on_main_logo.html index 51e2920d..9ae0fa5e 100644 --- a/templates/client/includes/article/news_on_main_logo.html +++ b/templates/client/includes/article/news_on_main_logo.html @@ -2,7 +2,7 @@ {% load thumbnail %} {% if obj.logo %} - {% thumbnail obj.logo "80x80" format="PNG" as im %} + {% thumbnail obj.logo "70x70" format="PNG" as im %} {% endthumbnail %} {% else %}