commit-gnue
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

gnue-pos/src Handler.py POSClient.py frontends/...


From: Jason Cater
Subject: gnue-pos/src Handler.py POSClient.py frontends/...
Date: Tue, 22 Jul 2003 13:26:25 -0400

CVSROOT:        /cvsroot/gnue
Module name:    gnue-pos
Branch:         
Changes by:     Jason Cater <address@hidden>    03/07/22 13:26:25

Modified files:
        src            : Handler.py POSClient.py 
        src/frontends/wx: Driver.py 

Log message:
        tender support

CVSWeb URLs:
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue-pos/src/Handler.py.diff?tr1=1.7&tr2=1.8&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue-pos/src/POSClient.py.diff?tr1=1.13&tr2=1.14&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue-pos/src/frontends/wx/Driver.py.diff?tr1=1.13&tr2=1.14&r1=text&r2=text

Patches:
Index: gnue-pos/src/Handler.py
diff -c gnue-pos/src/Handler.py:1.7 gnue-pos/src/Handler.py:1.8
*** gnue-pos/src/Handler.py:1.7 Thu Jul 17 01:16:43 2003
--- gnue-pos/src/Handler.py     Tue Jul 22 13:26:25 2003
***************
*** 51,56 ****
--- 51,57 ----
              'BeginTicket': self._BeginTicket,
              'EndTicket': self._EndTicket,
              'CancelTicket': self._CancelTicket,
+             'ClearTicket': self._ClearTicket,
  
              'BeginLayaway': self._BeginLayaway,
              'EndLayaway': self._EndLayaway,
***************
*** 77,83 ****
              'RequestResumeTicket': self._RequestResumeTicket,
              'RequestCancelTicket': self._RequestCancelTicket,
              'RequestPriceLookup': self._RequestPriceLookup,
-             'RequestTender': self._RequestTender,
              'RequestRemoveItem': self._RequestRemoveItem,
              'RequestCancelItem': self._RequestCancelItem,
              'RequestDuplicateLastItem': self._RequestDuplicateLastItem,
--- 78,83 ----
***************
*** 85,90 ****
--- 85,97 ----
              'RequestLogOut': self._RequestLogOut,
              'RequestExit': self._RequestExit,
  
+             'RequestTender:Cash': self._RequestTenderCash,
+             'RequestTender:Check': self._RequestTenderCheck,
+             'RequestTender:CreditCard': self._RequestTenderCreditCard,
+             'RequestTender:Gift': self._RequestTenderGift,
+             'TenderEntered': self._TenderEntered,
+             'TenderExtraEntered': self._TenderExtraEntered,
+ 
              'BeginManualItem': self._BeginManualItem,
              'RequestEndManualItem': self._RequestEndManualItem,
              'ManualDepartmentEntered': self._ManualDepartmentEntered,
