[POS-commit] r7156 - in stoqlib/trunk: plugins/ecf stoqlib/gui/editors

Johan Dahlin jdahlin at async.com.br
Tue Aug 28 15:16:57 BRT 2007


Author: jdahlin
Date: Tue Aug 28 15:16:56 2007
New Revision: 7156

Modified:
   stoqlib/trunk/plugins/ecf/ecfui.py
   stoqlib/trunk/stoqlib/gui/editors/tilleditor.py

Log:
Display error dialogs when trying to remove/add/open/close/read memory

Modified: stoqlib/trunk/plugins/ecf/ecfui.py
==============================================================================
--- stoqlib/trunk/plugins/ecf/ecfui.py	(original)
+++ stoqlib/trunk/plugins/ecf/ecfui.py	Tue Aug 28 15:16:56 2007
@@ -238,6 +238,7 @@
     def _add_cash(self, till, value):
         log.info('ECFCouponPrinter.add_cash(%r, %r)' % (till, value,))
 
+        # Callsite catches DeviceError
         self._validate_printer()
 
         self._printer.add_cash(value)
@@ -245,6 +246,7 @@
     def _remove_cash(self, till, value):
         log.info('ECFCouponPrinter.remove_cash(%r, %r)' % (till, value,))
 
+        # Callsite catches DeviceError
         self._validate_printer()
 
         self._printer.remove_cash(value)
@@ -255,6 +257,8 @@
         self._validate_printer()
 
     def _coupon_create(self, fiscalcoupon):
+
+        # Callsite catches DeviceError
         self._validate_printer()
 
         coupon = self._printer.create_coupon(fiscalcoupon)
@@ -299,6 +303,14 @@
 
         self._printer.summarize()
 
+    def _fiscal_memory_dialog(self):
+        try:
+            self._validate_printer()
+        except DeviceError, e:
+            warning(e)
+            return
+        run_dialog(FiscalMemoryDialog, None, self.conn, self._printer)
+
     #
     # Events
     #
@@ -359,7 +371,7 @@
         self._till_summarize()
 
     def _on_ReadMemory__activate(self, action):
-        run_dialog(FiscalMemoryDialog, None, self.conn, self._printer)
+        self._fiscal_memory_dialog()
 
     def _on_CancelLastDocument__activate(self, action):
         self._cancel_last_document()

Modified: stoqlib/trunk/stoqlib/gui/editors/tilleditor.py
==============================================================================
--- stoqlib/trunk/stoqlib/gui/editors/tilleditor.py	(original)
+++ stoqlib/trunk/stoqlib/gui/editors/tilleditor.py	Tue Aug 28 15:16:56 2007
@@ -38,7 +38,7 @@
 from stoqlib.domain.interfaces import IEmployee
 from stoqlib.domain.person import Person
 from stoqlib.domain.till import Till
-from stoqlib.exceptions import TillError
+from stoqlib.exceptions import DeviceError, TillError
 from stoqlib.gui.editors.baseeditor import BaseEditor, BaseEditorSlave
 from stoqlib.lib.translation import stoqlib_gettext
 from stoqlib.lib.message import warning
@@ -122,7 +122,7 @@
 
         try:
             TillOpenEvent.emit(till=till)
-        except TillError, e:
+        except (TillError, DeviceError), e:
             warning(str(e))
             return None
 
@@ -190,7 +190,7 @@
         try:
             TillCloseEvent.emit(till=till,
                                 previous_day=self._previous_day)
-        except TillError, e:
+        except (TillError, DeviceError), e:
             warning(str(e))
             return None
 
@@ -322,7 +322,11 @@
             till = self.model.till
             value = abs(self.model.value)
             assert till
-            TillRemoveCashEvent.emit(till=till, value=value)
+            try:
+                TillRemoveCashEvent.emit(till=till, value=value)
+            except (TillError, DeviceError), e:
+                warning(str(e))
+                return None
             till.add_debit_entry(value,
                                  (_(u'Cash advance paid to employee: %s')
                                   % self._get_employee_name()))
@@ -380,7 +384,13 @@
             value = abs(self.model.value)
             till = self.model.till
             assert till
-            TillRemoveCashEvent.emit(till=till, value=value)
+            assert till
+            try:
+                TillRemoveCashEvent.emit(till=till, value=value)
+            except (TillError, DeviceError), e:
+                warning(str(e))
+                return None
+
             return till.add_debit_entry(
                 value, (_(u'Cash out: %s') % (self.reason.get_text(),)))
 
@@ -427,8 +437,13 @@
         if valid:
             till = self.model.till
             assert till
-            TillAddCashEvent.emit(till=till,
-                                  value=self.model.value)
+            try:
+                TillAddCashEvent.emit(till=till,
+                                      value=self.model.value)
+            except (TillError, DeviceError), e:
+                warning(str(e))
+                return None
+
             return till.add_credit_entry(
                 self.model.value,
                 (_(u'Cash in: %s') % (self.reason.get_text(),)))


More information about the POS-commit mailing list