hserver-fahrradboerse/hServer/packages/derkleinebasar/verkauf.py

62 lines
1.5 KiB
Python

from hserver.api import WebObject,Persistence,WebFolder,WebCallable
import hserver
import Templates
import uuid
import qrcode
import datetime
class Verkauf(WebObject,Persistence):
def __init__(self):
WebObject.__init__(self)
self.setDefault("verkauf")
self.artikel = {}
self.bezahlt = False
def _verkauf(self,request,o=None):
if not self.bezahlt:
if ("artikelid" in request.getForm()) and not (request.getForm()["artikelid"].value()==""):
try:
a = getattr( self._aq_parent._aq_parent.artikel, request.getForm()["artikelid"].value())._aq_object
if a is not None:
if a in self.artikel:
request.message = "Artikel bereits gescannt!"
else:
if a.verkauft:
request.message = "Artikel wurde bereits verkauft!"
else:
self.artikel[ a ] = a.preis;
except Exception as e:
request.message = "Artikel nicht gefunden!"
print(e)
for a in self.artikel:
ea = "erloes_%s" % (a.id,)
if ea in request.getForm():
self.artikel[a] = float(request.getForm()[ea].value())
if ("action" in request.getForm()):
ac = request.getForm()["action"].value()
if ac=="BEZAHLT":
for a in self.artikel:
a.verkauft = True
a.erloes = self.artikel[a]
a.quittung = self._aq_name
self.bezahlt = True
self.zeit = str(datetime.datetime.now())
if self.bezahlt:
Templates.quittung_html(request,o)
else:
Templates.verkauf_html(request,o)
verkauf = WebCallable(method=_verkauf)