##// END OF EJS Templates
Allow speed ban
neko259 -
r1899:0d841c55 default
parent child Browse files
Show More
@@ -0,0 +1,21 b''
1 from django.shortcuts import redirect
2 from django.utils.decorators import method_decorator
3 from django.views.decorators.csrf import csrf_protect
4 from boards.views.base import BaseBoardView, CONTEXT_FORM
5 from boards.views.mixins import DispatcherMixin, PARAMETER_METHOD
6 from boards.models import Post, Ban
7
8
9 class UtilsView(BaseBoardView, DispatcherMixin):
10 @method_decorator(csrf_protect)
11 def get(self, request):
12 self.dispatch_method(request)
13
14 return redirect('index')
15
16
17 def ban_and_delete(self, request):
18 post = Post.objects.get(id=request.GET['post_id'])
19 Ban.objects.get_or_create(ip=post.poster_ip)
20 post.delete()
21
@@ -98,6 +98,13 b''
98 98 window.location = '{% url 'post_sync_data' post.id %}';
99 99 },
100 100 visible: {% if post.global_id_id %}true{% else %}false{% endif %}
101 },
102 banAndDelete: {
103 name: 'Ban and delete',
104 callback: function(key, opt) {
105 window.location = '{% url 'utils' %}?method=ban_and_delete&post_id={{ post.id }}';
106 },
107 visible: {% if post.has_ip %}true{% else %}false{% endif %}
101 108 }
102 109 }
103 110 };
@@ -16,6 +16,7 b' from boards.views.tag_gallery import Tag'
16 16 from boards.views.translation import cached_javascript_catalog
17 17 from boards.views.search import BoardSearchView
18 18 from boards.views.landing import LandingView
19 from boards.views.utils import UtilsView
19 20
20 21
21 22 js_info_dict = {
@@ -53,6 +54,7 b' urlpatterns = ['
53 54 url(r'^tag/(?P<tag_name>\w+)/gallery/$', TagGalleryView.as_view(), name='tag_gallery'),
54 55 url(r'^search/$', BoardSearchView.as_view(), name='search'),
55 56 url(r'^$', LandingView.as_view(), name='landing'),
57 url(r'^utils$', UtilsView.as_view(), name='utils'),
56 58
57 59 # RSS feeds
58 60 url(r'^rss/$', AllThreadsFeed()),
General Comments 0
You need to be logged in to leave comments. Login now