X-Git-Url: https://git.mdrn.pl/wolnelektury.git/blobdiff_plain/4bdb838df1fa9fa020acbb1cd53cc42341c45546..cf21ebb1502a1f5b7dfc285b9f9e3af4ede3e993:/apps/ajaxable/utils.py diff --git a/apps/ajaxable/utils.py b/apps/ajaxable/utils.py index 02e87671e..52cf63833 100755 --- a/apps/ajaxable/utils.py +++ b/apps/ajaxable/utils.py @@ -10,6 +10,7 @@ from django.utils.http import urlquote_plus from django.utils import simplejson from django.utils.translation import ugettext_lazy as _ from django.views.decorators.vary import vary_on_headers +from honeypot.decorators import verify_honeypot_value class LazyEncoder(simplejson.JSONEncoder): @@ -76,6 +77,7 @@ class AjaxableFormView(object): formname = "form" form_prefix = None full_template = "ajaxable/form_on_page.html" + honeypot = False @method_decorator(vary_on_headers('X-Requested-With')) def __call__(self, request, *args, **kwargs): @@ -86,6 +88,11 @@ class AjaxableFormView(object): form_kwargs['prefix'] = self.form_prefix if request.method == "POST": + if self.honeypot: + response = verify_honeypot_value(request, None) + if response: + return response + # do I need to be logged in? if self.POST_login and not request.user.is_authenticated(): return require_login(request) @@ -136,6 +143,7 @@ class AjaxableFormView(object): context = { self.formname: form, "title": title, + "honeypot": self.honeypot, "placeholdize": self.placeholdize, "submit": self.submit, "response_data": response_data,