[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: |
Thu, 17 Jul 2003 01:16:44 -0400 |
CVSROOT: /cvsroot/gnue
Module name: gnue-pos
Branch:
Changes by: Jason Cater <address@hidden> 03/07/17 01:16:44
Modified files:
src : Handler.py POSClient.py
src/frontends/wx: Driver.py
src/hardware/receiptprinter: plain.py
Log message:
more work on backend stuff
CVSWeb URLs:
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue-pos/src/Handler.py.diff?tr1=1.6&tr2=1.7&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue-pos/src/POSClient.py.diff?tr1=1.12&tr2=1.13&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue-pos/src/frontends/wx/Driver.py.diff?tr1=1.12&tr2=1.13&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue-pos/src/hardware/receiptprinter/plain.py.diff?tr1=1.5&tr2=1.6&r1=text&r2=text
Patches:
Index: gnue-pos/src/Handler.py
diff -c gnue-pos/src/Handler.py:1.6 gnue-pos/src/Handler.py:1.7
*** gnue-pos/src/Handler.py:1.6 Mon Jul 7 01:29:13 2003
--- gnue-pos/src/Handler.py Thu Jul 17 01:16:43 2003
***************
*** 38,51 ****
def __init__(self, client):
events.EventAware.__init__(self, client)
! self.__ManualItemSKUisDepartment = gConfig('ManualItemSKUisDepartment')
! self.__ManualItemRequestBasePrice = gConfig('ManualItemRequestBasePrice')
! self.__TaxRate = float(gConfig('TaxRate'))/100
!
! self.__loggedin = 0
! self.__quantityRequestedFlag = 0
! self.__ticket = 0
! self.__quantity = 1
self.registerEventListeners( {
'BeginTicket': self._BeginTicket,
--- 38,51 ----
def __init__(self, client):
events.EventAware.__init__(self, client)
! self._ManualItemSKUisDepartment = gConfig('ManualItemSKUisDepartment')
! self._ManualItemRequestBasePrice = gConfig('ManualItemRequestBasePrice')
! self._TaxRate = float(gConfig('TaxRate'))/100
!
! self._loggedin = 0
! self._quantityRequestedFlag = 0
! self._ticket = 0
! self._quantity = 1
self.registerEventListeners( {
'BeginTicket': self._BeginTicket,
***************
*** 105,111 ****
def _LoginEntered(self, event):
! self.__login = event.value
self.dispatchEvent('RequestPassword')
def _RequestPassword(self, event):
--- 105,111 ----
def _LoginEntered(self, event):
! self._login = event.value
self.dispatchEvent('RequestPassword')
def _RequestPassword(self, event):
***************
*** 115,125 ****
response="PasswordEntered")
def _PasswordEntered(self, event):
! rs = self.dispatchEvent('VerifyLogin', login=self.__login,
password=event.value)
if rs:
self.dispatchEvent('RequestLogin')
return
! self.__loggedin = 1
self.dispatchEvent('RequestSKU')
--- 115,125 ----
response="PasswordEntered")
def _PasswordEntered(self, event):
! rs = self.dispatchEvent('VerifyLogin', login=self._login,
password=event.value)
if rs:
self.dispatchEvent('RequestLogin')
return
! self._loggedin = 1
self.dispatchEvent('RequestSKU')
***************
*** 129,144 ****
if event.next == 'RequestQuantity':
rs = 0
! if not self.__ticket:
self.dispatchEvent('RequestBeginTicket')
self.dispatchEvent('RequestQuantity')
elif event.value:
! if not self.__ticket:
self.dispatchEvent('RequestBeginTicket')
! rs = self.dispatchEvent('ProcessSKU', sku=event.value, origEvent=event,
quantity=self.__quantity)
else:
! if not self.__ticket and event.next in ('RequestTaxExemption',):
self.dispatchEvent('RequestBeginTicket')
rs = 1
--- 129,144 ----
if event.next == 'RequestQuantity':
rs = 0
! if not self._ticket:
self.dispatchEvent('RequestBeginTicket')
self.dispatchEvent('RequestQuantity')
elif event.value:
! if not self._ticket:
self.dispatchEvent('RequestBeginTicket')
! rs = self.dispatchEvent('ProcessSKU', sku=event.value, origEvent=event,
quantity=self._quantity)
else:
! if not self._ticket and event.next in ('RequestTaxExemption',):
self.dispatchEvent('RequestBeginTicket')
rs = 1
***************
*** 152,159 ****
self.dispatchEvent('RequestSKU')
try:
! self.__quantity = float(event.value)
! if self.__quantity < 0:
raise ValueError
self.dispatchEvent('RequestSKU')
except ValueError:
--- 152,159 ----
self.dispatchEvent('RequestSKU')
try:
! self._quantity = float(event.value)
! if self._quantity < 0:
raise ValueError
self.dispatchEvent('RequestSKU')
except ValueError:
***************
*** 166,247 ****
self.dispatchEvent('RequestSKU')
return
v = int(event.value) - 1
! if v >= len(self.__items):
self.dispatchEvent('RequestCancelItem')
! elif not hasattr(self.__items[v],'CANCELED'):
attrs = {}
for attr, value in event.__dict__.items():
if attr[0] != '_' and type(value) != types.MethodType:
attrs[attr] = value
attrs['origlineitem'] = v + 1
! attrs['lineitem'] = len(self.__items)
attrs['extended'] *= -1
attrs['each'] *= -1
! self.__items[v].CANCELED = 1
self.dispatchEvent('CancelItem', **attrs)
def _BeginManualItem(self, event):
! self.__manualSKU = event.sku
! if self.__ManualItemSKUisDepartment:
! self.__manualDepartment = event.sku
! self.__manualEvents = ['RequestManualDescription']
else:
! self.__manualEvents =
['RequestManualDepartment','RequestManualDescription']
! if self.__ManualItemRequestBasePrice:
! self.__manualEvents += ['RequestManualBasePrice','RequestManualPrice']
! self.__manualBasePrice = 0
else:
! self.__manualEvents += ['RequestManualPrice']
! self.__manualEvents.append('RequestEndManualItem')
! event.dispatchAfter(self.__manualEvents.pop(0))
def _ManualDepartmentEntered(self, event):
if not len(event.value):
self.dispatchEvent('Warning',message='Department must be entered')
self.dispatchEvent('RequestManualDepartment')
return
! self.__manualDepartment = event.value
! self.dispatchEvent(self.__manualEvents.pop(0))
def _ManualDescriptionEntered(self, event):
if not len(event.value):
self.dispatchEvent('Warning',message='Description must be entered')
self.dispatchEvent('RequestManualDescription')
return
! self.__manualDescription = event.value
! self.dispatchEvent(self.__manualEvents.pop(0))
def _ManualBasePriceEntered(self, event):
try:
! self.__manualBasePrice = float(event.value)
! if self.__manualBasePrice < 0:
raise ValueError
except ValueError:
self.dispatchEvent('Warning',message='Base price must be entered')
self.dispatchEvent('RequestManualBasePrice')
return
! v = self.__manualEvents.pop(0)
if v == 'RequestManualPrice':
! self.dispatchEvent(v, default=self.__manualBasePrice)
else:
self.dispatchEvent(v)
def _ManualPriceEntered(self, event):
try:
! self.__manualPrice = float(event.value)
! if self.__manualPrice < 0:
raise ValueError
except ValueError:
self.dispatchEvent('Warning',message='Item price must be entered')
self.dispatchEvent('RequestManualPrice')
return
! self.dispatchEvent(self.__manualEvents.pop(0))
def _RequestBeginLayaway(self, event):
--- 166,247 ----
self.dispatchEvent('RequestSKU')
return
v = int(event.value) - 1
! if v >= len(self._items):
self.dispatchEvent('RequestCancelItem')
! elif not hasattr(self._items[v],'CANCELED'):
attrs = {}
for attr, value in event.__dict__.items():
if attr[0] != '_' and type(value) != types.MethodType:
attrs[attr] = value
attrs['origlineitem'] = v + 1
! attrs['lineitem'] = len(self._items)
attrs['extended'] *= -1
attrs['each'] *= -1
! self._items[v].CANCELED = 1
self.dispatchEvent('CancelItem', **attrs)
def _BeginManualItem(self, event):
! self._manualSKU = event.sku
! if self._ManualItemSKUisDepartment:
! self._manualDepartment = event.sku
! self._manualEvents = ['RequestManualDescription']
else:
! self._manualEvents =
['RequestManualDepartment','RequestManualDescription']
! if self._ManualItemRequestBasePrice:
! self._manualEvents += ['RequestManualBasePrice','RequestManualPrice']
! self._manualBasePrice = 0
else:
! self._manualEvents += ['RequestManualPrice']
! self._manualEvents.append('RequestEndManualItem')
! event.dispatchAfter(self._manualEvents.pop(0))
def _ManualDepartmentEntered(self, event):
if not len(event.value):
self.dispatchEvent('Warning',message='Department must be entered')
self.dispatchEvent('RequestManualDepartment')
return
! self._manualDepartment = event.value
! self.dispatchEvent(self._manualEvents.pop(0))
def _ManualDescriptionEntered(self, event):
if not len(event.value):
self.dispatchEvent('Warning',message='Description must be entered')
self.dispatchEvent('RequestManualDescription')
return
! self._manualDescription = event.value
! self.dispatchEvent(self._manualEvents.pop(0))
def _ManualBasePriceEntered(self, event):
try:
! self._manualBasePrice = float(event.value)
! if self._manualBasePrice < 0:
raise ValueError
except ValueError:
self.dispatchEvent('Warning',message='Base price must be entered')
self.dispatchEvent('RequestManualBasePrice')
return
! v = self._manualEvents.pop(0)
if v == 'RequestManualPrice':
! self.dispatchEvent(v, default=self._manualBasePrice)
else:
self.dispatchEvent(v)
def _ManualPriceEntered(self, event):
try:
! self._manualPrice = float(event.value)
! if self._manualPrice < 0:
raise ValueError
except ValueError:
self.dispatchEvent('Warning',message='Item price must be entered')
self.dispatchEvent('RequestManualPrice')
return
! self.dispatchEvent(self._manualEvents.pop(0))
def _RequestBeginLayaway(self, event):
***************
*** 269,275 ****
'RequestLogOut',
'RequestExit' ]
! if self.__ticket:
endingEvents += ['RequestSuspendTicket',
'RequestCancelTicket',
'RequestTender',
--- 269,275 ----
'RequestLogOut',
'RequestExit' ]
! if self._ticket:
endingEvents += ['RequestSuspendTicket',
'RequestCancelTicket',
'RequestTender',
***************
*** 303,309 ****
pass
def _RequestCancelItem(self, event):
! self.dispatchEvent('Prompt', response='CancelItemEntered', label='Enter
Line # to Cancel:', default=len(self.__items))
def _RequestDuplicateLastItem(self, event):
pass
--- 303,309 ----
pass
def _RequestCancelItem(self, event):
! self.dispatchEvent('Prompt', response='CancelItemEntered', label='Enter
Line # to Cancel:', default=len(self._items))
def _RequestDuplicateLastItem(self, event):
pass
***************
*** 338,371 ****
def _RequestEndManualItem(self, event):
! self.dispatchEvent('EndManualItem', sku=self.__manualSKU,
! description=self.__manualDescription,
! department=self.__manualDepartment,
! baseprice=self.__manualBasePrice,
! quantity=self.__quantity,
! price=self.__manualPrice,
taxable=1)
! self.dispatchEvent('AddTicketItem', department=self.__manualDepartment,
! sku=self.__manualSKU,
! quantity=self.__quantity,
! description=self.__manualDescription,
! base=self.__manualBasePrice,
! each=self.__manualPrice,
! extended=round(self.__manualPrice *
self.__quantity,2),
taxable=1,
! lineitem=len(self.__items)+1)
! self.__quantity = 1
self.dispatchEvent('RequestSKU')
def _BeginTicket(self, event):
! self.__ticket = event.serial
! self.__taxTotal = 0
! self.__subTotal = 0
! self.__payments = 0
! self.__taxExempt = 0
! self.__layaway = 0
! self.__items = []
self.dispatchEvent('UpdateTotal', field="subtotal", amount=0.0)
self.dispatchEvent('UpdateTotal', field="tax", amount=0.0)
self.dispatchEvent('UpdateTotal', field="total", amount=0.0)
--- 338,372 ----
def _RequestEndManualItem(self, event):
! self.dispatchEvent('EndManualItem', sku=self._manualSKU,
! description=self._manualDescription,
! department=self._manualDepartment,
! baseprice=self._manualBasePrice,
! quantity=self._quantity,
! price=self._manualPrice,
! extended = self._quantity * self._manualPrice,
taxable=1)
! self.dispatchEvent('AddTicketItem', department=self._manualDepartment,
! sku=self._manualSKU,
! quantity=self._quantity,
! description=self._manualDescription,
! base=self._manualBasePrice,
! each=self._manualPrice,
! extended=round(self._manualPrice *
self._quantity,2),
taxable=1,
! lineitem=len(self._items))
! self._quantity = 1
self.dispatchEvent('RequestSKU')
def _BeginTicket(self, event):
! self._ticket = event.serial
! self._taxTotal = 0
! self._subTotal = 0
! self._payments = 0
! self._taxExempt = 0
! self._layaway = 0
! self._items = []
self.dispatchEvent('UpdateTotal', field="subtotal", amount=0.0)
self.dispatchEvent('UpdateTotal', field="tax", amount=0.0)
self.dispatchEvent('UpdateTotal', field="total", amount=0.0)
***************
*** 375,396 ****
event.dispatchAfter('RequestSKU')
def _CancelTicket(self, event):
! self.__ticket = 0
event.dispatchAfter('RequestSKU')
def _AddTicketItem(self, event):
! self.__subTotal += event.extended
if event.taxable:
! self.__taxTotal += event.extended
! self.__items.append(event)
! event.lineitem=len(self.__items)+1
self._updateTotals()
def _BeginLayaway(self, event):
! self.__layaway = 1
def _EndLayaway(self, event):
! self.__layaway = 0
self.dispatchEvent('EndTicket')
def _AddTender(self, event):
--- 376,397 ----
event.dispatchAfter('RequestSKU')
def _CancelTicket(self, event):
! self._ticket = 0
event.dispatchAfter('RequestSKU')
def _AddTicketItem(self, event):
! self._subTotal += event.extended
if event.taxable:
! self._taxTotal += event.extended
! self._items.append(event)
! event.lineitem=len(self._items)+1
self._updateTotals()
def _BeginLayaway(self, event):
! self._layaway = 1
def _EndLayaway(self, event):
! self._layaway = 0
self.dispatchEvent('EndTicket')
def _AddTender(self, event):
***************
*** 407,425 ****
def _TaxExemptionEntered(self, event):
if event.value:
! self.__taxExempt = 1
else:
! self.__taxExempt = 0
self._updateTotals()
self.dispatchEvent('RequestSKU')
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)
--- 408,426 ----
def _TaxExemptionEntered(self, event):
if event.value:
! self._taxExempt = 1
else:
! self._taxExempt = 0
self._updateTotals()
self.dispatchEvent('RequestSKU')
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)
Index: gnue-pos/src/POSClient.py
diff -c gnue-pos/src/POSClient.py:1.12 gnue-pos/src/POSClient.py:1.13
*** gnue-pos/src/POSClient.py:1.12 Mon Jul 7 01:29:13 2003
--- gnue-pos/src/POSClient.py Thu Jul 17 01:16:43 2003
***************
*** 93,99 ****
# assign register name from 1st free argument
#
try:
! registername = self.ARGUMENTS[0]
except:
try:
import socket
--- 93,99 ----
# assign register name from 1st free argument
#
try:
! self.registername = registername = self.ARGUMENTS[0]
except:
try:
import socket
Index: gnue-pos/src/frontends/wx/Driver.py
diff -c gnue-pos/src/frontends/wx/Driver.py:1.12
gnue-pos/src/frontends/wx/Driver.py:1.13
*** gnue-pos/src/frontends/wx/Driver.py:1.12 Mon Jul 7 01:29:13 2003
--- gnue-pos/src/frontends/wx/Driver.py Thu Jul 17 01:16:44 2003
***************
*** 174,180 ****
bottomPanel.SetAutoLayout(1)
self.receiptList = receiptList = wxListCtrl(frame, -1,
! style=wxLC_REPORT|wxLC_HRULES|wxLC_VRULES|wxLC_SINGLE_SEL)
# Add the columns for our receipt list
i = 0
--- 174,180 ----
bottomPanel.SetAutoLayout(1)
self.receiptList = receiptList = wxListCtrl(frame, -1,
!
style=wxLC_REPORT|wxLC_HRULES|wxLC_VRULES|wxLC_SINGLE_SEL|wxSIMPLE_BORDER)
# Add the columns for our receipt list
i = 0
***************
*** 186,192 ****
i += 1
! totalPanel2 = wxPanel(bottomPanel, -1, style=wxRAISED_BORDER)
totalSizer2 = wxBoxSizer(wxVERTICAL)
totalPanel2.SetSizer(totalSizer2)
totalPanel2.SetAutoLayout(1)
--- 186,192 ----
i += 1
! totalPanel2 = wxPanel(bottomPanel, -1, style=wxSIMPLE_BORDER)
totalSizer2 = wxBoxSizer(wxVERTICAL)
totalPanel2.SetSizer(totalSizer2)
totalPanel2.SetAutoLayout(1)
***************
*** 226,232 ****
bottomPanel.Fit()
frameSizer.Add(topPanel, 0, wxEXPAND)
! frameSizer.Add(receiptList, 3, wxEXPAND)
frameSizer.Add(bottomPanel, 0, wxEXPAND)
--- 226,232 ----
bottomPanel.Fit()
frameSizer.Add(topPanel, 0, wxEXPAND)
! frameSizer.Add(receiptList, 3, wxEAST|wxWEST|wxEXPAND, 20)
frameSizer.Add(bottomPanel, 0, wxEXPAND)
Index: gnue-pos/src/hardware/receiptprinter/plain.py
diff -c gnue-pos/src/hardware/receiptprinter/plain.py:1.5
gnue-pos/src/hardware/receiptprinter/plain.py:1.6
*** gnue-pos/src/hardware/receiptprinter/plain.py:1.5 Mon Jul 7 01:29:13 2003
--- gnue-pos/src/hardware/receiptprinter/plain.py Thu Jul 17 01:16:44 2003
***************
*** 56,61 ****
--- 56,62 ----
self.instance = instance
self.__dict__.update(params)
self.output = None
+ self.totals = {}
self.width = hasattr(self,'width') and self.width or 40
self.totalFields = ( ('subtotal',_('Subtotal')),
***************
*** 133,141 ****
def _CancelTicketItem(self, event):
pass
def _UpdateTotal(self, event):
self.totals[event.field] = event.amount
def write(self, text, double=0, color=0, alignment=0):
! pass
\ No newline at end of file
--- 134,143 ----
def _CancelTicketItem(self, event):
pass
+
def _UpdateTotal(self, event):
self.totals[event.field] = event.amount
def write(self, text, double=0, color=0, alignment=0):
! pass
- gnue-pos/src Handler.py POSClient.py frontends/...,
Jason Cater <=