remotes/origin/1203
Kotiuk Nazarii 11 years ago
commit b6353b3faf
  1. 12
      conference/models.py
  2. 2
      service/models.py
  3. 1
      service/order_forms.py
  4. 3
      settings/templatetags/template_filters.py
  5. 116
      templates/admin/base.html
  6. 110
      templates/admin/includes/admin_nav.html
  7. 30
      templates/admin/includes/staff_nav.html
  8. 14
      templates/client/includes/exposition/exposition_list.html
  9. 4
      templates/client/includes/header.html
  10. 1
      templates/client/popups/advertise.html
  11. 15
      templates/client/simple_pages/advertising.html
  12. 51
      templates/client/static_client/js/_modules/page.advertising.js
  13. 1
      templates/client/static_client/js_min/_modules/page.advertising.min.js
  14. 2
      templates/client/static_client/js_min/vendor.min.js

@ -1,4 +1,5 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
import datetime
from django.utils.translation import ugettext as _ from django.utils.translation import ugettext as _
from django.db import models from django.db import models
from django.db.models import Q from django.db.models import Q
@ -129,8 +130,15 @@ class Conference(TranslatableModel, EventMixin, ExpoMixin):
#return list(Service.objects.language().filter(url__in=ids, type=Service.type.conference).order_by('sort')) #return list(Service.objects.language().filter(url__in=ids, type=Service.type.conference).order_by('sort'))
def get_nearest_events(self): def get_nearest_events(self):
conferences = Conference.objects.all()[:5] if self.theme.all():
return conferences 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_catalog_url(self): def get_catalog_url(self):
return '/conference/' return '/conference/'

@ -136,7 +136,7 @@ ADVERTYSE_TYPES = ((u'Рекламировать участника', u'Рекл
(u'Приоритетное размещение событий в каталоге',u'Приоритетное размещение событий в каталоге'), (u'Приоритетное размещение событий в каталоге',u'Приоритетное размещение событий в каталоге'),
(u'Персональная визитка Вашей компании',u'Персональная визитка Вашей компании')) (u'Персональная визитка Вашей компании',u'Персональная визитка Вашей компании'))
class Advertising(AbstractOrder): class Advertising(AbstractOrder):
type = models.CharField(choices=ADVERTYSE_TYPES, max_length=255, blank=True, null=True) type = models.CharField(max_length=255, blank=True, null=True)
class CallBack(models.Model): class CallBack(models.Model):

@ -192,6 +192,7 @@ class AdvertiseForm(AbstractOrderForm):
action = '/service/com_rek/' action = '/service/com_rek/'
country = forms.CharField(required=False, widget=forms.TextInput(attrs={'placeholder': _(u'Страна')})) country = forms.CharField(required=False, widget=forms.TextInput(attrs={'placeholder': _(u'Страна')}))
city = forms.CharField(required=False, widget=forms.TextInput(attrs={'placeholder': _(u'Город')})) city = forms.CharField(required=False, widget=forms.TextInput(attrs={'placeholder': _(u'Город')}))
type = forms.CharField(required=False, widget=forms.HiddenInput())
class Meta: class Meta:
model = Advertising model = Advertising

@ -251,7 +251,8 @@ def in_events(day, events):
@register.filter @register.filter
def base64_encode(value): def base64_encode(value):
return base64.b64encode(value)
return base64.b64encode(value.encode("utf-8"))
@register.filter @register.filter