***************
*** 272,278 ****
      if self._ticket:
        endingEvents += ['RequestSuspendTicket',
                         'RequestCancelTicket',
!                        'RequestTender',
                         'RequestRemoveItem',
                         'RequestCancelItem',
                         'RequestDuplicateLastItem',
--- 279,288 ----
      if self._ticket:
        endingEvents += ['RequestSuspendTicket',
                         'RequestCancelTicket',
!                        'RequestTender:Cash',
!                        'RequestTender:Check',
!                        'RequestTender:CreditCard',
!                        'RequestTender:Gift',
                         'RequestRemoveItem',
                         'RequestCancelItem',
                         'RequestDuplicateLastItem',
***************
*** 291,303 ****
      pass
  
    def _RequestCancelTicket(self, event):
!     pass
  
    def _RequestPriceLookup(self, event):
      pass
  
!   def _RequestTender(self, event):
!     pass
  
    def _RequestRemoveItem(self, event):
      pass
--- 301,359 ----
      pass
  
    def _RequestCancelTicket(self, event):
!     self.dispatchEvent('CancelTicket', serial=self._ticket)
  
    def _RequestPriceLookup(self, event):
      pass
  
!   ##
!   ##
!   ##
! 
!   def _RequestTenderCash(self, event):
!     self.__tender = 'CASH'
!     self.dispatchEvent('Prompt', label='Enter Cash Amount', 
response='TenderEntered')
! 
!   def _RequestTenderCreditCard(self, event):
!     self.__tender = 'CREDIT'
!     self.dispatchEvent('Prompt', label='Enter Credit Card Amount', 
response='TenderEntered')
! 
!   def _RequestTenderCheck(self, event):
!     self.__tender = 'CHECK'
!     self.dispatchEvent('Prompt', label='Enter Check Amount', 
response='TenderEntered')
! 
!   def _RequestTenderGift(self, event):
!     self.__tender = 'GIFT'
!     self.dispatchEvent('Prompt', label='Enter Gift Certificate Amount', 
response='TenderEntered')
! 
!   def _TenderEntered(self, event):
!     try:
!       self.__tenderamount = float(event.value)
!       if self.__tenderamount < 0:
!         raise ValueError
!     except ValueError:
!       self.dispatchEvent('Warning',message='Tender amount must be entered')
!       self.dispatchEvent('RequestTender' % 
{'CASH':'Cash','CREDIT':'CreditCard','CHECK':'Check','GIFT':'Gift'}[self.__tender])
!       return
! 
!     if self.__tender == 'GIFT':
!       self.dispatchEvent('Prompt', label='Enter Gift Certificate Number', 
response='TenderExtraEntered')
!     elif self.__tender == 'CHECK':
!       self.dispatchEvent('Prompt', label='Enter Check Number', 
response='TenderExtraEntered')
!     elif self.__tender == 'CREDIT':
!       self.dispatchEvent('Prompt', label='Enter Approval Response Code', 
response='TenderExtraEntered')
!     else:
!       self.__endTender()
! 
!   def _TenderExtraEntered(self, event):
!     self.__endTender(event.value)
! 
!   def __endTender(self, extra=None):
!     self.dispatchEvent('AddTender', type=self.__tender, 
amount=self.__tenderamount, extra=extra)
! 
!   ##
!   ##
!   ##
  
    def _RequestRemoveItem(self, event):
      pass
***************
*** 312,325 ****
      pass
  
    def _RequestLogOut(self, event):
!     pass
  
    def _RequestExit(self, event):
!     pass
  
    def _RequestTaxExemption(self, event):
      self.dispatchEvent('Prompt', label='Enter Tax Exemption Number:', 
response='TaxExemptionEntered')
  
  
    def _RequestManualDepartment(self, event):
      self.dispatchEvent('Prompt', label='Enter Department:', 
response='ManualDepartmentEntered')
--- 368,391 ----
      pass
  
    def _RequestLogOut(self, event):
!     if self._ticket:
!       self.dispatchEvent('Warning',message='Cannot log out until ticket is 
canceled or completed')
!     else:
!       self._login = None
!       self.dispatchEvent('RequestLogin')
  
    def _RequestExit(self, event):
!     if self._ticket:
!       self.dispatchEvent('Warning',message='Cannot exit until ticket is 
canceled or completed')
!     else:
!       sys.exit()
  
    def _RequestTaxExemption(self, event):
      self.dispatchEvent('Prompt', label='Enter Tax Exemption Number:', 
response='TaxExemptionEntered')
  
+   ##
+   ##
+   ##
  
    def _RequestManualDepartment(self, event):
      self.dispatchEvent('Prompt', label='Enter Department:', 
response='ManualDepartmentEntered')
***************
*** 359,364 ****
--- 425,434 ----
      self._quantity = 1
      self.dispatchEvent('RequestSKU')
  
+   ##
+   ##
+   ##
+ 
    def _BeginTicket(self, event):
      self._ticket = event.serial
      self._taxTotal = 0
***************
*** 373,381 ****
      self.dispatchEvent('UpdateTotal', field="balance", amount=0.0)
  
    def _EndTicket(self, event):
!     event.dispatchAfter('RequestSKU')
  
    def _CancelTicket(self, event):
      self._ticket = 0
      event.dispatchAfter('RequestSKU')
  
--- 443,454 ----
      self.dispatchEvent('UpdateTotal', field="balance", amount=0.0)
  
    def _EndTicket(self, event):
!     event.dispatchAfter('ClearTicket')
  
    def _CancelTicket(self, event):
+     event.dispatchAfter('ClearTicket')
+ 
+   def _ClearTicket(self, event):
      self._ticket = 0
      event.dispatchAfter('RequestSKU')
  
***************
*** 392,401 ****
  
    def _EndLayaway(self, event):
      self._layaway = 0
!     self.dispatchEvent('EndTicket')
  
    def _AddTender(self, event):
!     pass
  
    def _AddDiscount(self, event):
      pass
--- 465,486 ----
  
    def _EndLayaway(self, event):
      self._layaway = 0
!     self.dispatchEvent('EndTicket', serial=self._ticket)
  
    def _AddTender(self, event):
!     self._payments += event.amount
!     if self._payments > self.total():
!       print self._payments-self.total()
!       event.dispatchAfter('AddTender', type='CHANGE',
!                           amount=self._payments-self.total())
! 
!     elif self._payments == self._subTotal + self.taxes():
!       event.dispatchAfter('EndTicket', serial=self._ticket)
!     else:
!       event.dispatchAfter('RequestSKU')
! 
!     self._updateTotals()
! 
  
    def _AddDiscount(self, event):
      pass
***************
*** 416,426 ****
  
  
    def _updateTotals(self):
!     tax = round(self._taxTotal* self._TaxRate,2) * (self._taxExempt == 0)
      self.dispatchEvent('UpdateTotal', field="subtotal", amount=self._subTotal)
      self.dispatchEvent('UpdateTotal', field="tax", amount=tax)
!     self.dispatchEvent('UpdateTotal', field="total", amount=self._subTotal + 
tax)
!     self.dispatchEvent('UpdateTotal', field="balance", amount=self._subTotal 
+ tax - self._payments)
      tax = round(self._taxTotal* self._TaxRate,2)
  
  
--- 501,516 ----
  
  
    def _updateTotals(self):
!     tax = self.taxes()
      self.dispatchEvent('UpdateTotal', field="subtotal", amount=self._subTotal)
      self.dispatchEvent('UpdateTotal', field="tax", amount=tax)
!     self.dispatchEvent('UpdateTotal', field="total", amount=self.total())
!     self.dispatchEvent('UpdateTotal', field="balance", amount=self.total() - 
self._payments)
      tax = round(self._taxTotal* self._TaxRate,2)
  
  
+   def taxes(self):
+     return round(self._taxTotal* self._TaxRate,2) * (self._taxExempt == 0)
+ 
+   def total(self):
+     return self._subTotal + self.taxes()
\ No newline at end of file
Index: gnue-pos/src/POSClient.py
diff -c gnue-pos/src/POSClient.py:1.13 gnue-pos/src/POSClient.py:1.14
*** gnue-pos/src/POSClient.py:1.13      Thu Jul 17 01:16:43 2003
--- gnue-pos/src/POSClient.py   Tue Jul 22 13:26:25 2003
***************
*** 97,103 ****
      except:
        try:
          import socket
!         registername = socket.gethostname().split('.')[0]
          if registername:
            print "No register name specified; Assuming '%s'" % registername
        except:
--- 97,103 ----
      except:
        try:
          import socket
!         self.registername = registername = socket.gethostname().split('.')[0]
          if registername:
            print "No register name specified; Assuming '%s'" % registername
        except:
Index: gnue-pos/src/frontends/wx/Driver.py
diff -c gnue-pos/src/frontends/wx/Driver.py:1.13 
gnue-pos/src/frontends/wx/Driver.py:1.14
*** gnue-pos/src/frontends/wx/Driver.py:1.13    Thu Jul 17 01:16:44 2003
--- gnue-pos/src/frontends/wx/Driver.py Tue Jul 22 13:26:25 2003
***************
*** 77,83 ****
        'Warning': self._Warning,
        'EmployeeLogin': self._EmployeeLogin,
        'BeginTicket': self._BeginTicket,
!       'EndTicket': self._EndTicket,
        'AddTicketItem': self._AddTicketItem,
        'CancelTicketItem': self._CancelTicketItem,
        'UpdateTotal': self._UpdateTotal } )
--- 77,83 ----
        'Warning': self._Warning,
        'EmployeeLogin': self._EmployeeLogin,
        'BeginTicket': self._BeginTicket,
!       'ClearTicket': self._ClearTicket,
        'AddTicketItem': self._AddTicketItem,
        'CancelTicketItem': self._CancelTicketItem,
        'UpdateTotal': self._UpdateTotal } )
