def on_confirm(self): till = self.model.till removed = abs(self.model.value) if removed: # We need to do this inside a new transaction, because if the # till closing fails further on, this still needs to be recorded # in the database store = api.new_store() t_till = store.fetch(till) TillRemoveCashEvent.emit(till=t_till, value=removed) reason = _('Amount removed from Till by %s') % ( api.get_current_user(self.store).get_description(), ) till_entry = t_till.add_debit_entry(removed, reason) # Financial transaction _create_transaction(store, till_entry) # DB transaction store.confirm(True) store.close() if self._close_ecf: try: retval = TillCloseEvent.emit(till=till, previous_day=self._previous_day) except (TillError, DeviceError), e: warning(str(e)) return None # If the event was captured and its return value is False, then we # should not close the till. if retval is False: return False
def on_confirm(self): value = abs(self.model.value) till = self.model.till assert till try: TillRemoveCashEvent.emit(till=till, value=value) except (TillError, DeviceError, DriverError), e: warning(str(e)) self.retval = False return
def on_confirm(self): value = abs(self.model.value) till = self.model.till assert till try: TillRemoveCashEvent.emit(till=till, value=value) except (TillError, DeviceError, DriverError) as e: warning(str(e)) self.retval = False return till_entry = till.add_debit_entry(value, (_(u"Cash out: %s") % (self.reason.get_text(),))) TillAddTillEntryEvent.emit(till_entry, self.store) _create_transaction(self.store, till_entry)
def on_confirm(self): till = self.model.till value = abs(self.model.value) assert till try: TillRemoveCashEvent.emit(till=till, value=value) except (TillError, DeviceError, DriverError) as e: warning(str(e)) self.retval = False return till_entry = till.add_debit_entry( value, (_(u'Cash advance paid to employee: %s') % (self._get_employee_name(), ))) TillAddTillEntryEvent.emit(till_entry, self.store) _create_transaction(self.store, till_entry)
def on_confirm(self): till = self.model.till value = abs(self.model.value) assert till try: TillRemoveCashEvent.emit(till=till, value=value) except (TillError, DeviceError, DriverError) as e: warning(str(e)) self.retval = False return till_entry = till.add_debit_entry( value, (_(u'Cash advance paid to employee: %s') % ( self._get_employee_name(), ))) TillAddTillEntryEvent.emit(till_entry, self.store) _create_transaction(self.store, till_entry)
def on_confirm(self): value = abs(self.model.value) till = self.model.till assert till try: TillRemoveCashEvent.emit(till=till, value=value) except (TillError, DeviceError, DriverError) as e: warning(str(e)) self.retval = False return till_entry = till.add_debit_entry( value, (_(u'Cash out: %s') % (self.reason.get_text(), ))) TillAddTillEntryEvent.emit(till_entry, self.store) _create_transaction(self.store, till_entry)
def on_confirm(self): till = self.model.till removed = abs(self.model.value) if removed: # We need to do this inside a new transaction, because if the # till closing fails further on, this still needs to be recorded # in the database store = api.new_store() t_till = store.fetch(till) TillRemoveCashEvent.emit(till=t_till, value=removed) reason = _('Amount removed from Till by %s') % ( api.get_current_user(self.store).get_description(), ) till_entry = t_till.add_debit_entry(removed, reason) # Financial transaction _create_transaction(store, till_entry) # DB transaction store.confirm(True) store.close() if self._close_ecf: try: retval = TillCloseEvent.emit(till=till, previous_day=self._previous_day) except (TillError, DeviceError) as e: warning(str(e)) return None # If the event was captured and its return value is False, then we # should not close the till. if retval is False: return False if self._close_db: try: till.close_till(user=api.get_current_user(self.store), observations=self.model.observations) except ValueError as err: warning(str(err)) return # The callsite is responsible for interacting with # the fiscal printer return self.model