remotes/origin/1203
Kotiuk Nazarii 11 years ago
commit d74898d75c
  1. 4
      conference/urls.py
  2. 10
      conference/views.py
  3. 3
      exposition/urls.py
  4. 11
      exposition/views.py
  5. 45
      functions/search_forms.py
  6. 3
      templates/client/index.html
  7. 3
      templates/client/simple_pages/about.html
  8. BIN
      templates/client/static_client/img/partners/IPSA-pict.png
  9. BIN
      templates/client/static_client/img/partners/Rosupack.png
  10. BIN
      templates/client/static_client/img/partners/congress_office.png
  11. BIN
      templates/client/static_client/img/partners/deutsche-messe-2.png
  12. BIN
      templates/client/static_client/img/partners/deutsche-messe.png
  13. BIN
      templates/client/static_client/img/partners/expocentr.png
  14. BIN
      templates/client/static_client/img/partners/expoforum.png
  15. BIN
      templates/client/static_client/img/partners/ite.png
  16. BIN
      templates/client/static_client/img/partners/messe-dusseldorf.png
  17. BIN
      templates/client/static_client/img/partners/messe-frankfurt.png
  18. BIN
      templates/client/static_client/img/partners/nurnberg-messe.png
  19. BIN
      templates/client/static_client/img/partners/reed-exhibitions.png
  20. 34
      theme/manager.py

