~widelands-dev/widelands-website/trunk

« back to all changes in this revision

Viewing changes to check_input/views.py

  • Committer: Holger Rapp
  • Date: 2019-06-21 18:34:42 UTC
  • mfrom: (540.1.3 update_ops_script)
  • Revision ID: sirver@gmx.de-20190621183442-y2ulybzr0rdvfefd
Adapt the update script for the new server.

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
from django.shortcuts import render
 
2
from django.shortcuts import get_object_or_404
 
3
from django.http import HttpResponseRedirect
 
4
from django.conf import settings
 
5
from django.contrib.auth import logout
 
6
from django.contrib.auth.models import User
 
7
from check_input.models import SuspiciousInput
 
8
 
 
9
 
 
10
def moderate_info(request):
 
11
    """Redirect to the moderate comments info page."""
 
12
    
 
13
    # We need the try to catch logged out users
 
14
    try:
 
15
        hidden_posts_count = SuspiciousInput.objects.filter(
 
16
            user=request.user).count()
 
17
    except TypeError:
 
18
        return HttpResponseRedirect('/')
 
19
 
 
20
    # Don't make the page accesible through browsers addressbar
 
21
    if hidden_posts_count == 0:
 
22
        return HttpResponseRedirect('/')
 
23
 
 
24
    if hidden_posts_count >= settings.MAX_HIDDEN_POSTS:
 
25
        user = get_object_or_404(User, username=request.user)
 
26
        # Set the user inactive so he can't login
 
27
        user.is_active = False
 
28
        user.save()
 
29
        # Log the user out
 
30
        logout(request)
 
31
    
 
32
    context={
 
33
        'max_count': settings.MAX_HIDDEN_POSTS,
 
34
        'act_count': hidden_posts_count,
 
35
    }
 
36
    return render(request, 'check_input/moderate_info.html', context=context)