# -*- coding: utf-8 -*- from django.shortcuts import render_to_response from django.template import RequestContext from django.contrib.auth.decorators import login_required from django.http import HttpResponseRedirect import datetime from models import Buyable, Purchase @login_required def showItems(request): # FIXME: Implement pagination here items = Buyable.objects.all() return render_to_response("buyables/showItems.html", {'items': items}, RequestContext(request)) @login_required def showItem(request, itemid): try: item = Buyable.objects.get(id=itemid) except Buyable.DoesNotExist: # baww, kein item mit der id :( (oder mutax trollt rum) return HttpResponseRedirect("/buy/") return render_to_response("buyables/showItem.html", {'item': item}, RequestContext(request)) @login_required def buyItem(request, itemid, buymode=""): try: item = Buyable.objects.get(id=itemid) except Buyable.DoesNotExist: # oh no! kein item mit der id :( mutax trollt rum) return HttpResponseRedirect("/store/buy/") """ tristate variable buymode: "" only item "with/deposit" item and deposit "only/deposit" only deposit """ purchase = None deposit = None if buymode == "" or buymode == "with/deposit": purchase = Purchase(user=request.user, isDeposit=False) purchase.create(item) purchase.save() # TANNEK! if buymode == "with/dopsit" or buymode == "only/deposit": if buymode == "with/deposit" or buymode == "only/deposit": deposit = Purchase(user=request.user, isDeposit=True) deposit.create(item) deposit.save() if purchase == None: purchase = deposit deposit = None return HttpResponseRedirect("/store/bought/%s/%s" % (purchase.id, deposit and str(deposit.id) or "")) @login_required def boughtItem(request, item1id, item2id=None): if item1id == item2id: item2id = None error = None try: item1 = Purchase.objects.get(id=item1id) if item2id: item2 = Purchase.objects.get(id=item2id) else: item2 = None except Purchase.DoesNotExist: item1 = None item2 = None error = "Konnte gekaufte Objekte nicht wiederfinden" if error == None and (item1.user != request.user or (item2 != None and (item2.user != request.user))): item1 = item2 = None error = u"Diese Items gehören dir nicht" return render_to_response("buyables/itemBought.html", {'item1': item1, 'item2': item2, 'error': error}, RequestContext(request))