[Erp5-report] r34825 nicolas.dumazet - in /erp5/trunk/products/ERP5: Document/ PropertySheet/

nobody at svn.erp5.org nobody at svn.erp5.org
Wed Apr 28 10:46:05 CEST 2010


Author: nicolas.dumazet
Date: Wed Apr 28 10:46:03 2010
New Revision: 34825

URL: http://svn.erp5.org?rev=34825&view=rev
Log:
Allow to invert a conversion definition, defining its base unit w.r.t. new unit

Added:
    erp5/trunk/products/ERP5/PropertySheet/QuantityUnitConversionDefinition.py
Modified:
    erp5/trunk/products/ERP5/Document/QuantityUnitConversionDefinition.py
    erp5/trunk/products/ERP5/Document/Resource.py

Modified: erp5/trunk/products/ERP5/Document/QuantityUnitConversionDefinition.py
URL: http://svn.erp5.org/erp5/trunk/products/ERP5/Document/QuantityUnitConversionDefinition.py?rev=34825&r1=34824&r2=34825&view=diff
==============================================================================
--- erp5/trunk/products/ERP5/Document/QuantityUnitConversionDefinition.py [utf8] (original)
+++ erp5/trunk/products/ERP5/Document/QuantityUnitConversionDefinition.py [utf8] Wed Apr 28 10:46:03 2010
@@ -49,6 +49,7 @@
                     , PropertySheet.XMLObject
                     , PropertySheet.CategoryCore
                     , PropertySheet.Amount
+                    , PropertySheet.QuantityUnitConversionDefinition
                     )
 
   security.declareProtected(Permissions.AccessContentsInformation,
@@ -66,3 +67,13 @@
 
     return default_title
 
+  def getConversionRatio(self):
+    """
+      Compute conversion ratio associated with this definition
+    """
+    quantity = self.getQuantity()
+
+    if quantity != 0 and self.isInverse():
+      quantity = 1.0/quantity
+
+    return quantity

Modified: erp5/trunk/products/ERP5/Document/Resource.py
URL: http://svn.erp5.org/erp5/trunk/products/ERP5/Document/Resource.py?rev=34825&r1=34824&r2=34825&view=diff
==============================================================================
--- erp5/trunk/products/ERP5/Document/Resource.py [utf8] (original)
+++ erp5/trunk/products/ERP5/Document/Resource.py [utf8] Wed Apr 28 10:46:03 2010
@@ -1019,11 +1019,12 @@
           if unit_uid is None:
             continue
 
-          quantity = definition.getQuantity()
-          if not quantity:
+          definition_ratio = definition.getConversionRatio()
+          if not definition_ratio:
             continue
 
-          result[unit_uid] = (definition.getUid(), quantity*reference_ratio)
+          result[unit_uid] = (definition.getUid(),
+                              definition_ratio*reference_ratio)
 
       return result
 

Added: erp5/trunk/products/ERP5/PropertySheet/QuantityUnitConversionDefinition.py
URL: http://svn.erp5.org/erp5/trunk/products/ERP5/PropertySheet/QuantityUnitConversionDefinition.py?rev=34825&view=auto
==============================================================================
--- erp5/trunk/products/ERP5/PropertySheet/QuantityUnitConversionDefinition.py (added)
+++ erp5/trunk/products/ERP5/PropertySheet/QuantityUnitConversionDefinition.py [utf8] Wed Apr 28 10:46:03 2010
@@ -1,0 +1,42 @@
+# -*- coding: utf-8 -*-
+##############################################################################
+#
+# Copyright (c) 2010 Nexedi SARL and Contributors. All Rights Reserved.
+#                    Nicolas Dumazet <nicolas.dumazet at nexedi.com>
+#
+# WARNING: This program as such is intended to be used by professional
+# programmers who take the whole responsability of assessing all potential
+# consequences resulting from its eventual inadequacies and bugs
+# End users who are looking for a ready-to-use solution with commercial
+# garantees and support are strongly adviced to contract a Free Software
+# Service Company
+#
+# This program is Free Software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License
+# as published by the Free Software Foundation; either version 2
+# of the License, or (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
+#
+##############################################################################
+
+class QuantityUnitConversionDefinition:
+  """
+      Properies for Quantity Unit Conversion Definitions
+  """
+
+  _properties = (
+    { 'id'          : 'inverse',
+      'description' : 'Defines if this quantity should be interpreted as an inversed number',
+      'type'        : 'boolean',
+      'default': False,
+      'mode'        : 'w' },
+  )
+




More information about the Erp5-report mailing list