def use(request): """Use selected item (if it is usable) from users inventory""" req = json.load(reader(request)) student = Student.objects.get(user=request.user) avatar = Avatar.objects.get(student=student) item = Item.objects.get(id=req['item_to_use']) if not Possession.objects.all().filter(avatar=avatar, item=item): return HttpResponse('') Possession.objects.filter(avatar=avatar, item=item).delete() return HttpResponse('')
def sell(request): """Transfer the selected item from user's inventory to the shop. User recieves full items price""" req = json.load(reader(request)) student = Student.objects.get(user=request.user) avatar = Avatar.objects.get(student=student) item = Item.objects.get(id=req['item_to_sell']) if not Possession.objects.all().filter(avatar=avatar, item=item): return HttpResponse('') Possession.objects.filter(avatar=avatar, item=item).delete() avatar.point_balance += item.price avatar.save() return HttpResponse('')
def buy(request): """Transfer selected item from the shop to user's inventory and charges him accordingly""" req = json.load(reader(request)) student = Student.objects.get(user=request.user) avatar = Avatar.objects.get(student=student) item = Item.objects.get(id=req['item_to_buy']) if item.price > avatar.point_balance: return HttpResponse('') if not Possession.objects.all().filter(avatar=avatar, item=item): avatar.point_balance -= item.price avatar.save() b = Possession(avatar=avatar, item=item) b.save() return HttpResponse('')