From 81d766dade1c24cbb4d4f8706cc5aac8d0a0eb01 Mon Sep 17 00:00:00 2001
From: Nicolas Dumazet <nicolas.dumazet@nexedi.com>
Date: Wed, 28 Apr 2010 08:57:54 +0000
Subject: [PATCH] Allow to mirror/invert an unit definition

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@34826 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 .../QuantityUnitConversionDefinition_view.xml |   1 +
 .../my_inverse.xml                            | 104 ++++++++++++++++++
 .../my_quantity.xml                           |  35 ++++++
 ...rsionModule_getUniversalDefinitionDict.xml |   6 +-
 bt5/erp5_pdm/bt/revision                      |   2 +-
 5 files changed, 144 insertions(+), 4 deletions(-)
 create mode 100644 bt5/erp5_pdm/SkinTemplateItem/portal_skins/erp5_pdm/QuantityUnitConversionDefinition_view/my_inverse.xml

diff --git a/bt5/erp5_pdm/SkinTemplateItem/portal_skins/erp5_pdm/QuantityUnitConversionDefinition_view.xml b/bt5/erp5_pdm/SkinTemplateItem/portal_skins/erp5_pdm/QuantityUnitConversionDefinition_view.xml
index cc182e8d63..8e4c2371c2 100644
--- a/bt5/erp5_pdm/SkinTemplateItem/portal_skins/erp5_pdm/QuantityUnitConversionDefinition_view.xml
+++ b/bt5/erp5_pdm/SkinTemplateItem/portal_skins/erp5_pdm/QuantityUnitConversionDefinition_view.xml
@@ -97,6 +97,7 @@
                     <value>
                       <list>
                         <string>my_quantity_unit</string>
+                        <string>my_inverse</string>
                       </list>
                     </value>
                 </item>
diff --git a/bt5/erp5_pdm/SkinTemplateItem/portal_skins/erp5_pdm/QuantityUnitConversionDefinition_view/my_inverse.xml b/bt5/erp5_pdm/SkinTemplateItem/portal_skins/erp5_pdm/QuantityUnitConversionDefinition_view/my_inverse.xml
new file mode 100644
index 0000000000..e67208b599
--- /dev/null
+++ b/bt5/erp5_pdm/SkinTemplateItem/portal_skins/erp5_pdm/QuantityUnitConversionDefinition_view/my_inverse.xml
@@ -0,0 +1,104 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="ProxyField" module="Products.ERP5Form.ProxyField"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>delegated_list</string> </key>
+            <value>
+              <list>
+                <string>description</string>
+                <string>title</string>
+              </list>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>my_inverse</string> </value>
+        </item>
+        <item>
+            <key> <string>message_values</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>external_validator_failed</string> </key>
+                    <value> <string>The input failed the external validator.</string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>overrides</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>field_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>form_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>target</string> </key>
+                    <value> <string></string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>tales</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>field_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>form_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>target</string> </key>
+                    <value> <string></string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>values</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>description</string> </key>
+                    <value> <string>Define an inverted quantity: if checked, the Quantity Unit will be defined as 1/quantity of the reference unit.</string> </value>
+                </item>
+                <item>
+                    <key> <string>field_id</string> </key>
+                    <value> <string>my_checkbox</string> </value>
+                </item>
+                <item>
+                    <key> <string>form_id</string> </key>
+                    <value> <string>Base_viewFieldLibrary</string> </value>
+                </item>
+                <item>
+                    <key> <string>target</string> </key>
+                    <value> <string>Click to edit the target</string> </value>
+                </item>
+                <item>
+                    <key> <string>title</string> </key>
+                    <value> <string>Inverse Ratio</string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_pdm/SkinTemplateItem/portal_skins/erp5_pdm/QuantityUnitConversionDefinition_view/my_quantity.xml b/bt5/erp5_pdm/SkinTemplateItem/portal_skins/erp5_pdm/QuantityUnitConversionDefinition_view/my_quantity.xml
index b9f11f640b..4be2f2be1a 100644
--- a/bt5/erp5_pdm/SkinTemplateItem/portal_skins/erp5_pdm/QuantityUnitConversionDefinition_view/my_quantity.xml
+++ b/bt5/erp5_pdm/SkinTemplateItem/portal_skins/erp5_pdm/QuantityUnitConversionDefinition_view/my_quantity.xml
@@ -13,6 +13,7 @@
             <key> <string>delegated_list</string> </key>
             <value>
               <list>
+                <string>default</string>
                 <string>description</string>
                 <string>input_style</string>
               </list>
@@ -56,6 +57,16 @@
             <key> <string>tales</string> </key>
             <value>
               <dictionary>
+                <item>
+                    <key> <string>default</string> </key>
+                    <value>
+                      <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>description</string> </key>
+                    <value> <string></string> </value>
+                </item>
                 <item>
                     <key> <string>field_id</string> </key>
                     <value> <string></string> </value>
@@ -64,6 +75,10 @@
                     <key> <string>form_id</string> </key>
                     <value> <string></string> </value>
                 </item>
+                <item>
+                    <key> <string>input_style</string> </key>
+                    <value> <string></string> </value>
+                </item>
                 <item>
                     <key> <string>target</string> </key>
                     <value> <string></string> </value>
@@ -75,6 +90,10 @@
             <key> <string>values</string> </key>
             <value>
               <dictionary>
+                <item>
+                    <key> <string>default</string> </key>
+                    <value> <string></string> </value>
+                </item>
                 <item>
                     <key> <string>description</string> </key>
                     <value> <string>Amount of standard Quantity Unit</string> </value>
@@ -101,4 +120,20 @@
       </dictionary>
     </pickle>
   </record>
+  <record id="2" aka="AAAAAAAAAAI=">
+    <pickle>
+      <tuple>
+        <global name="TALESMethod" module="Products.Formulator.TALESField"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_text</string> </key>
+            <value> <string>python: context.getProperty(\'quantity\')</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
 </ZopeData>
diff --git a/bt5/erp5_pdm/SkinTemplateItem/portal_skins/erp5_pdm/QuantityUnitConversionModule_getUniversalDefinitionDict.xml b/bt5/erp5_pdm/SkinTemplateItem/portal_skins/erp5_pdm/QuantityUnitConversionModule_getUniversalDefinitionDict.xml
index 6399267b96..b739e03cfe 100644
--- a/bt5/erp5_pdm/SkinTemplateItem/portal_skins/erp5_pdm/QuantityUnitConversionModule_getUniversalDefinitionDict.xml
+++ b/bt5/erp5_pdm/SkinTemplateItem/portal_skins/erp5_pdm/QuantityUnitConversionModule_getUniversalDefinitionDict.xml
@@ -77,11 +77,11 @@
     if unit_uid is None:\n
       continue\n
 \n
-    quantity = definition.getQuantity()\n
-    if not quantity:\n
+    definition_ratio = definition.getConversionRatio()\n
+    if not definition_ratio:\n
       continue\n
 \n
-    result[unit_uid] = (definition.getUid(), quantity)\n
+    result[unit_uid] = (definition.getUid(), definition_ratio)\n
 \n
   return result\n
 \n
diff --git a/bt5/erp5_pdm/bt/revision b/bt5/erp5_pdm/bt/revision
index 473995f402..755ab3c2b5 100644
--- a/bt5/erp5_pdm/bt/revision
+++ b/bt5/erp5_pdm/bt/revision
@@ -1 +1 @@
-494
\ No newline at end of file
+495
\ No newline at end of file
-- 
2.30.9