def obj_create(self, bundle, **kwargs): """ Posts a new favorite """ try: try: user = User.objects.get(id=bundle.data["user_id"]) company = Company.objects.get(id=bundle.data["company_id"]) except: user = User.objects.get(id=bundle.data["user"]) company = Company.objects.get(id=bundle.data["company"]) print "1" if bundle.data['unfavorite']: print "2" a = Favorite.objects.filter(user=user).filter(company=company) a.delete() else: print "3" old_favorite = Favorite.objects.filter(user=user, company=company) if len(old_favorite) > 0: print "4" bundle.obj = old_favorite[0] else: print "5" new_favorite = Favorite(user=user, company=company) new_favorite.save() bundle.obj = new_favorite return bundle except Exception, e: print e
def favorite(request): serialized = FavoriteSerializer(data=request.data) if serialized.is_valid(): access_token = serialized.validated_data['access_token'] reddit_id = serialized.validated_data['reddit_id'] tag_name = serialized.validated_data['tag_name'] token = Token.objects.get(key=access_token) user = User.objects.get(id=token.user_id) redditpost = RedditPost.objects.get(reddit_id=reddit_id) favorite = Favorite(user=user, access_token=access_token, reddit_id=reddit_id, permalink=redditpost.permalink, url=redditpost.url, author=redditpost.url, tag_name=tag_name) favorite.save() return Response("Favorite saved!", status=status.HTTP_201_CREATED) else: return Response(serialized._errors, status=status.HTTP_400_BAD_REQUEST)