From 2ee32ae1f3f73ed78b92e74c18323303028de65e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Felipe=20Mart=C3=ADn?= Date: Fri, 11 Sep 2015 18:46:36 +0200 Subject: [PATCH] Fixed keeping trade flag when you dont have an item --- amiibofindr/apps/amiibo/services.py | 6 ++++++ amiibofindr/apps/amiibo/views.py | 11 +++++++---- 2 files changed, 13 insertions(+), 4 deletions(-) diff --git a/amiibofindr/apps/amiibo/services.py b/amiibofindr/apps/amiibo/services.py index 045ec1e..bdd4b77 100644 --- a/amiibofindr/apps/amiibo/services.py +++ b/amiibofindr/apps/amiibo/services.py @@ -3,6 +3,11 @@ from . import models +def is_owned_by(amiibo, user): + relation, created = models.UserAmiibo.objects.get_or_create( + _amiibo=amiibo, user=user) + return relation.owned + def user_add_owned(user, amiibo): relation, created = models.UserAmiibo.objects.get_or_create( _amiibo=amiibo, user=user) @@ -14,6 +19,7 @@ def user_remove_owned(user, amiibo): relation, created = models.UserAmiibo.objects.get_or_create( _amiibo=amiibo, user=user) relation.own = False + relation.trade = False relation.save() def user_add_wishlist(user, amiibo): diff --git a/amiibofindr/apps/amiibo/views.py b/amiibofindr/apps/amiibo/views.py index 27dcdf6..4b2f365 100644 --- a/amiibofindr/apps/amiibo/views.py +++ b/amiibofindr/apps/amiibo/views.py @@ -108,16 +108,19 @@ class UserAmiiboView(View): # TODO: Add message def add_trade(self, request, amiibo): - services.user_add_trade(request.user, amiibo) + if services.is_owned_by(amiibo, request.user): + services.user_add_trade(request.user, amiibo) # TODO: Add message def remove_trade(self, request, amiibo): - services.user_remove_trade(request.user, amiibo) + if services.is_owned_by(amiibo, request.user): + services.user_remove_trade(request.user, amiibo) # TODO: Add message def toggle_trade(self, request, amiibo): - services.user_toggle_trade(request.user, amiibo) - # TODO: Add message + if services.is_owned_by(amiibo, request.user): + services.user_toggle_trade(request.user, amiibo) + # TODO: Add message def add_owned(self, request, amiibo): services.user_add_owned(request.user, amiibo)