remotes/origin/t90_expo_page
Slava Kyrachevsky 9 years ago
commit e99f3b011e
  1. 24
      apps/conference/models.py
  2. 13
      apps/conference/tests/test_models.py
  3. 2
      apps/country/admin.py
  4. 26
      apps/emencia/django/newsletter/forms.py
  5. 1
      apps/emencia/django/newsletter/mailer.py
  6. 3
      apps/emencia/django/newsletter/urls/__init__.py
  7. 47
      apps/emencia/django/newsletter/views/expo_views.py
  8. 18
      apps/expobanner/views.py
  9. 14
      apps/exposition/models.py
  10. 32
      apps/functions/model_mixin.py
  11. 1
      apps/place_exposition/views.py
  12. 2
      apps/service/models.py
  13. 2
      apps/service/urls.py
  14. 14
      apps/service/views.py
  15. 4
      proj/views.py
  16. 17
      static/client.old/js/main.js
  17. 81
      static/client/js/_modules/block.exposition.list.js
  18. 3708
      static/client/js/_modules/page.events.feed.js
  19. 52
      static/client/js/_modules/page.exposition.object.js
  20. 74
      static/client/js/_modules/page.index.js
  21. 17
      static/client/js/main.js
  22. 2
      static/client/js/rejs/tops.js
  23. 17
      static/client/js/vendor.js
  24. 2
      static/client/js_min/_modules/block.exposition.list.min.js
  25. 2
      static/client/js_min/_modules/page.events.feed.min.js
  26. 2
      static/client/js_min/_modules/page.exposition.object.min.js
  27. 1
      static/client/js_min/_modules/page.index.min.js
  28. 4
      static/client/js_min/vendor.min.js
  29. 40
      static/mailing_settings/css/main.css
  30. 34
      static/mailing_settings/js/main.js
  31. 2
      templates/c_admin/country/country_add.html
  32. 28
      templates/c_admin/country/country_list.html
  33. 262
      templates/client/accounts/feed.html
  34. 5
      templates/client/base_catalog.html
  35. 4
      templates/client/base_page.html
  36. 2
      templates/client/blank.html
  37. 6
      templates/client/includes/announces.html
  38. 6
      templates/client/includes/conference/conference_list.html
  39. 637
      templates/client/includes/conference/conference_object.html
  40. 6
      templates/client/includes/conference/conference_paid.html
  41. 12
      templates/client/includes/conference/conference_partner.html
  42. 13
      templates/client/includes/conference/conference_services.html
  43. 16
      templates/client/includes/event_list.html
  44. 13
      templates/client/includes/event_steps.html
  45. 238
      templates/client/includes/events/filter_result.html
  46. 224
      templates/client/includes/exposition/expo_list_paid.html
  47. 6
      templates/client/includes/exposition/expo_paid.html
  48. 6
      templates/client/includes/exposition/exposition_list.html
  49. 10
      templates/client/includes/exposition/exposition_object.html
  50. 18
      templates/client/includes/exposition/exposition_services.html
  51. 10
      templates/client/includes/exposition/price.html
  52. 10
      templates/client/includes/exposition/programm.html
  53. 212
      templates/client/includes/exposition/search_result.html
  54. 6
      templates/client/includes/exposition/services.html
  55. 11
      templates/client/includes/exposition/statistic.html
  56. 2
      templates/client/includes/services.html
  57. 22
      templates/client/index.html
  58. 312
      templates/client/newsletters/announce_template.html
  59. 91
      templates/client/newsletters/mailing_settings.html
  60. 13
      templates/client/place/place_detail.html
  61. 13
      templates/client/place/place_exposition_list.html
  62. 58
      templates/client/popups/announces.html
  63. 4
      templates/client/specialist_catalog/catalog_detailed.html

@ -146,30 +146,6 @@ class Conference(TranslatableModel, EventMixin, ExpoMixin):
def __unicode__(self): def __unicode__(self):
return self.lazy_translation_getter('name', unicode(self.pk)) return self.lazy_translation_getter('name', unicode(self.pk))
def get_services(self):
return self.get_services_detail()
# 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.filter(Q(Q(url__in=country_ids) & Q(type=Service.type.conference)) | Q(url__in=ids))
# 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']
return super(Conference, self).get_services_detail(None, Service.type.conference)
# def get_nearest_events(self):
# if self.theme.all():
# theme = self.theme.all()[0]
# now = datetime.datetime.now()
# now = now - datetime.timedelta(days=1)
# conferences = Conference.objects.filter(theme__in=[theme], data_begin__gt=now).exclude(id=self.id).order_by('data_begin')
# return conferences[:3]
# else:
# return []
def get_audience(self): def get_audience(self):
return self.audience.all() return self.audience.all()

@ -1,11 +1,8 @@
import datetime import datetime
from accounts.models import User
from django.contrib.contenttypes.models import ContentType
from django.core.urlresolvers import reverse, NoReverseMatch from django.core.urlresolvers import reverse, NoReverseMatch
from django.test import TestCase from django.test import TestCase
from expobanner.models import Paid, Banner from expobanner.models import Paid, Banner
from service.models import Service
from stats_collector.models import ObjectStats from stats_collector.models import ObjectStats
from theme.models import Tag, Theme from theme.models import Tag, Theme
@ -71,16 +68,6 @@ class ConferenceTest(TestCase):
'name', unicode(self.conference.pk)) 'name', unicode(self.conference.pk))
) )
def test_method_get_services(self):
services = [item for item, bool in self.conference.services if bool]
qs = Service.objects.language()
qs = qs.filter(url__in=services)
self.assertEqual(
sorted(self.conference.get_services(), key=lambda x: x.pk),
sorted(list(qs), key=lambda x: x.pk)
)
def test_method_get_news_url(self): def test_method_get_news_url(self):
self.assertEqual( self.assertEqual(
self.conference.get_news_url(), self.conference.get_news_url(),

@ -81,7 +81,7 @@ def country_change(request, url):
'logo': c.logo} 'logo': c.logo}
if c.capital: if c.capital:
data['capital'] = c.capital.id data['capital'] = c.capital_id
#data from translated fields #data from translated fields
for code, name in settings.LANGUAGES: for code, name in settings.LANGUAGES:

@ -107,15 +107,12 @@ class MailingSettingsForm(forms.ModelForm):
model = Contact model = Contact
fields = [ fields = [
'email', 'first_name', 'moscow', 'russia', 'r_cities', 'foreign', 'email', 'first_name', 'moscow', 'russia', 'r_cities', 'foreign',
'periodic', 'periodic_day', 'content_news', 'content_overview', 'content_news', 'content_overview', 'content_articles',
'content_articles',
] ]
widgets = { widgets = {
'first_name': forms.TextInput(attrs={'placeholder': _(u'Ваше имя')}), 'first_name': forms.TextInput(attrs={'placeholder': _(u'Ваше имя')}),
'moscow': forms.CheckboxInput(), 'moscow': forms.CheckboxInput(),
'foreign': forms.CheckboxInput(), 'foreign': forms.CheckboxInput(),
'periodic': forms.RadioSelect(),
'periodic_day': forms.RadioSelect(),
'content_news': forms.CheckboxInput(), 'content_news': forms.CheckboxInput(),
'content_overview': forms.CheckboxInput(), 'content_overview': forms.CheckboxInput(),
'content_articles': forms.CheckboxInput(), 'content_articles': forms.CheckboxInput(),
@ -437,27 +434,6 @@ class AbstractSubscribeForm(forms.ModelForm):
return Theme.objects.filter(id__in=themes) return Theme.objects.filter(id__in=themes)
class SubscribeAssideForm(AbstractSubscribeForm):
city = forms.CharField(
widget=forms.HiddenInput(attrs={'id': 'id_subscription_city', 'placeholder': _(u'Город')}),
required=False)
periodic = forms.ChoiceField(
choices=ContactSettings.PERIODIC_CHOICES, required=False,
widget=forms.Select(attrs={'placeholder': _(u'Периодичность'), 'id': 'id_subscription_periodic'}))
def __init__(self, *args, **kwargs):
super(SubscribeAssideForm, self).__init__(*args, **kwargs)
lang = translation.get_language()
self.fields['theme'] = forms.MultipleChoiceField(
choices=[(item.pk, get_by_lang(item, 'name', lang)) for item in SearchQuerySet().models(Theme).all()],
widget=forms.SelectMultiple(attrs={'placeholder': _(u'Тематики'), 'id': 'id_subscription_theme'}))
self.fields['country'] = forms.MultipleChoiceField(
choices=[(item.pk, get_by_lang(item, 'name', lang)) for item in SearchQuerySet().models(Country).all()],
required=False,
widget=forms.SelectMultiple(attrs={'placeholder': _(u'Страны'), 'id': 'id_subscription_country'}))
class SubscribeSettingsForm(AbstractSubscribeForm): class SubscribeSettingsForm(AbstractSubscribeForm):
NA_ID = 12 NA_ID = 12
ASIA_ID = 9 ASIA_ID = 9

@ -412,7 +412,6 @@ class NewsLetterSender(object):
}) })
if self.announce: if self.announce:
# render template by default announce template # render template by default announce template
# template = get_template('newsletter/announce_template.html')
template = get_template('newsletter/AutomaticEmail_v2.html') template = get_template('newsletter/AutomaticEmail_v2.html')
context.update(announce_context) context.update(announce_context)
content = template.render(context) content = template.render(context)

@ -12,7 +12,6 @@ urlpatterns = patterns('',
url(r'^statistics/', include('emencia.django.newsletter.urls.statistics')), url(r'^statistics/', include('emencia.django.newsletter.urls.statistics')),
url(r'^', include('emencia.django.newsletter.urls.newsletter')), url(r'^', include('emencia.django.newsletter.urls.newsletter')),
url(r'^test-letter/', TemplateView.as_view(template_name='client/newsletters/announce_template.html'), name='newsletter_test_letter'),
url(r'^activation/send/', TemplateView.as_view(template_name='client/newsletters/activation_send.html'), url(r'^activation/send/', TemplateView.as_view(template_name='client/newsletters/activation_send.html'),
name='subscription_activation_send'), name='subscription_activation_send'),
url(r'^activation/complete/', TemplateView.as_view(template_name='client/newsletters/activation_complete.html'), url(r'^activation/complete/', TemplateView.as_view(template_name='client/newsletters/activation_complete.html'),
@ -22,7 +21,5 @@ urlpatterns = patterns('',
name='newsletter_subscription_popup_validate'), name='newsletter_subscription_popup_validate'),
url(r'^partisipation/validate/$', 'emencia.django.newsletter.views.expo_views.landing_partisipation_validate', url(r'^partisipation/validate/$', 'emencia.django.newsletter.views.expo_views.landing_partisipation_validate',
name='landing_partisipation_validate'), name='landing_partisipation_validate'),
url(r'^subsribe/aside/$', 'emencia.django.newsletter.views.expo_views.subscribe_aside',
name='newsletter_subscription_aside'),
url(r'^$', SubscribeView.as_view(), name='newsletter_subscription'), url(r'^$', SubscribeView.as_view(), name='newsletter_subscription'),
) )

@ -2,19 +2,18 @@
import json import json
from django.core.urlresolvers import reverse_lazy from django.core.urlresolvers import reverse_lazy
from django.db.models import Count
from django.views.generic import TemplateView, FormView from django.views.generic import TemplateView, FormView
from django.http import HttpResponse from django.http import HttpResponse
from django.shortcuts import redirect from django.shortcuts import redirect
from emencia.django.newsletter.forms import ContactForm from emencia.django.newsletter.forms import ContactForm
from emencia.django.newsletter.models import Contact, MailingList from emencia.django.newsletter.models import Contact, MailingList
from emencia.django.newsletter.forms import ( from emencia.django.newsletter.forms import MailingSettingsForm
SubscribeAssideForm, MailingSettingsForm
)
from accounts.models import User
from accounts.views import GetUserMixin from accounts.views import GetUserMixin
from functions.http import JsonResponse from functions.http import JsonResponse
from city.models import City from city.models import City
from theme.models import Theme
class SubscribeView(GetUserMixin, FormView): class SubscribeView(GetUserMixin, FormView):
@ -81,6 +80,7 @@ class SubscribeView(GetUserMixin, FormView):
ctx['object'] = self.object ctx['object'] = self.object
ctx['r_cities'] = self.get_russian_cities() ctx['r_cities'] = self.get_russian_cities()
ctx['checked_th'] = self.get_checked_th() ctx['checked_th'] = self.get_checked_th()
ctx['popular_themes'] = self.get_popular_themes()
if self.object is not None: if self.object is not None:
if self.request.GET.get('unsibscribe') and self.object.subscriber: if self.request.GET.get('unsibscribe') and self.object.subscriber:
@ -105,6 +105,17 @@ class SubscribeView(GetUserMixin, FormView):
return self.object.themes.values_list('pk', flat=True) return self.object.themes.values_list('pk', flat=True)
return [] return []
def get_popular_themes(self):
"""
:return: 7 популярных тем (где больше всего подписчиков)
"""
qs = Theme.objects.annotate(c=Count('contact'))\
.values('pk', 'c')\
.order_by('-c')[:7]
return Theme.objects.language()\
.filter(pk__in=[x['pk'] for x in qs])\
.order_by('name')
class ActivationView(TemplateView): class ActivationView(TemplateView):
http_method_names = ['get'] http_method_names = ['get']
@ -137,34 +148,6 @@ class ActivationView(TemplateView):
return ('subscription_activation_complete', (), {}) return ('subscription_activation_complete', (), {})
def subscribe_aside(request):
if request.POST:
response = {'success': False}
form = SubscribeAssideForm(request.POST)
if form.is_valid():
email = form.cleaned_data['email']
try:
user = User.objects.get(username=email)
except User.DoesNotExist:
user = None
contact = Contact.objects.create_contact(email, user)
contact_setting = form.save(commit=False)
contact_setting.contact = contact
contact_setting.exponent_practicum = True
contact_setting.organiser_practicum = True
contact_setting.save()
form.save_m2m()
response['success'] = True
else:
errors = form.errors
if 'theme' in errors:
errors['id_subscription_theme'] = errors['theme']
response['errors'] = errors
return HttpResponse(json.dumps(response, indent=2), content_type='application/json')
else:
return HttpResponse('not form request')
def popup_validate(request): def popup_validate(request):
response = {'success': False} response = {'success': False}
if request.GET: if request.GET:

@ -1,10 +1,10 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
import json import json
import re import re
from django.http import HttpResponse from django.http import HttpResponse
from django.shortcuts import redirect, get_object_or_404 from django.shortcuts import redirect, get_object_or_404, render
from django.shortcuts import render_to_response
from django.template import RequestContext
from .models import Banner, BannerGroup, URL, Top from .models import Banner, BannerGroup, URL, Top
from expobanner.utils import get_banner_by_params, get_client_ip, get_top_events, get_referer_view, set_cookie from expobanner.utils import get_banner_by_params, get_client_ip, get_top_events, get_referer_view, set_cookie
@ -102,7 +102,13 @@ def get_top(request):
tops = Top.cached.all() tops = Top.cached.all()
events = get_top_events(tops, params, request) events = get_top_events(tops, params, request)
context = {'objects': events} ctx = {'objects': events}
if not events:
return HttpResponse('')
if catalog == 'places': if catalog == 'places':
return render_to_response('client/includes/exposition/expo_top_place.html', context, context_instance=RequestContext(request)) return render(
return render_to_response('client/includes/exposition/expo_top.html', context, context_instance=RequestContext(request)) request, 'client/includes/exposition/expo_top_place.html', ctx
)
return render(request, 'client/includes/exposition/expo_top.html', ctx)

@ -5,7 +5,6 @@ from django.contrib.contenttypes import generic
from django.core.urlresolvers import reverse_lazy from django.core.urlresolvers import reverse_lazy
from django.db import models from django.db import models
from django.db.models.signals import post_save, pre_save from django.db.models.signals import post_save, pre_save
from django.dispatch import receiver
from django.utils import translation from django.utils import translation
from django.utils.translation import ugettext as _ from django.utils.translation import ugettext as _
from events.models import TargetAudience from events.models import TargetAudience
@ -174,19 +173,6 @@ class Exposition(TranslatableModel, EventMixin, ExpoMixin):
def get_price(self): def get_price(self):
return self.price_day or self.price_all return self.price_day or self.price_all
def get_services(self):
return self.get_services_detail()
# 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().filter(Q(Q(url__in=country_ids) & Q(type=Service.type.expo)) | Q(url__in=ids))
# return list(qs)
def get_services_detail(self):
excluded = ['visit']
return super(Exposition, self).get_services_detail(excluded, Service.type.expo)
def get_parent(self): def get_parent(self):
return {} return {}

@ -245,38 +245,6 @@ class EventMixin(object):
def cancel(self): def cancel(self):
self.canceled_by_administrator = True self.canceled_by_administrator = True
def get_services(self):
country_ids = [item for item, bool in self.country.services if bool==True]
ids = [item for item, bool in self.services if bool==True and item in country_ids]
return list(Service.objects.language().filter(url__in=ids).order_by('sort'))
def get_services_detail(self, excluded, _type):
if not isinstance(getattr(self, '_get_services_detail', None), list):
# excluded = ['visit', 'tickets']
# country_ids = [item for item, bool in self.country.services if bool==True]
services = [item for item, bool in self.services if bool]
qs = Service.objects.language()
if excluded is not None:
qs = qs.exclude(url__in=excluded)
# qs = qs.filter(Q(Q(url__in=country_ids) & Q(type=_type)) | Q(url__in=ids))
qs = qs.filter(url__in=services)
self._get_services_detail = list(qs)
# import pdb; pdb.set_trace()
#двигаем билеты сразу за переводом
if excluded is None or 'tickets' not in excluded:
translator_idx = tickets = None
for idx, service in enumerate(self._get_services_detail):
if service.url == 'translator':
translator_idx = idx + 1
elif service.url == 'tickets':
tickets = service
if tickets and translator_idx:
self._get_services_detail.remove(tickets)
self._get_services_detail.insert(translator_idx, tickets)
return self._get_services_detail
def duration_days(self, month=None): def duration_days(self, month=None):
if not month: if not month:
d = self.data_end - self.data_begin d = self.data_end - self.data_begin

@ -237,7 +237,6 @@ class PlaceExpositionListView(MetadataMixin, ListView):
места, по ссылке "Все события" места, по ссылке "Все события"
""" """
template_name = 'client/place/place_exposition_list.html' template_name = 'client/place/place_exposition_list.html'
# cache_range = settings.CACHE_RANGE
def get_object(self): def get_object(self):
slug = self.kwargs.get('slug') slug = self.kwargs.get('slug')

@ -6,7 +6,7 @@ from django.db.models.signals import post_save
from django.utils.translation import ugettext as _ from django.utils.translation import ugettext as _
from functions.custom_fields import EnumField from functions.custom_fields import EnumField
from functions.signal_handlers import post_save_handler from functions.signal_handlers import post_save_handler
from hvad.models import TranslatableModel, TranslatedFields, TranslationManager from hvad.models import TranslatableModel, TranslatedFields
CURENCIES = ('', 'USD', 'RUB', 'EUR') CURENCIES = ('', 'USD', 'RUB', 'EUR')

@ -1,5 +1,5 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
from django.conf.urls import patterns, include, url from django.conf.urls import patterns, url
from views import ServiceView, CallBackListView, VisitListView, TranslationListView, AdvertisingListView, \ from views import ServiceView, CallBackListView, VisitListView, TranslationListView, AdvertisingListView, \
ParticipationListView, RemoteListView,TicketsListView, Thanks ParticipationListView, RemoteListView,TicketsListView, Thanks

