Ejemplo n.º 1
0
def _createListOfDays(var,new): 
  rData = _createResData(var,new)
  if rData == None : return None
  cutil.setJMapList(var,RESLIST,rData[0])
  cutil.setFooter(var,RESLIST,"rlist_pricetotal",rData[1])
  _calculateAdvanceAmount(var,rData[1])
  _calculatePaymentBy(var,rData[0])
  return rData[2]  
def dialogaction(action, var):

    cutil.printVar("list footer", action, var)

    if action == "before":
        seq = []
        sum = 0
        for i in range(1, 100):
            ma = {"id": i, "number": 45678.99}
            seq.append(ma)
            sum = sum + ma["number"]
        cutil.setJMapList(var, "list", seq)
        cutil.setFooter(var, "list", "number", sum)
def dialogaction(action,var) :
  
  cutil.printVar("list footer",action,var)
  
  if action == "before" :
      seq = []
      sum = 0
      for i in range(1,100) :
	ma = {"id":i,"number" : 45678.99}
	seq.append(ma)
	sum = sum + ma["number"]
      cutil.setJMapList(var,"list",seq)	
      cutil.setFooter(var,"list","number",sum)
	
def _createList(var,billName) :
  pList = PAYMENTOP(var).getPaymentsForBill(billName)
  suma = 0.0
  li = []
  for p in pList :
    id = p.getId()
    total = p.getPaymentTotal()
    date = p.getDateOfPayment()
    method = p.getPaymentMethod()
    suma = con.addDecimal(suma,con.BigDecimalToDecimal(total))
    ma = { "id" : id, "paymethod" : method, "paymentdate" : date, "paymenttotal" : total }
    li.append(ma)
  cutil.setJMapList(var,PAYLIST,li)
  cutil.setFooter(var,PAYLIST,"paymenttotal",suma)
Ejemplo n.º 5
0
def _listOfPayments(var) :
  rese = rutil.getReseName(var)
  li = util.RESOP(var).getResAddPaymentList(rese)
  seq = []
  sum = util.SUMBDECIMAL()  
  CU = util.CUSTOMERLIST(var)
  for e in li :
    g = e.getGuestName()    
    customer = CU.findElem(g)
    assert customer != None
    map = { "roomid" : e.getRoomName(), "total" : e.getPriceTotal(), "price" : e.getPrice(), "servdescr" : e.getDescription(), "quantity" : e.getQuantity() }
    cust.toCustomerVar(map,customer,"guest_")
    seq.append(map)
    sum.add(e.getPriceTotal())
  cutil.setJMapList(var,"paymentlist",seq)
  cutil.setFooter(var,"paymentlist","total",sum.sum)
def _createList(var, billName):
    pList = PAYMENTOP(var).getPaymentsForBill(billName)
    suma = 0.0
    li = []
    for p in pList:
        id = p.getId()
        total = p.getPaymentTotal()
        date = p.getDateOfPayment()
        method = p.getPaymentMethod()
        suma = con.addDecimal(suma, con.BigDecimalToDecimal(total))
        ma = {
            "id": id,
            "paymethod": method,
            "paymentdate": date,
            "paymenttotal": total
        }
        li.append(ma)
    cutil.setJMapList(var, PAYLIST, li)
    cutil.setFooter(var, PAYLIST, "paymenttotal", suma)
Ejemplo n.º 7
0
def dialogaction(action, var):

    cutil.printVar("show doc", action, var)

    if action == "before":
        xml = var["JUPDIALOG_START"]
        okonly = var["JUPDIALOG_STARTPAR"] == "1"
        if okonly:
            cutil.hideButton(var, ["accept", "resign"])
            cutil.hideButton(var, "ok", False)

        reseparam.setXMLParam(var, xml)
        (va, li) = xmlutil.toMap(xml)
        for l in LI:
            var[l] = va[l]
        cutil.setCopy(var, LI)
        cutil.setJMapList(var, LIST, li)
        cutil.setFooter(var, LIST, T, va[T])

    if action == "accept" and var["JYESANSWER"]:
        var["JCLOSE_DIALOG"] = reseparam.getXMLParam(var)
