[Erp5-report] r20778 - in /erp5/trunk/products/ERP5: Document/ tests/

nobody at svn.erp5.org nobody at svn.erp5.org
Wed Apr 23 17:48:26 CEST 2008


Author: vincent
Date: Wed Apr 23 17:48:25 2008
New Revision: 20778

URL: http://svn.erp5.org?rev=20778&view=rev
Log:
Implement getTotalNetPrice.
Activate unit test (was commented out unitl now).

Modified:
    erp5/trunk/products/ERP5/Document/Delivery.py
    erp5/trunk/products/ERP5/Document/Invoice.py
    erp5/trunk/products/ERP5/tests/testTradeCondition.py

Modified: erp5/trunk/products/ERP5/Document/Delivery.py
URL: http://svn.erp5.org/erp5/trunk/products/ERP5/Document/Delivery.py?rev=20778&r1=20777&r2=20778&view=diff
==============================================================================
--- erp5/trunk/products/ERP5/Document/Delivery.py (original)
+++ erp5/trunk/products/ERP5/Document/Delivery.py Wed Apr 23 17:48:25 2008
@@ -129,6 +129,16 @@
         return self.Delivery_zGetTotal(src__=1, **kw)
       aggregate = self.Delivery_zGetTotal(**kw)[0]
       return aggregate.total_price or 0
+
+    security.declareProtected(Permissions.AccessContentsInformation,
+                              'getTotalNetPrice')
+    def getTotalNetPrice(self, fast=0, src__=0, **kw):
+      """
+        Same as getTotalPrice, but including Tax and Discount.
+      """
+      total_price = self.getTotalPrice(fast=fast, src__=src__, **kw)
+      kw['portal_type'] = self.getPortalTaxMovementTypeList()
+      return total_price + self.getTotalPrice(fast=fast, src__=src__, **kw)
 
     security.declareProtected(Permissions.AccessContentsInformation, 
                               'getTotalQuantity')

Modified: erp5/trunk/products/ERP5/Document/Invoice.py
URL: http://svn.erp5.org/erp5/trunk/products/ERP5/Document/Invoice.py?rev=20778&r1=20777&r2=20778&view=diff
==============================================================================
--- erp5/trunk/products/ERP5/Document/Invoice.py (original)
+++ erp5/trunk/products/ERP5/Document/Invoice.py Wed Apr 23 17:48:25 2008
@@ -63,23 +63,15 @@
         Permissions.AccessContentsInformation, 'getTotalPrice')
     def getTotalPrice(self, **kw):
       """ Returns the total price for this invoice """
-      kw.update({
-        'portal_type': self.getPortalObject()\
-                          .getPortalInvoiceMovementTypeList() })
+      kw.setdefault('portal_type',
+                    self.getPortalInvoiceMovementTypeList())
       return Delivery.getTotalPrice(self, **kw)
 
     security.declareProtected(
         Permissions.AccessContentsInformation, 'getTotalQuantity')
     def getTotalQuantity(self, **kw):
       """ Returns the total quantity for this invoice """
-      kw.update({
-        'portal_type': self.getPortalObject()\
-                          .getPortalInvoiceMovementTypeList() })
+      kw.setdefault('portal_type',
+                    self.getPortalInvoiceMovementTypeList())
       return Delivery.getTotalQuantity(self, **kw)
 
-    security.declareProtected(
-        Permissions.AccessContentsInformation, 'getTotalNetPrice')
-    def getTotalNetPrice(self):
-      """ Returns the total net price for this invoice """
-      raise NotImplementedError
-      return self.Invoice_zGetTotalNetPrice()

Modified: erp5/trunk/products/ERP5/tests/testTradeCondition.py
URL: http://svn.erp5.org/erp5/trunk/products/ERP5/tests/testTradeCondition.py?rev=20778&r1=20777&r2=20778&view=diff
==============================================================================
--- erp5/trunk/products/ERP5/tests/testTradeCondition.py (original)
+++ erp5/trunk/products/ERP5/tests/testTradeCondition.py Wed Apr 23 17:48:25 2008
@@ -719,8 +719,8 @@
     self.assertEquals(self.tax, tax_line.getResourceValue())
     self.assertEquals(0.2, tax_line.getPrice())
     
-    # TODO: discuss this behaviour, and what about getTotalNetPrice ?
-    #self.assertEquals(120, self.order.getTotalPrice(fast=0))
+    self.assertEquals(100, self.order.getTotalPrice(fast=0))
+    self.assertEquals(120, self.order.getTotalNetPrice(fast=0))
 
 
   def test_hierarchical_order_line_and_tax_line(self):




More information about the Erp5-report mailing list