***************
*** 122,128 ****
      self.statusbar.SetStatusText("Ticket # %s" % event.serial, STATUS_TICKET)
      self.receiptList.DeleteAllItems()
  
!   def _EndTicket(self, event):
      print "Ending ticket"
      self.statusbar.SetStatusText("No Current Ticket", STATUS_TICKET)
  
--- 122,128 ----
      self.statusbar.SetStatusText("Ticket # %s" % event.serial, STATUS_TICKET)
      self.receiptList.DeleteAllItems()
  
!   def _ClearTicket(self, event):
      print "Ending ticket"
      self.statusbar.SetStatusText("No Current Ticket", STATUS_TICKET)
  
***************
*** 314,320 ****
--- 314,332 ----
      self.inputField.SetInsertionPoint(ip)
  
  
+ 
  _specialKeys = {
+ 
+    WXK_F1:  'RequestTender:Cash',
+    WXK_F2:  'RequestTender:Check',
+    WXK_F3:  'RequestTender:CreditCard',
+    WXK_F4:  'RequestTender:Gift',
+ 
+    WXK_F5:  'RequestBeginLayaway',
+    WXK_F6:  'RequestLayawayPayment',
+    WXK_F7:  'RequestEndLayaway',
+ 
+    WXK_F9: 'RequestCancelTicket',
     WXK_F12: 'RequestTaxExemption',
  
     WXK_MULTIPLY: 'RequestQuantity',
***************
*** 329,341 ****
     392: 'RequestDuplicateLastItem',
  
     #
!    310: 'RequestCancelTicket',
     321: 'RequestReprint',
  
- 
    }
  
  
  
  # F1 = Tender Cash
  # F2 = Tender Check
