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)
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)