remotes/origin/1203
Nazar Kotjuk 10 years ago
parent 529fff6560
commit 032d989323
  1. 10
      conference/models.py
  2. 11
      exposition/models.py
  3. 17
      functions/model_mixin.py
  4. 16
      functions/models_methods.py
  5. 26
      proj/views.py
  6. 2
      templates/admin/article/blog_form.html
  7. 15
      templates/client/includes/conference/conference_services.html
  8. 2
      templates/client/includes/index/main_events.html

@ -133,6 +133,13 @@ class Conference(TranslatableModel, EventMixin, ExpoMixin):
return list(qs)
#return list(Service.objects.language().filter(url__in=ids, type=Service.type.conference).order_by('sort'))
def get_services_detail(self):
excluded = ['tickets']
country_ids = [item for item, bool in self.country.services if bool==True]
ids = [item for item, bool in self.services if bool==True]
qs = Service.objects.language().exclude(url__in=excluded).filter(Q(Q(url__in=country_ids) & Q(type=Service.type.conference)) | Q(url__in=ids))
return list(qs)
def get_nearest_events(self):
if self.theme.all():
theme = self.theme.all()[0]
@ -164,6 +171,9 @@ class Conference(TranslatableModel, EventMixin, ExpoMixin):
def get_visit_url(self):
return '/conference-visit/%s/'%self.id
def get_note_url(self):
return '/conference/add-note/%s/'%self.url
def get_note_by_user(self, user_id):
note = self.note.filter(user__id=user_id)
try:

@ -183,7 +183,7 @@ class Exposition(TranslatableModel, EventMixin, ExpoMixin):
country_ids = [item for item, bool in self.country.services if bool==True]
ids = [item for item, bool in self.services if bool==True]
qs = Service.objects.language().exclude(url__in=excluded).filter(Q(Q(url__in=country_ids) & Q(type=Service.type.expo)) | Q(url__in=ids))
return qs
return list(qs)
def get_parent(self):
return {}
@ -292,6 +292,9 @@ class Exposition(TranslatableModel, EventMixin, ExpoMixin):
def get_visit_url(self):
return '/exposition-visit/%s/'%self.id
def get_note_url(self):
return '/expo/add-note/%s/'%self.url
def get_timetables_days(self):
tables = self.business_program.all()
days = []
@ -313,12 +316,6 @@ class Exposition(TranslatableModel, EventMixin, ExpoMixin):
def theme_ids(self):
return [item['id'] for item in self.theme.all().values('id')]
def get_main_link(self):
if self.main:
return self.main.link.get_click_link()
else:
return self.get_permanent_url()
def get_top_link(self):
if self.top:
return self.top.link.get_click_link()

@ -5,11 +5,6 @@ from service.models import Service
class ExpoMixin(object):
# def get_index_text(self):
# names = [tr.name for tr in self.translations.all()]
# return names
def get_logo(self):
logo = self.files.filter(purpose='logo')
@ -34,6 +29,12 @@ class EventMixin(object):
url = '%s%s/'%(self.get_catalog_url(), self.url)
return url
def get_main_link(self):
if self.main:
return self.main.link.get_click_link()
else:
return self.get_permanent_url()
def get_paid_catalog_url(self):
return self.paid_new.catalog.get_click_link()
@ -45,12 +46,6 @@ class EventMixin(object):
def get_logo(self):
return self.logo
"""
logo = self.files.filter(purpose='logo')
if logo:
return logo[0]
return logo
"""
def get_preview(self):

@ -39,6 +39,22 @@ class ExpoManager(TranslationManager):
return result
def conf_main(self):
lang = translation.get_language()
key = 'conf_main_page_key_%s'%lang
result = cache.get(key)
if not result:
result = list(self.language(lang).
select_related('country', 'city', 'place', 'main').
prefetch_related('tag').
filter(main__isnull=False).
filter(main__public=True))
cache.set(key, result, 50)
return result
class CityManager(TranslationManager):

@ -1,22 +1,18 @@
# -*- coding: utf-8 -*-
from django.core.context_processors import csrf
from django.shortcuts import render_to_response
from django.template import RequestContext
from django.views.generic import TemplateView
from django.conf import settings
from exposition.models import Exposition
from theme.models import Theme
from news.models import News
from article.models import Article
from functions.cache_mixin import JitterCacheMixin, CacheMixin
from functions.forms import ThemeSearch, PlaceSearch
from functions.search_forms import EventSearchForm, ExpositionSearchForm
from functions.custom_views import ExpoListView
from django.utils.translation import get_language
from functions.cache_mixin import JitterCacheMixin
from functions.forms import ThemeSearch
from functions.search_forms import ExpositionSearchForm
from accounts.forms import RegistrationCompleteForm, SocialRegistrationCompleteForm
from meta.models import SeoText
from django.utils.translation import get_language
from theme.models import Theme
from article.models import Article
from exposition.models import Exposition
from conference.models import Conference
def clear_slashes(str_):
@ -73,11 +69,13 @@ def error404(request):
class MainPageView(JitterCacheMixin, TemplateView):
cache_range = settings.CACHE_RANGE
template_name = 'index.html'
template_name = 'client/index.html'
def get_context_data(self, **kwargs):
context = super(MainPageView, self).get_context_data(**kwargs)
ev = Exposition.objects.expo_main()
ex = Exposition.objects.expo_main()
conf = Conference.objects.conf_main()
ev = ex + conf
events = sorted(ev, key=lambda x: x.main.position)
# update main_page counter
for event in events:

@ -53,7 +53,7 @@
</div>
{% if not article %}
<div class="control-group {% if form.slug.errors %}error{% endif %}">
<label class="control-label"><b>{{ form.slug.label }}:</b></label>
<label class="control-label">{{ form.slug.label }}:</label>
<div class="controls">
{{ form.slug }}
<span class="help-inline">{{ form.slug.errors }}</span>

@ -2,13 +2,12 @@
<div class="i-sub-articles">
<ul>
<li>
<a href="{{ event.get_permanent_url }}service/translator/">{% trans 'Устный переводчик' %}</a>
</li>
{% if event.country_id not in sng_countries %}
<li>
<a href="{{ event.get_permanent_url }}service/visit/">{% trans 'Бизнес-тур "под ключ"' %}</a>
</li>
{% endif %}
{% with services=object.get_services_detail %}
{% for service in services %}
<li>
<a href="{{ exposition.get_permanent_url }}service/{{ service.url }}/">{{ service.name }}</a>
</li>
{% endfor %}
{% endwith %}
</ul>
</div>

@ -36,7 +36,7 @@
<div class="re-buttons">
<a class="button blue icon-calendar {% if event|in_calendar:request.user %}removecalendar {% else %}addcalendar {% endif %}" href="{{ event.get_calendar_url }}">{% if event|in_calendar:request.user %}{% trans 'Убрать из календаря' %}{% else %}{% trans 'добавить в календарь' %}{% endif %}</a>
<div class="main-page {% if request.user.is_authenticated%}note-wrap{% else %}note-wrap-disabled{% endif %}">
<a class="button green icon-note {% if note %}active{% endif %} note-button" href="/expo/add-note/{{ event.url }}/">{% trans 'заметка' %}</a>
<a class="button green icon-note {% if note %}active{% endif %} note-button" href="{{ event.get_note_url }}">{% trans 'заметка' %}</a>
<div class="note-overlay">
<form action="">
<textarea name="note_text" class="note-text"> {{ note }}</textarea>

Loading…
Cancel
Save