From 1bae5d984630f451e8dfbab383593172df724cf3 Mon Sep 17 00:00:00 2001 From: Evgeny Fadeev Date: Mon, 14 Jul 2014 18:47:37 -0300 Subject: fixed ip recording when making answers --- askbot/middleware/forum_mode.py | 2 +- askbot/models/post.py | 11 ++++++----- askbot/utils/decorators.py | 2 +- askbot/views/moderation.py | 4 ++-- askbot/views/writers.py | 6 +++--- 5 files changed, 13 insertions(+), 12 deletions(-) diff --git a/askbot/middleware/forum_mode.py b/askbot/middleware/forum_mode.py index 5fd2bda3..e01e5f19 100644 --- a/askbot/middleware/forum_mode.py +++ b/askbot/middleware/forum_mode.py @@ -53,7 +53,7 @@ class ForumModeMiddleware(object): resolver_match = ResolverMatch(resolve(request.path)) internal_ips = getattr(settings, 'ASKBOT_INTERNAL_IPS', None) - if internal_ips and request.META['REMOTE_ADDR'] in internal_ips: + if internal_ips and request.META.get('REMOTE_ADDR') in internal_ips: return None if is_view_allowed(resolver_match.func): diff --git a/askbot/models/post.py b/askbot/models/post.py index 07cadd19..594e1d9f 100644 --- a/askbot/models/post.py +++ b/askbot/models/post.py @@ -236,11 +236,12 @@ class PostManager(BaseQuerySetManager): parse_results = post.parse_and_save(author=author, is_private=is_private) post.add_revision( - author = author, - revised_at = added_at, - text = text, - comment = unicode(const.POST_STATUS['default_version']), - by_email = by_email + author=author, + revised_at=added_at, + text=text, + comment=unicode(const.POST_STATUS['default_version']), + by_email=by_email, + ip_addr=ip_addr ) from askbot.models import signals diff --git a/askbot/utils/decorators.py b/askbot/utils/decorators.py index 815e6e2d..619cf9bc 100644 --- a/askbot/utils/decorators.py +++ b/askbot/utils/decorators.py @@ -195,7 +195,7 @@ def check_spam(field): if askbot_settings.USE_AKISMET and request.method == "POST": comment = smart_str(request.POST[field]) - data = {'user_ip': request.META["REMOTE_ADDR"], + data = {'user_ip': request.META.get('REMOTE_ADDR'), 'user_agent': request.environ['HTTP_USER_AGENT'], 'comment_author': smart_str(request.user.username), } diff --git a/askbot/views/moderation.py b/askbot/views/moderation.py index fc88210a..eb68d111 100644 --- a/askbot/views/moderation.py +++ b/askbot/views/moderation.py @@ -191,9 +191,9 @@ def moderate_post_edits(request): #to make sure to not block the admin and #in case REMOTE_ADDR is a proxy server - not #block access to the site - my_ip = request.META['REMOTE_ADDR'] + my_ip = request.META.get('REMOTE_ADDR') if my_ip in ips: - ips.remove(request.META['REMOTE_ADDR']) + ips.remove(my_ip) from stopforumspam.models import Cache already_blocked = Cache.objects.filter(ip__in=ips) diff --git a/askbot/views/writers.py b/askbot/views/writers.py index aef6ade3..55c11ee9 100644 --- a/askbot/views/writers.py +++ b/askbot/views/writers.py @@ -283,7 +283,7 @@ def ask(request):#view used to ask a new question is_anonymous = ask_anonymously, text = text, added_at = timestamp, - ip_addr = request.META['REMOTE_ADDR'], + ip_addr = request.META.get('REMOTE_ADDR'), ) return HttpResponseRedirect(url_utils.get_login_url()) @@ -660,7 +660,7 @@ def answer(request, id, form_class=forms.AnswerForm):#process a new answer wiki=form.cleaned_data['wiki'], text=form.cleaned_data['text'], session_key=request.session.session_key, - ip_addr=request.META['REMOTE_ADDR'], + ip_addr=request.META.get('REMOTE_ADDR'), ) return HttpResponseRedirect(url_utils.get_login_url()) @@ -797,7 +797,7 @@ def edit_comment(request): comment_post=comment_post, body_text=form.cleaned_data['comment'], suppress_email=form.cleaned_data['suppress_email'], - ip_addr=request.META['REMOTE_ADDR'] + ip_addr=request.META.get('REMOTE_ADDR'), ) is_deletable = template_filters.can_delete_comment( -- cgit v1.2.3-1-g7c22