1 {% extends basetemplate %}
3 {% load i18n humanize admin_static %}
5 {% block subtitle %}{% trans "Moderation" %}{% endblock %}
6 {% block pagename %}{% trans "Moderation" %}{% endblock %}
7 {% block description %}{% trans "These tools allow you to search for undesired behaviours and cheating patterns." %}{% endblock %}
9 {% block admincontent %}
11 <form action="" id="changelist" method="POST">
15 <input type="text" size="3" name="limit" id="filter-limit" value="5" />
16 <select name="sort" id="filter-sort">
17 <option value="high-rep">{% trans "highest ranking users" %}</option>
18 <option value="newer">{% trans "newer users" %}</option>
19 <option value="older">{% trans "older users" %}</option>
20 <option value="ids">{% trans "users with these ids" %}</option>
22 <span id="filter-ids" style="display: none">
23 <input type="text" name="ids" size="15" />
24 <small>{% trans "(Comma separated list of user ids)" %}</small>
26 <input type="submit" value="{% trans "Go" %}" />
29 <script type="text/javascript">
31 $limit = $('#filter-limit');
32 $sort = $('#filter-sort');
33 $ids = $('#filter-ids');
35 function verify_sort() {
36 if ($sort.val() == "ids") {
46 $sort.change(verify_sort);
50 <table cellspacing="0" width="100%">
51 <caption>{% trans "Possible cheaters" %}</caption>
52 {% for cheater, fakes in cheaters %}
55 <div class="cheater-info">
56 <p><a href="{{ cheater.get_profile_url }}">{{ cheater.username }}</a></p>
57 <p><b>{% trans "Email" %}</b>
58 {% if cheater.email_isvalid %}
59 <img src="{% static 'img/admin/icon-yes.gif' %}" alt="{% trans "Validated" %}" />
61 <img src="{% static 'img/admin/icon-no.gif' %}" alt="{% trans "Not validated" %}" />
63 <a href="mailto: {{ cheater.email }}">{{ cheater.email }}</a></p>
64 <p><b>{% trans "Reputation:" %}</b> {{ cheater.reputation|intcomma }}</p>
66 <table cellspacing="0" width="100%">
69 <th>{% trans "Profile" %}</th>
70 <th>{% trans "Email" %}</th>
71 <th>{% trans "Reputation" %}</th>
72 <th>{% trans "Affecting actions" %}</th>
73 <th>{% trans "Cross ips" %}</th>
74 <th>{% trans "Cheating score" %}</th>
77 <caption>{% trans "Possible fake accounts" %}</caption>
78 {% for fake in fakes %}
80 <td><a href="{{ fake.get_profile_url }}">{{ fake.username }}</a></td>
82 {% if fake.email_isvalid %}
83 <img src="{% static 'img/admin/icon-yes.gif' %}" alt="{% trans "Validated" %}" />
85 <img src="{% static 'img/admin/icon-no.gif' %}" alt="{% trans "Not validated" %}" />
87 <a href="mailto: {{ fake.email }}">{{ fake.email }}</a>
89 <td>{{ fake.reputation|intcomma }}</td>
90 <td>{{ fake.fdata.affect_count }} {% trans "out of" %} {{ fake.fdata.total_actions }} ({{ fake.fdata.action_ratio|stringformat:".2f" }}%)</td>
91 <td>{{ fake.fdata.cross_ip_count }} {% trans "out of" %} {{ fake.fdata.total_ip_count }} ({{ fake.fdata.cross_ip_ratio|stringformat:".2f" }}%)</td>
92 <td>{{ fake.fdata.fake_score|stringformat:".2f" }}</td>