Ejemplo n.º 8
0
def _ListOfBills(var) :
   rese = rutil.getReseName(var)
   assert rese != None
   bList = util.RESOP(var).findBillsForReservation(rese)
   seq = []
   pli = rutil.getPayments(var)
   sumtotal = 0.0
   footerpayments = 0.0
   sumsell = 0.0
   CU = util.CUSTOMERLIST(var)
   for b in bList :
     C = cbill.BILLCALC(var,b)
     C.calc()
     bName = b.getName()
     assert bName != None
     payer = b.getPayer()
     customer = CU.findElem(payer)
     assert customer != None
     da = b.getIssueDate()     
     tot = C.getTotal()
     sell = C.getCharge()
     paysum = C.getPayment()
     sumtotal = cutil.addDecimal(sumtotal,tot)
     footerpayments = cutil.addDecimal(footerpayments,paysum)
     sumsell = cutil.addDecimal(sumsell,sell)
     ma = { "billname" : bName, "billtotal" : tot, "payments" : paysum, "sell" : sell }
     cust.toCustomerVar(ma,customer,"payer_")
     seq.append(ma)
   cutil.setJMapList(var,BILLIST,seq)
   cutil.setFooter(var,BILLIST,"billtotal",sumtotal) 
   cutil.setFooter(var,BILLIST,"payments",footerpayments) 
   cutil.setFooter(var,BILLIST,"sell",sumsell)    
Ejemplo n.º 9
0
def _listOfPayments(var):
    rese = rutil.getReseName(var)
    li = util.RESOP(var).getResAddPaymentList(rese)
    seq = []
    sum = util.SUMBDECIMAL()
    CU = util.CUSTOMERLIST(var)
    for e in li:
        g = e.getGuestName()
        customer = CU.findElem(g)
        assert customer != None
        map = {
            "roomid": e.getRoomName(),
            "total": e.getPriceTotal(),
            "price": e.getPrice(),
            "servdescr": e.getDescription(),
            "quantity": e.getQuantity()
        }
        cust.toCustomerVar(map, customer, "guest_")
        seq.append(map)
        sum.add(e.getPriceTotal())
    cutil.setJMapList(var, "paymentlist", seq)
    cutil.setFooter(var, "paymentlist", "total", sum.sum)
Ejemplo n.º 10
0
def doaction(action, var):
    printVar("footeredit", action, var)
    if action == "before":
        #      cutil.setJMapList(var,"list",[])
        cutil.setAddEditMode(var, "list", ["leftk", "amount", "rightk"])
        li = F.readList(var)
        leftf = None
        rightf = None
        for l in li:
            if l["leftk"]:
                leftf = cutil.addDecimal(leftf, l["amount"])
            if l["rightk"]:
                rightf = cutil.addDecimal(rightf, l["amount"])
        cutil.setFooter(var, "list", "leftk", leftf)
        cutil.setFooter(var, "list", "rightk", rightf)

    if action == "editlistrowaction":
        var["JLIST_EDIT_ACTIONOK_list"] = True
        if var["JLIST_EDIT_ACTION_list"] == "REMOVE":
            cutil.removeTextFooter(var, "list", "leftk", "amount")
            cutil.removeTextFooter(var, "list", "rightk", "amount")

    if action == "save":
        li = var["JLIST_MAP"]["list"]
        k = 0
        for m in li:
            m["id"] = k
            k = k + 1
        F.saveList(var)

    if action == "columnchangeaction" and (
        (var["changefield"] == "leftk" or var["changefield"] == "rightk")):
        cutil.modifTextFooter(var, "list", var["changefield"], "amount")

    if action == "columnchangeaction" and var["changefield"] == "amount":
        cutil.modifTextDecimalFooter(var, "list", "leftk", "amount")
        cutil.modifTextDecimalFooter(var, "list", "rightk", "amount")
Ejemplo n.º 11
0
def doaction(action,var) :
  printVar("footeredit",action,var)
  if action == "before" :
