diff --git a/conference/forms.py b/conference/forms.py
index 12040fc2..e4c00e16 100644
--- a/conference/forms.py
+++ b/conference/forms.py
@@ -195,6 +195,32 @@ class ConferenceCreateForm(forms.Form):
conference.save()
return conference
+
+ def clean(self):
+ from functions.default_texts import default_conf_text, booking_url
+ d = self.cleaned_data
+
+ booking_url=booking_url.format(city_id=d['city'],code='ru',
+ date1=d['data_begin'].strftime("%-d"), date2=d['data_begin'].strftime("%Y"),
+ date3=d['data_end'].strftime("%-m"),date4=d['data_end'].strftime("%-d"),
+ date5=d['data_end'].strftime("%Y"), date6=d['data_end'].strftime("%-m"))
+ if d['place']:
+ try:
+ place = PlaceConference.objects.language().get(id=int(d['place'])).name
+ except PlaceConference.DoesNotExist:
+ place = u""
+ else:
+ place = u"место проведения конференции"
+ if not d['description_ru'] or d['description_en']:
+ d['description_ru'] = default_conf_text.format(
+ name=d['name_ru'], fr=d['data_begin'].strftime("%d.%m.%Y"),
+ city=City.objects.language().get(id=d['city']),
+ country=Country.objects.language().get(id=d['country']),
+ place=place,
+ booking_url=booking_url
+ )
+ return d
+
"""
def clean(self):
id = self.cleaned_data.get('conference_id')
diff --git a/exposition/forms.py b/exposition/forms.py
index 5cb1380e..55695ef8 100644
--- a/exposition/forms.py
+++ b/exposition/forms.py
@@ -217,7 +217,6 @@ class ExpositionCreateForm(forms.Form):
exposition.country = Country.objects.get(id=data['country'])
exposition.city = City.objects.get(id=data['city'])
-
if data.get('place'):
exposition.place = PlaceExposition.objects.get(id=data['place'])
else:
@@ -239,6 +238,28 @@ class ExpositionCreateForm(forms.Form):
return exposition
def clean(self):
+ from functions.default_texts import default_expo_descr, booking_url
+ d = self.cleaned_data
+ booking_url=booking_url.format(city_id=d['city'],code='ru',
+ date1=d['data_begin'].strftime("%-d"), date2=d['data_begin'].strftime("%Y"),
+ date3=d['data_end'].strftime("%-m"),date4=d['data_end'].strftime("%-d"),
+ date5=d['data_end'].strftime("%Y"), date6=d['data_end'].strftime("%-m"))
+
+ if d['place']:
+ try:
+ place = PlaceExposition.objects.language().get(id=int(d['place'])).name
+ except PlaceExposition.DoesNotExist:
+ place = u""
+ else:
+ place = u""
+ descr = d.get('description_ru') or d.get('description_en')
+ if not descr:
+ descr = default_expo_descr.format(name=d['name_ru'], date_fr=d['data_begin'].strftime("%d.%m.%Y"),
+ date_to=d['data_end'].strftime("%d.%m.%Y"), city=City.objects.language().get(id=d['city']),
+ country=Country.objects.language().get(id=d['country']),
+ place=place,
+ booking_url=booking_url)
+ self.cleaned_data['description_ru'] = descr
id = self.cleaned_data.get('exposition_id')
name_ru = self.cleaned_data.get('name_ru')
@@ -359,7 +380,6 @@ class ExpositionCreateForm(forms.Form):
price_catalog = cleaned_data.get('price_catalog').strip()
return is_positive_integer(price_catalog)
-
def clean_visitors(self):
"""
checking visitors
@@ -449,6 +469,12 @@ class ExpositionCreateForm(forms.Form):
discount = cleaned_data.get('discount').strip()
return is_positive_integer(discount)
+
+
+
+
+
+
class ExpositionDeleteForm(forms.ModelForm):
url = forms.CharField(widget=forms.HiddenInput())
diff --git a/functions/default_texts.py b/functions/default_texts.py
new file mode 100644
index 00000000..a4a307ed
--- /dev/null
+++ b/functions/default_texts.py
@@ -0,0 +1,49 @@
+# -*- coding: utf-8 -*-
+
+default_expo_descr = u"""Выставка {name} проводится с {date_fr} по {date_to} в городе {city.name}, {country.name}.
+Экспонируемые продукты и разделы выставки Вы можете посмотреть ниже, в блоке «Дополнительная информация».
+Полный список участников {name} размещается на официальном сайте выставки и постоянно обновляется.
+Там же Вы сможете найти экспонентов предыдущего года. Деловая программа {name} обычно публикуется ближе к началу события.
+
+Ваш личный календарь
+
+Добавьте выставку {name} в расписание, чтобы не потерять важное событие. Создавайте свой календарь мероприятий,
+просто нажав кнопку Добавить в календарь.
+
+Планируете самостоятельную поездку на {name}?
+
+Мы рекомендуем посмотреть отели и цены в период проведения выставки здесь .
+Как добраться до выставочного центра {place} можно посмотреть здесь.
+
+Не забудьте проверить место и даты выставки на официальном сайте и в календаре выставочного комплекса.
+Событие могут перенести, отменить, объединить с проектом схожей тематики.
+Expomap не несет ответственности за неточности предоставляемой информации.
+Есть вопрос о посещении или участии в {name}? Ответим по тел. +7 (499) 999-12-07
+"""
+default_conf_text = u"""
+Конференция {name} проходит с по {fr} в городе {city.name}, {country.name}.
+Посмотреть, как проехать в {place}, можно посмотреть на сайте конгрессной площадки.
+Деловая программа {name} разбита на секции по дням и размещается на сайте мероприятия с подробным списком
+докладчиков конференции. Спикеров конференции {name} обычно окончательно утверждают за 1-2 месяца до начала конференции.
+
+Ваши деловые контакты на {name}
+
+Добавьте конференцию {name} в расписание, чтобы не потерять важное событие,
+ где встречаются профессионалы нужной Вам отрасли. Создавайте свой календарь мероприятий, просто нажав кнопку
+ "Добавить в календарь".
+
+Планируете самостоятельную поездку на {name} ?
+
+Если Вам требуется размещение, мы рекомендуем посмотреть отели и цены в период проведения конференции здесь.
+Не забудьте проверить место и даты конференции на официальном сайте и в календаре организатора. Событие могут перенести,
+отменить, объединить с проектом схожей тематики. Expomap не несет ответственности за неточности
+предоставляемой информации.
+Есть вопрос по участию в {name} ? Ответим по тел. +7 (499) 999-12-07
+"""
+
+booking_url="http://www.booking.com/searchresults.html?aid=333667&city={city_id}&"\
+ "do_availability_check=on"\
+ "&label=expo_search&lang={code}&checkin_monthday={date1}&"\
+ "checkin_year_month={date2}-{date3}&"\
+ "checkout_monthday={date4}&checkout_year_month="\
+ "{date5}-{date6}"
\ No newline at end of file