@ -2,7 +2,7 @@
from django.conf.urls import patterns, include, url from django.conf.urls import patterns, include, url
from views import ConferenceDetail, ConferenceList, ConferenceByCity, ConferenceByCountry, ConferenceByTheme,\ from views import ConferenceDetail, ConferenceList, ConferenceByCity, ConferenceByCountry, ConferenceByTheme,\
ConferenceCountryCatalog, ConferenceCityCatalog, ConferenceTagCatalog, ConferenceThemeCatalog, ConferenceMembers,\ ConferenceCountryCatalog, ConferenceCityCatalog, ConferenceTagCatalog, ConferenceThemeCatalog, ConferenceMembers,\
ConferenceVisitors, ConferenceServiceView, ConferenceThankView ConferenceVisitors, ConferenceServiceView, ConferenceThankView, ConferenceByTag
from exposition.views import ExpositionSearchView from exposition.views import ExpositionSearchView
urlpatterns = patterns('', urlpatterns = patterns('',
@ -53,6 +53,7 @@ urlpatterns = patterns('',
url(r'conference/theme/(?P<slug>.*)/(?P<year>\d+)/$', ConferenceThemeCatalog.as_view(), {'meta_id':30}), url(r'conference/theme/(?P<slug>.*)/(?P<year>\d+)/$', ConferenceThemeCatalog.as_view(), {'meta_id':30}),
url(r'conference/theme/(?P<slug>.*)/$', ConferenceThemeCatalog.as_view(), {'meta_id':29}), url(r'conference/theme/(?P<slug>.*)/$', ConferenceThemeCatalog.as_view(), {'meta_id':29}),
# tag catalog # tag catalog
url(r'conference/tag/$', ConferenceByTag.as_view(), {'meta_id':50}),
url(r'conference/tag/(?P<slug>.*)/(?P<year>\d+)/(?P<month>.*)/page/(?P<page>\d+)/$', ConferenceTagCatalog.as_view(), {'meta_id':34}), url(r'conference/tag/(?P<slug>.*)/(?P<year>\d+)/(?P<month>.*)/page/(?P<page>\d+)/$', ConferenceTagCatalog.as_view(), {'meta_id':34}),
url(r'conference/tag/(?P<slug>.*)/(?P<year>\d+)/page/(?P<page>\d+)/$', ConferenceTagCatalog.as_view(), {'meta_id':33}), url(r'conference/tag/(?P<slug>.*)/(?P<year>\d+)/page/(?P<page>\d+)/$', ConferenceTagCatalog.as_view(), {'meta_id':33}),
url(r'conference/tag/(?P<slug>.*)/page/(?P<page>\d+)/$', ConferenceTagCatalog.as_view(), {'meta_id':32}), url(r'conference/tag/(?P<slug>.*)/page/(?P<page>\d+)/$', ConferenceTagCatalog.as_view(), {'meta_id':32}),
@ -67,6 +68,7 @@ urlpatterns = patterns('',
url(r'^conference/(?P<slug>.*)/service/thanks/', ConferenceThankView.as_view()), url(r'^conference/(?P<slug>.*)/service/thanks/', ConferenceThankView.as_view()),
url(r'conference/(?P<slug>.*)/service/(?P<service_url>.*)/', ConferenceServiceView.as_view()), url(r'conference/(?P<slug>.*)/service/(?P<service_url>.*)/', ConferenceServiceView.as_view()),
# conf list # conf list
url(r'conference/(?P<year>\d+)/(?P<month>.*)/page/(?P<page>\d+)/$', ConferenceList.as_view(), {'meta_id':22}), url(r'conference/(?P<year>\d+)/(?P<month>.*)/page/(?P<page>\d+)/$', ConferenceList.as_view(), {'meta_id':22}),
url(r'conference/(?P<year>\d+)/page/(?P<page>\d+)/$', ConferenceList.as_view(), {'meta_id':21}), url(r'conference/(?P<year>\d+)/page/(?P<page>\d+)/$', ConferenceList.as_view(), {'meta_id':21}),

@ -53,6 +53,16 @@ class ConferenceByCountry(ConferenceBy):
# .filter(conference_country__country__isnull=False, translations__language_code=lang)\ # .filter(conference_country__country__isnull=False, translations__language_code=lang)\
# .order_by('translations__name').distinct() # .order_by('translations__name').distinct()
class ConferenceByTag(ConferenceBy):
model = Tag
title1 = _(u'По тегам')
title2 = _(u'Коференции мира по тегам')
catalog = 'tag/'
def get_queryset(self):
return self.model.active.conference_themes_with_count()
class ConferenceByTheme(ConferenceBy): class ConferenceByTheme(ConferenceBy):
model = Theme model = Theme

@ -1,7 +1,7 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
from django.conf.urls import patterns, include, url from django.conf.urls import patterns, include, url
from views import ExpositionStatistic, ExpositionPrice,\ from views import ExpositionStatistic, ExpositionPrice,\
ExpositionProgramme, ExpositionSearchView, ExpositionByCountry, ExpositionByTheme, ExpositionByCity ExpositionProgramme, ExpositionSearchView, ExpositionByCountry, ExpositionByTheme, ExpositionByCity, ExpositionByTag
from django.views.decorators.cache import cache_page from django.views.decorators.cache import cache_page
@ -79,6 +79,7 @@ urlpatterns = patterns('',
url(r'^expo/(?P<year>\d+)/(?P<month>.*)/$', ExpoList.as_view(), {'meta_id':4}), url(r'^expo/(?P<year>\d+)/(?P<month>.*)/$', ExpoList.as_view(), {'meta_id':4}),
url(r'^expo/(?P<year>\d+)/$', ExpoList.as_view(), {'meta_id':3}), url(r'^expo/(?P<year>\d+)/$', ExpoList.as_view(), {'meta_id':3}),
url(r'^expo/page/(?P<page>\d+)/$', ExpoList.as_view(), {'meta_id':2}), url(r'^expo/page/(?P<page>\d+)/$', ExpoList.as_view(), {'meta_id':2}),
url(r'^expo/tag/$', ExpositionByTag.as_view(), {'meta_id':2}),
# expo page # expo page
url(r'^expo/(?P<slug>.*)/$', ExpoDetail.as_view(), {'meta_id':18}),# event url(r'^expo/(?P<slug>.*)/$', ExpoDetail.as_view(), {'meta_id':18}),# event
url(r'^expo/$', ExpoList.as_view() , {'meta_id':2}), url(r'^expo/$', ExpoList.as_view() , {'meta_id':2}),

@ -71,6 +71,17 @@ class ExpositionByTheme(ExpositionBy):
# .filter(exposition_themes__theme__isnull=False, translations__language_code=lang)\ # .filter(exposition_themes__theme__isnull=False, translations__language_code=lang)\
# .order_by('translations__name').distinct() # .order_by('translations__name').distinct()
class ExpositionByTag(ExpositionBy):
cache_range = settings.CACHE_RANGE
model = Tag
title1 = _(u'По тегам')
title2 = _(u'Выставки мира по тегам')
catalog = 'tag/'
def get_queryset(self):
return self.model.active.expo_themes_with_count()
class ExpositionByCity(ExpositionBy): class ExpositionByCity(ExpositionBy):
cache_range = settings.CACHE_RANGE cache_range = settings.CACHE_RANGE

@ -179,21 +179,26 @@ class AbstactSearchForm(forms.Form):
co = self.cleaned_data.get('co') co = self.cleaned_data.get('co')
ci = self.cleaned_data.get('ci') ci = self.cleaned_data.get('ci')
area = self.cleaned_data.get('area') area = self.cleaned_data.get('area')
sqs = SearchQuerySet().models(*self.models).all() sqs = SearchQuerySet().models(*self.models).all()
if q:
sqs = sqs.autocomplete(content_auto=q)
if w:
sqs = sqs.filter(where__contains=w)
if fr: if fr:
sqs = sqs.filter(data_begin__gte=fr) sqs = sqs.filter(data_begin__gte=fr)
if to: if to:
sqs = sqs.filter(data_begin__lte=to) sqs = sqs.filter(data_begin__lte=to)
if th:
sqs = sqs.filter(theme__in=th) if th or tg:
if tg: if th:
sqs = sqs.filter(tag__in=tg) sqs = sqs.filter(theme__in=th)
if tg:
sqs = sqs.filter(tag__in=tg)
else:
if q:
sqs = sqs.autocomplete(content_auto=q)
if w:
sqs = sqs.filter(where__contains=w)
place_filter = None place_filter = None
@ -276,18 +281,19 @@ class ExpositionSearchForm(AbstactSearchForm):
sqs = SearchQuerySet().models(Exposition).all() sqs = SearchQuerySet().models(Exposition).all()
if q:
sqs = sqs.autocomplete(content_auto=q)
if w:
sqs = sqs.filter(where__contains=w)
if fr: if fr:
sqs = sqs.filter(data_begin__gte=fr) sqs = sqs.filter(data_begin__gte=fr)
if to: if to:
sqs = sqs.filter(data_begin__lte=to) sqs = sqs.filter(data_begin__lte=to)
if th:
sqs = sqs.filter(theme__in=th) if th or tg:
if tg: if th:
sqs = sqs.filter(tag__in=tg) sqs = sqs.filter(theme__in=th)
if tg:
sqs = sqs.filter(tag__in=tg)
else:
if q:
sqs = sqs.autocomplete(content_auto=q)
place_filter = None place_filter = None
@ -313,6 +319,9 @@ class ExpositionSearchForm(AbstactSearchForm):
#sqs = sqs.filter(city_id__in=ci) #sqs = sqs.filter(city_id__in=ci)
if place_filter: if place_filter:
sqs = sqs.filter(place_filter) sqs = sqs.filter(place_filter)
else:
if w:
sqs = sqs.filter(where__contains=w)
return sqs.order_by('data_begin') return sqs.order_by('data_begin')

@ -134,7 +134,10 @@
<ul class="mp-partners-list"> <ul class="mp-partners-list">
<li><img src="{% static 'client/img/partners/deutsche-messe-2.png' %}" /></li> <li><img src="{% static 'client/img/partners/deutsche-messe-2.png' %}" /></li>
<li><img src="{% static 'client/img/partners/ite.png' %}" /></li> <li><img src="{% static 'client/img/partners/ite.png' %}" /></li>
<li><img src="{% static 'client/img/partners/congress_office.png' %}" /></li>
{% comment %}
<li><img src="{% static 'client/img/partners/nurnberg-messe.png' %}" /></li> <li><img src="{% static 'client/img/partners/nurnberg-messe.png' %}" /></li>
{% endcomment %}
<li><img src="{% static 'client/img/partners/reed-exhibitions.png' %}" /></li> <li><img src="{% static 'client/img/partners/reed-exhibitions.png' %}" /></li>
<li><img src="{% static 'client/img/partners/messe-dusseldorf.png' %}" /></li> <li><img src="{% static 'client/img/partners/messe-dusseldorf.png' %}" /></li>
</ul> </ul>

@ -250,7 +250,10 @@
<td class="delimiter">&nbsp;</td> <td class="delimiter">&nbsp;</td>
<td> <td>
<div class='pict-over'> <div class='pict-over'>
<img src="{% static 'client/img/partners/congress_office.png' %}" alt="" />
{% comment %}
<img src="{% static 'client/img/partners/new/Lippman Connects.jpg' %}" alt="" /> <img src="{% static 'client/img/partners/new/Lippman Connects.jpg' %}" alt="" />
{% endcomment %}
</div> </div>
</td> </td>
<td class="delimiter">&nbsp;</td> <td class="delimiter">&nbsp;</td>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 113 KiB

After

Width:  |  Height:  |  Size: 28 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 115 KiB

After

Width:  |  Height:  |  Size: 28 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.2 KiB

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.0 KiB

After

Width:  |  Height:  |  Size: 2.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.8 KiB

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.3 KiB

After

Width:  |  Height:  |  Size: 1.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.6 KiB

After

Width:  |  Height:  |  Size: 2.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.3 KiB

After

Width:  |  Height:  |  Size: 1.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.7 KiB

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.5 KiB

After

Width:  |  Height:  |  Size: 2.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.9 KiB

After

Width:  |  Height:  |  Size: 2.6 KiB

@ -136,3 +136,37 @@ class TagActiveManager(TranslationManager):
cache.set(key, tags, self.cache_time) cache.set(key, tags, self.cache_time)
return tags return tags
def expo_themes_with_count(self):
lang = translation.get_language()
key = 'used_expo_tags_count_%s'%lang
cached_tags = cache.get(key)
if cached_tags:
return cached_tags
else:
from exposition.models import Exposition
now = datetime.datetime.now().date()
# id of unique cities
tags_id = [item['tag'] for item in Exposition.objects.filter(is_published=True, data_end__gte=now).values('tag').distinct()]
#themes = set(list(self.language().filter(id__in=themes_id).extra(select=sql)))
tags = set(list(self.language().filter(id__in=tags_id)))
tags = sorted(tags, key=lambda x: x.name)
cache.set(key, tags, self.cache_time)
return tags
def conference_themes_with_count(self):
lang = translation.get_language()
key = 'used_conference_tags_count_%s'%lang
cached_tags = cache.get(key)
if cached_tags:
return cached_tags
else:
from conference.models import Conference
now = datetime.datetime.now().date()
# id of unique cities
tags_id = [item['tag'] for item in Conference.objects.filter(is_published=True, data_end__gte=now).values('tag').distinct()]
#themes = set(list(self.language().filter(id__in=themes_id).extra(select=sql)))
tags = set(list(self.language().filter(id__in=tags_id)))
tags = sorted(tags, key=lambda x: x.name)
cache.set(key, tags, self.cache_time)
return tags

Loading…
Cancel
Save