#      cutil.setJMapList(var,"list",[])
      cutil.setAddEditMode(var,"list",["leftk","amount","rightk"])
      li = F.readList(var)
      leftf = None
      rightf = None
      for l in li :
        if l["leftk"] :
          leftf = cutil.addDecimal(leftf,l["amount"])
        if l["rightk"] :
          rightf = cutil.addDecimal(rightf,l["amount"])
      cutil.setFooter(var,"list","leftk",leftf)
      cutil.setFooter(var,"list","rightk",rightf)
      
  if action == "editlistrowaction"  :
    var["JLIST_EDIT_ACTIONOK_list"] = True
    if var["JLIST_EDIT_ACTION_list"] == "REMOVE" :
      cutil.removeTextFooter(var,"list","leftk","amount")
      cutil.removeTextFooter(var,"list","rightk","amount")
    
  if action == "save" :
    li = var["JLIST_MAP"]["list"]
    k = 0
    for m in li :
      m["id"] = k
      k = k + 1
    F.saveList(var)
    
  if action == "columnchangeaction" and ((var["changefield"] == "leftk" or var["changefield"] == "rightk")) :
    cutil.modifTextFooter(var,"list",var["changefield"],"amount")

  if action == "columnchangeaction" and var["changefield"] == "amount" :
    cutil.modifTextDecimalFooter(var,"list","leftk","amount")
    cutil.modifTextDecimalFooter(var,"list","rightk","amount")
Ejemplo n.º 12
0
def _ListOfBills(var):
    rese = rutil.getReseName(var)
    assert rese != None
    bList = util.RESOP(var).findBillsForReservation(rese)
    seq = []
    pli = rutil.getPayments(var)
    sumtotal = 0.0
    footerpayments = 0.0
    sumsell = 0.0
    CU = util.CUSTOMERLIST(var)
    for b in bList:
        C = cbill.BILLCALC(var, b)
        C.calc()
        bName = b.getName()
        assert bName != None
        payer = b.getPayer()
        customer = CU.findElem(payer)
        assert customer != None
        da = b.getIssueDate()
        tot = C.getTotal()
        sell = C.getCharge()
        paysum = C.getPayment()
        sumtotal = cutil.addDecimal(sumtotal, tot)
        footerpayments = cutil.addDecimal(footerpayments, paysum)
        sumsell = cutil.addDecimal(sumsell, sell)
        ma = {
            "billname": bName,
            "billtotal": tot,
            "payments": paysum,
            "sell": sell
        }
        cust.toCustomerVar(ma, customer, "payer_")
        seq.append(ma)
    cutil.setJMapList(var, BILLIST, seq)
    cutil.setFooter(var, BILLIST, "billtotal", sumtotal)
    cutil.setFooter(var, BILLIST, "payments", footerpayments)
    cutil.setFooter(var, BILLIST, "sell", sumsell)
Ejemplo n.º 13
0
 def close(self) :
   cutil.setJMapList(self.var,self.liname,self.li)
   cutil.setFooter(self.var,self.liname,"total",self.sumf)
