Cookies check

remotes/origin/1203
Kotiuk Nazarii 11 years ago
parent 102bff02b1
commit 3a133a10aa
  1. 7
      expobanner/utils.py
  2. 11
      expobanner/views.py
  3. 1
      templates/client/blank.html

@ -20,11 +20,16 @@ def get_by_sort(banner_list):
return result return result
def get_banner_by_params(banners_list, urls, params): def get_banner_by_params(banners_list, urls, params, request):
thematic_banners = [] thematic_banners = []
url_banners = [] url_banners = []
for banner in banners_list: for banner in banners_list:
# check popups
if banner.popup:
cookie = request.COOKIES.get(banner.cookie)
if cookie:
continue
# check by theme # check by theme
banner_theme_ids = [str(theme.id) for theme in banner.theme.all()] banner_theme_ids = [str(theme.id) for theme in banner.theme.all()]
if banner_theme_ids: if banner_theme_ids:

@ -42,9 +42,10 @@ def get_banners(request):
group_banners = BannerGroup.cached.group_banners() group_banners = BannerGroup.cached.group_banners()
result = [] result = []
set_cookie = None
# get banners for all groups # get banners for all groups
for group, banners in group_banners.iteritems(): for group, banners in group_banners.iteritems():
banner = get_banner_by_params(banners, good_urls, params) banner = get_banner_by_params(banners, good_urls, params, request)
if banner: if banner:
if banner.html: if banner.html:
text = banner.text text = banner.text
@ -66,10 +67,14 @@ def get_banners(request):
'alt': alt, 'alt': alt,
'text': text 'text': text
}) })
if banner.popup:
set_cookie = banner.cookie
# add view log # add view log
banner.log(request, 1) banner.log(request, 1)
response = HttpResponse(json.dumps(result, indent=4), content_type='application/json')
return HttpResponse(json.dumps(result, indent=4), content_type='application/json') if set_cookie:
response.set_cookie(set_cookie, 1)
return response
def get_top(request): def get_top(request):
params = {'theme': request.GET.getlist('theme', []), params = {'theme': request.GET.getlist('theme', []),

@ -136,6 +136,7 @@ This template include basic anf main styles and js files,
{% endif %} {% endif %}
{% include 'client/popups/callback.html' %} {% include 'client/popups/callback.html' %}
{% include 'client/includes/banners/popup.html' %}
{% block popup_banner %} {% block popup_banner %}
{% if not request.COOKIES.popover_test1 %} {% if not request.COOKIES.popover_test1 %}
{% if theme_for_filter %} {% if theme_for_filter %}

Loading…
Cancel
Save