@ -54,116 +54,12 @@
{# Side navigation #} {# Side navigation #}
{% block sidebar %} {% block sidebar %}
<div class="span3" data-spy="affix" data-offset-top="0" id="navigation"> {% if user.is_superuser %}
<div class="well sidebar-nav"> {% include 'admin/includes/admin_nav.html' %}
<ul class="nav nav-tabs nav-stacked"> {% else %}
<li class="nav-header">Добавить</li> {% include 'admin/includes/staff_nav.html' %}
<li class="dropdown"> {% endif %}
<a href="#" class="dropdown-toggle" data-toggle="dropdown"><i class="icon-eye-open"></i> События<b class="caret"></b></a>
<ul class="dropdown-menu">
<li><a href="/admin/exposition/all">Выставка</a></li>
<li><a href="/admin/conference/all">Конференция</a></li>
<li><a href="/admin/seminar/all">Семинар</a></li>
<li><a href="/admin/webinar/all">Вебинар</a></li>
<li class="divider"></li>
<li><a href="/admin/import-event">Импорт</a></li>
<li><a href="/admin/export-event">Экспорт</a></li>
</ul>
</li>
<li class="dropdown">
<a href="#" class="dropdown-toggle" data-toggle="dropdown"><i class="icon-eye-open"></i> Места проведения<b class="caret"></b></a>
<ul class="dropdown-menu">
<li><a href="/admin/place_exposition/all">Место проведения выставки</a></li>
<li><a href="/admin/place_conference/all">Место проведения конференции</a></li>
</ul>
</li>
<li class="dropdown">
<a href="#" class="dropdown-toggle" data-toggle="dropdown"><i class="icon-eye-open"></i> Пользователи<b class="caret"></b></a>
<ul class="dropdown-menu">
<li><a href="/admin/accounts/all">Пользователи</a></li>
<li><a href="/admin/translator/all">Переводчики</a></li>
<li><a href="/admin/organiser/all">Организаторы</a></li>
<li><a href="/admin/company/all">Компании</a></li>
<li class="divider"></li>
<li><a href="/admin/import-organiser">Импорт организаторов</a></li>
</ul>
</li>
<li class="dropdown">
<a href="#" class="dropdown-toggle" data-toggle="dropdown"><i class="icon-wrench"></i> Настройки<b class="caret"></b></a>
<ul class="dropdown-menu">
<li><a href="/admin/country/all">Страна</a></li>
<li><a href="/admin/city/all">Город</a></li>
<li><a href="/admin/theme/theme/all">Тематики</a></li>
<li><a href="/admin/theme/tag/all">Теги</a></li>
<li><a href="/admin/service/all">Услуги</a></li>
<li><a href="/admin/settings">Настройки</a></li>
<li><a href="/admin/settings/main-page/">Главная страница</a></li>
<li><a href="/admin/meta/all/">Мета</a></li>
<li class="divider"></li>
<li><a href="/admin/import-theme">Импорт тематик</a></li>
<li><a href="/admin/import-tag">Импорт тегов</a></li>
</ul>
</li>
<li class="dropdown">
<a href="#" class="dropdown-toggle" data-toggle="dropdown"><i class="icon-list"></i> Справочники<b class="caret"></b></a>
<ul class="dropdown-menu">
<li><a href="/admin/article/blog/all/">Статьи</a></li>
<li><a href="/admin/article/news/all/">Новости</a></li>
<li><a href="#">Отзывы</a></li>
<li><a href="/admin/language/add">Языки</a></li>
<li><a href="/admin/currency/add">Валюты</a></li>
</ul>
</li>
<li class="dropdown">
<a href="#" class="dropdown-toggle" data-toggle="dropdown"><i class="icon-circle-arrow-down"></i> Импорт<b class="caret"></b></a>
<ul class="dropdown-menu">
<li><a href="/admin/import-event">События</a></li>
<li><a href="/admin/import-organiser">Организаторы</a></li>
<li><a href="/admin/import-place_exposition">Место проведения выставок</a></li>
<li><a href="/admin/import-place_conference">Место проведения конференций</a></li>
<li><a href="/admin/import-theme">Тематики</a></li>
<li><a href="/admin/import-tag">Теги</a></li>
</ul>
</li>
<li class="dropdown">
<a href="#" class="dropdown-toggle" data-toggle="dropdown"><i class=" icon-circle-arrow-up"></i> Экспорт<b class="caret"></b></a>
<ul class="dropdown-menu">
<li><a href="/admin/export-event">События</a></li>
<li><a href="/admin/export-organiser">Организаторы</a></li>
<li><a href="/admin/export-place_exposition">Место проведения выставок</a></li>
<li><a href="/admin/export-place_conference">Место проведения конференций</a></li>
<li><a href="/admin/export-theme">Тематики</a></li>
<li><a href="/admin/export-tag">Теги</a></li>
<li><a href="/admin/export-user">Пользователи</a></li>
<li><a href="/admin/export-company">Компании</a></li>
</ul>
</li>
<li class="dropdown">
<a href="#" class="dropdown-toggle" data-toggle="dropdown"><i class=" icon-circle-arrow-up"></i> Заказы<b class="caret"></b></a>
<ul class="dropdown-menu">
<li><a href="/admin/service/order/callback/">Обратный звонок</a></li>
<li><a href="/admin/service/order/visit/">Бизнес-тур под ключ</a></li>
<li><a href="/admin/service/order/translation/">Переводчик</a></li>
<li><a href="/admin/service/order/advertising/">Рекламировать</a></li>
<li><a href="/admin/service/order/participation/">Участие</a></li>
<li><a href="/admin/service/order/remote/">Заочное посещение</a></li>
<li><a href="/admin/service/order/tickets/">Билеты</a></li>
</ul>
</li>
</ul>
</div>
</div>
{% endblock %} {% endblock %}

@ -0,0 +1,110 @@
<div class="span3" data-spy="affix" data-offset-top="0" id="navigation">
<div class="well sidebar-nav">
<ul class="nav nav-tabs nav-stacked">
<li class="nav-header">Добавить</li>
<li class="dropdown">
<a href="#" class="dropdown-toggle" data-toggle="dropdown"><i class="icon-eye-open"></i> События<b class="caret"></b></a>
<ul class="dropdown-menu">
<li><a href="/admin/exposition/all">Выставка</a></li>
<li><a href="/admin/conference/all">Конференция</a></li>
<li><a href="/admin/seminar/all">Семинар</a></li>
<li><a href="/admin/webinar/all">Вебинар</a></li>
<li class="divider"></li>
<li><a href="/admin/import-event">Импорт</a></li>
<li><a href="/admin/export-event">Экспорт</a></li>
</ul>
</li>
<li class="dropdown">
<a href="#" class="dropdown-toggle" data-toggle="dropdown"><i class="icon-eye-open"></i> Места проведения<b class="caret"></b></a>
<ul class="dropdown-menu">
<li><a href="/admin/place_exposition/all">Место проведения выставки</a></li>
<li><a href="/admin/place_conference/all">Место проведения конференции</a></li>
</ul>
</li>
<li class="dropdown">
<a href="#" class="dropdown-toggle" data-toggle="dropdown"><i class="icon-eye-open"></i> Пользователи<b class="caret"></b></a>
<ul class="dropdown-menu">
<li><a href="/admin/accounts/all">Пользователи</a></li>
<li><a href="/admin/translator/all">Переводчики</a></li>
<li><a href="/admin/organiser/all">Организаторы</a></li>
<li><a href="/admin/company/all">Компании</a></li>
<li class="divider"></li>
<li><a href="/admin/import-organiser">Импорт организаторов</a></li>
</ul>
</li>
<li class="dropdown">
<a href="#" class="dropdown-toggle" data-toggle="dropdown"><i class="icon-wrench"></i> Настройки<b class="caret"></b></a>
<ul class="dropdown-menu">
<li><a href="/admin/country/all">Страна</a></li>
<li><a href="/admin/city/all">Город</a></li>
<li><a href="/admin/theme/theme/all">Тематики</a></li>
<li><a href="/admin/theme/tag/all">Теги</a></li>
<li><a href="/admin/service/all">Услуги</a></li>
<li><a href="/admin/settings">Настройки</a></li>
<li><a href="/admin/settings/main-page/">Главная страница</a></li>
<li><a href="/admin/meta/all/">Мета</a></li>
<li class="divider"></li>
<li><a href="/admin/import-theme">Импорт тематик</a></li>
<li><a href="/admin/import-tag">Импорт тегов</a></li>
</ul>
</li>
<li class="dropdown">
<a href="#" class="dropdown-toggle" data-toggle="dropdown"><i class="icon-list"></i> Справочники<b class="caret"></b></a>
<ul class="dropdown-menu">
<li><a href="/admin/article/blog/all/">Статьи</a></li>
<li><a href="/admin/article/news/all/">Новости</a></li>
<li><a href="#">Отзывы</a></li>
<li><a href="/admin/language/add">Языки</a></li>
<li><a href="/admin/currency/add">Валюты</a></li>
</ul>
</li>
<li class="dropdown">
<a href="#" class="dropdown-toggle" data-toggle="dropdown"><i class="icon-circle-arrow-down"></i> Импорт<b class="caret"></b></a>
<ul class="dropdown-menu">
<li><a href="/admin/import-event">События</a></li>
<li><a href="/admin/import-organiser">Организаторы</a></li>
<li><a href="/admin/import-place_exposition">Место проведения выставок</a></li>
<li><a href="/admin/import-place_conference">Место проведения конференций</a></li>
<li><a href="/admin/import-theme">Тематики</a></li>
<li><a href="/admin/import-tag">Теги</a></li>
</ul>
</li>
<li class="dropdown">
<a href="#" class="dropdown-toggle" data-toggle="dropdown"><i class=" icon-circle-arrow-up"></i> Экспорт<b class="caret"></b></a>
<ul class="dropdown-menu">
<li><a href="/admin/export-event">События</a></li>
<li><a href="/admin/export-organiser">Организаторы</a></li>
<li><a href="/admin/export-place_exposition">Место проведения выставок</a></li>
<li><a href="/admin/export-place_conference">Место проведения конференций</a></li>
<li><a href="/admin/export-theme">Тематики</a></li>
<li><a href="/admin/export-tag">Теги</a></li>
<li><a href="/admin/export-user">Пользователи</a></li>
<li><a href="/admin/export-company">Компании</a></li>
</ul>
</li>
<li class="dropdown">
<a href="#" class="dropdown-toggle" data-toggle="dropdown"><i class=" icon-circle-arrow-up"></i> Заказы<b class="caret"></b></a>
<ul class="dropdown-menu">
<li><a href="/admin/service/order/callback/">Обратный звонок</a></li>
<li><a href="/admin/service/order/visit/">Бизнес-тур под ключ</a></li>
<li><a href="/admin/service/order/translation/">Переводчик</a></li>
<li><a href="/admin/service/order/advertising/">Рекламировать</a></li>
<li><a href="/admin/service/order/participation/">Участие</a></li>
<li><a href="/admin/service/order/remote/">Заочное посещение</a></li>
<li><a href="/admin/service/order/tickets/">Билеты</a></li>
</ul>
</li>
</ul>
</div>
</div>

@ -0,0 +1,30 @@
<div class="span3" data-spy="affix" data-offset-top="0" id="navigation">
<div class="well sidebar-nav">
<ul class="nav nav-tabs nav-stacked">
<li class="nav-header">Добавить</li>
<li class="dropdown">
<a href="#" class="dropdown-toggle" data-toggle="dropdown"><i class="icon-eye-open"></i> События<b class="caret"></b></a>
<ul class="dropdown-menu">
<li><a href="/admin/exposition/all">Выставка</a></li>
<li><a href="/admin/conference/all">Конференция</a></li>
<li><a href="/admin/seminar/all">Семинар</a></li>
<li><a href="/admin/webinar/all">Вебинар</a></li>
<li class="divider"></li>
<li><a href="/admin/import-event">Импорт</a></li>
<li><a href="/admin/export-event">Экспорт</a></li>
</ul>
</li>
<li class="dropdown">
<a href="#" class="dropdown-toggle" data-toggle="dropdown"><i class="icon-list"></i> Справочники<b class="caret"></b></a>
<ul class="dropdown-menu">
<li><a href="/admin/article/blog/all/">Статьи</a></li>
<li><a href="/admin/article/news/all/">Новости</a></li>
</ul>
</li>
</ul>
</div>
</div>

@ -8,20 +8,26 @@
{% 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">
{% if not obj.canceled %}
<a href="{{ obj.get_permanent_url }}"> <a href="{{ obj.get_permanent_url }}">
{% if obj.canceled %}
<div class="cancel"></div>
{% else %}
{% if obj.expohit %} {% if obj.expohit %}
<div class="hit"></div> <div class="hit"></div>
{% 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>
{% else %}
<div class="cancel"></div>
<div class="cli-pict">
{% with obj=obj %}
{% include 'client/includes/show_logo.html' %}
{% endwith %}
</div>
{% endif %}
<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 %}

@ -35,8 +35,8 @@
</form> </form>
{% endfor %} {% endfor %}
{% if user.is_admin %} {% if user.is_staff %}
<li><a href="/admin">admin</a></li> <li><a href="/admin/">admin</a></li>
{% endif %} {% endif %}
</ul> </ul>
</div> </div>

@ -31,6 +31,7 @@
<div class="pwf-buttons-line"> <div class="pwf-buttons-line">
<button type="submit" class="submit">{% trans 'Заказать услугу' %}</button> <button type="submit" class="submit">{% trans 'Заказать услугу' %}</button>
</div> </div>
<input type="hidden" id="id_type" name="type" value="">
</form> </form>
</div> </div>
</div> </div>

@ -119,7 +119,7 @@
<div class="btn-wrap"> <div class="btn-wrap">
<div class="order-button"> <div class="order-button">
<span class="ob-price">{% trans 'от' %} 10 000 <em class="rub"><i>{% trans 'руб.' %}</i></em> до 80 000 <em class="rub"><i>{% trans 'руб.' %}</i></em></span> <span class="ob-price">{% trans 'от' %} 10 000 <em class="rub"><i>{% trans 'руб.' %}</i></em> до 80 000 <em class="rub"><i>{% trans 'руб.' %}</i></em></span>
<a class="ob-text pw-open" href="#pw-advertise">{% trans 'Заказать услугу' %}</a> <a class="ob-text pw-open advert-modal" href="#pw-advertise" data-type-title="{% trans 'Баннерная реклама' %}">{% trans 'Заказать услугу' %}</a>
</div> </div>
<div class="tad-prise-descr">{% trans 'за месяц размещения' %}</div> <div class="tad-prise-descr">{% trans 'за месяц размещения' %}</div>
@ -141,7 +141,7 @@
<div class="btn-wrap"> <div class="btn-wrap">
<div class="order-button"> <div class="order-button">
<span class="ob-price">5 000 <em class="rub"><i>{% trans 'руб.' %}</i></em></span> <span class="ob-price">5 000 <em class="rub"><i>{% trans 'руб.' %}</i></em></span>
<a class="ob-text pw-open" href="#pw-advertise">{% trans 'Заказать услугу' %}</a> <a class="ob-text pw-open advert-modal" href="#pw-advertise" data-type-title="{% trans 'Приоритетное размещение событий в каталоге' %}">{% trans 'Заказать услугу' %}</a>
</div> </div>
<div class="tad-prise-descr">{% trans 'за месяц размещения в ТОП в 1 тематике' %}</div> <div class="tad-prise-descr">{% trans 'за месяц размещения в ТОП в 1 тематике' %}</div>
@ -161,7 +161,7 @@
<div class="btn-wrap"> <div class="btn-wrap">
<div class="order-button"> <div class="order-button">
<span class="ob-price">12 000 <em class="rub"><i>{% trans 'руб.' %}</i></em></span> <span class="ob-price">12 000 <em class="rub"><i>{% trans 'руб.' %}</i></em></span>
<a class="ob-text pw-open" href="#pw-advertise">{% trans 'Заказать услугу' %}</a> <a class="ob-text pw-open advert-modal" href="#pw-advertise" data-type-title="{% trans 'Персональная визитка Вашей компании' %}">{% trans 'Заказать услугу' %}</a>
</div> </div>
<div class="tad-prise-descr">{% trans 'за год за 1 тематический раздел' %}</div> <div class="tad-prise-descr">{% trans 'за год за 1 тематический раздел' %}</div>
@ -211,4 +211,13 @@
<div class="popups-wrap"> <div class="popups-wrap">
{% include 'client/popups/advertise.html' %} {% include 'client/popups/advertise.html' %}
</div> </div>
{% if request.GET.debug == '1' %}
<script src="{% static 'client/js/_modules/page.advertising.js' %}"></script>
{% else %}
<script src="{% static 'client/js_min/_modules/page.advertising.min.js' %}"></script>
{% endif %}
<script>
EXPO.advertising.init({});
</script>
{% endblock %} {% endblock %}

@ -0,0 +1,51 @@
var EXPO = EXPO || {}; //isolated namespace
if (EXPO.advertising) {
console.warn('WARNING: EXPO.advertising is already defined!');
} else {
EXPO.advertising = (function () {
/**
* private (visible inside this module only) variables
*/
/**
* @type {Object} - module API interafce realization
*/
var that = {};
/**
* @type {Object} default setting
*/
that.opt = {};
/**
* dependencies.Place where you can switch on dependencies for module
* @type {EXPO.common|*} - mostly used in project functions and data (block.common.js)
*/
var com = EXPO.common;
/**
* current module general initialization
* @param {Object} options - options recieved from web page view
*/
that.init = function (options) {
/**
* default module options
* @type {Object}
*/
this.opt = {
linkClass:"advert-modal",
inputId:"id_type"
};
// settings extending
$.extend(this.opt, options);
// begin of initialization
var self = this,
opt = this.opt;
$('.'+opt.linkClass).on("mousedown", function () {
$(document.getElementById(opt.inputId)).val($(this).attr("data-type-title"));
});
};
return that;
}());
}

@ -0,0 +1 @@
var EXPO=EXPO||{};EXPO.advertising?console.warn("WARNING: EXPO.advertising is already defined!"):EXPO.advertising=function(){var t={};t.opt={};EXPO.common;return t.init=function(t){this.opt={linkClass:"advert-modal",inputId:"id_type"},$.extend(this.opt,t);var n=this.opt;$("."+n.linkClass).on("mousedown",function(){$(document.getElementById(n.inputId)).val($(this).attr("data-type-title"))})},t}();

File diff suppressed because one or more lines are too long
Loading…
Cancel
Save