def vote(request, link_id=0, vote=False): current_link = False link = Link() if not request.user.is_authenticated(): message = _("Please login first") else: link_id = link.b62_id(link_id) current_link = Link.objects.get(pk=link_id) current_author = Author.objects.get(user=request.user.pk) like = Like.objects.filter(link__exact=link_id, author__exact=request.user.pk) if not like: #To get track of votes we keep all the vote as single data like = Like(link=current_link, author=current_author, point=int(vote)) like.save() message = _("Thank you!") #To avoid load we also save the vote total in Link model if int(vote)==True: current_link.positive += 1 else: current_link.negative += 1 if current_link.positive - current_link.negative <= settings.MODERATION_LEVEL: current_link.status = "denied" current_link.save() else: message = _("One vote per Link") return render_to_response('link5/link_vote.html', {"message": message, "link": current_link}, context_instance=RequestContext(request))
def linkpreviewredirect(request, link_id): link = Link() try: link = Link.objects.get(pk=link_id) return HttpResponseRedirect('/%s/%s/' % (link.id_b62, link.title_for_url)) except: try: link_id = link.b62_id(link_id) link = Link.objects.get(pk=link_id) return HttpResponseRedirect('/%s/%s/' % (link.id_b62, link.title_for_url)) except: pass raise Http404(_("Cannot find link..."))
def linkdelete(request, link_id): try: link = Link() link_id = link.b62_id(link_id) link = Link.objects.get(pk=link_id) author = Author.objects.get(user=request.user.pk) if link.author.pk == author.pk: link.delete() messages.info(request,_('Link deleted master!')) except: messages.info(request,_('Error, delete failed')) return home(request)
def linkpreview(request, link_id, title_url = False): link = Link() try: link_id = link.b62_id(link_id) link = Link.objects.get(pk=link_id) if not title_url or link.title_for_url != title_url: return HttpResponseRedirect('/%s/%s/' % (link.id_b62, link.title_for_url)) like = Like.objects.filter(link__exact=link_id).count() comments = Comment.objects.filter(link__exact=link_id).order_by("created_at").select_related() form = CommentForm() if not request.GET.get("ajax", False): return home(request, link_comment=link, comment_form = form) return render_to_response('link5/link_view.html', {'link_comment': link, 'comments': comments, 'comment_form': form, "ANONYMOUS_POST": settings.ANONYMOUS_POST, "RECAPCHA_PUBLIC": settings.RECAPCHA_PUBLIC}, context_instance=RequestContext(request)) except: raise Http404(_("Cannot find link..."))