From f6e37c81850a6f0f1ef79388c0630e122646b77e Mon Sep 17 00:00:00 2001 From: Kotiuk Nazarii Date: Wed, 22 Jul 2015 01:55:10 +0300 Subject: [PATCH] commit --- banners/models.py | 2 + proj/urls.py | 1 + settings/templatetags/template_filters.py | 4 + settings/views.py | 50 ++++++++- templates/client/blank.html | 97 +++++++++++++++++- templates/client/popups/auto_banner.html | 8 ++ templates/client/popups/auto_modal.html | 21 ++++ templates/client/popups/cemat_banner1.html | 8 ++ templates/client/popups/cemat_banner2.html | 8 ++ templates/client/popups/cemat_modal.html | 26 +++++ .../static_client/img/expo_b/cemat15.gif | Bin 0 -> 69343 bytes .../static_client/img/expo_b/cemat15_v2.gif | Bin 0 -> 66351 bytes .../static_client/img/expo_b/cemat_modal1.png | Bin 0 -> 14980 bytes .../static_client/img/expo_b/cemat_modal2.png | Bin 0 -> 8550 bytes .../client/static_client/img/expo_b/mims.png | Bin 0 -> 8562 bytes .../static_client/img/expo_b/mims15.gif | Bin 0 -> 47995 bytes 16 files changed, 223 insertions(+), 2 deletions(-) create mode 100644 templates/client/popups/auto_banner.html create mode 100644 templates/client/popups/auto_modal.html create mode 100644 templates/client/popups/cemat_banner1.html create mode 100644 templates/client/popups/cemat_banner2.html create mode 100644 templates/client/popups/cemat_modal.html create mode 100644 templates/client/static_client/img/expo_b/cemat15.gif create mode 100644 templates/client/static_client/img/expo_b/cemat15_v2.gif create mode 100644 templates/client/static_client/img/expo_b/cemat_modal1.png create mode 100644 templates/client/static_client/img/expo_b/cemat_modal2.png create mode 100644 templates/client/static_client/img/expo_b/mims.png create mode 100644 templates/client/static_client/img/expo_b/mims15.gif diff --git a/banners/models.py b/banners/models.py index b9779288..8cd34977 100644 --- a/banners/models.py +++ b/banners/models.py @@ -5,6 +5,8 @@ from django.db import models class Redirect(models.Model): redirect = models.URLField() count = models.PositiveIntegerField(default=0) + views = models.PositiveIntegerField(default=0) + def __unicode__(self): return self.redirect diff --git a/proj/urls.py b/proj/urls.py index 92cf2c80..c73029c6 100644 --- a/proj/urls.py +++ b/proj/urls.py @@ -79,6 +79,7 @@ urlpatterns = patterns('', # ajax urls urlpatterns += patterns('', + url(r'^ajax/get_popover/$', 'settings.views.get_popover_info'), url(r'^registration/reply/$', 'registration.backends.default.views.RegisterReply'), url(r'^register/', 'registration.backends.default.views.RegisterAjaxView'), url(r'^register-complete/', 'registration.backends.default.views.complete_registration'), diff --git a/settings/templatetags/template_filters.py b/settings/templatetags/template_filters.py index ad5276dd..b013912e 100644 --- a/settings/templatetags/template_filters.py +++ b/settings/templatetags/template_filters.py @@ -160,6 +160,10 @@ def random_social(value): def random3(value): return random.randrange(0,3) +@register.filter +def random5(value): + return random.randrange(0,5) + @register.filter def fourth(value): # return almost in 75% cases True in 25% False diff --git a/settings/views.py b/settings/views.py index 8c2e72cc..a2d22475 100644 --- a/settings/views.py +++ b/settings/views.py @@ -124,4 +124,52 @@ def company_autosearch(request): result = sorted(result, key=lambda x:x['cat']) return HttpResponse(json.dumps(result), content_type='application/json') else: - raise Http404 \ No newline at end of file + raise Http404 + +#------------------------------------------------------ +# POPOVERS +#------------------------------------------------------ +import random +from django.shortcuts import render +from django.template.loader import render_to_string +def get_popover(request): + response = {'success': True} + theme_id = request.GET.get('theme_id') + themes = {'2': ['client/popups/auto_modal.html', 'client/popups/auto_banner.html'], + '32': ['client/popups/auto_modal.html', 'client/popups/auto_banner.html', 'client/popups/cemat_modal.html', 'client/popups/cemat_banner1.html', 'client/popups/cemat_banner2.html'], + '54': ['client/popups/cemat_modal.html', 'client/popups/cemat_banner1.html', 'client/popups/cemat_banner2.html'], + '26': ['client/popups/cemat_modal.html', 'client/popups/cemat_banner1.html', 'client/popups/cemat_banner2.html'], + '22': ['client/popups/cemat_modal.html', 'client/popups/cemat_banner1.html', 'client/popups/cemat_banner2.html'], + '15': ['client/popups/cemat_modal.html', 'client/popups/cemat_banner1.html', 'client/popups/cemat_banner2.html'], + '44': ['client/popups/cemat_modal.html', 'client/popups/cemat_banner1.html', 'client/popups/cemat_banner2.html'], + '30': ['client/popups/cemat_modal.html', 'client/popups/cemat_banner1.html', 'client/popups/cemat_banner2.html']} + popovers = themes.get(theme_id) + if not popovers: + popovers = ['fail'] + response['success'] = False + + popover = random.choice(popovers) + html = render_to_string(popover) + + response['html'] = html + return HttpResponse(json.dumps(response), content_type='application/json') + +from banners.models import Redirect +from django.db.models import F +import datetime + +def set_cookie(response, key, value, days_expire = 7): + if days_expire is None: + max_age = 365 * 24 * 60 * 60 #one year + else: + max_age = days_expire * 24 * 60 * 60 + expires = datetime.datetime.strftime(datetime.datetime.utcnow() + datetime.timedelta(seconds=max_age), "%a, %d-%b-%Y %H:%M:%S GMT") + response.set_cookie(key, value, max_age=max_age, expires=expires) + +def get_popover_info(request): + id = request.GET.get('rdr') + if id: + Redirect.objects.filter(id=id).update(views = F('views') + 1) + response = HttpResponse('success') + set_cookie(response, 'popover_test1', '1') + return response \ No newline at end of file diff --git a/templates/client/blank.html b/templates/client/blank.html index 2755ecc6..0fbead5d 100644 --- a/templates/client/blank.html +++ b/templates/client/blank.html @@ -1,6 +1,8 @@ {% load static %} {% load i18n %} +{% load template_filters %} {% get_current_language as LANGUAGE_CODE %} + {% comment %} This template include basic anf main styles and js files, block with header and footer, which same in all pages, @@ -147,7 +149,7 @@ This template include basic anf main styles and js files, {% include 'client/includes/footer.html' %} {% endblock %} -
+
{% if not user.is_authenticated %} {% include 'client/popups/login.html' %} {% include 'client/popups/register.html' %} @@ -157,6 +159,99 @@ This template include basic anf main styles and js files, {% include 'client/popups/callback.html' %} + {% if not request.COOKIES.popover_test1 %} + {% if theme_for_filter %} + + + {% if theme_for_filter.id == 2 %} + {% if False|random_social %} + {% include 'client/popups/auto_modal.html' %} + {% else %} + {% include 'client/popups/auto_banner.html' %} + {% endif %} + {% endif %} + {% if theme_for_filter.id == 54 or theme_for_filter.id == 26 or theme_for_filter.id == 22 or theme_for_filter.id == 15 or theme_for_filter.id == 44 or theme_for_filter.id == 30 %} + {% with r=False|random3 %} + {% if r == 1 %} + {% include 'client/popups/cemat_modal.html' %} + {% else %} + {% if r == 2 %} + {% include 'client/popups/cemat_banner1.html' %} + {% else %} + {% include 'client/popups/cemat_banner2.html' %} + {% endif %} + {% endif %} + {% endwith %} + {% endif %} + + {% if theme_for_filter.id == 32 %} + {% with r=False|random5 %} + {% if r == 1 %} + {% include 'client/popups/auto_modal.html' %} + {% endif %} + + {% if r == 2 %} + {% include 'client/popups/auto_banner.html' %} + {% endif %} + {% if r == 3 %} + {% include 'client/popups/cemat_modal.html' %} + {% endif %} + {% if r == 4 %} + {% include 'client/popups/cemat_banner1.html' %} + {% endif %} + {% if r == 5 %} + {% include 'client/popups/cemat_banner2.html' %} + {% endif %} + {% endwith %} + {% endif %} + + + + + {% endif %} + {% endif %} {# if user doesnt have url- show form #} {% if not request.user.is_anonymous %} diff --git a/templates/client/popups/auto_banner.html b/templates/client/popups/auto_banner.html new file mode 100644 index 00000000..e4c3a3be --- /dev/null +++ b/templates/client/popups/auto_banner.html @@ -0,0 +1,8 @@ + diff --git a/templates/client/popups/auto_modal.html b/templates/client/popups/auto_modal.html new file mode 100644 index 00000000..43b8249b --- /dev/null +++ b/templates/client/popups/auto_modal.html @@ -0,0 +1,21 @@ + diff --git a/templates/client/popups/cemat_banner1.html b/templates/client/popups/cemat_banner1.html new file mode 100644 index 00000000..5c2c49da --- /dev/null +++ b/templates/client/popups/cemat_banner1.html @@ -0,0 +1,8 @@ + \ No newline at end of file diff --git a/templates/client/popups/cemat_banner2.html b/templates/client/popups/cemat_banner2.html new file mode 100644 index 00000000..25dd1c34 --- /dev/null +++ b/templates/client/popups/cemat_banner2.html @@ -0,0 +1,8 @@ + \ No newline at end of file diff --git a/templates/client/popups/cemat_modal.html b/templates/client/popups/cemat_modal.html new file mode 100644 index 00000000..e1ece4b8 --- /dev/null +++ b/templates/client/popups/cemat_modal.html @@ -0,0 +1,26 @@ +{% load static %} +{% load i18n %} + + diff --git a/templates/client/static_client/img/expo_b/cemat15.gif b/templates/client/static_client/img/expo_b/cemat15.gif new file mode 100644 index 0000000000000000000000000000000000000000..9493a63b3d7f04e294d5dfa1f2ed573218b047fd GIT binary patch literal 69343 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