@ -2,23 +2,17 @@
import json import json
from itertools import chain from itertools import chain
from django.http import HttpResponse
from django.views.generic import ListView, FormView, TemplateView from django.views.generic import ListView, FormView, TemplateView
from django.shortcuts import get_object_or_404 from django.shortcuts import get_object_or_404
from django.http import Http404
from django.http import HttpResponseRedirect, HttpResponse from django.http import HttpResponseRedirect, HttpResponse
from haystack.query import EmptySearchQuerySet
from meta.views import MetadataMixin from meta.views import MetadataMixin
from accounts.models import UserLog
from exposition.models import Exposition from exposition.models import Exposition
from conference.models import Conference from conference.models import Conference
from functions.custom_views import ExpoListView
from models import Service from models import Service
from order_forms import TranslationForm, CatalogForm, VisitForm, RemoteForm, ParticipationForm, TicketsForm,\ from order_forms import TranslationForm, CatalogForm, VisitForm, RemoteForm, ParticipationForm, TicketsForm,\
AdvertiseForm, BuildStandForm AdvertiseForm, BuildStandForm
#from functions.search_forms import CompanySearchForm from service.models import CallBack, Visit, Translation, Advertising, Participation, Remote, Tickets
order_forms = {'translator': TranslationForm, 'catalog': CatalogForm, 'participation': ParticipationForm, order_forms = {'translator': TranslationForm, 'catalog': CatalogForm, 'participation': ParticipationForm,
@ -121,12 +115,12 @@ def advertise(request, catalog=None, event_url=None):
raise HttpResponse('not ajax') raise HttpResponse('not ajax')
from service.models import CallBack, Visit, Translation, Advertising, Participation, Remote, Tickets
class AbstractOrderListView(ListView): class AbstractOrderListView(ListView):
template_name = 'c_admin/service/order_list.html' template_name = 'c_admin/service/order_list.html'
paginate_by = 20 paginate_by = 20
class CallBackListView(AbstractOrderListView): class CallBackListView(AbstractOrderListView):
model = CallBack model = CallBack
@ -138,15 +132,19 @@ class VisitListView(AbstractOrderListView):
class TranslationListView(AbstractOrderListView): class TranslationListView(AbstractOrderListView):
model = Translation model = Translation
class AdvertisingListView(AbstractOrderListView): class AdvertisingListView(AbstractOrderListView):
model = Advertising model = Advertising
class ParticipationListView(AbstractOrderListView): class ParticipationListView(AbstractOrderListView):
model = Participation model = Participation
class RemoteListView(AbstractOrderListView): class RemoteListView(AbstractOrderListView):
model = Remote model = Remote
class TicketsListView(AbstractOrderListView): class TicketsListView(AbstractOrderListView):
model = Tickets model = Tickets

@ -16,8 +16,6 @@ from theme.models import Theme
from article.models import Article from article.models import Article
from exposition.models import Exposition from exposition.models import Exposition
from conference.models import Conference from conference.models import Conference
from emencia.django.newsletter.forms import SubscribeAssideForm
from django.db.models.loading import get_model from django.db.models.loading import get_model
@ -40,7 +38,7 @@ def expo_context(request):
'main_page_blogs': Article.objects.main_page_blogs(), 'main_page_blogs': Article.objects.main_page_blogs(),
'blogs': Article.objects.every_page_blogs(), 'blogs': Article.objects.every_page_blogs(),
'news_list': Article.objects.main_page_news(), 'sng_countries': settings.SNG_COUNTRIES, 'news_list': Article.objects.main_page_news(), 'sng_countries': settings.SNG_COUNTRIES,
'seo_text': add_seo(request), 'announce_subscribe': SubscribeAssideForm(), 'seo_text': add_seo(request),
'NO_EXTERNAL_JS': getattr(settings, 'NO_EXTERNAL_JS', False), 'NO_EXTERNAL_JS': getattr(settings, 'NO_EXTERNAL_JS', False),
'NO_BANNERS': getattr(settings, 'NO_BANNERS', False), 'NO_BANNERS': getattr(settings, 'NO_BANNERS', False),
'SUBSCRIBERS_COUNT': get_subscribers_count(), 'SUBSCRIBERS_COUNT': get_subscribers_count(),

@ -1020,23 +1020,6 @@ function placeInput(width){
$scrollContainer.mCustomScrollbar(customScrollOptions); $scrollContainer.mCustomScrollbar(customScrollOptions);
}); });
/* Открыть диалог подписки на нужной вкладке */
$('#subscribe-sm').each(function () {
var $container = $(this);
var $links = $container.find('a');
$links.on('click', function () {
var $link = $(this);
var index = $links.index(this);
var popupSubscribe = $('#pw-subscribe');
$.fancybox(popupSubscribe, fbPopupOptions);
var $tabs = popupSubscribe.find('ul.tabs > li');
$tabs.eq(index).trigger('click');
return false;
});
});
/* Обработка поведения вкладок */ /* Обработка поведения вкладок */
$("ul.tabs > li").on('click', function () { $("ul.tabs > li").on('click', function () {
var $curTab = $(this); var $curTab = $(this);

@ -1,78 +1,27 @@
var EXPO = EXPO || {}; //isolated namespace var EXPO = EXPO || {}; //isolated namespace
EXPO.exposition = EXPO.exposition || {}; EXPO.exposition = EXPO.exposition || {};
if (EXPO.exposition.list){ if (EXPO.exposition.list){
console.warn('WARNING: EXPO.place.object is already defined!'); console.warn('WARNING: EXPO.place.object is already defined!');
}else { }else {
EXPO.exposition.list = (function () { EXPO.exposition.list = (function () {
// dependencies // dependencies
var com = EXPO.common; var com = EXPO.common;
// variables // variables
var that = {}, var that = {};
Note = function (it, opt) { that.opt = {}; //свойства по умолчанию
this.opt = opt;
this.DOMthis = it;
this.DOMbutton = it.querySelector('.'+opt.buttonClass);
this.DOMinput = it.querySelector('.'+opt.inputClass);
this.inputName = this.DOMinput.getAttribute('name');
this.url = this.DOMbutton.getAttribute('href');
this._controller();
};
Note.prototype = {
_init: function () {
},
_controller: function () {
var self = this;
$(this.DOMinput).on('blur', function () {
self.send();
});
$(this.DOMbutton).on('click', function () {
return false;
});
},
send: function () {
var data = {},
response,
self = this,
handler = function (data) {
if (data.success) {
console.log('ok');
$(self.DOMbutton).addClass('active');
} else {
console.log('data not send');
}
};
data[this.inputName] = this.DOMinput.value;
response = com.getRequest(data,this.url,handler);
}
};
that.opt = {}; //свойства по умолчанию
//private //private
$(function () { $(function () {
}); });
// methods // methods
//инициализация общих свойств //инициализация общих свойств
that.init = function (options) { that.init = function (options) {
$.extend(this.opt, options); $.extend(this.opt, options);
this.notes = []; com.opt.addCalendarText = this.opt.addCalendarText;
var self = this; com.opt.removeCalendarText = this.opt.removeCalendarText;
};
$('.'+this.opt.note.wrapClass).each(function () { return that;
var note = new Note(this,self.opt.note); }());
self.notes.push(note);
});
$('.'+this.opt.note.wrapDisabledClass).on('click', function () {
$.fancybox.open('#pw-login');
return false;
});
com.opt.addCalendarText = this.opt.addCalendarText;
com.opt.removeCalendarText = this.opt.removeCalendarText;
};
return that;
}());
} }

File diff suppressed because it is too large Load Diff

@ -9,46 +9,8 @@ if (EXPO.exposition.object){
var com = EXPO.common, var com = EXPO.common,
$waiter; $waiter;
// variables // variables
var that = {},
Note = function (it, opt) {
this.opt = opt;
this.DOMthis = it;
this.DOMbutton = it.querySelector('.'+opt.buttonClass);
this.DOMinput = it.querySelector('.'+opt.inputClass);
this.inputName = this.DOMinput.getAttribute('name');
this.url = this.DOMbutton.getAttribute('href');
this._controller();
};
Note.prototype = {
_init: function () {
},
_controller: function () {
var self = this;
$(this.DOMinput).on('blur', function () {
self.send();
});
$(this.DOMbutton).on('click', function () {
return false;
});
},
send: function () {
var data = {},
response,
self = this,
handler = function (data) {
if (data.success){
console.log('ok');
$(self.DOMbutton).addClass('active');
}else{
console.log('data not send');
}
}; var that = {};
data[this.inputName] = this.DOMinput.value;
response = com.getRequest(data,this.url,handler);
}
};
that.opt = {}; //свойства по умолчанию that.opt = {}; //свойства по умолчанию
//private //private
$(function () { $(function () {
@ -61,16 +23,7 @@ if (EXPO.exposition.object){
$.extend(this.opt, options); $.extend(this.opt, options);
var self = this, var self = this,
$visitButtons = $('.'+this.opt.visit.activeClass+', .'+this.opt.visit.passiveClass); $visitButtons = $('.'+this.opt.visit.activeClass+', .'+this.opt.visit.passiveClass);
this.notes = [];
$('.'+this.opt.note.wrapClass).each(function () {
var note = new Note(this,self.opt.note);
self.notes.push(note);
});
$('.'+this.opt.note.wrapDisabledClass).on('click', function () {
$.fancybox.open('#pw-login');
return false;
});
com.opt.addCalendarText = this.opt.addCalendarText; com.opt.addCalendarText = this.opt.addCalendarText;
com.opt.removeCalendarText = this.opt.removeCalendarText; com.opt.removeCalendarText = this.opt.removeCalendarText;
/** /**
@ -124,7 +77,8 @@ if (EXPO.exposition.object){
$('.err',$form).removeClass("err"); $('.err',$form).removeClass("err");
$('.pwf-msg',$form).text(''); $('.pwf-msg',$form).text('');
}; };
if (data.success != true){
if (data.success !== true){
clearValue(); clearValue();
for (var k in data.errors){ for (var k in data.errors){
if (data.errors.hasOwnProperty(k)) { if (data.errors.hasOwnProperty(k)) {

@ -1,74 +0,0 @@
var EXPO = EXPO || {}; //isolated namespace
if (EXPO.index) {
console.warn('WARNING: EXPO.eventsFeed is already defined!');
} else {
EXPO.index = (function () {
// variables
var that = {};
//default module setting
that.opt = {};
//dependence's
var com = EXPO.common;
//private
var Note = function (it, opt) {
this.opt = opt;
this.DOMthis = it;
this.DOMbutton = it.querySelector('.'+opt.buttonClass);
this.DOMinput = it.querySelector('.'+opt.inputClass);
this.inputName = this.DOMinput.getAttribute('name');
this.url = this.DOMbutton.getAttribute('href');
this._controller();
};
Note.prototype = {
_init: function () {
},
_controller: function () {
var self = this;
$(this.DOMinput).on('blur', function () {
self.send();
});
$(this.DOMbutton).on('click', function () {
return false;
});
},
send: function () {
var data = {},
response,
self = this,
handler = function (data) {
if (data.success){
console.log('ok');
$(self.DOMbutton).addClass('active');
}else{
console.log('data not send');
}
};
data[this.inputName] = this.DOMinput.value;
response = com.getRequest(data,this.url,handler);
}
};
///////////////////////////
//инициализация общих свойств
that.init = function (options) {
// settings extending
$.extend(this.opt, options);
// begin of initialization
var self = this;
this.notes = [];
$('.'+this.opt.note.wrapClass).each(function () {
var note = new Note(this,self.opt.note);
self.notes.push(note);
});
$('.'+this.opt.note.wrapDisabledClass).on('click', function () {
$.fancybox.open('#pw-login');
return false;
});
};
return that;
}());
}

@ -694,23 +694,6 @@ function placeInput(width){
$scrollContainer.mCustomScrollbar(customScrollOptions); $scrollContainer.mCustomScrollbar(customScrollOptions);
}); });
/* Открыть диалог подписки на нужной вкладке */
$('#subscribe-sm').each(function () {
var $container = $(this);
var $links = $container.find('a');
$links.on('click', function () {
var $link = $(this);
var index = $links.index(this);
var popupSubscribe = $('#pw-subscribe');
$.fancybox(popupSubscribe, fbPopupOptions);
var $tabs = popupSubscribe.find('ul.tabs > li');
$tabs.eq(index).trigger('click');
return false;
});
});
/* Обработка поведения вкладок */ /* Обработка поведения вкладок */
$("ul.tabs > li").on('click', function () { $("ul.tabs > li").on('click', function () {
var $curTab = $(this); var $curTab = $(this);

@ -72,7 +72,7 @@
$('div#' + PARENT_ID + ' ul li.cl-item').each(function(index, el) { $('div#' + PARENT_ID + ' ul li.cl-item').each(function(index, el) {
$('div.page-body ul.cat-list li.cl-item[data-slug=\'' + $(el).data('slug') + '\']').not(el).remove(); $('div.page-body ul.cat-list li.cl-item[data-slug=\'' + $(el).data('slug') + '\']').not(el).remove();
}); });
} };
var insertTops = function (text) { var insertTops = function (text) {
var parent = document.getElementById(PARENT_ID); var parent = document.getElementById(PARENT_ID);

@ -4373,23 +4373,6 @@ function placeInput(width){
$scrollContainer.mCustomScrollbar(customScrollOptions); $scrollContainer.mCustomScrollbar(customScrollOptions);
}); });
/* Открыть диалог подписки на нужной вкладке */
$('#subscribe-sm').each(function () {
var $container = $(this);
var $links = $container.find('a');
$links.on('click', function () {
var $link = $(this);
var index = $links.index(this);
var popupSubscribe = $('#pw-subscribe');
$.fancybox(popupSubscribe, fbPopupOptions);
var $tabs = popupSubscribe.find('ul.tabs > li');
$tabs.eq(index).trigger('click');
return false;
});
});
/* Обработка поведения вкладок */ /* Обработка поведения вкладок */
$("ul.tabs > li").on('click', function () { $("ul.tabs > li").on('click', function () {
var $curTab = $(this); var $curTab = $(this);

@ -1 +1 @@
var EXPO=EXPO||{};EXPO.exposition=EXPO.exposition||{},EXPO.exposition.list?console.warn("WARNING: EXPO.place.object is already defined!"):EXPO.exposition.list=function(){var t=EXPO.common,n={},o=function(t,n){this.opt=n,this.DOMthis=t,this.DOMbutton=t.querySelector("."+n.buttonClass),this.DOMinput=t.querySelector("."+n.inputClass),this.inputName=this.DOMinput.getAttribute("name"),this.url=this.DOMbutton.getAttribute("href"),this._controller()};return o.prototype={_init:function(){},_controller:function(){var t=this;$(this.DOMinput).on("blur",function(){t.send()}),$(this.DOMbutton).on("click",function(){return!1})},send:function(){var n,o={},i=this,e=function(t){t.success?(console.log("ok"),$(i.DOMbutton).addClass("active")):console.log("data not send")};o[this.inputName]=this.DOMinput.value,n=t.getRequest(o,this.url,e)}},n.opt={},$(function(){}),n.init=function(n){$.extend(this.opt,n),this.notes=[];var i=this;$("."+this.opt.note.wrapClass).each(function(){var t=new o(this,i.opt.note);i.notes.push(t)}),$("."+this.opt.note.wrapDisabledClass).on("click",function(){return $.fancybox.open("#pw-login"),!1}),t.opt.addCalendarText=this.opt.addCalendarText,t.opt.removeCalendarText=this.opt.removeCalendarText},n}(); var EXPO=EXPO||{};EXPO.exposition=EXPO.exposition||{},EXPO.exposition.list?console.warn("WARNING: EXPO.place.object is already defined!"):EXPO.exposition.list=function(){var t=EXPO.common,e={};return e.opt={},$(function(){}),e.init=function(e){$.extend(this.opt,e),t.opt.addCalendarText=this.opt.addCalendarText,t.opt.removeCalendarText=this.opt.removeCalendarText},e}();

File diff suppressed because one or more lines are too long

@ -1 +1 @@
var EXPO=EXPO||{};EXPO.exposition=EXPO.exposition||{},EXPO.exposition.object?console.warn("WARNING: EXPO.exposition.object is already defined!"):EXPO.exposition.object=function(){var t,s=EXPO.common,i={},e=function(t,s){this.opt=s,this.DOMthis=t,this.DOMbutton=t.querySelector("."+s.buttonClass),this.DOMinput=t.querySelector("."+s.inputClass),this.inputName=this.DOMinput.getAttribute("name"),this.url=this.DOMbutton.getAttribute("href"),this._controller()};return e.prototype={_init:function(){},_controller:function(){var t=this;$(this.DOMinput).on("blur",function(){t.send()}),$(this.DOMbutton).on("click",function(){return!1})},send:function(){var t,i={},e=this,o=function(t){t.success?(console.log("ok"),$(e.DOMbutton).addClass("active")):console.log("data not send")};i[this.inputName]=this.DOMinput.value,t=s.getRequest(i,this.url,o)}},i.opt={},$(function(){t=$("#wait-ajax:not(.absolute)").css({"z-index":"8031"})}),i.init=function(i){$.extend(this.opt,i);var o=this,n=$("."+this.opt.visit.activeClass+", ."+this.opt.visit.passiveClass);this.notes=[],$("."+this.opt.note.wrapClass).each(function(){var t=new e(this,o.opt.note);o.notes.push(t)}),$("."+this.opt.note.wrapDisabledClass).on("click",function(){return $.fancybox.open("#pw-login"),!1}),s.opt.addCalendarText=this.opt.addCalendarText,s.opt.removeCalendarText=this.opt.removeCalendarText,n.off("click"),n.on("click",function(){return $(this).hasClass("no_auth")||($(this).hasClass(o.opt.visit.activeClass)?($("."+o.opt.visit.activeClass).hide().siblings("."+o.opt.visit.passiveClass).show(),$("#"+o.opt.visit.visitorsListId).append(o.opt.visit.currentHtml),$("#"+o.opt.visit.somebodyId).removeClass("hidden"),$("#"+o.opt.visit.nobodyId).addClass("hidden")):($("."+o.opt.visit.passiveClass).hide().siblings("."+o.opt.visit.activeClass).show(),$("#"+o.opt.visit.visitorsListId).children(".current").remove(),0==$("#"+o.opt.visit.visitorsListId).children().length&&($("#"+o.opt.visit.somebodyId).addClass("hidden"),$("#"+o.opt.visit.nobodyId).removeClass("hidden")))),!1}),$("#"+this.opt.advertise.id).on("submit",function(){var i=$(this).serialize(),e=$(this).attr("action"),o=$(this),n=function(s){var i=function(){$(".err",o).removeClass("err"),$(".pwf-msg",o).text("")};if(1!=s.success){i();for(var e in s.errors)s.errors.hasOwnProperty(e)&&$('input[name="'+e+'"]',o).closest(".required").addClass("err").siblings(".pwf-msg").text(s.errors[e])}else i(),dataLayer.push({event:"advmemberform"}),$("input:text",o).val(""),$.fancybox.close();t.hide()};return t.show(),s.postRequest(i,e,n),!1}),$("#"+this.opt.event_news_subscribe.id).on("submit",function(){var i=$(this).serialize(),e=$(this).attr("action"),o=$(this),n=function(s){var i=function(){$(".err",o).removeClass("err"),$(".pwf-msg",o).text("")};if(1!=s.success){i();for(var e in s.errors)console.log(s.errors.hasOwnProperty(e)),console.log(e),s.errors.hasOwnProperty(e)&&$('input[name="'+e+'"]',o).closest(".required").addClass("err").siblings(".pwf-msg").text(s.errors[e])}else i(),dataLayer.push({event:"event-news-subscribe-form"}),$("input:text",o).val(""),$("p#success").show(),1==s.sent?window.location=s.redirect_url:window.setTimeout(function(){$.fancybox.close()},1e3);t.hide()};return t.show(),s.postRequest(i,e,n),!1})},i}(); var EXPO=EXPO||{};EXPO.exposition=EXPO.exposition||{},EXPO.exposition.object?console.warn("WARNING: EXPO.exposition.object is already defined!"):EXPO.exposition.object=function(){var s,t=EXPO.common,e={};return e.opt={},$(function(){s=$("#wait-ajax:not(.absolute)").css({"z-index":"8031"})}),e.init=function(e){$.extend(this.opt,e);var i=this,o=$("."+this.opt.visit.activeClass+", ."+this.opt.visit.passiveClass);t.opt.addCalendarText=this.opt.addCalendarText,t.opt.removeCalendarText=this.opt.removeCalendarText,o.off("click"),o.on("click",function(){return $(this).hasClass("no_auth")||($(this).hasClass(i.opt.visit.activeClass)?($("."+i.opt.visit.activeClass).hide().siblings("."+i.opt.visit.passiveClass).show(),$("#"+i.opt.visit.visitorsListId).append(i.opt.visit.currentHtml),$("#"+i.opt.visit.somebodyId).removeClass("hidden"),$("#"+i.opt.visit.nobodyId).addClass("hidden")):($("."+i.opt.visit.passiveClass).hide().siblings("."+i.opt.visit.activeClass).show(),$("#"+i.opt.visit.visitorsListId).children(".current").remove(),0==$("#"+i.opt.visit.visitorsListId).children().length&&($("#"+i.opt.visit.somebodyId).addClass("hidden"),$("#"+i.opt.visit.nobodyId).removeClass("hidden")))),!1}),$("#"+this.opt.advertise.id).on("submit",function(){var e=$(this).serialize(),i=$(this).attr("action"),o=$(this),r=function(t){var e=function(){$(".err",o).removeClass("err"),$(".pwf-msg",o).text("")};if(t.success!==!0){e();for(var i in t.errors)t.errors.hasOwnProperty(i)&&$('input[name="'+i+'"]',o).closest(".required").addClass("err").siblings(".pwf-msg").text(t.errors[i])}else e(),dataLayer.push({event:"advmemberform"}),$("input:text",o).val(""),$.fancybox.close();s.hide()};return s.show(),t.postRequest(e,i,r),!1}),$("#"+this.opt.event_news_subscribe.id).on("submit",function(){var e=$(this).serialize(),i=$(this).attr("action"),o=$(this),r=function(t){var e=function(){$(".err",o).removeClass("err"),$(".pwf-msg",o).text("")};if(1!=t.success){e();for(var i in t.errors)console.log(t.errors.hasOwnProperty(i)),console.log(i),t.errors.hasOwnProperty(i)&&$('input[name="'+i+'"]',o).closest(".required").addClass("err").siblings(".pwf-msg").text(t.errors[i])}else e(),dataLayer.push({event:"event-news-subscribe-form"}),$("input:text",o).val(""),$("p#success").show(),1==t.sent?window.location=t.redirect_url:window.setTimeout(function(){$.fancybox.close()},1e3);s.hide()};return s.show(),t.postRequest(e,i,r),!1})},e}();

@ -1 +0,0 @@
var EXPO=EXPO||{};EXPO.index?console.warn("WARNING: EXPO.eventsFeed is already defined!"):EXPO.index=function(){var t={};t.opt={};var n=EXPO.common,i=function(t,n){this.opt=n,this.DOMthis=t,this.DOMbutton=t.querySelector("."+n.buttonClass),this.DOMinput=t.querySelector("."+n.inputClass),this.inputName=this.DOMinput.getAttribute("name"),this.url=this.DOMbutton.getAttribute("href"),this._controller()};return i.prototype={_init:function(){},_controller:function(){var t=this;$(this.DOMinput).on("blur",function(){t.send()}),$(this.DOMbutton).on("click",function(){return!1})},send:function(){var t,i={},o=this,e=function(t){t.success?(console.log("ok"),$(o.DOMbutton).addClass("active")):console.log("data not send")};i[this.inputName]=this.DOMinput.value,t=n.getRequest(i,this.url,e)}},t.init=function(t){$.extend(this.opt,t);var n=this;this.notes=[],$("."+this.opt.note.wrapClass).each(function(){var t=new i(this,n.opt.note);n.notes.push(t)}),$("."+this.opt.note.wrapDisabledClass).on("click",function(){return $.fancybox.open("#pw-login"),!1})},t}();

File diff suppressed because one or more lines are too long

@ -88,11 +88,29 @@ h3{
} }
.themes_block h3 { .themes_block h3 {
margin-bottom: 30px; margin-bottom: 20px;
}
.themes_block p {
font-size: 18px;
color: #999999;
margin-bottom: 20px;
}
.popular_themes {
font-size: 18px;
margin-bottom: 20px;
list-style: none;
}
.popular_themes li {
padding: 5px 0;
font-weight: 300;
} }
.subjects_block{ .subjects_block{
padding: 50px 0; padding: 50px 0;
margin-bottom: 10px;
} }
.page_footer{ .page_footer{
@ -262,12 +280,14 @@ h3{
.subjects_block input, .subjects_block input,
.periodic input, .periodic input,
.mailing_day input{ .mailing_day input,
.popular_themes input{
display: none; display: none;
} }
.subjects_block input + label, .subjects_block input + label,
.periodic input + .radio{ .periodic input + .radio,
.popular_themes input + label{
position: relative; position: relative;
padding-left: 40px; padding-left: 40px;
cursor: pointer; cursor: pointer;
@ -275,6 +295,7 @@ h3{
} }
.subjects_block input + label:before, .subjects_block input + label:before,
.popular_themes input + label:before,
.periodic input + .radio:before, .periodic input + .radio:before,
.mailing_day input + .radio:before{ .mailing_day input + .radio:before{
content: ""; content: "";
@ -290,6 +311,7 @@ h3{
} }
.subjects_block input + label:after, .subjects_block input + label:after,
.popular_themes input + label:after,
.periodic input + .radio:after, .periodic input + .radio:after,
.mailing_day input + .radio:after{ .mailing_day input + .radio:after{
content: ''; content: '';
@ -305,6 +327,7 @@ h3{
} }
.subjects_block input:checked + label:before, .subjects_block input:checked + label:before,
.popular_themes input:checked + label:before,
.periodic input:checked + .radio:before, .periodic input:checked + .radio:before,
.mailing_day input:checked + .radio:before{ .mailing_day input:checked + .radio:before{
border-color: #FF6600; border-color: #FF6600;
@ -312,6 +335,7 @@ h3{
} }
.subjects_block input:checked + label:after, .subjects_block input:checked + label:after,
.popular_themes input:checked + label:after,
.periodic input:checked + .radio:after, .periodic input:checked + .radio:after,
.mailing_day input:checked + .radio:after{ .mailing_day input:checked + .radio:after{
opacity: 1; opacity: 1;
@ -354,6 +378,7 @@ h3{
} }
.mailing_day label:hover .radio:before, .mailing_day label:hover .radio:before,
.popular_themes label:hover .radio:before,
.periodic label:hover .radio:before, .periodic label:hover .radio:before,
.subjects_block label:hover:before { .subjects_block label:hover:before {
border-color: #FF6600; border-color: #FF6600;
@ -416,8 +441,8 @@ h3{
} }
a.themes_trigger{ a.themes_trigger{
display: block; display: inline-block;
width: 190px; min-width: 190px;
height: 35px; height: 35px;
line-height: 35px; line-height: 35px;
background-color: #FF6600; background-color: #FF6600;
@ -427,6 +452,7 @@ a.themes_trigger{
text-decoration: none; text-decoration: none;
text-align: center; text-align: center;
font-weight: 300; font-weight: 300;
padding: 0 40px;
} }
.selected{ .selected{
@ -922,8 +948,10 @@ a.themes_trigger{
opacity:1; opacity:1;
} }
.pr-form button{ .pr-form button,
.pr-form .button{
display:block; display:block;
text-decoration: none;
border:2px solid #fff; border:2px solid #fff;
border-radius:4px; border-radius:4px;
background:#ff6900; background:#ff6900;

@ -58,6 +58,7 @@ function sendForm (show_modal) {
$autocomplete = $('#autocomplete_themes', $themes_modal), $autocomplete = $('#autocomplete_themes', $themes_modal),
$autocomplete_results = $('#autocomplete_themes_results', $themes_modal), $autocomplete_results = $('#autocomplete_themes_results', $themes_modal),
$selected_themes = $('.selected_themes', $themes_modal), $selected_themes = $('.selected_themes', $themes_modal),
$popular_themes = $('#popular_themes'),
timer, timer,
themes_data = {}, themes_data = {},
// template for mustache.js // template for mustache.js
@ -218,6 +219,16 @@ function sendForm (show_modal) {
} }
$popular_themes.on('change', 'input[type="checkbox"]', function () {
var theme_id = this.value;
changeThemeData(theme_id, !themes_data[theme_id].checked, true);
$themes_modal
.find('#id_th_' + theme_id)
.prop('checked', themes_data[theme_id].checked)
.trigger('change');
});
$themes_modal.on('change', 'input[type="checkbox"]', function (e) { $themes_modal.on('change', 'input[type="checkbox"]', function (e) {
e.preventDefault(); e.preventDefault();
// sendForm(); // sendForm();
@ -232,6 +243,7 @@ function sendForm (show_modal) {
if ($checkbox.is(':checked')) { if ($checkbox.is(':checked')) {
changeThemeData($checkbox.val(), true, true); changeThemeData($checkbox.val(), true, true);
// Отмечаем выбранными все теги у темы
$sub_list.find('input[name="tg"]').each(function (i, checkbox) { $sub_list.find('input[name="tg"]').each(function (i, checkbox) {
$(checkbox).prop('checked', true); $(checkbox).prop('checked', true);
}); });
@ -243,6 +255,14 @@ function sendForm (show_modal) {
var rendered_theme = renderTheme($checkbox.val()); var rendered_theme = renderTheme($checkbox.val());
$selected_themes.append(rendered_theme); $selected_themes.append(rendered_theme);
console.log($popular_themes.find('#id_popular_theme_' + $checkbox.val()));
// Ставим чекбокс на популярных темах
$popular_themes
.find('#id_popular_theme_' + $checkbox.val())
.prop('checked', true);
// Сняли чекбокс темы // Сняли чекбокс темы
} else { } else {
changeThemeData($checkbox.val(), false, true); changeThemeData($checkbox.val(), false, true);
@ -252,6 +272,10 @@ function sendForm (show_modal) {
}); });
removeSelectedItem($checkbox.attr('name'), $checkbox.val()); removeSelectedItem($checkbox.attr('name'), $checkbox.val());
$popular_themes
.find('#id_popular_theme_' + $checkbox.val())
.prop('checked', false);
} }
// Изменили чекбокс тега // Изменили чекбокс тега
@ -381,6 +405,10 @@ function sendForm (show_modal) {
$this.parents('li').remove(); $this.parents('li').remove();
} }
if (!$('#selected_themes').find('li').length) {
$popular_themes.show();
}
checkSelected(); checkSelected();
} }
@ -409,6 +437,8 @@ function sendForm (show_modal) {
$('#selected_themes').html($selected); $('#selected_themes').html($selected);
sendForm(); sendForm();
$selected.length ? $popular_themes.hide() : $popular_themes.show();
$.fancybox.close(); $.fancybox.close();
}); });
@ -675,4 +705,8 @@ $(function () {
if ($('#unsibscribed').length) if ($('#unsibscribed').length)
$.fancybox.open({href: '#unsibscribed'}); $.fancybox.open({href: '#unsibscribed'});
$('.smooth_scroll').on('click', function (event) {
var target = $()
})
}); });

@ -50,7 +50,7 @@
{# capital #} {# capital #}
<div class="control-group {% if form.capital.errors %}error{% endif %}"> <div class="control-group {% if form.capital.errors %}error{% endif %}">
<label class="control-label">{{ form.capital.label }}:</label> <label class="control-label">{{ form.capital.label }}:</label>
<div class="controls">{{ form.capital}} <div class="controls">{{ form.capital }}
<span class="help-inline">{{ form.capital.errors }}</span> <span class="help-inline">{{ form.capital.errors }}</span>
</div> </div>
</div> </div>

@ -21,21 +21,21 @@
</div> </div>
<div class="box-content"> <div class="box-content">
<table class="table table-hover"> <table class="table table-hover">
<thead> <thead>
<tr> <tr>
<th>id</th> <th>id</th>
<th>Страна</th> <th>Страна</th>
<th>Столица</th> <th>Столица</th>
<th>&nbsp;</th> <th>&nbsp;</th>
</tr> </tr>
</thead> </thead>
<tbody> <tbody>
{% for item in object_list %} {% for item in object_list %}
<tr> <tr>
<td>{{ item.id }}</td> <td>{{ item.id }}</td>
<td>{{ item.name }}</td> <td>{{ item.name }}</td>
<td>{% ifnotequal item.capital None %}{{ item.capital }} {% endifnotequal %}</td> <td>{{ item.capital|default_if_none:'' }}</td>
<td class="center sorting_1"> <td class="center sorting_1">
<a class="btn btn-info" href="/admin/country/change/{{ item.url|lower }}"> <a class="btn btn-info" href="/admin/country/change/{{ item.url|lower }}">
<i class="icon-edit icon-white"></i> Изменить <i class="icon-edit icon-white"></i> Изменить
</a> </a>
@ -44,10 +44,10 @@
</a> </a>
</td> </td>
</tr> </tr>
{% endfor %} {% endfor %}
</tbody> </tbody>
</table> </table>
<a class="btn btn-success" href="/admin/country/add"><i class="icon-plus-sign icon-white"></i> Добавить страну</a> <a class="btn btn-success" href="/admin/country/add"><i class="icon-plus-sign icon-white"></i> Добавить страну</a>
</div> </div>

@ -3,10 +3,10 @@
{% load static %} {% load static %}
{% block bread_scrumbs %} {% block bread_scrumbs %}
<div class="bread-crumbs"> <div class="bread-crumbs">
<a href="/">{% trans 'Главная страница' %}</a> <a href="/">{% trans 'Главная страница' %}</a>
<strong>{% trans 'Моя лента событий' %}</strong> <strong>{% trans 'Моя лента событий' %}</strong>
</div> </div>
{% endblock %} {% endblock %}
{% block page_title %} {% block page_title %}
<div class="page-title"> <div class="page-title">
@ -15,42 +15,42 @@
{% endblock %} {% endblock %}
{% if object_list %} {% if object_list %}
{% block head_scripts %} {% block head_scripts %}
{% include "client/includes/banners/tops_head_js.html" %} {% include "client/includes/banners/tops_head_js.html" %}
{% endblock head_scripts %} {% endblock head_scripts %}
{% endif %} {% endif %}
{% block page_body %} {% block page_body %}
<div class="page-body clearfix events-feed-page"> <div class="page-body clearfix events-feed-page">
<div class="events-filter-wrap" id="events-filter-wrap"> <div class="events-filter-wrap" id="events-filter-wrap">
<a rel="nofollow" id="filter-show-button" class="button icon-eye " href="javascript:void(0);">{% trans 'Фильтрация ленты' %}</a> <a rel="nofollow" id="filter-show-button" class="button icon-eye " href="javascript:void(0);">{% trans 'Фильтрация ленты' %}</a>
<div class="events-filter" id="events-filter"> <div class="events-filter" id="events-filter">
<section class="col"> <section class="col">
<h2><span id="filter-subject-label" data-default="{% trans 'Тематические фильтры не выбраны' %}" data-selected="{% trans 'Тематика' %}">{% trans 'Тематические фильтры не выбраны' %}</span>: (<a class="change-filter filter-modal-open" href="#filter-pwSubj" id="filter-subj-modal-trigger">{% trans 'Изменить' %}</a>):</h2> <h2><span id="filter-subject-label" data-default="{% trans 'Тематические фильтры не выбраны' %}" data-selected="{% trans 'Тематика' %}">{% trans 'Тематические фильтры не выбраны' %}</span>: (<a class="change-filter filter-modal-open" href="#filter-pwSubj" id="filter-subj-modal-trigger">{% trans 'Изменить' %}</a>):</h2>
<div class="events-filter-box c-select-box"> <div class="events-filter-box c-select-box">
<div class="csb-selected-items " > <div class="csb-selected-items " >
<div class="csb-selected csb-subj-selected dna-template" id="filter-subject-tags"> <div class="csb-selected csb-subj-selected dna-template" id="filter-subject-tags">
<div class="csbs-text ">~~text~~</div> <div class="csbs-text ">~~text~~</div>
<a class="csbs-del del-on-page" href="javascript:void(0);" data-checkbox-id="~~id~~">x</a> <a class="csbs-del del-on-page" href="javascript:void(0);" data-checkbox-id="~~id~~">x</a>
</div> </div>
</div> </div>
</div> </div>
</section> </section>
<section class="col "> <section class="col ">
<h2 class="mt-0"><span id="filter-place-label" data-default="{% trans 'Географические фильтры не выбраны' %}" data-selected="{% trans 'Место проведения' %}">{% trans 'Географические фильтры не выбраны' %}</span>: (<a class="change-filter filter-modal-open" href="#filter-pwPlace" id="filter-place-modal-trigger">{% trans 'Изменить' %}</a>):</h2> <h2 class="mt-0"><span id="filter-place-label" data-default="{% trans 'Географические фильтры не выбраны' %}" data-selected="{% trans 'Место проведения' %}">{% trans 'Географические фильтры не выбраны' %}</span>: (<a class="change-filter filter-modal-open" href="#filter-pwPlace" id="filter-place-modal-trigger">{% trans 'Изменить' %}</a>):</h2>
<div class="events-filter-box c-select-box"> <div class="events-filter-box c-select-box">
<div class="csb-selected-items" > <div class="csb-selected-items" >
<div class="csb-selected csb-subj-selected dna-template" id="filter-places-tags"> <div class="csb-selected csb-subj-selected dna-template" id="filter-places-tags">
<div class="csbs-text ">~~text~~</div> <div class="csbs-text ">~~text~~</div>
<a class="csbs-del del-on-page" href="javascript:void(0);" data-checkbox-id="~~id~~">x</a> <a class="csbs-del del-on-page" href="javascript:void(0);" data-checkbox-id="~~id~~">x</a>
</div> </div>
</div> </div>
</div> </div>
</section> </section>
<button class="icon-check apply-filter button" type="submit" id="apply-filter-button">{% trans 'Применить' %}</button> <button class="icon-check apply-filter button" type="submit" id="apply-filter-button">{% trans 'Применить' %}</button>
</div> </div>
<form method="post" action="/profile/feed/" class="search_form" id="filter-block-form">{% csrf_token %} <form method="post" action="/profile/feed/" class="search_form" id="filter-block-form">{% csrf_token %}
<div class="modals"> <div class="modals">
<div class="search-modal-overlay" id="filter-modal"> <div class="search-modal-overlay" id="filter-modal">
<div class="search-modal-wrap fancybox-skin"> <div class="search-modal-wrap fancybox-skin">
@ -69,104 +69,104 @@
</div> </div>
</div> </div>
</div> </div>
</form> </form>
</div> </div>
<div class="filter-hint-block" id="filter-hint-block"> <div class="filter-hint-block" id="filter-hint-block">
<p><span class="red">*</span>{% trans ' Вы можете настроить ленту событий, один раз выбрав интересные темы и географию с помощью кнопки «Фильтрация ленты».' %}</p> <p><span class="red">*</span>{% trans ' Вы можете настроить ленту событий, один раз выбрав интересные темы и географию с помощью кнопки «Фильтрация ленты».' %}</p>
</div> </div>
{% if object_list %} {% if object_list %}
{% include 'includes/exposition/exposition_list.html' with object_list=object_list %} {% include 'includes/exposition/exposition_list.html' with object_list=object_list %}
{% else %} {% else %}
<p class="message-not-found"> <p class="message-not-found">
<span> <span>
<i class="fa fa-exclamation-triangle"></i> <i class="fa fa-exclamation-triangle"></i>
</span> </span>
<span class="message"> <span class="message">
{% trans "Увы, событий, соответствующих выбранным фильтрам, нет в каталоге.<br> Попробуйте укрупнить параметры поиска" %} {% trans "Увы, событий, соответствующих выбранным фильтрам, нет в каталоге.<br> Попробуйте укрупнить параметры поиска" %}
</span> </span>
</p> </p>
{% endif %} {% endif %}
{% include 'includes/catalog_paginator.html' with page_obj=page_obj %} {% include 'includes/catalog_paginator.html' with page_obj=page_obj %}
{% if request.GET.debug == '1' %} {% if request.GET.debug == '1' %}
<script src="{% static 'client/js/_modules/page.events.feed.js' %}"></script> <script src="{% static 'client/js/_modules/page.events.feed.js' %}"></script>
{% else %} {% else %}
<script src="{% static 'client/js_min/_modules/page.events.feed.min.js' %}"></script> <script src="{% static 'client/js_min/_modules/page.events.feed.min.js' %}"></script>
{% endif %} {% endif %}
<script> <script>
EXPO.events.feed.init({ EXPO.events.feed.init({
bodyId:'events-filter-wrap', bodyId:'events-filter-wrap',
formId: 'filter-block-form', formId: 'filter-block-form',
activeClass:'active', activeClass:'active',
modalTriggerClass:'filter-modal-open', modalTriggerClass:'filter-modal-open',
searchData:'{{ filter_form.data_with_parents|safe }}', searchData:'{{ filter_form.data_with_parents|safe }}',
closerText: "{% trans ' и еще _ позиции' %}", closerText: "{% trans ' и еще _ позиции' %}",
closerTextSingle:"{% trans ' и еще _ позиция' %}", closerTextSingle:"{% trans ' и еще _ позиция' %}",
applyButtonId:'apply-filter-button', applyButtonId:'apply-filter-button',
place: { place: {
id: 'filter-pwPlace', id: 'filter-pwPlace',
selectedItemTemplate: 'filter-csb-selected', selectedItemTemplate: 'filter-csb-selected',
ajaxUrl: window.location.protocol + '//{{ request.get_host }}/search-form/', ajaxUrl: window.location.protocol + '//{{ request.get_host }}/search-form/',
autoCompleteUrl: window.location.protocol + '//{{ request.get_host }}/search-form/autocomplete/', autoCompleteUrl: window.location.protocol + '//{{ request.get_host }}/search-form/autocomplete/',
getParentUrl: window.location.protocol + '//{{ request.get_host }}/search-form/get-parent/', getParentUrl: window.location.protocol + '//{{ request.get_host }}/search-form/get-parent/',
autoCompleteId: 'filter-place-complete-block', autoCompleteId: 'filter-place-complete-block',
filterInputId: 'filter-place-filter-input', filterInputId: 'filter-place-filter-input',
modalTrigger: 'filter-place-modal-trigger', modalTrigger: 'filter-place-modal-trigger',
selectedItemsContainer: 'filter-csb-selected-items', selectedItemsContainer: 'filter-csb-selected-items',
clearAllButtonClass: 'modal-clear', clearAllButtonClass: 'modal-clear',
applyBtnClass: 'modal-approve', applyBtnClass: 'modal-approve',
tagsBoxId: 'filter-places-tags', tagsBoxId: 'filter-places-tags',
deleteTagClass: 'csbs-del', deleteTagClass: 'csbs-del',
bodyId: 'events-filter-wrap', bodyId: 'events-filter-wrap',
prefix: 'f-p-', prefix: 'f-p-',
deleteId: 'place-tag-remove', deleteId: 'place-tag-remove',
labelId: 'filter-place-label' labelId: 'filter-place-label'
}, },
subject: { subject: {
id: 'filter-pwSubj', id: 'filter-pwSubj',
selectedItemTemplate: 'filter-subj-selected', selectedItemTemplate: 'filter-subj-selected',
autoCompleteId: 'filter-subj-complete-block', autoCompleteId: 'filter-subj-complete-block',
ajaxUrl: window.location.protocol + '//{{ request.get_host }}/search-form/', ajaxUrl: window.location.protocol + '//{{ request.get_host }}/search-form/',
autoCompleteUrl: window.location.protocol + '//{{ request.get_host }}/search-form/autocomplete/', autoCompleteUrl: window.location.protocol + '//{{ request.get_host }}/search-form/autocomplete/',
filterInputId: 'filter-subj-fliter-input', filterInputId: 'filter-subj-fliter-input',
modalTrigger: 'fiter-subj-modal-trigger', modalTrigger: 'fiter-subj-modal-trigger',
getParentUrl: window.location.protocol + '//{{ request.get_host }}/search-form/get-parent/', getParentUrl: window.location.protocol + '//{{ request.get_host }}/search-form/get-parent/',
selectedItemsContainer: 'filter-csb-subj-selected-items', selectedItemsContainer: 'filter-csb-subj-selected-items',
subjectTriggerWrapId: 'filter-subj-checks', subjectTriggerWrapId: 'filter-subj-checks',
//switched by default //switched by default
defaultOn: ['f-s-exhibition-check', 'f-s-conference-check'], defaultOn: ['f-s-exhibition-check', 'f-s-conference-check'],
clearAllButtonClass: 'modal-clear', clearAllButtonClass: 'modal-clear',
applyBtnClass: 'modal-approve', applyBtnClass: 'modal-approve',
tagsBoxId: 'filter-subject-tags', tagsBoxId: 'filter-subject-tags',
deleteTagClass: 'csbs-del', deleteTagClass: 'csbs-del',
bodyId: 'events-filter-wrap', bodyId: 'events-filter-wrap',
prefix: 'f-s-', prefix: 'f-s-',
deleteId: 'subject-tag-remove', deleteId: 'subject-tag-remove',
labelId: 'filter-subject-label' labelId: 'filter-subject-label'
}, },
modal:{ modal:{
id:'filter-modal', id:'filter-modal',
wrapClass:'search-modal-wrap', wrapClass:'search-modal-wrap',
size:{ size:{
'filter-pwSubj':{ 'filter-pwSubj':{
width:640, width:640,
height:514 height:514
}, },
'filter-pwPlace':{ 'filter-pwPlace':{
width:640, width:640,
height:460 height:460
} }
} }
}, },
filter: { filter: {
wrapperId:'"events-filter-wrap"', wrapperId:'"events-filter-wrap"',
bodyId:'events-filter', bodyId:'events-filter',
buttonId:'filter-show-button', buttonId:'filter-show-button',
hintId:'filter-hint-block' hintId:'filter-hint-block'
} }
}); });
</script> </script>
</div> </div>
{% endblock %} {% endblock %}

@ -53,7 +53,9 @@
{% block aside_vk %} {% block aside_vk %}
<div class="vk-widget"> <div class="vk-widget">
{% include 'client/includes/social_widjet.html' %} {% if not request.GET.debug == '1' %}
{% include 'client/includes/social_widjet.html' %}
{% endif %}
</div> </div>
{% endblock %} {% endblock %}
@ -115,6 +117,5 @@
{% endblock %} {% endblock %}
{% block popup %} {% block popup %}
{% include 'client/popups/announces.html' %}
{% include 'client/popups/announce_subscription.html' %} {% include 'client/popups/announce_subscription.html' %}
{% endblock %} {% endblock %}

@ -46,7 +46,9 @@
{% block aside_vk %} {% block aside_vk %}
<div class="vk-widget"> <div class="vk-widget">
{% include 'client/includes/social_widjet.html' %} {% if not request.GET.debug == '1' %}
{% include 'client/includes/social_widjet.html' %}
{% endif %}
</div> </div>
{% endblock %} {% endblock %}
</aside> </aside>

@ -169,7 +169,7 @@ This template include basic anf main styles and js files,
{% block main_part %}{% endblock %} {% block main_part %}{% endblock %}
{% block top %}{% endblock %} {# {% block top %}{% endblock %}#}
{% block search %}{% endblock %} {% block search %}{% endblock %}

@ -1,13 +1,13 @@
{% load i18n %} {% load i18n %}
{% load staticfiles %} {% load staticfiles %}
<div id="subscribe-sm" class="subscribe-sm"> <div class="subscribe-sm">
<header> <header>
<a href="#" style="text-decoration: none"> {% trans 'получать анонсЫ' %} <a href="{% url 'newsletter_subscription' %}" style="text-decoration: none"> {% trans 'получать анонсЫ' %}
<span> <span>
<img style="margin-right: -2px; margin-bottom: 4px; width: 12%;" src="{% static 'img/announce-letter.png' %}"> <img style="margin-right: -2px; margin-bottom: 4px; width: 12%;" src="{% static 'img/announce-letter.png' %}">
</span> </span>
</a> </a>
</header> </header>
</div> </div>
<hr/> <hr/>

@ -136,12 +136,6 @@
<script> <script>
EXPO.exposition.list.init({ EXPO.exposition.list.init({
note:{
wrapClass:'note-wrap',
wrapDisabledClass:'note-wrap-disabled',
buttonClass:'note-button',
inputClass:'note-text'
},
addCalendarText:"{% trans 'В расписание' %}", addCalendarText:"{% trans 'В расписание' %}",
removeCalendarText:"{% trans 'Из расписания' %}" removeCalendarText:"{% trans 'Из расписания' %}"
}); });

@ -3,66 +3,66 @@
{% load thumbnail %} {% load thumbnail %}
{% load template_filters %} {% load template_filters %}
{% block page_body %} {% block page_body %}
<div class="m-article event-page"> <div class="m-article event-page">
<div class="item-wrap event clearfix"> <div class="item-wrap event clearfix">
<aside> <aside>
{% if event.expohit %} {% if event.expohit %}
<div class="hit"></div> <div class="hit"></div>
{% endif %} {% endif %}
{% if event.canceled %} {% if event.canceled %}
<div class="cancel"></div> <div class="cancel"></div>
{% endif %} {% endif %}
<div class="i-pict"> <div class="i-pict">
{% with obj=event %} {% with obj=event %}
{% include 'client/includes/show_logo.html' %} {% include 'client/includes/show_logo.html' %}
{% endwith %} {% endwith %}
</div> </div>
<div class="i-stats"> <div class="i-stats">
{% if event.visitors %} {% if event.visitors %}
<span class="visitors" title="{% trans 'Посетители' %}">{{ event.visitors }}</span> <span class="visitors" title="{% trans 'Посетители' %}">{{ event.visitors }}</span>
{% endif %} {% endif %}
{% if event.members %} {% if event.members %}
<span class="participants" title="{% trans 'Участники' %}">{{ event.members }}</span> <span class="participants" title="{% trans 'Участники' %}">{{ event.members }}</span>
{% endif %} {% endif %}
</div> </div>
<div class="i-discount"> <div class="i-discount">
{% if event.discount %} {% if event.discount %}
<a class="discount-button" href="#">{% trans 'Скидка' %} -{{ event.discount }}%</a> <a class="discount-button" href="#">{% trans 'Скидка' %} -{{ event.discount }}%</a>
<div class="dsc-text">{{ event.discount_description|safe|linebreaks }}</div> <div class="dsc-text">{{ event.discount_description|safe|linebreaks }}</div>
{% endif %} {% endif %}
</div> </div>
</aside> </aside>
<div class="i-info"> <div class="i-info">
<header> <header>
<h1 class="i-title"> <h1 class="i-title">
{% if event.main_title %} {% if event.main_title %}
{{ event.name|safe }} - {{ event.main_title|lowfirst|safe }} {{ event.name|safe }} - {{ event.main_title|lowfirst|safe }}
{% else %} {% else %}
{{ event.name|safe }} {{ event.name|safe }}
{% endif %} {% endif %}
</h1> </h1>
</header> </header>
<div class="i-date"> <div class="i-date">
{% with obj=event %} {% with obj=event %}
{% include 'client/includes/show_date_block.html' %} {% include 'client/includes/show_date_block.html' %}
{% endwith %} {% endwith %}
{% include "client/includes/sharing_block.html" %} {% include "client/includes/sharing_block.html" %}
</div> </div>
{% if event.place %} {% if event.place %}
<div class="i-address"> <div class="i-address">
<header> <header>
<div class="address"> <div class="address">
{{ event.place.adress }} {{ event.place.adress }}
</div> </div>
<div class="show-map"><a class="toggle-map" href="#">{% trans 'Раскрыть карту' %}</a></div> <div class="show-map"><a class="toggle-map" href="#">{% trans 'Раскрыть карту' %}</a></div>
</header> </header>
<div class="i-map"> <div class="i-map">
<div class="close-map"><a class="toggle-map" href="#">{% trans 'Скрыть карту' %}</a> <div class="close-map"><a class="toggle-map" href="#">{% trans 'Скрыть карту' %}</a>
</div> </div>
<div class="map-canvas" id="map-canvas" data-coords="{{ event.place.address.lat|stringformat:'f' }},{{ event.place.address.lng|stringformat:'f' }}" ></div> <div class="map-canvas" id="map-canvas" data-coords="{{ event.place.address.lat|stringformat:'f' }},{{ event.place.address.lng|stringformat:'f' }}" ></div>
</div> </div>
</div> </div>
{% else %} {% else %}
<div class="i-address"> <div class="i-address">
<header> <header>
@ -71,99 +71,98 @@
</div> </div>
</header> </header>
</div> </div>
{% endif %} {% endif %}
<hr /> <hr />
<div class="i-buttons clearfix"> <div class="i-buttons clearfix">
<div class="ib-main"> <div class="ib-main">
{% with event=event user=user %} {% with event=event user=user %}
{% include 'client/includes/visit_button.html' %} {% include 'client/includes/visit_button.html' %}
{% endwith %} {% endwith %}
{% include 'client/includes/calendar_button.html' with obj=object %} {% include 'client/includes/calendar_button.html' with obj=object %}
{% if request.user.is_admin %} {% if request.user.is_admin %}
<a class="button green " href="/admin/conference/{{ object.url }}/">{% trans 'изменить' %}</a> <a class="button green " href="/admin/conference/{{ object.url }}/">{% trans 'изменить' %}</a>
{% endif %} {% endif %}
{% if event.photogallery %} {% if event.photogallery %}
<a class="button blue icon-photo" href="{{ event.get_permanent_url }}photo/">{% trans 'фото' %}</a> <a class="button blue icon-photo" href="{{ event.get_permanent_url }}photo/">{% trans 'фото' %}</a>
{% endif %} {% endif %}
</div> </div>
<div class="ib-add"><a target="_blank" class="button blue2 icon-find" href="http://www.booking.com/searchresults.html?aid={{ book_aid }}&city={{ object.city.id }}">{% trans 'Найти отель' %}</a></div> <div class="ib-add"><a target="_blank" class="button blue2 icon-find" href="http://www.booking.com/searchresults.html?aid={{ book_aid }}&city={{ object.city.id }}">{% trans 'Найти отель' %}</a></div>
</div> </div>
<hr /> <hr />
<div class="i-divs clearfix"> <div class="i-divs clearfix">
<div class="i-subj"> <div class="i-subj">
<ul> <ul>
{% with themes=event.theme.all %} {% with themes=event.theme.all %}
{% for theme in themes %} {% for theme in themes %}
<li><a href="{{ object.catalog }}theme/{{ theme.url }}/">{{ theme.name }} ({{ theme.conferences_number }})</a></li> <li><a href="{{ object.catalog }}theme/{{ theme.url }}/">{{ theme.name }} ({{ theme.conferences_number }})</a></li>
{% endfor %} {% endfor %}
{% endwith %} {% endwith %}
</ul> </ul>
</div> </div>
<div class="i-tags"> <div class="i-tags">
{% with tags=event.tag.all %} {% with tags=event.tag.all %}
{% for tag in tags %} {% for tag in tags %}
<a href="{{ object.catalog }}tag/{{ tag.url }}/">{{ tag.name }}</a>{% if forloop.counter != tags|length %},{% endif %} <a href="{{ object.catalog }}tag/{{ tag.url }}/">{{ tag.name }}</a>{% if forloop.counter != tags|length %},{% endif %}
{% endfor %} {% endfor %}
{% endwith %} {% endwith %}
</div> </div>
</div> </div>
</div> </div>
</div> </div>
{% include 'client/includes/conference/conference_services.html' with event=event %} {% include 'includes/event_steps.html' with event=event %}
{% include 'includes/event_steps.html' with event=event %} {% if event.get_photos %}
{% if event.get_photos %} {% with photos=event.get_photos|slice:"5" %}
{% with photos=event.get_photos|slice:"5" %} <hr />
<hr /> <div class="i-photo-slides">
<div class="i-photo-slides"> <div class="sect-title"><a href="#">{% trans 'Фотографии с прошлой конференции' %}</a></div>
<div class="sect-title"><a href="#">{% trans 'Фотографии с прошлой конференции' %}</a></div> <div id="ps-photo-gallery" class="ps-photo-gallery swiper-container">
<div id="ps-photo-gallery" class="ps-photo-gallery swiper-container"> <ul class="swiper-wrapper">
<ul class="swiper-wrapper"> {% for photo in photos %}
{% for photo in photos %} <li class="swiper-slide">
<li class="swiper-slide"> <img src="{{ photo.get_display_url }}" alt="" />
<img src="{{ photo.get_display_url }}" alt="" /> </li>
</li> {% endfor %}
{% endfor %} </ul>
</ul> <div class="re-controls">
<div class="re-controls"> <a class="prev" href="#">&lt;</a>
<a class="prev" href="#">&lt;</a> <a class="next" href="#">&gt;</a>
<a class="next" href="#">&gt;</a> </div>
</div> </div>
</div> </div>
</div> {% endwith %}
{% endwith %} {% endif %}
{% endif %} <div class="i-event-description">
<div class="i-event-description"> <h2 class="ied-title">{% if event.event_type == 'expo' %}{% trans 'О выставке' %}{% else %}{% trans 'О конференции' %}{% endif %} {{ event.name|safe }}</h2>
<h2 class="ied-title">{% if event.event_type == 'expo' %}{% trans 'О выставке' %}{% else %}{% trans 'О конференции' %}{% endif %} {{ event.name|safe }}</h2>
{% if event.description %} {% if event.description %}
<div class="ied-text">{{ event.description|safe }}</div> <div class="ied-text">{{ event.description|safe }}</div>
{% elif default_description %} {% elif default_description %}
<div class="ied-text" style="text-align: justify"> <div class="ied-text" style="text-align: justify">
{{ default_description|safe }} {{ default_description|safe }}
</div> </div>
{% else %} {% else %}
{% include "client/includes/conference/default_description.html" with conf=event %} {% include "client/includes/conference/default_description.html" with conf=event %}
{% endif %} {% endif %}
</div> </div>
<hr /> <hr />
<div class="i-event-additional clearfix"> <div class="i-event-additional clearfix">
<div class="sect-title">{% trans 'Дополнительная информация' %}</div> <div class="sect-title">{% trans 'Дополнительная информация' %}</div>
<ul class="e-docs"> <ul class="e-docs">
{% if event.business_program.exists %} {% if event.business_program.exists %}
<li><a href="{{ event.get_permanent_url }}program/">{% trans 'Деловая программа' %}</a></li> <li><a href="{{ event.get_permanent_url }}program/">{% trans 'Деловая программа' %}</a></li>
{% endif %} {% endif %}
</ul> </ul>
<dl class="add-info"> <dl class="add-info">
{% if event.organiser.all|length > 0 %} {% if event.organiser.all|length > 0 %}
<dt>{% trans 'Организатор' %}:</dt> <dt>{% trans 'Организатор' %}:</dt>
<dd> <dd>
{% with organisers=event.organiser.all %} {% with organisers=event.organiser.all %}
{% for organiser in organisers %} {% for organiser in organisers %}
{{ organiser.name }}<br /> {{ organiser.name }}<br />
{% endfor %} {% endfor %}
{% endwith %} {% endwith %}
</dd> </dd>
{% else %} {% else %}
{% if event.org %} {% if event.org %}
@ -176,135 +175,135 @@
{% endfor %} {% endfor %}
{% endif %} {% endif %}
{% endif %} {% endif %}
{% if event.web_page %} {% if event.web_page %}
<dt>{% trans 'Веб-сайт' %}:</dt> <dt>{% trans 'Веб-сайт' %}:</dt>
<dd> <dd>
<a target="_blank" href="#" data-type="href" data-hash="1qwer" data-url="{{ event.web_page|base64_encode }}" class="link-encode">{{ event.web_page }}</a> <a target="_blank" href="#" data-type="href" data-hash="1qwer" data-url="{{ event.web_page|base64_encode }}" class="link-encode">{{ event.web_page }}</a>
</dd> </dd>
{% endif %} {% endif %}
{% if event.get_audience %} {% if event.get_audience %}
<dt>{% trans 'Аудитория' %}:</dt> <dt>{% trans 'Аудитория' %}:</dt>
<dd> <dd>
{{ event.get_audience }} {{ event.get_audience }}
</dd> </dd>
{% endif %} {% endif %}
{% if event.get_periodic %} {% if event.get_periodic %}
<dt>{% trans 'Периодичность' %}:</dt> <dt>{% trans 'Периодичность' %}:</dt>
<dd>{{ event.get_periodic }}</dd> <dd>{{ event.get_periodic }}</dd>
{% endif %} {% endif %}
{% if event.time %} {% if event.time %}
<dt>{% trans 'Время работы' %}:</dt> <dt>{% trans 'Время работы' %}:</dt>
<dd>{{ event.time|safe }}</dd> <dd>{{ event.time|safe }}</dd>
{% endif %} {% endif %}
</dl> </dl>
</div> </div>
<div class="clearfix"> <div class="clearfix">
<hr /> <hr />
{% include 'client/includes/banners/detail_inner.html' %} {% include 'client/includes/banners/detail_inner.html' %}
</div> </div>
{% include "client/includes/article/articles_in_event.html" with event=event news_list=news %} {% include "client/includes/article/articles_in_event.html" with event=event news_list=news %}
<hr /> <hr />
<div class="i-members clearfix"> <div class="i-members clearfix">
<div class="im-participants"> <div class="im-participants">
{% with companies=event.company.all|slice:":6" %} {% with companies=event.company.all|slice:":6" %}
{% if companies %} {% if companies %}
{# есть участники #} {# есть участники #}
<header> <header>
<div class="im-title">{% trans 'Спикеры' %}</div> <div class="im-title">{% trans 'Спикеры' %}</div>
<a class="more" href="{{ event.get_permanent_url }}members/">{% trans 'Все спикеры' %}</a> <a class="more" href="{{ event.get_permanent_url }}members/">{% trans 'Все спикеры' %}</a>
</header> </header>
<ul> <ul>
{% for company in companies %} {% for company in companies %}
<li> <li>
<a href="{{ company.get_permanent_url }}"> <a href="{{ company.get_permanent_url }}">
<span class="imp-pict"> <span class="imp-pict">
{% with obj=company %} {% with obj=company %}
{% include 'includes/show_logo.html' %} {% include 'includes/show_logo.html' %}
{% endwith %} {% endwith %}
</span> </span>
{{ company.name }} {{ company.name }}
</a> </a>
</li> </li>
{% endfor %} {% endfor %}
</ul> </ul>
{% else %} {% else %}
{# нет участников #} {# нет участников #}
<header> <header>
<div class="im-title">{% trans 'Спикеры' %}</div> <div class="im-title">{% trans 'Спикеры' %}</div>
<p>{% trans 'Разместите информацию о ключевых спикерах' %}</p> <p>{% trans 'Разместите информацию о ключевых спикерах' %}</p>
<p><a href="#pw-advertise" class="button icon-up pw-open" >{% trans 'Рекламировать спикера' %}</a></p> <p><a href="#pw-advertise" class="button icon-up pw-open" >{% trans 'Рекламировать спикера' %}</a></p>
</header> </header>
{% endif %} {% endif %}
{% endwith %} {% endwith %}
</div> </div>
<div class="im-visitors"> <div class="im-visitors">
{% with visitors=event.users.all|slice:":17" %} {% with visitors=event.users.all|slice:":17" %}
<header> <header>
<div class="im-title">{% trans 'Посетители' %}</div> <div class="im-title">{% trans 'Посетители' %}</div>
</header> </header>
<ul id="visitors-list"> <ul id="visitors-list">
{% if visitors %} {% if visitors %}
{# есть посетители #} {# есть посетители #}
{% for user in visitors %} {% for user in visitors %}
{% if user == request.user %} {% if user == request.user %}
<li class="current"><a href="{{ user.get_permanent_url }}">{{ user.get_full_name }}&nbsp;{% if user.company %}({{ user.company.name }}){% endif %}</a></li> <li class="current"><a href="{{ user.get_permanent_url }}">{{ user.get_full_name }}&nbsp;{% if user.company %}({{ user.company.name }}){% endif %}</a></li>
{% else %} {% else %}
<li><a href="{{ user.get_permanent_url }}">{{ user.get_full_name }}&nbsp;{% if user.company %}({{ user.company.name }}){% endif %}</a></li> <li><a href="{{ user.get_permanent_url }}">{{ user.get_full_name }}&nbsp;{% if user.company %}({{ user.company.name }}){% endif %}</a></li>
{% endif %} {% endif %}
{% endfor %} {% endfor %}
{% endif %} {% endif %}
</ul> </ul>
<a id="somebody" class=" more mb-1em {% if visitors|length > 0 %}{%else%}hidden{% endif %}" href="{{ event.get_permanent_url }}visitors/">{% trans 'Все посетители' %}</a> <a id="somebody" class=" more mb-1em {% if visitors|length > 0 %}{%else%}hidden{% endif %}" href="{{ event.get_permanent_url }}visitors/">{% trans 'Все посетители' %}</a>
{% endwith %} {% endwith %}
<p id="nobody" class=" mb-1em {% if event.users.all|length > 0 %}hidden{% else %}{% endif %}">{% trans 'Пока никто не отметился на событии.' %}</p> <p id="nobody" class=" mb-1em {% if event.users.all|length > 0 %}hidden{% else %}{% endif %}">{% trans 'Пока никто не отметился на событии.' %}</p>
{% with event=event user=user %} {% with event=event user=user %}
{% include 'client/includes/visit_button.html' %} {% include 'client/includes/visit_button.html' %}
{% endwith %} {% endwith %}
</div> </div>
</div> </div>
<hr/> <hr/>
{% if event.members or event.visitors or event.foundation_year %} {% if event.members or event.visitors or event.foundation_year %}
<div class="e-num-info"> <div class="e-num-info">
<div class="eni-stats"> <div class="eni-stats">
{% if event.members %} {% if event.members %}
<div class="enis-item"><b>{{ event.members }}</b> {% trans 'участников' %}</div> <div class="enis-item"><b>{{ event.members }}</b> {% trans 'участников' %}</div>
{% endif %} {% endif %}
{% if event.visitors %} {% if event.visitors %}
<div class="enis-item"><b>{{ event.visitors }}</b> {% trans 'посетителей' %}</div> <div class="enis-item"><b>{{ event.visitors }}</b> {% trans 'посетителей' %}</div>
{% endif %} {% endif %}
{% if event.foundation_year %} {% if event.foundation_year %}
<div class="eni-founded">{% trans 'Основано в' %} <b>{{ event.foundation_year }}</b> {% trans 'году' %}</div> <div class="eni-founded">{% trans 'Основано в' %} <b>{{ event.foundation_year }}</b> {% trans 'году' %}</div>
{% endif %} {% endif %}
</div> </div>
</div> </div>
{% endif %} {% endif %}
</div> </div>
{% include 'client/includes/booking_block.html' with city=event.city place=event.place event=event %} {% include 'client/includes/booking_block.html' with city=event.city place=event.place event=event %}
<hr /> <hr />
{% if event.get_nearest_events %} {% if event.get_nearest_events %}
<div class="e-cat"> <div class="e-cat">
<div class="sect-title">{% trans 'Другие конференции, которые могут быть вам интересны' %}</div> <div class="sect-title">{% trans 'Другие конференции, которые могут быть вам интересны' %}</div>
<ul class="cat-list cl-exhibitions"> <ul class="cat-list cl-exhibitions">
{% for exp in event.get_nearest_events %} {% for exp in event.get_nearest_events %}
<li class="cl-item"> <li class="cl-item">
<div class="cl-item-wrap clearfix"> <div class="cl-item-wrap clearfix">
<a href="{{ exp.get_permanent_url }}"> <a href="{{ exp.get_permanent_url }}">
<div class="cli-pict"> <div class="cli-pict">
{% with obj=exp %} {% with obj=exp %}
{% include 'client/includes/show_logo.html' %} {% include 'client/includes/show_logo.html' %}
{% endwith %} {% endwith %}
</div> </div>
</a> </a>
<div class="cli-info"> <div class="cli-info">
<div class="cli-top clearfix"> <div class="cli-top clearfix">
{% if exp.quality_label.rsva.is_set %} {% if exp.quality_label.rsva.is_set %}
<div class="cli-approved"> <div class="cli-approved">
<img width="52" height="42" src="{% static 'client/img/rsva.jpg' %}" alt="" title="Approved Event" /> <img width="52" height="42" src="{% static 'client/img/rsva.jpg' %}" alt="" title="Approved Event" />
</div> </div>
@ -319,48 +318,48 @@
<img width="52" height="42" src="{% static 'client/img/approved-logo.png' %}" alt="" title="Approved Event" /> <img width="52" height="42" src="{% static 'client/img/approved-logo.png' %}" alt="" title="Approved Event" />
</div> </div>
{% endif %} {% endif %}
<header> <header>
<div class="cli-title"><a href="{{ exp.get_permanent_url }}">{{ exp.name|safe }}</a></div> <div class="cli-title"><a href="{{ exp.get_permanent_url }}">{{ exp.name|safe }}</a></div>
</header> </header>
<div class="cli-descr"> <div class="cli-descr">
{{ exp.main_title|safe|linebreaks }} {{ exp.main_title|safe|linebreaks }}
</div> </div>
<div class="cli-bot clearfix"> <div class="cli-bot clearfix">
<div class="cli-date"> <div class="cli-date">
{% with obj=exp %} {% with obj=exp %}
{% include 'client/includes/show_date_block.html' %} {% include 'client/includes/show_date_block.html' %}
{% endwith %} {% endwith %}
</div> </div>
<div class="cli-place"> <div class="cli-place">
<a href="{{ exp.country.get_permanent_url }}">{{ exp.country }}</a>, <a href="{{ exp.city.get_permanent_url }}">{{ exp.city }}</a> <a href="{{ exp.country.get_permanent_url }}">{{ exp.country }}</a>, <a href="{{ exp.city.get_permanent_url }}">{{ exp.city }}</a>
{% if exp.place %} {% if exp.place %}
, <a href="{{ exp.place.get_permanent_url }}">{{ exp.place }}</a> , <a href="{{ exp.place.get_permanent_url }}">{{ exp.place }}</a>
{% endif %} {% endif %}
</div> </div>
</div> </div>
</div> </div>
</div> </div>
</div> </div>
</li> </li>
{% endfor %} {% endfor %}
<li><a class="button more" href="{{ event.get_nearest_events_url|safe }}">{% trans 'Смотреть все' %}</a></li> <li><a class="button more" href="{{ event.get_nearest_events_url|safe }}">{% trans 'Смотреть все' %}</a></li>
</ul> </ul>
</div> </div>
{% endif %} {% endif %}
{% include 'client/includes/banners/detail_inner_3.html' %} {% include 'client/includes/banners/detail_inner_3.html' %}
<div class="e-cat look-also"> <div class="e-cat look-also">
<div class="sect-title">{% trans 'Смотрите также:' %}</div> <div class="sect-title">{% trans 'Смотрите также:' %}</div>
<a href="{{ event.catalog }}city/{{ event.city.url }}/">{% trans "Конференции" %} {% if request.LANGUAGE_CODE == 'ru' and event.city.inflect %}{{ event.city.inflect }}{% else %}{% trans 'in' %} {{ event.city.name }}{% endif %}</a> <a href="{{ event.catalog }}city/{{ event.city.url }}/">{% trans "Конференции" %} {% if request.LANGUAGE_CODE == 'ru' and event.city.inflect %}{{ event.city.inflect }}{% else %}{% trans 'in' %} {{ event.city.name }}{% endif %}</a>
<a href="{{ event.catalog }}country/{{ event.country.url }}/">{% trans "Конференции" %} {% if request.LANGUAGE_CODE == 'ru' and event.country.inflect %}{{ event.country.inflect }}{% else %}{% trans 'in' %} {{ event.country.name }}{% endif %}</a> <a href="{{ event.catalog }}country/{{ event.country.url }}/">{% trans "Конференции" %} {% if request.LANGUAGE_CODE == 'ru' and event.country.inflect %}{{ event.country.inflect }}{% else %}{% trans 'in' %} {{ event.country.name }}{% endif %}</a>
{% if event.theme.all %} {% if event.theme.all %}
<a href="{{ event.catalog }}theme/{{ event.theme.all.0.url }}/country/{{ event.country.url }}/">{% trans "Конференции по тематике " %}&laquo;{{ event.theme.all.0.name|capfirst }}&raquo; {% if request.LANGUAGE_CODE == 'ru' and event.country.inflect %}{{ event.country.inflect }}{% else %}{% trans 'in' %} {{ event.country.name }}{% endif %}</a> <a href="{{ event.catalog }}theme/{{ event.theme.all.0.url }}/country/{{ event.country.url }}/">{% trans "Конференции по тематике " %}&laquo;{{ event.theme.all.0.name|capfirst }}&raquo; {% if request.LANGUAGE_CODE == 'ru' and event.country.inflect %}{{ event.country.inflect }}{% else %}{% trans 'in' %} {{ event.country.name }}{% endif %}</a>
<a href="{{ event.catalog }}theme/{{ event.theme.all.0.url }}/city/{{ event.city.url }}/">{% trans "Конференции по тематике " %}&laquo;{{ event.theme.all.0.name|capfirst }}&raquo; {% if request.LANGUAGE_CODE == 'ru' and event.city.inflect %}{{ event.city.inflect }}{% else %}{% trans 'in' %} {{ event.city.name }}{% endif %}</a> <a href="{{ event.catalog }}theme/{{ event.theme.all.0.url }}/city/{{ event.city.url }}/">{% trans "Конференции по тематике " %}&laquo;{{ event.theme.all.0.name|capfirst }}&raquo; {% if request.LANGUAGE_CODE == 'ru' and event.city.inflect %}{{ event.city.inflect }}{% else %}{% trans 'in' %} {{ event.city.name }}{% endif %}</a>
{% endif %} {% endif %}
</div> </div>
{% endblock %} {% endblock %}
@ -368,36 +367,30 @@
{% endblock %} {% endblock %}
{% block popup %} {% block popup %}
{% include 'client/popups/advertise_member.html' with form=advertising_form %} {% include 'client/popups/advertise_member.html' with form=advertising_form %}
{% endblock %} {% endblock %}
{% block scripts %} {% block scripts %}
{% if request.GET.debug == '1' %} {% if request.GET.debug == '1' %}
<script src="{% static 'client/js/_modules/page.exposition.object.js' %}"></script> <script src="{% static 'client/js/_modules/page.exposition.object.js' %}"></script>
{% else %} {% else %}
<script src="{% static 'client/js_min/_modules/page.exposition.object.min.js' %}"></script> <script src="{% static 'client/js_min/_modules/page.exposition.object.min.js' %}"></script>
{% endif %} {% endif %}
<script> <script>
EXPO.exposition.object.init({ EXPO.exposition.object.init({
visit:{ visit:{
activeClass:"visit", activeClass:"visit",
passiveClass:"unvisit", passiveClass:"unvisit",
currentHtml:'<li class="current"><a href="{{ request.user.get_permanent_url }}">{{ request.user.get_full_name }}&nbsp;{% if request.user.company %}({{ request.user.company.name }}){% endif %}</a></li>', currentHtml:'<li class="current"><a href="{{ request.user.get_permanent_url }}">{{ request.user.get_full_name }}&nbsp;{% if request.user.company %}({{ request.user.company.name }}){% endif %}</a></li>',
visitorsListId:"visitors-list", visitorsListId:"visitors-list",
somebodyId:"somebody", somebodyId:"somebody",
nobodyId:"nobody" nobodyId:"nobody"
}, },
note:{ advertise:{
wrapClass:'note-wrap', id:"advert-member-form"
wrapDisabledClass:'note-wrap-disabled', },
buttonClass:'note-button', addCalendarText:"{% trans 'В расписание' %}",
inputClass:'note-text' removeCalendarText:"{% trans 'Из расписания' %}"
}, });
advertise:{ </script>
id:"advert-member-form"
},
addCalendarText:"{% trans 'В расписание' %}",
removeCalendarText:"{% trans 'Из расписания' %}"
});
</script>
{% endblock %} {% endblock %}

@ -422,12 +422,6 @@
somebodyId:"somebody", somebodyId:"somebody",
nobodyId:"nobody" nobodyId:"nobody"
}, },
note:{
wrapClass:'note-wrap',
wrapDisabledClass:'note-wrap-disabled',
buttonClass:'note-button',
inputClass:'note-text'
},
advertise:{ advertise:{
id:"advert-member-form" id:"advert-member-form"
}, },

@ -87,7 +87,6 @@
{% if event.org %} {% if event.org %}
{% trans 'Организатор' %}: {{ event.org }} {% trans 'Организатор' %}: {{ event.org }}
{% endif %} {% endif %}
<a href="#pw-event-news-subscribe" class="button pw-open new_subribe_btn"><i class="fa fa-at"></i>&nbsp;{% trans 'Подписаться на новости' %}</a>
</div> </div>
</div> </div>
</div> </div>
@ -110,6 +109,7 @@
<a class="button blue icon-photo" href="{{ event.get_permanent_url }}photo/">{% trans 'фото' %}</a> <a class="button blue icon-photo" href="{{ event.get_permanent_url }}photo/">{% trans 'фото' %}</a>
{% endif %} {% endif %}
</div> </div>
<div class="ib-add"><a class="button pw-open blue2" href="#pw-event-news-subscribe"><i class="fa fa-at"></i> {% trans 'Напомнить о выставке' %}</a></div>
</div> </div>
<hr /> <hr />
@ -165,10 +165,6 @@
{% endif %} {% endif %}
{% endwith %} {% endwith %}
{# <p><a href="#pw-event-news-subscribe" class="button pw-open"><i class="fa fa-at"></i>&nbsp;{% trans 'Подписаться на новости' %}</a>&nbsp;&nbsp;&nbsp;<i>{% blocktrans with name=event.name|safe %}Получайте актуальную информацию о концеренции {{ name }} на свой email{% endblocktrans %}</i></p>#}
{# {% include 'client/includes/conference/conference_services.html' with event=event %}#}
{% include 'client/includes/event_steps.html' with event=event %} {% include 'client/includes/event_steps.html' with event=event %}
<hr> <hr>
@ -583,12 +579,6 @@
somebodyId:"somebody", somebodyId:"somebody",
nobodyId:"nobody" nobodyId:"nobody"
}, },
note:{
wrapClass:'note-wrap',
wrapDisabledClass:'note-wrap-disabled',
buttonClass:'note-button',
inputClass:'note-text'
},
advertise:{ advertise:{
id:"advert-member-form" id:"advert-member-form"
}, },

@ -1,13 +0,0 @@
{% load i18n %}
<div class="i-sub-articles">
<ul>
{% 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>

@ -15,12 +15,12 @@
<div class="hit"></div> <div class="hit"></div>
{% endif %} {% endif %}
{% endif %} {% endif %}
<div class="cli-pict"> <div class="cli-pict">
{% with obj=obj %} {% with obj=obj %}
{% include 'client/includes/show_logo.html' %} {% include 'client/includes/show_logo.html' %}
{% endwith %} {% endwith %}
</div> </div>
</a> </a>
<div class="cli-info"> <div class="cli-info">
<div class="cli-top clearfix"> <div class="cli-top clearfix">
{% if user.is_staff %} {% if user.is_staff %}
@ -68,21 +68,11 @@
<div class="cli-buttons clearfix"> <div class="cli-buttons clearfix">
<div class="cli-m-buttons"> <div class="cli-m-buttons">
<div class="cli-services">
<a class="button icon-sm" href="#">{% trans 'услуги' %}</a>
<div class="cli-services-sm">
<ul>
{% for service in obj.get_services %}
<li><a href="{{ service.get_permanent_url }}">{{ service.name }}</a></li>
{% endfor %}
</ul>
</div>
</div>
{% with event=obj user=user %} {% with event=obj user=user %}
{% include 'client/includes/calendar_button.html' %} {% include 'client/includes/calendar_button.html' %}
{% endwith %} {% endwith %}
<a class="button green icon-note" href="#">{% trans 'заметка' %}</a> <a class="button green icon-note" href="#">{% trans 'заметка' %}</a>
</div> </div>
<div class="cli-s-buttons"> <div class="cli-s-buttons">

@ -38,19 +38,18 @@
<ul> <ul>
<li class="s1"> <li class="s1">
<div class="label">{% trans 'Закажите отель по лучшей цене' %}</div> <div class="label">{% trans 'Устраните языковые барьеры' %}</div>
<a class="step" href="http://www.booking.com/searchresults.html?aid={{ book_aid }}&city={{ event.city.id }}&do_availability_check=on&label=expo_search&lang={{ request.LANGUAGE_CODE }}&checkin_monthday={{ event.data_begin|date:'j' }}&checkin_year_month={{ event.data_begin|date:'Y' }}-{{ event.data_begin|date:'n' }}&checkout_monthday={{ event.data_end|date:'j' }}&checkout_year_month={{ event.data_end|date:'Y' }}-{{ event.data_end|date:'n' }}" target="_blank"><b>booking</b>.com</a> <a class="step" href="https://www.interpreters.travel/ru/new_partner_search?partner_id=44&search[city_name]={{ event.city.name }}" target="_blank"><b>{% trans "ПЕРЕВОДЧИК" %}</b></a>
</li> </li>
<li class="s2"> <li class="s2">
<div class="label">{% trans 'Возьмите авто в аренду' %}</div> <div class="label">{% trans 'Закажите отель по лучшей цене' %}</div>
<span class="step">Rental Cars</span> <a class="step" href="http://www.booking.com/searchresults.html?aid={{ book_aid }}&city={{ event.city.id }}&do_availability_check=on&label=expo_search&lang={{ request.LANGUAGE_CODE }}&checkin_monthday={{ event.data_begin|date:'j' }}&checkin_year_month={{ event.data_begin|date:'Y' }}-{{ event.data_begin|date:'n' }}&checkout_monthday={{ event.data_end|date:'j' }}&checkout_year_month={{ event.data_end|date:'Y' }}-{{ event.data_end|date:'n' }}" target="_blank"><b>booking</b>.com</a>
{# <a class="step" href="#" target="_blank">Rental Cars</a>#}
</li> </li>
<li class="s3"> <li class="s3">
<div class="label">{% trans 'Устраните языковые барьеры' %}</div> <div class="label">{% trans 'Возьмите авто в аренду' %}</div>
<a class="step" href="https://www.interpreters.travel/ru/new_partner_search?partner_id=44&search[city_name]={{ event.city.name }}" target="_blank"><b>{% trans "ПЕРЕВОДЧИК" %}</b></a> <a class="step" href="http://www.rentalcars.com/SearchResults.do?enabler=&country={{ object.country }}&doYear={{ object.data_begin|date:'Y' }}&city={{ object.city }}&driverage=on&doFiltering=true&dropCity={{ object.city }}&driversAge=30&filterTo=49&fromLocChoose=true&dropLocationName={{ object.city }}+(Все+места)+&dropCountryCode=&doMinute=0&countryCode=&puYear={{ object.data_begin|date:'Y' }}&locationName={{ object.city }}+(Все+места)+&puMinute=0&doDay={{ object.data_end|date:'d' }}&searchType=allareasgeosearch&filterFrom=0&puMonth={{ object.data_end|date:'m' }}&dropLocation=-1&doHour=10&dropCountry={{ object.country }}&puDay={{ object.data_begin|date:'d' }}&puHour=10&location=-1&doMonth={{ object.data_begin|date:'m' }}&filterName=CarCategorisationSupplierFilter&affiliateCode=expomap790&preflang=ru" target="_blank">Rental Cars</a>
</li> </li>
</ul> </ul>
</div> </div>

@ -8,106 +8,106 @@
{% endif %} {% endif %}
<ul class="cat-list cl-exhibitions"> <ul class="cat-list cl-exhibitions">
{# START FOR #} {# START FOR #}
{% for result in query %} {% for result in query %}
<li class="cl-item {% if result.object.canceled %}canceled{% endif %}"> <li class="cl-item {% if result.object.canceled %}canceled{% endif %}">
<div class="cl-item-wrap clearfix"> <div class="cl-item-wrap clearfix">
<a target="_blank" href="{{ result.object.get_permanent_url }}"> <a target="_blank" href="{{ result.object.get_permanent_url }}">
{% if result.object.canceled %} {% if result.object.canceled %}
<div class="cancel"></div> <div class="cancel"></div>
{% elif result.object.expohit %} {% elif result.object.expohit %}
<div class="hit"></div> <div class="hit"></div>
{% endif %} {% endif %}
<div class="cli-pict"> <div class="cli-pict">
{% with obj=result.object %} {% with obj=result.object %}
{% include 'client/includes/show_logo.html' %} {% include 'client/includes/show_logo.html' %}
{% endwith %} {% endwith %}
</div> </div>
</a> </a>
<div class="cli-info"> <div class="cli-info">
<div class="cli-top clearfix"> <div class="cli-top clearfix">
{% if result.object.quality_label.rsva.is_set %} {% if result.object.quality_label.rsva.is_set %}
<div class="cli-approved"> <div class="cli-approved">
<img width="52" height="42" src="{% static 'client/img/rsva.jpg' %}" alt="" title="Approved Event" /> <img width="52" height="42" src="{% static 'client/img/rsva.jpg' %}" alt="" title="Approved Event" />
</div> </div>
{% endif %} {% endif %}
{% if result.object.quality_label.exporating.is_set %} {% if result.object.quality_label.exporating.is_set %}
<div class="cli-approved"> <div class="cli-approved">
<img width="52" height="42" src="{% static 'client/img/exporating_logo.png' %}" alt="" title="Approved Event" /> <img width="52" height="42" src="{% static 'client/img/exporating_logo.png' %}" alt="" title="Approved Event" />
</div> </div>
{% endif %} {% endif %}
{% if result.object.quality_label.ufi.is_set %} {% if result.object.quality_label.ufi.is_set %}
<div class="cli-approved"> <div class="cli-approved">
<img width="52" height="42" src="{% static 'client/img/approved-logo.png' %}" alt="" title="Approved Event" /> <img width="52" height="42" src="{% static 'client/img/approved-logo.png' %}" alt="" title="Approved Event" />
</div> </div>
{% endif %} {% endif %}
<header> <header>
<div class="cli-title"><a target="_blank" href="{{ result.object.get_permanent_url }}">{{ result.object.name|safe }}</a></div> <div class="cli-title"><a target="_blank" href="{{ result.object.get_permanent_url }}">{{ result.object.name|safe }}</a></div>
</header> </header>
<div class="cli-descr"> <div class="cli-descr">
{{ result.object.main_title|safe }} {{ result.object.main_title|safe }}
</div> </div>
</div> </div>
<div class="cli-bot clearfix"> <div class="cli-bot clearfix">
<div class="cli-date"> <div class="cli-date">
{% with obj=result.object %} {% with obj=result.object %}
{% include 'client/includes/show_date_block.html' %} {% include 'client/includes/show_date_block.html' %}
{% endwith %} {% endwith %}
</div> </div>
{% if result.object.country %} {% if result.object.country %}
<div class="cli-place"> <div class="cli-place">
<a href="{{ result.object.catalog }}country/{{ result.object.country.url }}/">{{ result.object.country }}</a>, <a href="{{ result.object.catalog }}city/{{ result.object.city.url }}/">{{ result.object.city }}</a> <a href="{{ result.object.catalog }}country/{{ result.object.country.url }}/">{{ result.object.country }}</a>, <a href="{{ result.object.catalog }}city/{{ result.object.city.url }}/">{{ result.object.city }}</a>
{% if result.object.place %} {% if result.object.place %}
, <a href="{{ result.object.place.get_permanent_url }}">{{ result.object.place }}</a> , <a href="{{ result.object.place.get_permanent_url }}">{{ result.object.place }}</a>
{% endif %} {% endif %}
</div> </div>
{% endif %} {% endif %}
</div> </div>
</div> </div>
<div class="cli-buttons clearfix"> <div class="cli-buttons clearfix">
<div class="cli-m-buttons"> <div class="cli-m-buttons">
{% include 'client/includes/exposition/services.html' with obj=result.object %} {% include 'client/includes/exposition/services.html' with obj=result.object %}
{% include 'client/includes/calendar_button.html' with obj=result.object %} {% include 'client/includes/calendar_button.html' with obj=result.object %}
</div> </div>
<div class="cli-s-buttons"> <div class="cli-s-buttons">
{% include 'client/buttons/booking_button.html' with object=result.object %} {% include 'client/buttons/booking_button.html' with object=result.object %}
</div> </div>
</div> </div>
</div> </div>
<footer class="clearfix"> <footer class="clearfix">
<div class="cli-stats"> <div class="cli-stats">
{% if result.object.visitors %} {% if result.object.visitors %}
<span class="visitors" title="Посетители">{{ result.object.visitors }}</span> <span class="visitors" title="Посетители">{{ result.object.visitors }}</span>
{% endif %} {% endif %}
{% if result.object.members %} {% if result.object.members %}
<span class="participants" title="Участники">{{ result.object.members }}</span> <span class="participants" title="Участники">{{ result.object.members }}</span>
{% endif %} {% endif %}
</div> </div>
<div class="cli-tags"> <div class="cli-tags">
{% include 'client/includes/exposition/tags.html' with obj=result.object %} {% include 'client/includes/exposition/tags.html' with obj=result.object %}
</div> </div>
</footer> </footer>
</li> </li>
{% if not request.is_ajax %} {% if not request.is_ajax %}
{% if forloop.counter == 5 or objects|length < 5 %} {% if forloop.counter == 5 or objects|length < 5 %}
{% include 'client/includes/banners/catalog_inner_2.html' %} {% include 'client/includes/banners/catalog_inner_2.html' %}
{% endif %} {% endif %}
@ -115,32 +115,26 @@
{% if forloop.counter == 10 %} {% if forloop.counter == 10 %}
{% include 'client/includes/banners/catalog_inner.html' %} {% include 'client/includes/banners/catalog_inner.html' %}
{%endif %} {%endif %}
{% endif %} {% endif %}
{% endfor %} {% endfor %}
{# END FOR #} {# END FOR #}
</ul> </ul>
{% block scripts %} {% block scripts %}
{% if request.GET.debug == '1' %} {% if request.GET.debug == '1' %}
<script src="{% static 'client/js/_modules/block.exposition.list.js' %}"></script> <script src="{% static 'client/js/_modules/block.exposition.list.js' %}"></script>
{% else %} {% else %}
<script src="{% static 'client/js_min/_modules/block.exposition.list.min.js' %}"></script> <script src="{% static 'client/js_min/_modules/block.exposition.list.min.js' %}"></script>
{% endif %} {% endif %}
<script> <script>
EXPO.exposition.list.init({ EXPO.exposition.list.init({
note:{ addCalendarText:"{% trans 'В расписание' %}",
wrapClass:'note-wrap', removeCalendarText:"{% trans 'Из расписания' %}"
wrapDisabledClass:'note-wrap-disabled', });
buttonClass:'note-button', </script>
inputClass:'note-text'
},
addCalendarText:"{% trans 'В расписание' %}",
removeCalendarText:"{% trans 'Из расписания' %}"
});
</script>
{% endblock %} {% endblock %}

@ -5,114 +5,114 @@
{% if objects %} {% if objects %}
<ul class="cat-list cl-exhibitions"> <ul class="cat-list cl-exhibitions">
{% for obj in objects %} {% for obj in objects %}
<li class="cl-item {% if obj.canceled %}canceled{% endif %}"> <li class="cl-item {% if obj.canceled %}canceled{% endif %}">
<div class="cl-item-wrap clearfix"> <div class="cl-item-wrap clearfix">
<a href="{{ obj.get_permanent_url }}"> <a href="{{ obj.get_permanent_url }}">
{% if obj.canceled %} {% if obj.canceled %}
<div class="cancel"></div> <div class="cancel"></div>
{% else %} {% else %}
{% if obj.expohit %} {% if obj.expohit %}
<div class="hit"></div> <div class="hit"></div>
{% endif %} {% endif %}
{% endif %} {% endif %}
<div class="cli-pict"> <div class="cli-pict">
{% with obj=obj %} {% with obj=obj %}
{% include 'client/includes/show_logo.html' %} {% include 'client/includes/show_logo.html' %}
{% endwith %} {% endwith %}
</div> </div>
</a> </a>
<div class="cli-info"> <div class="cli-info">
<div class="cli-top clearfix"> <div class="cli-top clearfix">
{% if obj.quality_label.ufi.is_set %} {% if obj.quality_label.ufi.is_set %}
<div class="cli-approved"> <div class="cli-approved">
<img src="{% static 'client/img/approved-logo.png' %}" alt="" title="Approved Event" /> <img src="{% static 'client/img/approved-logo.png' %}" alt="" title="Approved Event" />
</div> </div>
{% endif %} {% endif %}
<header> <header>
<div class="cli-title"><a href="{{ obj.get_permanent_url }}">{{ obj.name|safe }}</a></div> <div class="cli-title"><a href="{{ obj.get_permanent_url }}">{{ obj.name|safe }}</a></div>
</header> </header>
<div class="cli-descr"> <div class="cli-descr">
{{ obj.main_title|safe }} {{ obj.main_title|safe }}
</div> </div>
</div> </div>
<div class="cli-bot clearfix"> <div class="cli-bot clearfix">
<div class="cli-date"> <div class="cli-date">
{% with obj=obj %} {% with obj=obj %}
{% include 'client/includes/show_date_block.html' %} {% include 'client/includes/show_date_block.html' %}
{% endwith %} {% endwith %}
</div> </div>
{% if obj.country %} {% if obj.country %}
<div class="cli-place"> <div class="cli-place">
<a href="{{ obj.catalog }}country/{{ obj.country.url }}/">{{ obj.country }}</a>, <a href="{{ obj.catalog }}city/{{ obj.city.url }}/">{{ obj.city }}</a> <a href="{{ obj.catalog }}country/{{ obj.country.url }}/">{{ obj.country }}</a>, <a href="{{ obj.catalog }}city/{{ obj.city.url }}/">{{ obj.city }}</a>
{% if obj.place %} {% if obj.place %}
, <a href="/places/{{ obj.place.url }}/">{{ obj.place }}</a> , <a href="/places/{{ obj.place.url }}/">{{ obj.place }}</a>
{% endif %} {% endif %}
</div> </div>
{% endif %} {% endif %}
</div> </div>
</div> </div>
<div class="cli-buttons clearfix"> <div class="cli-buttons clearfix">
<div class="cli-m-buttons"> <div class="cli-m-buttons">
{% include 'client/includes/exposition/services.html' with obj=obj %} {% include 'client/includes/exposition/services.html' with obj=obj %}
{% include 'client/includes/calendar_button.html' with obj=obj%} {% include 'client/includes/calendar_button.html' with obj=obj%}
{% if request.user.is_admin %} {% if request.user.is_admin %}
<div class="note-wrap"> <div class="note-wrap">
<a class="button green " href="/admin/exposition/{{ obj.url }}/">{% trans 'изменить' %}</a> <a class="button green " href="/admin/exposition/{{ obj.url }}/">{% trans 'изменить' %}</a>
</div> </div>
{% endif %} {% endif %}
<div></div> <div></div>
</div> </div>
<div class="cli-s-buttons"> <div class="cli-s-buttons">
{% include 'client/buttons/booking_button.html' with object=obj %} {% include 'client/buttons/booking_button.html' with object=obj %}
</div> </div>
</div> </div>
</div> </div>
<footer class="clearfix"> <footer class="clearfix">
<div class="cli-stats"> <div class="cli-stats">
{% if obj.visitors %} {% if obj.visitors %}
<span class="visitors" title="Посетители">{{ obj.visitors }}</span> <span class="visitors" title="Посетители">{{ obj.visitors }}</span>
{% endif %} {% endif %}
{% if obj.members %} {% if obj.members %}
<span class="participants" title="Участники">{{ obj.members }}</span> <span class="participants" title="Участники">{{ obj.members }}</span>
{% endif %} {% endif %}
</div> </div>
<div class="cli-tags"> <div class="cli-tags">
{% include 'client/includes/exposition/tags.html' with obj=obj %} {% include 'client/includes/exposition/tags.html' with obj=obj %}
</div> </div>
</footer> </footer>
</li> </li>
{% if forloop.counter == 8 %} {% if forloop.counter == 8 %}
{% if not NO_EXTERNAL_JS %} {% if not NO_EXTERNAL_JS %}
<!-- Яндекс.Директ --> <!-- Яндекс.Директ -->
<script type="text/javascript"> <script type="text/javascript">
yandex_partner_id = 58151; yandex_partner_id = 58151;
yandex_site_bg_color = 'FFFFFF'; yandex_site_bg_color = 'FFFFFF';
yandex_ad_format = 'direct'; yandex_ad_format = 'direct';
yandex_font_size = 1; yandex_font_size = 1;
yandex_direct_type = 'horizontal'; yandex_direct_type = 'horizontal';
yandex_direct_border_type = 'block'; yandex_direct_border_type = 'block';
yandex_direct_limit = 3; yandex_direct_limit = 3;
yandex_direct_title_font_size = 3; yandex_direct_title_font_size = 3;
yandex_direct_border_radius = true; yandex_direct_border_radius = true;
yandex_direct_links_underline = false; yandex_direct_links_underline = false;
yandex_direct_header_bg_color = 'FEEAC7'; yandex_direct_header_bg_color = 'FEEAC7';
yandex_direct_bg_color = 'FFF9F0'; yandex_direct_bg_color = 'FFF9F0';
yandex_direct_border_color = 'FBE5C0'; yandex_direct_border_color = 'FBE5C0';
yandex_direct_title_color = '666666'; yandex_direct_title_color = '666666';
yandex_direct_url_color = '000000'; yandex_direct_url_color = '000000';
yandex_direct_text_color = '000000'; yandex_direct_text_color = '000000';
yandex_direct_hover_color = 'FF3333'; yandex_direct_hover_color = 'FF3333';
yandex_direct_sitelinks_color = '666666'; yandex_direct_sitelinks_color = '666666';
yandex_direct_favicon = false; yandex_direct_favicon = false;
yandex_no_sitelinks = false; yandex_no_sitelinks = false;
document.write('<scr'+'ipt type="text/javascript" src="//an.yandex.ru/system/context.js"></scr'+'ipt>'); document.write('<scr'+'ipt type="text/javascript" src="//an.yandex.ru/system/context.js"></scr'+'ipt>');
</script> </script>
{% endif %} {% endif %}
{%endif %} {%endif %}
{% endfor %} {% endfor %}
</ul> </ul>
{% else %} {% else %}
@ -133,15 +133,9 @@
{% else %} {% else %}
<script src="{% static 'client/js_min/_modules/block.exposition.list.min.js' %}"></script> <script src="{% static 'client/js_min/_modules/block.exposition.list.min.js' %}"></script>
{% endif %}<script> {% endif %}<script>
EXPO.exposition.list.init({ EXPO.exposition.list.init({
note:{ addCalendarText:"{% trans 'В расписание' %}",
wrapClass:'note-wrap', removeCalendarText:"{% trans 'Из расписания' %}"
wrapDisabledClass:'note-wrap-disabled', });
buttonClass:'note-button',
inputClass:'note-text'
},
addCalendarText:"{% trans 'В расписание' %}",
removeCalendarText:"{% trans 'Из расписания' %}"
});
</script> </script>
{% endblock %} {% endblock %}

@ -429,12 +429,6 @@
somebodyId:"somebody", somebodyId:"somebody",
nobodyId:"nobody" nobodyId:"nobody"
}, },
note:{
wrapClass:'note-wrap',
wrapDisabledClass:'note-wrap-disabled',
buttonClass:'note-button',
inputClass:'note-text'
},
advertise:{ advertise:{
id:"advert-member-form" id:"advert-member-form"
}, },

@ -139,12 +139,6 @@
<script> <script>
EXPO.exposition.list.init({ EXPO.exposition.list.init({
note:{
wrapClass:'note-wrap',
wrapDisabledClass:'note-wrap-disabled',
buttonClass:'note-button',
inputClass:'note-text'
},
addCalendarText:"{% trans 'В расписание' %}", addCalendarText:"{% trans 'В расписание' %}",
removeCalendarText:"{% trans 'Из расписания' %}" removeCalendarText:"{% trans 'Из расписания' %}"
}); });

@ -54,7 +54,9 @@
{% include 'client/includes/show_date_block.html' %} {% include 'client/includes/show_date_block.html' %}
{% endwith %} {% endwith %}
{% include "client/includes/sharing_block.html" %} {% if not request.GET.debug == '1' %}
{% include "client/includes/sharing_block.html" %}
{% endif %}
</div> </div>
{% if exposition.place %} {% if exposition.place %}
@ -527,12 +529,6 @@
somebodyId:"somebody", somebodyId:"somebody",
nobodyId:"nobody" nobodyId:"nobody"
}, },
note:{
wrapClass:'note-wrap',
wrapDisabledClass:'note-wrap-disabled',
buttonClass:'note-button',
inputClass:'note-text'
},
advertise:{ advertise:{
id:"advert-member-form" id:"advert-member-form"
}, },

@ -1,18 +0,0 @@
{% load i18n %}
<div class="i-sub-articles">
<ul>
{% with services=object.get_services_detail %}
{% for service in services %}
<li>
{# временно создаём условие, т.к. для переводчиков подключаем партнёров #}
{% if service.name == 'Переводчик' %}
<a href="https://www.interpreters.travel/ru/new_partner_search?partner_id=44&search[city_name]={{ object.place.city }}&search_date={{ object.data_begin|date:'Y-m-d' }}" target="_blank">{{ service.name }}</a>
{% else %}
<a href="{{ exposition.get_permanent_url }}service/{{ service.url }}/">{{ service.name }}</a>
{% endif %}
</li>
{% endfor %}
{% endwith %}
</ul>
</div>

@ -257,13 +257,3 @@
<div class="ed-back"> <div class="ed-back">
<a href="{{ exposition.get_permanent_url }}">{{ exposition.name|safe }}</a> <a href="{{ exposition.get_permanent_url }}">{{ exposition.name|safe }}</a>
</div> </div>
<div class="i-sub-articles">
<ul>
{% with services=exposition.get_services %}
{% for service in services %}
<li><a href="{{ exposition.get_permanent_url }}service/{{ service.url }}/">{{ service.name }}</a></li>
{% endfor %}
{% endwith %}
</ul>
</div>

@ -130,13 +130,3 @@
<div class="ed-back"> <div class="ed-back">
<a href="{{ exposition.get_permanent_url }}">{{ exposition.name|safe }}</a> <a href="{{ exposition.get_permanent_url }}">{{ exposition.name|safe }}</a>
</div> </div>
<div class="i-sub-articles">
<ul>
{% with services=exposition.get_services %}
{% for service in services %}
<li><a href="{{ exposition.get_permanent_url }}service/{{ service.url }}/">{{ service.name }}</a></li>
{% endfor %}
{% endwith %}
</ul>
</div>

@ -3,94 +3,94 @@
{% load template_filters %} {% load template_filters %}
<ul class="cat-list cl-exhibitions"> <ul class="cat-list cl-exhibitions">
{# START FOR #} {# START FOR #}
{% for result in query %} {% for result in query %}
<li class="cl-item {% if result.object.canceled %}canceled{% endif %}"> <li class="cl-item {% if result.object.canceled %}canceled{% endif %}">
<div class="cl-item-wrap clearfix"> <div class="cl-item-wrap clearfix">
<a target="_blank" href="{{ result.object.get_permanent_url }}"> <a target="_blank" href="{{ result.object.get_permanent_url }}">
{% if result.object.canceled %} {% if result.object.canceled %}
<div class="cancel"></div> <div class="cancel"></div>
{% elif result.object.expohit %} {% elif result.object.expohit %}
<div class="hit"></div> <div class="hit"></div>
{% endif %} {% endif %}
<div class="cli-pict"> <div class="cli-pict">
{% with obj=result.object %} {% with obj=result.object %}
{% include 'client/includes/show_logo.html' %} {% include 'client/includes/show_logo.html' %}
{% endwith %} {% endwith %}
</div> </div>
</a> </a>
<div class="cli-info"> <div class="cli-info">
<div class="cli-top clearfix"> <div class="cli-top clearfix">
{% if result.object.quality_label.ufi.is_set %} {% if result.object.quality_label.ufi.is_set %}
<div class="cli-approved"> <div class="cli-approved">
<img src="{% static 'client/img/approved-logo.png' %}" alt="" title="Approved Event" /> <img src="{% static 'client/img/approved-logo.png' %}" alt="" title="Approved Event" />
</div> </div>
{% endif %} {% endif %}
<header> <header>
<div class="cli-title"><a target="_blank" href="{{ result.object.get_permanent_url }}">{{ result.object.name|safe }}</a></div> <div class="cli-title"><a target="_blank" href="{{ result.object.get_permanent_url }}">{{ result.object.name|safe }}</a></div>
</header> </header>
<div class="cli-descr"> <div class="cli-descr">
{{ result.object.main_title|safe }} {{ result.object.main_title|safe }}
</div> </div>
</div> </div>
<div class="cli-bot clearfix"> <div class="cli-bot clearfix">
<div class="cli-date"> <div class="cli-date">
{% with obj=result.object %} {% with obj=result.object %}
{% include 'client/includes/show_date_block.html' %} {% include 'client/includes/show_date_block.html' %}
{% endwith %} {% endwith %}
</div> </div>
{% if result.object.country %} {% if result.object.country %}
<div class="cli-place"> <div class="cli-place">
<a href="{{ result.object.catalog }}country/{{ result.object.country.url }}/">{{ result.object.country }}</a>, <a href="{{ result.object.catalog }}city/{{ result.object.city.url }}/">{{ result.object.city }}</a> <a href="{{ result.object.catalog }}country/{{ result.object.country.url }}/">{{ result.object.country }}</a>, <a href="{{ result.object.catalog }}city/{{ result.object.city.url }}/">{{ result.object.city }}</a>
{% if result.object.place %} {% if result.object.place %}
, <a href="{{ result.object.place.get_permanent_url }}">{{ result.object.place }}</a> , <a href="{{ result.object.place.get_permanent_url }}">{{ result.object.place }}</a>
{% endif %} {% endif %}
</div> </div>
{% endif %} {% endif %}
</div> </div>
</div> </div>
<div class="cli-buttons clearfix"> <div class="cli-buttons clearfix">
<div class="cli-m-buttons"> <div class="cli-m-buttons">
{% include 'client/includes/exposition/services.html' with obj=result.object %} {% include 'client/includes/exposition/services.html' with obj=result.object %}
{% include 'client/includes/calendar_button.html' with obj=result.object %} {% include 'client/includes/calendar_button.html' with obj=result.object %}
</div> </div>
<div class="cli-s-buttons"> <div class="cli-s-buttons">
{% include 'client/buttons/booking_button.html' with object=result.object %} {% include 'client/buttons/booking_button.html' with object=result.object %}
</div> </div>
</div> </div>
</div> </div>
<footer class="clearfix"> <footer class="clearfix">
<div class="cli-stats"> <div class="cli-stats">
{% if result.object.visitors %} {% if result.object.visitors %}
<span class="visitors" title="Посетители">{{ result.object.visitors }}</span> <span class="visitors" title="Посетители">{{ result.object.visitors }}</span>
{% endif %} {% endif %}
{% if result.object.members %} {% if result.object.members %}
<span class="participants" title="Участники">{{ result.object.members }}</span> <span class="participants" title="Участники">{{ result.object.members }}</span>
{% endif %} {% endif %}
</div> </div>
<div class="cli-tags"> <div class="cli-tags">
{% include 'client/includes/exposition/tags.html' with obj=result.object %} {% include 'client/includes/exposition/tags.html' with obj=result.object %}
</div> </div>
</footer> </footer>
</li> </li>
{% if forloop.counter == 5 or objects|length < 5 %} {% if forloop.counter == 5 or objects|length < 5 %}
{% include 'client/includes/banners/catalog_inner_2.html' %} {% include 'client/includes/banners/catalog_inner_2.html' %}
@ -100,30 +100,24 @@
{% include 'client/includes/banners/catalog_inner.html' %} {% include 'client/includes/banners/catalog_inner.html' %}
{%endif %} {%endif %}
{% endfor %} {% endfor %}
{# END FOR #} {# END FOR #}
</ul> </ul>
{% block scripts %} {% block scripts %}
{% if request.GET.debug == '1' %} {% if request.GET.debug == '1' %}
<script src="{% static 'client/js/_modules/block.exposition.list.js' %}"></script> <script src="{% static 'client/js/_modules/block.exposition.list.js' %}"></script>
{% else %} {% else %}
<script src="{% static 'client/js_min/_modules/block.exposition.list.min.js' %}"></script> <script src="{% static 'client/js_min/_modules/block.exposition.list.min.js' %}"></script>
{% endif %} {% endif %}
<script> <script>
EXPO.exposition.list.init({ EXPO.exposition.list.init({
note:{ addCalendarText:"{% trans 'В расписание' %}",
wrapClass:'note-wrap', removeCalendarText:"{% trans 'Из расписания' %}"
wrapDisabledClass:'note-wrap-disabled', });
buttonClass:'note-button', </script>
inputClass:'note-text'
},
addCalendarText:"{% trans 'В расписание' %}",
removeCalendarText:"{% trans 'Из расписания' %}"
});
</script>
{% endblock %} {% endblock %}

@ -15,12 +15,6 @@
{% elif obj.partner %} {% elif obj.partner %}
<li><a target="_blank" href="{{ obj.web_page }}">{% trans 'Официальный сайт' %}</a></li> <li><a target="_blank" href="{{ obj.web_page }}">{% trans 'Официальный сайт' %}</a></li>
<li><a target="_blank" href="{{ obj.link }}">{% trans 'Билеты' %}</a></li> <li><a target="_blank" href="{{ obj.link }}">{% trans 'Билеты' %}</a></li>
{% else %}
{% with services=obj.get_services %}
{% for service in services %}
<li><a href="{{ obj.get_permanent_url }}service/{{ service.url }}/">{{ service.name }}</a></li>
{% endfor %}
{% endwith %}
{% endif %} {% endif %}
</ul> </ul>
</div> </div>

@ -154,14 +154,3 @@
<div class="ed-back"> <div class="ed-back">
<a href="{{ exposition.get_permanent_url }}">{{ exposition.name|safe }}</a> <a href="{{ exposition.get_permanent_url }}">{{ exposition.name|safe }}</a>
</div> </div>
<div class="i-sub-articles">
<ul>
{% with services=exposition.get_services %}
{% for service in services %}
<li><a href="{{ exposition.get_permanent_url }}service/{{ service.url }}/">{{ service.name }}</a></li>
{% endfor %}
{% endwith %}
</ul>
</div>

@ -4,7 +4,7 @@
<nav> <nav>
<ul> <ul>
<li><a href="/advertising/">{% trans 'Продвижение событий' %}</a></li> <li><a href="/advertising/">{% trans 'Продвижение событий' %}</a></li>
<li><a href="/service/participation/">{% trans 'Участие в выставках' %}</a></li> <li><a href="/service/participation/">{% trans 'Организация участия в выставках' %}</a></li>
</ul> </ul>
</nav> </nav>
</div> </div>

@ -100,10 +100,6 @@
{% include 'client/includes/online_consult.html' %} {% include 'client/includes/online_consult.html' %}
{% comment %}
<!-- task EXPO-145-->
{% include 'client/includes/announces.html' %}
{% endcomment %}
{% include 'client/includes/services.html' %} {% include 'client/includes/services.html' %}
</aside> </aside>
@ -211,21 +207,5 @@
</div> </div>
</section> </section>
{% if request.GET.debug == '1' %} <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery.cycle2/2.1.6/jquery.cycle2.min.js" defer></script>
<script src="{% static 'client/js/_modules/page.index.js' %}"></script>
{% else %}
<script src="{% static 'client/js_min/_modules/page.index.min.js' %}"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery.cycle2/2.1.6/jquery.cycle2.min.js" defer></script>
{% endif %}
<script>
EXPO.index.init({
note:{
wrapClass:'note-wrap',
wrapDisabledClass:'note-wrap-disabled',
buttonClass:'note-button',
inputClass:'note-text'
}
});
</script>
{% endblock %} {% endblock %}

@ -1,312 +0,0 @@
{% load static %}
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html style="margin: 0; padding: 0; height: 100%;">
<head>
<title>Тестовове письмо</title>
<meta http-equiv="Content-Type" content="text/html;charset=UTF-8" />
</head>
<body style="margin: 0; padding: 0; min-height: 100%; background: #f4f2ee;">
<table cellpadding="0" cellspacing="0" border="0" width="100%" height="100%" bgcolor="#f4f2ee" style="font-family: Arial, sans-serif; background: #f4f2ee;">
<tr>
<td align="center" style="padding: 50px 0">
<table cellpadding="0" cellspacing="0" border="0" width="600" style="width: 600px;">
<tr>
<td style="vertical-align: top;">
<div class="logo">
<a style="text-decoration: none; color: #a2a2a2; font-size: 12px;" href="#">
<img src="{% static 'client/img/logo.png' %}" alt="Expomap.ru" />
<b style="display: block; padding-left: 67px; margin-top: -5px;">Выставки, конференции, семинары</b>
</a>
</div>
</td>
<td style="vertical-align: top; padding-top: 22px;">
<ul class="t-links" style="margin: 0 0 15px; padding: 0; list-style: none; text-align: right; font-size: 16px; line-height: 17px; font-weight: bold;">
<li style="display: inline-block;"><a style="text-decoration: none; color: #ff6600" href="#">СОБЫТИЯ</a></li>
<li style="display: inline-block; margin-left: 20px;"><a style="text-decoration: none; color: #ff6600" href="#">МЕСТА</a></li>
<li style="display: inline-block; margin-left: 20px;"><a style="text-decoration: none; color: #ff6600" href="#">УЧАСТНИКИ</a></li>
</ul>
<ul class="soc-media-buttons" style="margin: 0; padding: 0; list-style: none; text-align: right;">
<li style="display: inline-block;"><a href="#"><img src="{% static 'client/img/soc-medias/sm-icon-rss.png' %}" title="RSS" alt="RSS" /></a></li>
<li style="display: inline-block; margin-left: 5px;"><a href="#"><img src="{% static 'client/img/soc-medias/sm-icon-fb.png' %}" title="Facebook" alt="Facebook" /></a></li>
<li style="display: inline-block; margin-left: 5px;"><a href="#"><img src="{% static 'client/img/soc-medias/sm-icon-lin.png' %}" title="LinkedIn" alt="LinkedIn" /></a></li>
<li style="display: inline-block; margin-left: 5px;"><a href="#"><img src="{% static 'client/img/soc-medias/sm-icon-vk.png' %}" title="В контакте" alt="В контакте" /></a></li>
<li style="display: inline-block; margin-left: 5px;"><a href="#"><img src="{% static 'client/img/soc-medias/sm-icon-twit.png' %}" title="Twitter" alt="Twitter" /></a></li>
</ul>
</td>
</tr>
</table>
<table cellpadding="0" cellspacing="0" border="0" width="600" style="width: 600px; margin-bottom: 10px;">
<tr>
<td style="padding: 20px 0 0;"><a style="display: block; padding: 25px 30px; text-decoration: none; background: #ff6600; color: #ffffff; font-size: 20px; line-height: 26px;" href="#">Выставки в Москве по тематике: <b style="display: block; font-size: 26px;">Мебель, Дизайн интерьеров</b></a></td>
</tr>
<tr>
<td style="padding: 10px 30px 15px; background: #faf9f7;">
<table cellpadding="0" cellspacing="0" border="0" width="540" style="margin-bottom: 15px;">
<tr valign="top">
<td style="padding: 15px 15px 15px 0; width: 76px; border-bottom: 1px dotted #cccccc;">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td style="background: #ffffff; padding: 3px; width: 70px; height: 70px; vertical-align: middle; text-align: center; -webkit-border-radius: 4px; -moz-border-radius: 4px; border-radius: 4px;"><a href="#"><img src="{% static 'client/img/_del-temp/cl-logo-1.png' %}" style="width: 100%;" alt="" /></a></td>
</tr>
</table>
</td>
<td style="padding: 15px 15px 15px 0; border-bottom: 1px dotted #cccccc;">
<h2 style="margin: 0 0 5px; font-family: Tahoma, Arial, sans-serif; font-size: 18px; line-height: 21px;"><a style="color: #464646; text-decoration: none;" href="#">Foire de Pau 2013</a></h2>
<p style="margin: 0 0 7px; font-size: 12px; line-height: 15px; color: #a2a2a2"><a style="color: #a2a2a2; text-decoration: none;" href="#">Международная ярмарка потребительских товаров</a></p>
<a class="button" style="display: inline-block; padding: 4px 10px 3px; text-decoration: none; color: #ff6600; font-size: 11px; font-weight: bold; line-height: 14px; border: 1px solid #feb17d; text-transform: uppercase; -webkit-border-radius: 4px; -moz-border-radius: 4px; border-radius: 4px;" href="#">добавить в расписание</a>
<div class="addr" style="margin-top: 10px; font-size: 13px; line-height: 15px;"><img src="{% static 'client/img/pin.png' %}" width="10" height="15" alt="" style="vertical-align: middle; margin-top: -1px;" /> Россия, Москва, ЦВК «Экспоцентр»</div>
</td>
<td style="padding: 17px 0; text-align: right; font-size: 13px; line-height: 16px; color: #ff6600; width: 140px; border-bottom: 1px dotted #cccccc;">
<img src="{% static 'client/img/clock.png' %}" width="14" height="15" style="vertical-align: middle; margin-top: -1px;" alt="" /> с 5 по 20 октября
</td>
</tr>
<tr valign="top">
<td style="padding: 15px 15px 15px 0; width: 76px; border-bottom: 1px dotted #cccccc;">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td style="background: #ffffff; padding: 3px; width: 70px; height: 70px; vertical-align: middle; text-align: center; -webkit-border-radius: 4px; -moz-border-radius: 4px; border-radius: 4px;"><a href="#"><img src="{% static 'client/img/_del-temp/cl-logo-2.png' %}" style="width: 100%;" alt="" /></a></td>
</tr>
</table>
</td>
<td style="padding: 15px 15px 15px 0; border-bottom: 1px dotted #cccccc;">
<h2 style="margin: 0 0 5px; font-family: Tahoma, Arial, sans-serif; font-size: 18px; line-height: 21px;"><a style="color: #464646; text-decoration: none;" href="#">Foire de Pau 2013</a></h2>
<p style="margin: 0 0 7px; font-size: 12px; line-height: 15px; color: #a2a2a2"><a style="color: #a2a2a2; text-decoration: none;" href="#">Международная ярмарка потребительских товаров</a></p>
<a class="button" style="display: inline-block; padding: 4px 10px 3px; text-decoration: none; color: #ff6600; font-size: 11px; font-weight: bold; line-height: 14px; border: 1px solid #feb17d; text-transform: uppercase; -webkit-border-radius: 4px; -moz-border-radius: 4px; border-radius: 4px;" href="#">добавить в расписание</a>
<div class="addr" style="margin-top: 10px; font-size: 13px; line-height: 15px;"><img src="{% static 'client/img/pin.png' %}" width="10" height="15" alt="" style="vertical-align: middle; margin-top: -1px;" /> Россия, Москва, ЦВК «Экспоцентр»</div>
</td>
<td style="padding: 17px 0; text-align: right; font-size: 13px; line-height: 16px; color: #ff6600; width: 140px; border-bottom: 1px dotted #cccccc;">
<img src="{% static 'client/img/clock.png' %}" width="14" height="15" style="vertical-align: middle; margin-top: -1px;" alt="" /> с 5 по 20 октября
</td>
</tr>
<tr valign="top">
<td style="padding: 15px 15px 15px 0; width: 76px; border-bottom: 1px dotted #cccccc;">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td style="background: #ffffff; padding: 3px; width: 70px; height: 70px; vertical-align: middle; text-align: center; -webkit-border-radius: 4px; -moz-border-radius: 4px; border-radius: 4px;"><a href="#"><img src="{% static 'client/img/_del-temp/cl-logo-3.png' %}" style="width: 100%;" alt="" /></a></td>
</tr>
</table>
</td>
<td style="padding: 15px 15px 15px 0; border-bottom: 1px dotted #cccccc;">
<h2 style="margin: 0 0 5px; font-family: Tahoma, Arial, sans-serif; font-size: 18px; line-height: 21px;"><a style="color: #464646; text-decoration: none;" href="#">Foire de Pau 2013</a></h2>
<p style="margin: 0 0 7px; font-size: 12px; line-height: 15px; color: #a2a2a2"><a style="color: #a2a2a2; text-decoration: none;" href="#">Международная ярмарка потребительских товаров</a></p>
<a class="button" style="display: inline-block; padding: 4px 10px 3px; text-decoration: none; color: #ff6600; font-size: 11px; font-weight: bold; line-height: 14px; border: 1px solid #feb17d; text-transform: uppercase; -webkit-border-radius: 4px; -moz-border-radius: 4px; border-radius: 4px;" href="#">добавить в расписание</a>
<div class="addr" style="margin-top: 10px; font-size: 13px; line-height: 15px;"><img src="{% static 'client/img/pin.png' %}" width="10" height="15" alt="" style="vertical-align: middle; margin-top: -1px;" /> Россия, Москва, ЦВК «Экспоцентр»</div>
</td>
<td style="padding: 17px 0; text-align: right; font-size: 13px; line-height: 16px; color: #ff6600; width: 140px; border-bottom: 1px dotted #cccccc;">
<img src="{% static 'client/img/clock.png' %}" width="14" height="15" style="vertical-align: middle; margin-top: -1px;" alt="" /> с 5 по 20 октября
</td>
</tr>
</table>
<div class="more" style="text-align: center;">
<a class="button" style="display: inline-block; padding: 4px 10px 3px; text-decoration: none; color: #2592c5; font-size: 11px; font-weight: bold; line-height: 14px; border: 1px solid #90c7e0; text-transform: uppercase; -webkit-border-radius: 4px; -moz-border-radius: 4px; border-radius: 4px; width: 336px;" href="#">посмотреть все события</a>
</div>
</td>
</tr>
</table>
<table cellpadding="0" cellspacing="0" border="0" width="600" style="width: 600px; margin-bottom: 10px;">
<tr>
<td style="padding: 20px 0 0;"><a style="display: block; padding: 25px 30px; text-decoration: none; background: #ff6600; color: #ffffff; font-size: 20px; line-height: 26px;" href="#">Новости событий</a></td>
</tr>
<tr>
<td style="padding: 10px 30px 15px; background: #faf9f7;">
<table cellpadding="0" cellspacing="0" border="0" width="540" style="margin-bottom: 15px;">
<tr valign="top">
<td style="padding: 15px 15px 15px 0; width: 76px; border-bottom: 1px dotted #cccccc;">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td style="background: #ffffff; padding: 0; width: 76px; height: 76px; vertical-align: middle; text-align: center;"><a href="#"><img style="width: 100%; -webkit-border-radius: 4px; -moz-border-radius: 4px; border-radius: 4px;" alt="" src="{% static 'client/img/_del-temp/news-1.jpg' %}" /></a></td>
</tr>
</table>
</td>
<td style="padding: 15px 0; border-bottom: 1px dotted #cccccc;">
<table cellpadding="0" cellspacing="0" border="0" width="100%" style="margin-bottom: 5px;">
<tr>
<td><h2 style="margin: 0 0 5px; font-family: Tahoma, Arial, sans-serif; font-size: 18px; line-height: 21px;"><a style="color: #464646; text-decoration: none;" href="#">Foire de Pau 2013</a></h2></td>
<td style="font-size: 13px; line-height: 15px; text-align: right; color: #ff6600;">05.10.2013</td>
</tr>
</table>
<p style="margin: 0 0 7px; font-size: 13px; line-height: 17px;"><a style="color: #464646; text-decoration: none;" href="#">VII Международный форум «АтомЭко 2013» пройдет 30-31 октября в Москве под знаком нулевого ущерба для экологии. Главная тема VIIМеждународного Форума «АтомЭко 2013»: «Атомная энергетика – стратегия нулевого ущерба», где будут обсуждаться вопросы по обращению с радиоактивными отходами (РАО) и отработавшим <span style="text-decoration: underline; color: #ff6600;">...</span></a></p>
</td>
</tr>
<tr valign="top">
<td style="padding: 15px 15px 15px 0; width: 76px; border-bottom: 1px dotted #cccccc;">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td style="background: #ffffff; padding: 0; width: 76px; height: 76px; vertical-align: middle; text-align: center;"><a href="#"><img style="width: 100%; -webkit-border-radius: 4px; -moz-border-radius: 4px; border-radius: 4px;" alt="" src="{% static 'client/img/_del-temp/news-1.jpg' %}" /></a></td>
</tr>
</table>
</td>
<td style="padding: 15px 0; border-bottom: 1px dotted #cccccc;">
<table cellpadding="0" cellspacing="0" border="0" width="100%" style="margin-bottom: 5px;">
<tr>
<td><h2 style="margin: 0 0 5px; font-family: Tahoma, Arial, sans-serif; font-size: 18px; line-height: 21px;"><a style="color: #464646; text-decoration: none;" href="#">Foire de Pau 2013</a></h2></td>
<td style="font-size: 13px; line-height: 15px; text-align: right; color: #ff6600;">05.10.2013</td>
</tr>
</table>
<p style="margin: 0 0 7px; font-size: 13px; line-height: 17px;"><a style="color: #464646; text-decoration: none;" href="#">VII Международный форум «АтомЭко 2013» пройдет 30-31 октября в Москве под знаком нулевого ущерба для экологии. Главная тема VIIМеждународного Форума «АтомЭко 2013»: «Атомная энергетика – стратегия нулевого ущерба», где будут обсуждаться вопросы по обращению с радиоактивными отходами (РАО) и отработавшим <span style="text-decoration: underline; color: #ff6600;">...</span></a></p>
</td>
</tr>
<tr valign="top">
<td style="padding: 15px 0; width: 76px; border-bottom: 1px dotted #cccccc;">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td style="background: #ffffff; padding: 0; width: 76px; height: 76px; vertical-align: middle; text-align: center;"><a href="#"><img style="width: 100%; -webkit-border-radius: 4px; -moz-border-radius: 4px; border-radius: 4px;" alt="" src="{% static 'client/img/_del-temp/news-1.jpg' %}" /></a></td>
</tr>
</table>
</td>
<td style="padding: 15px 15px 15px 0; border-bottom: 1px dotted #cccccc;">
<table cellpadding="0" cellspacing="0" border="0" width="100%" style="margin-bottom: 5px;">
<tr>
<td><h2 style="margin: 0 0 5px; font-family: Tahoma, Arial, sans-serif; font-size: 18px; line-height: 21px;"><a style="color: #464646; text-decoration: none;" href="#">Foire de Pau 2013</a></h2></td>
<td style="font-size: 13px; line-height: 15px; text-align: right; color: #ff6600;">05.10.2013</td>
</tr>
</table>
<p style="margin: 0 0 7px; font-size: 13px; line-height: 17px;"><a style="color: #464646; text-decoration: none;" href="#">VII Международный форум «АтомЭко 2013» пройдет 30-31 октября в Москве под знаком нулевого ущерба для экологии. Главная тема VIIМеждународного Форума «АтомЭко 2013»: «Атомная энергетика – стратегия нулевого ущерба», где будут обсуждаться вопросы по обращению с радиоактивными отходами (РАО) и отработавшим <span style="text-decoration: underline; color: #ff6600;">...</span></a></p>
</td>
</tr>
</table>
<div class="more" style="text-align: center;">
<a class="button" style="display: inline-block; padding: 4px 10px 3px; text-decoration: none; color: #2592c5; font-size: 11px; font-weight: bold; line-height: 14px; border: 1px solid #90c7e0; text-transform: uppercase; -webkit-border-radius: 4px; -moz-border-radius: 4px; border-radius: 4px; width: 336px;" href="#">посмотреть все новости</a>
</div>
</td>
</tr>
</table>
<table cellpadding="0" cellspacing="0" border="0" width="600" style="width: 600px; margin-bottom: 10px;">
<tr>
<td style="padding: 20px 0 0;"><a style="display: block; padding: 25px 30px; text-decoration: none; background: #ff6600; color: #ffffff; font-size: 20px; line-height: 26px;" href="#">Фоторепортаж: Международный форум «АтомЭко 2013»</a></td>
</tr>
<tr>
<td style="padding: 10px 30px 15px; background: #faf9f7;">
<table cellpadding="0" cellspacing="0" border="0" width="540" style="margin-bottom: 15px;">
<tr valign="top">
<td style="padding: 15px 0; border-bottom: 1px dotted #cccccc;">
<table cellpadding="0" cellspacing="0" border="0" style="margin-bottom: 10px;">
<tr>
<td style="width: 100px;"><a href="#"><img src="{% static 'client/img/_del-temp/phr-1.jpg' %}" width="100" height="100" alt="" /></a></td>
<td style="width: 100px; padding-left: 10px;"><a href="#"><img src="{% static 'client/img/_del-temp/phr-2.jpg' %}" width="100" height="100" alt="" /></a></td>
<td style="width: 100px; padding-left: 10px;"><a href="#"><img src="{% static 'client/img/_del-temp/phr-3.jpg' %}" width="100" height="100" alt="" /></a></td>
<td style="width: 100px; padding-left: 10px;"><a href="#"><img src="{% static 'client/img/_del-temp/phr-4.jpg' %}" width="100" height="100" alt="" /></a></td>
<td style="width: 100px; padding-left: 10px;"><a href="#"><img src="{% static 'client/img/_del-temp/phr-2.jpg' %}" width="100" height="100" alt="" /></a></td>
</tr>
</table>
<p style="margin: 0 0 7px; font-size: 12px; line-height: 15px;"><a style="color: #464646; text-decoration: none;" href="#">Идея Russian Affiliate Congress and Expo возникла в ответ на необходимость развития бизнеса России и стран СНГ в соответствии с мировыми тенденциями. Партнерские программы — один из наиболее эффективных и широко применяемых на западе инструментов интернет маркетинга, доля которого на рынке интернет продвижения развитых стран около 40 %, для сравнения в России и странах СНГ на этот сегмент приходится около 10%. Разница очевидна.</a></p>
</td>
</tr>
</table>
<div class="more" style="text-align: center;">
<a class="button" style="display: inline-block; padding: 4px 10px 3px; text-decoration: none; color: #2592c5; font-size: 11px; font-weight: bold; line-height: 14px; border: 1px solid #90c7e0; text-transform: uppercase; -webkit-border-radius: 4px; -moz-border-radius: 4px; border-radius: 4px; width: 336px;" href="#">посмотреть все фотрепортажи</a>
</div>
</td>
</tr>
</table>
<table cellpadding="0" cellspacing="0" border="0" width="600" style="width: 600px; margin-bottom: 10px;">
<tr>
<td style="padding: 20px 0 0;"><a href="#"><img src="{% static 'client/img/_del-temp/mail-banner.jpg' %}" width="600" height="145" alt="" /></a></td>
</tr>
</table>
<table cellpadding="0" cellspacing="0" border="0" width="600" style="width: 600px; margin-bottom: 10px;">
<tr>
<td style="padding: 20px 0 0;"><a style="display: block; padding: 25px 30px; text-decoration: none; background: #ff6600; color: #ffffff; font-size: 20px; line-height: 26px;" href="#">Аналитика для профессионалов</a></td>
</tr>
<tr>
<td style="padding: 10px 30px 15px; background: #faf9f7;">
<table cellpadding="0" cellspacing="0" border="0" width="540">
<tr valign="top">
<td style="padding: 15px 15px 0 0; width: 76px;">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td style="background: #ffffff; padding: 0; width: 76px; height: 76px; vertical-align: middle; text-align: center;"><a href="#"><img style="width: 100%; -webkit-border-radius: 4px; -moz-border-radius: 4px; border-radius: 4px;" alt="" src="{% static 'client/img/_del-temp/news-1.jpg' %}" /></a></td>
</tr>
</table>
</td>
<td style="padding: 15px 0 0;">
<h2 style="margin: 0 0 5px; font-family: Tahoma, Arial, sans-serif; font-size: 18px; line-height: 21px;"><a style="color: #464646; text-decoration: none;" href="#">Древние славянские практики для оздоровления души и тела презентуют на красноярской Ярмарке здоровья</a></h2>
<p style="margin: 0 0 7px; font-size: 13px; line-height: 17px;"><a style="color: #464646; text-decoration: none;" href="#">VII Международный форум «АтомЭко 2013» пройдет 30-31 октября в Москве под знаком нулевого ущерба для экологии. Главная тема VIIМеждународного Форума «АтомЭко 2013»: «Атомная энергетика – стратегия нулевого ущерба», где будут обсуждаться вопросы по обращению с радиоактивными отходами (РАО) и отработавшим <span style="text-decoration: underline; color: #ff6600;">...</span></a></p>
</td>
</tr>
</table>
</td>
</tr>
</table>
<table cellpadding="0" cellspacing="0" border="0" width="600" style="width: 600px; border-bottom: 1px dotted #cccccc;">
<tr>
<td style="vertical-align: top; padding: 15px 0 10px;">
<div class="logo">
<a style="text-decoration: none; color: #a2a2a2; font-size: 12px;" href="#">
<img src="{% static 'client/img/mail-logo-2.jpg' %}" alt="Expomap.ru" />
</a>
</div>
</td>
<td style="vertical-align: top; padding: 25px 0 5px;">
<ul class="t-links" style="margin: 0 0 15px; padding: 0; list-style: none; text-align: right; font-size: 14px; line-height: 15px; font-weight: bold;">
<li style="display: inline-block;"><a style="text-decoration: none; color: #ff6600" href="#">СОБЫТИЯ</a></li>
<li style="display: inline-block; margin-left: 20px;"><a style="text-decoration: none; color: #ff6600" href="#">МЕСТА</a></li>
<li style="display: inline-block; margin-left: 20px;"><a style="text-decoration: none; color: #ff6600" href="#">УЧАСТНИКИ</a></li>
</ul>
</td>
</tr>
</table>
<table cellpadding="0" cellspacing="0" border="0" width="600" style="width: 600px; font-size: 12px; line-height: 15px;">
<tr>
<td style="vertical-align: top; padding: 15px 0 15px;">
Чтобы отписаться от этой рассылки, перейдите <a style="color: #ff6600;" href="#">по ссылке</a>
</td>
<td style="vertical-align: top; padding: 15px 0 15px; color: #a2a2a2; text-align: right;">
© 2018 — 2013 <a style="color: #a2a2a2; text-decoration: none;" href="#">Expomap.ru</a>
</td>
</tr>
</table>
</td>
</tr>
</table>
</body>
</html>

@ -70,36 +70,55 @@
{{ form.email }} {{ form.email }}
</span> </span>
</div> </div>
<button>{% trans 'Подписаться' %}</button> {% comment %}<button>{% trans 'Выбрать рубрики' %}</button>{% endcomment %}
<a href="#themes_block" class="button smooth_scroll">{% trans 'Выбрать рубрики' %}</a>
</fieldset> </fieldset>
</div> </div>
</div> </div>
</section> </section>
{% endif %} {% endif %}
<div class="themes_block"> <div id="themes_block" class="themes_block">
<div class="container"> <div class="container">
<h2>{% trans 'Какие события включать в ваше письмо?' %}</h2> <h2>{% trans 'Какие события включать в ваше письмо?' %}</h2>
<div class="columns"> <div class="columns">
<div class="column"> <div class="column">
<h3>{% trans 'Ваши темы:' %}</h3> <div id="selected_themes_block">
<ul id="selected_themes" class="selected selected_themes"> <h3>{% trans 'Ваши темы:' %}</h3>
{% for theme in object.themes.all %} <p>Отметьте темы, по которым вы хотите получать анонсы событий</p>
<li data-id="{{ theme.pk }}" data-type="th" class="theme_{{ theme.pk }}">
<input type="hidden" name="th" value="{{ theme.pk }}"> {% if not user.is_authenticated %}
{{ theme }} <ul id="popular_themes" class="popular_themes">
<a href="#">&times;</a> {% for theme in popular_themes %}
</li> <li>
{% endfor %} <input id="id_popular_theme_{{ theme.pk }}" type="checkbox" name="th" value="{{ theme.pk }}">
{% for tag in object.tags.all %} <label for="id_popular_theme_{{ theme.pk }}">{{ theme }}</label>
<li data-id="{{ tag.pk }}" data-type="tg" data-parent="{{ tag.theme.pk }}" class="tag_{{ tag.pk }}"> </li>
<input type="hidden" name="tg" value="{{ tag.pk }}"> {% endfor %}
{{ tag }} </ul>
<a href="#">&times;</a> {% endif %}
</li>
{% endfor %} <ul id="selected_themes" class="selected selected_themes">
</ul> {% for theme in object.themes.all %}
<a href="#search-modal" class="modal_trigger themes_trigger">{% trans 'Уточнить темы' %}</a> <li data-id="{{ theme.pk }}" data-type="th" class="theme_{{ theme.pk }}">
<input type="hidden" name="th" value="{{ theme.pk }}">
{{ theme }}
<a href="#">&times;</a>
</li>
{% endfor %}
{% for tag in object.tags.all %}
<li data-id="{{ tag.pk }}" data-type="tg" data-parent="{{ tag.theme.pk }}" class="tag_{{ tag.pk }}">
<input type="hidden" name="tg" value="{{ tag.pk }}">
{{ tag }}
<a href="#">&times;</a>
</li>
{% endfor %}
</ul>
<a href="#search-modal" class="modal_trigger themes_trigger">
{% comment %}{% trans 'Уточнить темы' %}{% endcomment %}
{% trans 'Выбрать из полного списка' %}
</a>
</div>
</div> </div>
<div class="column"> <div class="column">
<h3>{% trans 'Ваши гео-фильтры:' %}</h3> <h3>{% trans 'Ваши гео-фильтры:' %}</h3>
@ -169,37 +188,7 @@
</div> </div>
</div> </div>
</div> </div>
<div class="period_block">
<div class="container">
<h2>{% trans 'Регулярность получения писем' %}</h2>
<div class="columns">
<div class="column periodic">
<ul>
{% for field in form.periodic %}
<li>
<label>
{{ field.tag }}
<span class="radio">
{{ field.choice_label }}
</span>
</label>
</li>
{% endfor %}
</ul>
</div>
<div class="column mailing_day">
{% for field in form.periodic_day %}
<label>
{{ field.tag }}
<span class="radio">
{{ field.choice_label }}
</span>
</label>
{% endfor %}
</div>
</div>
</div>
</div>
<div class="button_block"> <div class="button_block">
<div class="container"> <div class="container">
{% if not user.is_authenticated %} {% if not user.is_authenticated %}

@ -260,20 +260,7 @@
<div class="cli-buttons clearfix"> <div class="cli-buttons clearfix">
<div class="cli-m-buttons"> <div class="cli-m-buttons">
<div class="cli-services">
<a class="button icon-sm" href="#">{% trans 'услуги' %}</a>
<div class="cli-services-sm">
<ul>
{% for service in event.get_services %}
<li><a href="{{ service.get_permanent_url }}">{{ service.name }}</a></li>
{% endfor %}
</ul>
</div>
</div>
<a class="button blue icon-calendar" href="{{ event.get_calendar_url }}">{% trans 'в расписание' %}</a> <a class="button blue icon-calendar" href="{{ event.get_calendar_url }}">{% trans 'в расписание' %}</a>
<a class="button green icon-note" href="#">{% trans 'заметка' %}</a>
</div> </div>
<div class="cli-s-buttons"> <div class="cli-s-buttons">

@ -60,20 +60,7 @@
<div class="cli-buttons clearfix"> <div class="cli-buttons clearfix">
<div class="cli-m-buttons"> <div class="cli-m-buttons">
<div class="cli-services">
<a class="button icon-sm" href="#">{% trans 'услуги' %}</a>
<div class="cli-services-sm">
<ul>
{% for service in event.get_services %}
<li><a href="{{ service.get_permanent_url }}">{{ service.name }}</a></li>
{% endfor %}
</ul>
</div>
</div>
<a class="button blue icon-calendar" href="{{ event.get_calendar_url }}">{% trans 'в расписание' %}</a> <a class="button blue icon-calendar" href="{{ event.get_calendar_url }}">{% trans 'в расписание' %}</a>
<a class="button green icon-note" href="#">{% trans 'заметка' %}</a>
</div> </div>
<div class="cli-s-buttons"> <div class="cli-s-buttons">

@ -1,58 +0,0 @@
{% load i18n %}
<div id="pw-subscribe" class="popup-window pw-subscribe">
<header class="clearfix">
<div class="pw-title">{% trans 'Получать анонсы' %} </div>
<ul class="tabs">
<li class="active"><a class="icon-big-email" href="#">{% trans 'по e-mail' %}</a></li>
</ul>
</header>
<div class="pw-body clearfix">
<ul class="tabs-content">
<li class="active">
<form id="id_subscription_aside_form" class="pw-form simple-validate" action="/newsletters/subsribe/aside/" method="post">{% csrf_token %}
<div class="pwf-line mail">
<div class="pwf-field">{{ announce_subscribe.email }}</div>
<div class="pwf-msg"><a target="_blank" href="/newsletters/test-letter/">{% trans 'Пример рассылки' %}</a></div>
</div>
<div class="pwf-line country">
<div class="pwf-field">
{{ announce_subscribe.country }}
</div>
<div class="pwf-msg"></div>
</div>
<div class="pwf-line city">
<div class="pwf-field">
{{ announce_subscribe.city }}
</div>
<div class="pwf-msg"></div>
</div>
<div class="pwf-line subj">
<div class="pwf-field">
{{ announce_subscribe.theme }}
</div>
<div class="mf-msg"></div>
</div>
<div class="pwf-line subj">
<div class="pwf-field">
{{ announce_subscribe.periodic }}
</div>
<div class="mf-msg"></div>
</div>
<div class="pwf-buttons-line">
<button type="submit" class="icon-check">{% trans 'подписаться' %}</button>
</div>
</form>
</li>
</ul>
</div>
</div>

@ -230,9 +230,9 @@
<div class="rqob-button"> <div class="rqob-button">
{# вместо формы выше временно ставим ссылку на партнёров #} {# вместо формы выше временно ставим ссылку на партнёров #}
{% if object.type == 1 %} {% if object.type == 1 %}
<a class="ob-text" href="#">{% trans 'заказать услугу' %}</a> <a class="ob-text link" href="https://www.interpreters.travel/ru/new_partner_search?partner_id=44&search[city_name]={{ object.place.capital }}" target="_blank">{% trans 'найти переводчика' %}</a>
{% else %} {% else %}
<a class="ob-text link" href="https://www.interpreters.travel/ru/new_partner_search?partner_id=44&search[city_name]={{ object.place }}" target="_blank">{% trans 'заказать услугу' %}</a> <a class="ob-text link" href="https://www.interpreters.travel/ru/new_partner_search?partner_id=44&search[city_name]={{ object.place }}" target="_blank">{% trans 'найти переводчика' %}</a>
{% endif %} {% endif %}
</div> </div>
</div> </div>

Loading…
Cancel
Save