[POS-commit] r3263 - in stoqlib/trunk/stoqlib: gui/dialogs

Evandro Vale Miquelito evandro at async.com.br
Sat Apr 8 12:44:34 BRT 2006


Author: evandro
Date: Sat Apr  8 12:44:34 2006
New Revision: 3263

Modified:
   stoqlib/trunk/stoqlib/domain/sale.py
   stoqlib/trunk/stoqlib/domain/till.py
   stoqlib/trunk/stoqlib/gui/dialogs/tilloperation.py

Log:
Adding a get_available_sales classmethod and using it where it's necessary


Modified: stoqlib/trunk/stoqlib/domain/sale.py
==============================================================================
--- stoqlib/trunk/stoqlib/domain/sale.py	(original)
+++ stoqlib/trunk/stoqlib/domain/sale.py	Sat Apr  8 12:44:34 2006
@@ -28,6 +28,7 @@
 from datetime import datetime
 
 from sqlobject import UnicodeCol, DateTimeCol, ForeignKey, IntCol, SQLObject
+from sqlobject.sqlbuilder import AND
 from zope.interface import implements
 from kiwi.argcheck import argcheck
 from kiwi.datatypes import currency
@@ -133,6 +134,23 @@
         table.delete(item.id, connection=conn)
 
     #
+    # Classmethods
+    #
+
+    @classmethod
+    def get_available_sales(cls, conn, till):
+        """Returns a list of all available sales for a given
+        till operation
+
+        @param conn: a Transaction sqlobject instance
+        @param till: a Till instance
+        """
+        q1 = cls.q._is_valid_model == True
+        q2 = cls.q.tillID == till.id
+        query = AND(q1, q2)
+        return cls.select(query, connection=conn)
+
+    #
     # Auxiliar methods
     #
 
@@ -144,7 +162,7 @@
 
     def get_client_name(self):
         if not self.client:
-            return _(u'Anonymous')
+            return _(u'Not Specified')
         return self.client.get_name()
 
     @classmethod

Modified: stoqlib/trunk/stoqlib/domain/till.py
==============================================================================
--- stoqlib/trunk/stoqlib/domain/till.py	(original)
+++ stoqlib/trunk/stoqlib/domain/till.py	Sat Apr  8 12:44:34 2006
@@ -88,9 +88,8 @@
         """
 
         conn = self.get_connection()
-        result = Sale.selectBy(till=self, connection=conn)
-
         query = AND(Sale.q.status == Sale.STATUS_CONFIRMED,
+                    Sale.q._is_valid_model == True,
                     Sale.q.tillID == self.id)
         result = Sale.select(query, connection=conn)
         payments = []
@@ -134,7 +133,7 @@
             raise ValueError("This till is already closed. Open a new till "
                              "before close it.")
         conn = self.get_connection()
-        sales = Sale.selectBy(till=self, connection=conn)
+        sales = Sale.get_available_sales(conn, self)
 
         opened_sales = []
 

Modified: stoqlib/trunk/stoqlib/gui/dialogs/tilloperation.py
==============================================================================
--- stoqlib/trunk/stoqlib/gui/dialogs/tilloperation.py	(original)
+++ stoqlib/trunk/stoqlib/gui/dialogs/tilloperation.py	Sat Apr  8 12:44:34 2006
@@ -215,7 +215,7 @@
             raise DatabaseInconsistency("Till instance must have a"
                                         "IPaymentGroup facet")
         group_ids = [group.id]
-        for sale in Sale.selectBy(till=current_till, connection=self.conn):
+        for sale in Sale.get_available_sales(self.conn, current_till):
             group = IPaymentGroup(sale, connection=self.conn)
             if not group:
                 raise DatabaseInconsistency("Sale instance must have a"


More information about the POS-commit mailing list