Ejemplo n.º 14
0
def doaction(action,var) :
  cutil.printVar("create bill",action,var)
  
  if action == "before" :
    _createPosList(var)
    # payer
    rese = rutil.getReseName(var)
    R = util.RESFORM(var)
    r = R.findElem(rese)
    payername = r.getCustomerName()
    cust.setCustData(var,payername,PAY)
    var["paynow"] = True
    cutil.setCopy(var,["paynow","paymethod",DOCTYPE])
    var["paymethod"] = util.HOTELDEFADATA().getDataH(3)
    var[DOCTYPE] = util.HOTELDEFADATA().getDataH(5)
    RR = resstat.getResStatusR(var,r)
    var["advance_pay_left"] = RR.advancepaymentleft
    var["advance_pay"] = RR.advancepayment
    cutil.setCopy(var,["advance_pay","advance_pay_left"])
    
  if action == "guestdetail" :
       cust.showCustomerDetails(var,var["guest_name"])
    
  if action == "columnchangeaction" :
     total = var["total"]
     footerf = var["JFOOTER_billlist_total"]
     if var["add"] : footerf = cutil.addDecimal(footerf,total)
     else : footerf = cutil.minusDecimal(footerf,total)
     cutil.setFooter(var,"billlist","total",footerf)

  if action == "accept" : 
    pli = []
    for m in var["JLIST_MAP"][NOPAID] :
      if m["add"] : 
	pli.append(m["idp"])
      
    if len(pli) == 0 :
      var["JERROR_MESSAGE"] = "@nothingischecked"
      return
    
    if var["paynow"] :
      if cutil.checkEmpty(var,["paymethod"]): return
      
    if not var["paynow"] :  
      if cutil.checkEmpty(var,["paymethod","paymentdate"]): return
    
    cust.saveCustomerData(var,var["payer_name"],PAY)
    
    xml = rpdf.buildXMLForStay(var,rutil.getReseName(var),var["payer_name"],pli)
    
    diallaunch.displayDocument(var,xml)
      
  if action == "acceptdocument" and var["JUPDIALOG_BUTTON"] == "accept" :    
     util.HOTELDEFADATA().putDataH(3,var["paymethod"])
     util.HOTELDEFADATA().putDataH(5,var[DOCTYPE])     
     xml = var["JUPDIALOG_RES"]
     H = HOTELBILLSAVE(var,xml)
     if H.doTransRes() : var["JCLOSE_DIALOG"] = True
              
  if action == "payerdetails" :
      var["JAFTERDIALOG_ACTION"] = "acceptdetails" 
      cust.customerDetailsActive(var,PAY)

  if action == "acceptdetails" and var["JUPDIALOG_BUTTON"] == "accept" :
     xml = var["JUPDIALOG_RES"]
     util.xmlToVar(var,xml,CLIST,PAY)
     cutil.setCopy(var,CLIST,None,PAY)

         
Ejemplo n.º 15
0
 def close(self):
     cutil.setJMapList(self.var, self.liname, self.li)
     cutil.setFooter(self.var, self.liname, "total", self.sumf)
def dialogaction(action,var) :
  cutil.printVar("modif reservation",action,var)
  
  if action == "before" :
      xml = var["JUPDIALOG_START"]
      (m,li) = xmlutil.toMap(xml)
      prevplist = None
      prevpservice = None
      (price,pricechild,priceextra) = (None, None,None)
      sum = util.SUMBDECIMAL()
      first = True
      for l in li :
        sum.add(l["rlist_pricetotal"])
        plist = l["rlist_roompricelist"]
        pservice = l["rlist_roomservice"]
        if plist != None and pservice != None :
          if plist != prevplist or pservice != prevpservice :
            (price,pricechild,priceextra) = rutil.getPriceList(var,plist,pservice)
            (prevplist,prevpservice) = (plist,pservice)
            
          _setPriceL(l,"rlist_priceperson",price)
          _setPriceL(l,"rlist_pricechildren",pricechild)
          _setPriceL(l,"rlist_priceextra",priceextra)
          
        if first :
          print l
          print l["rlist_priceextra"],type(l["rlist_priceextra"])
          SR.saveMap(var,l)
          first = False
          
      cutil.setJMapList(var, LI,li)
#      cutil.setAddEditMode(var,LI,ELIST)
      cutil.setChangeEditMode(var,LI,ELIST)
      cutil.setFooter(var,LI,"rlist_pricetotal",sum.sum)
      
  if action == "aftereditrow" :
    cutil.setEditRowOk(var,LI,False)
    if not RE.validate(var) : return
    RE.calculatePrice(var)
    cutil.setEditRowOk(var,LI)
    
  if action == "editlistrowaction" :
    if var["JLIST_EDIT_ACTION_" + LI] == "ADD" or var["JLIST_EDIT_ACTION_" + LI] == "ADDBEFORE" :
      if not var[LI + "_lineset"] :
        m = SR.getMap(var)
        print m
        for k in m.keys() :
          var[k] = m[k]
      var["rlist_pricetotal"] = 0
      cutil.setEditListActionOk(var,LI) 
      cutil.setCopy(var,ELIST,LI)
      RE.calculatePrice(var)
      
    if var["JLIST_EDIT_ACTION_" + LI] == "REMOVE" :
      var["JYESNO_MESSAGE"] = "@doyouwanttoremoveline"
      var["JAFTERDIALOG_ACTION"] = "removeyesno"
      
  if action == "removeyesno" :
    if var["JYESANSWER"] : 
       cutil.setEditListActionOk(var,LI)
       RE.calculatePriceAterRemove(var)
    else : cutil.setEditListActionOk(var,LI,False) 

  if action == "roomselected" and var["JUPDIALOG_BUTTON"] == "accept" :
    roomname = var["JUPDIALOG_RES"]
    if roomname != var["resroomname"] :
      var["resroomname"] = roomname
      cutil.setCopy(var,"resroomname",LI)
  
  # does not work select
  if action == "xxxcolumnchangeaction" :
    RE.setPrices(var)    
    
  if action == "accept" :
   list = var["JLIST_MAP"][LI]
   if len(list) == 0 :   
     rutil.setAlreadyReservedNotSelected(var)
     return

   # "resroomname","resday"
   res =  rutil.checkReseAvailibity(var,list,None,"resday","resroomname")
   if res != None : return
   xml = xmlutil.toXML({},list)
   var["JCLOSE_DIALOG"] = xml
