##// END OF EJS Templates
If file type is unknown, treat it as application/octet-stream
If file type is unknown, treat it as application/octet-stream

File last commit:

r968:29fca307 default
r1579:e6e99b89 default
Show More
base.py
30 lines | 638 B | text/x-python | PythonLexer
neko259
Rewriting views to class-based
r542 from django.db import transaction
from django.views.generic import View
neko259
Implemented search over posts. Moved get_user and get_theme to utils module. Use context processors instead of creating context in the base view. Removed unused imports in some modules
r690
neko259
Rewriting views to class-based
r542 from boards import utils
neko259
Implemented search over posts. Moved get_user and get_theme to utils module. Use context processors instead of creating context in the base view. Removed unused imports in some modules
r690 from boards.models.user import Ban
neko259
Rewriting views to class-based
r542
BAN_REASON_SPAM = 'Autoban: spam bot'
neko259
Code cleanup part 2
r722 CONTEXT_FORM = 'form'
neko259
Rewriting views to class-based
r542
class BaseBoardView(View):
def get_context_data(self, **kwargs):
neko259
Fixed tag threads view
r919 return dict()
neko259
Rewriting views to class-based
r542
@transaction.atomic
def _ban_current_user(self, request):
"""
Add current user to the IP ban list
"""
ip = utils.get_client_ip(request)
ban, created = Ban.objects.get_or_create(ip=ip)
if created:
ban.can_read = False
ban.reason = BAN_REASON_SPAM
ban.save()