User action logging for discussions
This commit is contained in:
parent
5d3e81fe78
commit
ed696a99f5
@ -28,7 +28,7 @@ from django.utils.text import slugify
|
|||||||
|
|
||||||
from guardian.decorators import permission_required_or_403
|
from guardian.decorators import permission_required_or_403
|
||||||
|
|
||||||
from LandingPage.models import Show, DiscussionBoard, DiscussionReply, DiscussionVote, Ban, Report
|
from LandingPage.models import Show, DiscussionBoard, DiscussionReply, DiscussionVote, Ban, Report, UserAction
|
||||||
from . import forms
|
from . import forms
|
||||||
|
|
||||||
import datetime
|
import datetime
|
||||||
@ -176,6 +176,9 @@ def BoardForm(req, abbr):
|
|||||||
new_post = DiscussionReply(user=user,board=new_board,body=form_data['body'])
|
new_post = DiscussionReply(user=user,board=new_board,body=form_data['body'])
|
||||||
new_post.save()
|
new_post.save()
|
||||||
|
|
||||||
|
act = UserAction(user=user,show=show,act_type=0,url='%s/discuss/board/%d-%s'%(show.url(), new_board.pk, slugify(form_data['title'])))
|
||||||
|
act.save()
|
||||||
|
|
||||||
return HttpResponseRedirect(show.url() + '/discuss/board/%d-%s'%(new_board.pk, slugify(form_data['title'])))
|
return HttpResponseRedirect(show.url() + '/discuss/board/%d-%s'%(new_board.pk, slugify(form_data['title'])))
|
||||||
else:
|
else:
|
||||||
ctx['error'] = 'Invalid fields!'
|
ctx['error'] = 'Invalid fields!'
|
||||||
@ -227,13 +230,15 @@ def BoardReplyForm(req, abbr, bid):
|
|||||||
|
|
||||||
if err_res:
|
if err_res:
|
||||||
return render(req, "board_reply.html", ctx)
|
return render(req, "board_reply.html", ctx)
|
||||||
print(form_data['body'])
|
|
||||||
|
|
||||||
new_reply = form.save(commit=False)
|
new_reply = form.save(commit=False)
|
||||||
new_reply.user = user
|
new_reply.user = user
|
||||||
new_reply.board = board
|
new_reply.board = board
|
||||||
new_reply.save()
|
new_reply.save()
|
||||||
|
|
||||||
|
act = UserAction(user=user,show=show,act_type=1,url='%s/discuss/board/%d-%s?findReply=%d'%(show.url(), new_board.pk, slugify(form_data['title']), new_reply.pk))
|
||||||
|
act.save()
|
||||||
|
|
||||||
return HttpResponseRedirect(show.url() + '/discuss/board/%d-%s?findReply=%d'%(board.pk, slugify(board.title), new_reply.pk))
|
return HttpResponseRedirect(show.url() + '/discuss/board/%d-%s?findReply=%d'%(board.pk, slugify(board.title), new_reply.pk))
|
||||||
else:
|
else:
|
||||||
ctx['error'] = 'Invalid fields!'
|
ctx['error'] = 'Invalid fields!'
|
||||||
@ -273,6 +278,10 @@ class BoardVoteSubmit(LoginRequiredMixin, View):
|
|||||||
if not vote.positive == pos_bool:
|
if not vote.positive == pos_bool:
|
||||||
vote.positive = pos_bool
|
vote.positive = pos_bool
|
||||||
vote.save()
|
vote.save()
|
||||||
|
|
||||||
|
act = UserAction(user=user,show=show,act_type=6 + int(positive),url='%s/discuss/board/%d-%s?findReply=%d'%(showurl,
|
||||||
|
reply.board.pk, slugify(reply.board.title), reply.pk))
|
||||||
|
act.save()
|
||||||
else:
|
else:
|
||||||
vote.delete()
|
vote.delete()
|
||||||
else:
|
else:
|
||||||
@ -283,6 +292,10 @@ class BoardVoteSubmit(LoginRequiredMixin, View):
|
|||||||
)
|
)
|
||||||
new_vote.save()
|
new_vote.save()
|
||||||
|
|
||||||
|
act = UserAction(user=user,show=show,act_type=6 + int(positive),url='%s/discuss/board/%d-%s?findReply=%d'%(showurl, reply.board.pk,
|
||||||
|
slugify(reply.board.title), reply.pk))
|
||||||
|
act.save()
|
||||||
|
|
||||||
return HttpResponseRedirect('%s/discuss/board/%d-%s?findReply=%d'%(showurl, reply.board.pk, slugify(reply.board.title), reply.pk))
|
return HttpResponseRedirect('%s/discuss/board/%d-%s?findReply=%d'%(showurl, reply.board.pk, slugify(reply.board.title), reply.pk))
|
||||||
|
|
||||||
@login_required
|
@login_required
|
||||||
@ -368,6 +381,9 @@ def BoardDelete(req, abbr, bid):
|
|||||||
board = get_object_or_404(DiscussionBoard, pk=bid)
|
board = get_object_or_404(DiscussionBoard, pk=bid)
|
||||||
showurl = get_show_url(abbr)
|
showurl = get_show_url(abbr)
|
||||||
|
|
||||||
|
act = UserAction(user=req.user,show=board.show,act_type=4,url='#%s by %s'%(board.title, board.user.display_name))
|
||||||
|
act.save()
|
||||||
|
|
||||||
DiscussionBoard.objects.filter(pk=board.pk).delete()
|
DiscussionBoard.objects.filter(pk=board.pk).delete()
|
||||||
|
|
||||||
return HttpResponseRedirect('%s/discuss' % (board.show.url()))
|
return HttpResponseRedirect('%s/discuss' % (board.show.url()))
|
||||||
@ -376,8 +392,12 @@ def BoardDelete(req, abbr, bid):
|
|||||||
def BoardDeleteReply(req, abbr, rid):
|
def BoardDeleteReply(req, abbr, rid):
|
||||||
reply = get_object_or_404(DiscussionReply, pk=rid)
|
reply = get_object_or_404(DiscussionReply, pk=rid)
|
||||||
|
|
||||||
|
act = UserAction(user=req.user,show=reply.board.show,act_type=4,url='%s/discuss/board/%d-%s?findReply=%d'%(reply.board.show.url(),
|
||||||
|
reply.board.pk, slugify(reply.board.title), reply.pk))
|
||||||
|
act.save()
|
||||||
|
|
||||||
delete = not reply.deleted
|
delete = not reply.deleted
|
||||||
|
|
||||||
DiscussionReply.objects.filter(pk=reply.pk).update(deleted=delete)
|
DiscussionReply.objects.filter(pk=reply.pk).update(deleted=delete)
|
||||||
|
|
||||||
return HttpResponseRedirect('%s/discuss/board/%d-%s'%(reply.show.url(), reply.board.pk, slugify(reply.board.title)))
|
return HttpResponseRedirect('%s/discuss/board/%d-%s'%(reply.board.show.url(), reply.board.pk, slugify(reply.board.title)))
|
||||||
|
Reference in New Issue
Block a user