[Top][All Lists]
[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