diff --git a/accounts/views.py b/accounts/views.py
index 1c2dbaea..69a11220 100644
--- a/accounts/views.py
+++ b/accounts/views.py
@@ -5,7 +5,7 @@ import datetime
from django.core.urlresolvers import reverse
import calendar as python_calendar
from django.shortcuts import get_object_or_404
-from django.http import HttpResponseRedirect, HttpResponse, Http404
+from django.http import HttpResponseRedirect, HttpResponse, Http404, HttpResponseBadRequest
from django.contrib.auth.decorators import login_required
from django.utils.translation import ugettext as _, get_language
from django_messages.forms import SendForm
@@ -26,7 +26,7 @@ from company.edit_forms import NameForm as CompNameForm, HomeForm as CompHomeFor
FoundationForm as CompFound, SpecializationForm as CompSpec, AddressForm as CompAddress
from meta.views import MetadataMixin
from emencia.django.newsletter.forms import SubscribeSettingsForm
-from emencia.django.newsletter.models import Contact
+from emencia.django.newsletter.models import Contact, ContactSettings
class SettingsView(TemplateView):
@@ -42,7 +42,13 @@ class SettingsView(TemplateView):
try:
contact = user.contact_set.get(email=user.username)
except Contact.DoesNotExist:
- contact = None
+ try:
+ contact = Contact.objects.get(email=user.username)
+ contact.user = user
+ contact.save()
+ except Contact.DoesNotExist:
+ contact = None
+
if not contact:
return SubscribeSettingsForm()
setting = contact.contactsettings
@@ -94,7 +100,7 @@ def save_announce_settings(request):
# todo: subscribe settings error handle
#not_valid
- return HttpResponseRedirect(reverse('accounts_settings'))
+ return HttpResponseRedirect(reverse('accounts_settings'))
class CalendarView(TemplateView):
diff --git a/expobanner/utils.py b/expobanner/utils.py
index 25014f2b..e10832ac 100644
--- a/expobanner/utils.py
+++ b/expobanner/utils.py
@@ -123,13 +123,12 @@ def random_choice_banners(banners):
'''
Include weight of customers model.
'''
- print(banners)
choice_from = {}
for i, banner in enumerate(banners):
key = 'customer{pk}'.format(pk=banner.customer_id) if banner.customer_id else i
choice_from.setdefault(key, []).append(banner)
- key = random.choice(choice_from.keys())
- return random.choice(choice_from.get(key))
+ pre_choiced = random.choice(choice_from.values())
+ return random.choice(pre_choiced)
def get_top_events(tops, params, request):
diff --git a/static/client/js/rejs/banners.js b/static/client/js/rejs/banners.js
index da5511ed..a0312b39 100644
--- a/static/client/js/rejs/banners.js
+++ b/static/client/js/rejs/banners.js
@@ -77,6 +77,11 @@
if (parent) {
if (banner.is_popup) {
+
+ window.is_popup_banner = true;
+ // маркируем для попапа подписки о том что есть попап банер
+ // /templates/client/popups/announce_subscription.html
+
if (banner.is_img) {
parent.innerHTML =
"