Exemple #1
0
def add_or_remove(request,target_model,pk):
    if request.method=="POST":
        user = request.user
        if not user.is_authenticated():
            form = ""
            request.session['Tip']=u'   you are anonymous,Please login!'
            request.method="GET"
            return ajax_login(request,form)

        
        target_model = get_model(*target_model.split('.') or None)
        target_content_type = ContentType.objects.get_for_model(target_model)
        target = target_content_type.get_object_for_this_type(pk=pk)
        # delete it if it's already a faorite
        if user.favorite_set.filter(target_content_type=target_content_type,
                                 target_object_id=pk):
            user.favorite_set.get(target_content_type=target_content_type,
                                     target_object_id=pk).delete()
            status = 'deleted'

        # otherwise, create it
        else:
            user.favorite_set.create(target_content_type=target_content_type,
                                     target_object_id=pk)
            status = 'added'
        
        
        response = {'status': status,'message':[target.pk,Favorite.objects.filter(target_content_type=target_content_type,
                                                         target_object_id=pk).count()]}
        return simplejson.dumps(response)
Exemple #2
0
def ajax_comment(request,form,pk):
    if request.method =='POST':
        form=BKCommentForm(deserialize_form(form))
        bookmark = get_object_or_404(Bookmark, pk=pk)
        if form.is_valid():
            c = form.save(commit=False)
            c.bookmark = bookmark
            c.created_by = request.user
            c.save()
            bookmark.update_num_replies()
            num_replies=bookmark.num_replies
            return simplejson.dumps({'status':'Success','message':[bookmark.pk,num_replies]})
        else:
            #dajax.remove_css_class('#signin_form input', 'error')
            #for error in form.errors:
            #    dajax.add_css_class('#id_%s' % error, 'error')
            html = render(request, 'authapi/comment.html', {'form':form,'bk':bookmark})
            return simplejson.dumps({'status':'Error','message':html.content})
    
    if request.method == 'GET':
        if request.user.is_authenticated():
            bookmark = get_object_or_404(Bookmark, pk=pk)
            form = BKCommentForm()
            html = render(request, 'authapi/comment.html', {'form':form,'bk':bookmark})
            return simplejson.dumps({'message':html.content})    
        else:
            request.session['Tip']=u'   you are anonymous,Please login!'
            return ajax_login(request,form)