def _addPayment(var): ROP = util.RESOP(var) r = util.newResAddPayment() quantity = var["quantity"] da = con.toDate(var["paymentdate"]) descr = var["descr"] price = con.toB(var["price"]) # price = toB(1.00) pricelist = con.toB(var["pricefromlist"]) total = con.toB(var["total"]) # total = toB(1.01) room = None guest = None rese = var["resename"] vat = var["vat"] serv = var["service"] if var[RLIST + "_lineset"]: room = var["roomid"] guest = var["guest_name"] if room == None: room = var["JDATELINE_LINE"] if guest == None: guest = util.RESFORM(var).findElem(rese).getCustomerName() r.setQuantity(quantity) r.setPrice(price) r.setPriceList(pricelist) r.setPriceTotal(total) r.setServDate(da) r.setDescription(descr) r.setService(serv) r.setGuestName(guest) r.setRoomName(room) if serv == None: r.setVat(vat) ROP.addResAddPayment(rese, r)
def setAdvaData(self,reservation) : reservation.setAdvanceDeposit(con.toB(self.var[self.__advapay])) reservation.setTermOfAdvanceDeposit(con.toDate(self.var[self.__advadate])) if self.__resepay : reservation.setAdvancePayment(con.toB(self.var[self.__resepay])) if self.__resedate : pdate = self.var[self.__resedate] if pdate == None : pdate = con.today() reservation.setDateofadvancePayment(con.toDate(pdate))
def setAdvaData(self, reservation): reservation.setAdvanceDeposit(con.toB(self.var[self.__advapay])) reservation.setTermOfAdvanceDeposit( con.toDate(self.var[self.__advadate])) if self.__resepay: reservation.setAdvancePayment(con.toB(self.var[self.__resepay])) if self.__resedate: pdate = self.var[self.__resedate] if pdate == None: pdate = con.today() reservation.setDateofadvancePayment(con.toDate(pdate))
def dialogaction(action,var): cutil.printVar("testset",action,var) if action == "set" : var["glob1"] = "Hello" var["globint"] = None var["id"] = None if action == "setmap" : map = {} map['d1'] = datetime.date(2014,5,6) map['i1'] = 555 map['null'] = None map['h1'] = 'Hello' map['b1'] = con.toB(5) R.saveMap(var,map) if action == "getmap" : map = R.getMap(var) print map d = map['d1'] print d,type(d) assert datetime.date == type(d) l = map['i1'] print l,type(l) assert long == type(l) bb = map['b1'] print bb,type(bb) assert float == type(bb) var["OK"] = True
def dialogaction(action, var): cutil.printVar("testset", action, var) if action == "set": var["glob1"] = "Hello" var["globint"] = None var["id"] = None if action == "setmap": map = {} map['d1'] = datetime.date(2014, 5, 6) map['i1'] = 555 map['null'] = None map['h1'] = 'Hello' map['b1'] = con.toB(5) R.saveMap(var, map) if action == "getmap": map = R.getMap(var) print map d = map['d1'] print d, type(d) assert datetime.date == type(d) l = map['i1'] print l, type(l) assert long == type(l) bb = map['b1'] print bb, type(bb) assert float == type(bb) var["OK"] = True
def _constructPriceElemList(var): if var["JCHECK_MAP"].has_key(PRICEOTHERS) : values = cutil.concatDict(var["JCHECK_MAP"][_PRICES],var["JCHECK_MAP"][PRICEOTHERS]) else : values = var["JCHECK_MAP"][_PRICES] seq = util.SERVICES(var).getList() a = cutil.createArrayList() for s in seq : id = s.getName() if values.has_key(id) : p = HotelPriceElem() p.setService(id) notnull = False for v in values[id] : if v["val"] == None : continue if v["id"] == _PRICE : p.setPrice(con.toB(v["val"])) if v["id"] == _PRICECHILDREN : p.setChildrenPrice(con.toB(v["val"])) if v["id"] == _PRICEEXTRABDEDS : p.setExtrabedsPrice(con.toB(v["val"])) notnull = True if notnull : a.add(p) return a
def _constructPriceElemList(var): if var["JCHECK_MAP"].has_key(PRICEOTHERS): values = cutil.concatDict(var["JCHECK_MAP"][_PRICES], var["JCHECK_MAP"][PRICEOTHERS]) else: values = var["JCHECK_MAP"][_PRICES] seq = util.SERVICES(var).getList() a = cutil.createArrayList() for s in seq: id = s.getName() if values.has_key(id): p = HotelPriceElem() p.setService(id) notnull = False for v in values[id]: if v["val"] == None: continue if v["id"] == _PRICE: p.setPrice(con.toB(v["val"])) if v["id"] == _PRICECHILDREN: p.setChildrenPrice(con.toB(v["val"])) if v["id"] == _PRICEEXTRABDEDS: p.setExtrabedsPrice(con.toB(v["val"])) notnull = True if notnull: a.add(p) return a
def _addPayment(var,billName,total,paymentmethod): r = util.RESFORM(var).findElem(rutil.getReseName(var)) RR = resstat.getResStatusR(var,r) li = [] if RR.advancepaymentleft > 0 : payment = min(total,RR.advancepaymentleft) li.append((payment,True)) total = con.minusDecimal(total,payment) if total > 0 : li.append((total,False)) for l in li : p = util.newBillPayment() p.setBillName(billName) p.setPaymentMethod(paymentmethod) p.setDateOfPayment(cutil.toDate(cutil.today())) p.setPaymentTotal(con.toB(l[0])) if (l[1]) : p.setAdvancepayment(True) util.PAYMENTOP(var).addPaymentForBill(billName,p)
def _addPayment(var, billName, total, paymentmethod): r = util.RESFORM(var).findElem(rutil.getReseName(var)) RR = resstat.getResStatusR(var, r) li = [] if RR.advancepaymentleft > 0: payment = min(total, RR.advancepaymentleft) li.append((payment, True)) total = con.minusDecimal(total, payment) if total > 0: li.append((total, False)) for l in li: p = util.newBillPayment() p.setBillName(billName) p.setPaymentMethod(paymentmethod) p.setDateOfPayment(cutil.toDate(cutil.today())) p.setPaymentTotal(con.toB(l[0])) if (l[1]): p.setAdvancepayment(True) util.PAYMENTOP(var).addPaymentForBill(billName, p)
def elempayment(action, var): cutil.printVar("elempayment", action, var) if action == "before" and var["JCRUD_DIALOG"] == "crud_add": var["paymentdate"] = cutil.today() b = BILLLIST(var).findElem(_getPayName(var)) sumtotal = rutil.countTotal(var, b, rutil.getPayments(var)) sumpay = rutil.countPayments(var, _getPayName(var)) acc = con.minusDecimal(sumtotal, sumpay) if acc < 0: acc = None var["paymenttotal"] = acc cutil.setCopy(var, ["paymentdate", "paymenttotal"]) if action == "crud_add" and not var["JCRUD_AFTERCONF"]: var["JYESNO_MESSAGE"] = "Do you want to add payment to this bill ?" var["JMESSAGE_TITLE"] = "" return if action == "crud_add" and var["JCRUD_AFTERCONF"]: p = util.newBillPayment() p.setBillName(_getPayName(var)) p.setPaymentMethod(var["paymethod"]) p.setDateOfPayment(con.toDate(con.today())) p.setPaymentTotal(con.toB(var["paymenttotal"])) PAYMENTOP(var).addPaymentForBill(_getPayName(var), p) var["JCLOSE_DIALOG"] = True _setChanged(var) return if action == "crud_remove" and not var["JCRUD_AFTERCONF"]: var["JYESNO_MESSAGE"] = "Are you sure to remove payment to this bill ?" var["JMESSAGE_TITLE"] = "" return if action == "crud_remove" and var["JCRUD_AFTERCONF"]: id = var["id"] PAYMENTOP(var).removePaymentForBill(_getPayName(var), id) _setChanged(var) var["JCLOSE_DIALOG"] = True
def elempayment(action,var) : cutil.printVar("elempayment",action,var) if action == "before" and var["JCRUD_DIALOG"] == "crud_add" : var["paymentdate"] = cutil.today() b = BILLLIST(var).findElem(_getPayName(var)) sumtotal = rutil.countTotal(var,b,rutil.getPayments(var)) sumpay = rutil.countPayments(var,_getPayName(var)) acc = con.minusDecimal(sumtotal,sumpay) if acc < 0 : acc = None var["paymenttotal"] = acc cutil.setCopy(var,["paymentdate","paymenttotal"]) if action == "crud_add" and not var["JCRUD_AFTERCONF"] : var["JYESNO_MESSAGE"] = "Do you want to add payment to this bill ?" var["JMESSAGE_TITLE"] = "" return if action == "crud_add" and var["JCRUD_AFTERCONF"] : p = util.newBillPayment() p.setBillName(_getPayName(var)) p.setPaymentMethod(var["paymethod"]) p.setDateOfPayment(con.toDate(con.today())) p.setPaymentTotal(con.toB(var["paymenttotal"])) PAYMENTOP(var).addPaymentForBill(_getPayName(var),p) var["JCLOSE_DIALOG"] = True _setChanged(var) return if action == "crud_remove" and not var["JCRUD_AFTERCONF"] : var["JYESNO_MESSAGE"] = "Are you sure to remove payment to this bill ?" var["JMESSAGE_TITLE"] = "" return if action == "crud_remove" and var["JCRUD_AFTERCONF"] : id = var["id"] PAYMENTOP(var).removePaymentForBill(_getPayName(var),id) _setChanged(var) var["JCLOSE_DIALOG"] = True
def toB(value): return con.toB(value)
def dialogaction(action, var): cutil.printVar("testresemail", action, var) if action == "createxml": R = util.ROOMLIST(var) C = util.CUSTOMERLIST(var) RES = util.RESFORM(var) E = util.newHotelRoom() E.setName("R01") R.addElem(E) CC = cust.newCustomer(var) CC.setDescription("I'm the customer") CC = C.addElem(CC) print CC.getName() dt = datetime.date(2014, 1, 2) dl = datetime.timedelta(1) # dto = datetime.date(2010,1,5) # q = rutil.createResQueryElem("R01",dfrom,dto) # print q re = util.newResForm(var) re.setCustomerName(CC.getName()) for i in range(10): r = util.newResAddPayment() r.setNoP(2) r.setPrice(con.toB(100.0)) r.setPriceTotal(con.toB(100.0)) r.setPriceList(con.toB(200.0)) r.setRoomName("R01") r.setVat("7%") r.setResDate(con.toDate(dt)) dt = dt + dl re.getResDetail().add(r) re = RES.addElem(re) print re.getName() s = rpdf.buildXMLReservation(var, re.getName()) print s tt = pdfutil.xsltHtmlS("mailxslt/reseconfirmation.xslt", s) print tt H = hmail.HotelMail(var) # H. def sendMail(self,mtype,resname,custname,subject,content,to,froma,attachList=None,text=True): hh = H.sendMail(0, re.getName(), CC.getName(), "Reservation", tt, "*****@*****.**", "hotel") assert hh != None var["OK"] = True if action == "listxml": H = hmail.HotelMail(var) li = H.getList() assert len(li) == 1 for l in li: print l print l.getName() print l.getReseName() var["OK"] = True if action == "testfailed": H = hmail.HotelMail(var) li = H.getList() h = li[0] # should fail because to space in 'from' address hh = H.sendMail(0, h.getReseName(), h.getCustomerName(), "Reservation", "Hi Hi - good joke", "*****@*****.**", "Java hotel") assert hh != None mailName = hh.getName() print mailName M = H.getCMail(mailName) assert M != None res = M.getSendResult() print res assert res != None var["OK"] = True
def dialogaction(action, var): cutil.printVar("test48", action, var) if action == "test1": resename = var["resename"] R = util.RESFORM(var) ROP = util.RESOP(var) RR = R.findElem(resename) print RR lg = ROP.getResGuestList(resename) for g in lg: print g.getGuestName() gName = lg[0].getGuestName() print gName dli = RR.getResDetail() for l in dli: print g.getRoomName() roomName = dli[0].getRoomName() print roomName S = util.SERVICES(var) se = util.newOtherService(var) se.setName("addse") se.setVat("free") ase = S.addElem(se) rpa = util.newResAddPayment() rpa.setGuestName(gName) rpa.setRoomName(roomName) rpa.setResDate(con.javaDate(2015, 12, 23)) rpa.setPriceList(con.toB(100.56)) rpa.setPrice(con.toB(50)) rpa.setPriceTotal(con.toB(200)) rpa.setService(ase.getName()) arpa = ROP.addResAddPayment(resename, rpa) print arpa.getName(), arpa.getId(), " ", arpa.getResDate() assert arpa.getId() != None li = cutil.JOURNAL(var).getList() for l in li: print l.getId() J = li[0] print J.getName(), J.getJournalType(), J.getJournalTypeSpec( ), J.getJournalElem1(), J.getJournalElem2() assert "ADDPAYMENT" == J.getJournalType() assert resename == J.getJournalElem1() assert arpa.getId() == int(J.getJournalElem2()) var["OK"] = True if action == "test2": bname = var["bname"] p = util.newBillPayment() p.setBillName(bname) p.setPaymentMethod("Cache") p.setDateOfPayment(cutil.toDate(cutil.today())) p.setPaymentTotal(con.toB(1000)) addP = util.PAYMENTOP(var).addPaymentForBill(bname, p) li = cutil.JOURNAL(var).getList() for l in li: print l.getId(), l.getJournalType(), l.getJournalElem1( ), l.getJournalElem2(), l.getCreationDate() J = li[0] print J.getName(), J.getJournalType(), J.getJournalTypeSpec( ), J.getJournalElem1(), J.getJournalElem2(), assert "ADDBILLPAYMENT" == J.getJournalType() assert addP.getId() == int(J.getJournalElem1()) assert bname == J.getJournalElem2() # now remove util.PAYMENTOP(var).removePaymentForBill(bname, addP.getId()) li = cutil.JOURNAL(var).getList() for l in li: print l.getId(), l.getJournalType(), l.getJournalElem1( ), l.getJournalElem2(), l.getCreationDate() J = li[0] print J.getName(), J.getJournalType(), J.getJournalTypeSpec( ), J.getJournalElem1(), J.getJournalElem2() assert "REMOVEBILLPAYMENT" == J.getJournalType() assert addP.getId() == int(J.getJournalElem1()) assert bname == J.getJournalElem2() var["OK"] = True if action == "test3": li = cutil.JOURNAL(var).getList() JM = journalmess.JournalMess(var) for l in li: print l.getId(), l.getJournalType(), l.getJournalElem1( ), l.getJournalElem2(), l.getCreationDate() print "mess=", JM.getJournalDescr(l) assert None != JM.getJournalDescr(l) J = li[1] print J.getName(), J.getJournalType(), J.getJournalTypeSpec( ), J.getJournalElem1(), J.getJournalElem2() billname = J.getJournalElem2() print billname # remove bill and test message with removed bill util.BILLLIST(var).deleteElemByName(billname) li = cutil.JOURNAL(var).getList() JM = journalmess.JournalMess(var) for l in li: print l.getId(), l.getJournalType(), l.getJournalElem1( ), l.getJournalElem2(), l.getCreationDate() print "mess=", JM.getJournalDescr(l) assert None != JM.getJournalDescr(l) var["OK"] = True if action == "test4": li = cutil.JOURNAL(var).getList() JM = journalmess.JournalMess(var) for l in li: print l.getId(), l.getJournalType(), l.getJournalElem1( ), l.getJournalElem2(), l.getCreationDate() print "mess=", JM.getJournalDescr(l) assert None != JM.getJournalDescr(l) var["OK"] = True
def run(self,var) : # validate (under transaction !) if not _checkAvailibity(var) : return A = advarese.createAdvaRese(var) if not A.validate() : return # customer firstly service = var["roomservice"] pricelist = var["roompricelist"] D.putDataH(30,service) D.putDataH(31,pricelist) custo = cust.customerFromVar(var,CUST) R = util.CUSTOMERLIST(var) name = var["cust_name"] if not cutil.emptyS(name) : custo.setName(name) R.changeElem(custo) else : # custo.setGensymbol(True); name = R.addElem(custo).getName() cust.saveDefaCustomer(var,CUST) # --- customer added resename = rutil.getReseName(var) reservation = util.newResForm(var) if resename : reservation.setName(resename) # else : reservation.setGensymbol(True); reservation.setCustomerName(name) # advance A = advarese.createAdvaRese(var) A.setAdvaData(reservation) # -- service = var["roomservice"] nop = var["nop"] reselist = reservation.getResDetail() rlist = var["JLIST_MAP"][RESLIST] for re in rlist : (listprice,listpricechild,listpriceextra) = rutil.getPriceList(var,re["rlist_roompricelist"],re["rlist_roomservice"]) r = util.newResAddPayment() r.setRoomName(re["resroomname"]) r.setService(re["rlist_roomservice"]) r.setResDate(con.toDate(re["resday"])) r.setPerperson(re["rlist_serviceperperson"]) r.setPriceListName(re["rlist_roompricelist"]) r.setNoP(re["rline_nop"]) r.setPrice(con.toB(re["rlist_priceperson"])) r.setPriceList(listprice) util.setIntField(re,"rlist_noc",lambda v : r.setNoChildren(v)) r.setPriceChildren(con.toB(re["rlist_pricechildren"])) r.setPriceListChildren(listpricechild) util.setIntField(re,"rlist_noe",lambda v : r.setNoExtraBeds(v)) r.setPriceExtraBeds(con.toB(re["rlist_priceextra"])) r.setPriceListExtraBeds(listpriceextra) r.setPriceTotal(con.toB(re["rlist_pricetotal"])) reselist.add(r) RFORM = util.RESFORM(var) if resename : RFORM.changeElem(reservation) else : resename = RFORM.addElem(reservation).getName() reseparam.RESPARAM(resename).saveParam(var) # confirmed/not confirmed confirm.createC(var).changeReservation(resename) var["JCLOSE_DIALOG"] = True var["JREFRESH_DATELINE_reservation"] = "" var["JUPDIALOG_START"] = resename var["JUP_DIALOG"]="?sentconfirmationquestion.xml"