Example #1
0
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))
Example #2
0
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..."))
Example #3
0
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)
Example #4
0
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..."))