Ejemplo n.º 17
0
 def tofooter(self, var):
     cutil.setFooter(var, self.li, self.total, self.sum)
Ejemplo n.º 18
0
def setvarBefore(var,custo=RCUST):
    xml = var["JUPDIALOG_START"]
    (roomname,resday,resdays,nop,roomservice,roompricelist) = rparam.XMLtoresquery(xml)
    if roomservice != None and roompricelist != None : rutil.setServicePriceList(var,roomservice,roompricelist)      
      
    R = util.ROOMLIST(var)
    room = R.findElem(roomname)
    assert room != None
    if nop == None : nop = room.getNoPersons()
    var["name"] = roomname
    var["desc"] = room.getDescription()
    var["nop"] = nop
    var["noextrabeds"] = util.getIntField(room.getNoExtraBeds())
    var["nochildren"] = util.getIntField(room.getNoChildren())
    var["resnop"] = util.getIntField(nop)
    util.setCopy(var,["resename","name","datecol","desc","resdays","noextrabeds","nochildren","nop","serviceperperson","resnop"])
#    util.setCopy(var,["resnochildren","respricechildren","resnoextrabeds","respriceextrabeds","respriceperroom","resnop"])
    res = rutil.getReservForDay(var,roomname,resday)
    if len(res) == 0 :
      var["datecol"] = resday
      var["resdays"] = resdays
      var["resename"] = None
      cust.setDefaCustomer(var,custo)
      return
  
    assert len(res) == 1
    resname = res[0].getResId()
    assert resname != None
    RFORM = util.RESFORM(var)
    reservation = RFORM.findElem(resname)
    assert reservation != None
    custname = reservation.getCustomerName()
    assert custname != None
    rutil.setReseName(var,resname)
        
    cust.setCustData(var,custname,custo)
    
    perperson = True    
    list = []
    S = util.SERVICES(var)
    mindate = None
    for r in reservation.getResDetail() :
                 
         map = { "avail" : True, "resroomname" : r.getRoomName(), "resday" : r.getResDate(), "rlist_pricetotal" : con.BigDecimalToDecimal(r.getPriceTotal()), 
              "rline_nop" : r.getNoP(),"rlist_priceperson" : con.BigDecimalToDecimal(r.getPrice()),
              "rlist_noc" : util.getIntField(r.getNoChildren()), "rlist_pricechildren" : con.BigDecimalToDecimal(r.getPriceChildren()),
              "rlist_noe" : util.getIntField(r.getNoExtraBeds()), "rlist_priceextra" : con.BigDecimalToDecimal(r.getPriceExtraBeds()),
              "rlist_serviceperperson" : r.isPerperson(), 
              "rlist_roomservice" : r.getService(), "rlist_roompricelist" : r.getPriceListName()}

         if not r.isPerperson() : perperson = False
         if mindate == None : mindate = r.getResDate()
         elif mindate > r.getResDate() : mindate = r.getResDate()
         roomservice = cutil.ifnull(roomservice,r.getService())
         roompricelist = cutil.ifnull(roompricelist,r.getPriceListName())

         list.append(map)

    var["serviceperperson"] = perperson
    # restores default data previously saved
    reseparam.RESPARAM(resname).setParam(var)    
    rutil.setServicePriceList(var,roomservice,roompricelist)
    var["datecol"] = mindate
    var["resdays"] = len(reservation.getResDetail())
    
    # advance payment

    SUM = advarese.CALCULATE()
    SUM.calc(reservation)
    A = advarese.createAdvaRese(var)
    A.setVal(reservation,SUM.getTotal())
    A.setCopy()
    
    confirm.createC(var).setReservationToVar(reservation)
    
    cutil.setJMapList(var,RLIST,list)
    cutil.setFooter(var,RLIST,"rlist_pricetotal",SUM.getTotal())        
