##// END OF EJS Templates
Logo rebranding
Logo rebranding

File last commit:

r1993:564f7dbe default
r2150:532ef623 tip default
Show More
base.py
32 lines | 763 B | text/x-python | PythonLexer
from django.db import transaction
from django.views.generic import View
from boards import utils, settings
from boards.models.user import Ban
BAN_REASON_SPAM = 'Autoban: spam bot'
CONTEXT_FORM = 'form'
class BaseBoardView(View):
def get_context_data(self, **kwargs):
return dict()
@transaction.atomic
def _ban_current_user(self, request):
"""
Add current user to the IP ban list
"""
ip = utils.get_client_ip(request)
whitelist = settings.get_list('Forms', 'BanWhitelist')
if not ip in whitelist:
ban, created = Ban.objects.get_or_create(ip=ip)
if created:
ban.can_read = False
ban.reason = BAN_REASON_SPAM
ban.save()