def write(self): t = Template(file='templates/edit.tmpl') reservation = self._page._db.loadReservationOID(self._page._login.getOid(), self._oid) if reservation: t.reservation = reservation t.message = None t.goodmessage = None if self._dic and self._dic.has_key('submit'): (sh,sm) = extractTuple(self._dic['start']) (eh,em) = extractTuple(self._dic['end']) desc = self._dic['description'] t.message = '' ok = True if sh == None: t.message += "Ungültige Startzeit" ok = False if eh == None: t.message += "Ungültige Endzeit" ok = False if ok: if sh > eh or sh == eh and sm >= em: t.message += "Startzeit liegt nach Endzeit" ok = False if ok: olds = reservation._from newstart = datetime(olds.year, olds.month, olds.day, sh, sm, 0) olde = reservation._to newend = datetime(olde.year, olde.month, olde.day, eh, em, 0) reservation._from = newstart reservation._to = newend reservation._description = desc reservation.update() t.goodmessage = "Ok, Änderungen vorgenommen" else: t.reservation = None return t
def write(self): t = Template(file='templates/new.tmpl') t.message = [] t.goodmessage = '' t.showform = True if self._dic and self._dic.has_key('submit'): t.data = { 'day':self._dic['day'], 'month':self._dic['month'], 'year':self._dic['year'], 'start':self._dic['start'], 'end':self._dic['end'], 'description':self._dic['description'] } day = int(self._dic['day']) month = int(self._dic['month']) year = int(self._dic['year']) (sh, sm) = extractTuple(self._dic['start']) (eh, em) = extractTuple(self._dic['end']) desc = self._dic['description'] ok = True if sh == None: t.message.append('Ungültige Startzeit') ok = False if eh == None: t.message.append('Ungültige Endzeit') ok = False if ok: if sh > eh or sh == eh and sm >= em: t.message.append('Startzeit liegt nach Endzeit') ok = False if not (1 <= day <= 31 ): t.message.append('Ungültiger Tag') ok = False if not ( 1 <= month <= 12 ): t.message.append('Ungültiger Monat') ok = False if not ( 2005 <= year <= 2100 ): t.message.append('Ungültiges Jahr') ok = False if ok: when = datetime(year, month, day, eh, em, 0) if when < datetime.now(): t.message.append('Termin liegt in der Vergangenheit') ok = False if ok: start = datetime(year, month, day, sh, sm, 0) end = datetime(year, month, day, eh, em, 0) self._page._db.newReservation(self._page._login.getOid(), start, end, desc) t.goodmessage = "Der Termin wurde reserviert" t.showform = False else: t.data = { 'day':datetime.now().day, 'month':datetime.now().month, 'year':datetime.now().year, 'start':'16:00', 'end':'22:00', 'description':'' } return t