[Erp5-report] r15530 - /erp5/trunk/products/ERP5/bootstrap/erp5_core/SkinTemplateItem/porta...

nobody at svn.erp5.org nobody at svn.erp5.org
Tue Aug 7 16:19:51 CEST 2007


Author: yusei
Date: Tue Aug  7 16:19:51 2007
New Revision: 15530

URL: http://svn.erp5.org?rev=15530&view=rev
Log:
Fixed a proxy field problem with a dirty way(to use meta_type).
Need to fix with other way (not to use meta_type is better).

Modified:
    erp5/trunk/products/ERP5/bootstrap/erp5_core/SkinTemplateItem/portal_skins/erp5_core/Base_validateRelation.xml

Modified: erp5/trunk/products/ERP5/bootstrap/erp5_core/SkinTemplateItem/portal_skins/erp5_core/Base_validateRelation.xml
URL: http://svn.erp5.org/erp5/trunk/products/ERP5/bootstrap/erp5_core/SkinTemplateItem/portal_skins/erp5_core/Base_validateRelation.xml?rev=15530&r1=15529&r2=15530&view=diff
==============================================================================
--- erp5/trunk/products/ERP5/bootstrap/erp5_core/SkinTemplateItem/portal_skins/erp5_core/Base_validateRelation.xml (original)
+++ erp5/trunk/products/ERP5/bootstrap/erp5_core/SkinTemplateItem/portal_skins/erp5_core/Base_validateRelation.xml Tue Aug  7 16:19:51 2007
@@ -83,6 +83,17 @@
 \n
 o = context.restrictedTraverse(object_path)\n
 \n
+# XXX We should not use meta_type properly,\n
+# XXX We need to discuss this problem.(yusei)\n
+def checkFieldType(field, field_type):\n
+  if field.meta_type==field_type:\n
+    return True\n
+  elif field.meta_type==\'ProxyField\':\n
+    template_field = field.getRecursiveTemplateField()\n
+    if template_field.meta_type==field_type:\n
+      return True\n
+  return False\n
+\n
 def checkSameKeys(a , b):\n
   """\n
     Checks if the two lists contain\n
@@ -138,7 +149,7 @@
     if same_type(new_value,\'a\'):\n
       new_value = [new_value]\n
     same_keys = 0\n
-    if my_field.meta_type == \'MultiRelationStringField\':\n
+    if checkFieldType(my_field, \'MultiRelationStringField\'):\n
       # The checkProperty sometimes does not provide an\n
       # acceptable value - XXXX - see vetement_id in Modele View\n
       if old_value is \'\' or old_value is None:\n
@@ -233,7 +244,7 @@
                                 )\n
     else:\n
       request.set(\'catalog_index\', my_field.get_value(\'catalog_index\'))\n
-      if my_field.meta_type == \'MultiRelationStringField\':\n
+      if checkFieldType(my_field, \'MultiRelationStringField\'):\n
         request.set(\'relation_values\', request.get( my_field.id, None))\n
       else:\n
         request.set(\'relation_values\', [request.get( my_field.id, None)])\n
@@ -325,6 +336,7 @@
                             <string>None</string>
                             <string>base_category</string>
                             <string>o</string>
+                            <string>checkFieldType</string>
                             <string>checkSameKeys</string>
                             <string>getOrderedUids</string>
                             <string>getattr</string>




More information about the Erp5-report mailing list