--- 341,375 ----
     392: 'RequestDuplicateLastItem',
  
     #
!    310: 'RequestLogOut',
     321: 'RequestReprint',
  
    }
  
  
+ _keyButtons = (
+      ('F1','Tender Cash'),
+      ('F2','Tender Check'),
+      ('F3','Tender Credit'),
+      ('F4','Tender Gift'),
+      ('F5','New Layaway'),
+      ('F6','Layaway Payment'),
+      ('F7','Complete Layaway'),
+      ('F9','Cancel Ticket'),
+      ('F12','Tax Exempt Order'),
+      ('Print','Reprint Ticket'),
+      ('Break', 'Log Out'),
+      ('/','Cancel Item'),
+      ('*','Enter Quantity'),
+      ('+','Duplicate Item') )
+ 
+ 
+ class ButtonPanel(wxPanel):
+   def __init__(self, parent, driver):
+     self.driver = driver
+     wxPanel.__init__(self, parent, -1)
+ 
+ 
  
  # F1 = Tender Cash
  # F2 = Tender Check
***************
*** 346,355 ****
  # F6 = Make Layaway Payment
  # F7 = End Layaway
  #
! # PrnScrn = Reprint Ticket
! # Break = Cancel Ticket
  #
! # F11 = Tax Exemption
  #
  # / = Cancel Item
  # * = Enter Quantity
--- 380,390 ----
  # F6 = Make Layaway Payment
  # F7 = End Layaway
  #
! # F9 = Cancel Ticket
! # F12 = Tax Exemption
  #
! # PrnScrn = Reprint Ticket
! # Break = Log Out
  #
  # / = Cancel Item
  # * = Enter Quantity




reply via email to

[Prev in Thread] Current Thread [Next in Thread]