Ejemplo n.º 19
0
def dialogaction(action, var):
    cutil.printVar("modif reservation", action, var)

    if action == "before":
        xml = var["JUPDIALOG_START"]
        (m, li) = xmlutil.toMap(xml)
        prevplist = None
        prevpservice = None
        (price, pricechild, priceextra) = (None, None, None)
        sum = util.SUMBDECIMAL()
        first = True
        for l in li:
            sum.add(l["rlist_pricetotal"])
            plist = l["rlist_roompricelist"]
            pservice = l["rlist_roomservice"]
            if plist != None and pservice != None:
                if plist != prevplist or pservice != prevpservice:
                    (price, pricechild,
                     priceextra) = rutil.getPriceList(var, plist, pservice)
                    (prevplist, prevpservice) = (plist, pservice)

                _setPriceL(l, "rlist_priceperson", price)
                _setPriceL(l, "rlist_pricechildren", pricechild)
                _setPriceL(l, "rlist_priceextra", priceextra)

            if first:
                print l
                print l["rlist_priceextra"], type(l["rlist_priceextra"])
                SR.saveMap(var, l)
                first = False

        cutil.setJMapList(var, LI, li)
        #      cutil.setAddEditMode(var,LI,ELIST)
        cutil.setChangeEditMode(var, LI, ELIST)
        cutil.setFooter(var, LI, "rlist_pricetotal", sum.sum)

    if action == "aftereditrow":
        cutil.setEditRowOk(var, LI, False)
        if not RE.validate(var): return
        RE.calculatePrice(var)
        cutil.setEditRowOk(var, LI)

    if action == "editlistrowaction":
        if var["JLIST_EDIT_ACTION_" +
               LI] == "ADD" or var["JLIST_EDIT_ACTION_" + LI] == "ADDBEFORE":
            if not var[LI + "_lineset"]:
                m = SR.getMap(var)
                print m
                for k in m.keys():
                    var[k] = m[k]
            var["rlist_pricetotal"] = 0
            cutil.setEditListActionOk(var, LI)
            cutil.setCopy(var, ELIST, LI)
            RE.calculatePrice(var)

        if var["JLIST_EDIT_ACTION_" + LI] == "REMOVE":
            var["JYESNO_MESSAGE"] = "@doyouwanttoremoveline"
            var["JAFTERDIALOG_ACTION"] = "removeyesno"

    if action == "removeyesno":
        if var["JYESANSWER"]:
            cutil.setEditListActionOk(var, LI)
            RE.calculatePriceAterRemove(var)
        else:
            cutil.setEditListActionOk(var, LI, False)

    if action == "roomselected" and var["JUPDIALOG_BUTTON"] == "accept":
        roomname = var["JUPDIALOG_RES"]
        if roomname != var["resroomname"]:
            var["resroomname"] = roomname
            cutil.setCopy(var, "resroomname", LI)

    # does not work select
    if action == "xxxcolumnchangeaction":
        RE.setPrices(var)

    if action == "accept":
        list = var["JLIST_MAP"][LI]
        if len(list) == 0:
            rutil.setAlreadyReservedNotSelected(var)
            return

        # "resroomname","resday"
        res = rutil.checkReseAvailibity(var, list, None, "resday",
                                        "resroomname")
        if res != None: return
        xml = xmlutil.toXML({}, list)
        var["JCLOSE_DIALOG"] = xml