def like(request, content_type, object_id): try: if not request.user.is_authenticated(): raise AccessError mode = request.POST["mode"] content_type = get_object_or_404(ContentType, id=int(content_type)) object_id = int(object_id) try: thelike = Like.objects.get(user=request.user, content_type=content_type, object_id=object_id) except: thelike = Like(user=request.user, content_type=content_type, object_id=object_id) thelike.save() if mode == "like": if not thelike.like: thelike.like = True thelike.dislike = False like_en = True else: thelike.like = False like_en = False dislike_en = False else: if not thelike.dislike: thelike.dislike = True thelike.like = False dislike_en = True else: thelike.dislike = False dislike_en = False like_en = False thelike.save() karma = thelike.content_object.karma() payload = {"success": True, "karma": karma, "liked": like_en, "disliked": dislike_en} except AccessError: payload = {"success": False, "error": "Not allowed"} except: payload = {"success": False} return AjaxLazyAnswer(payload)
def like(request, content_type, object_id): try: if not request.user.is_authenticated(): raise AccessError mode = request.POST['mode'] content_type = ContentType.objects.get_for_id(int(content_type)) object_id = int(object_id) if content_type == ContentType.objects.get_for_model(get_user_model()): if object_id == request.user.pk: raise AccessError else: obj = content_type.get_object_for_this_type(pk=object_id) if obj.user == request.user: raise AccessError try: thelike = Like.objects.get(user=request.user, content_type=content_type, object_id=object_id) except: thelike = Like(user=request.user, content_type=content_type, object_id=object_id) thelike.save() if mode == 'like': if not thelike.like: thelike.like = True thelike.dislike = False like_en = True else: thelike.like = False like_en = False dislike_en = False else: if not thelike.dislike: thelike.dislike = True thelike.like = False dislike_en = True else: thelike.dislike = False dislike_en = False like_en = False thelike.save() karma = thelike.content_object.karma payload = { 'success': True, 'karma': karma, 'liked': like_en, 'disliked': dislike_en } except AccessError: payload = {'success': False, 'error': 'Not allowed'} except: payload = {'success': False} return ajax_answer_lazy(payload)
def like(request, content_type, object_id): try: if not request.user.is_authenticated(): raise AccessError mode = request.POST['mode'] content_type = get_object_or_404(ContentType, id=int(content_type)) object_id = int(object_id) if content_type == ContentType.objects.get_for_model(get_user_model()): if object_id == request.user.pk: raise AccessError else: obj = content_type.get_object_for_this_type(pk=object_id) if obj.user == request.user: raise AccessError try: thelike = Like.objects.get(user=request.user, content_type=content_type, object_id=object_id) except: thelike = Like(user=request.user, content_type=content_type, object_id=object_id) thelike.save() if mode == 'like': if not thelike.like: thelike.like = True thelike.dislike = False like_en = True else: thelike.like = False like_en = False dislike_en = False else: if not thelike.dislike: thelike.dislike = True thelike.like = False dislike_en = True else: thelike.dislike = False dislike_en = False like_en = False thelike.save() karma = thelike.content_object.karma payload = {'success': True, 'karma': karma, 'liked': like_en, 'disliked': dislike_en} except AccessError: payload = {'success': False, 'error': 'Not allowed'} except: payload = {'success': False} return ajax_answer_lazy(payload)
def like(request, content_type, object_id): try: if not request.user.is_authenticated(): raise AccessError mode = request.POST['mode'] content_type = get_object_or_404(ContentType, id=int(content_type)) object_id = int(object_id) try: thelike = Like.objects.get(user=request.user, content_type=content_type, object_id=object_id) except: thelike = Like(user=request.user, content_type=content_type, object_id=object_id) thelike.save() if mode == 'like': if not thelike.like: thelike.like = True thelike.dislike = False like_en = True else: thelike.like = False like_en = False dislike_en = False else: if not thelike.dislike: thelike.dislike = True thelike.like = False dislike_en = True else: thelike.dislike = False dislike_en = False like_en = False thelike.save() karma = thelike.content_object.karma() payload = {'success': True, 'karma': karma, 'liked': like_en, 'disliked': dislike_en} except AccessError: payload = {'success': False, 'error':'Not allowed'} except: payload = {'success': False} return AjaxLazyAnswer(payload)