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
def get_banner_by_params(banners_list, urls, params):
def get_banner_by_params(banners_list, urls, params, request):
thematic_banners = []
url_banners = []
for banner in banners_list:
# check popups
if banner.popup:
cookie = request.COOKIES.get(banner.cookie)
if cookie:
continue
# check by theme
banner_theme_ids = [str(theme.id) for theme in banner.theme.all()]
if banner_theme_ids:

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

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

Loading…
Cancel
Save