From 8f280383e72652ba0cab1ee9fe7fa7c06ba48e31 Mon Sep 17 00:00:00 2001
From: Lucas Carvalho <lucas@nexedi.com>
Date: Thu, 15 Jul 2010 17:14:00 +0000
Subject: [PATCH 001/270] Added new method to DummyMailHost to return the last
 log message. (Merged with ExpressOrderMixin.DummyMailHost)

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@37149 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 product/ERP5Type/tests/utils.py | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/product/ERP5Type/tests/utils.py b/product/ERP5Type/tests/utils.py
index 2f998972dd..41392b2471 100644
--- a/product/ERP5Type/tests/utils.py
+++ b/product/ERP5Type/tests/utils.py
@@ -68,6 +68,7 @@ class DummyMailHost(MailHost):
     self._previous_message = self._last_message
     self._last_message = (mfrom, mto, messageText)
     self._message_list.append(self._last_message)
+
   def _decodeMessage(self, messageText):
     """ Decode message"""
     message_text = messageText
@@ -76,12 +77,18 @@ class DummyMailHost(MailHost):
                   and not part.is_multipart():
         message_text = part.get_payload(decode=1)
     return message_text
+
   def getMessageList(self, decode=True):
     """ Return message list"""
     if decode:
       return [ (m[0], m[1], self._decodeMessage(m[2])) for m in self._message_list]
     return self._message_list
 
+  def getLastLog(self):
+    """ Return last message """
+    return self._last_message
+
+
 class DummyTranslationService:
   """A dummy translation service where you can access translated msgids and
   mappings in _translated.
-- 
2.30.9


From 02293294e305bdf21c65901ec99daad872e37c4e Mon Sep 17 00:00:00 2001
From: Mayoro Diagne <mayoro@nexedi.com>
Date: Thu, 15 Jul 2010 17:23:02 +0000
Subject: [PATCH 002/270] 2010-07-15 mayoro * Customise change password dialog
 according to egov style

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@37150 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 .../erp5_egov/EGov_viewChangePasswordForm.xml | 162 +++++++++
 .../EGov_viewChangePasswordForm/login.xml     | 313 ++++++++++++++++++
 .../erp5_egov_theme/EGov_setNewPassword.xml   | 170 ++++++++++
 .../WebSite_viewChangePasswordRenderer.xml    | 105 ++++++
 ...bSite_viewGovernmentHeaderFormRenderer.xml |   2 +-
 ..._viewGovernmentHeaderWorkspaceRenderer.xml |   2 +-
 .../WebSite_viewHeaderFormRenderer.xml        |   2 +-
 .../WebSite_viewHeaderWorkspaceRenderer.xml   |   2 +-
 bt5/erp5_egov/bt/change_log                   |   3 +
 bt5/erp5_egov/bt/revision                     |   2 +-
 10 files changed, 758 insertions(+), 5 deletions(-)
 create mode 100644 bt5/erp5_egov/SkinTemplateItem/portal_skins/erp5_egov/EGov_viewChangePasswordForm.xml
 create mode 100644 bt5/erp5_egov/SkinTemplateItem/portal_skins/erp5_egov/EGov_viewChangePasswordForm/login.xml
 create mode 100644 bt5/erp5_egov/SkinTemplateItem/portal_skins/erp5_egov_theme/EGov_setNewPassword.xml
 create mode 100644 bt5/erp5_egov/SkinTemplateItem/portal_skins/erp5_egov_theme/WebSite_viewChangePasswordRenderer.xml

diff --git a/bt5/erp5_egov/SkinTemplateItem/portal_skins/erp5_egov/EGov_viewChangePasswordForm.xml b/bt5/erp5_egov/SkinTemplateItem/portal_skins/erp5_egov/EGov_viewChangePasswordForm.xml
new file mode 100644
index 0000000000..bee658f100
--- /dev/null
+++ b/bt5/erp5_egov/SkinTemplateItem/portal_skins/erp5_egov/EGov_viewChangePasswordForm.xml
@@ -0,0 +1,162 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="ERP5Form" module="Products.ERP5Form.Form"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_bind_names</string> </key>
+            <value>
+              <object>
+                <klass>
+                  <global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/>
+                </klass>
+                <tuple/>
+                <state>
+                  <dictionary>
+                    <item>
+                        <key> <string>_asgns</string> </key>
+                        <value>
+                          <dictionary/>
+                        </value>
+                    </item>
+                  </dictionary>
+                </state>
+              </object>
+            </value>
+        </item>
+        <item>
+            <key> <string>_objects</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+        <item>
+            <key> <string>action</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>description</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>edit_order</string> </key>
+            <value>
+              <list/>
+            </value>
+        </item>
+        <item>
+            <key> <string>encoding</string> </key>
+            <value> <string>UTF-8</string> </value>
+        </item>
+        <item>
+            <key> <string>enctype</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>group_list</string> </key>
+            <value>
+              <list>
+                <string>left</string>
+                <string>right</string>
+                <string>center</string>
+                <string>bottom</string>
+                <string>hidden</string>
+                <string>widget_space</string>
+              </list>
+            </value>
+        </item>
+        <item>
+            <key> <string>groups</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>bottom</string> </key>
+                    <value>
+                      <list/>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>center</string> </key>
+                    <value>
+                      <list/>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>hidden</string> </key>
+                    <value>
+                      <list/>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>left</string> </key>
+                    <value>
+                      <list/>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>right</string> </key>
+                    <value>
+                      <list/>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>widget_space</string> </key>
+                    <value>
+                      <list>
+                        <string>login</string>
+                      </list>
+                    </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>EGov_viewChangePasswordForm</string> </value>
+        </item>
+        <item>
+            <key> <string>method</string> </key>
+            <value> <string>POST</string> </value>
+        </item>
+        <item>
+            <key> <string>name</string> </key>
+            <value> <string>EGov_viewChangePasswordForm</string> </value>
+        </item>
+        <item>
+            <key> <string>pt</string> </key>
+            <value> <string>form_view</string> </value>
+        </item>
+        <item>
+            <key> <string>row_length</string> </key>
+            <value> <int>4</int> </value>
+        </item>
+        <item>
+            <key> <string>stored_encoding</string> </key>
+            <value> <string>UTF-8</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>unicode_mode</string> </key>
+            <value> <int>0</int> </value>
+        </item>
+        <item>
+            <key> <string>update_action</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>update_action_title</string> </key>
+            <value> <string></string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_egov/SkinTemplateItem/portal_skins/erp5_egov/EGov_viewChangePasswordForm/login.xml b/bt5/erp5_egov/SkinTemplateItem/portal_skins/erp5_egov/EGov_viewChangePasswordForm/login.xml
new file mode 100644
index 0000000000..2607f1753e
--- /dev/null
+++ b/bt5/erp5_egov/SkinTemplateItem/portal_skins/erp5_egov/EGov_viewChangePasswordForm/login.xml
@@ -0,0 +1,313 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="EditorField" module="Products.ERP5Form.EditorField"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>login</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>
+                <item>
+                    <key> <string>line_too_long</string> </key>
+                    <value> <string>A line was too long.</string> </value>
+                </item>
+                <item>
+                    <key> <string>required_not_found</string> </key>
+                    <value> <string>Input is required but no input given.</string> </value>
+                </item>
+                <item>
+                    <key> <string>too_long</string> </key>
+                    <value> <string>You entered too many characters.</string> </value>
+                </item>
+                <item>
+                    <key> <string>too_many_lines</string> </key>
+                    <value> <string>You entered too many lines.</string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>overrides</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>alternate_name</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>css_class</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>default</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>description</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>editable</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>enabled</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>external_validator</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>extra</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>height</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>hidden</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>max_length</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>max_linelength</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>max_lines</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>required</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>text_editor</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>title</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>unicode</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>whitespace_preserve</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>width</string> </key>
+                    <value> <string></string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>tales</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>alternate_name</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>css_class</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <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>editable</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>enabled</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>external_validator</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>extra</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>height</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>hidden</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>max_length</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>max_linelength</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>max_lines</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>required</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>text_editor</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>title</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>unicode</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>whitespace_preserve</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>width</string> </key>
+                    <value> <string></string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>values</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>alternate_name</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>css_class</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>default</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>description</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>editable</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+                <item>
+                    <key> <string>enabled</string> </key>
+                    <value> <int>1</int> </value>
+                </item>
+                <item>
+                    <key> <string>external_validator</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>extra</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>height</string> </key>
+                    <value> <int>5</int> </value>
+                </item>
+                <item>
+                    <key> <string>hidden</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+                <item>
+                    <key> <string>max_length</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>max_linelength</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>max_lines</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>required</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+                <item>
+                    <key> <string>text_editor</string> </key>
+                    <value> <string>text_area</string> </value>
+                </item>
+                <item>
+                    <key> <string>title</string> </key>
+                    <value> <string>login</string> </value>
+                </item>
+                <item>
+                    <key> <string>unicode</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+                <item>
+                    <key> <string>whitespace_preserve</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+                <item>
+                    <key> <string>width</string> </key>
+                    <value> <int>40</int> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+      </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>here/WebSite_viewChangePasswordRenderer</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_egov/SkinTemplateItem/portal_skins/erp5_egov_theme/EGov_setNewPassword.xml b/bt5/erp5_egov/SkinTemplateItem/portal_skins/erp5_egov_theme/EGov_setNewPassword.xml
new file mode 100644
index 0000000000..ea34595e5c
--- /dev/null
+++ b/bt5/erp5_egov/SkinTemplateItem/portal_skins/erp5_egov_theme/EGov_setNewPassword.xml
@@ -0,0 +1,170 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>Script_magic</string> </key>
+            <value> <int>3</int> </value>
+        </item>
+        <item>
+            <key> <string>_bind_names</string> </key>
+            <value>
+              <object>
+                <klass>
+                  <global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/>
+                </klass>
+                <tuple/>
+                <state>
+                  <dictionary>
+                    <item>
+                        <key> <string>_asgns</string> </key>
+                        <value>
+                          <dictionary>
+                            <item>
+                                <key> <string>name_container</string> </key>
+                                <value> <string>container</string> </value>
+                            </item>
+                            <item>
+                                <key> <string>name_context</string> </key>
+                                <value> <string>context</string> </value>
+                            </item>
+                            <item>
+                                <key> <string>name_m_self</string> </key>
+                                <value> <string>script</string> </value>
+                            </item>
+                            <item>
+                                <key> <string>name_subpath</string> </key>
+                                <value> <string>traverse_subpath</string> </value>
+                            </item>
+                          </dictionary>
+                        </value>
+                    </item>
+                  </dictionary>
+                </state>
+              </object>
+            </value>
+        </item>
+        <item>
+            <key> <string>_body</string> </key>
+            <value> <string>from AccessControl import getSecurityManager\n
+from Products.ERP5Type.Message import translateString\n
+\n
+request = context.REQUEST\n
+new_password = request.get("new_password")\n
+former_password = request.get("current_password")\n
+password_confirm = request.get("password_confirm")\n
+\n
+user = getSecurityManager().getUser()\n
+persons = context.acl_users.erp5_users.getUserByLogin(user)\n
+person = persons[0]\n
+\n
+if not person.checkPassword(former_password):\n
+  msg = translateString("Current password is wrong.")\n
+elif new_password != password_confirm:\n
+  msg = translateString("Confirmation failed, passwords are not equals.")\n
+  return context.Base_redirect(form_id=\'EGov_viewChangePasswordForm\', keep_items = {\'portal_status_message\' : msg})\n
+else:\n
+  msg = translateString("Password changed.")\n
+  person.setPassword(new_password)\n
+\n
+# clear erp5_content_short cache (see _authenticateCredentials in Products.ERP5Security.ERP5UserManager)\n
+context.portal_caches.clearCache((\'erp5_content_short\',))\n
+return context.WebSite_logout()\n
+</string> </value>
+        </item>
+        <item>
+            <key> <string>_code</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>_params</string> </key>
+            <value> <string>form_id=\'view\', **kw</string> </value>
+        </item>
+        <item>
+            <key> <string>_proxy_roles</string> </key>
+            <value>
+              <tuple>
+                <string>Manager</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>errors</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+        <item>
+            <key> <string>func_code</string> </key>
+            <value>
+              <object>
+                <klass>
+                  <global name="FuncCode" module="Shared.DC.Scripts.Signature"/>
+                </klass>
+                <tuple/>
+                <state>
+                  <dictionary>
+                    <item>
+                        <key> <string>co_argcount</string> </key>
+                        <value> <int>1</int> </value>
+                    </item>
+                    <item>
+                        <key> <string>co_varnames</string> </key>
+                        <value>
+                          <tuple>
+                            <string>form_id</string>
+                            <string>kw</string>
+                            <string>AccessControl</string>
+                            <string>getSecurityManager</string>
+                            <string>Products.ERP5Type.Message</string>
+                            <string>translateString</string>
+                            <string>_getattr_</string>
+                            <string>context</string>
+                            <string>request</string>
+                            <string>new_password</string>
+                            <string>former_password</string>
+                            <string>password_confirm</string>
+                            <string>user</string>
+                            <string>persons</string>
+                            <string>_getitem_</string>
+                            <string>person</string>
+                            <string>msg</string>
+                          </tuple>
+                        </value>
+                    </item>
+                  </dictionary>
+                </state>
+              </object>
+            </value>
+        </item>
+        <item>
+            <key> <string>func_defaults</string> </key>
+            <value>
+              <tuple>
+                <string>view</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>EGov_setNewPassword</string> </value>
+        </item>
+        <item>
+            <key> <string>warnings</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_egov/SkinTemplateItem/portal_skins/erp5_egov_theme/WebSite_viewChangePasswordRenderer.xml b/bt5/erp5_egov/SkinTemplateItem/portal_skins/erp5_egov_theme/WebSite_viewChangePasswordRenderer.xml
new file mode 100644
index 0000000000..5f9d3a81cc
--- /dev/null
+++ b/bt5/erp5_egov/SkinTemplateItem/portal_skins/erp5_egov_theme/WebSite_viewChangePasswordRenderer.xml
@@ -0,0 +1,105 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="ZopePageTemplate" module="Products.PageTemplates.ZopePageTemplate"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_bind_names</string> </key>
+            <value>
+              <object>
+                <klass>
+                  <global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/>
+                </klass>
+                <tuple/>
+                <state>
+                  <dictionary>
+                    <item>
+                        <key> <string>_asgns</string> </key>
+                        <value>
+                          <dictionary>
+                            <item>
+                                <key> <string>name_subpath</string> </key>
+                                <value> <string>traverse_subpath</string> </value>
+                            </item>
+                          </dictionary>
+                        </value>
+                    </item>
+                  </dictionary>
+                </state>
+              </object>
+            </value>
+        </item>
+        <item>
+            <key> <string>_text</string> </key>
+            <value> <string encoding="cdata"><![CDATA[
+
+<!-- ============================================================== -->\n
+<!--\n
+Description:\n
+  This macro render a tabbed search panel.\n
+-->\n
+\n
+<tal:block metal:define-macro="main">\n
+  <tal:block tal:define="global web_site_url web_site_url | nothing"/>\n
+  <tal:block tal:condition="not:web_site_url">\n
+    <tal:block metal:use-macro="here/global_definitions/macros/header_definitions"/>\n
+  </tal:block>\n
+  <div class="tabber">\n
+    <div class="tabbertab">\n
+      <h2 i18n:translate="" i18n:domain="ui">Change Password</h2>\n
+      <div>\n
+        <div class="fields">\n
+          <p><tal:block i18n:translate="" i18n:domain="ui">Reference</tal:block></p>\n
+          <p><tal:block i18n:translate="" i18n:domain="ui">Current Password</tal:block></p>\n
+          <p><tal:block i18n:translate="" i18n:domain="ui">New Password</tal:block></p>\n
+          <p><tal:block i18n:translate="" i18n:domain="ui">Confirm New Password</tal:block></p>\n
+        </div>\n
+        <div class="fields">\n
+          <p><input type="text" size="20" id="your_refernce" name="reference" disabled="disabled" \n
+              tal:attributes="value python: context.portal_membership.getAuthenticatedMember().getUserName()"/></p>\n
+          <p><input type="password" size="20" id="password" name="current_password" autocomplete="off"/></p>\n
+          <p><input type="password" size="20" id="password" name="new_password" autocomplete="off"/></p>\n
+          <p><input type="password" size="20" id="password" name="password_confirm" autocomplete="off"/></p>\n
+        </div>\n
+      </div>\n
+      <div class="clear"></div>\n
+      <div id="track_button">\n
+        <input i18n:domain="ui" i18n:attributes="value" type="submit"\n
+        name="EGov_setNewPassword:method"\n
+        value="Change Password"/>\n
+      </div>\n
+      <div class="clear"></div>\n
+    </div>\n
+  </div>\n
+  <div class="clear"></div>\n
+</tal:block>\n
+
+
+]]></string> </value>
+        </item>
+        <item>
+            <key> <string>content_type</string> </key>
+            <value> <string>text/html</string> </value>
+        </item>
+        <item>
+            <key> <string>expand</string> </key>
+            <value> <int>0</int> </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>WebSite_viewChangePasswordRenderer</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string></string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_egov/SkinTemplateItem/portal_skins/erp5_egov_widget_library/WebSite_viewGovernmentHeaderFormRenderer.xml b/bt5/erp5_egov/SkinTemplateItem/portal_skins/erp5_egov_widget_library/WebSite_viewGovernmentHeaderFormRenderer.xml
index ce5fca067b..6b13b75f36 100644
--- a/bt5/erp5_egov/SkinTemplateItem/portal_skins/erp5_egov_widget_library/WebSite_viewGovernmentHeaderFormRenderer.xml
+++ b/bt5/erp5_egov/SkinTemplateItem/portal_skins/erp5_egov_widget_library/WebSite_viewGovernmentHeaderFormRenderer.xml
@@ -54,7 +54,7 @@
         <a class="print" href="PDFDocument_viewAsPdf"\n
           tal:attributes="href python: context.getPrintFormUrl()" i18n:translate="" i18n:domain="ui">Print</a>\n
       </tal:block>      \n
-      <a class="preferences" tal:condition="python: context.EGov_checkUserIsAPersonOrOrganisation()==True" href="PreferenceTool_viewChangePasswordDialog" \n
+      <a class="preferences" tal:condition="python: context.EGov_checkUserIsAPersonOrOrganisation()==True" href="EGov_viewChangePasswordForm" \n
         i18n:translate="" i18n:domain="ui">Change Password</a>\n
       <a class="help" href="EGov_helpWithContext"  tal:attributes="href python:\'help/\' + here.EGov_helpWithContext()" onclick="window.open(this.href, \'egov_help\',\'width=800,height=500,menubar=yes,toolbar=yes,scrollbars=yes,resizable=yes\'); return false;" i18n:translate="" i18n:domain="ui">Help</a>\n
       <tal:block tal:condition="python: not here.portal_membership.isAnonymousUser()">\n
diff --git a/bt5/erp5_egov/SkinTemplateItem/portal_skins/erp5_egov_widget_library/WebSite_viewGovernmentHeaderWorkspaceRenderer.xml b/bt5/erp5_egov/SkinTemplateItem/portal_skins/erp5_egov_widget_library/WebSite_viewGovernmentHeaderWorkspaceRenderer.xml
index 803e68c4f8..f80ccd5490 100644
--- a/bt5/erp5_egov/SkinTemplateItem/portal_skins/erp5_egov_widget_library/WebSite_viewGovernmentHeaderWorkspaceRenderer.xml
+++ b/bt5/erp5_egov/SkinTemplateItem/portal_skins/erp5_egov_widget_library/WebSite_viewGovernmentHeaderWorkspaceRenderer.xml
@@ -51,7 +51,7 @@
         <a class="home" tal:attributes="href python:context.getWebSiteValue().absolute_url()" \n
           href="./home" i18n:translate="" i18n:domain="ui">Home</a>\n
       </tal:block>\n
-      <a class="preferences" tal:condition="python: context.EGov_checkUserIsAPersonOrOrganisation()==True" href="PreferenceTool_viewChangePasswordDialog" \n
+      <a class="preferences" tal:condition="python: context.EGov_checkUserIsAPersonOrOrganisation()==True" href="EGov_viewChangePasswordForm" \n
         i18n:translate="" i18n:domain="ui">Change Password</a>\n
 \n
       <!--\n
diff --git a/bt5/erp5_egov/SkinTemplateItem/portal_skins/erp5_egov_widget_library/WebSite_viewHeaderFormRenderer.xml b/bt5/erp5_egov/SkinTemplateItem/portal_skins/erp5_egov_widget_library/WebSite_viewHeaderFormRenderer.xml
index d6a89db4c9..8cc1f0e924 100644
--- a/bt5/erp5_egov/SkinTemplateItem/portal_skins/erp5_egov_widget_library/WebSite_viewHeaderFormRenderer.xml
+++ b/bt5/erp5_egov/SkinTemplateItem/portal_skins/erp5_egov_widget_library/WebSite_viewHeaderFormRenderer.xml
@@ -56,7 +56,7 @@
           tal:attributes="href python: context.getPrintFormUrl()" i18n:translate="" i18n:domain="ui">Print</a>\n
       </tal:block>\n
       <!--<a class="help" href="EGov_helpWithContext"  tal:attributes="href python:\'help/\' + here.EGov_helpWithContext()" i18n:translate="" i18n:domain="ui">Help</a>-->\n
-      <a class="preferences" tal:condition="python: context.EGov_checkUserIsAPersonOrOrganisation()==True" href="PreferenceTool_viewChangePasswordDialog" \n
+      <a class="preferences" tal:condition="python: context.EGov_checkUserIsAPersonOrOrganisation()==True" href="EGov_viewChangePasswordForm" \n
         i18n:translate="" i18n:domain="ui">Change Password</a>\n
       <a class="help" href="EGov_helpWithContext"  tal:attributes="href python:\'help/\' + here.EGov_helpWithContext()" onclick="window.open(this.href, \'egov_help\',\'width=800,height=500,menubar=yes,toolbar=yes,scrollbars=yes,resizable=yes\'); return false;" i18n:translate="" i18n:domain="ui">Help</a>\n
       <a class="logout" href="WebSite_logout" i18n:translate="" i18n:domain="ui">Logout</a> \n
diff --git a/bt5/erp5_egov/SkinTemplateItem/portal_skins/erp5_egov_widget_library/WebSite_viewHeaderWorkspaceRenderer.xml b/bt5/erp5_egov/SkinTemplateItem/portal_skins/erp5_egov_widget_library/WebSite_viewHeaderWorkspaceRenderer.xml
index c5685e118d..16fb90142b 100644
--- a/bt5/erp5_egov/SkinTemplateItem/portal_skins/erp5_egov_widget_library/WebSite_viewHeaderWorkspaceRenderer.xml
+++ b/bt5/erp5_egov/SkinTemplateItem/portal_skins/erp5_egov_widget_library/WebSite_viewHeaderWorkspaceRenderer.xml
@@ -51,7 +51,7 @@
         <a class="home" tal:attributes="href python:context.getWebSiteValue().absolute_url()" \n
           href="./home" i18n:translate="" i18n:domain="ui">Home</a>\n
 \n
-      <a class="preferences" tal:condition="python: context.EGov_checkUserIsAPersonOrOrganisation()==True" href="PreferenceTool_viewChangePasswordDialog" \n
+      <a class="preferences" tal:condition="python: context.EGov_checkUserIsAPersonOrOrganisation()==True" href="EGov_viewChangePasswordForm" \n
         i18n:translate="" i18n:domain="ui">Change Password</a>\n
      \n
      <!--\n
diff --git a/bt5/erp5_egov/bt/change_log b/bt5/erp5_egov/bt/change_log
index c658eca74b..5920b25681 100644
--- a/bt5/erp5_egov/bt/change_log
+++ b/bt5/erp5_egov/bt/change_log
@@ -1,3 +1,6 @@
+2010-07-15 mayoro
+* Customise change password dialog according to egov style
+
 2010-07-12 mayoro
 * Add removed propertysheet PDFForm, needed by PDF Type
 
diff --git a/bt5/erp5_egov/bt/revision b/bt5/erp5_egov/bt/revision
index 191829efad..fea826bf85 100644
--- a/bt5/erp5_egov/bt/revision
+++ b/bt5/erp5_egov/bt/revision
@@ -1 +1 @@
-735
\ No newline at end of file
+738
\ No newline at end of file
-- 
2.30.9


From 7f74cb0f04fbc1b4afe46dbb1ced3329e030248c Mon Sep 17 00:00:00 2001
From: Leonardo Rochael Almeida <leonardo@nexedi.com>
Date: Thu, 15 Jul 2010 21:20:30 +0000
Subject: [PATCH 003/270] backport TM.sortKey/setSortKey from
 Products.ZSQLMethod (previously on Zope 2.12)

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@37151 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 product/ERP5Type/patches/TM.py | 18 ++++++++++++++++++
 1 file changed, 18 insertions(+)

diff --git a/product/ERP5Type/patches/TM.py b/product/ERP5Type/patches/TM.py
index 222e608b1f..cdb473934b 100644
--- a/product/ERP5Type/patches/TM.py
+++ b/product/ERP5Type/patches/TM.py
@@ -29,3 +29,21 @@ def TM__register(self):
         #except: pass
 
 TM._register = TM__register
+
+if getattr(TM, 'setSortKey', None) is None:
+
+    # BACK: We're not yet on Zope 2.12, patch in the sort_key setting method
+    # remove this part when we drop support for earlier versions.
+    def setSortKey(self, sort_key):
+        self._sort_key = sort_key
+
+    def sortKey(self, *ignored):
+        """ The sortKey method is used by the transaction subsystem to have a
+            known commit order for lock acquisition.
+        """
+        return self._sort_key
+
+    TM._sort_key = 1
+    TM.setSortKey = setSortKey
+    TM.sortKey = sortKey
+
-- 
2.30.9


From ecb366b670b3d1f2b8db515b482a2e438f98e3a7 Mon Sep 17 00:00:00 2001
From: Leonardo Rochael Almeida <leonardo@nexedi.com>
Date: Thu, 15 Jul 2010 22:03:46 +0000
Subject: [PATCH 004/270] wrap connectors in their portal so the .connect()
 method actually works

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@37152 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 product/ERP5/tests/testInvalidationBug.py | 9 +++++----
 1 file changed, 5 insertions(+), 4 deletions(-)

diff --git a/product/ERP5/tests/testInvalidationBug.py b/product/ERP5/tests/testInvalidationBug.py
index f0fc470cff..4c1ac25443 100644
--- a/product/ERP5/tests/testInvalidationBug.py
+++ b/product/ERP5/tests/testInvalidationBug.py
@@ -54,16 +54,17 @@ class TestInvalidationBug(ERP5TypeTestCase):
 
   def testCommitOrder(self):
     """Check order of resources being committed"""
-    module = self.getPortalObject().organisation_module
+    module = self.portal.organisation_module
     organisation = module.newContent()    # modify ZODB and create activity
     organisation.immediateReindexObject() # modify catalog
     path = organisation.getPath()
     test_list = []
     for connection_id, table in (('erp5_sql_connection', 'catalog'),
                                  ('cmf_activity_sql_connection', 'message')):
-      connection = self.portal[connection_id]
-      connection = connection.__class__('_' + connection_id, '',
-                                        '-' + connection.connection_string)
+      conn_class = self.portal[connection_id].__class__
+      conn_string = self.portal[connection_id].connection_string
+      connection = conn_class('_' + connection_id, '',
+                              '-' + conn_string).__of__(self.portal)
       query = "rollback\0select * from %s where path='%s'" % (table, path)
       test_list.append(lambda manage_test=connection.manage_test, query=query:
          len(manage_test(query)))
-- 
2.30.9


From 2c37d7abb073fe35ca58daa014325e140f318a8c Mon Sep 17 00:00:00 2001
From: Leonardo Rochael Almeida <leonardo@nexedi.com>
Date: Thu, 15 Jul 2010 22:07:50 +0000
Subject: [PATCH 005/270] Give access to the setSortKey() method of the
 underlying transaction manager

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@37153 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 product/ZMySQLDA/db.py | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)

diff --git a/product/ZMySQLDA/db.py b/product/ZMySQLDA/db.py
index 80858aaf55..fc8ab243e9 100644
--- a/product/ZMySQLDA/db.py
+++ b/product/ZMySQLDA/db.py
@@ -169,8 +169,8 @@ def int_or_long(s):
 class ThreadedDB:
     """
       This class is an interface to DB.
-      Its caracteristic is that an instance of this class interfaces multiple
-      instanes of DB class, each one being bound to a specific thread.
+      Its characteristic is that an instance of this class interfaces multiple
+      instances of DB class, each one being bound to a specific thread.
     """
 
     conv=conversions.copy()
@@ -297,6 +297,10 @@ class ThreadedDB:
     def string_literal(self, *args, **kw):
         return self._access_db(method_id='string_literal', args=args, kw=kw)
 
+    def setSortKey(self, *args, **kw):
+        return self._access_db(method_id='setSortKey', args=args, kw=kw)
+
+
 class DB(TM):
 
     defs={
-- 
2.30.9


From 3bb931be1e5f1b7f74dbd954d2442af6bdc6036e Mon Sep 17 00:00:00 2001
From: Yusei Tahara <yusei@nexedi.com>
Date: Fri, 16 Jul 2010 00:55:17 +0000
Subject: [PATCH 006/270] 2010-07-16 yusei * Revert my previous change and
 remove added parameters.

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@37154 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 .../erp5_accounting/Node_statAccountingBalance.xml       | 9 ---------
 bt5/erp5_accounting/bt/change_log                        | 3 +++
 bt5/erp5_accounting/bt/revision                          | 2 +-
 3 files changed, 4 insertions(+), 10 deletions(-)

diff --git a/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/Node_statAccountingBalance.xml b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/Node_statAccountingBalance.xml
index 9a7221b7a3..6bf8f4ad23 100644
--- a/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/Node_statAccountingBalance.xml
+++ b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/Node_statAccountingBalance.xml
@@ -92,15 +92,6 @@ if kw.get(\'node_category\'):\n
 if kw.get(\'mirror_section_category\'):\n
   params[\'mirror_section_category\'] = kw[\'mirror_section_category\']\n
 \n
-if kw.get(\'at_date\'):\n
-  params[\'at_date\'] = kw[\'at_date\'].latestTime()\n
-\n
-if kw.get(\'from_date\'):\n
-  params[\'from_date\'] = kw[\'from_date\']\n
-\n
-if kw.get(\'to_date\'):\n
-  params[\'to_date\'] = kw[\'to_date\']\n
-\n
 ###\n
 # Get the \'where_expression\' parameter\n
 # XXX can be removed ?\n
diff --git a/bt5/erp5_accounting/bt/change_log b/bt5/erp5_accounting/bt/change_log
index 2b29062db7..0dc021a1b6 100644
--- a/bt5/erp5_accounting/bt/change_log
+++ b/bt5/erp5_accounting/bt/change_log
@@ -1,3 +1,6 @@
+2010-07-16 yusei
+* Revert my previous change and remove added parameters.
+
 2010-07-12 yusei
 * Update Node_statAccountingBalance and accept "at_date", "from_date", "to_date" parameters.
 
diff --git a/bt5/erp5_accounting/bt/revision b/bt5/erp5_accounting/bt/revision
index c0340d263f..91530abf65 100644
--- a/bt5/erp5_accounting/bt/revision
+++ b/bt5/erp5_accounting/bt/revision
@@ -1 +1 @@
-1312
\ No newline at end of file
+1313
\ No newline at end of file
-- 
2.30.9


From 224537c8566be1e9ecf5889c379cb5b67ea7b674 Mon Sep 17 00:00:00 2001
From: Nicolas Dumazet <nicolas.dumazet@nexedi.com>
Date: Fri, 16 Jul 2010 01:14:34 +0000
Subject: [PATCH 007/270] A movement a built if it has no *Delivery* value. Not
 Causality.

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@37155 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 product/ERP5/Document/BusinessPath.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/product/ERP5/Document/BusinessPath.py b/product/ERP5/Document/BusinessPath.py
index 92ca551af4..044dc92602 100644
--- a/product/ERP5/Document/BusinessPath.py
+++ b/product/ERP5/Document/BusinessPath.py
@@ -668,7 +668,7 @@ class BusinessPath(Path, Predicate):
     movement_looking_for_dict = {}
 
     def isBuiltAndCompleted(simulation, path):
-      return simulation.getCausalityValue() is not None and \
+      return simulation.getDeliveryValue() is not None and \
           simulation.getSimulationState() in predecessor_to_state_dict[path]
 
     ### Step 1:
-- 
2.30.9


From 9a33227ab70a8c5881506be82c377d18f481ca87 Mon Sep 17 00:00:00 2001
From: Yoshinori Okuji <yo@nexedi.com>
Date: Fri, 16 Jul 2010 02:16:13 +0000
Subject: [PATCH 008/270] When calculating the diff of a quantity, it is
 necessary to use real values instead of recorded ones.

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@37156 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 product/ERP5Legacy/Document/Rule.py | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

diff --git a/product/ERP5Legacy/Document/Rule.py b/product/ERP5Legacy/Document/Rule.py
index 7bc9dc3a05..101130b7d4 100644
--- a/product/ERP5Legacy/Document/Rule.py
+++ b/product/ERP5Legacy/Document/Rule.py
@@ -408,14 +408,17 @@ class Rule(Predicate, XMLObject):
       if p_matched_list != []:
         # Check the quantity
         m_quantity = 0.0
+        real_quantity = 0.0
         for movement in p_matched_list:
+          quantity = movement.getQuantity()
           if movement.isPropertyRecorded('quantity'):
             m_quantity += movement.getRecordedProperty('quantity')
           else:
-            m_quantity += movement.getQuantity()
+            m_quantity += quantity
+          real_quantity += quantity
         if m_quantity != prevision.get('quantity'):
           # special case - quantity
-          q_diff = prevision.get('quantity') - m_quantity
+          q_diff = prevision.get('quantity') - real_quantity
           # try to find a movement that can be edited
           for movement in p_matched_list:
             if movement in (mutable_movement_list \
-- 
2.30.9


From 04a9ddee2a5c89db5c2d5220e65b43f15ff8687c Mon Sep 17 00:00:00 2001
From: Nicolas Dumazet <nicolas.dumazet@nexedi.com>
Date: Fri, 16 Jul 2010 02:35:33 +0000
Subject: [PATCH 009/270] Do not return movements that have, in the same
 simulation tree, non-delivered movements that are related to predecessors of
 BusinessPath in context

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@37157 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 ...inessPath_zSelectBuildableMovementList.xml | 90 ++++++++++++++++---
 bt5/erp5_base/bt/revision                     |  2 +-
 2 files changed, 80 insertions(+), 12 deletions(-)

diff --git a/bt5/erp5_base/SkinTemplateItem/portal_skins/erp5_base/BusinessPath_zSelectBuildableMovementList.xml b/bt5/erp5_base/SkinTemplateItem/portal_skins/erp5_base/BusinessPath_zSelectBuildableMovementList.xml
index 9ea39165e8..6aa40df3c8 100644
--- a/bt5/erp5_base/SkinTemplateItem/portal_skins/erp5_base/BusinessPath_zSelectBuildableMovementList.xml
+++ b/bt5/erp5_base/SkinTemplateItem/portal_skins/erp5_base/BusinessPath_zSelectBuildableMovementList.xml
@@ -35,6 +35,12 @@
                                   <dictionary/>
                                 </value>
                             </item>
+                            <item>
+                                <key> <string>predecessor_uid_list</string> </key>
+                                <value>
+                                  <dictionary/>
+                                </value>
+                            </item>
                             <item>
                                 <key> <string>where_expression</string> </key>
                                 <value>
@@ -51,6 +57,7 @@
                             <string>from_table_list</string>
                             <string>where_expression</string>
                             <string>business_path_uid</string>
+                            <string>predecessor_uid_list</string>
                           </list>
                         </value>
                     </item>
@@ -63,7 +70,8 @@
             <key> <string>arguments_src</string> </key>
             <value> <string>from_table_list\r\n
 where_expression\r\n
-business_path_uid</string> </value>
+business_path_uid\r\n
+predecessor_uid_list</string> </value>
         </item>
         <item>
             <key> <string>connection_id</string> </key>
@@ -85,18 +93,45 @@ SELECT\n
 \n
 FROM\n
     movement\n
+  , category as causality\n
   , catalog\n
-  , LEFT JOIN category as delivery\n
-    ON (\n
+  LEFT JOIN category as delivery ON (\n
       catalog.uid = delivery.uid\n
       AND <dtml-sqltest "portal_categories.delivery.getUid()" column="delivery.base_category_uid" type="int">\n
-    )\n
-  , category as causality\n
+  )\n
+<dtml-if from_table_list>\n
 <dtml-in prefix="table" expr="from_table_list">\n
   <dtml-if expr="table_key not in (\'catalog\', \'movement\')">\n
   , <dtml-var table_item> AS <dtml-var table_key>\n
   </dtml-if>\n
 </dtml-in>\n
+</dtml-if>\n
+  LEFT JOIN (\n
+        /*\n
+           predecessor movements that are not delivered\n
+           (to be used to discard related movements)\n
+         */\n
+        select\n
+          SUBSTRING_INDEX(catalog.path, "/", <dtml-sqlvar "len(portal_simulation.getPhysicalPath()) + 1" type="int">) as root_applied_rule_path\n
+        from\n
+          movement\n
+          , category as causality\n
+          , catalog\n
+          LEFT JOIN category as delivery ON (\n
+              catalog.uid = delivery.uid\n
+              AND <dtml-sqltest "portal_categories.delivery.getUid()" column="delivery.base_category_uid" type="int">\n
+          )\n
+        WHERE\n
+          delivery.category_uid is NULL\n
+\n
+          AND catalog.uid = movement.uid\n
+          AND movement.resource_uid is not NULL\n
+\n
+          AND catalog.uid = causality.uid\n
+          AND <dtml-sqltest "portal_categories.causality.getUid()" column="causality.base_category_uid" type="int">\n
+          AND <dtml-sqltest predecessor_uid_list column="causality.category_uid" multiple type="int">\n
+       ) AS non_delivered_predecessor ON\n
+    root_applied_rule_path = SUBSTRING_INDEX(catalog.path, "/", <dtml-sqlvar "len(portal_simulation.getPhysicalPath()) + 1" type="int">)\n
 \n
 WHERE\n
   delivery.category_uid is NULL\n
@@ -108,7 +143,10 @@ WHERE\n
   AND catalog.uid = movement.uid\n
   AND movement.resource_uid is not NULL\n
 \n
-  <dtml-if where_expression>AND <dtml-var where_expression></dtml-if>
+  AND root_applied_rule_path is NULL\n
+\n
+  <dtml-if where_expression>AND <dtml-var where_expression> </dtml-if>\n
+
 
 ]]></string> </value>
         </item>
@@ -156,18 +194,45 @@ SELECT\n
 \n
 FROM\n
     movement\n
+  , category as causality\n
   , catalog\n
-  , LEFT JOIN category as delivery\n
-    ON (\n
+  LEFT JOIN category as delivery ON (\n
       catalog.uid = delivery.uid\n
       AND <dtml-sqltest "portal_categories.delivery.getUid()" column="delivery.base_category_uid" type="int">\n
-    )\n
-  , category as causality\n
+  )\n
+<dtml-if from_table_list>\n
 <dtml-in prefix="table" expr="from_table_list">\n
   <dtml-if expr="table_key not in (\'catalog\', \'movement\')">\n
   , <dtml-var table_item> AS <dtml-var table_key>\n
   </dtml-if>\n
 </dtml-in>\n
+</dtml-if>\n
+  LEFT JOIN (\n
+        /*\n
+           predecessor movements that are not delivered\n
+           (to be used to discard related movements)\n
+         */\n
+        select\n
+          SUBSTRING_INDEX(catalog.path, "/", <dtml-sqlvar "len(portal_simulation.getPhysicalPath()) + 1" type="int">) as root_applied_rule_path\n
+        from\n
+          movement\n
+          , category as causality\n
+          , catalog\n
+          LEFT JOIN category as delivery ON (\n
+              catalog.uid = delivery.uid\n
+              AND <dtml-sqltest "portal_categories.delivery.getUid()" column="delivery.base_category_uid" type="int">\n
+          )\n
+        WHERE\n
+          delivery.category_uid is NULL\n
+\n
+          AND catalog.uid = movement.uid\n
+          AND movement.resource_uid is not NULL\n
+\n
+          AND catalog.uid = causality.uid\n
+          AND <dtml-sqltest "portal_categories.causality.getUid()" column="causality.base_category_uid" type="int">\n
+          AND <dtml-sqltest predecessor_uid_list column="causality.category_uid" multiple type="int">\n
+       ) AS non_delivered_predecessor ON\n
+    root_applied_rule_path = SUBSTRING_INDEX(catalog.path, "/", <dtml-sqlvar "len(portal_simulation.getPhysicalPath()) + 1" type="int">)\n
 \n
 WHERE\n
   delivery.category_uid is NULL\n
@@ -179,7 +244,10 @@ WHERE\n
   AND catalog.uid = movement.uid\n
   AND movement.resource_uid is not NULL\n
 \n
-  <dtml-if where_expression>AND <dtml-var where_expression></dtml-if>
+  AND root_applied_rule_path is NULL\n
+\n
+  <dtml-if where_expression>AND <dtml-var where_expression> </dtml-if>\n
+
 
 ]]></string> </value>
                     </item>
diff --git a/bt5/erp5_base/bt/revision b/bt5/erp5_base/bt/revision
index 5be040fc33..12658c029b 100644
--- a/bt5/erp5_base/bt/revision
+++ b/bt5/erp5_base/bt/revision
@@ -1 +1 @@
-808
\ No newline at end of file
+809
\ No newline at end of file
-- 
2.30.9


From 8bec5cd8e5c3bfa5cf1b8fa5c692c3ebb8dbce38 Mon Sep 17 00:00:00 2001
From: Kazuhiko Shiozaki <kazuhiko@nexedi.com>
Date: Fri, 16 Jul 2010 05:45:46 +0000
Subject: [PATCH 010/270] clear recorded properties when updating, because
 update means incoming movements have changed and recorded properties have no
 meaning for updated properties.

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@37158 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 product/ERP5Legacy/Document/Rule.py | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/product/ERP5Legacy/Document/Rule.py b/product/ERP5Legacy/Document/Rule.py
index 101130b7d4..816b316af4 100644
--- a/product/ERP5Legacy/Document/Rule.py
+++ b/product/ERP5Legacy/Document/Rule.py
@@ -139,9 +139,11 @@ class Rule(Predicate, XMLObject):
     for movement_id in delete_list:
       applied_rule._delObject(movement_id)
 
-    # update existing
+    # update existing and clear recorded properties
     for movement, property_dict in modify_dict.items():
       applied_rule[movement].edit(**property_dict)
+      for property_id in property_dict.iterkeys():
+        applied_rule[movement].clearRecordedProperty(property_id)
 
     # add new ones
     for movement_dict in add_list:
-- 
2.30.9


From 2680cfbeb108472db015e2222e4d8daba9be63e9 Mon Sep 17 00:00:00 2001
From: Ivan Tyagov <ivan@nexedi.com>
Date: Fri, 16 Jul 2010 05:49:23 +0000
Subject: [PATCH 011/270] Add missing imports

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@37159 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 product/ERP5/mixin/extensible_traversable.py | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/product/ERP5/mixin/extensible_traversable.py b/product/ERP5/mixin/extensible_traversable.py
index 02879dcec2..0b94689a0b 100644
--- a/product/ERP5/mixin/extensible_traversable.py
+++ b/product/ERP5/mixin/extensible_traversable.py
@@ -39,13 +39,14 @@ from Products.ERP5Type import Permissions
 from Products.CMFCore.utils import getToolByName, _setCacheHeaders, _ViewEmulator
 from OFS.Image import File as OFSFile
 from warnings import warn
+import sys
+from Products.ERP5Type.UnrestrictedMethod import unrestricted_apply
 
 
 # XXX: these duplicate ones in ERP5.Document
 _MARKER = []
 EMBEDDED_FORMAT = '_embedded'
 class ConversionError(Exception):pass
-class DocumentProxyError(Exception):pass
 class NotConvertedError(Exception):pass
 
 class BaseExtensibleTraversableMixIn(ExtensibleTraversableMixIn):
-- 
2.30.9


From 9c21e03bf8a4187be1832aa9ccf40458f66d3ee2 Mon Sep 17 00:00:00 2001
From: Ivan Tyagov <ivan@nexedi.com>
Date: Fri, 16 Jul 2010 06:01:19 +0000
Subject: [PATCH 012/270] Introduce IProxyDocument and its implementation.

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@37160 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 product/ERP5/Document/Document.py         | 25 --------
 product/ERP5/Document/EmailDocument.py    |  5 +-
 product/ERP5/interfaces/document_proxy.py | 49 ++++++++++++++++
 product/ERP5/mixin/document_proxy.py      | 70 +++++++++++++++++++++++
 4 files changed, 121 insertions(+), 28 deletions(-)
 create mode 100644 product/ERP5/interfaces/document_proxy.py
 create mode 100644 product/ERP5/mixin/document_proxy.py

diff --git a/product/ERP5/Document/Document.py b/product/ERP5/Document/Document.py
index 7aa5be9dff..5c41655245 100644
--- a/product/ERP5/Document/Document.py
+++ b/product/ERP5/Document/Document.py
@@ -129,30 +129,6 @@ class DocumentProxyError(Exception):pass
 class NotConvertedError(Exception):pass
 allow_class(NotConvertedError)
 
-class DocumentProxyMixin:
-  """
-  Provides access to documents referenced by the follow_up field
-  """
-  # Declarative security
-  security = ClassSecurityInfo()
-  security.declareObjectProtected(Permissions.AccessContentsInformation)
-
-  security.declareProtected(Permissions.AccessContentsInformation,'index_html')
-  def index_html(self, REQUEST, *args, **kw):
-    """ Only a proxy method """
-    return self.getProxiedDocument().index_html(REQUEST, *args, **kw)
-
-  security.declareProtected(Permissions.AccessContentsInformation,
-                            'getProxiedDocument' )
-  def getProxiedDocument(self):
-    """
-    Try to retrieve the original document
-    """
-    proxied_document = self.getDocumentProxyValue()
-    if proxied_document is None:
-      raise DocumentProxyError("Unable to find a proxied document")
-    return proxied_document
-
 class UpdateMixIn:
   """
     Provides an API to compute a date index based on the update
@@ -206,7 +182,6 @@ class UpdateMixIn:
         fallback_script_id = 'Document_isUpdatable')
     return method()
 
-
 class Document(DocumentExtensibleTraversableMixIn, XMLObject, UrlMixIn, CachedConvertableMixin,
                SnapshotMixin, UpdateMixIn, TextConvertableMixin,
                DownloadableMixin, DocumentMixin):
diff --git a/product/ERP5/Document/EmailDocument.py b/product/ERP5/Document/EmailDocument.py
index 5a198ee724..6763dd2084 100644
--- a/product/ERP5/Document/EmailDocument.py
+++ b/product/ERP5/Document/EmailDocument.py
@@ -35,11 +35,10 @@ from Products.CMFCore.utils import _checkPermission
 from Products.ERP5Type import Permissions, PropertySheet
 from Products.ERP5.Document.TextDocument import TextDocument
 from Products.ERP5.Document.File import File
-from Products.ERP5.Document.Document import ConversionError, \
-  DocumentProxyMixin, DocumentProxyError
+from Products.ERP5.Document.Document import ConversionError
+from Products.ERP5.mixin.document_proxy import DocumentProxyMixin, DocumentProxyError
 from Products.ERP5.Tool.NotificationTool import buildEmailMessage
 from MethodObject import Method
-
 from zLOG import LOG, INFO
 
 try:
diff --git a/product/ERP5/interfaces/document_proxy.py b/product/ERP5/interfaces/document_proxy.py
new file mode 100644
index 0000000000..7da5dc20f9
--- /dev/null
+++ b/product/ERP5/interfaces/document_proxy.py
@@ -0,0 +1,49 @@
+# -*- coding: utf-8 -*-
+##############################################################################
+#
+# Copyright (c) 2009 Nexedi SA and Contributors. All Rights Reserved.
+#                    Ivan Tyagov <ivan@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.
+#
+##############################################################################
+
+from zope.interface import Interface
+
+class ILegacyDocumentProxy(Interface):
+
+  def getProxiedDocument(self, **kw):
+    """
+    Get the proxied document
+    """
+
+class IDocumentProxy(ILegacyDocumentProxy):
+  """
+  Document Proxy interface specification
+
+  IDocumentProxy provides API to access to proxied documents of the current context.
+  """
+
+  def getProxiedDocumentValue(self, **kw):
+    """
+    Get the proxied document
+    """
\ No newline at end of file
diff --git a/product/ERP5/mixin/document_proxy.py b/product/ERP5/mixin/document_proxy.py
new file mode 100644
index 0000000000..f147c5632e
--- /dev/null
+++ b/product/ERP5/mixin/document_proxy.py
@@ -0,0 +1,70 @@
+# -*- coding: utf-8 -*-
+##############################################################################
+#
+# Copyright (c) 2009 Nexedi SA and Contributors. All Rights Reserved.
+#                    Ivan Tyagov <ivan@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.
+#
+##############################################################################
+
+from AccessControl import ClassSecurityInfo
+from Products.ERP5Type import Permissions
+from warnings import warn
+
+class DocumentProxyError(Exception):pass
+
+class DocumentProxyMixin:
+  """
+  This class provides a generic implementation of IDocumentProxy and IDownloadable.
+  """
+
+  # Declarative security
+  security = ClassSecurityInfo()
+  security.declareObjectProtected(Permissions.AccessContentsInformation)
+
+  security.declareProtected(Permissions.AccessContentsInformation, 'index_html')
+  def index_html(self, REQUEST, *args, **kw):
+    """ Only a proxy method """
+    return self.getProxiedDocument().index_html(REQUEST, *args, **kw)
+
+  security.declareProtected(Permissions.AccessContentsInformation, \
+                            'getProxiedDocument' )
+  def getProxiedDocument(self):
+    """
+    Try to retrieve the original document
+    """
+    warn("getProxiedDocument() function is deprecated. Use getProxiedDocumentValue() instead.", \
+          DeprecationWarning, stacklevel=2)
+    return self.getProxiedDocumentValue()
+
+  security.declareProtected(Permissions.AccessContentsInformation,
+                            'getProxiedDocument' )
+  def getProxiedDocumentValue(self):
+    """
+    Try to retrieve the original document
+    """
+    proxied_document = self.getDocumentProxyValue()
+    if proxied_document is None:
+      raise DocumentProxyError("Unable to find a proxied document")
+    return proxied_document
+ 
\ No newline at end of file
-- 
2.30.9


From 65fbddebc0ef93f02aa730cac0cf4ef16259da1a Mon Sep 17 00:00:00 2001
From: Ivan Tyagov <ivan@nexedi.com>
Date: Fri, 16 Jul 2010 06:58:18 +0000
Subject: [PATCH 013/270] Prevent recursion by using proper API.

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@37161 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 product/ERP5/mixin/extensible_traversable.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/product/ERP5/mixin/extensible_traversable.py b/product/ERP5/mixin/extensible_traversable.py
index 0b94689a0b..08b07c3c46 100644
--- a/product/ERP5/mixin/extensible_traversable.py
+++ b/product/ERP5/mixin/extensible_traversable.py
@@ -201,7 +201,7 @@ class OOoDocumentExtensibleTraversableMixIn(BaseExtensibleTraversableMixIn):
       mime, data = self.getConversion(format=EMBEDDED_FORMAT, file_name=name)
       document = OFSFile(name, name, data, content_type=mime).__of__(self.aq_parent)
     except (NotConvertedError, ConversionError, KeyError):
-      document = DocumentExtensibleTraversableMixIn._getExtensibleContent(self, request, name)
+      document = DocumentExtensibleTraversableMixIn.getExtensibleContent(self, request, name)
     # restore original security context if there's a logged in user
     if user is not None:
       setSecurityManager(old_manager)
-- 
2.30.9


From 87fdb030822a95c509a04a45132cbcf699856fca Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C5=81ukasz=20Nowak?= <luke@nexedi.com>
Date: Fri, 16 Jul 2010 07:55:49 +0000
Subject: [PATCH 014/270]  - bootstrap related Business Templates (erp5_core
 and others) are automatically found by test runner

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@37162 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 product/ERP5/Tool/TemplateTool.py | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/product/ERP5/Tool/TemplateTool.py b/product/ERP5/Tool/TemplateTool.py
index 133f1839e7..827bfa3b8f 100644
--- a/product/ERP5/Tool/TemplateTool.py
+++ b/product/ERP5/Tool/TemplateTool.py
@@ -577,8 +577,7 @@ class TemplateTool (BaseTool):
       test_cmd_args += ['--products_path', ','.join(products_path_list)]
       test_cmd_args += ['--sys_path', ','.join(current_sys_path)]
       # to find erp5_core, erp5_xhtml_style and similar
-      bt5_path_list = [os.path.join(os.path.split(Products.ERP5.__file__)[0],
-        'bootstrap')]
+      bt5_path_list = []
       ## XXX-TODO: requires that asRepository works without security, maybe
       ##           with special key?
       # bt5_path_list.append(self.absolute_url() + '/asRepository/')
-- 
2.30.9


From 9dddec9cc9a0cfe137ad9d6aa4af78d21177b912 Mon Sep 17 00:00:00 2001
From: Ivan Tyagov <ivan@nexedi.com>
Date: Fri, 16 Jul 2010 08:27:41 +0000
Subject: [PATCH 015/270] Use portal type based definitions for searchable text
 generators.

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@37163 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 product/ERP5Type/Base.py                   | 26 +++++++++++++++++-----
 product/ERP5Type/PropertySheet/BaseType.py | 14 ++++++++++++
 2 files changed, 35 insertions(+), 5 deletions(-)

diff --git a/product/ERP5Type/Base.py b/product/ERP5Type/Base.py
index 32da13608b..82832f9f0a 100644
--- a/product/ERP5Type/Base.py
+++ b/product/ERP5Type/Base.py
@@ -3196,12 +3196,28 @@ class Base( CopyContainer,
   ### Content accessor methods
   security.declareProtected(Permissions.View, 'getSearchableText')
   def getSearchableText(self, md=None):
-      """\
-      Used by the catalog for basic full text indexing
-      We should try to do some kind of file conversion here
       """
-      searchable_text = "%s %s %s" %  (self.getTitle(), self.getDescription(),
-                                    self.getId())
+      Used by the catalog for basic full text indexing.
+      """
+      searchable_text_list = []
+      portal_type = self.portal_types.getTypeInfo(self)
+      searchable_text_method_id_list = []
+      # generated from properties methods and add explicitly defined method_ids as well 
+      for searchable_text_property_id in portal_type.getSearchableTextPropertyIdList():
+        method_id = convertToUpperCase(searchable_text_property_id)
+        searchable_text_method_id_list.extend(['get%s' %method_id])
+      searchable_text_method_id_list.extend(portal_type.getSearchableTextMethodIdList())
+      for method_id in searchable_text_method_id_list:
+        # XXX: how to exclude exclude acquisition (not working)
+        #if getattr(aq_base(self), method_id, None) is not None:
+        #  method = getattr(self, method_id, None)
+        # should we do it as ZSQLCatalog should care for calling this method on proper context?
+        method = getattr(self, method_id, None)
+        if method is not None:
+          method_value = method()
+          if method_value is not None:
+            searchable_text_list.append(method_value)
+      searchable_text = ' '.join(searchable_text_list)
       return searchable_text
 
   # Compatibility with CMF Catalog / CPS sites
diff --git a/product/ERP5Type/PropertySheet/BaseType.py b/product/ERP5Type/PropertySheet/BaseType.py
index cd39bbeadb..e085ed9a6b 100644
--- a/product/ERP5Type/PropertySheet/BaseType.py
+++ b/product/ERP5Type/PropertySheet/BaseType.py
@@ -100,5 +100,19 @@ class BaseType:
         , 'label':      'Groups'
         , 'select_variable':'getAvailableGroupList'
          },
+        # searchable text method id list used by ZSQLCatalog
+        { 'id':         'searchable_text_property_id'
+        , 'type':       'lines'
+        , 'mode':       'w'
+        , 'label':      'Searchable text property ids'
+        # default known to exists everythere properties
+        , 'default':     ['title', 'description', 'id', 'reference', 'short_title']
+         },
+        { 'id':         'searchable_text_method_id'
+        , 'type':       'lines'
+        , 'mode':       'w'
+        , 'label':      'Searchable text method Ids'
+        , 'default':     []
+         },
     )
 
-- 
2.30.9


From 35f55f94c8ed7c71db73644a79e047f65686886c Mon Sep 17 00:00:00 2001
From: Ivan Tyagov <ivan@nexedi.com>
Date: Fri, 16 Jul 2010 08:42:00 +0000
Subject: [PATCH 016/270] It's now possible to customize searchable properties
 & methods per portal type.

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@37164 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 .../portal_skins/erp5_core/BaseType_view.xml  |   2 +
 .../my_searchable_text_method_id_list.xml     | 141 ++++++++++++++++++
 .../my_searchable_text_property_id_list.xml   | 141 ++++++++++++++++++
 product/ERP5/bootstrap/erp5_core/bt/revision  |   2 +-
 4 files changed, 285 insertions(+), 1 deletion(-)
 create mode 100644 product/ERP5/bootstrap/erp5_core/SkinTemplateItem/portal_skins/erp5_core/BaseType_view/my_searchable_text_method_id_list.xml
 create mode 100644 product/ERP5/bootstrap/erp5_core/SkinTemplateItem/portal_skins/erp5_core/BaseType_view/my_searchable_text_property_id_list.xml

diff --git a/product/ERP5/bootstrap/erp5_core/SkinTemplateItem/portal_skins/erp5_core/BaseType_view.xml b/product/ERP5/bootstrap/erp5_core/SkinTemplateItem/portal_skins/erp5_core/BaseType_view.xml
index d82add1306..954d62e70a 100644
--- a/product/ERP5/bootstrap/erp5_core/SkinTemplateItem/portal_skins/erp5_core/BaseType_view.xml
+++ b/product/ERP5/bootstrap/erp5_core/SkinTemplateItem/portal_skins/erp5_core/BaseType_view.xml
@@ -117,6 +117,8 @@
                         <string>my_type_allowed_content_type_list</string>
                         <string>my_type_hidden_content_type_list</string>
                         <string>my_type_group_list</string>
+                        <string>my_searchable_text_property_id_list</string>
+                        <string>my_searchable_text_method_id_list</string>
                       </list>
                     </value>
                 </item>
diff --git a/product/ERP5/bootstrap/erp5_core/SkinTemplateItem/portal_skins/erp5_core/BaseType_view/my_searchable_text_method_id_list.xml b/product/ERP5/bootstrap/erp5_core/SkinTemplateItem/portal_skins/erp5_core/BaseType_view/my_searchable_text_method_id_list.xml
new file mode 100644
index 0000000000..d7dcac1003
--- /dev/null
+++ b/product/ERP5/bootstrap/erp5_core/SkinTemplateItem/portal_skins/erp5_core/BaseType_view/my_searchable_text_method_id_list.xml
@@ -0,0 +1,141 @@
+<?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>default</string>
+                <string>description</string>
+                <string>title</string>
+              </list>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>my_searchable_text_method_id_list</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>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>
+                </item>
+                <item>
+                    <key> <string>form_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>target</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>title</string> </key>
+                    <value> <string></string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>values</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>default</string> </key>
+                    <value>
+                      <list/>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>description</string> </key>
+                    <value> <string>Define list of method Ids which will be used by catalog to generate searchable text for object.</string> </value>
+                </item>
+                <item>
+                    <key> <string>field_id</string> </key>
+                    <value> <string>my_lines_field</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>Searchable Text Method Ids</string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+      </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>here/getSearchableTextMethodIdList</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/product/ERP5/bootstrap/erp5_core/SkinTemplateItem/portal_skins/erp5_core/BaseType_view/my_searchable_text_property_id_list.xml b/product/ERP5/bootstrap/erp5_core/SkinTemplateItem/portal_skins/erp5_core/BaseType_view/my_searchable_text_property_id_list.xml
new file mode 100644
index 0000000000..6b065f74bb
--- /dev/null
+++ b/product/ERP5/bootstrap/erp5_core/SkinTemplateItem/portal_skins/erp5_core/BaseType_view/my_searchable_text_property_id_list.xml
@@ -0,0 +1,141 @@
+<?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>default</string>
+                <string>description</string>
+                <string>title</string>
+              </list>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>my_searchable_text_property_id_list</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>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>
+                </item>
+                <item>
+                    <key> <string>form_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>target</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>title</string> </key>
+                    <value> <string></string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>values</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>default</string> </key>
+                    <value>
+                      <list/>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>description</string> </key>
+                    <value> <string>Define list of property Ids which will be used by catalog to generate searchable text for object.</string> </value>
+                </item>
+                <item>
+                    <key> <string>field_id</string> </key>
+                    <value> <string>my_lines_field</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>Searchable Text Property Ids</string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+      </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>here/getSearchableTextPropertyIdList</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/product/ERP5/bootstrap/erp5_core/bt/revision b/product/ERP5/bootstrap/erp5_core/bt/revision
index 1f4f8496fa..d87209c8e5 100644
--- a/product/ERP5/bootstrap/erp5_core/bt/revision
+++ b/product/ERP5/bootstrap/erp5_core/bt/revision
@@ -1 +1 @@
-1631
\ No newline at end of file
+1632
\ No newline at end of file
-- 
2.30.9


From 5195aff7a9607d030c084ec689852f204ddd6e51 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C5=81ukasz=20Nowak?= <luke@nexedi.com>
Date: Fri, 16 Jul 2010 09:32:27 +0000
Subject: [PATCH 017/270]  - allow to pass list of repositories with Business
 Templates  - remove comment which is not important enough  - do not add
 instancehome/bt5, as it is not needed

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@37165 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 product/ERP5/Tool/TemplateTool.py | 9 ++++++---
 1 file changed, 6 insertions(+), 3 deletions(-)

diff --git a/product/ERP5/Tool/TemplateTool.py b/product/ERP5/Tool/TemplateTool.py
index 827bfa3b8f..59ca73a384 100644
--- a/product/ERP5/Tool/TemplateTool.py
+++ b/product/ERP5/Tool/TemplateTool.py
@@ -545,9 +545,12 @@ class TemplateTool (BaseTool):
     security.declareProtected(Permissions.ManagePortal, 'runUnitTestList')
     def runUnitTestList(self, test_list=[],
                         sql_connection_string='',
+                        repository_list=None,
                         REQUEST=None, RESPONSE=None, **kwd):
       """Runs Unit Tests related to this Business Template
       """
+      if repository_list is None:
+        repository_list = []
       # XXX: should check for file presence before trying to execute.
       # XXX: should check if the unit test file is configured in the BT
       site_configuration = getConfiguration()
@@ -576,13 +579,13 @@ class TemplateTool (BaseTool):
         products_path_list.append(zope_products_path)
       test_cmd_args += ['--products_path', ','.join(products_path_list)]
       test_cmd_args += ['--sys_path', ','.join(current_sys_path)]
-      # to find erp5_core, erp5_xhtml_style and similar
       bt5_path_list = []
       ## XXX-TODO: requires that asRepository works without security, maybe
       ##           with special key?
       # bt5_path_list.append(self.absolute_url() + '/asRepository/')
-      bt5_path_list.append(os.path.join(site_configuration.instancehome, 'bt5'))
-      # add locally saved Business Templates, not perfect, but helps some
+      # add passed repository list
+      bt5_path_list.extend(repository_list)
+      # adding locally saved Business Templates, not perfect, but helps some
       # people doing strict TTW development
       bt5_path_list.append(site_configuration.clienthome)
       test_cmd_args += ['--bt5_path', ','.join(bt5_path_list)]
-- 
2.30.9


From e5890aeddbd575ca2f24d2ebca407074732f3816 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C5=81ukasz=20Nowak?= <luke@nexedi.com>
Date: Fri, 16 Jul 2010 09:36:54 +0000
Subject: [PATCH 018/270]  - pass repository list to
 TemplateTool.runUnitTestList, defaulting to Business Template repositories

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@37166 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 ...BusinessTemplate_viewUnitTestRunDialog.xml |   1 +
 .../your_repository_list.xml                  | 320 ++++++++++++++++++
 product/ERP5/bootstrap/erp5_core/bt/revision  |   2 +-
 3 files changed, 322 insertions(+), 1 deletion(-)
 create mode 100644 product/ERP5/bootstrap/erp5_core/SkinTemplateItem/portal_skins/erp5_core/BusinessTemplate_viewUnitTestRunDialog/your_repository_list.xml

diff --git a/product/ERP5/bootstrap/erp5_core/SkinTemplateItem/portal_skins/erp5_core/BusinessTemplate_viewUnitTestRunDialog.xml b/product/ERP5/bootstrap/erp5_core/SkinTemplateItem/portal_skins/erp5_core/BusinessTemplate_viewUnitTestRunDialog.xml
index c3fb18936c..64f68a628e 100644
--- a/product/ERP5/bootstrap/erp5_core/SkinTemplateItem/portal_skins/erp5_core/BusinessTemplate_viewUnitTestRunDialog.xml
+++ b/product/ERP5/bootstrap/erp5_core/SkinTemplateItem/portal_skins/erp5_core/BusinessTemplate_viewUnitTestRunDialog.xml
@@ -65,6 +65,7 @@
                     <value>
                       <list>
                         <string>your_test_list</string>
+                        <string>your_repository_list</string>
                         <string>your_sql_connection_string</string>
                       </list>
                     </value>
diff --git a/product/ERP5/bootstrap/erp5_core/SkinTemplateItem/portal_skins/erp5_core/BusinessTemplate_viewUnitTestRunDialog/your_repository_list.xml b/product/ERP5/bootstrap/erp5_core/SkinTemplateItem/portal_skins/erp5_core/BusinessTemplate_viewUnitTestRunDialog/your_repository_list.xml
new file mode 100644
index 0000000000..7509b2a004
--- /dev/null
+++ b/product/ERP5/bootstrap/erp5_core/SkinTemplateItem/portal_skins/erp5_core/BusinessTemplate_viewUnitTestRunDialog/your_repository_list.xml
@@ -0,0 +1,320 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="LinesField" module="Products.Formulator.StandardFields"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>your_repository_list</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>
+                <item>
+                    <key> <string>line_too_long</string> </key>
+                    <value> <string>A line was too long.</string> </value>
+                </item>
+                <item>
+                    <key> <string>required_not_found</string> </key>
+                    <value> <string>Input is required but no input given.</string> </value>
+                </item>
+                <item>
+                    <key> <string>too_long</string> </key>
+                    <value> <string>You entered too many characters.</string> </value>
+                </item>
+                <item>
+                    <key> <string>too_many_lines</string> </key>
+                    <value> <string>You entered too many lines.</string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>overrides</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>alternate_name</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>css_class</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>default</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>description</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>editable</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>enabled</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>external_validator</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>extra</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>height</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>hidden</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>max_length</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>max_linelength</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>max_lines</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>required</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>title</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>unicode</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>view_separator</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>whitespace_preserve</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>width</string> </key>
+                    <value> <string></string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>tales</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>alternate_name</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>css_class</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <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>editable</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>enabled</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>external_validator</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>extra</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>height</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>hidden</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>max_length</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>max_linelength</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>max_lines</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>required</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>title</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>unicode</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>view_separator</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>whitespace_preserve</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>width</string> </key>
+                    <value> <string></string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>values</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>alternate_name</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>css_class</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>default</string> </key>
+                    <value>
+                      <list/>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>description</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>editable</string> </key>
+                    <value> <int>1</int> </value>
+                </item>
+                <item>
+                    <key> <string>enabled</string> </key>
+                    <value> <int>1</int> </value>
+                </item>
+                <item>
+                    <key> <string>external_validator</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>extra</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>height</string> </key>
+                    <value> <int>5</int> </value>
+                </item>
+                <item>
+                    <key> <string>hidden</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+                <item>
+                    <key> <string>max_length</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>max_linelength</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>max_lines</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>required</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+                <item>
+                    <key> <string>title</string> </key>
+                    <value> <string>Business Template Repositories</string> </value>
+                </item>
+                <item>
+                    <key> <string>unicode</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+                <item>
+                    <key> <string>view_separator</string> </key>
+                    <value> <string encoding="cdata"><![CDATA[
+
+<br />\n
+
+
+]]></string> </value>
+                </item>
+                <item>
+                    <key> <string>whitespace_preserve</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+                <item>
+                    <key> <string>width</string> </key>
+                    <value> <int>40</int> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+      </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>here/getRepositoryList</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/product/ERP5/bootstrap/erp5_core/bt/revision b/product/ERP5/bootstrap/erp5_core/bt/revision
index d87209c8e5..6e239b0242 100644
--- a/product/ERP5/bootstrap/erp5_core/bt/revision
+++ b/product/ERP5/bootstrap/erp5_core/bt/revision
@@ -1 +1 @@
-1632
\ No newline at end of file
+1633
\ No newline at end of file
-- 
2.30.9


From a4305cfaa81b249fe2c81209ee4f1b060ecd99b9 Mon Sep 17 00:00:00 2001
From: Ivan Tyagov <ivan@nexedi.com>
Date: Fri, 16 Jul 2010 11:05:59 +0000
Subject: [PATCH 019/270] Merge UpdateMixIn to CrawableMixin which extends
 ICrawable interface.

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@37167 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 product/ERP5/Document/Document.py       | 57 +----------------
 product/ERP5/Document/ExternalSource.py |  4 +-
 product/ERP5/interfaces/crawlable.py    | 22 +++++++
 product/ERP5/mixin/crawable.py          | 82 +++++++++++++++++++++++++
 4 files changed, 109 insertions(+), 56 deletions(-)
 create mode 100644 product/ERP5/mixin/crawable.py

diff --git a/product/ERP5/Document/Document.py b/product/ERP5/Document/Document.py
index 5c41655245..471c209801 100644
--- a/product/ERP5/Document/Document.py
+++ b/product/ERP5/Document/Document.py
@@ -60,9 +60,11 @@ from Products.ERP5.mixin.text_convertable import TextConvertableMixin
 from Products.ERP5.mixin.downloadable import DownloadableMixin
 from Products.ERP5.mixin.document import DocumentMixin
 from Products.ERP5.mixin.extensible_traversable import DocumentExtensibleTraversableMixIn
+from Products.ERP5.mixin.crawable import CrawableMixin
 
 _MARKER = []
 VALID_ORDER_KEY_LIST = ('user_login', 'content', 'file_name', 'input')
+
 # these property ids are unchangable
 FIXED_PROPERTY_IDS = ('id', 'uid', 'rid', 'sid')
 
@@ -129,61 +131,8 @@ class DocumentProxyError(Exception):pass
 class NotConvertedError(Exception):pass
 allow_class(NotConvertedError)
 
-class UpdateMixIn:
-  """
-    Provides an API to compute a date index based on the update
-    frequency of the document.
-  """
-
-  # Declarative security
-  security = ClassSecurityInfo()
-
-  security.declareProtected(Permissions.AccessContentsInformation, 'getFrequencyIndex')
-  def getFrequencyIndex(self):
-    """
-      Returns the document update frequency as an integer
-      which is used by alamrs to decide which documents
-      must be updates at which time. The index represents
-      a time slot (ex. all days in a month, all hours in a week).
-    """
-    try:
-      return self.getUpdateFrequencyValue().getIntIndex()
-    except AttributeError:
-      # Catch Attribute error or Key error - XXX not beautiful
-      return 0
-
-  security.declareProtected(Permissions.AccessContentsInformation, 'getCreationDateIndex')
-  def getCreationDateIndex(self, at_date = None):
-    """
-    Returns the document Creation Date Index which is the creation
-    date converted into hours modulo the Frequency Index.
-    """
-    frequency_index = self.getFrequencyIndex()
-    if not frequency_index: return -1 # If not update frequency is provided, make sure we never update
-    hour = convertDateToHour(date=self.getCreationDate())
-    creation_date_index = hour % frequency_index
-    # in the case of bisextile year, we substract 24 hours from the creation date,
-    # otherwise updating documents (frequency=yearly update) created the last
-    # 24 hours of bissextile year will be launched once every 4 years.
-    if creation_date_index >= number_of_hours_in_year:
-      creation_date_index = creation_date_index - number_of_hours_in_day
-
-    return creation_date_index
-
-  security.declareProtected(Permissions.AccessContentsInformation, 'isUpdatable')
-  def isUpdatable(self):
-    """
-      This method is used to decide which document can be updated
-      in the crawling process. This can depend for example on
-      workflow states (publication state,
-      validation state) or on roles on the document.
-    """
-    method = self._getTypeBasedMethod('isUpdatable',
-        fallback_script_id = 'Document_isUpdatable')
-    return method()
-
 class Document(DocumentExtensibleTraversableMixIn, XMLObject, UrlMixIn, CachedConvertableMixin,
-               SnapshotMixin, UpdateMixIn, TextConvertableMixin,
+               SnapshotMixin, CrawableMixin, TextConvertableMixin,
                DownloadableMixin, DocumentMixin):
   """Document is an abstract class with all methods related to document
   management in ERP5. This includes searchable text, explicit relations,
diff --git a/product/ERP5/Document/ExternalSource.py b/product/ERP5/Document/ExternalSource.py
index 54952221dc..eb3e4cc845 100644
--- a/product/ERP5/Document/ExternalSource.py
+++ b/product/ERP5/Document/ExternalSource.py
@@ -29,9 +29,9 @@ from AccessControl import ClassSecurityInfo
 from Products.ERP5Type import Permissions, PropertySheet
 from Products.ERP5Type.XMLObject import XMLObject
 from Products.ERP5.Document.Url import UrlMixIn
-from Products.ERP5.Document.Document import UpdateMixIn
+from Products.ERP5.mixin.crawable import CrawableMixin
 
-class ExternalSource(XMLObject, UrlMixIn, UpdateMixIn):
+class ExternalSource(XMLObject, UrlMixIn, CrawableMixin):
   """
   An External Source consists of single URL which defines the
   root of a collection of documents, each of which can be accessed
diff --git a/product/ERP5/interfaces/crawlable.py b/product/ERP5/interfaces/crawlable.py
index 057acbeab9..898d5dd408 100644
--- a/product/ERP5/interfaces/crawlable.py
+++ b/product/ERP5/interfaces/crawlable.py
@@ -91,3 +91,25 @@ class ICrawlable(Interface):
     but with a different signature. This is probably inconsistent
     and the interface must be revised. XXX
     """
+
+  def isUpdatable(self):
+    """
+    This method is used to decide if document can be updated 
+    in the crawling process.
+    """
+
+  def getFrequencyIndex():
+    """
+    Returns the document update frequency as an integer
+    which is used by alamrs to decide which documents
+    must be updates at which time. The index represents
+    a time slot (ex. all days in a month, all hours in a week).
+    Note (ivan): not sure about this if needs to be part interface or not
+    """
+
+  def getCreationDateIndex(at_date):
+    """
+    Returns the document Creation Date Index which is the creation
+    date converted into hours modulo the Frequency Index.
+    Note (ivan): not sure about this if needs to be part interface or not
+    """
diff --git a/product/ERP5/mixin/crawable.py b/product/ERP5/mixin/crawable.py
new file mode 100644
index 0000000000..2b010b99a5
--- /dev/null
+++ b/product/ERP5/mixin/crawable.py
@@ -0,0 +1,82 @@
+# -*- coding: utf-8 -*-
+##############################################################################
+#
+# Copyright (c) 2009 Nexedi SA and Contributors. All Rights Reserved.
+#                    Ivan Tyagov <ivan@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.
+#
+##############################################################################
+
+from AccessControl import ClassSecurityInfo, getSecurityManager
+from Products.ERP5Type import Permissions
+
+class CrawableMixin:
+  """
+  Generic implementation of ICrawlable interface
+  """
+  # Declarative security
+  security = ClassSecurityInfo()
+
+  security.declareProtected(Permissions.AccessContentsInformation, 'getFrequencyIndex')
+  def getFrequencyIndex(self):
+    """
+      Returns the document update frequency as an integer
+      which is used by alamrs to decide which documents
+      must be updates at which time. The index represents
+      a time slot (ex. all days in a month, all hours in a week).
+    """
+    try:
+      return self.getUpdateFrequencyValue().getIntIndex()
+    except AttributeError:
+      # Catch Attribute error or Key error - XXX not beautiful
+      return 0
+
+  security.declareProtected(Permissions.AccessContentsInformation, 'getCreationDateIndex')
+  def getCreationDateIndex(self, at_date = None):
+    """
+    Returns the document Creation Date Index which is the creation
+    date converted into hours modulo the Frequency Index.
+    """
+    frequency_index = self.getFrequencyIndex()
+    if not frequency_index: return -1 # If not update frequency is provided, make sure we never update
+    hour = convertDateToHour(date=self.getCreationDate())
+    creation_date_index = hour % frequency_index
+    # in the case of bisextile year, we substract 24 hours from the creation date,
+    # otherwise updating documents (frequency=yearly update) created the last
+    # 24 hours of bissextile year will be launched once every 4 years.
+    if creation_date_index >= number_of_hours_in_year:
+      creation_date_index = creation_date_index - number_of_hours_in_day
+
+    return creation_date_index
+
+  security.declareProtected(Permissions.AccessContentsInformation, 'isUpdatable')
+  def isUpdatable(self):
+    """
+      This method is used to decide which document can be updated
+      in the crawling process. This can depend for example on
+      workflow states (publication state,
+      validation state) or on roles on the document.
+    """
+    method = self._getTypeBasedMethod('isUpdatable',
+        fallback_script_id = 'Document_isUpdatable')
+    return method()
\ No newline at end of file
-- 
2.30.9


From 3c252fbb4b9258837cd16ef40739dca375533358 Mon Sep 17 00:00:00 2001
From: Ivan Tyagov <ivan@nexedi.com>
Date: Fri, 16 Jul 2010 11:18:10 +0000
Subject: [PATCH 020/270] Type in mixin class name. Do not use alias.

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@37168 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 product/ERP5/Document/Document.py            |  4 ++--
 product/ERP5/Document/WebSection.py          | 10 +++++-----
 product/ERP5/mixin/extensible_traversable.py |  8 ++++----
 3 files changed, 11 insertions(+), 11 deletions(-)

diff --git a/product/ERP5/Document/Document.py b/product/ERP5/Document/Document.py
index 471c209801..677d642220 100644
--- a/product/ERP5/Document/Document.py
+++ b/product/ERP5/Document/Document.py
@@ -59,7 +59,7 @@ from Products.ERP5.mixin.cached_convertable import CachedConvertableMixin
 from Products.ERP5.mixin.text_convertable import TextConvertableMixin
 from Products.ERP5.mixin.downloadable import DownloadableMixin
 from Products.ERP5.mixin.document import DocumentMixin
-from Products.ERP5.mixin.extensible_traversable import DocumentExtensibleTraversableMixIn
+from Products.ERP5.mixin.extensible_traversable import DocumentExtensibleTraversableMixin
 from Products.ERP5.mixin.crawable import CrawableMixin
 
 _MARKER = []
@@ -131,7 +131,7 @@ class DocumentProxyError(Exception):pass
 class NotConvertedError(Exception):pass
 allow_class(NotConvertedError)
 
-class Document(DocumentExtensibleTraversableMixIn, XMLObject, UrlMixIn, CachedConvertableMixin,
+class Document(DocumentExtensibleTraversableMixin, XMLObject, UrlMixIn, CachedConvertableMixin,
                SnapshotMixin, CrawableMixin, TextConvertableMixin,
                DownloadableMixin, DocumentMixin):
   """Document is an abstract class with all methods related to document
diff --git a/product/ERP5/Document/WebSection.py b/product/ERP5/Document/WebSection.py
index 9501cbd9a7..cc599c2b8a 100644
--- a/product/ERP5/Document/WebSection.py
+++ b/product/ERP5/Document/WebSection.py
@@ -30,7 +30,7 @@
 from AccessControl import ClassSecurityInfo
 from Products.ERP5Type import Permissions, PropertySheet
 from Products.ERP5.Document.Domain import Domain
-from Products.ERP5.mixin.extensible_traversable import DocumentExtensibleTraversableMixIn as PermanentURLMixIn
+from Products.ERP5.mixin.extensible_traversable import DocumentExtensibleTraversableMixin
 from Acquisition import aq_base, aq_inner 
 from Products.ERP5Type.UnrestrictedMethod import unrestricted_apply
 from AccessControl import Unauthorized
@@ -42,7 +42,7 @@ from Products.ERP5Type.Cache import getReadOnlyTransactionCache
 WEBSECTION_KEY = 'web_section_value'
 MARKER = []
 
-class WebSection(Domain, PermanentURLMixIn):
+class WebSection(Domain, DocumentExtensibleTraversableMixin):
     """
       A Web Section is a Domain with an extended API intended to
       support the creation of Web front ends to
@@ -115,14 +115,14 @@ class WebSection(Domain, PermanentURLMixIn):
 
       document = None
       try:
-        document = PermanentURLMixIn.__bobo_traverse__(self, request, name)
+        document = DocumentExtensibleTraversableMixin.__bobo_traverse__(self, request, name)
       except NotFound:
         not_found_page_ref = self.getLayoutProperty('layout_not_found_page_reference')
         if not_found_page_ref:
-          document = PermanentURLMixIn.getDocumentValue(self, name=not_found_page_ref)
+          document = DocumentExtensibleTraversableMixin.getDocumentValue(self, name=not_found_page_ref)
         if document is None:
           # if no document found, fallback on default page template
-          document = PermanentURLMixIn.__bobo_traverse__(self, request,
+          document = DocumentExtensibleTraversableMixin.__bobo_traverse__(self, request,
             '404.error.page')
       return document
 
diff --git a/product/ERP5/mixin/extensible_traversable.py b/product/ERP5/mixin/extensible_traversable.py
index 08b07c3c46..5c262aeae1 100644
--- a/product/ERP5/mixin/extensible_traversable.py
+++ b/product/ERP5/mixin/extensible_traversable.py
@@ -49,7 +49,7 @@ EMBEDDED_FORMAT = '_embedded'
 class ConversionError(Exception):pass
 class NotConvertedError(Exception):pass
 
-class BaseExtensibleTraversableMixIn(ExtensibleTraversableMixIn):
+class BaseExtensibleTraversableMixin(ExtensibleTraversableMixIn):
   """
   This class provides a generic base mixin implementation of IExtensibleTraversable.
 
@@ -155,7 +155,7 @@ class BaseExtensibleTraversableMixIn(ExtensibleTraversableMixIn):
     if document is not None:
       return document.__of__(self)
 
-class DocumentExtensibleTraversableMixIn(BaseExtensibleTraversableMixIn):
+class DocumentExtensibleTraversableMixin(BaseExtensibleTraversableMixin):
   """
   This class provides a implementation of IExtensibleTraversable for Document classed based documents.
   """
@@ -184,7 +184,7 @@ class DocumentExtensibleTraversableMixIn(BaseExtensibleTraversableMixIn):
         # force user to login as specified in Web Section
         raise Unauthorized
 
-class OOoDocumentExtensibleTraversableMixIn(BaseExtensibleTraversableMixIn):
+class OOoDocumentExtensibleTraversableMixin(BaseExtensibleTraversableMixin):
   """
   This class provides a implementation of IExtensibleTraversable for OOoDocument classed based documents.
   """
@@ -201,7 +201,7 @@ class OOoDocumentExtensibleTraversableMixIn(BaseExtensibleTraversableMixIn):
       mime, data = self.getConversion(format=EMBEDDED_FORMAT, file_name=name)
       document = OFSFile(name, name, data, content_type=mime).__of__(self.aq_parent)
     except (NotConvertedError, ConversionError, KeyError):
-      document = DocumentExtensibleTraversableMixIn.getExtensibleContent(self, request, name)
+      document = DocumentExtensibleTraversableMixin.getExtensibleContent(self, request, name)
     # restore original security context if there's a logged in user
     if user is not None:
       setSecurityManager(old_manager)
-- 
2.30.9


From 88e0d049c558c064a3c5078faf1e38b5cd68d9b6 Mon Sep 17 00:00:00 2001
From: Ivan Tyagov <ivan@nexedi.com>
Date: Fri, 16 Jul 2010 11:19:17 +0000
Subject: [PATCH 021/270] Typo in mixin class name.

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@37169 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 product/ERP5OOo/Document/OOoDocument.py | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/product/ERP5OOo/Document/OOoDocument.py b/product/ERP5OOo/Document/OOoDocument.py
index 131fde0cf9..fefdfa9a81 100644
--- a/product/ERP5OOo/Document/OOoDocument.py
+++ b/product/ERP5OOo/Document/OOoDocument.py
@@ -54,7 +54,7 @@ from zLOG import LOG, ERROR
 # Mixin Import
 from Products.ERP5.mixin.base_convertable import BaseConvertableFileMixin
 from Products.ERP5.mixin.text_convertable import TextConvertableMixin
-from Products.ERP5.mixin.extensible_traversable import OOoDocumentExtensibleTraversableMixIn
+from Products.ERP5.mixin.extensible_traversable import OOoDocumentExtensibleTraversableMixin
 
 enc=base64.encodestring
 dec=base64.decodestring
@@ -91,7 +91,7 @@ class TimeoutTransport(SafeTransport):
     return SafeTransport.make_connection(self, h)
 
 
-class OOoDocument(OOoDocumentExtensibleTraversableMixIn, BaseConvertableFileMixin, File,
+class OOoDocument(OOoDocumentExtensibleTraversableMixin, BaseConvertableFileMixin, File,
                                                TextConvertableMixin, Document):
   """
     A file document able to convert OOo compatible files to
-- 
2.30.9


From 2355da7920988d11374f391982a69c62e79a5758 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C5=81ukasz=20Nowak?= <luke@nexedi.com>
Date: Fri, 16 Jul 2010 12:25:21 +0000
Subject: [PATCH 022/270]  - no need never - as tarfile issue is monkey patched
 where needed

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@37170 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 buildout/software-profiles/python-2.4.cfg | 1 -
 1 file changed, 1 deletion(-)

diff --git a/buildout/software-profiles/python-2.4.cfg b/buildout/software-profiles/python-2.4.cfg
index 7e71ed8e86..be595bd73d 100644
--- a/buildout/software-profiles/python-2.4.cfg
+++ b/buildout/software-profiles/python-2.4.cfg
@@ -18,7 +18,6 @@ filename = python2.4-dbm.patch
 <= python-common
 python_version_major = 2.4
 python_version_minor = 6
-# XXX maybe add the tarfile patch as well?
 patches =
 	${python2.4-dbm-patch:location}/${python2.4-dbm-patch:filename}
 
-- 
2.30.9


From 34c062c16cf52833dcbd72a6ce22a211a1a34276 Mon Sep 17 00:00:00 2001
From: Ivan Tyagov <ivan@nexedi.com>
Date: Fri, 16 Jul 2010 13:43:52 +0000
Subject: [PATCH 023/270] Define list of searchable methods & properties on
 portal type.

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@37173 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 .../portal_types/File.xml                     | 91 +++++++++++++++++-
 bt5/erp5_base/bt/revision                     |  2 +-
 .../portal_types/Drawing.xml                  | 91 +++++++++++++++++-
 .../portal_types/PDF.xml                      | 93 ++++++++++++++++++-
 .../portal_types/Presentation.xml             | 87 ++++++++++++++++-
 .../portal_types/Spreadsheet.xml              | 91 +++++++++++++++++-
 .../portal_types/Text.xml                     | 91 +++++++++++++++++-
 bt5/erp5_dms/bt/revision                      |  2 +-
 .../portal_types/Web%20Page.xml               | 28 +++++-
 bt5/erp5_web/bt/revision                      |  2 +-
 10 files changed, 560 insertions(+), 18 deletions(-)

diff --git a/bt5/erp5_base/PortalTypeTemplateItem/portal_types/File.xml b/bt5/erp5_base/PortalTypeTemplateItem/portal_types/File.xml
index aab1fc01bd..b65e6f9172 100644
--- a/bt5/erp5_base/PortalTypeTemplateItem/portal_types/File.xml
+++ b/bt5/erp5_base/PortalTypeTemplateItem/portal_types/File.xml
@@ -9,6 +9,25 @@
     </pickle>
     <pickle>
       <dictionary>
+        <item>
+            <key> <string>_property_domain_dict</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>short_title</string> </key>
+                    <value>
+                      <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>title</string> </key>
+                    <value>
+                      <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
+                    </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
         <item>
             <key> <string>acquire_local_roles</string> </key>
             <value> <int>1</int> </value>
@@ -49,11 +68,39 @@
         </item>
         <item>
             <key> <string>init_script</string> </key>
-            <value> <string></string> </value>
+            <value>
+              <none/>
+            </value>
         </item>
         <item>
             <key> <string>permission</string> </key>
-            <value> <string></string> </value>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>searchable_text_method_id</string> </key>
+            <value>
+              <tuple>
+                <string>asText</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>searchable_text_property_id</string> </key>
+            <value>
+              <tuple>
+                <string>title</string>
+                <string>description</string>
+                <string>id</string>
+                <string>reference</string>
+                <string>version</string>
+                <string>short_title</string>
+                <string>subject</string>
+                <string>source_reference</string>
+                <string>source_project_title</string>
+              </tuple>
+            </value>
         </item>
         <item>
             <key> <string>title</string> </key>
@@ -62,4 +109,44 @@
       </dictionary>
     </pickle>
   </record>
+  <record id="2" aka="AAAAAAAAAAI=">
+    <pickle>
+      <tuple>
+        <global name="TranslationInformation" module="Products.ERP5Type.TranslationProviderBase"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>domain_name</string> </key>
+            <value> <string>erp5_content</string> </value>
+        </item>
+        <item>
+            <key> <string>property_name</string> </key>
+            <value> <string>short_title</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="3" aka="AAAAAAAAAAM=">
+    <pickle>
+      <tuple>
+        <global name="TranslationInformation" module="Products.ERP5Type.TranslationProviderBase"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>domain_name</string> </key>
+            <value> <string>erp5_content</string> </value>
+        </item>
+        <item>
+            <key> <string>property_name</string> </key>
+            <value> <string>title</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
 </ZopeData>
diff --git a/bt5/erp5_base/bt/revision b/bt5/erp5_base/bt/revision
index 12658c029b..233a64e672 100644
--- a/bt5/erp5_base/bt/revision
+++ b/bt5/erp5_base/bt/revision
@@ -1 +1 @@
-809
\ No newline at end of file
+811
\ No newline at end of file
diff --git a/bt5/erp5_dms/PortalTypeTemplateItem/portal_types/Drawing.xml b/bt5/erp5_dms/PortalTypeTemplateItem/portal_types/Drawing.xml
index cef1d88836..f92420c764 100644
--- a/bt5/erp5_dms/PortalTypeTemplateItem/portal_types/Drawing.xml
+++ b/bt5/erp5_dms/PortalTypeTemplateItem/portal_types/Drawing.xml
@@ -9,6 +9,25 @@
     </pickle>
     <pickle>
       <dictionary>
+        <item>
+            <key> <string>_property_domain_dict</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>short_title</string> </key>
+                    <value>
+                      <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>title</string> </key>
+                    <value>
+                      <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
+                    </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
         <item>
             <key> <string>acquire_local_roles</string> </key>
             <value> <int>0</int> </value>
@@ -50,11 +69,39 @@
         </item>
         <item>
             <key> <string>init_script</string> </key>
-            <value> <string></string> </value>
+            <value>
+              <none/>
+            </value>
         </item>
         <item>
             <key> <string>permission</string> </key>
-            <value> <string></string> </value>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>searchable_text_method_id</string> </key>
+            <value>
+              <tuple>
+                <string>asText</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>searchable_text_property_id</string> </key>
+            <value>
+              <tuple>
+                <string>title</string>
+                <string>description</string>
+                <string>id</string>
+                <string>reference</string>
+                <string>version</string>
+                <string>short_title</string>
+                <string>subject</string>
+                <string>source_reference</string>
+                <string>source_project_title</string>
+              </tuple>
+            </value>
         </item>
         <item>
             <key> <string>title</string> </key>
@@ -63,4 +110,44 @@
       </dictionary>
     </pickle>
   </record>
+  <record id="2" aka="AAAAAAAAAAI=">
+    <pickle>
+      <tuple>
+        <global name="TranslationInformation" module="Products.ERP5Type.TranslationProviderBase"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>domain_name</string> </key>
+            <value> <string>erp5_content</string> </value>
+        </item>
+        <item>
+            <key> <string>property_name</string> </key>
+            <value> <string>short_title</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="3" aka="AAAAAAAAAAM=">
+    <pickle>
+      <tuple>
+        <global name="TranslationInformation" module="Products.ERP5Type.TranslationProviderBase"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>domain_name</string> </key>
+            <value> <string>erp5_content</string> </value>
+        </item>
+        <item>
+            <key> <string>property_name</string> </key>
+            <value> <string>title</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
 </ZopeData>
diff --git a/bt5/erp5_dms/PortalTypeTemplateItem/portal_types/PDF.xml b/bt5/erp5_dms/PortalTypeTemplateItem/portal_types/PDF.xml
index 492bb29c2e..7428eddef8 100644
--- a/bt5/erp5_dms/PortalTypeTemplateItem/portal_types/PDF.xml
+++ b/bt5/erp5_dms/PortalTypeTemplateItem/portal_types/PDF.xml
@@ -9,6 +9,25 @@
     </pickle>
     <pickle>
       <dictionary>
+        <item>
+            <key> <string>_property_domain_dict</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>short_title</string> </key>
+                    <value>
+                      <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>title</string> </key>
+                    <value>
+                      <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
+                    </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
         <item>
             <key> <string>acquire_local_roles</string> </key>
             <value> <int>0</int> </value>
@@ -39,8 +58,8 @@
               <tuple>
                 <string>document</string>
                 <string>file_document</string>
-                <string>recent_document</string>
                 <string>my_document</string>
+                <string>recent_document</string>
               </tuple>
             </value>
         </item>
@@ -50,11 +69,39 @@
         </item>
         <item>
             <key> <string>init_script</string> </key>
-            <value> <string></string> </value>
+            <value>
+              <none/>
+            </value>
         </item>
         <item>
             <key> <string>permission</string> </key>
-            <value> <string></string> </value>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>searchable_text_method_id</string> </key>
+            <value>
+              <tuple>
+                <string>asText</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>searchable_text_property_id</string> </key>
+            <value>
+              <tuple>
+                <string>title</string>
+                <string>description</string>
+                <string>id</string>
+                <string>reference</string>
+                <string>version</string>
+                <string>short_title</string>
+                <string>subject</string>
+                <string>source_reference</string>
+                <string>source_project_title</string>
+              </tuple>
+            </value>
         </item>
         <item>
             <key> <string>title</string> </key>
@@ -63,4 +110,44 @@
       </dictionary>
     </pickle>
   </record>
+  <record id="2" aka="AAAAAAAAAAI=">
+    <pickle>
+      <tuple>
+        <global name="TranslationInformation" module="Products.ERP5Type.TranslationProviderBase"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>domain_name</string> </key>
+            <value> <string>erp5_content</string> </value>
+        </item>
+        <item>
+            <key> <string>property_name</string> </key>
+            <value> <string>short_title</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="3" aka="AAAAAAAAAAM=">
+    <pickle>
+      <tuple>
+        <global name="TranslationInformation" module="Products.ERP5Type.TranslationProviderBase"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>domain_name</string> </key>
+            <value> <string>erp5_content</string> </value>
+        </item>
+        <item>
+            <key> <string>property_name</string> </key>
+            <value> <string>title</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
 </ZopeData>
diff --git a/bt5/erp5_dms/PortalTypeTemplateItem/portal_types/Presentation.xml b/bt5/erp5_dms/PortalTypeTemplateItem/portal_types/Presentation.xml
index 15001d8a3a..4db1e11666 100644
--- a/bt5/erp5_dms/PortalTypeTemplateItem/portal_types/Presentation.xml
+++ b/bt5/erp5_dms/PortalTypeTemplateItem/portal_types/Presentation.xml
@@ -12,7 +12,20 @@
         <item>
             <key> <string>_property_domain_dict</string> </key>
             <value>
-              <dictionary/>
+              <dictionary>
+                <item>
+                    <key> <string>short_title</string> </key>
+                    <value>
+                      <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>title</string> </key>
+                    <value>
+                      <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
+                    </value>
+                </item>
+              </dictionary>
             </value>
         </item>
         <item>
@@ -56,11 +69,39 @@
         </item>
         <item>
             <key> <string>init_script</string> </key>
-            <value> <string></string> </value>
+            <value>
+              <none/>
+            </value>
         </item>
         <item>
             <key> <string>permission</string> </key>
-            <value> <string></string> </value>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>searchable_text_method_id</string> </key>
+            <value>
+              <tuple>
+                <string>asText</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>searchable_text_property_id</string> </key>
+            <value>
+              <tuple>
+                <string>title</string>
+                <string>description</string>
+                <string>id</string>
+                <string>reference</string>
+                <string>version</string>
+                <string>short_title</string>
+                <string>subject</string>
+                <string>source_reference</string>
+                <string>source_project_title</string>
+              </tuple>
+            </value>
         </item>
         <item>
             <key> <string>title</string> </key>
@@ -69,4 +110,44 @@
       </dictionary>
     </pickle>
   </record>
+  <record id="2" aka="AAAAAAAAAAI=">
+    <pickle>
+      <tuple>
+        <global name="TranslationInformation" module="Products.ERP5Type.TranslationProviderBase"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>domain_name</string> </key>
+            <value> <string>erp5_content</string> </value>
+        </item>
+        <item>
+            <key> <string>property_name</string> </key>
+            <value> <string>short_title</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="3" aka="AAAAAAAAAAM=">
+    <pickle>
+      <tuple>
+        <global name="TranslationInformation" module="Products.ERP5Type.TranslationProviderBase"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>domain_name</string> </key>
+            <value> <string>erp5_content</string> </value>
+        </item>
+        <item>
+            <key> <string>property_name</string> </key>
+            <value> <string>title</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
 </ZopeData>
diff --git a/bt5/erp5_dms/PortalTypeTemplateItem/portal_types/Spreadsheet.xml b/bt5/erp5_dms/PortalTypeTemplateItem/portal_types/Spreadsheet.xml
index ee3c90a212..14da8ca916 100644
--- a/bt5/erp5_dms/PortalTypeTemplateItem/portal_types/Spreadsheet.xml
+++ b/bt5/erp5_dms/PortalTypeTemplateItem/portal_types/Spreadsheet.xml
@@ -9,6 +9,25 @@
     </pickle>
     <pickle>
       <dictionary>
+        <item>
+            <key> <string>_property_domain_dict</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>short_title</string> </key>
+                    <value>
+                      <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>title</string> </key>
+                    <value>
+                      <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
+                    </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
         <item>
             <key> <string>acquire_local_roles</string> </key>
             <value> <int>0</int> </value>
@@ -50,11 +69,39 @@
         </item>
         <item>
             <key> <string>init_script</string> </key>
-            <value> <string></string> </value>
+            <value>
+              <none/>
+            </value>
         </item>
         <item>
             <key> <string>permission</string> </key>
-            <value> <string></string> </value>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>searchable_text_method_id</string> </key>
+            <value>
+              <tuple>
+                <string>asText</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>searchable_text_property_id</string> </key>
+            <value>
+              <tuple>
+                <string>title</string>
+                <string>description</string>
+                <string>id</string>
+                <string>reference</string>
+                <string>version</string>
+                <string>short_title</string>
+                <string>subject</string>
+                <string>source_reference</string>
+                <string>source_project_title</string>
+              </tuple>
+            </value>
         </item>
         <item>
             <key> <string>title</string> </key>
@@ -63,4 +110,44 @@
       </dictionary>
     </pickle>
   </record>
+  <record id="2" aka="AAAAAAAAAAI=">
+    <pickle>
+      <tuple>
+        <global name="TranslationInformation" module="Products.ERP5Type.TranslationProviderBase"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>domain_name</string> </key>
+            <value> <string>erp5_content</string> </value>
+        </item>
+        <item>
+            <key> <string>property_name</string> </key>
+            <value> <string>short_title</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="3" aka="AAAAAAAAAAM=">
+    <pickle>
+      <tuple>
+        <global name="TranslationInformation" module="Products.ERP5Type.TranslationProviderBase"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>domain_name</string> </key>
+            <value> <string>erp5_content</string> </value>
+        </item>
+        <item>
+            <key> <string>property_name</string> </key>
+            <value> <string>title</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
 </ZopeData>
diff --git a/bt5/erp5_dms/PortalTypeTemplateItem/portal_types/Text.xml b/bt5/erp5_dms/PortalTypeTemplateItem/portal_types/Text.xml
index c4f45c7f97..5f28314cb5 100644
--- a/bt5/erp5_dms/PortalTypeTemplateItem/portal_types/Text.xml
+++ b/bt5/erp5_dms/PortalTypeTemplateItem/portal_types/Text.xml
@@ -9,6 +9,25 @@
     </pickle>
     <pickle>
       <dictionary>
+        <item>
+            <key> <string>_property_domain_dict</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>short_title</string> </key>
+                    <value>
+                      <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>title</string> </key>
+                    <value>
+                      <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
+                    </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
         <item>
             <key> <string>acquire_local_roles</string> </key>
             <value> <int>0</int> </value>
@@ -50,11 +69,39 @@
         </item>
         <item>
             <key> <string>init_script</string> </key>
-            <value> <string></string> </value>
+            <value>
+              <none/>
+            </value>
         </item>
         <item>
             <key> <string>permission</string> </key>
-            <value> <string></string> </value>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>searchable_text_method_id</string> </key>
+            <value>
+              <tuple>
+                <string>asText</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>searchable_text_property_id</string> </key>
+            <value>
+              <tuple>
+                <string>title</string>
+                <string>description</string>
+                <string>id</string>
+                <string>reference</string>
+                <string>version</string>
+                <string>short_title</string>
+                <string>subject</string>
+                <string>source_reference</string>
+                <string>source_project_title</string>
+              </tuple>
+            </value>
         </item>
         <item>
             <key> <string>title</string> </key>
@@ -63,4 +110,44 @@
       </dictionary>
     </pickle>
   </record>
+  <record id="2" aka="AAAAAAAAAAI=">
+    <pickle>
+      <tuple>
+        <global name="TranslationInformation" module="Products.ERP5Type.TranslationProviderBase"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>domain_name</string> </key>
+            <value> <string>erp5_content</string> </value>
+        </item>
+        <item>
+            <key> <string>property_name</string> </key>
+            <value> <string>short_title</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="3" aka="AAAAAAAAAAM=">
+    <pickle>
+      <tuple>
+        <global name="TranslationInformation" module="Products.ERP5Type.TranslationProviderBase"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>domain_name</string> </key>
+            <value> <string>erp5_content</string> </value>
+        </item>
+        <item>
+            <key> <string>property_name</string> </key>
+            <value> <string>title</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
 </ZopeData>
diff --git a/bt5/erp5_dms/bt/revision b/bt5/erp5_dms/bt/revision
index 8535dde961..c659825d91 100644
--- a/bt5/erp5_dms/bt/revision
+++ b/bt5/erp5_dms/bt/revision
@@ -1 +1 @@
-1161
\ No newline at end of file
+1163
\ No newline at end of file
diff --git a/bt5/erp5_web/PortalTypeTemplateItem/portal_types/Web%20Page.xml b/bt5/erp5_web/PortalTypeTemplateItem/portal_types/Web%20Page.xml
index e47646be7a..738ee9f06b 100644
--- a/bt5/erp5_web/PortalTypeTemplateItem/portal_types/Web%20Page.xml
+++ b/bt5/erp5_web/PortalTypeTemplateItem/portal_types/Web%20Page.xml
@@ -73,7 +73,33 @@
         </item>
         <item>
             <key> <string>permission</string> </key>
-            <value> <string></string> </value>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>searchable_text_method_id</string> </key>
+            <value>
+              <tuple>
+                <string>asText</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>searchable_text_property_id</string> </key>
+            <value>
+              <tuple>
+                <string>title</string>
+                <string>description</string>
+                <string>id</string>
+                <string>reference</string>
+                <string>version</string>
+                <string>short_title</string>
+                <string>subject</string>
+                <string>source_reference</string>
+                <string>source_project_title</string>
+              </tuple>
+            </value>
         </item>
         <item>
             <key> <string>title</string> </key>
diff --git a/bt5/erp5_web/bt/revision b/bt5/erp5_web/bt/revision
index 7179a19790..218241b578 100644
--- a/bt5/erp5_web/bt/revision
+++ b/bt5/erp5_web/bt/revision
@@ -1 +1 @@
-964
\ No newline at end of file
+966
\ No newline at end of file
-- 
2.30.9


From 5218a38897c79c70e09a095f295e4c1426af92e1 Mon Sep 17 00:00:00 2001
From: Ivan Tyagov <ivan@nexedi.com>
Date: Fri, 16 Jul 2010 13:51:22 +0000
Subject: [PATCH 024/270] Use Base.getSearchableText which now uses portal type
 based configuration.

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@37174 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 product/ERP5/Document/Document.py      | 47 --------------------------
 product/ERP5/Document/EmailDocument.py |  4 ---
 2 files changed, 51 deletions(-)

diff --git a/product/ERP5/Document/Document.py b/product/ERP5/Document/Document.py
index 677d642220..ef14a4c021 100644
--- a/product/ERP5/Document/Document.py
+++ b/product/ERP5/Document/Document.py
@@ -337,53 +337,6 @@ class Document(DocumentExtensibleTraversableMixin, XMLObject, UrlMixIn, CachedCo
                     , PropertySheet.Snapshot
                     )
 
-  searchable_property_list = ('asText', 'title', 'description', 'id', 'reference',
-                              'version', 'short_title', 'subject',
-                              'source_reference', 'source_project_title')
-
-
-  security.declareProtected(Permissions.View, 'getSearchableText')
-  def getSearchableText(self, md=None):
-    """
-      Used by the catalog for basic full text indexing.
-      Uses searchable_property_list attribute to put together various properties
-      of the document into one searchable text string.
-
-      XXX-JPS - This method is nice. It should probably be moved to Base class
-      searchable_property_list could become a standard class attribute.
-
-      TODO (future): Make this property a per portal type property.
-    """
-    def getPropertyListOrValue(property):
-      """
-        we try to get a list, else we get value and convert to list
-      """
-      method = getattr(self, property, None)
-      if method is not None:
-        if callable(method):
-          val = method()
-          if isinstance(val, (list, tuple)):
-            return list(val)
-          return [str(val)]
-      val = self.getPropertyList(property)
-      if val is None:
-        val = self.getProperty(property)
-        if val is not None and val != '':
-          val = [str(val)]
-        else:
-          val = []
-      else:
-        val = [str(v) for v in list(val) if v is not None]
-      return val
-
-    searchable_text = reduce(add, map(lambda x: getPropertyListOrValue(x),
-                                                self.searchable_property_list))
-    searchable_text = ' '.join(searchable_text)
-    return searchable_text
-
-  # Compatibility with CMF Catalog
-  SearchableText = getSearchableText
-
   index_html = DownloadableMixin.index_html
 
   security.declareProtected(Permissions.AccessContentsInformation, 'isExternalDocument')
diff --git a/product/ERP5/Document/EmailDocument.py b/product/ERP5/Document/EmailDocument.py
index 6763dd2084..66191491d5 100644
--- a/product/ERP5/Document/EmailDocument.py
+++ b/product/ERP5/Document/EmailDocument.py
@@ -156,10 +156,6 @@ class EmailDocument(TextDocument):
                     , PropertySheet.Reference
                     )
 
-  # Searchable Text - at least search the body message
-  #                 - later: search attachments too
-  searchable_property_list = TextDocument.searchable_property_list
-
   # Mail processing API
   def _getMessage(self):
     result = getattr(self, '_v_message', None)
-- 
2.30.9


From a81353782aa36332dcffcedfc367c04b70ae97b4 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C5=81ukasz=20Nowak?= <luke@nexedi.com>
Date: Fri, 16 Jul 2010 14:38:01 +0000
Subject: [PATCH 025/270]  - workaround
 http://github.com/hexagonit/hexagonit.recipe.cmmi/issues#issue/1 by resetting
 environment (works only in default buildout run)  - reorganise parts a bit to
 have control over reseted environment

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@37175 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 buildout/profiles/official.cfg             | 4 ++--
 buildout/software-profiles/imagemagick.cfg | 7 +++++++
 buildout/software-profiles/ocropus.cfg     | 4 ++++
 buildout/software-profiles/xpdf.cfg        | 7 +++++++
 4 files changed, 20 insertions(+), 2 deletions(-)

diff --git a/buildout/profiles/official.cfg b/buildout/profiles/official.cfg
index 3e9246e642..d3b838171b 100644
--- a/buildout/profiles/official.cfg
+++ b/buildout/profiles/official.cfg
@@ -35,17 +35,17 @@ versions = versions
 
 parts =
   eggs
+  rdiff-backup
   apache
   memcached
-  rdiff-backup
   ocropus
   haproxy
   varnish
   flare
   w3m
   xpdf
-  imagemagick
   mysql-tritonn-5.0
+  imagemagick
   zope-2.8
   cmf15
   itools
diff --git a/buildout/software-profiles/imagemagick.cfg b/buildout/software-profiles/imagemagick.cfg
index 14532d2325..6d45be3248 100644
--- a/buildout/software-profiles/imagemagick.cfg
+++ b/buildout/software-profiles/imagemagick.cfg
@@ -4,3 +4,10 @@ parts = imagemagick
 [imagemagick]
 recipe = hexagonit.recipe.cmmi
 url = http://ftp.nluug.nl/ImageMagick/ImageMagick-6.6.2-4.tar.gz
+
+# workaround http://github.com/hexagonit/hexagonit.recipe.cmmi/issues#issue/1
+# in typical buildout run
+environment =
+  CFLAGS =
+  CXXFLAGS =
+  LDFLAGS =
diff --git a/buildout/software-profiles/ocropus.cfg b/buildout/software-profiles/ocropus.cfg
index 61141a25a4..1f5a9c2f9c 100644
--- a/buildout/software-profiles/ocropus.cfg
+++ b/buildout/software-profiles/ocropus.cfg
@@ -16,6 +16,10 @@ configure-options =
   ${iulib:location}
 patches = ${ocropus-patch-scons:location}/${ocropus-patch-scons:filename}
 patch-options = -p1
+# workaround http://github.com/hexagonit/hexagonit.recipe.cmmi/issues#issue/1
+# in typical buildout run
+environment =
+  LDFLAGS =
 
 [iulib]
 recipe = hexagonit.recipe.cmmi
diff --git a/buildout/software-profiles/xpdf.cfg b/buildout/software-profiles/xpdf.cfg
index 4e55a6b325..f99dbb6720 100644
--- a/buildout/software-profiles/xpdf.cfg
+++ b/buildout/software-profiles/xpdf.cfg
@@ -39,3 +39,10 @@ patches =
   ${xpdf-3.02pl2.patch:location}/${xpdf-3.02pl2.patch:filename}
   ${xpdf-3.02pl3.patch:location}/${xpdf-3.02pl3.patch:filename}
   ${xpdf-3.02pl4.patch:location}/${xpdf-3.02pl4.patch:filename}
+
+# workaround http://github.com/hexagonit/hexagonit.recipe.cmmi/issues#issue/1
+# in typical buildout run
+environment =
+  LDFLAGS =
+
+
-- 
2.30.9


From 59684e8c5f8aa276b5c95fe6c228af0759617bc7 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C5=81ukasz=20Nowak?= <luke@nexedi.com>
Date: Fri, 16 Jul 2010 15:58:20 +0000
Subject: [PATCH 026/270]  - add another workaround for
 http://github.com/hexagonit/hexagonit.recipe.cmmi/issues#issue/1

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@37177 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 buildout/software-profiles/garbage-collector.cfg | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/buildout/software-profiles/garbage-collector.cfg b/buildout/software-profiles/garbage-collector.cfg
index 20826a4373..9528d6d627 100644
--- a/buildout/software-profiles/garbage-collector.cfg
+++ b/buildout/software-profiles/garbage-collector.cfg
@@ -5,3 +5,8 @@ parts = garbage-collector
 recipe = hexagonit.recipe.cmmi
 md5sum = 2ff9924c7249ef7f736ecfe6f08f3f9b
 url = http://www.hpl.hp.com/personal/Hans_Boehm/gc/gc_source/gc-7.1.tar.gz
+
+# workaround http://github.com/hexagonit/hexagonit.recipe.cmmi/issues#issue/1
+# in typical buildout run
+environment =
+  LDFLAGS =
-- 
2.30.9


From 50eb451aef0bddfc1e8256deb83c7463b3f30469 Mon Sep 17 00:00:00 2001
From: Ivan Tyagov <ivan@nexedi.com>
Date: Mon, 19 Jul 2010 07:13:39 +0000
Subject: [PATCH 027/270] Temp objects do not have portal_type definition so in
 case getSearchableText is called on them use 'Base Type' one.

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@37178 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 product/ERP5Type/Base.py | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/product/ERP5Type/Base.py b/product/ERP5Type/Base.py
index 82832f9f0a..9b95606275 100644
--- a/product/ERP5Type/Base.py
+++ b/product/ERP5Type/Base.py
@@ -3201,6 +3201,10 @@ class Base( CopyContainer,
       """
       searchable_text_list = []
       portal_type = self.portal_types.getTypeInfo(self)
+      if portal_type is None and self.isTempDocument():
+        # if it's a temp object we have no portal_type definition
+        # so use definition of 'Base Type' for searchable methods & properties
+        portal_type = self.portal_types.getTypeInfo('Base Type')
       searchable_text_method_id_list = []
       # generated from properties methods and add explicitly defined method_ids as well 
       for searchable_text_property_id in portal_type.getSearchableTextPropertyIdList():
-- 
2.30.9


From 75ad9443d97a18378051336fe916bae3a15a2d1e Mon Sep 17 00:00:00 2001
From: Ivan Tyagov <ivan@nexedi.com>
Date: Mon, 19 Jul 2010 07:49:17 +0000
Subject: [PATCH 028/270] Remove Snapshot implementation.

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@37180 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 product/ERP5/Document/Acknowledgement.py |  1 -
 product/ERP5/Document/Document.py        | 46 +---------------------
 product/ERP5/Document/EmailDocument.py   |  1 -
 product/ERP5/Document/Event.py           |  1 -
 product/ERP5/Document/TextDocument.py    |  1 -
 product/ERP5/PropertySheet/Snapshot.py   | 49 ------------------------
 product/ERP5OOo/Document/OOoDocument.py  |  1 -
 7 files changed, 1 insertion(+), 99 deletions(-)
 delete mode 100644 product/ERP5/PropertySheet/Snapshot.py

diff --git a/product/ERP5/Document/Acknowledgement.py b/product/ERP5/Document/Acknowledgement.py
index aa48753844..b36ee7a102 100644
--- a/product/ERP5/Document/Acknowledgement.py
+++ b/product/ERP5/Document/Acknowledgement.py
@@ -67,7 +67,6 @@ class Acknowledgement(EmailDocumentProxyMixin, Event):
                     , PropertySheet.CategoryCore
                     , PropertySheet.Document
                     , PropertySheet.DublinCore
-                    , PropertySheet.Snapshot
                     , PropertySheet.Task
                     , PropertySheet.Url
                     , PropertySheet.Arrow
diff --git a/product/ERP5/Document/Document.py b/product/ERP5/Document/Document.py
index ef14a4c021..c415693415 100644
--- a/product/ERP5/Document/Document.py
+++ b/product/ERP5/Document/Document.py
@@ -82,48 +82,6 @@ DEFAULT_QUALITY = 75
 
 DEFAULT_CONTENT_TYPE = 'text/html'
 
-
-class SnapshotMixin:
-  """
-    This class provides a generic API to store in the ZODB
-    PDF snapshots of objects and documents with the
-    goal to keep a facsimile copy of documents as they
-    were at a given date.
-  """
-
-  # Declarative security
-  security = ClassSecurityInfo()
-  security.declareObjectProtected(Permissions.AccessContentsInformation)
-
-  security.declareProtected(Permissions.ModifyPortalContent, 'createSnapshot')
-  def createSnapshot(self):
-    """
-      Create a snapshot (PDF). This is the normal way to modifiy
-      snapshot_data. Once a snapshot is taken, a new snapshot
-      can not be taken.
-
-      NOTE: use getSnapshotData and hasSnapshotData accessors
-      to access a snapshot.
-
-      NOTE2: implementation of createSnapshot should probably
-      be delegated to a types base method since this it
-      is configuration dependent.
-    """
-    if self.hasSnapshotData():
-      raise ConversionError('This document already has a snapshot.')
-    self._setSnapshotData(self.convert(format='pdf'))
-
-  security.declareProtected(Permissions.ManagePortal, 'deleteSnapshot')
-  def deleteSnapshot(self):
-    """
-      Deletes the snapshot - in theory this should never be done.
-      It is there for programmers and system administrators.
-    """
-    try:
-      del(self.snapshot_data)
-    except AttributeError:
-      pass
-
 class ConversionError(Exception):pass
 
 class DocumentProxyError(Exception):pass
@@ -132,8 +90,7 @@ class NotConvertedError(Exception):pass
 allow_class(NotConvertedError)
 
 class Document(DocumentExtensibleTraversableMixin, XMLObject, UrlMixIn, CachedConvertableMixin,
-               SnapshotMixin, CrawableMixin, TextConvertableMixin,
-               DownloadableMixin, DocumentMixin):
+               CrawableMixin, TextConvertableMixin, DownloadableMixin, DocumentMixin):
   """Document is an abstract class with all methods related to document
   management in ERP5. This includes searchable text, explicit relations,
   implicit relations, metadata, versions, languages, etc.
@@ -334,7 +291,6 @@ class Document(DocumentExtensibleTraversableMixin, XMLObject, UrlMixIn, CachedCo
                     , PropertySheet.ExternalDocument
                     , PropertySheet.Url
                     , PropertySheet.Periodicity
-                    , PropertySheet.Snapshot
                     )
 
   index_html = DownloadableMixin.index_html
diff --git a/product/ERP5/Document/EmailDocument.py b/product/ERP5/Document/EmailDocument.py
index 66191491d5..9cdf7acd3a 100644
--- a/product/ERP5/Document/EmailDocument.py
+++ b/product/ERP5/Document/EmailDocument.py
@@ -145,7 +145,6 @@ class EmailDocument(TextDocument):
                     , PropertySheet.DublinCore
                     , PropertySheet.Version
                     , PropertySheet.Document
-                    , PropertySheet.Snapshot
                     , PropertySheet.ExternalDocument
                     , PropertySheet.Url
                     , PropertySheet.TextDocument
diff --git a/product/ERP5/Document/Event.py b/product/ERP5/Document/Event.py
index f68cf59b60..4d7dffc82b 100644
--- a/product/ERP5/Document/Event.py
+++ b/product/ERP5/Document/Event.py
@@ -116,7 +116,6 @@ class Event(EmailDocument, Movement, AcknowledgeableMixin):
                     , PropertySheet.CategoryCore
                     , PropertySheet.Document
                     , PropertySheet.DublinCore
-                    , PropertySheet.Snapshot
                     , PropertySheet.Task
                     , PropertySheet.Url
                     , PropertySheet.TextDocument
diff --git a/product/ERP5/Document/TextDocument.py b/product/ERP5/Document/TextDocument.py
index 0542155a28..d1bf753c62 100644
--- a/product/ERP5/Document/TextDocument.py
+++ b/product/ERP5/Document/TextDocument.py
@@ -67,7 +67,6 @@ class TextDocument(CachedConvertableMixin, BaseConvertableFileMixin,
                       , PropertySheet.DublinCore
                       , PropertySheet.Version
                       , PropertySheet.Document
-                      , PropertySheet.Snapshot
                       , PropertySheet.ExternalDocument
                       , PropertySheet.Url
                       , PropertySheet.TextDocument
diff --git a/product/ERP5/PropertySheet/Snapshot.py b/product/ERP5/PropertySheet/Snapshot.py
deleted file mode 100644
index 5108d7c7a1..0000000000
--- a/product/ERP5/PropertySheet/Snapshot.py
+++ /dev/null
@@ -1,49 +0,0 @@
-##############################################################################
-#
-# Copyright (c) 2006 Nexedi SARL and Contributors. All Rights Reserved.
-#          Jean-Paul Smets <jp@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 Snapshot:
-  """
-     This property sheet defines the way to store data (file, images, etc.)
-     in the form of an object of any type
-  """
-
-  _properties = (
-    { 'id'          : 'snapshot_data',
-      'description' : 'An object (string, stream, etc.) which contains raw data'
-                      'of a snapshot. Snapshot is used to keep a visual representation'
-                      'of a document such as an invoice.',
-      'type'        : 'data',
-      'write_permission' : 'Manage properties',
-      'default'     : '',
-      'mode'        : 'w' },
-    { 'id'          : 'snapshot_content_type',
-      'description' : 'A string which represents the mime type of the snapshot data',
-      'type'        : 'string',
-      'default'     : 'application/pdf',
-      'mode'        : 'w' },
-   )
diff --git a/product/ERP5OOo/Document/OOoDocument.py b/product/ERP5OOo/Document/OOoDocument.py
index fefdfa9a81..ea8f75c3ac 100644
--- a/product/ERP5OOo/Document/OOoDocument.py
+++ b/product/ERP5OOo/Document/OOoDocument.py
@@ -145,7 +145,6 @@ class OOoDocument(OOoDocumentExtensibleTraversableMixin, BaseConvertableFileMixi
                     , PropertySheet.DublinCore
                     , PropertySheet.Version
                     , PropertySheet.Document
-                    , PropertySheet.Snapshot
                     , PropertySheet.ExternalDocument
                     , PropertySheet.Url
                     , PropertySheet.Periodicity
-- 
2.30.9


From 7b59861b6ff63cf5f67c854e465c4acf95c863b6 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?J=C3=A9rome=20Perrin?= <jerome@nexedi.com>
Date: Mon, 19 Jul 2010 09:23:18 +0000
Subject: [PATCH 029/270] update test

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@37181 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 product/ERP5/tests/testAccountingReports.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/product/ERP5/tests/testAccountingReports.py b/product/ERP5/tests/testAccountingReports.py
index 8a022a9cc8..40a756ee64 100644
--- a/product/ERP5/tests/testAccountingReports.py
+++ b/product/ERP5/tests/testAccountingReports.py
@@ -3776,7 +3776,7 @@ class TestAccountingReportsWithAnalytic(AccountingTestCase, ERP5ReportTestCase):
           'node_title', 'mirror_section_title', 'debit', 'credit'])
     
     self.checkLineProperties(data_line_list[0],
-                             project=None,
+                             project='',
                              function=None,
                              product_line_translated_title=None,
                              node_title='41',
-- 
2.30.9


From effb49963033ae2c0dd172e4a82e9b123f93adc5 Mon Sep 17 00:00:00 2001
From: Vincent Pelletier <vincent@nexedi.com>
Date: Mon, 19 Jul 2010 09:30:50 +0000
Subject: [PATCH 030/270] Remove unused definitions of CachingMethod.

Also, update warning message.

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@37182 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 product/ZSQLCatalog/SQLCatalog.py | 13 ++-----------
 1 file changed, 2 insertions(+), 11 deletions(-)

diff --git a/product/ZSQLCatalog/SQLCatalog.py b/product/ZSQLCatalog/SQLCatalog.py
index 5eb98c0ec6..0e7c7bb1ad 100644
--- a/product/ZSQLCatalog/SQLCatalog.py
+++ b/product/ZSQLCatalog/SQLCatalog.py
@@ -84,20 +84,11 @@ except ImportError:
 
 try:
   from Products.ERP5Type.Cache import enableReadOnlyTransactionCache, \
-       disableReadOnlyTransactionCache, CachingMethod, \
-       caching_instance_method
+       disableReadOnlyTransactionCache, caching_instance_method
 except ImportError:
-  LOG('SQLCatalog', WARNING, 'Count not import CachingMethod, expect slowness.')
+  LOG('SQLCatalog', WARNING, 'Count not import caching_instance_method, expect slowness.')
   def doNothing(context):
     pass
-  class CachingMethod:
-    """
-      Dummy CachingMethod class.
-    """
-    def __init__(self, callable, **kw):
-      self.function = callable
-    def __call__(self, *opts, **kw):
-      return self.function(*opts, **kw)
   def caching_instance_method(*args, **kw):
     return lambda method: method
   enableReadOnlyTransactionCache = doNothing
-- 
2.30.9


From 83dd1ab763da6d75ed49a556a3e68182197faac9 Mon Sep 17 00:00:00 2001
From: Vincent Pelletier <vincent@nexedi.com>
Date: Mon, 19 Jul 2010 09:32:09 +0000
Subject: [PATCH 031/270] Remove use of volatile attribute.

Code calling this method in this class already cache their own result,
and it is not part of the API (so it should not be directly accessed).

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@37183 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 product/ZSQLCatalog/SQLCatalog.py | 39 +++++++++++--------------------
 1 file changed, 13 insertions(+), 26 deletions(-)

diff --git a/product/ZSQLCatalog/SQLCatalog.py b/product/ZSQLCatalog/SQLCatalog.py
index 0e7c7bb1ad..8bd582f667 100644
--- a/product/ZSQLCatalog/SQLCatalog.py
+++ b/product/ZSQLCatalog/SQLCatalog.py
@@ -814,10 +814,6 @@ class Catalog(Folder,
       # Add a dummy item so that SQLCatalog will not use existing uids again.
       self.insertMaxUid()
 
-    # Remove the cache of catalog schema.
-    if hasattr(self, '_v_catalog_schema_dict') :
-      del self._v_catalog_schema_dict
-
     self._clearSecurityCache()
 
   def insertMaxUid(self):
@@ -909,28 +905,19 @@ class Catalog(Folder,
     return self.sql_search_result_keys
 
   def _getCatalogSchema(self, table=None):
-    # XXX: Using a volatile as a cache makes it impossible to flush
-    # consistently on all connections containing the volatile. Another
-    # caching scheme must be used here.
-    catalog_schema_dict = getattr(aq_base(self), '_v_catalog_schema_dict', {})
-
-    if table not in catalog_schema_dict:
-      result_list = []
-      try:
-        method_name = self.sql_catalog_schema
-        method = getattr(self, method_name)
-        search_result = method(table=table)
-        for c in search_result:
-          result_list.append(c.Field)
-      except ConflictError:
-        raise
-      except:
-        LOG('SQLCatalog', WARNING, '_getCatalogSchema failed with the method %s' % method_name, error=sys.exc_info())
-        pass
-      catalog_schema_dict[table] = tuple(result_list)
-      self._v_catalog_schema_dict= catalog_schema_dict
-
-    return catalog_schema_dict[table]
+    result_list = []
+    try:
+      method_name = self.sql_catalog_schema
+      method = getattr(self, method_name)
+      search_result = method(table=table)
+      for c in search_result:
+        result_list.append(c.Field)
+    except ConflictError:
+      raise
+    except:
+      LOG('SQLCatalog', WARNING, '_getCatalogSchema failed with the method %s' % method_name, error=sys.exc_info())
+      pass
+    return tuple(result_list)
 
   @caching_instance_method(id='SQLCatalog.getColumnIds',
                            cache_factory='erp5_content_long')
-- 
2.30.9


From 6e94f9baa96a07b0d9918882aa136255a732e959 Mon Sep 17 00:00:00 2001
From: Vincent Pelletier <vincent@nexedi.com>
Date: Mon, 19 Jul 2010 09:32:59 +0000
Subject: [PATCH 032/270] Factorise code a tiny bit.

This prepares for more invasive changes about cache_id computation.

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@37184 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 product/ZSQLCatalog/SQLCatalog.py | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/product/ZSQLCatalog/SQLCatalog.py b/product/ZSQLCatalog/SQLCatalog.py
index 8bd582f667..40d5a1c384 100644
--- a/product/ZSQLCatalog/SQLCatalog.py
+++ b/product/ZSQLCatalog/SQLCatalog.py
@@ -112,11 +112,12 @@ class transactional_cache_decorator:
   def __call__(self, method):
     def wrapper(wrapped_self):
       transactional_cache = getTransactionalVariable(None)
+      cache_id = self.cache_id
       try:
-        return transactional_cache[self.cache_id]
+        result = transactional_cache[cache_id]
       except KeyError:
-        result = transactional_cache[self.cache_id] = method(wrapped_self)
-        return result
+        result = transactional_cache[cache_id] = method(wrapped_self)
+      return result
     return wrapper
 
 try:
-- 
2.30.9


From 2b1c28030d5ba04b6214bfacc8adf6b1c1d01d07 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?J=C3=A9rome=20Perrin?= <jerome@nexedi.com>
Date: Mon, 19 Jul 2010 10:00:26 +0000
Subject: [PATCH 033/270] some fields were not proxyfied correctly (debit /
 credit was reversed)

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@37185 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 .../listbox_destination_credit.xml                              | 2 +-
 .../listbox_destination_debit.xml                               | 2 +-
 .../listbox_destination_credit.xml                              | 2 +-
 .../listbox_destination_debit.xml                               | 2 +-
 .../listbox_destination_credit.xml                              | 2 +-
 .../listbox_destination_debit.xml                               | 2 +-
 .../listbox_source_credit.xml                                   | 2 +-
 .../listbox_source_debit.xml                                    | 2 +-
 .../listbox_destination_credit.xml                              | 2 +-
 .../listbox_destination_debit.xml                               | 2 +-
 bt5/erp5_accounting/bt/revision                                 | 2 +-
 11 files changed, 11 insertions(+), 11 deletions(-)

diff --git a/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountingTransaction_viewDestinationAsset/listbox_destination_credit.xml b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountingTransaction_viewDestinationAsset/listbox_destination_credit.xml
index 5751ea8b4b..a34763e070 100644
--- a/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountingTransaction_viewDestinationAsset/listbox_destination_credit.xml
+++ b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountingTransaction_viewDestinationAsset/listbox_destination_credit.xml
@@ -80,7 +80,7 @@
                 </item>
                 <item>
                     <key> <string>field_id</string> </key>
-                    <value> <string>listbox_source_credit</string> </value>
+                    <value> <string>listbox_source_debit</string> </value>
                 </item>
                 <item>
                     <key> <string>form_id</string> </key>
diff --git a/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountingTransaction_viewDestinationAsset/listbox_destination_debit.xml b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountingTransaction_viewDestinationAsset/listbox_destination_debit.xml
index 5f925bf1e2..a14f86f27a 100644
--- a/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountingTransaction_viewDestinationAsset/listbox_destination_debit.xml
+++ b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountingTransaction_viewDestinationAsset/listbox_destination_debit.xml
@@ -80,7 +80,7 @@
                 </item>
                 <item>
                     <key> <string>field_id</string> </key>
-                    <value> <string>listbox_source_debit</string> </value>
+                    <value> <string>listbox_source_credit</string> </value>
                 </item>
                 <item>
                     <key> <string>form_id</string> </key>
diff --git a/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountingTransaction_viewDetails/listbox_destination_credit.xml b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountingTransaction_viewDetails/listbox_destination_credit.xml
index 5751ea8b4b..a34763e070 100644
--- a/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountingTransaction_viewDetails/listbox_destination_credit.xml
+++ b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountingTransaction_viewDetails/listbox_destination_credit.xml
@@ -80,7 +80,7 @@
                 </item>
                 <item>
                     <key> <string>field_id</string> </key>
-                    <value> <string>listbox_source_credit</string> </value>
+                    <value> <string>listbox_source_debit</string> </value>
                 </item>
                 <item>
                     <key> <string>form_id</string> </key>
diff --git a/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountingTransaction_viewDetails/listbox_destination_debit.xml b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountingTransaction_viewDetails/listbox_destination_debit.xml
index 5f925bf1e2..a14f86f27a 100644
--- a/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountingTransaction_viewDetails/listbox_destination_debit.xml
+++ b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountingTransaction_viewDetails/listbox_destination_debit.xml
@@ -80,7 +80,7 @@
                 </item>
                 <item>
                     <key> <string>field_id</string> </key>
-                    <value> <string>listbox_source_debit</string> </value>
+                    <value> <string>listbox_source_credit</string> </value>
                 </item>
                 <item>
                     <key> <string>form_id</string> </key>
diff --git a/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/PaymentTransaction_viewDetails/listbox_destination_credit.xml b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/PaymentTransaction_viewDetails/listbox_destination_credit.xml
index 5751ea8b4b..a34763e070 100644
--- a/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/PaymentTransaction_viewDetails/listbox_destination_credit.xml
+++ b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/PaymentTransaction_viewDetails/listbox_destination_credit.xml
@@ -80,7 +80,7 @@
                 </item>
                 <item>
                     <key> <string>field_id</string> </key>
-                    <value> <string>listbox_source_credit</string> </value>
+                    <value> <string>listbox_source_debit</string> </value>
                 </item>
                 <item>
                     <key> <string>form_id</string> </key>
diff --git a/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/PaymentTransaction_viewDetails/listbox_destination_debit.xml b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/PaymentTransaction_viewDetails/listbox_destination_debit.xml
index 5f925bf1e2..a14f86f27a 100644
--- a/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/PaymentTransaction_viewDetails/listbox_destination_debit.xml
+++ b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/PaymentTransaction_viewDetails/listbox_destination_debit.xml
@@ -80,7 +80,7 @@
                 </item>
                 <item>
                     <key> <string>field_id</string> </key>
-                    <value> <string>listbox_source_debit</string> </value>
+                    <value> <string>listbox_source_credit</string> </value>
                 </item>
                 <item>
                     <key> <string>form_id</string> </key>
diff --git a/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/PurchaseInvoiceTransaction_viewDetails/listbox_source_credit.xml b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/PurchaseInvoiceTransaction_viewDetails/listbox_source_credit.xml
index 4e1037ad8f..7de4bf5a06 100644
--- a/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/PurchaseInvoiceTransaction_viewDetails/listbox_source_credit.xml
+++ b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/PurchaseInvoiceTransaction_viewDetails/listbox_source_credit.xml
@@ -80,7 +80,7 @@
                 </item>
                 <item>
                     <key> <string>field_id</string> </key>
-                    <value> <string>listbox_source_debit</string> </value>
+                    <value> <string>listbox_source_credit</string> </value>
                 </item>
                 <item>
                     <key> <string>form_id</string> </key>
diff --git a/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/PurchaseInvoiceTransaction_viewDetails/listbox_source_debit.xml b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/PurchaseInvoiceTransaction_viewDetails/listbox_source_debit.xml
index b60c4a76c3..771e362b0f 100644
--- a/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/PurchaseInvoiceTransaction_viewDetails/listbox_source_debit.xml
+++ b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/PurchaseInvoiceTransaction_viewDetails/listbox_source_debit.xml
@@ -80,7 +80,7 @@
                 </item>
                 <item>
                     <key> <string>field_id</string> </key>
-                    <value> <string>listbox_source_credit</string> </value>
+                    <value> <string>listbox_source_debit</string> </value>
                 </item>
                 <item>
                     <key> <string>form_id</string> </key>
diff --git a/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/SaleInvoiceTransaction_viewDetails/listbox_destination_credit.xml b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/SaleInvoiceTransaction_viewDetails/listbox_destination_credit.xml
index 5751ea8b4b..a34763e070 100644
--- a/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/SaleInvoiceTransaction_viewDetails/listbox_destination_credit.xml
+++ b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/SaleInvoiceTransaction_viewDetails/listbox_destination_credit.xml
@@ -80,7 +80,7 @@
                 </item>
                 <item>
                     <key> <string>field_id</string> </key>
-                    <value> <string>listbox_source_credit</string> </value>
+                    <value> <string>listbox_source_debit</string> </value>
                 </item>
                 <item>
                     <key> <string>form_id</string> </key>
diff --git a/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/SaleInvoiceTransaction_viewDetails/listbox_destination_debit.xml b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/SaleInvoiceTransaction_viewDetails/listbox_destination_debit.xml
index 5f925bf1e2..a14f86f27a 100644
--- a/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/SaleInvoiceTransaction_viewDetails/listbox_destination_debit.xml
+++ b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/SaleInvoiceTransaction_viewDetails/listbox_destination_debit.xml
@@ -80,7 +80,7 @@
                 </item>
                 <item>
                     <key> <string>field_id</string> </key>
-                    <value> <string>listbox_source_debit</string> </value>
+                    <value> <string>listbox_source_credit</string> </value>
                 </item>
                 <item>
                     <key> <string>form_id</string> </key>
diff --git a/bt5/erp5_accounting/bt/revision b/bt5/erp5_accounting/bt/revision
index 91530abf65..5c02a7f16a 100644
--- a/bt5/erp5_accounting/bt/revision
+++ b/bt5/erp5_accounting/bt/revision
@@ -1 +1 @@
-1313
\ No newline at end of file
+1314
\ No newline at end of file
-- 
2.30.9


From 3a09552241e479a7464c365f25bbd27d284131d0 Mon Sep 17 00:00:00 2001
From: Ivan Tyagov <ivan@nexedi.com>
Date: Mon, 19 Jul 2010 11:39:46 +0000
Subject: [PATCH 034/270] Not only temp object can have no portal_type
 definition.

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@37186 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 product/ERP5Type/Base.py | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/product/ERP5Type/Base.py b/product/ERP5Type/Base.py
index 9b95606275..27a0f0b217 100644
--- a/product/ERP5Type/Base.py
+++ b/product/ERP5Type/Base.py
@@ -3201,8 +3201,8 @@ class Base( CopyContainer,
       """
       searchable_text_list = []
       portal_type = self.portal_types.getTypeInfo(self)
-      if portal_type is None and self.isTempDocument():
-        # if it's a temp object we have no portal_type definition
+      if portal_type is None:
+        # it can be a temp object or a tool (i.e. Activity Tool) for which we have no portal_type definition
         # so use definition of 'Base Type' for searchable methods & properties
         portal_type = self.portal_types.getTypeInfo('Base Type')
       searchable_text_method_id_list = []
-- 
2.30.9


From 83544bb57723b8b0d5728780e33b953d43575292 Mon Sep 17 00:00:00 2001
From: Ivan Tyagov <ivan@nexedi.com>
Date: Mon, 19 Jul 2010 14:26:34 +0000
Subject: [PATCH 035/270] No need to use mimetypes_registry with hard coded
 name to get mime_type.

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@37187 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 product/ERP5/Document/PDFDocument.py | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/product/ERP5/Document/PDFDocument.py b/product/ERP5/Document/PDFDocument.py
index ba5505a756..b9c7b171fd 100644
--- a/product/ERP5/Document/PDFDocument.py
+++ b/product/ERP5/Document/PDFDocument.py
@@ -139,8 +139,7 @@ class PDFDocument(Image):
         if not src_mimetype.endswith('png'):
           continue
         content = '%s' % png_data
-        mime_type = getToolByName(self, 'mimetypes_registry').\
-                                    lookupExtension('name.%s' % 'txt')
+        mime_type = 'text/plain'
         if content is not None:
           portal_transforms = getToolByName(self, 'portal_transforms')
           result = portal_transforms.convertToData(mime_type, content,
-- 
2.30.9


From 73f645cd0269bc7fae4c5c8a07a022e123f65b0f Mon Sep 17 00:00:00 2001
From: Rafael Monnerat <rafael@nexedi.com>
Date: Mon, 19 Jul 2010 19:24:06 +0000
Subject: [PATCH 036/270] Added a Tab for show Message Source when email is
 sent or received.

When some email is ingested from some unknown source is not possible to found the sender or Cc easily if they are not created in advance into ERP5. View Message Source is a feature quite common in many emails clients.

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@37188 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 .../Mail%20Message/message_source.xml         | 105 +++++++++++
 .../erp5_crm/Event_viewMessageSource.xml      | 126 +++++++++++++
 .../Event_viewMessageSource/my_data.xml       | 170 ++++++++++++++++++
 .../Event_viewMessageSource/my_title.xml      | 114 ++++++++++++
 bt5/erp5_crm/bt/revision                      |   2 +-
 bt5/erp5_crm/bt/template_action_path_list     |   1 +
 6 files changed, 517 insertions(+), 1 deletion(-)
 create mode 100644 bt5/erp5_crm/ActionTemplateItem/portal_types/Mail%20Message/message_source.xml
 create mode 100644 bt5/erp5_crm/SkinTemplateItem/portal_skins/erp5_crm/Event_viewMessageSource.xml
 create mode 100644 bt5/erp5_crm/SkinTemplateItem/portal_skins/erp5_crm/Event_viewMessageSource/my_data.xml
 create mode 100644 bt5/erp5_crm/SkinTemplateItem/portal_skins/erp5_crm/Event_viewMessageSource/my_title.xml

diff --git a/bt5/erp5_crm/ActionTemplateItem/portal_types/Mail%20Message/message_source.xml b/bt5/erp5_crm/ActionTemplateItem/portal_types/Mail%20Message/message_source.xml
new file mode 100644
index 0000000000..978f6582a6
--- /dev/null
+++ b/bt5/erp5_crm/ActionTemplateItem/portal_types/Mail%20Message/message_source.xml
@@ -0,0 +1,105 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="ActionInformation" module="Products.CMFCore.ActionInformation"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>action</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>categories</string> </key>
+            <value>
+              <tuple>
+                <string>action_type/object_view</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>category</string> </key>
+            <value> <string>object_view</string> </value>
+        </item>
+        <item>
+            <key> <string>condition</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>description</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>icon</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>message_source</string> </value>
+        </item>
+        <item>
+            <key> <string>permissions</string> </key>
+            <value>
+              <tuple>
+                <string>View</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>priority</string> </key>
+            <value> <float>11.0</float> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>Message Source</string> </value>
+        </item>
+        <item>
+            <key> <string>visible</string> </key>
+            <value> <int>1</int> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="2" aka="AAAAAAAAAAI=">
+    <pickle>
+      <tuple>
+        <global name="Expression" module="Products.CMFCore.Expression"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>text</string> </key>
+            <value> <string>string:${object_url}/Event_viewMessageSource</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="3" aka="AAAAAAAAAAM=">
+    <pickle>
+      <tuple>
+        <global name="Expression" module="Products.CMFCore.Expression"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>text</string> </key>
+            <value> <string>here/hasFile</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_crm/SkinTemplateItem/portal_skins/erp5_crm/Event_viewMessageSource.xml b/bt5/erp5_crm/SkinTemplateItem/portal_skins/erp5_crm/Event_viewMessageSource.xml
new file mode 100644
index 0000000000..4ddcf55fdc
--- /dev/null
+++ b/bt5/erp5_crm/SkinTemplateItem/portal_skins/erp5_crm/Event_viewMessageSource.xml
@@ -0,0 +1,126 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="ERP5Form" module="Products.ERP5Form.Form"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_bind_names</string> </key>
+            <value>
+              <object>
+                <klass>
+                  <global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/>
+                </klass>
+                <tuple/>
+                <state>
+                  <dictionary>
+                    <item>
+                        <key> <string>_asgns</string> </key>
+                        <value>
+                          <dictionary/>
+                        </value>
+                    </item>
+                  </dictionary>
+                </state>
+              </object>
+            </value>
+        </item>
+        <item>
+            <key> <string>_objects</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+        <item>
+            <key> <string>action</string> </key>
+            <value> <string>Base_edit</string> </value>
+        </item>
+        <item>
+            <key> <string>description</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>encoding</string> </key>
+            <value> <string>UTF-8</string> </value>
+        </item>
+        <item>
+            <key> <string>enctype</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>group_list</string> </key>
+            <value>
+              <list>
+                <string>webcontent header bottom</string>
+                <string>bottom</string>
+              </list>
+            </value>
+        </item>
+        <item>
+            <key> <string>groups</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>bottom</string> </key>
+                    <value>
+                      <list>
+                        <string>my_data</string>
+                      </list>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>webcontent header bottom</string> </key>
+                    <value>
+                      <list>
+                        <string>my_title</string>
+                      </list>
+                    </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>Event_viewMessageSource</string> </value>
+        </item>
+        <item>
+            <key> <string>method</string> </key>
+            <value> <string>POST</string> </value>
+        </item>
+        <item>
+            <key> <string>name</string> </key>
+            <value> <string>WebPage_view</string> </value>
+        </item>
+        <item>
+            <key> <string>pt</string> </key>
+            <value> <string>form_view</string> </value>
+        </item>
+        <item>
+            <key> <string>row_length</string> </key>
+            <value> <int>4</int> </value>
+        </item>
+        <item>
+            <key> <string>stored_encoding</string> </key>
+            <value> <string>UTF-8</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>Event Preview</string> </value>
+        </item>
+        <item>
+            <key> <string>unicode_mode</string> </key>
+            <value> <int>0</int> </value>
+        </item>
+        <item>
+            <key> <string>update_action</string> </key>
+            <value> <string></string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_crm/SkinTemplateItem/portal_skins/erp5_crm/Event_viewMessageSource/my_data.xml b/bt5/erp5_crm/SkinTemplateItem/portal_skins/erp5_crm/Event_viewMessageSource/my_data.xml
new file mode 100644
index 0000000000..6ca124513d
--- /dev/null
+++ b/bt5/erp5_crm/SkinTemplateItem/portal_skins/erp5_crm/Event_viewMessageSource/my_data.xml
@@ -0,0 +1,170 @@
+<?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>css_class</string>
+                <string>default</string>
+                <string>editable</string>
+                <string>text_editor</string>
+                <string>title</string>
+                <string>width</string>
+              </list>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>my_data</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>css_class</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>default</string> </key>
+                    <value>
+                      <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>editable</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <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>
+                <item>
+                    <key> <string>text_editor</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>title</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>width</string> </key>
+                    <value> <string></string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>values</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>css_class</string> </key>
+                    <value> <string>page</string> </value>
+                </item>
+                <item>
+                    <key> <string>default</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>editable</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+                <item>
+                    <key> <string>field_id</string> </key>
+                    <value> <string>my_text_content</string> </value>
+                </item>
+                <item>
+                    <key> <string>form_id</string> </key>
+                    <value> <string>Base_viewCRMFieldLibrary</string> </value>
+                </item>
+                <item>
+                    <key> <string>target</string> </key>
+                    <value> <string>Click to edit the target</string> </value>
+                </item>
+                <item>
+                    <key> <string>text_editor</string> </key>
+                    <value> <string>text_area</string> </value>
+                </item>
+                <item>
+                    <key> <string>title</string> </key>
+                    <value> <string>Data</string> </value>
+                </item>
+                <item>
+                    <key> <string>width</string> </key>
+                    <value> <int>80</int> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+      </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 encoding="cdata"><![CDATA[
+
+python:"<pre>%s</pre>" % here.getData("")
+
+]]></string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_crm/SkinTemplateItem/portal_skins/erp5_crm/Event_viewMessageSource/my_title.xml b/bt5/erp5_crm/SkinTemplateItem/portal_skins/erp5_crm/Event_viewMessageSource/my_title.xml
new file mode 100644
index 0000000000..fb6ef750f8
--- /dev/null
+++ b/bt5/erp5_crm/SkinTemplateItem/portal_skins/erp5_crm/Event_viewMessageSource/my_title.xml
@@ -0,0 +1,114 @@
+<?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>css_class</string>
+                <string>description</string>
+                <string>display_width</string>
+                <string>editable</string>
+              </list>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>my_title</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>css_class</string> </key>
+                    <value> <string>headline</string> </value>
+                </item>
+                <item>
+                    <key> <string>description</string> </key>
+                    <value> <string>The title is display as main content title and page title.</string> </value>
+                </item>
+                <item>
+                    <key> <string>display_width</string> </key>
+                    <value> <int>40</int> </value>
+                </item>
+                <item>
+                    <key> <string>editable</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+                <item>
+                    <key> <string>field_id</string> </key>
+                    <value> <string>my_event_title</string> </value>
+                </item>
+                <item>
+                    <key> <string>form_id</string> </key>
+                    <value> <string>Base_viewCRMFieldLibrary</string> </value>
+                </item>
+                <item>
+                    <key> <string>target</string> </key>
+                    <value> <string>Click to edit the target</string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_crm/bt/revision b/bt5/erp5_crm/bt/revision
index c1c84bb799..2d3d9c27b6 100644
--- a/bt5/erp5_crm/bt/revision
+++ b/bt5/erp5_crm/bt/revision
@@ -1 +1 @@
-471
\ No newline at end of file
+472
\ No newline at end of file
diff --git a/bt5/erp5_crm/bt/template_action_path_list b/bt5/erp5_crm/bt/template_action_path_list
index 8e536f9ece..7cea0b0ceb 100644
--- a/bt5/erp5_crm/bt/template_action_path_list
+++ b/bt5/erp5_crm/bt/template_action_path_list
@@ -21,6 +21,7 @@ Letter | related_events
 Letter | view
 Mail Message | assessment
 Mail Message | copy_document_to_dms
+Mail Message | message_source
 Mail Message | preview
 Mail Message | related_events
 Mail Message | view
-- 
2.30.9


From cd109c7072dca34f6d20177081c82e1d6b871a7f Mon Sep 17 00:00:00 2001
From: Leonardo Rochael Almeida <leonardo@nexedi.com>
Date: Tue, 20 Jul 2010 01:50:51 +0000
Subject: [PATCH 037/270] Remove Zope 2.7 compatibility fossils

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@37189 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 product/CMFActivity/Activity/Queue.py        |  37 +-
 product/CMFActivity/Activity/RAMDict.py      |   9 +-
 product/CMFActivity/Activity/RAMQueue.py     |  11 +-
 product/CMFActivity/Activity/SQLDict.py      |  23 +-
 product/CMFActivity/Activity/SQLQueue.py     |  21 +-
 product/CMFActivity/tests/testCMFActivity.py | 437 +++++++++----------
 6 files changed, 241 insertions(+), 297 deletions(-)

diff --git a/product/CMFActivity/Activity/Queue.py b/product/CMFActivity/Activity/Queue.py
index 9f9bb576ee..5b8b114414 100644
--- a/product/CMFActivity/Activity/Queue.py
+++ b/product/CMFActivity/Activity/Queue.py
@@ -33,10 +33,7 @@ from ZODB.POSException import ConflictError
 import sha
 from cStringIO import StringIO
 
-try:
-  from transaction import get as get_transaction
-except ImportError:
-  pass
+import transaction
 
 # Error values for message validation
 EXCEPTION      = -1
@@ -48,36 +45,6 @@ INVALID_ORDER  = 2
 MAX_PROCESSING_TIME = 900 # in seconds
 VALIDATION_ERROR_DELAY = 30 # in seconds
 
-def abortTransactionSynchronously():
-  """Abort a transaction in a synchronous manner.
-  
-  Manual invocation of transaction abort does not synchronize
-  connections with databases, thus invalidations are not cleared out.
-  This may cause an infinite loop, because a read conflict error happens
-  again and again on the same object.
-
-  So, in this method, collect (potential) Connection objects used
-  for current transaction, and invoke the sync method on every Connection
-  object, then abort the transaction. In most cases, aborting the
-  transaction is redundant, because sync should call abort implicitly.
-  But if no connection is present, it is still required to call abort
-  explicitly, and it does not cause any harm to call abort more than once.
-
-  XXX this is really a hack. This touches the internal code of Transaction.
-  """
-  try:
-    import transaction
-    # Zope 2.8 and later. sync is automatic.
-    transaction.abort()
-  except ImportError:
-    # Zope 2.7 and earlier.
-    t = get_transaction()
-    jar_list = t._get_jars(t._objects, 0)
-    for jar in jar_list:
-      if getattr(jar, 'sync', None) is not None:
-        jar.sync()
-    t.abort()
-
 class Queue:
   """
     Step 1: use lists
@@ -228,7 +195,7 @@ class Queue:
     cached_result = validation_text_dict.get(message.order_validation_text)
     if cached_result is None:
       message_list = message.getDependentMessageList(self, activity_tool)
-      get_transaction().commit() # Release locks.
+      transaction.commit() # Release locks.
       if message_list:
         # The result is not empty, so this message is not executable.
         validation_text_dict[message.order_validation_text] = 0
diff --git a/product/CMFActivity/Activity/RAMDict.py b/product/CMFActivity/Activity/RAMDict.py
index d10d860140..2b5d1c769d 100644
--- a/product/CMFActivity/Activity/RAMDict.py
+++ b/product/CMFActivity/Activity/RAMDict.py
@@ -32,10 +32,7 @@ from Queue import Queue, VALID
 
 from zLOG import LOG
 
-try:
-  from transaction import get as get_transaction
-except ImportError:
-  pass
+import transaction
 
 class RAMDict(Queue):
   """
@@ -88,11 +85,11 @@ class RAMDict(Queue):
         activity_tool.invoke(m)
         if m.getExecutionState() == MESSAGE_EXECUTED:
           del self.getDict(path)[key]
-          get_transaction().commit()
+          transaction.commit()
           return 0
         else:
           # Start a new transaction and keep on to next message
-          get_transaction().commit()
+          transaction.commit()
     return 1
 
   def countMessage(self, activity_tool,path=None,method_id=None,**kw):
diff --git a/product/CMFActivity/Activity/RAMQueue.py b/product/CMFActivity/Activity/RAMQueue.py
index ec961d34c8..793f3b945b 100644
--- a/product/CMFActivity/Activity/RAMQueue.py
+++ b/product/CMFActivity/Activity/RAMQueue.py
@@ -29,10 +29,7 @@
 from Products.CMFActivity.ActivityTool import registerActivity, MESSAGE_EXECUTED
 from Queue import Queue, VALID
 
-try:
-  from transaction import get as get_transaction
-except ImportError:
-  pass
+import transaction
 
 class RAMQueue(Queue):
   """
@@ -67,16 +64,16 @@ class RAMQueue(Queue):
     for m in self.getQueue(path):
       if m.validate(self, activity_tool) is not VALID:
         self.deleteMessage(activity_tool, m) # Trash messages which are not validated (no error handling)
-        get_transaction().commit() # Start a new transaction
+        transaction.commit() # Start a new transaction
         return 0    # Keep on ticking
       activity_tool.invoke(m)
       if m.getExecutionState() == MESSAGE_EXECUTED:
         self.deleteMessage(activity_tool, m) # Trash messages which are not validated (no error handling)
-        get_transaction().commit() # Start a new transaction
+        transaction.commit() # Start a new transaction
         return 0    # Keep on ticking
       else:
         # Start a new transaction and keep on to next message
-        get_transaction().commit()
+        transaction.commit()
     return 1 # Go to sleep
 
   def countMessage(self, activity_tool,path=None,method_id=None,**kw):
diff --git a/product/CMFActivity/Activity/SQLDict.py b/product/CMFActivity/Activity/SQLDict.py
index 6cf5b7fafd..85488b729b 100644
--- a/product/CMFActivity/Activity/SQLDict.py
+++ b/product/CMFActivity/Activity/SQLDict.py
@@ -27,7 +27,7 @@
 ##############################################################################
 
 from Products.CMFActivity.ActivityTool import registerActivity, MESSAGE_NOT_EXECUTED, MESSAGE_EXECUTED
-from Queue import VALID, INVALID_PATH, abortTransactionSynchronously
+from Queue import VALID, INVALID_PATH
 from RAMDict import RAMDict
 from Products.CMFActivity.ActiveObject import INVOKE_ERROR_STATE, VALIDATE_ERROR_STATE
 from Products.CMFActivity.Errors import ActivityFlushError
@@ -40,10 +40,7 @@ from Products.CMFActivity.ActivityRuntimeEnvironment import (
   ActivityRuntimeEnvironment, getTransactionalVariable)
 from zExceptions import ExceptionFormatter
 
-try:
-  from transaction import get as get_transaction
-except ImportError:
-  pass
+import transaction
 
 from zLOG import LOG, TRACE, WARNING, ERROR, INFO, PANIC
 
@@ -334,7 +331,7 @@ class SQLDict(RAMDict, SQLBase):
       # version - to ZODB connector.
       # So all connectors must be committed now that we have selected
       # everything needed from MySQL to get a fresh view of ZODB objects.
-      get_transaction().commit()
+      transaction.commit()
       tv = getTransactionalVariable(None)
       tv['activity_runtime_environment'] = activity_runtime_environment
       # Try to invoke
@@ -343,7 +340,7 @@ class SQLDict(RAMDict, SQLBase):
       except:
         LOG('SQLDict', WARNING, 'Exception raised when invoking messages (uid, path, method_id) %r' % ([(m.uid, m.object_path, m.method_id) for m in message_list], ), error=sys.exc_info())
         try:
-          abortTransactionSynchronously()
+          transaction.abort()
         except:
           # Unfortunately, database adapters may raise an exception against abort.
           LOG('SQLDict', PANIC,
@@ -360,18 +357,18 @@ class SQLDict(RAMDict, SQLBase):
           LOG('SQLDict', TRACE, 'Freed messages %r' % (to_free_uid_list))
       # Abort if something failed.
       if [m for m in message_list if m.getExecutionState() == MESSAGE_NOT_EXECUTED]:
-        endTransaction = abortTransactionSynchronously
+        endTransaction = transaction.abort
       else:
-        endTransaction = get_transaction().commit
+        endTransaction = transaction.commit
       try:
         endTransaction()
       except:
         LOG('SQLDict', WARNING, 'Failed to end transaction for messages (uid, path, method_id) %r' % ([(m.uid, m.object_path, m.method_id) for m in message_list], ), error=sys.exc_info())
-        if endTransaction == abortTransactionSynchronously:
+        if endTransaction == transaction.abort:
           LOG('SQLDict', PANIC, 'Failed to abort executed messages. Some objects may be modified accidentally.')
         else:
           try:
-            abortTransactionSynchronously()
+            transaction.abort()
           except:
             LOG('SQLDict', PANIC, 'Failed to abort executed messages which also failed to commit. Some objects may be modified accidentally.')
             raise
@@ -385,7 +382,7 @@ class SQLDict(RAMDict, SQLBase):
         else:
           LOG('SQLDict', TRACE, 'Freed messages %r' % (message_list, ))
       self.finalizeMessageExecution(activity_tool, message_list, uid_to_duplicate_uid_list_dict)
-    get_transaction().commit()
+    transaction.commit()
     return not message_list
 
   def hasActivity(self, activity_tool, object, method_id=None, only_valid=None, active_process_uid=None):
@@ -505,7 +502,7 @@ class SQLDict(RAMDict, SQLBase):
                                  offset=offset, count=READ_MESSAGE_LIMIT)
         if not result:
           return
-        get_transaction().commit()
+        transaction.commit()
 
         validation_text_dict = {'none': 1}
         message_dict = {}
diff --git a/product/CMFActivity/Activity/SQLQueue.py b/product/CMFActivity/Activity/SQLQueue.py
index 4cd415d824..53a6984241 100644
--- a/product/CMFActivity/Activity/SQLQueue.py
+++ b/product/CMFActivity/Activity/SQLQueue.py
@@ -28,7 +28,7 @@
 
 from Products.CMFActivity.ActivityTool import registerActivity, MESSAGE_NOT_EXECUTED, MESSAGE_EXECUTED
 from RAMQueue import RAMQueue
-from Queue import VALID, INVALID_PATH, abortTransactionSynchronously
+from Queue import VALID, INVALID_PATH
 from Products.CMFActivity.ActiveObject import INVOKE_ERROR_STATE, VALIDATE_ERROR_STATE
 from Products.CMFActivity.Errors import ActivityFlushError
 from ZODB.POSException import ConflictError
@@ -40,10 +40,7 @@ from Products.CMFActivity.ActivityRuntimeEnvironment import (
   ActivityRuntimeEnvironment, getTransactionalVariable)
 from zExceptions import ExceptionFormatter
 
-try:
-  from transaction import get as get_transaction
-except ImportError:
-  pass
+import transaction
 
 from zLOG import LOG, WARNING, ERROR, INFO, PANIC, TRACE
 
@@ -214,7 +211,7 @@ class SQLQueue(RAMQueue, SQLBase):
       # version - to ZODB connector.
       # So all connectors must be committed now that we have selected
       # everything needed from MySQL to get a fresh view of ZODB objects.
-      get_transaction().commit()
+      transaction.commit()
       tv = getTransactionalVariable(None)
       for m in message_list:
         tv['activity_runtime_environment'] = ActivityRuntimeEnvironment(m)
@@ -227,15 +224,15 @@ class SQLQueue(RAMQueue, SQLBase):
             # successfull messages to be rolled back. This commit might fail,
             # so it is protected the same way as activity execution by the
             # same "try" block.
-            get_transaction().commit()
+            transaction.commit()
           else:
-            # This message failed, revert.
-            abortTransactionSynchronously()
+            # This message failed, abort.
+            transaction.abort()
         except:
           value = m.uid, m.object_path, m.method_id
           LOG('SQLQueue', WARNING, 'Exception raised when invoking message (uid, path, method_id) %r' % (value, ), error=sys.exc_info())
           try:
-            abortTransactionSynchronously()
+            transaction.abort()
           except:
             # Unfortunately, database adapters may raise an exception against abort.
             LOG('SQLQueue', PANIC, 'abort failed, thus some objects may be modified accidentally')
@@ -266,7 +263,7 @@ class SQLQueue(RAMQueue, SQLBase):
           LOG('SQLQueue', TRACE, 'Freed messages %r' % (to_free_uid_list, ))
       self.finalizeMessageExecution(activity_tool,
                                     message_list[:processed_count])
-    get_transaction().commit()
+    transaction.commit()
     return not message_list
 
 
@@ -396,7 +393,7 @@ class SQLQueue(RAMQueue, SQLBase):
                                  offset=offset, count=READ_MESSAGE_LIMIT)
         if not result:
           return
-        get_transaction().commit()
+        transaction.commit()
 
         validation_text_dict = {'none': 1}
         message_dict = {}
diff --git a/product/CMFActivity/tests/testCMFActivity.py b/product/CMFActivity/tests/testCMFActivity.py
index ccb5aecf60..e92a255182 100644
--- a/product/CMFActivity/tests/testCMFActivity.py
+++ b/product/CMFActivity/tests/testCMFActivity.py
@@ -55,10 +55,7 @@ import random
 import threading
 import sys
 
-try:
-  from transaction import get as get_transaction
-except ImportError:
-  pass
+import transaction
 
 class CommitFailed(Exception):
   pass
@@ -152,23 +149,23 @@ class TestCMFActivity(ERP5TypeTestCase, LogInterceptor):
     self.assertEquals(self.title1,organisation.getTitle())
     organisation.activate(activity=activity)._setTitle(self.title2)
     # Needed so that the message are commited into the queue
-    get_transaction().commit()
+    transaction.commit()
     message_list = portal.portal_activities.getMessageList()
     self.assertEquals(len(message_list),1)
     portal.portal_activities.manageCancel(organisation.getPhysicalPath(),'_setTitle')
     # Needed so that the message are removed from the queue
-    get_transaction().commit()
+    transaction.commit()
     self.assertEquals(self.title1,organisation.getTitle())
     message_list = portal.portal_activities.getMessageList()
     self.assertEquals(len(message_list),0)
     organisation.activate(activity=activity)._setTitle(self.title2)
     # Needed so that the message are commited into the queue
-    get_transaction().commit()
+    transaction.commit()
     message_list = portal.portal_activities.getMessageList()
     self.assertEquals(len(message_list),1)
     portal.portal_activities.manageInvoke(organisation.getPhysicalPath(),'_setTitle')
     # Needed so that the message are removed from the queue
-    get_transaction().commit()
+    transaction.commit()
     self.assertEquals(self.title2,organisation.getTitle())
     message_list = portal.portal_activities.getMessageList()
     self.assertEquals(len(message_list),0)
@@ -184,7 +181,7 @@ class TestCMFActivity(ERP5TypeTestCase, LogInterceptor):
     self.assertEquals(self.title1,organisation.getTitle())
     organisation.activate(activity=activity)._setTitle(self.title2)
     # Needed so that the message are commited into the queue
-    get_transaction().commit()
+    transaction.commit()
     self.assertEquals(self.title1,organisation.getTitle())
     portal.portal_activities.distribute()
     portal.portal_activities.tic()
@@ -213,7 +210,7 @@ class TestCMFActivity(ERP5TypeTestCase, LogInterceptor):
     self.assertEquals(0,organisation.getFoobar())
     organisation.activate(activity=activity).setFoobar()
     # Needed so that the message are commited into the queue
-    get_transaction().commit()
+    transaction.commit()
     message_list = portal.portal_activities.getMessageList()
     self.assertEquals(len(message_list),1)
     portal.portal_activities.distribute()
@@ -223,12 +220,12 @@ class TestCMFActivity(ERP5TypeTestCase, LogInterceptor):
     self.assertEquals(len(message_list),0)
     organisation.activate(activity=activity).setFoobar()
     # Needed so that the message are commited into the queue
-    get_transaction().commit()
+    transaction.commit()
     message_list = portal.portal_activities.getMessageList()
     self.assertEquals(len(message_list),1)
     portal.portal_activities.manageInvoke(organisation.getPhysicalPath(),'setFoobar')
     # Needed so that the message are commited into the queue
-    get_transaction().commit()
+    transaction.commit()
     message_list = portal.portal_activities.getMessageList()
     self.assertEquals(len(message_list),0)
     self.assertEquals(2,organisation.getFoobar())
@@ -243,18 +240,18 @@ class TestCMFActivity(ERP5TypeTestCase, LogInterceptor):
     organisation.activate(activity=activity)._setTitle(self.title2)
     organisation.flushActivity(invoke=1)
     self.assertEquals(organisation.getTitle(),self.title2)
-    get_transaction().commit()
+    transaction.commit()
     message_list = portal.portal_activities.getMessageList()
     self.assertEquals(len(message_list),0)
     self.assertEquals(organisation.getTitle(),self.title2)
     # Try again with different commit order
     organisation._setTitle(self.title1)
     organisation.activate(activity=activity)._setTitle(self.title2)
-    get_transaction().commit()
+    transaction.commit()
     organisation.flushActivity(invoke=1)
     self.assertEquals(len(message_list),0)
     self.assertEquals(organisation.getTitle(),self.title2)
-    get_transaction().commit()
+    transaction.commit()
 
   def TryActivateInsideFlush(self, activity):
     """
@@ -269,10 +266,10 @@ class TestCMFActivity(ERP5TypeTestCase, LogInterceptor):
     organisation._setTitle(self.title1)
     organisation.activate(activity=activity).DeferredSetTitle(self.title2)
     organisation.flushActivity(invoke=1)
-    get_transaction().commit()
+    transaction.commit()
     portal.portal_activities.distribute()
     portal.portal_activities.tic()
-    get_transaction().commit()
+    transaction.commit()
     message_list = portal.portal_activities.getMessageList()
     self.assertEquals(len(message_list),0)
     self.assertEquals(organisation.getTitle(),self.title2)
@@ -294,10 +291,10 @@ class TestCMFActivity(ERP5TypeTestCase, LogInterceptor):
     organisation.setDescription(None)
     organisation.activate(activity=activity).DeferredSetTitle(self.title1)
     organisation.activate(activity=activity).DeferredSetDescription(self.title1)
-    get_transaction().commit()
+    transaction.commit()
     portal.portal_activities.distribute()
     portal.portal_activities.tic()
-    get_transaction().commit()
+    transaction.commit()
     message_list = portal.portal_activities.getMessageList()
     self.assertEquals(len(message_list),0)
     self.assertEquals(organisation.getTitle(),self.title1)
@@ -321,10 +318,10 @@ class TestCMFActivity(ERP5TypeTestCase, LogInterceptor):
     organisation.activate(activity=activity).DeferredSetTitle(self.title1)
     organisation.activate(activity=activity).DeferredSetDescription(self.title1)
     organisation.flushActivity(invoke=1)
-    get_transaction().commit()
+    transaction.commit()
     portal.portal_activities.distribute()
     portal.portal_activities.tic()
-    get_transaction().commit()
+    transaction.commit()
     message_list = portal.portal_activities.getMessageList()
     self.assertEquals(len(message_list),0)
     self.assertEquals(organisation.getTitle(),self.title1)
@@ -337,11 +334,11 @@ class TestCMFActivity(ERP5TypeTestCase, LogInterceptor):
     portal = self.getPortal()
     def DeferredSetTitle(self,value,commit_sub=0):
       if commit_sub:
-        get_transaction().savepoint(optimistic=True)
+        transaction.savepoint(optimistic=True)
       self.activate(activity=second or activity,priority=4)._setTitle(value)
     def DeferredSetDescription(self,value,commit_sub=0):
       if commit_sub:
-        get_transaction().savepoint(optimistic=True)
+        transaction.savepoint(optimistic=True)
       self.activate(activity=second or activity,priority=4)._setDescription(value)
     from Products.ERP5Type.Document.Organisation import Organisation
     Organisation.DeferredSetTitle = DeferredSetTitle
@@ -352,13 +349,13 @@ class TestCMFActivity(ERP5TypeTestCase, LogInterceptor):
     organisation.activate(activity=activity).DeferredSetTitle(self.title1,commit_sub=commit_sub)
     organisation.flushActivity(invoke=1)
     organisation.activate(activity=activity).DeferredSetDescription(self.title1,commit_sub=commit_sub)
-    get_transaction().commit()
+    transaction.commit()
     portal.portal_activities.distribute()
     portal.portal_activities.tic()
-    get_transaction().commit()
+    transaction.commit()
     portal.portal_activities.distribute()
     portal.portal_activities.tic()
-    get_transaction().commit()
+    transaction.commit()
     message_list = portal.portal_activities.getMessageList()
     self.assertEquals(len(message_list),0)
     self.assertEquals(organisation.getTitle(),self.title1)
@@ -376,7 +373,7 @@ class TestCMFActivity(ERP5TypeTestCase, LogInterceptor):
     Organisation.crashThisActivity = crashThisActivity
     organisation.activate(activity=activity).crashThisActivity()
     # Needed so that the message are commited into the queue
-    get_transaction().commit()
+    transaction.commit()
     message_list = portal.portal_activities.getMessageList()
     LOG('Before MessageWithErrorOnActivityFails, message_list',0,[x.__dict__ for x in message_list])
     self.assertEquals(len(message_list),1)
@@ -388,7 +385,7 @@ class TestCMFActivity(ERP5TypeTestCase, LogInterceptor):
     self.assertEquals(len(message_list),1)
     portal.portal_activities.manageCancel(organisation.getPhysicalPath(),'crashThisActivity')
     # Needed so that the message are commited into the queue
-    get_transaction().commit()
+    transaction.commit()
     message_list = portal.portal_activities.getMessageList()
     self.assertEquals(len(message_list),0)
 
@@ -403,7 +400,7 @@ class TestCMFActivity(ERP5TypeTestCase, LogInterceptor):
     self.assertEquals(self.title1,organisation.getTitle())
     organisation.activate(activity=activity)._setTitle(self.title2)
     # Needed so that the message are commited into the queue
-    get_transaction().commit()
+    transaction.commit()
     self.assertEquals(self.title1,organisation.getTitle())
     self.assertRaises(ActivityPendingError,organisation.edit,id=self.company_id2)
     portal.portal_activities.distribute()
@@ -420,7 +417,7 @@ class TestCMFActivity(ERP5TypeTestCase, LogInterceptor):
     self.assertEquals(self.title1,organisation.getTitle())
     organisation.activate(activity=activity,active_process=active_process).getTitle()
     # Needed so that the message are commited into the queue
-    get_transaction().commit()
+    transaction.commit()
     portal.portal_activities.distribute()
     portal.portal_activities.tic()
     self.assertEquals(self.title1,organisation.getTitle())
@@ -448,7 +445,7 @@ class TestCMFActivity(ERP5TypeTestCase, LogInterceptor):
     active_process = portal.portal_activities.newActiveProcess()
     organisation.activate(activity=activity,active_process=active_process).Organisation_test()
     # Needed so that the message are commited into the queue
-    get_transaction().commit()
+    transaction.commit()
     portal.portal_activities.distribute()
     portal.portal_activities.tic()
     portal.portal_activities.distribute()
@@ -473,7 +470,7 @@ class TestCMFActivity(ERP5TypeTestCase, LogInterceptor):
 
     o.setTitle('a')
     self.assertEquals(o.getTitle(), 'a')
-    get_transaction().commit()
+    transaction.commit()
     self.tic()
 
     def toto(self, value):
@@ -486,7 +483,7 @@ class TestCMFActivity(ERP5TypeTestCase, LogInterceptor):
 
     o.activate(after_method_id = 'titi', activity = activity).toto('b')
     o.activate(activity = activity).titi('c')
-    get_transaction().commit()
+    transaction.commit()
     self.tic()
     self.assertEquals(o.getTitle(), 'acb')
 
@@ -510,10 +507,10 @@ class TestCMFActivity(ERP5TypeTestCase, LogInterceptor):
     o1.recursiveReindexObject()
     o2.recursiveReindexObject()
     o1._delOb('2')
-    get_transaction().commit()
+    transaction.commit()
     portal.portal_activities.distribute()
     portal.portal_activities.tic()
-    get_transaction().commit()
+    transaction.commit()
     message_list = portal.portal_activities.getMessageList()
     self.assertEquals(len(message_list),1)
 
@@ -537,10 +534,10 @@ class TestCMFActivity(ERP5TypeTestCase, LogInterceptor):
     o1.recursiveReindexObject()
     o2.recursiveReindexObject()
     organisation_module._delOb(self.company_id2)
-    get_transaction().commit()
+    transaction.commit()
     portal.portal_activities.distribute()
     portal.portal_activities.tic()
-    get_transaction().commit()
+    transaction.commit()
     message_list = portal.portal_activities.getMessageList()
     self.assertEquals(len(message_list),1)
 
@@ -556,12 +553,12 @@ class TestCMFActivity(ERP5TypeTestCase, LogInterceptor):
 
     o.setTitle('?')
     self.assertEquals(o.getTitle(), '?')
-    get_transaction().commit()
+    transaction.commit()
     self.tic()
 
     o.activate(after_tag = 'toto', activity = activity).setTitle('b')
     o.activate(tag = 'toto', activity = activity).setTitle('a')
-    get_transaction().commit()
+    transaction.commit()
     self.tic()
     self.assertEquals(o.getTitle(), 'b')
 
@@ -571,7 +568,7 @@ class TestCMFActivity(ERP5TypeTestCase, LogInterceptor):
     o.__class__.titi = titi
     o.activate(after_tag_and_method_id=('toto', 'setTitle'), activity = activity).titi()
     o.activate(activity = activity).setTitle('c')
-    get_transaction().commit()
+    transaction.commit()
     self.tic()
     self.assertEquals(o.getCorporateName(), 'cd')
 
@@ -589,16 +586,16 @@ class TestCMFActivity(ERP5TypeTestCase, LogInterceptor):
     o.setDescription('?')
     self.assertEquals(o.getTitle(), '?')
     self.assertEquals(o.getDescription(), '?')
-    get_transaction().commit()
+    transaction.commit()
     self.tic()
 
     o.activate(after_tag = 'toto', activity = activity).setDescription('b')
     o.activate(tag = 'toto', activity = activity).setTitle('a')
-    get_transaction().commit()
+    transaction.commit()
     tool = self.getActivityTool()
     self.assertRaises(ActivityFlushError,tool.manageInvoke,o.getPath(),'setDescription')
     tool.manageInvoke(o.getPath(),'setTitle')
-    get_transaction().commit()
+    transaction.commit()
     self.assertEquals(o.getTitle(), 'a')
     self.assertEquals(o.getDescription(), '?')
     self.tic()
@@ -618,7 +615,7 @@ class TestCMFActivity(ERP5TypeTestCase, LogInterceptor):
 
     o.setTitle('?')
     self.assertEquals(o.getTitle(), '?')
-    get_transaction().commit()
+    transaction.commit()
     self.tic()
 
     def toto(self, s):
@@ -626,11 +623,11 @@ class TestCMFActivity(ERP5TypeTestCase, LogInterceptor):
     o.__class__.toto = toto
 
     o.activate(tag = 'toto', activity = activity).toto('a')
-    get_transaction().commit()
+    transaction.commit()
     o.activate(after_tag = 'titi', activity = activity).toto('b')
-    get_transaction().commit()
+    transaction.commit()
     o.activate(tag = 'titi', after_tag = 'toto', activity = activity).setTitle('c')
-    get_transaction().commit()
+    transaction.commit()
     self.tic()
     self.assertEquals(o.getTitle(), 'cb')
 
@@ -646,7 +643,7 @@ class TestCMFActivity(ERP5TypeTestCase, LogInterceptor):
     o = portal.organisation._getOb(self.company_id)
 
     o.setTitle('')
-    get_transaction().commit()
+    transaction.commit()
     self.tic()
 
     def toto(self, s):
@@ -654,11 +651,11 @@ class TestCMFActivity(ERP5TypeTestCase, LogInterceptor):
     o.__class__.toto = toto
 
     o.activate(tag='A', activity=activity).toto('a')
-    get_transaction().commit()
+    transaction.commit()
     o.activate(tag='B', activity=activity).toto('b')
-    get_transaction().commit()
+    transaction.commit()
     o.activate(after_tag=('A', 'B'), activity=activity).setTitle('last')
-    get_transaction().commit()
+    transaction.commit()
     self.tic()
     self.assertEquals(o.getTitle(), 'last')
 
@@ -670,7 +667,7 @@ class TestCMFActivity(ERP5TypeTestCase, LogInterceptor):
     organisation_module = self.getOrganisationModule()
     if not organisation_module.hasContent(self.company_id):
       organisation_module.newContent(id=self.company_id)
-    get_transaction().commit()
+    transaction.commit()
     self.tic()
 
     def check(o):
@@ -683,14 +680,14 @@ class TestCMFActivity(ERP5TypeTestCase, LogInterceptor):
     o = portal.organisation._getOb(self.company_id)
     for i in range(activity_count):
       o.activate(activity=activity)._setTitle('foo')
-    get_transaction().commit()
+    transaction.commit()
     check(o)
 
     portal.portal_activities.manageClearActivities()
-    get_transaction().commit()
+    transaction.commit()
     check(o)
 
-    get_transaction().commit()
+    transaction.commit()
     self.tic()
 
     self.assertEquals(o.getTitle(), 'foo')
@@ -706,11 +703,11 @@ class TestCMFActivity(ERP5TypeTestCase, LogInterceptor):
       organisation_module.newContent(id=self.company_id)
     o = portal.organisation._getOb(self.company_id)
     o.setTitle('?')
-    get_transaction().commit()
+    transaction.commit()
     self.tic()
 
     o.activate(tag = 'toto', activity = activity).setTitle('a')
-    get_transaction().commit()
+    transaction.commit()
     self.assertEquals(o.getTitle(), '?')
     self.assertEquals(portal_activities.countMessageWithTag('toto'), 1)
     self.tic()
@@ -729,7 +726,7 @@ class TestCMFActivity(ERP5TypeTestCase, LogInterceptor):
     if not organisation_module.hasContent(self.company_id):
       organisation_module.newContent(id=self.company_id)
     o = organisation_module._getOb(self.company_id)
-    get_transaction().commit()
+    transaction.commit()
     self.flushAllActivities(silent = 1, loop_size = 10)
     self.assertEquals(len(activity_tool.getMessageList()), 0)
 
@@ -751,7 +748,7 @@ class TestCMFActivity(ERP5TypeTestCase, LogInterceptor):
         Queue.current_num_conflict_errors = 0
         Queue.conflict_errors_limit = i
         o.activate(activity = activity).getId()
-        get_transaction().commit()
+        transaction.commit()
         self.flushAllActivities(silent = 1, loop_size = i + 10)
         self.assertEquals(len(activity_tool.getMessageList()), 0)
     finally:
@@ -772,7 +769,7 @@ class TestCMFActivity(ERP5TypeTestCase, LogInterceptor):
     if not organisation_module.hasContent(self.company_id):
       organisation_module.newContent(id=self.company_id)
     o = organisation_module._getOb(self.company_id)
-    get_transaction().commit()
+    transaction.commit()
     self.flushAllActivities(silent = 1, loop_size = 10)
     self.assertEquals(len(activity_tool.getMessageList()), 0)
 
@@ -791,13 +788,13 @@ class TestCMFActivity(ERP5TypeTestCase, LogInterceptor):
     try:
       # Test some range of conflict error occurences.
       organisation_module.recursiveReindexObject()
-      get_transaction().commit()
+      transaction.commit()
       self.assertEquals(len(activity_tool.getMessageList()), 1)
       DB.original_query = DB.query
       DB.query = query
       portal.portal_activities.distribute()
       portal.portal_activities.tic()
-      get_transaction().commit()
+      transaction.commit()
       DB.query = DB.original_query
       message_list = portal.portal_activities.getMessageList()
       self.assertEquals(len(message_list),1)
@@ -812,50 +809,50 @@ class TestCMFActivity(ERP5TypeTestCase, LogInterceptor):
       object_a.newContent(id=self.company_id)
     object_b = object_a._getOb(self.company_id)
     activity_tool.manageClearActivities(keep=0)
-    get_transaction().commit()
+    transaction.commit()
     # First case: creating the same activity twice must only register one.
     self.assertEquals(len(activity_tool.getMessageList()), 0) # Sanity check
     object_a.activate(activity=activity).getId()
     object_a.activate(activity=activity).getId()
-    get_transaction().commit()
+    transaction.commit()
     self.assertEquals(len(activity_tool.getMessageList()), 1)
     activity_tool.manageClearActivities(keep=0)
-    get_transaction().commit()
+    transaction.commit()
     # Second case: creating activity with same tag must only register one.
     # This behaviour is actually the same as the no-tag behaviour.
     self.assertEquals(len(activity_tool.getMessageList()), 0) # Sanity check
     object_a.activate(activity=activity, tag='foo').getId()
     object_a.activate(activity=activity, tag='foo').getId()
-    get_transaction().commit()
+    transaction.commit()
     self.assertEquals(len(activity_tool.getMessageList()), 1)
     activity_tool.manageClearActivities(keep=0)
-    get_transaction().commit()
+    transaction.commit()
     # Third case: creating activities with different tags must register both.
     self.assertEquals(len(activity_tool.getMessageList()), 0) # Sanity check
     object_a.activate(activity=activity, tag='foo').getId()
     object_a.activate(activity=activity, tag='bar').getId()
-    get_transaction().commit()
+    transaction.commit()
     self.assertEquals(len(activity_tool.getMessageList()), 2)
     activity_tool.manageClearActivities(keep=0)
-    get_transaction().commit()
+    transaction.commit()
     # Fourth case: creating activities on different objects must register
     # both.
     self.assertEquals(len(activity_tool.getMessageList()), 0) # Sanity check
     object_a.activate(activity=activity).getId()
     object_b.activate(activity=activity).getId()
-    get_transaction().commit()
+    transaction.commit()
     self.assertEquals(len(activity_tool.getMessageList()), 2)
     activity_tool.manageClearActivities(keep=0)
-    get_transaction().commit()
+    transaction.commit()
     # Fifth case: creating activities with different method must register
     # both.
     self.assertEquals(len(activity_tool.getMessageList()), 0) # Sanity check
     object_a.activate(activity=activity).getId()
     object_a.activate(activity=activity).getTitle()
-    get_transaction().commit()
+    transaction.commit()
     self.assertEquals(len(activity_tool.getMessageList()), 2)
     activity_tool.manageClearActivities(keep=0)
-    get_transaction().commit()
+    transaction.commit()
 
   def test_01_DeferredSetTitleSQLDict(self, quiet=0, run=run_all_test):
     # Test if we can add a complete sales order
@@ -1374,7 +1371,7 @@ class TestCMFActivity(ERP5TypeTestCase, LogInterceptor):
     # Then execute activities as seb
     user = uf.getUserById('seb').__of__(uf)
     newSecurityManager(None, user)
-    get_transaction().commit()
+    transaction.commit()
     portal.portal_activities.distribute()
     portal.portal_activities.tic()
     email = organisation.get('email')
@@ -1495,7 +1492,7 @@ class TestCMFActivity(ERP5TypeTestCase, LogInterceptor):
           finished = 0
 
       activity_tool.timeShift(3 * VALIDATION_ERROR_DELAY)
-      get_transaction().commit()
+      transaction.commit()
       if finished:
         return
 
@@ -1539,12 +1536,12 @@ class TestCMFActivity(ERP5TypeTestCase, LogInterceptor):
       # reset
       activity_tool.manageClearActivities(keep=0)
       obj.setTitle(original_title)
-      get_transaction().commit()
+      transaction.commit()
 
       # activate failing message and flush
       for fail_activity in activity_list:
         obj.activate(activity = fail_activity).failingMethod()
-      get_transaction().commit()
+      transaction.commit()
       self.flushAllActivities(silent=1, loop_size=100)
       full_message_list = activity_tool.getMessageList()
       remaining_messages = [a for a in full_message_list if a.method_id !=
@@ -1558,7 +1555,7 @@ class TestCMFActivity(ERP5TypeTestCase, LogInterceptor):
       new_title = 'nothing'
       obj.activate(after_method_id = ['failingMethod'],
                    activity = activity ).setTitle(new_title)
-      get_transaction().commit()
+      transaction.commit()
       self.flushAllActivities(silent=1, loop_size=100)
       full_message_list = activity_tool.getMessageList()
       remaining_messages = [a for a in full_message_list if a.method_id !=
@@ -1618,13 +1615,13 @@ class TestCMFActivity(ERP5TypeTestCase, LogInterceptor):
     Message.notifyUser = notifyUserSilent
 
     # First, index the object.
-    get_transaction().commit()
+    transaction.commit()
     self.flushAllActivities(silent=1, loop_size=100)
     self.assertEquals(len(activity_tool.getMessageList()), 0)
 
     # Insert a failing active object.
     obj.activate().failingMethod()
-    get_transaction().commit()
+    transaction.commit()
     self.assertEquals(len(activity_tool.getMessageList()), 1)
 
     # Just wait for the active object to be abandoned.
@@ -1641,7 +1638,7 @@ class TestCMFActivity(ERP5TypeTestCase, LogInterceptor):
     # Cancel it via the management interface.
     message = activity_tool.getMessageList()[0]
     activity_tool.manageCancel(message.object_path, message.method_id)
-    get_transaction().commit()
+    transaction.commit()
     self.assertEquals(len(activity_tool.getMessageList()), 0)
 
   def test_68_RetryMessageExecution(self, quiet=0):
@@ -1668,7 +1665,7 @@ class TestCMFActivity(ERP5TypeTestCase, LogInterceptor):
         exec_count[0] = 0
         activity_tool.activate(activity=activity, priority=priority(1,6),
                                **activate_kw).doSomething(retry_list)
-        get_transaction().commit()
+        transaction.commit()
         self.flushAllActivities(silent=1)
         self.assertEqual(len(retry_list), exec_count[0])
         self.assertEqual(fail, len(activity_tool.getMessageList()))
@@ -1774,7 +1771,7 @@ class TestCMFActivity(ERP5TypeTestCase, LogInterceptor):
 
     o1 = self.getOrganisationModule().newContent(
                                   activate_kw=dict(tag='The Tag'))
-    get_transaction().commit()
+    transaction.commit()
     messages_for_o1 = [m for m in self.getActivityTool().getMessageList()
                        if m.object_path == o1.getPhysicalPath()]
     self.assertNotEquals(0, len(messages_for_o1))
@@ -1790,7 +1787,7 @@ class TestCMFActivity(ERP5TypeTestCase, LogInterceptor):
       LOG('Testing... ',0,message)
     orga_module = self.getOrganisationModule()
     p = orga_module.newContent(portal_type='Organisation')
-    get_transaction().commit()
+    transaction.commit()
     self.tic()
     self.assertEqual(p.getDescription(), "")
     activity_tool = self.getPortal().portal_activities
@@ -1804,7 +1801,7 @@ class TestCMFActivity(ERP5TypeTestCase, LogInterceptor):
     # First check dequeue read same message only once
     for i in xrange(10):
       p.activate(activity="SQLDict").updateDesc()
-      get_transaction().commit()
+      transaction.commit()
 
     self.assertEqual(len(activity_tool.getMessageList()), 10)
     self.tic()
@@ -1813,11 +1810,11 @@ class TestCMFActivity(ERP5TypeTestCase, LogInterceptor):
     # Check if there is pending activity after deleting an object
     for i in xrange(10):
       p.activate(activity="SQLDict").updateDesc()
-      get_transaction().commit()
+      transaction.commit()
 
     self.assertEqual(len(activity_tool.getMessageList()), 10)
     activity_tool.flush(p, invoke=0)
-    get_transaction().commit()
+    transaction.commit()
     self.assertEqual(len(activity_tool.getMessageList()), 0)
 
   def test_78_IsMessageRegisteredSQLDict(self, quiet=0, run=run_all_test):
@@ -1833,12 +1830,12 @@ class TestCMFActivity(ERP5TypeTestCase, LogInterceptor):
 
   def test_79_AbortTransactionSynchronously(self, quiet=0, run=run_all_test):
     """
-      This test tests if abortTransactionSynchronously really aborts
-      a transaction synchronously.
+      This test checks if transaction.abort() synchronizes connections. It
+      didn't do so back in Zope 2.7
     """
     if not run: return
     if not quiet:
-      message = '\nTest Aborting Transaction Synchronously'
+      message = '\nTest Aborting Transaction Synchronizes'
       ZopeTestCase._print(message)
       LOG('Testing... ',0,message)
 
@@ -1847,7 +1844,7 @@ class TestCMFActivity(ERP5TypeTestCase, LogInterceptor):
     module = self.getOrganisationModule()
     organisation = module.newContent(portal_type = 'Organisation')
     organisation_id = organisation.getId()
-    get_transaction().commit()
+    transaction.commit()
     organisation = module[organisation_id]
 
     # Now fake a read conflict.
@@ -1863,23 +1860,15 @@ class TestCMFActivity(ERP5TypeTestCase, LogInterceptor):
       conn.db().invalidate(tid, {oid: tid})
     conn._cache.invalidate(oid)
 
-    # Usual abort should not remove a read conflict error.
+    # Access to invalidated object in non-MVCC connections should raise a
+    # conflict error
     organisation = module[organisation_id]
     self.assertRaises(ReadConflictError, getattr, organisation, 'uid')
 
     # In Zope 2.7, abort does not sync automatically, so even after abort,
-    # ReadConflictError is raised. But in Zope 2.8, this is automatic, so
-    # abort has the same effect as abortTransactionSynchronously.
-    # 
-    # In reality, we do not care about whether abort raises or not
-    # at this point. We are only interested in whether
-    # abortTransactionSynchronously works expectedly.
-    #get_transaction().abort()
-    #self.assertRaises(ReadConflictError, getattr, organisation, 'uid')
-
-    # Synchronous abort.
-    from Products.CMFActivity.Activity.Queue import abortTransactionSynchronously
-    abortTransactionSynchronously()
+    # ReadConflictError would be raised. But in Zope 2.8, this is automatic.
+
+    transaction.abort()
     getattr(organisation, 'uid')
 
 
@@ -1916,7 +1905,7 @@ class TestCMFActivity(ERP5TypeTestCase, LogInterceptor):
     # Test group_method_id is working without group_id
     for x in xrange(5):
       organisation.activate(activity='SQLDict', group_method_id="organisation_module/setFoobar").reindexObject(number=1)
-      get_transaction().commit()      
+      transaction.commit()      
 
     message_list = portal.portal_activities.getMessageList()
     self.assertEquals(len(message_list),5)
@@ -1928,7 +1917,7 @@ class TestCMFActivity(ERP5TypeTestCase, LogInterceptor):
     # Test group_method_id is working with one group_id defined
     for x in xrange(5):
       organisation.activate(activity='SQLDict', group_method_id="organisation_module/setFoobar", group_id="1").reindexObject(number=1)
-      get_transaction().commit()      
+      transaction.commit()      
 
     message_list = portal.portal_activities.getMessageList()
     self.assertEquals(len(message_list),5)
@@ -1939,13 +1928,13 @@ class TestCMFActivity(ERP5TypeTestCase, LogInterceptor):
     # Test group_method_id is working with many group_id defined
     for x in xrange(5):
       organisation.activate(activity='SQLDict', group_method_id="organisation_module/setFoobar", group_id="1").reindexObject(number=1)
-      get_transaction().commit()      
+      transaction.commit()      
       organisation.activate(activity='SQLDict', group_method_id="organisation_module/setFoobar", group_id="2").reindexObject(number=3)
-      get_transaction().commit()
+      transaction.commit()
       organisation.activate(activity='SQLDict', group_method_id="organisation_module/setFoobar", group_id="1").reindexObject(number=1)
-      get_transaction().commit()
+      transaction.commit()
       organisation.activate(activity='SQLDict', group_method_id="organisation_module/setFoobar", group_id="3").reindexObject(number=5)
-      get_transaction().commit()
+      transaction.commit()
 
     message_list = portal.portal_activities.getMessageList()
     self.assertEquals(len(message_list),20)
@@ -1966,10 +1955,10 @@ class TestCMFActivity(ERP5TypeTestCase, LogInterceptor):
       ZopeTestCase._print(message)
       LOG('Testing... ',0,message)
     o1 = self.getOrganisationModule().newContent()
-    get_transaction().commit()
+    transaction.commit()
     self.tic()
     o1.validate(activate_kw=dict(tag='The Tag'))
-    get_transaction().commit()
+    transaction.commit()
     messages_for_o1 = [m for m in self.getActivityTool().getMessageList()
                        if m.object_path == o1.getPhysicalPath()]
     self.assertNotEquals(0, len(messages_for_o1))
@@ -1985,7 +1974,7 @@ class TestCMFActivity(ERP5TypeTestCase, LogInterceptor):
       message = '\nCheck loss of volatile attribute doesn\'t cause message to be lost'
       ZopeTestCase._print(message)
       LOG('Testing... ',0,message)
-    get_transaction().commit()
+    transaction.commit()
     self.tic()
     activity_tool = self.getActivityTool()
     message_list = activity_tool.getMessageList()
@@ -2003,7 +1992,7 @@ class TestCMFActivity(ERP5TypeTestCase, LogInterceptor):
     delete_volatiles()
     # Another activity to check that first one did not get lost even if volatile disapears
     active_organisation_module.getId()
-    get_transaction().commit()
+    transaction.commit()
     message_list = activity_tool.getMessageList()
     self.assertEquals(len(message_list), 2)
 
@@ -2017,7 +2006,7 @@ class TestCMFActivity(ERP5TypeTestCase, LogInterceptor):
       message = '\nCheck activity modifications via CMFActivity connection are rolled back on error (SQLDict)'
       ZopeTestCase._print(message)
       LOG('Testing... ',0,message)
-    get_transaction().commit()
+    transaction.commit()
     self.tic()
     activity_tool = self.getActivityTool()
     def modifySQLAndFail(self, object_list, **kw):
@@ -2058,7 +2047,7 @@ class TestCMFActivity(ERP5TypeTestCase, LogInterceptor):
       obj.activate(activity='SQLDict', group_method_id=group_method_id).dummy()
       obj2 = self.getPortal().organisation_module.newContent(portal_type='Organisation')
       obj2.activate(activity='SQLDict', group_method_id=group_method_id).dummy()
-      get_transaction().commit()
+      transaction.commit()
       self.flushAllActivities(silent=1, loop_size=100)
       self.assertEquals(activity_tool.countMessage(method_id='dummy_activity'), 0)
     finally:
@@ -2075,7 +2064,7 @@ class TestCMFActivity(ERP5TypeTestCase, LogInterceptor):
       message = '\nCheck activity modifications via CMFActivity connection are rolled back on error (SQLQueue)'
       ZopeTestCase._print(message)
       LOG('Testing... ',0,message)
-    get_transaction().commit()
+    transaction.commit()
     self.tic()
     activity_tool = self.getActivityTool()
     def modifySQLAndFail(self):
@@ -2107,7 +2096,7 @@ class TestCMFActivity(ERP5TypeTestCase, LogInterceptor):
       Organisation.modifySQLAndFail = modifySQLAndFail
       obj = self.getPortal().organisation_module.newContent(portal_type='Organisation')
       obj.activate(activity='SQLQueue').modifySQLAndFail()
-      get_transaction().commit()
+      transaction.commit()
       self.flushAllActivities(silent=1, loop_size=100)
       self.assertEquals(activity_tool.countMessage(method_id='dummy_activity'), 0)
     finally:
@@ -2142,7 +2131,7 @@ class TestCMFActivity(ERP5TypeTestCase, LogInterceptor):
       message = '\nCheck that activity modifications via CMFActivity connection are rolled back on ActivityTool error (SQLDict)'
       ZopeTestCase._print(message)
       LOG('Testing... ',0,message)
-    get_transaction().commit()
+    transaction.commit()
     self.tic()
     activity_tool = self.getActivityTool()
     def modifySQLAndFail(self, *arg, **kw):
@@ -2183,7 +2172,7 @@ class TestCMFActivity(ERP5TypeTestCase, LogInterceptor):
       obj.activate(activity='SQLDict', group_method_id=group_method_id).dummy()
       obj2 = self.getPortal().organisation_module.newContent(portal_type='Organisation')
       obj2.activate(activity='SQLDict', group_method_id=group_method_id).dummy()
-      get_transaction().commit()
+      transaction.commit()
       self.flushAllActivities(silent=1, loop_size=100)
       self.assertEquals(activity_tool.countMessage(method_id='dummy_activity'), 0)
     finally:
@@ -2200,7 +2189,7 @@ class TestCMFActivity(ERP5TypeTestCase, LogInterceptor):
       message = '\nCheck that activity modifications via CMFActivity connection are rolled back on ActivityTool error (SQLQueue)'
       ZopeTestCase._print(message)
       LOG('Testing... ',0,message)
-    get_transaction().commit()
+    transaction.commit()
     self.tic()
     activity_tool = self.getActivityTool()
     def modifySQLAndFail(self, *args, **kw):
@@ -2238,7 +2227,7 @@ class TestCMFActivity(ERP5TypeTestCase, LogInterceptor):
       Organisation.dummy = dummy
       obj = self.getPortal().organisation_module.newContent(portal_type='Organisation')
       obj.activate(activity='SQLQueue').dummy()
-      get_transaction().commit()
+      transaction.commit()
       self.flushAllActivities(silent=1, loop_size=100)
       self.assertEquals(activity_tool.countMessage(method_id='dummy_activity'), 0)
     finally:
@@ -2260,7 +2249,7 @@ class TestCMFActivity(ERP5TypeTestCase, LogInterceptor):
       message = '\nCheck processing a batch of messages with failures'
       ZopeTestCase._print(message)
       LOG('Testing... ',0,message)
-    get_transaction().commit()
+    transaction.commit()
     self.tic()
     activity_tool = self.getActivityTool()
     obj = self.getPortal().organisation_module.newContent(portal_type='Organisation')
@@ -2276,7 +2265,7 @@ class TestCMFActivity(ERP5TypeTestCase, LogInterceptor):
       active_obj.appendToTitle('c', fail=True)
       active_obj.appendToTitle('d')
       object_id = obj.getId()
-      get_transaction().commit()
+      transaction.commit()
       self.assertEqual(obj.getTitle(), 'a')
       self.assertEqual(activity_tool.countMessage(method_id='appendToTitle'), 3)
       self.flushAllActivities(silent=1, loop_size=100)
@@ -2297,7 +2286,7 @@ class TestCMFActivity(ERP5TypeTestCase, LogInterceptor):
       message = '\nCheck request isolation between messages of the same batch'
       ZopeTestCase._print(message)
       LOG('Testing... ',0,message)
-    get_transaction().commit()
+    transaction.commit()
     self.tic()
     obj = self.getPortal().organisation_module.newContent(portal_type='Organisation', title='Pending')
     marker_id = 'marker_%i' % (random.randint(1, 10), )
@@ -2314,7 +2303,7 @@ class TestCMFActivity(ERP5TypeTestCase, LogInterceptor):
       obj.activate(activity='SQLQueue', tag='set_first').putMarkerValue(marker_id=marker_id)
       obj.activate(activity='SQLQueue', after_tag='set_first').checkMarkerValue(marker_id=marker_id)
       self.assertEqual(obj.getTitle(), 'Pending')
-      get_transaction().commit()
+      transaction.commit()
       self.tic()
       self.assertEqual(obj.getTitle(), 'Success')
     finally:
@@ -2322,10 +2311,10 @@ class TestCMFActivity(ERP5TypeTestCase, LogInterceptor):
       delattr(Organisation, 'checkMarkerValue')
 
   def TryUserNotificationOnActivityFailure(self, activity):
-    get_transaction().commit()
+    transaction.commit()
     self.tic()
     obj = self.getPortal().organisation_module.newContent(portal_type='Organisation')
-    get_transaction().commit()
+    transaction.commit()
     self.tic()
     # Use a mutable variable to be able to modify the same instance from
     # monkeypatch method.
@@ -2341,14 +2330,14 @@ class TestCMFActivity(ERP5TypeTestCase, LogInterceptor):
     try:
       # MESSAGE_NOT_EXECUTED
       obj.activate(activity=activity).failingMethod()
-      get_transaction().commit()
+      transaction.commit()
       self.assertEqual(len(notification_done), 0)
       self.flushAllActivities(silent=1, loop_size=100)
       self.assertEqual(len(notification_done), 1)
       # MESSAGE_NOT_EXECUTABLE
       obj.getParentValue()._delObject(obj.getId())
       obj.activate(activity=activity).getId()
-      get_transaction().commit()
+      transaction.commit()
       self.assertEqual(len(notification_done), 1)
       self.flushAllActivities(silent=1, loop_size=100)
       self.assertEqual(len(notification_done), 2)
@@ -2382,10 +2371,10 @@ class TestCMFActivity(ERP5TypeTestCase, LogInterceptor):
     self.TryUserNotificationOnActivityFailure('SQLQueue')
 
   def TryUserNotificationRaise(self, activity):
-    get_transaction().commit()
+    transaction.commit()
     self.tic()
     obj = self.getPortal().organisation_module.newContent(portal_type='Organisation')
-    get_transaction().commit()
+    transaction.commit()
     self.tic()
     from Products.CMFActivity.ActivityTool import Message
     original_notifyUser = Message.notifyUser
@@ -2396,7 +2385,7 @@ class TestCMFActivity(ERP5TypeTestCase, LogInterceptor):
     readMessageList = getattr(self.getPortalObject(), '%s_readMessageList'% (activity, ))
     try:
       obj.activate(activity=activity, priority=6).failingMethod()
-      get_transaction().commit()
+      transaction.commit()
       self.flushAllActivities(silent=1, loop_size=100)
       with_processing_len = len(readMessageList(path=None,
                                                 to_date=None,
@@ -2445,7 +2434,7 @@ class TestCMFActivity(ERP5TypeTestCase, LogInterceptor):
       message = '\nCheck that activity modifications via CMFActivity connection are rolled back on commit error (SQLDict)'
       ZopeTestCase._print(message)
       LOG('Testing... ',0,message)
-    get_transaction().commit()
+    transaction.commit()
     self.tic()
     activity_tool = self.getActivityTool()
     def modifySQL(self, object_list, *arg, **kw):
@@ -2470,26 +2459,26 @@ class TestCMFActivity(ERP5TypeTestCase, LogInterceptor):
           tag_list=[''],
           order_validation_text_list=[''],
           )
-      get_transaction().__class__.commit = fake_commit
+      transaction.get().__class__.commit = fake_commit
       object_list[:] = []
-    commit = get_transaction().__class__.commit
+    commit = transaction.get().__class__.commit
     def fake_commit(*args, **kw):
-      get_transaction().__class__.commit = commit
+      transaction.get().__class__.commit = commit
       raise KeyError, 'always fail'
     try: 
       Organisation.modifySQL = modifySQL
       obj = self.getPortal().organisation_module.newContent(portal_type='Organisation')
       group_method_id = '%s/modifySQL' % (obj.getPath(), )
       obj2 = self.getPortal().organisation_module.newContent(portal_type='Organisation')
-      get_transaction().commit()
+      transaction.commit()
       self.tic()
       obj.activate(activity='SQLDict', group_method_id=group_method_id).modifySQL()
       obj2.activate(activity='SQLDict', group_method_id=group_method_id).modifySQL()
-      get_transaction().commit()
+      transaction.commit()
       try:
         self.flushAllActivities(silent=1, loop_size=100)
       finally:
-        get_transaction().__class__.commit = commit
+        transaction.get().__class__.commit = commit
       self.assertEquals(activity_tool.countMessage(method_id='dummy_activity'), 0)
     finally:
       delattr(Organisation, 'modifySQL')
@@ -2503,7 +2492,7 @@ class TestCMFActivity(ERP5TypeTestCase, LogInterceptor):
       message = '\nCheck that activity modifications via CMFActivity connection are rolled back on commit error (SQLQueue)'
       ZopeTestCase._print(message)
       LOG('Testing... ',0,message)
-    get_transaction().commit()
+    transaction.commit()
     self.tic()
     activity_tool = self.getActivityTool()
     def modifySQL(self, *args, **kw):
@@ -2528,22 +2517,22 @@ class TestCMFActivity(ERP5TypeTestCase, LogInterceptor):
           tag_list=[''],
           order_validation_text_list=[''],
          )
-      get_transaction().__class__.commit = fake_commit
-    commit = get_transaction().__class__.commit
+      transaction.get().__class__.commit = fake_commit
+    commit = transaction.get().__class__.commit
     def fake_commit(self, *args, **kw):
-      get_transaction().__class__.commit = commit
+      transaction.get().__class__.commit = commit
       raise KeyError, 'always fail'
     try:
       Organisation.modifySQL = modifySQL
       obj = self.getPortal().organisation_module.newContent(portal_type='Organisation')
-      get_transaction().commit()
+      transaction.commit()
       self.tic()
       obj.activate(activity='SQLQueue').modifySQL()
-      get_transaction().commit()
+      transaction.commit()
       try:
         self.flushAllActivities(silent=1, loop_size=100)
       finally:
-        get_transaction().__class__.commit = commit
+        transaction.get().__class__.commit = commit
       self.assertEquals(activity_tool.countMessage(method_id='dummy_activity'), 0)
     finally:
       delattr(Organisation, 'modifySQL')
@@ -2554,20 +2543,20 @@ class TestCMFActivity(ERP5TypeTestCase, LogInterceptor):
       error be raised in tpc_vote) does not cause activity connection to
       stall.
     """
-    get_transaction().commit()
+    transaction.commit()
     self.tic()
     activity_tool = self.getActivityTool()
     from Shared.DC.ZRDB.TM import TM
     try:
       Organisation.registerFailingTransactionManager = registerFailingTransactionManager
       obj = self.getPortal().organisation_module.newContent(portal_type='Organisation')
-      get_transaction().commit()
+      transaction.commit()
       self.tic()
       now = DateTime()
       obj.activate(activity=activity).registerFailingTransactionManager()
-      get_transaction().commit()
+      transaction.commit()
       self.flushAllActivities(silent=1, loop_size=100)
-      get_transaction().commit()
+      transaction.commit()
       # Check that cmf_activity SQL connection still works
       connection_da_pool = self.getPortalObject().cmf_activity_sql_connection()
       import thread
@@ -2575,7 +2564,7 @@ class TestCMFActivity(ERP5TypeTestCase, LogInterceptor):
       self.assertFalse(connection_da._registered)
       connection_da_pool.query('select 1')
       self.assertTrue(connection_da._registered)
-      get_transaction().commit()
+      transaction.commit()
       self.assertFalse(connection_da._registered)
     finally:
       delattr(Organisation, 'registerFailingTransactionManager')
@@ -2599,19 +2588,19 @@ class TestCMFActivity(ERP5TypeTestCase, LogInterceptor):
   def TryActivityRaiseInCommitDoesNotLooseMessages(self, activity):
     """
     """
-    get_transaction().commit()
+    transaction.commit()
     self.tic()
     activity_tool = self.getActivityTool()
     try:
       Organisation.registerFailingTransactionManager = registerFailingTransactionManager
       obj = self.getPortal().organisation_module.newContent(portal_type='Organisation')
-      get_transaction().commit()
+      transaction.commit()
       self.tic()
       now = DateTime()
       obj.activate(activity=activity).registerFailingTransactionManager()
-      get_transaction().commit()
+      transaction.commit()
       self.flushAllActivities(silent=1, loop_size=100)
-      get_transaction().commit()
+      transaction.commit()
       self.assertEquals(activity_tool.countMessage(method_id='registerFailingTransactionManager'), 1)
     finally:
       delattr(Organisation, 'registerFailingTransactionManager')
@@ -2633,7 +2622,7 @@ class TestCMFActivity(ERP5TypeTestCase, LogInterceptor):
     self.TryActivityRaiseInCommitDoesNotLooseMessages('SQLQueue')
 
   def TryChangeSkinInActivity(self, activity):
-    get_transaction().commit()
+    transaction.commit()
     self.tic()
     activity_tool = self.getActivityTool()
     def changeSkinToNone(self):
@@ -2641,10 +2630,10 @@ class TestCMFActivity(ERP5TypeTestCase, LogInterceptor):
     Organisation.changeSkinToNone = changeSkinToNone
     try:
       organisation = self.getPortal().organisation_module.newContent(portal_type='Organisation')
-      get_transaction().commit()
+      transaction.commit()
       self.tic()
       organisation.activate(activity=activity).changeSkinToNone()
-      get_transaction().commit()
+      transaction.commit()
       self.assertEquals(len(activity_tool.getMessageList()), 1)
       self.flushAllActivities(silent=1, loop_size=100)
       self.assertEquals(len(activity_tool.getMessageList()), 0)
@@ -2678,7 +2667,7 @@ class TestCMFActivity(ERP5TypeTestCase, LogInterceptor):
       ZopeTestCase._print(message)
       LOG('Testing... ',0,message)
     organisation = self.getPortal().organisation_module.newContent(portal_type='Organisation')
-    get_transaction().commit()
+    transaction.commit()
     self.tic()
     activity_tool = self.getActivityTool()
     check_result_dict = {}
@@ -2690,7 +2679,7 @@ class TestCMFActivity(ERP5TypeTestCase, LogInterceptor):
       # Adds two similar but not the same activities.
       organisation.activate(activity='SQLDict', tag='a').checkActivityCount(other_tag='b')
       organisation.activate(activity='SQLDict', tag='b').checkActivityCount(other_tag='a')
-      get_transaction().commit()
+      transaction.commit()
       self.assertEqual(len(activity_tool.getMessageList()), 2)
       activity_tool.distribute()
       # after distribute, similarities are still there.
@@ -2713,7 +2702,7 @@ class TestCMFActivity(ERP5TypeTestCase, LogInterceptor):
       ZopeTestCase._print(message)
       LOG('Testing... ',0,message)
     organisation = self.getPortal().organisation_module.newContent(portal_type='Organisation')
-    get_transaction().commit()
+    transaction.commit()
     self.tic()
     activity_tool = self.getActivityTool()
     check_result_dict = {}
@@ -2724,10 +2713,10 @@ class TestCMFActivity(ERP5TypeTestCase, LogInterceptor):
       Organisation.checkActivityCount = checkActivityCount
       # Adds two same activities.
       organisation.activate(activity='SQLDict', tag='a', priority=2).checkActivityCount(other_tag='a')
-      get_transaction().commit()
+      transaction.commit()
       uid1, = [x.uid for x in activity_tool.getMessageList()]
       organisation.activate(activity='SQLDict', tag='a', priority=1).checkActivityCount(other_tag='a')
-      get_transaction().commit()
+      transaction.commit()
       self.assertEqual(len(activity_tool.getMessageList()), 2)
       activity_tool.distribute()
       # After distribute, duplicate is deleted.
@@ -2750,14 +2739,14 @@ class TestCMFActivity(ERP5TypeTestCase, LogInterceptor):
         foo.activate(serialization_tag='a').getId()
     """
     organisation = self.getPortal().organisation_module.newContent(portal_type='Organisation')
-    get_transaction().commit()
+    transaction.commit()
     self.tic()
     activity_tool = self.getActivityTool()
     organisation.activate(serialization_tag='a').getId()
-    get_transaction().commit()
+    transaction.commit()
     organisation.activate(serialization_tag='a',
               group_method_id='portal_catalog/catalogObjectList').getTitle()
-    get_transaction().commit()
+    transaction.commit()
     self.assertEqual(len(activity_tool.getMessageList()), 2)
     activity_tool.distribute()
     # After distribute, there is no deletion because it is different method
@@ -2779,13 +2768,13 @@ class TestCMFActivity(ERP5TypeTestCase, LogInterceptor):
       ZopeTestCase._print(message)
       LOG('Testing... ',0,message)
     organisation = self.getPortal().organisation_module.newContent(portal_type='Organisation')
-    get_transaction().commit()
+    transaction.commit()
     self.tic()
     activity_tool = self.getActivityTool()
     check_result_dict = {}
     def runAndCheck():
       check_result_dict.clear()
-      get_transaction().commit()
+      transaction.commit()
       self.assertEqual(len(check_result_dict), 0)
       self.tic()
       self.assertEqual(len(check_result_dict), 2)
@@ -2826,7 +2815,7 @@ class TestCMFActivity(ERP5TypeTestCase, LogInterceptor):
     document.__class__.doSomething = extractActivityRuntimeEnvironment
     try:
       document.activate(activity=activity).doSomething()
-      get_transaction().commit()
+      transaction.commit()
       # Check that getActivityRuntimeEnvironment raises outside of activities
       self.assertRaises(KeyError, document.getActivityRuntimeEnvironment)
       # Check Runtime isolation
@@ -2864,7 +2853,7 @@ class TestCMFActivity(ERP5TypeTestCase, LogInterceptor):
 
   def CheckSerializationTag(self, activity):
     organisation = self.getPortal().organisation_module.newContent(portal_type='Organisation')
-    get_transaction().commit()
+    transaction.commit()
     self.tic()
     activity_tool = self.getActivityTool()
     result = activity_tool.getMessageList()
@@ -2872,7 +2861,7 @@ class TestCMFActivity(ERP5TypeTestCase, LogInterceptor):
     # First scenario: activate, distribute, activate, distribute
     # Create first activity and distribute: it must be distributed
     organisation.activate(activity=activity, serialization_tag='1').getTitle()
-    get_transaction().commit()
+    transaction.commit()
     result = activity_tool.getMessageList()
     self.assertEqual(len(result), 1)
     activity_tool.distribute()
@@ -2880,7 +2869,7 @@ class TestCMFActivity(ERP5TypeTestCase, LogInterceptor):
     self.assertEqual(len([x for x in result if x.processing_node == 0]), 1)
     # Create second activity and distribute: it must *NOT* be distributed
     organisation.activate(activity=activity, serialization_tag='1').getTitle()
-    get_transaction().commit()
+    transaction.commit()
     result = activity_tool.getMessageList()
     self.assertEqual(len(result), 2)
     activity_tool.distribute()
@@ -2894,7 +2883,7 @@ class TestCMFActivity(ERP5TypeTestCase, LogInterceptor):
     organisation.activate(activity=activity, serialization_tag='1', priority=2).getTitle()
     # Use a different method just so that SQLDict doesn't merge both activities prior to insertion.
     organisation.activate(activity=activity, serialization_tag='1', priority=1).getId()
-    get_transaction().commit()
+    transaction.commit()
     result = activity_tool.getMessageList()
     self.assertEqual(len(result), 2)
     activity_tool.distribute()
@@ -2978,17 +2967,17 @@ class TestCMFActivity(ERP5TypeTestCase, LogInterceptor):
     activity_tool = self.getActivityTool()
     container = self.getPortal().organisation_module
     organisation = container.newContent(portal_type='Organisation')
-    get_transaction().commit()
+    transaction.commit()
     self.tic()
     organisation.activate(activity=activity).getTitle()
-    get_transaction().commit()
+    transaction.commit()
     self.assertEqual(len(activity_tool.getMessageList()), 1)
     # Here, we delete the subobject using most low-level method, to avoid
     # pending activity to be removed.
     organisation_id = organisation.id
     container._delOb(organisation_id)
     del organisation # Avoid keeping a reference to a deleted object.
-    get_transaction().commit()
+    transaction.commit()
     self.assertEqual(getattr(container, organisation_id, None), None)
     self.assertEqual(len(activity_tool.getMessageList()), 1)
     activity_tool.distribute()
@@ -3035,18 +3024,18 @@ class TestCMFActivity(ERP5TypeTestCase, LogInterceptor):
     container = self.getPortalObject().organisation_module
     organisation = container.newContent(portal_type='Organisation')
     organisation_2 = container.newContent(portal_type='Organisation')
-    get_transaction().commit()
+    transaction.commit()
     self.tic()
     organisation.reindexObject()
     organisation_2.reindexObject()
-    get_transaction().commit()
+    transaction.commit()
     self.assertEqual(len(activity_tool.getMessageList()), 2)
     # Here, we delete the subobject using most low-level method, to avoid
     # pending activity to be removed.
     organisation_id = organisation.id
     container._delOb(organisation_id)
     del organisation # Avoid keeping a reference to a deleted object.
-    get_transaction().commit()
+    transaction.commit()
     self.assertEqual(getattr(container, organisation_id, None), None)
     self.assertEqual(len(activity_tool.getMessageList()), 2)
     activity_tool.distribute()
@@ -3077,7 +3066,7 @@ class TestCMFActivity(ERP5TypeTestCase, LogInterceptor):
       language=LANGUAGE, translation=TO_STRING, note='')
     organisation = portal.organisation_module.newContent(
       portal_type='Organisation')
-    get_transaction().commit()
+    transaction.commit()
     self.tic()
     Organisation.translationTest = translationTest
     try:
@@ -3085,7 +3074,7 @@ class TestCMFActivity(ERP5TypeTestCase, LogInterceptor):
       # Simulate what a browser would have sent to Zope
       REQUEST.environ['HTTP_ACCEPT_LANGUAGE'] = LANGUAGE
       organisation.activate(activity=activity).translationTest()
-      get_transaction().commit()
+      transaction.commit()
       # Remove request parameter to check that it was saved at activate call
       # and restored at message execution.
       del REQUEST.environ['HTTP_ACCEPT_LANGUAGE']
@@ -3126,10 +3115,10 @@ class TestCMFActivity(ERP5TypeTestCase, LogInterceptor):
     # With Message.__call__
     # 1: activity context does not exist when activity is executed
     organisation = portal.organisation_module.newContent(portal_type='Organisation')
-    get_transaction().commit()
+    transaction.commit()
     self.tic()
     organisation.activate().getTitle() # This generates the mssage we want to test.
-    get_transaction().commit()
+    transaction.commit()
     message_list = activity_tool.getMessageList()
     self.assertEqual(len(message_list), 1)
     message = message_list[0]
@@ -3139,7 +3128,7 @@ class TestCMFActivity(ERP5TypeTestCase, LogInterceptor):
     activity_tool.manageCancel(message.object_path, message.method_id)
     # 2: activity method does not exist when activity is executed
     portal.organisation_module.activate().this_method_does_not_exist()
-    get_transaction().commit()
+    transaction.commit()
     message_list = activity_tool.getMessageList()
     self.assertEqual(len(message_list), 1)
     message = message_list[0]
@@ -3150,10 +3139,10 @@ class TestCMFActivity(ERP5TypeTestCase, LogInterceptor):
     # With ActivityTool.invokeGroup
     # 1: activity context does not exist when activity is executed
     organisation = portal.organisation_module.newContent(portal_type='Organisation')
-    get_transaction().commit()
+    transaction.commit()
     self.tic()
     organisation.activate().getTitle() # This generates the mssage we want to test.
-    get_transaction().commit()
+    transaction.commit()
     message_list = activity_tool.getMessageList()
     self.assertEqual(len(message_list), 1)
     message = message_list[0]
@@ -3163,7 +3152,7 @@ class TestCMFActivity(ERP5TypeTestCase, LogInterceptor):
     activity_tool.manageCancel(message.object_path, message.method_id)
     # 2: activity method does not exist when activity is executed
     portal.organisation_module.activate().this_method_does_not_exist()
-    get_transaction().commit()
+    transaction.commit()
     message_list = activity_tool.getMessageList()
     self.assertEqual(len(message_list), 1)
     message = message_list[0]
@@ -3192,7 +3181,7 @@ class TestCMFActivity(ERP5TypeTestCase, LogInterceptor):
     portal.portal_skins.manage_skinLayers(add_skin=1, skinpath=[''], skinname=skin_selection_name)
     # Create a dummy document
     organisation = portal.organisation_module.newContent(portal_type='Organisation')
-    get_transaction().commit()
+    transaction.commit()
     self.tic()
     # Set custom methods to call as activities.
     def first(context):
@@ -3207,7 +3196,7 @@ class TestCMFActivity(ERP5TypeTestCase, LogInterceptor):
     try:
       organisation.activate(tag='foo', activity='SQLQueue').firstTest()
       organisation.activate(after_tag='foo', activity='SQLQueue').secondTest()
-      get_transaction().commit()
+      transaction.commit()
       import gc
       gc.disable()
       self.tic()
@@ -3246,7 +3235,7 @@ class TestCMFActivity(ERP5TypeTestCase, LogInterceptor):
     portal = self.getPortalObject()
     activity_tool = self.getActivityTool()
     organisation = portal.organisation_module.newContent(portal_type='Organisation')
-    get_transaction().commit()
+    transaction.commit()
     self.tic()
     activity_lock = threading.Lock()
     activity_lock.acquire()
@@ -3275,10 +3264,10 @@ class TestCMFActivity(ERP5TypeTestCase, LogInterceptor):
       # if execution should stop processing activities.
       organisation.activate(activity='SQLDict', tag='foo').waitingActivity()
       organisation.activate(activity='SQLDict', after_tag='foo').getTitle()
-      get_transaction().commit()
+      transaction.commit()
       self.assertEqual(len(activity_tool.getMessageList()), 2)
       activity_tool.distribute()
-      get_transaction().commit()
+      transaction.commit()
 
       # Start a tic in another thread, so they can meet at rendez-vous.
       class ActivityThread(threading.Thread):
@@ -3342,7 +3331,7 @@ class TestCMFActivity(ERP5TypeTestCase, LogInterceptor):
     active_object = self.portal.organisation_module.newContent(
                                             portal_type='Organisation')
     active_process = self.portal.portal_activities.newActiveProcess()
-    get_transaction().commit()
+    transaction.commit()
     self.tic()
 
     self.assertFalse(active_object.hasActivity())
@@ -3351,7 +3340,7 @@ class TestCMFActivity(ERP5TypeTestCase, LogInterceptor):
     def test(obj, **kw):
       for activity in ('SQLDict', 'SQLQueue'):
         active_object.activate(activity=activity, **kw).getTitle()
-        get_transaction().commit()
+        transaction.commit()
         self.assertTrue(obj.hasActivity(), activity)
         self.tic()
         self.assertFalse(obj.hasActivity(), activity)
@@ -3368,7 +3357,7 @@ class TestCMFActivity(ERP5TypeTestCase, LogInterceptor):
     """
     active_object = self.portal.organisation_module.newContent(
                                             portal_type='Organisation')
-    get_transaction().commit()
+    transaction.commit()
     self.tic()
     self.assertFalse(active_object.hasActivity())
 
@@ -3380,7 +3369,7 @@ class TestCMFActivity(ERP5TypeTestCase, LogInterceptor):
     DB.original_query = DB.query
     try:
       active_object.activate().getTitle()
-      get_transaction().commit()
+      transaction.commit()
       self.assertTrue(active_object.hasActivity())
       # Make the sql request not working
       DB.original_query = DB.query
@@ -3457,34 +3446,34 @@ class TestCMFActivity(ERP5TypeTestCase, LogInterceptor):
 
     portal = self.getPortal()
     activity_tool = portal.portal_activities
-    get_transaction().commit()
+    transaction.commit()
     self.tic()
 
     # Add 6 activities
     portal.organisation_module.activate(activity='SQLDict', tag='', serialization_tag='test_115').getId()
-    get_transaction().commit()
+    transaction.commit()
     portal.organisation_module.activate(activity='SQLDict', serialization_tag='test_115').getTitle()
-    get_transaction().commit()
+    transaction.commit()
     portal.organisation_module.activate(activity='SQLDict', tag='tag_1', serialization_tag='test_115').getId()
-    get_transaction().commit()
+    transaction.commit()
     portal.person_module.activate(activity='SQLDict', serialization_tag='test_115').getId()
-    get_transaction().commit()
+    transaction.commit()
     portal.person_module.activate(activity='SQLDict', tag='tag_2').getId()
-    get_transaction().commit()
+    transaction.commit()
     portal.organisation_module.activate(activity='SQLDict', tag='', serialization_tag='test_115').getId()
-    get_transaction().commit()
+    transaction.commit()
 
     # distribute and assign them to 3 nodes
     activity_tool.distribute()
-    get_transaction().commit()
+    transaction.commit()
 
     from Products.CMFActivity import ActivityTool
     ActivityTool.activity_dict['SQLDict'].getProcessableMessageList(activity_tool, 1)
-    get_transaction().commit()
+    transaction.commit()
     ActivityTool.activity_dict['SQLDict'].getProcessableMessageList(activity_tool, 2)
-    get_transaction().commit()
+    transaction.commit()
     ActivityTool.activity_dict['SQLDict'].getProcessableMessageList(activity_tool, 3)
-    get_transaction().commit()
+    transaction.commit()
 
     result = activity_tool.SQLDict_readMessageList(include_processing=1,
                                                    processing_node=None,
@@ -3518,7 +3507,7 @@ class TestCMFActivity(ERP5TypeTestCase, LogInterceptor):
       # Clear activities from all nodes
       activity_tool.SQLBase_delMessage(table=SQLDict.sql_table,
                                        uid=[message.uid for message in result])
-      get_transaction().commit()
+      transaction.commit()
 
   def test_116_RaiseInCommitBeforeMessageExecution(self):
     """
@@ -3532,13 +3521,13 @@ class TestCMFActivity(ERP5TypeTestCase, LogInterceptor):
     try:
       for activity in 'SQLDict', 'SQLQueue':
         activity_tool.activate(activity=activity).doSomething(activity)
-        get_transaction().commit()
+        transaction.commit()
         activity_tool.distribute()
         # Make first commit in dequeueMessage raise
         registerFailingTransactionManager()
         self.assertRaises(CommitFailed, activity_tool.tic)
         # Normally, the request stops here and Zope aborts the transaction
-        get_transaction().abort()
+        transaction.abort()
         self.assertEqual(processed, [])
         # Activity is already in 'processing=1' state. Check tic reselects it.
         activity_tool.tic()
@@ -3566,7 +3555,7 @@ class TestCMFActivity(ERP5TypeTestCase, LogInterceptor):
     self.assertEquals({'activate_kw': {'tag': tag}}, \
                        current_default_reindex_parameters)
     person = portal.person_module.newContent(portal_type='Person')
-    get_transaction().commit()
+    transaction.commit()
     # as we specified it in setPlacelessDefaultReindexParameters we should have
     # an activity for this tags
     self.assertEquals(1, portal.portal_activities.countMessageWithTag(tag))
@@ -3581,10 +3570,10 @@ class TestCMFActivity(ERP5TypeTestCase, LogInterceptor):
 
   def TryNotificationSavedOnEventLogWhenNotifyUserRaises(self, activity):
     activity_tool = self.getActivityTool()
-    get_transaction().commit()
+    transaction.commit()
     self.tic()
     obj = self.getPortal().organisation_module.newContent(portal_type='Organisation')
-    get_transaction().commit()
+    transaction.commit()
     self.tic()
     original_notifyUser = Message.notifyUser
     def failSendingEmail(self, *args, **kw):
@@ -3601,18 +3590,18 @@ class TestCMFActivity(ERP5TypeTestCase, LogInterceptor):
     try:
       import traceback
       obj.activate(activity=activity, priority=6).failingMethod()
-      get_transaction().commit()
+      transaction.commit()
       self.flushAllActivities(silent=1, loop_size=100)   
       message_list = activity_tool.getMessageList()
       self.assertEqual(len(message_list), 1)
       message = message_list[0]
       logged_errors = []
       logged_errors = self.logged
-      get_transaction().commit()
+      transaction.commit()
       for log_record in self.logged:
         if log_record.name == 'ActivityTool' and log_record.levelname == 'WARNING':
           type, value, trace = log_record.exc_info
-      get_transaction().commit()
+      transaction.commit()
       self.assertTrue(activity_unit_test_error is value)
     finally:
       self._ignore_log_errors()
@@ -3646,10 +3635,10 @@ class TestCMFActivity(ERP5TypeTestCase, LogInterceptor):
     activity_tool = self.getActivityTool()
     # With Message.__call__
     # 1: activity context does not exist when activity is executed
-    get_transaction().commit()
+    transaction.commit()
     self.tic()
     obj = self.getPortal().organisation_module.newContent(portal_type='Organisation')
-    get_transaction().commit()
+    transaction.commit()
     self.tic()
     notification_done = []
     def fake_notifyUser(self, *args, **kw):
@@ -3662,7 +3651,7 @@ class TestCMFActivity(ERP5TypeTestCase, LogInterceptor):
     Organisation.failingMethod = failingMethod
     try:
       obj.activate(activity=activity).failingMethod()
-      get_transaction().commit()
+      transaction.commit()
       self.flushAllActivities(silent=1, loop_size=100)
       message_list = activity_tool.getMessageList()
       self.assertEqual(len(message_list), 1)
@@ -3701,7 +3690,7 @@ class TestCMFActivity(ERP5TypeTestCase, LogInterceptor):
     if not organisation_module.hasContent(self.company_id):
       organisation_module.newContent(id=self.company_id)
     o = organisation_module._getOb(self.company_id)
-    get_transaction().commit()
+    transaction.commit()
     self.flushAllActivities(silent = 1, loop_size = 10)
     self.assertEquals(len(activity_tool.getMessageList()), 0)
     class ActivityUnitTestError(Exception):
@@ -3725,12 +3714,12 @@ class TestCMFActivity(ERP5TypeTestCase, LogInterceptor):
 
     try:
       o.activate(activity = activity).failingMethod()
-      get_transaction().commit()
+      transaction.commit()
       self.assertEquals(len(activity_tool.getMessageList()), 1)
       self.flushAllActivities(silent = 1)
       SiteErrorLog.raising = SiteErrorLog.original_raising
       logged_errors = self.logged
-      get_transaction().commit()
+      transaction.commit()
       for log_record in self.logged:
         if log_record.name == 'ActivityTool' and log_record.levelname == 'WARNING':
           type, value, trace = log_record.exc_info     
@@ -3782,7 +3771,7 @@ class TestCMFActivity(ERP5TypeTestCase, LogInterceptor):
         
       activity_tool.__class__.doSomething = doSomething
       activity_tool.activate(activity='SQLQueue').doSomething()
-      get_transaction().commit()
+      transaction.commit()
       activity_tool.distribute()
       activity_tool.tic()
       message_list = activity_tool.getMessageList()
-- 
2.30.9


From 20b71c3fa95ea9843279295514d0d5bb9e44a111 Mon Sep 17 00:00:00 2001
From: Yusuke Muraoka <yusuke@nexedi.com>
Date: Tue, 20 Jul 2010 04:15:27 +0000
Subject: [PATCH 038/270] 2010-07-20 yusuke * Supply Cell must be inherit
 start_date range from the parent.

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@37190 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 .../portal_skins/erp5_pdm/SupplyCell_asPredicate.xml  | 11 +++++++++++
 bt5/erp5_pdm/bt/change_log                            |  3 +++
 bt5/erp5_pdm/bt/revision                              |  2 +-
 3 files changed, 15 insertions(+), 1 deletion(-)

diff --git a/bt5/erp5_pdm/SkinTemplateItem/portal_skins/erp5_pdm/SupplyCell_asPredicate.xml b/bt5/erp5_pdm/SkinTemplateItem/portal_skins/erp5_pdm/SupplyCell_asPredicate.xml
index 5dc6e65368..9cfa7e35a7 100644
--- a/bt5/erp5_pdm/SkinTemplateItem/portal_skins/erp5_pdm/SupplyCell_asPredicate.xml
+++ b/bt5/erp5_pdm/SkinTemplateItem/portal_skins/erp5_pdm/SupplyCell_asPredicate.xml
@@ -74,6 +74,15 @@ if not \'priced_quantity\' in mapped_value_property_list:\n
   mapped_value_property_list.append(\'priced_quantity\')\n
   context.setMappedValuePropertyList(mapped_value_property_list)\n
 \n
+# XXX: An hack that the context cell may not have the start_date_range_min/max properties.\n
+# But they don\'t acquire it parent the properties.\n
+# Correctly, the cell must acquire the properties.\n
+if (context.getStartDateRangeMin() == None and\n
+    context.getStartDateRangeMax() == None):\n
+  supply_line = context.getParentValue()\n
+  context = context.asContext(start_date_range_min=supply_line.getStartDateRangeMin(),\n
+                              start_date_range_max=supply_line.getStartDateRangeMax())\n
+\n
 return context.generatePredicate(membership_criterion_base_category_list = base_category_tuple,\n
                                                  criterion_property_list = (\'start_date\',))\n
 </string> </value>
@@ -119,6 +128,8 @@ return context.generatePredicate(membership_criterion_base_category_list = base_
                             <string>base_category_tuple</string>
                             <string>_inplacevar_</string>
                             <string>mapped_value_property_list</string>
+                            <string>None</string>
+                            <string>supply_line</string>
                           </tuple>
                         </value>
                     </item>
diff --git a/bt5/erp5_pdm/bt/change_log b/bt5/erp5_pdm/bt/change_log
index 06e247bd8c..80af5be824 100644
--- a/bt5/erp5_pdm/bt/change_log
+++ b/bt5/erp5_pdm/bt/change_log
@@ -1,3 +1,6 @@
+2010-07-20 yusuke
+* Supply Cell must be inherit start_date range from the parent.
+
 2010-07-14 yusei
 * Remove wrecks of already-removed forms.
 
diff --git a/bt5/erp5_pdm/bt/revision b/bt5/erp5_pdm/bt/revision
index 5da127eea4..22c04b349c 100644
--- a/bt5/erp5_pdm/bt/revision
+++ b/bt5/erp5_pdm/bt/revision
@@ -1 +1 @@
-507
\ No newline at end of file
+508
\ No newline at end of file
-- 
2.30.9


From 804c69d75518ce0dd2fc3c381f7acb848fa9aab5 Mon Sep 17 00:00:00 2001
From: Yoshinori Okuji <yo@nexedi.com>
Date: Tue, 20 Jul 2010 04:41:58 +0000
Subject: [PATCH 039/270] 2010-07-20 yo * Make it easier to override CSS and
 JavaScript. Now, you can tweak CSS and JavaScript by overriding
 ERP5Site_getCssRelativeUrlList and ERP5Site_getJavaScriptRelativeUrlList,
 respectively.

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@37191 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 .../ERP5Site_getCssRelativeUrlList.xml        | 132 ++++++++++++++++++
 .../ERP5Site_getJavaScriptRelativeUrlList.xml | 132 ++++++++++++++++++
 .../erp5_xhtml_style/global_definitions.xml   |  12 +-
 .../bootstrap/erp5_xhtml_style/bt/change_log  |   3 +
 .../bootstrap/erp5_xhtml_style/bt/revision    |   2 +-
 5 files changed, 274 insertions(+), 7 deletions(-)
 create mode 100644 product/ERP5/bootstrap/erp5_xhtml_style/SkinTemplateItem/portal_skins/erp5_xhtml_style/ERP5Site_getCssRelativeUrlList.xml
 create mode 100644 product/ERP5/bootstrap/erp5_xhtml_style/SkinTemplateItem/portal_skins/erp5_xhtml_style/ERP5Site_getJavaScriptRelativeUrlList.xml

diff --git a/product/ERP5/bootstrap/erp5_xhtml_style/SkinTemplateItem/portal_skins/erp5_xhtml_style/ERP5Site_getCssRelativeUrlList.xml b/product/ERP5/bootstrap/erp5_xhtml_style/SkinTemplateItem/portal_skins/erp5_xhtml_style/ERP5Site_getCssRelativeUrlList.xml
new file mode 100644
index 0000000000..3393c3a910
--- /dev/null
+++ b/product/ERP5/bootstrap/erp5_xhtml_style/SkinTemplateItem/portal_skins/erp5_xhtml_style/ERP5Site_getCssRelativeUrlList.xml
@@ -0,0 +1,132 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>Script_magic</string> </key>
+            <value> <int>3</int> </value>
+        </item>
+        <item>
+            <key> <string>_bind_names</string> </key>
+            <value>
+              <object>
+                <klass>
+                  <global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/>
+                </klass>
+                <tuple/>
+                <state>
+                  <dictionary>
+                    <item>
+                        <key> <string>_asgns</string> </key>
+                        <value>
+                          <dictionary>
+                            <item>
+                                <key> <string>name_container</string> </key>
+                                <value> <string>container</string> </value>
+                            </item>
+                            <item>
+                                <key> <string>name_context</string> </key>
+                                <value> <string>context</string> </value>
+                            </item>
+                            <item>
+                                <key> <string>name_m_self</string> </key>
+                                <value> <string>script</string> </value>
+                            </item>
+                            <item>
+                                <key> <string>name_subpath</string> </key>
+                                <value> <string>traverse_subpath</string> </value>
+                            </item>
+                          </dictionary>
+                        </value>
+                    </item>
+                  </dictionary>
+                </state>
+              </object>
+            </value>
+        </item>
+        <item>
+            <key> <string>_body</string> </key>
+            <value> <string># This script returns an iterable of the paths to standard CSS objects.\n
+# If you want to customize your own site, please override this script\n
+# in your own skin folder. Note that the returned items must be\n
+# relative URLs instead of absolute URLs, i.e. they must be traversable\n
+# from the portal object. This is required for further processing of CSS\n
+# data, e.g. compression.\n
+#\n
+# BBB: For the history, erp5.css is included by css_list_template.\n
+#      So this script has nothing to do in reality.\n
+\n
+css_list = ()\n
+return css_list\n
+</string> </value>
+        </item>
+        <item>
+            <key> <string>_code</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>_params</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>errors</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+        <item>
+            <key> <string>func_code</string> </key>
+            <value>
+              <object>
+                <klass>
+                  <global name="FuncCode" module="Shared.DC.Scripts.Signature"/>
+                </klass>
+                <tuple/>
+                <state>
+                  <dictionary>
+                    <item>
+                        <key> <string>co_argcount</string> </key>
+                        <value> <int>0</int> </value>
+                    </item>
+                    <item>
+                        <key> <string>co_varnames</string> </key>
+                        <value>
+                          <tuple>
+                            <string>css_list</string>
+                          </tuple>
+                        </value>
+                    </item>
+                  </dictionary>
+                </state>
+              </object>
+            </value>
+        </item>
+        <item>
+            <key> <string>func_defaults</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>ERP5Site_getCssRelativeUrlList</string> </value>
+        </item>
+        <item>
+            <key> <string>warnings</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/product/ERP5/bootstrap/erp5_xhtml_style/SkinTemplateItem/portal_skins/erp5_xhtml_style/ERP5Site_getJavaScriptRelativeUrlList.xml b/product/ERP5/bootstrap/erp5_xhtml_style/SkinTemplateItem/portal_skins/erp5_xhtml_style/ERP5Site_getJavaScriptRelativeUrlList.xml
new file mode 100644
index 0000000000..e8263b0c0d
--- /dev/null
+++ b/product/ERP5/bootstrap/erp5_xhtml_style/SkinTemplateItem/portal_skins/erp5_xhtml_style/ERP5Site_getJavaScriptRelativeUrlList.xml
@@ -0,0 +1,132 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>Script_magic</string> </key>
+            <value> <int>3</int> </value>
+        </item>
+        <item>
+            <key> <string>_bind_names</string> </key>
+            <value>
+              <object>
+                <klass>
+                  <global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/>
+                </klass>
+                <tuple/>
+                <state>
+                  <dictionary>
+                    <item>
+                        <key> <string>_asgns</string> </key>
+                        <value>
+                          <dictionary>
+                            <item>
+                                <key> <string>name_container</string> </key>
+                                <value> <string>container</string> </value>
+                            </item>
+                            <item>
+                                <key> <string>name_context</string> </key>
+                                <value> <string>context</string> </value>
+                            </item>
+                            <item>
+                                <key> <string>name_m_self</string> </key>
+                                <value> <string>script</string> </value>
+                            </item>
+                            <item>
+                                <key> <string>name_subpath</string> </key>
+                                <value> <string>traverse_subpath</string> </value>
+                            </item>
+                          </dictionary>
+                        </value>
+                    </item>
+                  </dictionary>
+                </state>
+              </object>
+            </value>
+        </item>
+        <item>
+            <key> <string>_body</string> </key>
+            <value> <string># This script returns an iterable of the paths to standard JavaScript objects.\n
+# If you want to customize your own site, please override this script\n
+# in your own skin folder. Note that the returned items must be\n
+# relative URLs instead of absolute URLs, i.e. they must be traversable\n
+# from the portal object. This is required for further processing of JavaScript\n
+# data, e.g. compression.\n
+#\n
+# BBB: For the history, erp5_xhtml_appearance.js is included by default when\n
+#      js_list is not pre-defined before the global definitions.\n
+\n
+js_list = (\'MochiKit/MochiKit.js\', \'erp5.js\')\n
+return js_list\n
+</string> </value>
+        </item>
+        <item>
+            <key> <string>_code</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>_params</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>errors</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+        <item>
+            <key> <string>func_code</string> </key>
+            <value>
+              <object>
+                <klass>
+                  <global name="FuncCode" module="Shared.DC.Scripts.Signature"/>
+                </klass>
+                <tuple/>
+                <state>
+                  <dictionary>
+                    <item>
+                        <key> <string>co_argcount</string> </key>
+                        <value> <int>0</int> </value>
+                    </item>
+                    <item>
+                        <key> <string>co_varnames</string> </key>
+                        <value>
+                          <tuple>
+                            <string>js_list</string>
+                          </tuple>
+                        </value>
+                    </item>
+                  </dictionary>
+                </state>
+              </object>
+            </value>
+        </item>
+        <item>
+            <key> <string>func_defaults</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>ERP5Site_getJavaScriptRelativeUrlList</string> </value>
+        </item>
+        <item>
+            <key> <string>warnings</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/product/ERP5/bootstrap/erp5_xhtml_style/SkinTemplateItem/portal_skins/erp5_xhtml_style/global_definitions.xml b/product/ERP5/bootstrap/erp5_xhtml_style/SkinTemplateItem/portal_skins/erp5_xhtml_style/global_definitions.xml
index 605e905ed3..18eb1c9eb9 100644
--- a/product/ERP5/bootstrap/erp5_xhtml_style/SkinTemplateItem/portal_skins/erp5_xhtml_style/global_definitions.xml
+++ b/product/ERP5/bootstrap/erp5_xhtml_style/SkinTemplateItem/portal_skins/erp5_xhtml_style/global_definitions.xml
@@ -58,12 +58,12 @@
            dummy            python: local_parameter_list.update({\'cancel_url\': cancel_url});\n
            dummy       python: request.RESPONSE.setHeader(\'Content-Type\', \'text/html;; charset=utf-8\');\n
            dummy  python: request.set(\'here\', here);\n
-           global css_list  css_list | python: [];\n
-           css_list_template css_list_template | python: [\'%s/erp5.css\' % (portal_path, )];\n
-           dummy     python: css_list.extend(css_list_template);\n
-           global js_list   js_list | python: [\'%s/erp5_xhtml_appearance.js\' % portal_path,];\n
-           global js_list   python:[\'%s/MochiKit/MochiKit.js\' % portal_path,\n
-           \'%s/erp5.js\' % portal_path, ] + js_list;\n
+           global css_list  css_list | python:[];\n
+           dummy       python:css_list.extend([\'%s/%s\' % (portal_path, x) for x in portal.ERP5Site_getCssRelativeUrlList()]);\n
+           css_list_template css_list_template | python:[\'%s/erp5.css\' % (portal_path,)];\n
+           dummy     python:css_list.extend(css_list_template);\n
+           global js_list   js_list | python:[\'%s/erp5_xhtml_appearance.js\' % (portal_path,)];\n
+           dummy     python:js_list.extend([\'%s/%s\' % (portal_path, x) for x in portal.ERP5Site_getJavaScriptRelativeUrlList()]);\n
            global http_parameter_list  python: portal.ERP5Site_filterParameterList(request.form);\n
            dummy                python: http_parameter_list.update(local_parameter_list);\n
            global http_parameters      python: portal.ERP5Site_renderHTTPParameterList(http_parameter_list);\n
diff --git a/product/ERP5/bootstrap/erp5_xhtml_style/bt/change_log b/product/ERP5/bootstrap/erp5_xhtml_style/bt/change_log
index be32d26b26..f464146b25 100644
--- a/product/ERP5/bootstrap/erp5_xhtml_style/bt/change_log
+++ b/product/ERP5/bootstrap/erp5_xhtml_style/bt/change_log
@@ -1,3 +1,6 @@
+2010-07-20 yo
+* Make it easier to override CSS and JavaScript. Now, you can tweak CSS and JavaScript by overriding ERP5Site_getCssRelativeUrlList and ERP5Site_getJavaScriptRelativeUrlList, respectively.
+
 2010-06-10 kazuhiko
 * Typing Enter key in listbox search fields invokes Base_doSelect instead of the page's form action.
 
diff --git a/product/ERP5/bootstrap/erp5_xhtml_style/bt/revision b/product/ERP5/bootstrap/erp5_xhtml_style/bt/revision
index a8a24cbb2f..011b5d3457 100644
--- a/product/ERP5/bootstrap/erp5_xhtml_style/bt/revision
+++ b/product/ERP5/bootstrap/erp5_xhtml_style/bt/revision
@@ -1 +1 @@
-959
\ No newline at end of file
+961
\ No newline at end of file
-- 
2.30.9


From 9772de6bec59ddebf8e016151829056097789248 Mon Sep 17 00:00:00 2001
From: Yusuke Muraoka <yusuke@nexedi.com>
Date: Tue, 20 Jul 2010 05:50:53 +0000
Subject: [PATCH 040/270] the cell of a supply line must work as same as the
 line.

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@37192 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 product/ERP5/tests/testSupply.py | 42 +++++++++++++++++++++++---------
 1 file changed, 30 insertions(+), 12 deletions(-)

diff --git a/product/ERP5/tests/testSupply.py b/product/ERP5/tests/testSupply.py
index 77079306fd..818423fd8d 100644
--- a/product/ERP5/tests/testSupply.py
+++ b/product/ERP5/tests/testSupply.py
@@ -97,6 +97,14 @@ class TestSaleSupply(TestSupplyMixin, ERP5TypeTestCase):
     supply_line.edit(**kw)
     return supply_line
 
+  @reindex
+  def _makeSupplyCell(self, supply_line, **kw):
+    """Creates a supply cell.
+    """
+    supply_cell = supply_line.newContent(portal_type=self.supply_cell_portal_type)
+    supply_cell.edit(**kw)
+    return supply_cell
+
   def test_01_MovementAndSupplyModification(self, quiet=0, run=run_all_test):
     """
       Check that moving timeframe of supply
@@ -111,27 +119,34 @@ class TestSaleSupply(TestSupplyMixin, ERP5TypeTestCase):
                               start_date_range_max='2009/01/31')
 
     supply_line = self._makeSupplyLine(supply)
+    supply_cell = self._makeSupplyCell(supply_line)
     transaction.commit()
     self.tic()
 
-    res = self.domain_tool.searchPredicateList(movement,
-                                      portal_type=self.supply_line_portal_type)
-    
+    res_line = self.domain_tool.searchPredicateList(movement,
+                                                    portal_type=self.supply_line_portal_type)
+    res_cell = self.domain_tool.searchPredicateList(movement,
+                                                    portal_type=self.supply_cell_portal_type)
+
     # ...and predicate shall be found
-    self.assertSameSet(res, [supply_line])
-    
+    self.assertSameSet(res_line, [supply_line])
+    self.assertSameSet(res_cell, [supply_cell])
+
     # timeframe is moved out of movement date...
     supply.edit(start_date_range_min='2009/02/01',
                 start_date_range_max='2009/02/28')
 
     transaction.commit()
     self.tic()
-    
-    res = self.domain_tool.searchPredicateList(movement,
-                                      portal_type=self.supply_line_portal_type)
+
+    res_line = self.domain_tool.searchPredicateList(movement,
+                                                    portal_type=self.supply_line_portal_type)
+    res_cell = self.domain_tool.searchPredicateList(movement,
+                                                    portal_type=self.supply_cell_portal_type)
 
     # ...and predicate shall NOT be found
-    self.assertSameSet(res, [])
+    self.assertSameSet(res_line, [])
+    self.assertSameSet(res_cell, [])
 
     # movement is going back into timeframe...
     movement.edit(start_date='2009/02/15')
@@ -139,11 +154,14 @@ class TestSaleSupply(TestSupplyMixin, ERP5TypeTestCase):
     transaction.commit()
     self.tic()
 
-    res = self.domain_tool.searchPredicateList(movement,
-                                      portal_type=self.supply_line_portal_type)
+    res_line = self.domain_tool.searchPredicateList(movement,
+                                                    portal_type=self.supply_line_portal_type)
+    res_cell = self.domain_tool.searchPredicateList(movement,
+                                                    portal_type=self.supply_cell_portal_type)
 
     # ...and predicate shall be found
-    self.assertSameSet(res, [supply_line])
+    self.assertSameSet(res_line, [supply_line])
+    self.assertSameSet(res_cell, [supply_cell])
 
   def test_02_checkLineIsReindexedOnSupplyChange(self, quiet=0, run=run_all_test):
     """
-- 
2.30.9


From ae90c84d44120b0096764baf9b0cbba18cdab558 Mon Sep 17 00:00:00 2001
From: Ivan Tyagov <ivan@nexedi.com>
Date: Tue, 20 Jul 2010 06:02:58 +0000
Subject: [PATCH 041/270] Snapshot has been removed.

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@37193 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 product/ERP5OOo/tests/testIngestion.py | 47 --------------------------
 1 file changed, 47 deletions(-)

diff --git a/product/ERP5OOo/tests/testIngestion.py b/product/ERP5OOo/tests/testIngestion.py
index 222442ca19..f676fab018 100644
--- a/product/ERP5OOo/tests/testIngestion.py
+++ b/product/ERP5OOo/tests/testIngestion.py
@@ -765,27 +765,6 @@ class TestIngestion(ERP5TypeTestCase):
     """
     printAndLog('stepExportImage not implemented')
 
-  def stepCheckHasSnapshot(self, sequence=None, sequence_list=None, **kw):
-    document = self.getDocument('one')
-    self.failUnless(document.hasSnapshotData())
-
-  def stepCheckHasNoSnapshot(self, sequence=None, sequence_list=None, **kw):
-    document = self.getDocument('one')
-    self.failIf(document.hasSnapshotData())
-
-  def stepCreateSnapshot(self, sequence=None, sequence_list=None, **kw):
-    document = self.getDocument('one')
-    document.createSnapshot()
-
-  def stepTryRecreateSnapshot(self, sequence=None, sequence_list=None, **kw):
-    document = self.getDocument('one')
-    # XXX this always fails, don't know why
-    #self.assertRaises(ConversionError, document.createSnapshot)
-
-  def stepDeleteSnapshot(self, sequence=None, sequence_list=None, **kw):
-    document = self.getDocument('one')
-    document.deleteSnapshot()
-
   def stepCleanUp(self, sequence=None, sequence_list=None, **kw):
     """
         Clean up DMS system from old content.
@@ -1216,32 +1195,6 @@ class TestIngestion(ERP5TypeTestCase):
                 ]
     self.playSequence(step_list, quiet)
 
-
-  def test_07_SnapshotGeneration(self, quiet=QUIET, run=RUN_ALL_TEST):
-    """
-      Generate snapshot, make sure it is there, 
-      try to generate it again, remove and 
-      generate once more
-    """
-    if not run: return
-    if not quiet: printAndLog('test_07_SnapshotGeneration')
-    step_list = [ 'stepCleanUp'
-                 ,'stepCreateTextDocument'
-                 ,'stepUploadFromViewForm'
-                 ,'stepCheckConvertingState'
-                 ,'stepTic'
-                 ,'stepCheckConvertedState'
-                 ,'stepCheckHasNoSnapshot'
-                 ,'stepCreateSnapshot'
-                 ,'stepTryRecreateSnapshot'
-                 ,'stepCheckHasSnapshot'
-                 ,'stepDeleteSnapshot'
-                 ,'stepCheckHasNoSnapshot'
-                 ,'stepCreateSnapshot'
-                 ,'stepTic'
-                ]
-    self.playSequence(step_list, quiet)
-
   def test_08_Cache(self, quiet=QUIET, run=RUN_ALL_TEST):
     """
       I don't know how to verify how cache works
-- 
2.30.9


From db41566bdaaa85af13204288d0aa54cee123b17d Mon Sep 17 00:00:00 2001
From: Ivan Tyagov <ivan@nexedi.com>
Date: Tue, 20 Jul 2010 07:00:50 +0000
Subject: [PATCH 042/270] Move comment to appropriate place.

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@37194 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 product/ZSQLCatalog/SQLCatalog.py | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/product/ZSQLCatalog/SQLCatalog.py b/product/ZSQLCatalog/SQLCatalog.py
index 40d5a1c384..f7fe966559 100644
--- a/product/ZSQLCatalog/SQLCatalog.py
+++ b/product/ZSQLCatalog/SQLCatalog.py
@@ -129,7 +129,7 @@ else:
 
 
 UID_BUFFER_SIZE = 300
-OBJECT_LIST_SIZE = 300
+OBJECT_LIST_SIZE = 300 # XXX 300 is arbitrary value of catalog object list
 MAX_PATH_LEN = 255
 RESERVED_KEY_LIST = ('where_expression', 'sort-on', 'sort_on', 'sort-order', 'sort_order', 'limit',
                      'format', 'search_mode', 'operator', 'selection_domain', 'selection_report',
@@ -1257,7 +1257,6 @@ class Catalog(Folder,
     the object list, because calling _catalogObjectList with too many
     objects at a time bloats the process's memory consumption, due to
     caching."""
-    # XXX 300 is arbitrary.
     for i in xrange(0, len(object_list), OBJECT_LIST_SIZE):
       self._catalogObjectList(object_list[i:i + OBJECT_LIST_SIZE],
                               method_id_list=method_id_list,
-- 
2.30.9


From ebb431cc82b47cbdd523387fb7eaf63d49203af0 Mon Sep 17 00:00:00 2001
From: Ivan Tyagov <ivan@nexedi.com>
Date: Tue, 20 Jul 2010 07:54:18 +0000
Subject: [PATCH 043/270] Update comment.

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@37195 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 product/ERP5/mixin/document.py | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/product/ERP5/mixin/document.py b/product/ERP5/mixin/document.py
index 59f7faafa9..c29b1bcac6 100644
--- a/product/ERP5/mixin/document.py
+++ b/product/ERP5/mixin/document.py
@@ -63,6 +63,8 @@ class DocumentMixin:
     """
     transaction_variable = getTransactionalVariable(self.getPortalObject())
     if LOCK_PERMISSION_KEY in transaction_variable:
+      # in convert we want always to check conversion format permission
+      # to bypass such check one should use _convert directly
       del transaction_variable[LOCK_PERMISSION_KEY]
     self._checkConversionFormatPermission(format, lock_checking=True, **kw)
     result = self._convert(format, **kw)
-- 
2.30.9


From 3d53a6fa61c03c3a3f13ae9772ee35db3838165f Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?J=C3=A9rome=20Perrin?= <jerome@nexedi.com>
Date: Tue, 20 Jul 2010 08:34:44 +0000
Subject: [PATCH 044/270] Supply Line was already hidden (hidden content types
 are visible for manager since r35366 )

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@37196 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 bt5/erp5_pdm/bt/revision                                      | 2 +-
 bt5/erp5_pdm/bt/template_portal_type_hidden_content_type_list | 2 --
 2 files changed, 1 insertion(+), 3 deletions(-)

diff --git a/bt5/erp5_pdm/bt/revision b/bt5/erp5_pdm/bt/revision
index 22c04b349c..501f5773ed 100644
--- a/bt5/erp5_pdm/bt/revision
+++ b/bt5/erp5_pdm/bt/revision
@@ -1 +1 @@
-508
\ No newline at end of file
+509
\ No newline at end of file
diff --git a/bt5/erp5_pdm/bt/template_portal_type_hidden_content_type_list b/bt5/erp5_pdm/bt/template_portal_type_hidden_content_type_list
index 189c87bc07..aaf1ece238 100644
--- a/bt5/erp5_pdm/bt/template_portal_type_hidden_content_type_list
+++ b/bt5/erp5_pdm/bt/template_portal_type_hidden_content_type_list
@@ -15,11 +15,9 @@ Product | Supply Line
 Purchase Supply Line | Predicate
 Purchase Supply Line | Purchase Supply Cell
 Purchase Supply | Supply Line
-Purchase Supply | Supply Line
 Sale Supply Line | Predicate
 Sale Supply Line | Sale Supply Cell
 Sale Supply | Supply Line
-Sale Supply | Supply Line
 Service | Internal Supply Line
 Service | Purchase Supply Line
 Service | Sale Supply Line
-- 
2.30.9


From 3e2d806f2f64401b4faee2f95b996264af251118 Mon Sep 17 00:00:00 2001
From: Romain Courteaud <romain@nexedi.com>
Date: Tue, 20 Jul 2010 09:19:55 +0000
Subject: [PATCH 045/270] WebSection_viewAsWeb's listbox selection should not
 use the same selection than WebSection_view.

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@37197 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 .../portal_skins/erp5_web/WebSection_viewAsWeb/listbox.xml      | 2 +-
 bt5/erp5_web/bt/revision                                        | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/bt5/erp5_web/SkinTemplateItem/portal_skins/erp5_web/WebSection_viewAsWeb/listbox.xml b/bt5/erp5_web/SkinTemplateItem/portal_skins/erp5_web/WebSection_viewAsWeb/listbox.xml
index 2f17fd2b6c..dfe4609e10 100644
--- a/bt5/erp5_web/SkinTemplateItem/portal_skins/erp5_web/WebSection_viewAsWeb/listbox.xml
+++ b/bt5/erp5_web/SkinTemplateItem/portal_skins/erp5_web/WebSection_viewAsWeb/listbox.xml
@@ -162,7 +162,7 @@
                 </item>
                 <item>
                     <key> <string>selection_name</string> </key>
-                    <value> <string>section_content_selection</string> </value>
+                    <value> <string>section_recent_document_selection</string> </value>
                 </item>
                 <item>
                     <key> <string>sort</string> </key>
diff --git a/bt5/erp5_web/bt/revision b/bt5/erp5_web/bt/revision
index 218241b578..25c83294f5 100644
--- a/bt5/erp5_web/bt/revision
+++ b/bt5/erp5_web/bt/revision
@@ -1 +1 @@
-966
\ No newline at end of file
+968
\ No newline at end of file
-- 
2.30.9


From afa4c771a5d939040173cf1827ab4053252f95e9 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?J=C3=A9rome=20Perrin?= <jerome@nexedi.com>
Date: Tue, 20 Jul 2010 09:30:14 +0000
Subject: [PATCH 046/270] fix inifinite loop when called on a secondary period

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@37198 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 .../AccountingPeriod_createInitialBalanceTransaction.xml        | 2 +-
 bt5/erp5_accounting/bt/revision                                 | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountingPeriod_createInitialBalanceTransaction.xml b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountingPeriod_createInitialBalanceTransaction.xml
index 214265d75a..436ad96259 100644
--- a/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountingPeriod_createInitialBalanceTransaction.xml
+++ b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountingPeriod_createInitialBalanceTransaction.xml
@@ -57,7 +57,7 @@
 \n
 section = context\n
 while section.getPortalType() != \'Organisation\':\n
-  section = context.getParentValue()\n
+  section = section.getParentValue()\n
 \n
 context.accounting_module.newContent(\n
          portal_type=\'Balance Transaction\',\n
diff --git a/bt5/erp5_accounting/bt/revision b/bt5/erp5_accounting/bt/revision
index 5c02a7f16a..3af922bef4 100644
--- a/bt5/erp5_accounting/bt/revision
+++ b/bt5/erp5_accounting/bt/revision
@@ -1 +1 @@
-1314
\ No newline at end of file
+1315
\ No newline at end of file
-- 
2.30.9


From 373e2a27b099ccf3039011d3bbfea0007a8aa3d1 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?J=C3=A9rome=20Perrin?= <jerome@nexedi.com>
Date: Tue, 20 Jul 2010 10:10:20 +0000
Subject: [PATCH 047/270] prevent error when running with different browser
 than firefox

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@37199 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 .../erp5_ui_test_core/user-extensions.js.xml             | 9 ++++++---
 bt5/erp5_ui_test_core/bt/revision                        | 2 +-
 2 files changed, 7 insertions(+), 4 deletions(-)

diff --git a/bt5/erp5_ui_test_core/SkinTemplateItem/portal_skins/erp5_ui_test_core/user-extensions.js.xml b/bt5/erp5_ui_test_core/SkinTemplateItem/portal_skins/erp5_ui_test_core/user-extensions.js.xml
index d08260601f..6d21cc4059 100644
--- a/bt5/erp5_ui_test_core/SkinTemplateItem/portal_skins/erp5_ui_test_core/user-extensions.js.xml
+++ b/bt5/erp5_ui_test_core/SkinTemplateItem/portal_skins/erp5_ui_test_core/user-extensions.js.xml
@@ -11,7 +11,7 @@
       <dictionary>
         <item>
             <key> <string>_EtagSupport__etag</string> </key>
-            <value> <string>ts33693326.63</string> </value>
+            <value> <string>ts79620529.1</string> </value>
         </item>
         <item>
             <key> <string>__name__</string> </key>
@@ -76,7 +76,10 @@ Selenium.prototype.assertPortalStatusMessage = function(text) {\n
 \n
 \n
 Selenium.prototype.doType = function(locator, newText) {\n
-    netscape.security.PrivilegeManager.enablePrivilege("UniversalFileRead");\n
+    if (typeof(netscape) != "undefined") {\n
+      // on firefox, we enable privilege to upload file in javascript.\n
+      netscape.security.PrivilegeManager.enablePrivilege("UniversalFileRead");\n
+    }\n
     var element = this.page().findElement(locator);\n
     this.page().replaceText(element, newText);\n
 };\n
@@ -98,7 +101,7 @@ Selenium.prototype.getAbsoluteLocation = function() {\n
         </item>
         <item>
             <key> <string>size</string> </key>
-            <value> <int>2156</int> </value>
+            <value> <int>2278</int> </value>
         </item>
         <item>
             <key> <string>title</string> </key>
diff --git a/bt5/erp5_ui_test_core/bt/revision b/bt5/erp5_ui_test_core/bt/revision
index 1758dddcce..dc7b54ad01 100644
--- a/bt5/erp5_ui_test_core/bt/revision
+++ b/bt5/erp5_ui_test_core/bt/revision
@@ -1 +1 @@
-32
\ No newline at end of file
+33
\ No newline at end of file
-- 
2.30.9


From 99f874edb6df751ea88e413af333a4c12c5073f5 Mon Sep 17 00:00:00 2001
From: Yusei Tahara <yusei@nexedi.com>
Date: Tue, 20 Jul 2010 10:13:12 +0000
Subject: [PATCH 048/270] Use portal_categories.getCategoryValue instead.

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@37200 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 product/ERP5/Document/NodeBudgetVariation.py | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/product/ERP5/Document/NodeBudgetVariation.py b/product/ERP5/Document/NodeBudgetVariation.py
index 433d9622a5..dbbef4f139 100644
--- a/product/ERP5/Document/NodeBudgetVariation.py
+++ b/product/ERP5/Document/NodeBudgetVariation.py
@@ -132,6 +132,8 @@ class NodeBudgetVariation(BudgetVariation):
     if not base_category:
       return dict()
     budget_line = budget_cell.getParentValue()
+    portal = self.getPortalObject()
+    portal_categories = portal.portal_categories
     for criterion_category in budget_cell.getMembershipCriterionCategoryList():
       if '/' not in criterion_category: # safe ...
         continue
@@ -149,7 +151,7 @@ class NodeBudgetVariation(BudgetVariation):
               other_uid_list.append(node.getUid())
           return {axis: NegatedQuery(Query(**{axis: other_uid_list}))}
         return {axis:
-                  self.getPortalObject().unrestrictedTraverse(node_url).getUid()}
+                portal_categories.getCategoryValue(node_url, base_category=criterion_base_category).getUid()}
 
     return dict()
 
-- 
2.30.9


From e0fbf3c5d5de94fbac8a979387ae707ad19731df Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Aur=C3=A9lien=20Calonne?= <aurel@nexedi.com>
Date: Tue, 20 Jul 2010 15:12:08 +0000
Subject: [PATCH 049/270] allow reload from the list view as it is done for
 Documents

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@37201 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 product/ERP5Type/dtml/viewConstraintList.dtml    | 2 +-
 product/ERP5Type/dtml/viewPropertySheetList.dtml | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/product/ERP5Type/dtml/viewConstraintList.dtml b/product/ERP5Type/dtml/viewConstraintList.dtml
index 999f367f14..1cc1ea8e85 100644
--- a/product/ERP5Type/dtml/viewConstraintList.dtml
+++ b/product/ERP5Type/dtml/viewConstraintList.dtml
@@ -21,7 +21,7 @@
       <div class="list-item"><dtml-var sequence-item></div>
     </td>   
     <td>
-      <div class="list-item"><a href="manage_editConstraintForm?class_id=<dtml-var sequence-item>">edit</a>&nbsp;
+      <div class="list-item"><a href="manage_editConstraintForm?class_id=<dtml-var sequence-item>">edit</a>&nbsp;<a href="importConstraint?class_id=<dtml-var sequence-item>">reload</a>
       </div>
     </td>   
   </tr>    
diff --git a/product/ERP5Type/dtml/viewPropertySheetList.dtml b/product/ERP5Type/dtml/viewPropertySheetList.dtml
index 5f9a51215c..0f60283488 100644
--- a/product/ERP5Type/dtml/viewPropertySheetList.dtml
+++ b/product/ERP5Type/dtml/viewPropertySheetList.dtml
@@ -22,7 +22,7 @@
       <div class="list-item"><dtml-var sequence-item></div>
     </td>   
     <td>
-      <div class="list-item"><a href="manage_editPropertySheetForm?class_id=<dtml-var sequence-item>">edit</a>&nbsp;
+      <div class="list-item"><a href="manage_editPropertySheetForm?class_id=<dtml-var sequence-item>">edit</a>&nbsp;<a href="importPropertySheet?class_id=<dtml-var sequence-item>">reload</a>
       </div>
     </td>   
   </tr>    
-- 
2.30.9


From 029367bd32b155aa5ab1989eb400bf98c5bbc192 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Aur=C3=A9lien=20Calonne?= <aurel@nexedi.com>
Date: Tue, 20 Jul 2010 15:14:40 +0000
Subject: [PATCH 050/270] make edition in portal classes more configurable by
 adding "Taller/Shorter/Wider/Narrower" buttons as it is in the rest of zope

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@37202 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 product/ERP5Type/Tool/ClassTool.py            | 92 ++++++++++++++++++-
 product/ERP5Type/dtml/editConstraintForm.dtml | 50 +++++++++-
 product/ERP5Type/dtml/editDocumentForm.dtml   | 52 ++++++++++-
 product/ERP5Type/dtml/editExtensionForm.dtml  | 50 +++++++++-
 .../ERP5Type/dtml/editPropertySheetForm.dtml  | 50 +++++++++-
 product/ERP5Type/dtml/editTestForm.dtml       | 48 +++++++++-
 6 files changed, 318 insertions(+), 24 deletions(-)

diff --git a/product/ERP5Type/Tool/ClassTool.py b/product/ERP5Type/Tool/ClassTool.py
index f48943a66e..7d234eba6a 100644
--- a/product/ERP5Type/Tool/ClassTool.py
+++ b/product/ERP5Type/Tool/ClassTool.py
@@ -383,6 +383,29 @@ if allowClassTool():
           LOG('_clearCache', 0, str(name))
           database[name].manage_minimize()
 
+      def _changeEditingPreferences(self, REQUEST, height=None, width=None,
+                                    dtpref_cols="100%", dtpref_rows="20"):
+        """Change editing preferences."""
+        dr = {"Taller":5, "Shorter":-5}.get(height, 0)
+        dc = {"Wider":5, "Narrower":-5}.get(width, 0)
+        if isinstance(height, int): dtpref_rows = height
+        if isinstance(width, int) or \
+           isinstance(width, str) and width.endswith('%'):
+            dtpref_cols = width
+        rows = str(max(1, int(dtpref_rows) + dr))
+        cols = str(dtpref_cols)
+        if cols.endswith('%'):
+           cols = str(min(100, max(25, int(cols[:-1]) + dc))) + '%'
+        else:
+           cols = str(max(35, int(cols) + dc))
+        e = (DateTime("GMT") + 365).rfc822()
+        setCookie = REQUEST["RESPONSE"].setCookie
+        setCookie("dtpref_rows", rows, path='/', expires=e)
+        setCookie("dtpref_cols", cols, path='/', expires=e)
+        REQUEST.other.update({"dtpref_cols":cols, "dtpref_rows":rows})
+
+
+
       security.declareProtected( Permissions.ManagePortal, 'getLocalPropertySheetList' )
       def getLocalPropertySheetList(self):
         """
@@ -495,7 +518,14 @@ class %s(XMLObject):
           Updates a Document with a new text
         """
         previous_text = readLocalDocument(class_id)
-        self.writeLocalDocument(class_id, text, create=0)
+        try:
+          self.writeLocalDocument(class_id, text, create=0)
+        except SyntaxError, msg:
+          if REQUEST is not None:
+            REQUEST.RESPONSE.redirect('%s/manage_editDocumentForm?class_id=%s&errors=%s' % (self.absolute_url(), class_id, msg))
+            return
+          else:
+            return msg
         if REQUEST is not None:
           REQUEST.RESPONSE.redirect('%s/manage_editDocumentForm?class_id=%s&manage_tabs_message=Document+Saved' % (self.absolute_url(), class_id))
 
@@ -516,6 +546,31 @@ class %s(XMLObject):
         if REQUEST is not None and class_path is None:
           REQUEST.RESPONSE.redirect('%s/manage_editDocumentForm?class_id=%s&manage_tabs_message=Document+Reloaded+Successfully' % (self.absolute_url(), class_id))
 
+      security.declareProtected( Permissions.ManageExtensions, 'editAndImportDocument' )
+      def editAndImportDocument(self, class_id, text, REQUEST=None):
+        """
+        Edit & Import a document class
+        """
+        errors = self.editDocument(class_id, text)
+        if errors is not None:
+          if REQUEST is not None:
+            REQUEST.RESPONSE.redirect('%s/manage_editDocumentForm?class_id=%s&errors=%s' % (self.absolute_url(), class_id, errors))
+            return
+          else:
+            return errors
+
+        self.importDocument(class_id)
+        if REQUEST is not None:
+          REQUEST.RESPONSE.redirect('%s/manage_editDocumentForm?class_id=%s&manage_tabs_message=Document+Save+And+Reloaded+Successfully' % (self.absolute_url(), class_id))
+
+      def changeDocumentEditingPreferences(self, REQUEST, class_id, height=None, width=None,
+                                           dtpref_cols="100%", dtpref_rows="20"):
+        """Change editing preferences for documents."""
+        self._changeEditingPreferences(REQUEST, height=height, width=width,
+                                       dtpref_cols=dtpref_cols, dtpref_rows=dtpref_rows)
+        REQUEST.RESPONSE.redirect('%s/manage_editDocumentForm?class_id=%s' % (self.absolute_url(),
+                                                                              class_id))
+
 
       security.declareProtected( Permissions.ManagePortal, 'getPropertySheetText' )
       def getPropertySheetText(self, class_id):
@@ -601,6 +656,14 @@ class %s:
         if REQUEST is not None:
           REQUEST.RESPONSE.redirect('%s/manage_editPropertySheetForm?class_id=%s&manage_tabs_message=PropertySheet+Reloaded+Successfully' % (self.absolute_url(), class_id))
 
+      def changePropertySheetEditingPreferences(self, REQUEST, class_id, height=None, width=None,
+                                            dtpref_cols="100%", dtpref_rows="20"):
+        """Change editing preferences for property sheet."""
+        self._changeEditingPreferences(REQUEST, height=height, width=width,
+                                       dtpref_cols=dtpref_cols, dtpref_rows=dtpref_rows)
+        REQUEST.RESPONSE.redirect('%s/manage_editPropertySheetForm?class_id=%s' % (self.absolute_url(),
+                                                                               class_id))
+
       security.declareProtected( Permissions.ManagePortal, 'getExtensionText' )
       def getExtensionText(self, class_id):
         """
@@ -658,6 +721,15 @@ def myExtensionMethod(self, param=None):
         if REQUEST is not None:
           REQUEST.RESPONSE.redirect('%s/manage_editExtensionForm?class_id=%s&manage_tabs_message=Extension+Saved' % (self.absolute_url(), class_id))
 
+      def changeExtensionEditingPreferences(self, REQUEST, class_id, height=None, width=None,
+                                            dtpref_cols="100%", dtpref_rows="20"):
+        """Change editing preferences for extensions."""
+        self._changeEditingPreferences(REQUEST, height=height, width=width,
+                                       dtpref_cols=dtpref_cols, dtpref_rows=dtpref_rows)
+        REQUEST.RESPONSE.redirect('%s/manage_editExtensionForm?class_id=%s' % (self.absolute_url(),
+                                                                               class_id))
+
+
       security.declareProtected( Permissions.ManagePortal, 'getTestText' )
       def getTestText(self, class_id):
         """
@@ -748,6 +820,15 @@ class Test(ERP5TypeTestCase):
         if REQUEST is not None:
           REQUEST.RESPONSE.redirect('%s/manage_editTestForm?class_id=%s&manage_tabs_message=Test+Saved' % (self.absolute_url(), class_id))
 
+      def changeTestEditingPreferences(self, REQUEST, class_id, height=None, width=None,
+                                            dtpref_cols="100%", dtpref_rows="20"):
+        """Change editing preferences for test."""
+        self._changeEditingPreferences(REQUEST, height=height, width=width,
+                                       dtpref_cols=dtpref_cols, dtpref_rows=dtpref_rows)
+        REQUEST.RESPONSE.redirect('%s/manage_editTestForm?class_id=%s' % (self.absolute_url(),
+                                                                               class_id))
+
+
       security.declareProtected( Permissions.ManagePortal, 'getConstraintText' )
       def getConstraintText(self, class_id):
         """
@@ -842,6 +923,15 @@ class %s(Constraint):
         if REQUEST is not None:
           REQUEST.RESPONSE.redirect('%s/manage_editConstraintForm?class_id=%s&manage_tabs_message=Constraint+Reloaded+Successfully' % (self.absolute_url(), class_id))
 
+
+      def changeConstraintEditingPreferences(self, REQUEST, class_id, height=None, width=None,
+                                            dtpref_cols="100%", dtpref_rows="20"):
+        """Change editing preferences for constraint."""
+        self._changeEditingPreferences(REQUEST, height=height, width=width,
+                                       dtpref_cols=dtpref_cols, dtpref_rows=dtpref_rows)
+        REQUEST.RESPONSE.redirect('%s/manage_editConstraintForm?class_id=%s' % (self.absolute_url(),
+                                                                                class_id))
+
       security.declareProtected( Permissions.ManageExtensions, 'generateProduct' )
       def generateProduct(self, product_id,
                           document_id_list=(), property_sheet_id_list=(), constraint_id_list=(),
diff --git a/product/ERP5Type/dtml/editConstraintForm.dtml b/product/ERP5Type/dtml/editConstraintForm.dtml
index a6130f99ea..a789fbb63e 100644
--- a/product/ERP5Type/dtml/editConstraintForm.dtml
+++ b/product/ERP5Type/dtml/editConstraintForm.dtml
@@ -3,11 +3,51 @@
 
 <h2>Edit Constraint Class: <dtml-var class_id></h2>
 <form method="POST" action="<dtml-var absolute_url>">
-<textarea name="text:text" rows="20" cols="82"><dtml-var "getConstraintText(class_id)"></textarea>
-<br>
-<input type="hidden" name="class_id:string" value="<dtml-var class_id>">
-<input type="submit" value="Save" name="editConstraint:method">
-<input type="submit" value="Reload" name="importConstraint:method">  
+<input type="hidden" name=":default_method" value="changeConstraintEditingPreferences">
+<table width="100%" cellspacing="0" cellpadding="2" border="0">
+
+<dtml-if errors>
+  <tr>
+    <td align="left" valign="middle" class="form-label">Errors</td>
+    <td align="left" valign="middle" style="background-color: #FFDDDD">
+      <pre><dtml-var expr="str(errors)" html_quote></pre>
+    </td>
+  </tr>
+</dtml-if>
+
+<dtml-with keyword_args mapping>
+  <tr>
+    <td align="left" valign="top" colspan="2">
+  <div style="width: 100%;">
+  <dtml-let cols="REQUEST.get('dtpref_cols', '100%')"
+            rows="REQUEST.get('dtpref_rows', '20')">
+  <dtml-if "cols[-1]=='%'">
+  <textarea name="text:text" wrap="off" style="width: &dtml-cols;;"
+  <dtml-else>
+  <textarea name="text:text" wrap="off" cols="&dtml-cols;"
+  </dtml-if>
+            rows="&dtml-rows;"><dtml-var "getConstraintText(class_id)"></textarea>
+  </dtml-let>
+  </div>
+    </td>
+  </tr>
+</dtml-with>
+
+<tr>
+  <td>
+    <div class="form-element">
+<input class="form-element" type="hidden" name="class_id:string" value="<dtml-var class_id>">
+<input class="form-element" type="submit" value="Save" name="editConstraint:method">
+<input class="form-element" type="submit" value="Reload" name="importConstraint:method">
+&nbsp;&nbsp;
+<input class="form-element" type="submit" name="height" value="Taller">
+<input class="form-element" type="submit" name="height" value="Shorter">
+<input class="form-element" type="submit" name="width" value="Wider">
+<input class="form-element" type="submit" name="width" value="Narrower">
+    </div>
+  </td>
+</tr>
+</table>
 </form>
 
 <dtml-var manage_page_footer>
diff --git a/product/ERP5Type/dtml/editDocumentForm.dtml b/product/ERP5Type/dtml/editDocumentForm.dtml
index e8243ef7f8..38979bd7fb 100644
--- a/product/ERP5Type/dtml/editDocumentForm.dtml
+++ b/product/ERP5Type/dtml/editDocumentForm.dtml
@@ -3,11 +3,53 @@
 
 <h2>Edit Document Class: <dtml-var class_id></h2>
 <form method="POST" action="<dtml-var absolute_url>">
-<textarea name="text:text" rows="20" cols="82"><dtml-var "getDocumentText(class_id)"></textarea>
-<br>
-<input type="hidden" name="class_id:string" value="<dtml-var class_id>">
-<input type="submit" value="Save" name="editDocument:method">
-<input type="submit" value="Reload" name="importDocument:method">
+<input type="hidden" name=":default_method" value="changeDocumentEditingPreferences">
+<table width="100%" cellspacing="0" cellpadding="2" border="0">
+
+<dtml-if errors>
+  <tr>
+    <td align="left" valign="middle" class="form-label">Errors</td>
+    <td align="left" valign="middle" style="background-color: #FFDDDD">
+      <pre><dtml-var expr="str(errors)" html_quote></pre>
+    </td>
+  </tr>
+</dtml-if>
+
+<dtml-with keyword_args mapping>
+  <tr>
+    <td align="left" valign="top" colspan="2">
+  <div style="width: 100%;">
+  <dtml-let cols="REQUEST.get('dtpref_cols', '100%')"
+            rows="REQUEST.get('dtpref_rows', '20')">
+  <dtml-if "cols[-1]=='%'">
+  <textarea name="text:text" wrap="off" style="width: &dtml-cols;;"
+  <dtml-else>
+  <textarea name="text:text" wrap="off" cols="&dtml-cols;"
+  </dtml-if>
+            rows="&dtml-rows;"><dtml-var "getDocumentText(class_id)"></textarea>
+  </dtml-let>
+  </div>
+    </td>
+  </tr>
+</dtml-with>
+
+<tr>
+  <td>
+    <div class="form-element">
+<input class="form-element" type="hidden" name="class_id:string" value="<dtml-var class_id>">
+<input class="form-element" type="submit" value="Save" name="editDocument:method">
+<input class="form-element" type="submit" value="Reload" name="importDocument:method">
+<input class="form-element" type="submit" value="Save & Reload" name="editAndImportDocument:method">
+&nbsp;&nbsp;
+<input class="form-element" type="submit" name="height" value="Taller">
+<input class="form-element" type="submit" name="height" value="Shorter">
+<input class="form-element" type="submit" name="width" value="Wider">
+<input class="form-element" type="submit" name="width"
+       value="Narrower">
+    </div>
+  </td>
+</tr>
+</table>
 </form>
 
 <dtml-var manage_page_footer>
diff --git a/product/ERP5Type/dtml/editExtensionForm.dtml b/product/ERP5Type/dtml/editExtensionForm.dtml
index 3e89dc1c03..9d6cb5cab1 100644
--- a/product/ERP5Type/dtml/editExtensionForm.dtml
+++ b/product/ERP5Type/dtml/editExtensionForm.dtml
@@ -3,10 +3,52 @@
 
 <h2>Edit Extension Class: <dtml-var class_id></h2>
 <form method="POST" action="<dtml-var absolute_url>">
-<textarea name="text:text" rows="20" cols="82"><dtml-var "getExtensionText(class_id)"></textarea>
-<br>
-<input type="hidden" name="class_id:string" value="<dtml-var class_id>">
-<input type="submit" value="Save" name="editExtension:method">
+<input type="hidden" name=":default_method" value="changeExtensionEditingPreferences">
+<table width="100%" cellspacing="0" cellpadding="2" border="0">
+
+<dtml-if errors>
+  <tr>
+    <td align="left" valign="middle" class="form-label">Errors</td>
+    <td align="left" valign="middle" style="background-color: #FFDDDD">
+      <pre><dtml-var expr="str(errors)" html_quote></pre>
+    </td>
+  </tr>
+</dtml-if>
+
+<dtml-with keyword_args mapping>
+  <tr>
+    <td align="left" valign="top" colspan="2">
+  <div style="width: 100%;">
+  <dtml-let cols="REQUEST.get('dtpref_cols', '100%')"
+            rows="REQUEST.get('dtpref_rows', '20')">
+  <dtml-if "cols[-1]=='%'">
+  <textarea name="text:text" wrap="off" style="width: &dtml-cols;;"
+  <dtml-else>
+  <textarea name="text:text" wrap="off" cols="&dtml-cols;"
+  </dtml-if>
+            rows="&dtml-rows;"><dtml-var "getExtensionText(class_id)"></textarea>
+  </dtml-let>
+  </div>
+    </td>
+  </tr>
+</dtml-with>
+
+<tr>
+  <td>
+    <div class="form-element">
+<input class="form-element" type="hidden" name="class_id:string" value="<dtml-var class_id>">
+<input class="form-element" type="submit" value="Save" name="editExtension:method">
+&nbsp;&nbsp;
+<input class="form-element" type="submit" name="height" value="Taller">
+<input class="form-element" type="submit" name="height" value="Shorter">
+<input class="form-element" type="submit" name="width" value="Wider">
+<input class="form-element" type="submit" name="width"
+       value="Narrower">
+    </div>
+  </td>
+</tr>
+</table>
 </form>
 
 <dtml-var manage_page_footer>
+
diff --git a/product/ERP5Type/dtml/editPropertySheetForm.dtml b/product/ERP5Type/dtml/editPropertySheetForm.dtml
index c2af60b883..c6ba392a43 100644
--- a/product/ERP5Type/dtml/editPropertySheetForm.dtml
+++ b/product/ERP5Type/dtml/editPropertySheetForm.dtml
@@ -3,11 +3,51 @@
 
 <h2>Edit Property Sheet Class: <dtml-var class_id></h2>
 <form method="POST" action="<dtml-var absolute_url>">
-<textarea name="text:text" rows="20" cols="82"><dtml-var "getPropertySheetText(class_id)"></textarea>
-<br>
-<input type="hidden" name="class_id:string" value="<dtml-var class_id>">
-<input type="submit" value="Save" name="editPropertySheet:method">
-<input type="submit" value="Reload" name="importPropertySheet:method">
+<input type="hidden" name=":default_method" value="changePropertySheetEditingPreferences">
+<table width="100%" cellspacing="0" cellpadding="2" border="0">
+
+<dtml-if errors>
+  <tr>
+    <td align="left" valign="middle" class="form-label">Errors</td>
+    <td align="left" valign="middle" style="background-color: #FFDDDD">
+      <pre><dtml-var expr="str(errors)" html_quote></pre>
+    </td>
+  </tr>
+</dtml-if>
+
+<dtml-with keyword_args mapping>
+  <tr>
+    <td align="left" valign="top" colspan="2">
+  <div style="width: 100%;">
+  <dtml-let cols="REQUEST.get('dtpref_cols', '100%')"
+            rows="REQUEST.get('dtpref_rows', '20')">
+  <dtml-if "cols[-1]=='%'">
+  <textarea name="text:text" wrap="off" style="width: &dtml-cols;;"
+  <dtml-else>
+  <textarea name="text:text" wrap="off" cols="&dtml-cols;"
+  </dtml-if>
+            rows="&dtml-rows;"><dtml-var "getPropertySheetText(class_id)"></textarea>
+  </dtml-let>
+  </div>
+    </td>
+  </tr>
+</dtml-with>
+
+<tr>
+  <td>
+    <div class="form-element">
+<input class="form-element" type="hidden" name="class_id:string" value="<dtml-var class_id>">
+<input class="form-element" type="submit" value="Save" name="editPropertySheet:method">
+<input class="form-element" type="submit" value="Reload" name="importPropertySheet:method">
+&nbsp;&nbsp;
+<input class="form-element" type="submit" name="height" value="Taller">
+<input class="form-element" type="submit" name="height" value="Shorter">
+<input class="form-element" type="submit" name="width" value="Wider">
+<input class="form-element" type="submit" name="width" value="Narrower">
+    </div>
+  </td>
+</tr>
+</table>
 </form>
 
 <dtml-var manage_page_footer>
diff --git a/product/ERP5Type/dtml/editTestForm.dtml b/product/ERP5Type/dtml/editTestForm.dtml
index 6f291b3253..93e8af5e07 100644
--- a/product/ERP5Type/dtml/editTestForm.dtml
+++ b/product/ERP5Type/dtml/editTestForm.dtml
@@ -3,10 +3,50 @@
 
 <h2>Edit Test Class: <dtml-var class_id></h2>
 <form method="POST" action="<dtml-var absolute_url>">
-<textarea name="text:text" rows="20" cols="82"><dtml-var "getTestText(class_id)"></textarea>
-<br>
-<input type="hidden" name="class_id:string" value="<dtml-var class_id>">
-<input type="submit" value="Save" name="editTest:method">
+<input type="hidden" name=":default_method" value="changeTestEditingPreferences">
+<table width="100%" cellspacing="0" cellpadding="2" border="0">
+
+<dtml-if errors>
+  <tr>
+    <td align="left" valign="middle" class="form-label">Errors</td>
+    <td align="left" valign="middle" style="background-color: #FFDDDD">
+      <pre><dtml-var expr="str(errors)" html_quote></pre>
+    </td>
+  </tr>
+</dtml-if>
+
+<dtml-with keyword_args mapping>
+  <tr>
+    <td align="left" valign="top" colspan="2">
+  <div style="width: 100%;">
+  <dtml-let cols="REQUEST.get('dtpref_cols', '100%')"
+            rows="REQUEST.get('dtpref_rows', '20')">
+  <dtml-if "cols[-1]=='%'">
+  <textarea name="text:text" wrap="off" style="width: &dtml-cols;;"
+  <dtml-else>
+  <textarea name="text:text" wrap="off" cols="&dtml-cols;"
+  </dtml-if>
+            rows="&dtml-rows;"><dtml-var "getTestText(class_id)"></textarea>
+  </dtml-let>
+  </div>
+    </td>
+  </tr>
+</dtml-with>
+
+<tr>
+  <td>
+    <div class="form-element">
+<input class="form-element" type="hidden" name="class_id:string" value="<dtml-var class_id>">
+<input class="form-element" type="submit" value="Save" name="editTest:method">
+&nbsp;&nbsp;
+<input class="form-element" type="submit" name="height" value="Taller">
+<input class="form-element" type="submit" name="height" value="Shorter">
+<input class="form-element" type="submit" name="width" value="Wider">
+<input class="form-element" type="submit" name="width" value="Narrower">
+    </div>
+  </td>
+</tr>
+</table>
 </form>
 
 <dtml-var manage_page_footer>
-- 
2.30.9


From 34b42404259f212ede71ed312abc7f7c04652586 Mon Sep 17 00:00:00 2001
From: Ivan Tyagov <ivan@nexedi.com>
Date: Wed, 21 Jul 2010 06:42:32 +0000
Subject: [PATCH 051/270] Add test for performance for conversion of large
 OOoDocument to an image.

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@37207 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 product/ERP5OOo/tests/testDms.py | 22 ++++++++++++++++++++++
 1 file changed, 22 insertions(+)

diff --git a/product/ERP5OOo/tests/testDms.py b/product/ERP5OOo/tests/testDms.py
index bd36e79d8e..f1c2c1ae5c 100644
--- a/product/ERP5OOo/tests/testDms.py
+++ b/product/ERP5OOo/tests/testDms.py
@@ -2117,11 +2117,33 @@ class TestDocumentWithSecurity(TestDocumentMixin):
     self.assertEqual((user_pref.getPreferredThumbnailImageWidth(),
                     user_pref.getPreferredThumbnailImageHeight()),
                      image.getSizeFromImageDisplay('thumbnail'))
+
+class TestDocumentPerformance(TestDocumentMixin):
+
+  def test_01_LargeOOoDocumentToImageConversion(self):
+    """
+      Test large OOoDocument to image conversion
+    """
+    ooo_document = self.portal.document_module.newContent(portal_type='Spreadsheet')
+    upload_file = makeFileUpload('import_big_spreadsheet.ods')
+    ooo_document.edit(file=upload_file)
+    self.stepTic()
+    before = time.time()
+    # converting any OOoDocument -> PDF -> Image
+    # make sure that this can happen in less tan XXX seconds i.e. code doing convert
+    # uses only first PDF frame (not entire PDF) to make an image - i.e.optimized enough to not kill 
+    # entire system performance by doing extensive calculations over entire PDF (see r37102-37103)
+    ooo_document.convert(format='png')
+    after = time.time()
+    req_time = (after - before)
+    # we should have image converted in less than 20s
+    self.assertTrue(req_time < 20.0)
     
 def test_suite():
   suite = unittest.TestSuite()
   suite.addTest(unittest.makeSuite(TestDocument))
   suite.addTest(unittest.makeSuite(TestDocumentWithSecurity))
+  suite.addTest(unittest.makeSuite(TestDocumentPerformance))
   return suite
 
 
-- 
2.30.9


From e6422ba6858ec6f1cfdf9ef4e64b1f526703f3f2 Mon Sep 17 00:00:00 2001
From: Ivan Tyagov <ivan@nexedi.com>
Date: Wed, 21 Jul 2010 07:11:11 +0000
Subject: [PATCH 052/270] Clean up logging.

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@37208 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 product/ERP5OOo/tests/testDms.py | 25 -------------------------
 1 file changed, 25 deletions(-)

diff --git a/product/ERP5OOo/tests/testDms.py b/product/ERP5OOo/tests/testDms.py
index f1c2c1ae5c..d2438f184a 100644
--- a/product/ERP5OOo/tests/testDms.py
+++ b/product/ERP5OOo/tests/testDms.py
@@ -78,19 +78,6 @@ TEST_FILES_HOME = os.path.join(os.path.dirname(__file__), 'test_document')
 FILE_NAME_REGULAR_EXPRESSION = "(?P<reference>[A-Z]{3,10})-(?P<language>[a-z]{2})-(?P<version>[0-9]{3})"
 REFERENCE_REGULAR_EXPRESSION = "(?P<reference>[A-Z]{3,10})(-(?P<language>[a-z]{2}))?(-(?P<version>[0-9]{3}))?"
 
-
-def printAndLog(msg):
-  """
-  A utility function to print a message
-  to the standard output and to the LOG
-  at the same time
-  """
-  if not QUIET:
-    msg = str(msg)
-    ZopeTestCase._print('\n ' + msg)
-    LOG('Testing... ', 0, msg)
-
-
 def makeFilePath(name):
   return os.path.join(os.path.dirname(__file__), 'test_document', name)
 
@@ -235,7 +222,6 @@ class TestDocument(TestDocumentMixin):
     """
       Standard test to make sure we have everything we need - all the tools etc
     """
-    printAndLog('\nTest Has Everything ')
     self.assertNotEqual(self.getCategoryTool(), None)
     self.assertNotEqual(self.getSimulationTool(), None)
     self.assertNotEqual(self.getTypeTool(), None)
@@ -247,7 +233,6 @@ class TestDocument(TestDocumentMixin):
     """
       Test revision mechanism
     """
-    printAndLog('\nTest Revision System')
     # create a test document
     # revision should be 1
     # upload file (can be the same) into it
@@ -284,7 +269,6 @@ class TestDocument(TestDocumentMixin):
     """
       Test versioning
     """
-    printAndLog('\nTest Versioning System')
     # create a document 1, set coordinates (reference=TEST, version=002, language=en)
     # create a document 2, set coordinates (reference=TEST, version=002, language=en)
     # create a document 3, set coordinates (reference=TEST, version=004, language=en)
@@ -320,7 +304,6 @@ class TestDocument(TestDocumentMixin):
     """
       Test versioning with multi-language support
     """
-    printAndLog('\nTest Versioning With Language')
     # create empty test documents, set their coordinates as follows:
     # (1) TEST, 002, en
     # (2) TEST, 002, fr
@@ -378,8 +361,6 @@ class TestDocument(TestDocumentMixin):
       Explicit relations are just like any other relation, so no need to test them here
       except for similarity cloud which we test.
     """
-
-    printAndLog('\nTest Explicit Relations')
     # create test documents:
     # (1) TEST, 002, en
     # (2) TEST, 003, en
@@ -482,7 +463,6 @@ class TestDocument(TestDocumentMixin):
     def sqlresult_to_document_list(result):
       return [i.getObject() for i in result]
 
-    printAndLog('\nTest Implicit Relations')
     # create docs to be referenced:
     # (1) TEST, 002, en
     filename = 'TEST-en-002.odt'
@@ -527,7 +507,6 @@ class TestDocument(TestDocumentMixin):
 
     transaction.commit()
     self.tic()
-    printAndLog('\nTesting Implicit Predecessors')
     # the implicit predecessor will find documents by reference.
     # version and language are not used.
     # the implicit predecessors should be:
@@ -542,7 +521,6 @@ class TestDocument(TestDocumentMixin):
     # clear transactional variable cache
     transaction.commit()
 
-    printAndLog('\nTesting Implicit Successors')
     # the implicit successors should be return document with appropriate
     # language.
 
@@ -682,7 +660,6 @@ class TestDocument(TestDocumentMixin):
     Check that the processing state of a cloned document
     is not draft
     """
-    printAndLog('\nProcessing State of a Cloned Document')
     filename = 'TEST-en-002.doc'
     file = makeFileUpload(filename)
     document = self.portal.portal_contributions.newContent(file=file)
@@ -723,7 +700,6 @@ class TestDocument(TestDocumentMixin):
     Check the validation state of embedded document when its container is
     cloned
     """
-    printAndLog('\nValidation State of a Cloned Document')
     filename = 'TEST-en-002.doc'
     file = makeFileUpload(filename)
     document = self.portal.portal_contributions.newContent(file=file)
@@ -753,7 +729,6 @@ class TestDocument(TestDocumentMixin):
     """
     Check the validation state of an embedded document
     """
-    printAndLog('\nValidation State of an Embedded Document')
     filename = 'EmbeddedImage-en-002.odt'
     file = makeFileUpload(filename)
     document = self.portal.portal_contributions.newContent(file=file)
-- 
2.30.9


From d29b792a02140f5e5f24e8dca7a84ddb041f2e8f Mon Sep 17 00:00:00 2001
From: Ivan Tyagov <ivan@nexedi.com>
Date: Wed, 21 Jul 2010 07:33:08 +0000
Subject: [PATCH 053/270] Add preferred_image_quality preference.

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@37209 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 product/ERP5/PropertySheet/HtmlStylePreference.py | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/product/ERP5/PropertySheet/HtmlStylePreference.py b/product/ERP5/PropertySheet/HtmlStylePreference.py
index 9ace1e826d..a273a85dc6 100644
--- a/product/ERP5/PropertySheet/HtmlStylePreference.py
+++ b/product/ERP5/PropertySheet/HtmlStylePreference.py
@@ -226,4 +226,10 @@ class HtmlStylePreference:
       'preference'  : 1,
       'default'     : 'large',
       'mode'        : 'w' },
+    { 'id'          : 'preferred_image_quality',
+      'description' : 'Preferred image quality.',
+      'type'        : 'float',
+      'preference'  : 1,
+      'default'     : 75.0,
+      'mode'        : 'w' },
 )
-- 
2.30.9


From ef9bed359e45adc7cc23a907c48aaef83ee864f6 Mon Sep 17 00:00:00 2001
From: Ivan Tyagov <ivan@nexedi.com>
Date: Wed, 21 Jul 2010 07:40:44 +0000
Subject: [PATCH 054/270] Make it possible to edit default image quality
 preference.

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@37210 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 .../erp5_core/Preference_viewHtmlStyle.xml    |  1 +
 .../my_preferred_image_quality.xml            | 99 +++++++++++++++++++
 product/ERP5/bootstrap/erp5_core/bt/revision  |  2 +-
 3 files changed, 101 insertions(+), 1 deletion(-)
 create mode 100644 product/ERP5/bootstrap/erp5_core/SkinTemplateItem/portal_skins/erp5_core/Preference_viewHtmlStyle/my_preferred_image_quality.xml

diff --git a/product/ERP5/bootstrap/erp5_core/SkinTemplateItem/portal_skins/erp5_core/Preference_viewHtmlStyle.xml b/product/ERP5/bootstrap/erp5_core/SkinTemplateItem/portal_skins/erp5_core/Preference_viewHtmlStyle.xml
index 886929092d..88570d41a0 100644
--- a/product/ERP5/bootstrap/erp5_core/SkinTemplateItem/portal_skins/erp5_core/Preference_viewHtmlStyle.xml
+++ b/product/ERP5/bootstrap/erp5_core/SkinTemplateItem/portal_skins/erp5_core/Preference_viewHtmlStyle.xml
@@ -109,6 +109,7 @@
                         <string>my_preferred_report_format</string>
                         <string>my_preferred_image_format</string>
                         <string>my_preferred_image_size</string>
+                        <string>my_preferred_image_quality</string>
                         <string>my_preferred_nano_image_height</string>
                         <string>my_preferred_nano_image_width</string>
                         <string>my_preferred_micro_image_height</string>
diff --git a/product/ERP5/bootstrap/erp5_core/SkinTemplateItem/portal_skins/erp5_core/Preference_viewHtmlStyle/my_preferred_image_quality.xml b/product/ERP5/bootstrap/erp5_core/SkinTemplateItem/portal_skins/erp5_core/Preference_viewHtmlStyle/my_preferred_image_quality.xml
new file mode 100644
index 0000000000..66275025f6
--- /dev/null
+++ b/product/ERP5/bootstrap/erp5_core/SkinTemplateItem/portal_skins/erp5_core/Preference_viewHtmlStyle/my_preferred_image_quality.xml
@@ -0,0 +1,99 @@
+<?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>title</string>
+              </list>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>my_preferred_image_quality</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>field_id</string> </key>
+                    <value> <string>my_float_field</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>Preferred image quality</string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/product/ERP5/bootstrap/erp5_core/bt/revision b/product/ERP5/bootstrap/erp5_core/bt/revision
index 6e239b0242..bf6edd4ec8 100644
--- a/product/ERP5/bootstrap/erp5_core/bt/revision
+++ b/product/ERP5/bootstrap/erp5_core/bt/revision
@@ -1 +1 @@
-1633
\ No newline at end of file
+1634
\ No newline at end of file
-- 
2.30.9


From 46623fe0034c85afd294d4cd6b3c4763edf2e964 Mon Sep 17 00:00:00 2001
From: Ivan Tyagov <ivan@nexedi.com>
Date: Wed, 21 Jul 2010 07:55:09 +0000
Subject: [PATCH 055/270] Unhard code default image quality and make it
 possible to specify in preferences. Fall back to constant value as before if
 preference is not specified.

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@37212 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 product/ERP5/Document/Document.py |  4 ++--
 product/ERP5/Document/Image.py    | 27 ++++++++++++++++++++-------
 2 files changed, 22 insertions(+), 9 deletions(-)

diff --git a/product/ERP5/Document/Document.py b/product/ERP5/Document/Document.py
index c415693415..e0db815534 100644
--- a/product/ERP5/Document/Document.py
+++ b/product/ERP5/Document/Document.py
@@ -77,8 +77,8 @@ VALID_IMAGE_FORMAT_LIST = ('jpg', 'jpeg', 'png', 'gif', 'pnm', 'ppm', 'tiff')
 DEFAULT_DISPLAY_ID_LIST = ('nano', 'micro', 'thumbnail',
                             'xsmall', 'small', 'medium',
                             'large', 'large', 'xlarge',)
-
-DEFAULT_QUALITY = 75
+# default image quality
+DEFAULT_IMAGE_QUALITY = 75
 
 DEFAULT_CONTENT_TYPE = 'text/html'
 
diff --git a/product/ERP5/Document/Image.py b/product/ERP5/Document/Image.py
index b3edddb27b..a49c0a5843 100644
--- a/product/ERP5/Document/Image.py
+++ b/product/ERP5/Document/Image.py
@@ -44,7 +44,7 @@ from Products.ERP5Type import Permissions, PropertySheet
 from Products.ERP5Type.Utils import fill_args_from_request
 from Products.ERP5.Document.File import File
 from Products.ERP5.Document.Document import Document, ConversionError,\
-                     VALID_TEXT_FORMAT_LIST, DEFAULT_DISPLAY_ID_LIST, DEFAULT_QUALITY, _MARKER
+                     VALID_TEXT_FORMAT_LIST, DEFAULT_DISPLAY_ID_LIST, DEFAULT_IMAGE_QUALITY, _MARKER
 from os.path import splitext
 from OFS.Image import Image as OFSImage
 from OFS.Image import getImageInfo
@@ -185,7 +185,7 @@ class Image(TextConvertableMixin, File, OFSImage):
 
   security.declareProtected(Permissions.View, 'tag')
   def tag(self, display=None, height=None, width=None, cookie=0,
-                alt=None, css_class=None, format=None, quality=DEFAULT_QUALITY,
+                alt=None, css_class=None, format=None, quality=None,
                 resolution=None, frame=None, **kw):
     """Return HTML img tag."""
     self._upradeImage()
@@ -193,7 +193,8 @@ class Image(TextConvertableMixin, File, OFSImage):
     # Get cookie if display is not specified.
     if display is None:
       display = self.REQUEST.cookies.get('display', None)
-
+    if quality is None:
+      quality = self.getDefaultImageQuality(format)
     # display may be set from a cookie.
     image_size = self.getSizeFromImageDisplay(display)
     convert_kw = dict(format=format, quality=quality, resolution=resolution,
@@ -268,10 +269,12 @@ class Image(TextConvertableMixin, File, OFSImage):
     return links
 
   security.declareProtected(Permissions.AccessContentsInformation, 'displayMap')
-  def displayMap(self, exclude=None, format=None, quality=DEFAULT_QUALITY,\
+  def displayMap(self, exclude=None, format=None, quality=None,\
                                                               resolution=None):
     """Return list of displays with size info."""
     displays = []
+    if quality is None:
+      quality = self.getDefaultImageQuality(format)
     for id in self.displayIds(exclude):
       if self._isGenerated(id, format=format, quality=quality,\
                                                         resolution=resolution):
@@ -331,7 +334,7 @@ class Image(TextConvertableMixin, File, OFSImage):
     image_size = self.getSizeFromImageDisplay(kw.get('display'))
     # store all keys usefull to convert or resize an image
     # 'display' parameter can be discarded
-    convert_kw = {'quality': kw.get('quality', DEFAULT_QUALITY),
+    convert_kw = {'quality': kw.get('quality', self.getDefaultImageQuality(format)),
                   'resolution': kw.get('resolution'),
                   'frame': kw.get('frame'),
                   'image_size': image_size,
@@ -406,15 +409,17 @@ class Image(TextConvertableMixin, File, OFSImage):
     """Return raw photo data for given display."""
     width, height = self._getAspectRatioSize(*image_size)
     if ((width, height) == image_size or (width, height) == (0, 0))\
-       and quality == DEFAULT_QUALITY and resolution is None and frame is None\
+       and quality == self.getDefaultImageQuality(format) and resolution is None and frame is None\
        and not format:
       # No resizing, no conversion, return raw image
       return self.getData()
     return self._resize(quality, width, height, format, resolution, frame)
 
-  def _makeDisplayPhoto(self, format=None, quality=DEFAULT_QUALITY,
+  def _makeDisplayPhoto(self, format=None, quality=None,
                                  resolution=None, frame=None, image_size=None):
     """Create given display."""
+    if quality is None:
+      quality = self.getDefaultImageQuality(format)
     width, height = image_size
     base, ext = splitext(self.id)
     id = '%s_%s_%s.%s'% (base, width, height, ext,)
@@ -470,3 +475,11 @@ class Image(TextConvertableMixin, File, OFSImage):
     """
     File.PUT(self, REQUEST, RESPONSE)
     self._update_image_info()
+
+  def getDefaultImageQuality(self, format=None):
+    """
+    Get default image quality for a format.
+    """
+    preference_tool = self.getPortalObject().portal_preferences
+    quality = preference_tool.getPreference('preferred_image_quality', DEFAULT_IMAGE_QUALITY)
+    return quality
-- 
2.30.9


From e6031c9500c1b177895a191ce6750a51733814a8 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C5=81ukasz=20Nowak?= <luke@nexedi.com>
Date: Wed, 21 Jul 2010 08:21:35 +0000
Subject: [PATCH 056/270]  - fix issue with zope.interfaces and PluginRegistry
 which already made commit war

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@37213 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 buildout/profiles/versions.cfg | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/buildout/profiles/versions.cfg b/buildout/profiles/versions.cfg
index c8fa2335ea..299abdd68c 100644
--- a/buildout/profiles/versions.cfg
+++ b/buildout/profiles/versions.cfg
@@ -15,3 +15,10 @@ rdiff-backup = 1.0.5
 erp5_products_revision =
 erp5_bt5_revision = ${:erp5_products_revision}
 lxml = 2.2.6
+# pin zope.interface to 3.3.0
+# newer versions does not work with PluginRegistry 1.0
+# but PluginRegistry 1.1.2 genreates issues in ERP5
+# ref:
+#   http://svn.erp5.org/?view=revision&revision=36104
+#   http://svn.erp5.org/?view=revision&revision=36329
+zope.interface = 3.3.0
-- 
2.30.9


From 58d7b33061a5bd4414c3c930d4c88bc329411190 Mon Sep 17 00:00:00 2001
From: Ivan Tyagov <ivan@nexedi.com>
Date: Wed, 21 Jul 2010 09:10:42 +0000
Subject: [PATCH 057/270] Use _MARKER instead of None to allow explicitly
 quality to be determined by background convet application (if required).

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@37214 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 product/ERP5/Document/Image.py | 17 ++++++++++-------
 1 file changed, 10 insertions(+), 7 deletions(-)

diff --git a/product/ERP5/Document/Image.py b/product/ERP5/Document/Image.py
index a49c0a5843..f83d95595e 100644
--- a/product/ERP5/Document/Image.py
+++ b/product/ERP5/Document/Image.py
@@ -185,7 +185,7 @@ class Image(TextConvertableMixin, File, OFSImage):
 
   security.declareProtected(Permissions.View, 'tag')
   def tag(self, display=None, height=None, width=None, cookie=0,
-                alt=None, css_class=None, format=None, quality=None,
+                alt=None, css_class=None, format=None, quality=_MARKER,
                 resolution=None, frame=None, **kw):
     """Return HTML img tag."""
     self._upradeImage()
@@ -193,7 +193,7 @@ class Image(TextConvertableMixin, File, OFSImage):
     # Get cookie if display is not specified.
     if display is None:
       display = self.REQUEST.cookies.get('display', None)
-    if quality is None:
+    if quality is _MARKER:
       quality = self.getDefaultImageQuality(format)
     # display may be set from a cookie.
     image_size = self.getSizeFromImageDisplay(display)
@@ -269,11 +269,11 @@ class Image(TextConvertableMixin, File, OFSImage):
     return links
 
   security.declareProtected(Permissions.AccessContentsInformation, 'displayMap')
-  def displayMap(self, exclude=None, format=None, quality=None,\
+  def displayMap(self, exclude=None, format=None, quality=_MARKER,\
                                                               resolution=None):
     """Return list of displays with size info."""
     displays = []
-    if quality is None:
+    if quality is _MARKER:
       quality = self.getDefaultImageQuality(format)
     for id in self.displayIds(exclude):
       if self._isGenerated(id, format=format, quality=quality,\
@@ -334,7 +334,10 @@ class Image(TextConvertableMixin, File, OFSImage):
     image_size = self.getSizeFromImageDisplay(kw.get('display'))
     # store all keys usefull to convert or resize an image
     # 'display' parameter can be discarded
-    convert_kw = {'quality': kw.get('quality', self.getDefaultImageQuality(format)),
+    quality = kw.get('quality', _MARKER)
+    if quality is _MARKER:
+      quality = self.getDefaultImageQuality(format)
+    convert_kw = {'quality': quality,
                   'resolution': kw.get('resolution'),
                   'frame': kw.get('frame'),
                   'image_size': image_size,
@@ -415,10 +418,10 @@ class Image(TextConvertableMixin, File, OFSImage):
       return self.getData()
     return self._resize(quality, width, height, format, resolution, frame)
 
-  def _makeDisplayPhoto(self, format=None, quality=None,
+  def _makeDisplayPhoto(self, format=None, quality=_MARKER,
                                  resolution=None, frame=None, image_size=None):
     """Create given display."""
-    if quality is None:
+    if quality is _MARKER:
       quality = self.getDefaultImageQuality(format)
     width, height = image_size
     base, ext = splitext(self.id)
-- 
2.30.9


From 6c7852d74753affa4f8cbf7d76775b87a5c2ce68 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?J=C3=A9rome=20Perrin?= <jerome@nexedi.com>
Date: Wed, 21 Jul 2010 13:00:34 +0000
Subject: [PATCH 058/270] support group_by paremeters for category and category
 strict memberships

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@37215 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 product/ERP5/Tool/SimulationTool.py | 43 +++++++++++++++++++++++++++++
 1 file changed, 43 insertions(+)

diff --git a/product/ERP5/Tool/SimulationTool.py b/product/ERP5/Tool/SimulationTool.py
index a181c1c271..f086dcc982 100644
--- a/product/ERP5/Tool/SimulationTool.py
+++ b/product/ERP5/Tool/SimulationTool.py
@@ -552,18 +552,30 @@ class SimulationTool(BaseTool):
         omit_output=0,
         # group by
         group_by_node=0,
+        group_by_node_category=0,
+        group_by_node_category_strict_membership=0,
         group_by_mirror_node=0,
+        group_by_mirror_node_category=0,
+        group_by_mirror_node_category_strict_membership=0,
         group_by_section=0,
         group_by_section_category=0,
         group_by_section_category_strict_membership=0,
         group_by_mirror_section=0,
+        group_by_mirror_section_category=0,
+        group_by_mirror_section_category_strict_membership=0,
         group_by_payment=0,
+        group_by_payment_category=0,
+        group_by_payment_category_strict_membership=0,
         group_by_sub_variation=0,
         group_by_variation=0,
         group_by_movement=0,
         group_by_resource=0,
         group_by_project=0,
+        group_by_project_category=0,
+        group_by_project_category_strict_membership=0,
         group_by_function=0,
+        group_by_function_category=0,
+        group_by_function_category_strict_membership=0,
         group_by_date=0,
         # sort_on
         sort_on=None,
@@ -768,6 +780,37 @@ class SimulationTool(BaseTool):
       if group_by_section_category_strict_membership:
         related_key_group_by_expression_list.append(
             'section_category_strict_membership_uid')
+      if group_by_mirror_section_category:
+        related_key_group_by_expression_list.append('mirror_section_category_uid')
+      if group_by_mirror_section_category_strict_membership:
+        related_key_group_by_expression_list.append(
+            'mirror_section_category_strict_membership_uid')
+      if group_by_node_category:
+        related_key_group_by_expression_list.append('node_category_uid')
+      if group_by_node_category_strict_membership:
+        related_key_group_by_expression_list.append(
+            'node_category_strict_membership_uid')
+      if group_by_mirror_node_category:
+        related_key_group_by_expression_list.append('mirror_node_category_uid')
+      if group_by_mirror_node_category_strict_membership:
+        related_key_group_by_expression_list.append(
+            'mirror_node_category_strict_membership_uid')
+      if group_by_payment_category:
+        related_key_group_by_expression_list.append('payment_category_uid')
+      if group_by_payment_category_strict_membership:
+        related_key_group_by_expression_list.append(
+            'payment_category_strict_membership_uid')
+      if group_by_function_category:
+        related_key_group_by_expression_list.append('function_category_uid')
+      if group_by_function_category_strict_membership:
+        related_key_group_by_expression_list.append(
+            'function_category_strict_membership_uid')
+      if group_by_function_category:
+        related_key_group_by_expression_list.append('function_category_uid')
+      if group_by_function_category_strict_membership:
+        related_key_group_by_expression_list.append(
+            'function_category_strict_membership_uid')
+
       if related_key_group_by_expression_list:
         new_kw['related_key_group_by'] = related_key_group_by_expression_list
 
-- 
2.30.9


From 437481dc6d19cdfd91063fa92f2d7e53cc1460ed Mon Sep 17 00:00:00 2001
From: Ivan Tyagov <ivan@nexedi.com>
Date: Wed, 21 Jul 2010 13:14:23 +0000
Subject: [PATCH 059/270] Make it a global method so it can be used by
 OOoDocument (work in progress).

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@37216 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 product/ERP5/Document/Image.py | 9 ++++++---
 1 file changed, 6 insertions(+), 3 deletions(-)

diff --git a/product/ERP5/Document/Image.py b/product/ERP5/Document/Image.py
index f83d95595e..6bf382d505 100644
--- a/product/ERP5/Document/Image.py
+++ b/product/ERP5/Document/Image.py
@@ -54,6 +54,10 @@ from zLOG import LOG, WARNING
 from Products.ERP5.mixin.text_convertable import TextConvertableMixin
 from Products.CMFCore.utils import getToolByName
 
+def getDefaultImageQuality(portal, format=None):
+  preference_tool = portal.portal_preferences
+  return preference_tool.getPreference('preferred_image_quality', DEFAULT_IMAGE_QUALITY)
+
 class Image(TextConvertableMixin, File, OFSImage):
   """
     An Image is a File which contains image data. It supports
@@ -337,6 +341,7 @@ class Image(TextConvertableMixin, File, OFSImage):
     quality = kw.get('quality', _MARKER)
     if quality is _MARKER:
       quality = self.getDefaultImageQuality(format)
+    #print "image._convert", kw, quality, self.getRelativeUrl(), self.getPortalType()
     convert_kw = {'quality': quality,
                   'resolution': kw.get('resolution'),
                   'frame': kw.get('frame'),
@@ -483,6 +488,4 @@ class Image(TextConvertableMixin, File, OFSImage):
     """
     Get default image quality for a format.
     """
-    preference_tool = self.getPortalObject().portal_preferences
-    quality = preference_tool.getPreference('preferred_image_quality', DEFAULT_IMAGE_QUALITY)
-    return quality
+    return getDefaultImageQuality(self.getPortalObject(), format)
-- 
2.30.9


From 42eb2b36555a4e97fdae9d5ababd177a706a2bef Mon Sep 17 00:00:00 2001
From: Ivan Tyagov <ivan@nexedi.com>
Date: Wed, 21 Jul 2010 13:16:12 +0000
Subject: [PATCH 060/270] OOoDocument can use quality now. Add tests for using
 quality with various DMS types.

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@37217 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 product/ERP5OOo/Document/OOoDocument.py | 22 +++++++++-------
 product/ERP5OOo/tests/testDms.py        | 35 ++++++++++++++++++++-----
 2 files changed, 42 insertions(+), 15 deletions(-)

diff --git a/product/ERP5OOo/Document/OOoDocument.py b/product/ERP5OOo/Document/OOoDocument.py
index ea8f75c3ac..3c0359fbf7 100644
--- a/product/ERP5OOo/Document/OOoDocument.py
+++ b/product/ERP5OOo/Document/OOoDocument.py
@@ -45,8 +45,9 @@ from Products.CMFCore.utils import getToolByName, _setCacheHeaders,\
 from Products.ERP5Type import Permissions, PropertySheet, Constraint
 from Products.ERP5Type.Cache import CachingMethod
 from Products.ERP5.Document.File import File
-from Products.ERP5.Document.Document import Document,\
-VALID_IMAGE_FORMAT_LIST, ConversionError, NotConvertedError
+from Products.ERP5.Document.Document import Document, \
+       VALID_IMAGE_FORMAT_LIST, ConversionError, NotConvertedError
+from Products.ERP5.Document.Image import getDefaultImageQuality
 from AccessControl.SecurityManagement import setSecurityManager
 from Products.ERP5Type.Utils import fill_args_from_request
 from zLOG import LOG, ERROR
@@ -92,7 +93,7 @@ class TimeoutTransport(SafeTransport):
 
 
 class OOoDocument(OOoDocumentExtensibleTraversableMixin, BaseConvertableFileMixin, File,
-                                               TextConvertableMixin, Document):
+                  TextConvertableMixin, Document):
   """
     A file document able to convert OOo compatible files to
     any OOo supported format, to capture metadata and to
@@ -281,7 +282,7 @@ class OOoDocument(OOoDocumentExtensibleTraversableMixin, BaseConvertableFileMixi
     return response_dict['mime'], Pdata(dec(response_dict['data']))
 
   # Conversion API
-  def _convert(self, format, display=None, **kw):
+  def _convert(self, format, display=None, quality=_MARKER, **kw):
     """Convert the document to the given format.
 
     If a conversion is already stored for this format, it is returned
@@ -340,6 +341,9 @@ class OOoDocument(OOoDocumentExtensibleTraversableMixin, BaseConvertableFileMixi
     # Raise an error if the format is not supported
     if not self.isTargetFormatAllowed(format):
       raise ConversionError("OOoDocument: target format %s is not supported" % format)
+    if quality is _MARKER:
+      # we need to determine quality before image conversion happens due to cache
+      quality = getDefaultImageQuality(self.getPortalObject(), format)
     # Return converted file
     if requires_pdf_first:
       # We should use original_format whenever we wish to
@@ -348,7 +352,7 @@ class OOoDocument(OOoDocumentExtensibleTraversableMixin, BaseConvertableFileMixi
       if display is None:
         has_format = self.hasConversion(format=original_format)
       else:
-        has_format = self.hasConversion(format=original_format, display=display)
+        has_format = self.hasConversion(format=original_format, display=display, quality=quality)
     elif display is None or original_format not in VALID_IMAGE_FORMAT_LIST:
       has_format = self.hasConversion(format=original_format)
     else:
@@ -386,20 +390,20 @@ class OOoDocument(OOoDocumentExtensibleTraversableMixin, BaseConvertableFileMixi
                                        file_name=self.getId(),
                                        temp_object=1)
         temp_image._setData(data)
-        # we care for first page only
-        mime, data = temp_image.convert(original_format, display=display, frame=0, **kw)
+        # we care for first page only but as well for image quality
+        mime, data = temp_image.convert(original_format, display=display, frame=0, quality=quality, **kw)
         # store conversion
         if display is None:
           self.setConversion(data, mime, format=original_format)
         else:
-          self.setConversion(data, mime, format=original_format, display=display)
+          self.setConversion(data, mime, format=original_format, display=display, quality=quality)
 
     if requires_pdf_first:
       format = original_format
     if display is None or original_format not in VALID_IMAGE_FORMAT_LIST:
       return self.getConversion(format=original_format)
     else:
-      return self.getConversion(format=original_format, display=display)
+      return self.getConversion(format=original_format, display=display, quality=quality)
 
   security.declareProtected(Permissions.ModifyPortalContent,
                             '_populateConversionCacheWithHTML')
diff --git a/product/ERP5OOo/tests/testDms.py b/product/ERP5OOo/tests/testDms.py
index d2438f184a..a649240a30 100644
--- a/product/ERP5OOo/tests/testDms.py
+++ b/product/ERP5OOo/tests/testDms.py
@@ -1900,6 +1900,8 @@ return 1
     Test converting to image all Document portal types on traversal i.e.:
      - image_module/1?quality=100&display=xlarge&format=jpeg
      - document_module/1?quality=100&display=large&format=jpeg
+     - document_module/1?quality=10&display=large&format=jpeg
+     - document_module/1?display=large&format=jpeg
      - etc ...
     """
     # Create OOo document
@@ -1924,7 +1926,7 @@ return 1
       width = int(preference_tool.getPreference(width_preference))
       return (width, height)
 
-    def getURLSize(uri, **kw):
+    def getURLSizeList(uri, **kw):
       # __ac=RVJQNVR5cGVUZXN0Q2FzZTo%3D is encoded ERP5TypeTestCase with empty password
       url = '%s?%s&__ac=%s' %(uri, urllib.urlencode(kw), 'RVJQNVR5cGVUZXN0Q2FzZTo%3D')
       format=kw.get('format', 'jpeg')
@@ -1932,13 +1934,15 @@ return 1
       # save as file with proper incl. format filename (for some reasons PIL uses this info)
       filename = "%s%stest-image-format-resize.%s" %(os.getcwd(), os.sep, format)
       f = open(filename, "w")
-      f.write(infile.read())
+      image_data = infile.read()
+      f.write(image_data)
       f.close()
       infile.close()
+      file_size = len(image_data)
       image = Image.open(filename)
       image_size = image.size
       os.remove(filename)
-      return image_size
+      return image_size, file_size
 
     ooo_document_url = '%s/%s' %(self.portal.absolute_url(), ooo_document.getRelativeUrl())
     pdf_document_url = '%s/%s' %(self.portal.absolute_url(), pdf_document.getRelativeUrl())
@@ -1954,17 +1958,36 @@ return 1
         # so allow some tollerance which is produced by respective portal_transform command
 
         # any OOo based portal type
-        ooo_document_image_size = getURLSize(ooo_document_url, **convert_kw)
+        ooo_document_image_size, ooo_document_file_size = getURLSizeList(ooo_document_url, **convert_kw)
         self.assertTrue(max(preffered_size_for_display) - max(ooo_document_image_size) <= max_tollerance_px)
 
         # PDF
-        pdf_document_image_size = getURLSize(pdf_document_url, **convert_kw)
+        pdf_document_image_size, pdf_document_file_size = getURLSizeList(pdf_document_url, **convert_kw)
         self.assertTrue(max(preffered_size_for_display) - max(pdf_document_image_size) <= max_tollerance_px)
 
         # Image
-        image_document_image_size = getURLSize(image_document_url, **convert_kw)
+        image_document_image_size, image_document_file_size = getURLSizeList(image_document_url, **convert_kw)
         self.assertTrue(max(preffered_size_for_display) - max(image_document_image_size) <= max_tollerance_px)
 
+    # test changing image quality will decrease its file size
+    for url in (image_document_url, pdf_document_url, ooo_document_url):
+      convert_kw = {'display':'xlarge', \
+                    'format':'jpeg', \
+                    'quality':100}
+      image_document_image_size_100p,image_document_file_size_100p = getURLSizeList(url, **convert_kw)
+      # decrease in quality should decrease its file size
+      convert_kw['quality'] = 5.0
+      image_document_image_size_5p,image_document_file_size_5p = getURLSizeList(url, **convert_kw)
+      # removing quality should enable defaults settings which should be reasonable between 5% and 100%
+      del convert_kw['quality']
+      image_document_image_size_no_quality,image_document_file_size_no_quality = getURLSizeList(url, **convert_kw)
+      # check file sizes
+      self.assertTrue(image_document_file_size_100p > image_document_file_size_no_quality and \
+                      image_document_file_size_no_quality > image_document_file_size_5p)
+      # no matter of quality image sizes whould be the same
+      self.assertTrue(image_document_image_size_100p==image_document_image_size_5p and \
+                        image_document_image_size_5p==image_document_image_size_no_quality)
+
   def test_checkConversionFormatPermission(self):
     """
      Test various use cases when conversion can be not allowed
-- 
2.30.9


From a2fd7ad8fe18aeccc0e0b187ddaeab22d1fc8892 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?J=C3=A9rome=20Perrin?= <jerome@nexedi.com>
Date: Wed, 21 Jul 2010 14:33:08 +0000
Subject: [PATCH 061/270] honor property sheet's read_permission for preference
 tool accessors

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@37218 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 product/ERP5Form/PreferenceTool.py | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/product/ERP5Form/PreferenceTool.py b/product/ERP5Form/PreferenceTool.py
index a99245af0e..dac68c3703 100644
--- a/product/ERP5Form/PreferenceTool.py
+++ b/product/ERP5Form/PreferenceTool.py
@@ -30,6 +30,7 @@
 from AccessControl import ClassSecurityInfo
 from AccessControl.SecurityManagement import getSecurityManager,\
                           setSecurityManager, newSecurityManager
+from AccessControl.PermissionRole import  PermissionRole
 from MethodObject import Method
 from Products.ERP5Type.Globals import InitializeClass, DTMLFile
 from zLOG import LOG, PROBLEM
@@ -109,6 +110,10 @@ def createPreferenceToolAccessorList(portal) :
       for attribute_name in attr_list:
         method = PreferenceMethod(attribute_name, prop.get('default'))
         setattr(PreferenceTool, attribute_name, method)
+      read_permission = prop.get('read_permission')
+      if read_permission:
+        setattr(PreferenceTool, attribute_name + '__roles__',
+            PermissionRole(read_permission))
 
 
 class func_code: pass
-- 
2.30.9


From 6eee2db8e13a1cd072ae9aca83fd34bda636e075 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Aur=C3=A9lien=20Calonne?= <aurel@nexedi.com>
Date: Wed, 21 Jul 2010 14:34:49 +0000
Subject: [PATCH 062/270] to be more coherent, use getCurrentInventoryList in
 Inventory reindexation as in the way it was done before some simulation
 states and conditions were missing, so inventory was not using the real
 "current" value to do computation

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@37219 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 product/ERP5/Document/Inventory.py | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

diff --git a/product/ERP5/Document/Inventory.py b/product/ERP5/Document/Inventory.py
index 0a38c34b5a..44d2d52e67 100644
--- a/product/ERP5/Document/Inventory.py
+++ b/product/ERP5/Document/Inventory.py
@@ -154,12 +154,11 @@ class Inventory(Delivery):
 
     for inventory_calculation_dict in default_inventory_calculation_list:
 
-      # build a dict containing all inventory for this node 
+      # build a dict containing all inventory for this node
       # group by resource/variation and then subvariation
       current_inventory_list = \
-          self.getPortalObject().portal_simulation.getInventoryList(        
+          self.getPortalObject().portal_simulation.getCurrentInventoryList(
                   to_date=stop_date,
-                  simulation_state=self.getPortalCurrentInventoryStateList(),
                   connection_id=connection_id,
                   **inventory_calculation_dict['inventory_params']
           )
-- 
2.30.9


From cd62e74285919170112d6fa153325d1576b288eb Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?J=C3=A9rome=20Perrin?= <jerome@nexedi.com>
Date: Wed, 21 Jul 2010 14:44:15 +0000
Subject: [PATCH 063/270] - Initial implementation of a new way of calulating
 budget consumptions:   instead of doing one getInventory by budget cell, we
 do one getInventoryList   by budget line. - Budget variation now uses the
 variation defined at the proper level, ie if   this is a line level
 variation, it uses membership criterion from the line,   if this is budget
 level, from the budget. if this is a cell level, from the   cell. This means
 that we no longer have to copy all level categories on the   cell. The UI
 will have to be updated. - Test those new features and add some missing tests

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@37220 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 product/ERP5/Document/BudgetLine.py           |  90 ++-
 product/ERP5/Document/BudgetModel.py          |  47 +-
 product/ERP5/Document/BudgetVariation.py      |  71 +++
 .../ERP5/Document/CategoryBudgetVariation.py  |  42 +-
 product/ERP5/Document/NodeBudgetVariation.py  |  59 +-
 product/ERP5/tests/testBudget.py              | 536 +++++++++++++++++-
 6 files changed, 805 insertions(+), 40 deletions(-)

diff --git a/product/ERP5/Document/BudgetLine.py b/product/ERP5/Document/BudgetLine.py
index 46d6922ecc..2e321ce597 100644
--- a/product/ERP5/Document/BudgetLine.py
+++ b/product/ERP5/Document/BudgetLine.py
@@ -36,31 +36,75 @@ from Products.ERP5.Variated import Variated
 
 
 class BudgetLine(Predicate, XMLMatrix, Variated):
+  """ A Line of budget, variated in budget cells.
+  """
+
+  # Default Properties
+  property_sheets = ( PropertySheet.Base
+                    , PropertySheet.XMLObject
+                    , PropertySheet.SimpleItem
+                    , PropertySheet.CategoryCore
+                    , PropertySheet.Folder
+                    , PropertySheet.Predicate
+                    , PropertySheet.SortIndex
+                    , PropertySheet.Task
+                    , PropertySheet.Arrow
+                    , PropertySheet.Budget
+                    , PropertySheet.Amount
+                    , PropertySheet.VariationRange
+  )
+
+  # CMF Type Definition
+  meta_type='ERP5 Budget Line'
+  portal_type='Budget Line'    
+  add_permission = Permissions.AddPortalContent
+
+  # Declarative security
+  security = ClassSecurityInfo()
+  security.declareObjectProtected(Permissions.AccessContentsInformation)
+
+  security.declareProtected(Permissions.AccessContentsInformation,
+                            'getConsumedBudgetDict')
+  def getConsumedBudgetDict(self, **kw):
+    """Returns all the consumptions in a dict where the keys are the cells, and
+    the value is the consumed budget.
     """
-    BudgetLine  a line of budget...
+    return self._getBudgetDict(**kw)
+
+  security.declareProtected(Permissions.AccessContentsInformation,
+                            'getEngagedBudgetDict')
+  def getEngagedBudgetDict(self, **kw):
+    """Returns all the engagements in a dict where the keys are the cells, and
+    the value is the engaged budget.
+    """
+    kw.setdefault('explanation_simulation_state',
+                  self.getPortalReservedInventoryStateList() +
+                  self.getPortalCurrentInventoryStateList() +
+                  self.getPortalTransitInventoryStateList())
+    return self._getBudgetDict(**kw)
+
+  def _getBudgetDict(self, **kw):
+    """Use getCurrentInventoryList to compute all budget cell consumptions at
+    once, and returns them in a dict.
     """
+    budget = self.getParentValue()
+    budget_model = budget.getSpecialiseValue(portal_type='Budget Model')
+    if budget_model is None:
+      return dict()
+
+    query_dict = budget_model.getInventoryListQueryDict(self)
+    query_dict.update(kw)
+    query_dict.setdefault('ignore_group_by', True)
 
-    # Default Properties
-    property_sheets = ( PropertySheet.Base
-                      , PropertySheet.XMLObject
-                      , PropertySheet.SimpleItem
-                      , PropertySheet.CategoryCore
-                      , PropertySheet.Folder
-                      , PropertySheet.Predicate
-                      , PropertySheet.SortIndex
-                      , PropertySheet.Task
-                      , PropertySheet.Arrow
-                      , PropertySheet.Budget
-                      , PropertySheet.Amount
-                      , PropertySheet.VariationRange
-                      , PropertySheet.Assignment
-    )
+    sign = self.BudgetLine_getConsumptionSign()
+    budget_dict = dict()
+    for brain in self.getPortalObject().portal_simulation\
+                             .getCurrentInventoryList(**query_dict):
+      # XXX total_quantity or total_price ??
+      previous_value = budget_dict.get(
+          budget_model._getCellKeyFromInventoryListBrain(brain, self), 0)
+      budget_dict[budget_model._getCellKeyFromInventoryListBrain(brain, self)] = \
+                  previous_value + brain.total_price * sign
 
-    # CMF Type Definition
-    meta_type='ERP5 Budget Line'
-    portal_type='Budget Line'    
-    add_permission = Permissions.AddPortalContent
+    return budget_dict
 
-    # Declarative security
-    security = ClassSecurityInfo()
-    security.declareObjectProtected(Permissions.AccessContentsInformation)
diff --git a/product/ERP5/Document/BudgetModel.py b/product/ERP5/Document/BudgetModel.py
index d7a77d0115..9d3e69da63 100644
--- a/product/ERP5/Document/BudgetModel.py
+++ b/product/ERP5/Document/BudgetModel.py
@@ -75,7 +75,7 @@ class BudgetModel(Predicate):
     return cell_range
 
   def getInventoryQueryDict(self, budget_cell):
-    """Returns the query dict to pass to simulation query
+    """Returns the query dict to pass to simulation query for a budget cell
     """
     query_dict = dict()
     for budget_variation in sorted(self.contentValues(
@@ -83,14 +83,57 @@ class BudgetModel(Predicate):
               key=lambda x:x.getIntIndex()):
       query_dict.update(
           budget_variation.getInventoryQueryDict(budget_cell))
+
+    # include dates from the budget
+    budget = budget_cell.getParentValue().getParentValue()
+    query_dict.setdefault('from_date', budget.getStartDateRangeMin())
+    start_date_range_max = budget.getStartDateRangeMax()
+    if start_date_range_max:
+      query_dict.setdefault('at_date', start_date_range_max.latestTime())
     return query_dict
+
+  def getInventoryListQueryDict(self, budget_line):
+    """Returns the query dict to pass to simulation query for a budget line
+    """
+    query_dict = dict()
+    for budget_variation in sorted(self.contentValues(
+              portal_type=self.getPortalBudgetVariationTypeList()),
+              key=lambda x:x.getIntIndex()):
+      variation_query_dict = budget_variation.getInventoryListQueryDict(budget_line)
+      # Merge group_by argument. All other arguments should not conflict
+      if 'group_by' in query_dict and 'group_by' in variation_query_dict:
+        variation_query_dict['group_by'].extend(query_dict['group_by'])
+
+      query_dict.update(variation_query_dict)
+ 
+    # include dates from the budget
+    budget = budget_line.getParentValue()
+    query_dict.setdefault('from_date', budget.getStartDateRangeMin())
+    start_date_range_max = budget.getStartDateRangeMax()
+    if start_date_range_max:
+      query_dict.setdefault('at_date', start_date_range_max.latestTime())
+    return query_dict
+
+  def _getCellKeyFromInventoryListBrain(self, brain, budget_line):
+    """Compute the cell key from an inventory brain, the cell key can be used
+    to retrieve the budget cell in the corresponding budget line.
+    """
+    cell_key = ()
+    for budget_variation in sorted(self.contentValues(
+              portal_type=self.getPortalBudgetVariationTypeList()),
+              key=lambda x:x.getIntIndex()):
+      key = budget_variation._getCellKeyFromInventoryListBrain(brain,
+                                                               budget_line)
+      if key:
+        cell_key += (key,)
+    return cell_key
     
   def asBudgetPredicate(self):
     " "
     # XXX predicate for line / cell ?
 
-
   def getBudgetConsumptionMethod(self, budget_cell):
+    # XXX this API might disapear
     # XXX return the method, or compute directly ?
     budget_consumption_method = None
     for budget_variation in sorted(self.contentValues(
diff --git a/product/ERP5/Document/BudgetVariation.py b/product/ERP5/Document/BudgetVariation.py
index 1f7e8ad94b..34e22e307b 100644
--- a/product/ERP5/Document/BudgetVariation.py
+++ b/product/ERP5/Document/BudgetVariation.py
@@ -91,3 +91,74 @@ class BudgetVariation(Predicate):
     """
     return {}
 
+  def getInventoryListQueryDict(self, budget_line):
+    """Returns the query dict to pass to simulation query for a budget line
+    """
+    return {}
+
+  def _getCellKeyFromInventoryListBrain(self, brain, budget_line):
+    """Compute the cell key from an inventory brain.
+    The cell key can be used to retrieve the budget cell in the corresponding
+    budget line using budget_line.getCell
+    """
+    if not self.isMemberOf('budget_variation/budget_cell'):
+      return None
+
+    axis = self.getInventoryAxis()
+    if not axis:
+      return None
+    base_category = self.getProperty('variation_base_category')
+    if not base_category:
+      return None
+
+    movement = brain.getObject()
+    # axis 'movement' is simply a category membership on movements
+    if axis == 'movement':
+      return movement.getDefaultAcquiredCategoryMembership(base_category,
+                                                           base=True)
+
+    # is it a source brain or destination brain ?
+    is_source_brain = True
+    if (brain.node_uid != brain.mirror_node_uid):
+      is_source_brain = (brain.node_uid == movement.getSourceUid())
+    elif (brain.section_uid != brain.mirror_section_uid):
+      is_source_brain = (brain.section_uid == movement.getSourceSectionUid())
+    elif brain.total_quantity:
+      is_source_brain = (brain.total_quantity == movement.getQuantity())
+    else:
+      raise NotImplementedError('Could not guess brain side')
+
+    if axis.endswith('_category') or\
+            axis.endswith('_category_strict_membership'):
+      # if the axis is category, we get the node and then returns the category
+      # from that node
+      if axis.endswith('_category'):
+        axis = axis[:-len('_category')]
+      if axis.endswith('_category_strict_membership'):
+        axis = axis[:-len('_category_strict_membership')]
+      if is_source_brain:
+        if axis == 'node':
+          node = movement.getSourceValue()
+        else:
+          node = movement.getProperty('source_%s_value' % axis)
+      else:
+        if axis == 'node':
+          node = movement.getDestinationValue()
+        else:
+          node = movement.getProperty('destination_%s_value' % axis)
+      if node is not None:
+        return node.getDefaultAcquiredCategoryMembership(base_category,
+                                                         base=True)
+      return None
+
+    # otherwise we just return the node
+    if is_source_brain:
+      if axis == 'node':
+        return '%s/%s' % (base_category, movement.getSource())
+      return '%s/%s' % (base_category,
+                        movement.getProperty('source_%s' % axis))
+    if axis == 'node':
+      return '%s/%s' % (base_category, movement.getDestination())
+    return '%s/%s' % (base_category,
+                      movement.getProperty('destination_%s' % axis))
+
diff --git a/product/ERP5/Document/CategoryBudgetVariation.py b/product/ERP5/Document/CategoryBudgetVariation.py
index de58d1274d..7555cbfa3c 100644
--- a/product/ERP5/Document/CategoryBudgetVariation.py
+++ b/product/ERP5/Document/CategoryBudgetVariation.py
@@ -78,7 +78,14 @@ class CategoryBudgetVariation(BudgetVariation):
     base_category = self.getProperty('variation_base_category')
     if not base_category:
       return dict()
-    for criterion_category in budget_cell.getMembershipCriterionCategoryList():
+
+    context = budget_cell
+    if self.isMemberOf('budget_variation/budget'):
+      context = budget_cell.getParentValue().getParentValue()
+    elif self.isMemberOf('budget_variation/budget_line'):
+      context = budget_cell.getParentValue()
+
+    for criterion_category in context.getMembershipCriterionCategoryList():
       if '/' not in criterion_category: # safe ...
         continue
       criterion_base_category, category_url = criterion_category.split('/', 1)
@@ -94,6 +101,39 @@ class CategoryBudgetVariation(BudgetVariation):
         return {axis: criterion_category}
     return dict()
 
+  def getInventoryListQueryDict(self, budget_line):
+    """Returns the query dict to pass to simulation query for a budget line
+    """
+    axis = self.getInventoryAxis()
+    if not axis:
+      return dict()
+    base_category = self.getProperty('variation_base_category')
+    if not base_category:
+      return dict()
+
+    context = budget_line
+    if self.isMemberOf('budget_variation/budget'):
+      context = budget_line.getParentValue()
+
+    query_dict = dict()
+    if axis == 'movement':
+      axis = 'default_strict_%s_uid' % base_category
+      query_dict['group_by'] = [axis]
+    else:
+      query_dict['group_by_%s' % axis] = True
+      if axis in ('node', 'section', 'payment', 'function', 'project',
+                  'mirror_section', 'mirror_node' ):
+        axis = '%s_uid' % axis
+
+    for category in context.getVariationCategoryList(
+                             base_category_list=(base_category,)):
+      if axis.endswith('_uid'):
+        category = self.getPortalObject().portal_categories\
+                                .getCategoryUid(category)
+      query_dict.setdefault(axis, []).append(category)
+
+    return query_dict
+  
   def getBudgetVariationRangeCategoryList(self, context):
     """Returns the Variation Range Category List that can be applied to this
     budget.
diff --git a/product/ERP5/Document/NodeBudgetVariation.py b/product/ERP5/Document/NodeBudgetVariation.py
index dbbef4f139..0b8b3e9288 100644
--- a/product/ERP5/Document/NodeBudgetVariation.py
+++ b/product/ERP5/Document/NodeBudgetVariation.py
@@ -132,15 +132,23 @@ class NodeBudgetVariation(BudgetVariation):
     if not base_category:
       return dict()
     budget_line = budget_cell.getParentValue()
-    portal = self.getPortalObject()
-    portal_categories = portal.portal_categories
-    for criterion_category in budget_cell.getMembershipCriterionCategoryList():
+
+    context = budget_cell
+    if self.isMemberOf('budget_variation/budget'):
+      context = budget_line.getParentValue()
+    elif self.isMemberOf('budget_variation/budget_line'):
+      context = budget_line
+
+    portal_categories = self.getPortalObject().portal_categories
+    for criterion_category in context.getMembershipCriterionCategoryList():
       if '/' not in criterion_category: # safe ...
         continue
       criterion_base_category, node_url = criterion_category.split('/', 1)
       if criterion_base_category == base_category:
         if axis == 'movement':
           axis = 'default_%s' % base_category
+        # TODO: This is not correct if axis is a category (such as
+        # section_category)
         axis = '%s_uid' % axis
         if node_url == budget_line.getRelativeUrl():
           # This is the "All Other" virtual node
@@ -155,6 +163,51 @@ class NodeBudgetVariation(BudgetVariation):
 
     return dict()
 
+  def getInventoryListQueryDict(self, budget_line):
+    """Returns the query dict to pass to simulation query for a budget line
+    """
+    axis = self.getInventoryAxis()
+    if not axis:
+      return dict()
+    base_category = self.getProperty('variation_base_category')
+    if not base_category:
+      return dict()
+
+    context = budget_line
+    if self.isMemberOf('budget_variation/budget'):
+      context = budget_line.getParentValue()
+
+    portal_categories = self.getPortalObject().portal_categories
+    query_dict = dict()
+    if axis == 'movement':
+      axis = 'default_%s_uid' % base_category
+    query_dict['group_by_%s' % axis] = True
+    # TODO: This is not correct if axis is a category (such as
+    # section_category)
+    axis = '%s_uid' % axis
+
+    # if we have a virtual "all others" node, we don't set a criterion here.
+    if self.getProperty('include_virtual_other_node'):
+      return query_dict
+
+    for node_url in context.getVariationCategoryList(
+                                          base_category_list=(base_category,)):
+      query_dict.setdefault(axis, []).append(
+                portal_categories.getCategoryValue(node_url,
+                      base_category=base_category).getUid())
+    return query_dict
+  
+  def _getCellKeyFromInventoryListBrain(self, brain, budget_line):
+    """Compute key from inventory brain, with support for "all others" virtual node.
+    """
+    key = BudgetVariation._getCellKeyFromInventoryListBrain(
+                                    self, brain, budget_line)
+    if self.getProperty('include_virtual_other_node'):
+      if key not in [x[1] for x in
+          self.getBudgetVariationRangeCategoryList(budget_line)]:
+        key = '%s/%s' % ( self.getProperty('variation_base_category'),
+                          budget_line.getRelativeUrl() )
+    return key
 
   def getBudgetLineVariationRangeCategoryList(self, budget_line):
     """Returns the Variation Range Category List that can be applied to this
diff --git a/product/ERP5/tests/testBudget.py b/product/ERP5/tests/testBudget.py
index e6d452fc89..5fc89b3d46 100644
--- a/product/ERP5/tests/testBudget.py
+++ b/product/ERP5/tests/testBudget.py
@@ -28,9 +28,31 @@
 import unittest
 
 import transaction
+from DateTime import DateTime
+
 from Products.ERP5Type.tests.ERP5TypeTestCase import ERP5TypeTestCase
+from AccessControl import getSecurityManager
 
 class TestBudget(ERP5TypeTestCase):
+  
+  def afterSetUp(self):
+    self.validateRules()
+    product_line = self.portal.portal_categories.product_line
+    if '1' not in product_line.objectIds():
+      category = product_line.newContent(portal_type='Category', id='1')
+      category.newContent(portal_type='Category', id='1.1')
+      category.newContent(portal_type='Category', id='1.2')
+    if '2' not in product_line.objectIds():
+      category = product_line.newContent(portal_type='Category', id='2')
+      category.newContent(portal_type='Category', id='2.1')
+      category.newContent(portal_type='Category', id='2.2')
+
+  def beforeTearDown(self):
+    transaction.abort()
+    self.portal.accounting_module.manage_delObjects(
+       list(self.portal.accounting_module.objectIds()))
+    transaction.commit()
+    self.tic()
 
   def getBusinessTemplateList(self):
     """Return the list of required business templates.
@@ -93,21 +115,513 @@ class TestBudget(ERP5TypeTestCase):
     self.assertEquals(budget_line.getMembershipCriterionCategoryList(), [])
     self.assertEquals(
         budget_line.getMembershipCriterionBaseCategoryList(), [])
+    
 
-    # TODO: create cells and test variation on cell
-  
-  # Other TODOs
-  # test simple category variation in getInventory
-   
-  # test that using a category variation on budget level sets membership
-  # criterion on budget
+    # simuate a request and call Base_edit, which does all the work of creating
+    # cell and setting cell properties.
+    form = budget_line.BudgetLine_view
+    self.portal.REQUEST.other.update(
+        dict(AUTHENTICATED_USER=getSecurityManager().getUser(),
+
+             field_membership_criterion_base_category_list=
+        form.membership_criterion_base_category_list.get_value('default'),
+             field_mapped_value_property_list=
+        form.mapped_value_property_list.get_value('default'),
+
+             field_matrixbox_quantity_cell_0_0_0="5",
+             field_matrixbox_membership_criterion_category_list_cell_0_0_0=[
+               'source/account_module/goods_purchase'],
+        ))
+    budget_line.Base_edit(form_id=form.getId())
+
+    self.assertEquals(1, len(budget_line.contentValues()))
+    budget_cell = budget_line.getCell('source/account_module/goods_purchase')
+    self.assertNotEquals(None, budget_cell)
+
+    self.assertEquals(['source/account_module/goods_purchase'],
+        budget_cell.getMembershipCriterionCategoryList())
+    self.assertEquals(5, budget_cell.getQuantity())
+
+    # there is no budget consumption
+    self.assertEquals(0, budget_cell.getConsumedBudget())
+    self.assertEquals(0, budget_cell.getEngagedBudget())
+    self.assertEquals(5, budget_cell.getAvailableBudget())
+    # there is no budget transfer
+    self.assertEquals(5, budget_cell.getCurrentBalance())
+
+
+  def test_category_budget_cell_variation(self):
+    budget_model = self.portal.budget_model_module.newContent(
+                            portal_type='Budget Model')
+    budget_model.newContent(
+                    portal_type='Category Budget Variation',
+                    int_index=1,
+                    budget_variation='budget_cell',
+                    inventory_axis='node_category',
+                    variation_base_category='account_type',)
+    budget = self.portal.budget_module.newContent(
+                    portal_type='Budget',
+                    specialise_value=budget_model)
+    budget_line = budget.newContent(portal_type='Budget Line')
+    self.assertEquals(['account_type'],
+                      budget_line.getVariationBaseCategoryList())
+
+    variation_range_category_list = \
+       budget_line.BudgetLine_getVariationRangeCategoryList()
+    self.assertTrue(['', ''] in variation_range_category_list)
+    self.assertTrue(['Expense', 'account_type/expense'] in variation_range_category_list)
+
+  def test_category_budget_line_variation(self):
+    # test that using a variation on budget line level sets membership
+    # criterion on budget line
+    budget_model = self.portal.budget_model_module.newContent(
+                            portal_type='Budget Model')
+    budget_model.newContent(
+                    portal_type='Category Budget Variation',
+                    int_index=1,
+                    budget_variation='budget_line',
+                    inventory_axis='section_category',
+                    variation_base_category='group',)
+    budget = self.portal.budget_module.newContent(
+                    portal_type='Budget',
+                    specialise_value=budget_model)
+    budget_line = budget.newContent(portal_type='Budget Line')
+
+    self.assertEquals(['group'],
+                      budget_line.getVariationBaseCategoryList())
+
+    variation_range_category_list = \
+       budget_line.BudgetLine_getVariationRangeCategoryList()
+
+    self.assertTrue(['', ''] in variation_range_category_list)
+    self.assertTrue(['Demo Group', 'group/demo_group'] in variation_range_category_list)
+    
+    budget_line.edit(variation_category_list=['group/demo_group'])
+    self.assertEquals(['group'],
+        budget_line.getMembershipCriterionBaseCategoryList())
+    self.assertEquals(['group/demo_group'],
+        budget_line.getMembershipCriterionCategoryList())
+
+
+  def test_category_budget_variation(self):
+    budget_model = self.portal.budget_model_module.newContent(
+                            portal_type='Budget Model')
+    budget_model.newContent(
+                    portal_type='Category Budget Variation',
+                    int_index=1,
+                    budget_variation='budget',
+                    inventory_axis='section_category',
+                    variation_base_category='group',)
+    budget = self.portal.budget_module.newContent(
+                    portal_type='Budget',
+                    specialise_value=budget_model)
+
+    self.assertEquals(['group'],
+                      budget.getVariationBaseCategoryList())
+
+    variation_range_category_list = \
+       budget.Budget_getVariationRangeCategoryList()
+
+    self.assertTrue(['', ''] in variation_range_category_list)
+    self.assertTrue(['Demo Group', 'group/demo_group'] in variation_range_category_list)
+
+    # setting this variation on the budget also sets membership
+    budget.edit(variation_category_list=['group/demo_group'])
+    self.assertEquals('demo_group', budget.getGroup())
+    self.assertEquals('Demo Group', budget.getGroupTitle())
+
+  def test_simple_consumption(self):
+    budget_model = self.portal.budget_model_module.newContent(
+                            portal_type='Budget Model')
+    budget_model.newContent(
+                    portal_type='Category Budget Variation',
+                    int_index=1,
+                    budget_variation='budget',
+                    inventory_axis='section_category',
+                    variation_base_category='group',)
+    budget_model.newContent(
+                    portal_type='Node Budget Variation',
+                    int_index=2,
+                    budget_variation='budget_cell',
+                    inventory_axis='node',
+                    variation_base_category='source',
+                    aggregate_value_list=(
+                      self.portal.account_module.goods_purchase,
+                      self.portal.account_module.fixed_assets,
+                    ))
+    budget_model.newContent(
+                    portal_type='Category Budget Variation',
+                    int_index=3,
+                    budget_variation='budget_cell',
+                    inventory_axis='node_category',
+                    variation_base_category='account_type',)
+
+    budget = self.portal.budget_module.newContent(
+                    portal_type='Budget',
+                    start_date_range_min=DateTime(2000, 1, 1),
+                    start_date_range_max=DateTime(2000, 12, 31),
+                    specialise_value=budget_model)
+
+    budget.edit(variation_category_list=['group/demo_group'])
+    budget_line = budget.newContent(portal_type='Budget Line')
+
+    # set the range, this will adjust the matrix
+    budget_line.edit(
+        variation_category_list=(
+          'source/account_module/goods_purchase',
+          'source/account_module/fixed_assets',
+          'account_type/expense',
+          'account_type/asset', ))
+
+    # simuate a request and call Base_edit, which does all the work of creating
+    # cell and setting cell properties.
+    form = budget_line.BudgetLine_view
+    self.portal.REQUEST.other.update(
+        dict(AUTHENTICATED_USER=getSecurityManager().getUser(),
+
+             field_membership_criterion_base_category_list=
+        form.membership_criterion_base_category_list.get_value('default'),
+             field_mapped_value_property_list=
+        form.mapped_value_property_list.get_value('default'),
+
+             field_matrixbox_quantity_cell_0_0_0="",
+             field_matrixbox_membership_criterion_category_list_cell_0_0_0=[],
+             field_matrixbox_quantity_cell_1_0_0="2",
+             field_matrixbox_membership_criterion_category_list_cell_1_0_0=[
+               'source/account_module/fixed_assets',
+               'account_type/asset'],
+             field_matrixbox_quantity_cell_0_1_0="1",
+             field_matrixbox_membership_criterion_category_list_cell_0_1_0=[
+               'source/account_module/goods_purchase',
+               'account_type/expense'],
+             field_matrixbox_quantity_cell_1_1_0="",
+             field_matrixbox_membership_criterion_category_list_cell_1_1_0=[],
+        ))
+    budget_line.Base_edit(form_id=form.getId())
+
+    self.assertEquals(2, len(budget_line.contentValues()))
+    budget_cell = budget_line.getCell('source/account_module/goods_purchase',
+                                      'account_type/expense')
+    self.assertNotEquals(None, budget_cell)
+    self.assertEquals(
+        dict(from_date=DateTime(2000, 1, 1),
+             at_date=DateTime(2000, 12, 31).latestTime(),
+             node_category='account_type/expense',
+             node_uid=self.portal.account_module.goods_purchase.getUid(),
+             section_category='group/demo_group',),
+        budget_model.getInventoryQueryDict(budget_cell))
+
+    budget_cell = budget_line.getCell('source/account_module/fixed_assets',
+                                      'account_type/asset')
+    self.assertNotEquals(None, budget_cell)
+    self.assertEquals(
+        dict(from_date=DateTime(2000, 1, 1),
+             at_date=DateTime(2000, 12, 31).latestTime(),
+             node_category='account_type/asset',
+             node_uid=self.portal.account_module.fixed_assets.getUid(),
+             section_category='group/demo_group',),
+        budget_model.getInventoryQueryDict(budget_cell))
+
+    self.assertEquals(
+        dict(from_date=DateTime(2000, 1, 1),
+             at_date=DateTime(2000, 12, 31).latestTime(),
+             node_category=['account_type/expense', 'account_type/asset'],
+             node_uid=[self.portal.account_module.goods_purchase.getUid(),
+                       self.portal.account_module.fixed_assets.getUid()],
+             section_category=['group/demo_group'],
+             group_by_node_category=True,
+             group_by_node=True,
+             group_by_section_category=True,
+             ),
+        budget_model.getInventoryListQueryDict(budget_line))
+
+
+    atransaction = self.portal.accounting_module.newContent(
+                  portal_type='Accounting Transaction',
+                  resource_value=self.portal.currency_module.euro,
+                  source_section_value=self.portal.organisation_module.my_organisation,
+                  start_date=DateTime(2000, 1, 2))
+    atransaction.newContent(
+                  portal_type='Accounting Transaction Line',
+                  source_value=self.portal.account_module.goods_purchase,
+                  source_debit=100)
+    atransaction.newContent(
+                  portal_type='Accounting Transaction Line',
+                  source_value=self.portal.account_module.fixed_assets,
+                  source_credit=100)
+    atransaction.stop()
+
+    transaction.commit()
+    self.tic()
+
+    self.assertEquals(
+      {('source/account_module/fixed_assets', 'account_type/asset'): -100.0,
+       ('source/account_module/goods_purchase', 'account_type/expense'): 100.0},
+        budget_line.getConsumedBudgetDict())
+
+    self.assertEquals(
+      {('source/account_module/fixed_assets', 'account_type/asset'): -100.0,
+       ('source/account_module/goods_purchase', 'account_type/expense'): 100.0},
+        budget_line.getEngagedBudgetDict())
+      
+  def test_all_other_and_strict_consumption(self):
+    # tests consumptions, by using "all other" virtual node on a node budget
+    # variation, and strict membership on category budget variation
+    budget_model = self.portal.budget_model_module.newContent(
+                            portal_type='Budget Model')
+    budget_model.newContent(
+                    portal_type='Category Budget Variation',
+                    int_index=1,
+                    budget_variation='budget',
+                    inventory_axis='section_category_strict_membership',
+                    variation_base_category='group',)
+    budget_model.newContent(
+                    portal_type='Node Budget Variation',
+                    int_index=2,
+                    budget_variation='budget_cell',
+                    inventory_axis='node',
+                    variation_base_category='source',
+                    aggregate_value_list=(
+                      self.portal.account_module.goods_purchase,),
+                    include_virtual_other_node=True)
+    budget_model.newContent(
+                    portal_type='Category Budget Variation',
+                    int_index=3,
+                    budget_variation='budget_cell',
+                    inventory_axis='node_category_strict_membership',
+                    variation_base_category='account_type',)
+
+    budget = self.portal.budget_module.newContent(
+                    portal_type='Budget',
+                    start_date_range_min=DateTime(2000, 1, 1),
+                    start_date_range_max=DateTime(2000, 12, 31),
+                    specialise_value=budget_model)
+
+    budget.edit(variation_category_list=['group/demo_group/sub1'])
+    budget_line = budget.newContent(portal_type='Budget Line')
+
+    # set the range, this will adjust the matrix
+    budget_line.edit(
+        variation_category_list=(
+          'source/account_module/goods_purchase',
+          'source/%s' % budget_line.getRelativeUrl(), # this is 'all others'
+          'account_type/expense',
+          'account_type/asset', ))
+
+    # simuate a request and call Base_edit, which does all the work of creating
+    # cell and setting cell properties.
+    form = budget_line.BudgetLine_view
+    self.portal.REQUEST.other.update(
+        dict(AUTHENTICATED_USER=getSecurityManager().getUser(),
+
+             field_membership_criterion_base_category_list=
+        form.membership_criterion_base_category_list.get_value('default'),
+             field_mapped_value_property_list=
+        form.mapped_value_property_list.get_value('default'),
+
+             field_matrixbox_quantity_cell_0_0_0="",
+             field_matrixbox_membership_criterion_category_list_cell_0_0_0=[],
+             field_matrixbox_quantity_cell_1_0_0="2",
+             field_matrixbox_membership_criterion_category_list_cell_1_0_0=[
+               'source/%s' % budget_line.getRelativeUrl(),
+               'account_type/asset'],
+             field_matrixbox_quantity_cell_0_1_0="1",
+             field_matrixbox_membership_criterion_category_list_cell_0_1_0=[
+               'source/account_module/goods_purchase',
+               'account_type/expense'],
+             field_matrixbox_quantity_cell_1_1_0="",
+             field_matrixbox_membership_criterion_category_list_cell_1_1_0=[],
+        ))
+    budget_line.Base_edit(form_id=form.getId())
+
+    self.assertEquals(2, len(budget_line.contentValues()))
+
+    self.assertEquals(
+        dict(from_date=DateTime(2000, 1, 1),
+             at_date=DateTime(2000, 12, 31).latestTime(),
+             node_category_strict_membership=['account_type/expense',
+                                              'account_type/asset'],
+             section_category_strict_membership=['group/demo_group/sub1'],
+             group_by_node_category_strict_membership=True,
+             group_by_node=True,
+             group_by_section_category_strict_membership=True,
+             ),
+        budget_model.getInventoryListQueryDict(budget_line))
+
+
+    atransaction = self.portal.accounting_module.newContent(
+                  portal_type='Accounting Transaction',
+                  resource_value=self.portal.currency_module.euro,
+                  source_section_value=self.portal.organisation_module.my_organisation,
+                  start_date=DateTime(2000, 1, 2))
+    atransaction.newContent(
+                  portal_type='Accounting Transaction Line',
+                  source_value=self.portal.account_module.goods_purchase,
+                  source_debit=100)
+    atransaction.newContent(
+                  portal_type='Accounting Transaction Line',
+                  source_value=self.portal.account_module.fixed_assets,
+                  source_credit=100)
+    atransaction.stop()
+
+    transaction.commit()
+    self.tic()
+
+    self.assertEquals(
+      {('source/%s' % budget_line.getRelativeUrl(), 'account_type/asset'): -100.0,
+       ('source/account_module/goods_purchase', 'account_type/expense'): 100.0},
+        budget_line.getConsumedBudgetDict())
+
+    self.assertEquals(
+      {('source/%s' % budget_line.getRelativeUrl(), 'account_type/asset'): -100.0,
+       ('source/account_module/goods_purchase', 'account_type/expense'): 100.0},
+        budget_line.getEngagedBudgetDict())
+      
+
+  def test_consumption_movement_category(self):
+    # test for budget consumption using movement category
+    budget_model = self.portal.budget_model_module.newContent(
+                            portal_type='Budget Model')
+    budget_model.newContent(
+                    portal_type='Category Budget Variation',
+                    int_index=1,
+                    budget_variation='budget',
+                    inventory_axis='section_category',
+                    variation_base_category='group',)
+    budget_model.newContent(
+                    portal_type='Node Budget Variation',
+                    int_index=2,
+                    budget_variation='budget_cell',
+                    inventory_axis='node',
+                    variation_base_category='source',
+                    aggregate_value_list=(
+                      self.portal.account_module.goods_purchase,
+                      self.portal.account_module.fixed_assets,
+                    ))
+    budget_model.newContent(
+                    portal_type='Category Budget Variation',
+                    int_index=3,
+                    budget_variation='budget_cell',
+                    inventory_axis='movement',
+                    variation_base_category='product_line',)
+
+    budget = self.portal.budget_module.newContent(
+                    portal_type='Budget',
+                    start_date_range_min=DateTime(2000, 1, 1),
+                    start_date_range_max=DateTime(2000, 12, 31),
+                    specialise_value=budget_model)
+
+    budget.edit(variation_category_list=['group/demo_group'])
+    budget_line = budget.newContent(portal_type='Budget Line')
+
+    # set the range, this will adjust the matrix
+    budget_line.edit(
+        variation_category_list=(
+          'source/account_module/goods_purchase',
+          'source/account_module/fixed_assets',
+          'product_line/1',
+          'product_line/1/1.1',
+          'product_line/1/1.2', ))
+
+    # simuate a request and call Base_edit, which does all the work of creating
+    # cell and setting cell properties.
+    form = budget_line.BudgetLine_view
+    self.portal.REQUEST.other.update(
+        dict(AUTHENTICATED_USER=getSecurityManager().getUser(),
+
+             field_membership_criterion_base_category_list=
+        form.membership_criterion_base_category_list.get_value('default'),
+             field_mapped_value_property_list=
+        form.mapped_value_property_list.get_value('default'),
+
+            # this cell will be a summary cell
+             field_matrixbox_quantity_cell_0_0_0="2",
+             field_matrixbox_membership_criterion_category_list_cell_0_0_0=[
+               'source/account_module/goods_purchase',
+               'product_line/1'],
+             field_matrixbox_quantity_cell_1_0_0="",
+             field_matrixbox_membership_criterion_category_list_cell_1_0_0=[],
+             field_matrixbox_quantity_cell_0_1_0="2",
+             field_matrixbox_membership_criterion_category_list_cell_0_1_0=[
+               'source/account_module/goods_purchase',
+               'product_line/1/1.1'],
+             field_matrixbox_quantity_cell_1_1_0="",
+             field_matrixbox_membership_criterion_category_list_cell_1_1_0=[],
+             field_matrixbox_quantity_cell_0_2_0="",
+             field_matrixbox_membership_criterion_category_list_cell_0_2_0=[],
+             field_matrixbox_quantity_cell_1_2_0="",
+             field_matrixbox_membership_criterion_category_list_cell_1_2_0=[],
+        ))
+    budget_line.Base_edit(form_id=form.getId())
+
+    self.assertEquals(2, len(budget_line.contentValues()))
+
+    product_line_1 = self.portal.portal_categories.product_line['1']
+    product_line_1_11 = product_line_1['1.1']
+    product_line_1_12 = product_line_1['1.2']
+
+    self.assertEquals(
+        dict(from_date=DateTime(2000, 1, 1),
+             at_date=DateTime(2000, 12, 31).latestTime(),
+             node_uid=[self.portal.account_module.goods_purchase.getUid(),
+                       self.portal.account_module.fixed_assets.getUid(),],
+             default_strict_product_line_uid=[product_line_1.getUid(),
+                                       product_line_1_11.getUid(),
+                                       product_line_1_12.getUid(),],
+             section_category=['group/demo_group'],
+             group_by=['default_strict_product_line_uid'],
+             group_by_node=True,
+             group_by_section_category=True,
+             ),
+        budget_model.getInventoryListQueryDict(budget_line))
+
+
+    atransaction = self.portal.accounting_module.newContent(
+                  portal_type='Accounting Transaction',
+                  resource_value=self.portal.currency_module.euro,
+                  source_section_value=self.portal.organisation_module.my_organisation,
+                  start_date=DateTime(2000, 1, 2))
+    atransaction.newContent(
+                  portal_type='Accounting Transaction Line',
+                  source_value=self.portal.account_module.goods_purchase,
+                  product_line_value=product_line_1_11,
+                  source_debit=100)
+    atransaction.newContent(
+                  portal_type='Accounting Transaction Line',
+                  source_value=self.portal.account_module.fixed_assets,
+                  product_line_value=product_line_1_12,
+                  source_credit=100)
+    atransaction.stop()
+
+    transaction.commit()
+    self.tic()
+
+    self.assertEquals(
+      {('source/account_module/fixed_assets', 'product_line/1/1.2'): -100.0,
+       ('source/account_module/goods_purchase', 'product_line/1/1.1'): 100.0,
+       # summary line is automatically added (TODO)
+##       ('source/account_module/goods_purchase', 'product_line/1'): 100.0
+       },
+        budget_line.getConsumedBudgetDict())
+
+    self.assertEquals(
+      {('source/account_module/fixed_assets', 'product_line/1/1.2'): -100.0,
+       ('source/account_module/goods_purchase', 'product_line/1/1.1'): 100.0,
+       # summary line is automatically added (TODO)
+##       ('source/account_module/goods_purchase', 'product_line/1'): 100.0 
+       },
+        budget_line.getEngagedBudgetDict())
+
+
+    # Other TODOs:
+
+  # section_category & summary
 
-  # test that using a variation on budget line level sets membership
-  # criterion on budget line (and budget cell or not ?)
+  # resource/price currency on budget ?
 
+  # test virtual all others when cloning an existing budget
 
-  # test that using a category variation on budget level is used in inventory
-  # calculation 
+  # predicates 
 
 
 def test_suite():
-- 
2.30.9


From 5f02b838ba0bbbcad35039557c7a8eb25c0e0c64 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?J=C3=A9rome=20Perrin?= <jerome@nexedi.com>
Date: Wed, 21 Jul 2010 14:46:09 +0000
Subject: [PATCH 064/270] dates are now returned by getInventoryQueryDict

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@37221 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 .../erp5_budget/BudgetCell_getConsumedBudget.xml           | 7 -------
 .../erp5_budget/BudgetCell_getEngagedBudget.xml            | 7 -------
 bt5/erp5_budget/bt/revision                                | 2 +-
 3 files changed, 1 insertion(+), 15 deletions(-)

diff --git a/bt5/erp5_budget/SkinTemplateItem/portal_skins/erp5_budget/BudgetCell_getConsumedBudget.xml b/bt5/erp5_budget/SkinTemplateItem/portal_skins/erp5_budget/BudgetCell_getConsumedBudget.xml
index daf01d87f7..fe3640ed9c 100644
--- a/bt5/erp5_budget/SkinTemplateItem/portal_skins/erp5_budget/BudgetCell_getConsumedBudget.xml
+++ b/bt5/erp5_budget/SkinTemplateItem/portal_skins/erp5_budget/BudgetCell_getConsumedBudget.xml
@@ -59,12 +59,6 @@ budget_model = budget.getSpecialiseValue(portal_type=\'Budget Model\')\n
 if budget_model is not None:\n
   kw = budget_model.getInventoryQueryDict(context)\n
 \n
-kw.setdefault(\'from_date\', budget.getStartDateRangeMin())\n
-start_date_range_max = budget.getStartDateRangeMax()\n
-if start_date_range_max:\n
-  start_date_range_max = start_date_range_max.latestTime()\n
-kw.setdefault(\'at_date\', start_date_range_max)\n
-\n
 if from_date:\n
   kw[\'from_date\'] = from_date\n
 if at_date:\n
@@ -120,7 +114,6 @@ return (context.portal_simulation.getCurrentInventoryAssetPrice(**kw) or 0) * co
                             <string>budget</string>
                             <string>budget_model</string>
                             <string>None</string>
-                            <string>start_date_range_max</string>
                             <string>_write_</string>
                             <string>_apply_</string>
                           </tuple>
diff --git a/bt5/erp5_budget/SkinTemplateItem/portal_skins/erp5_budget/BudgetCell_getEngagedBudget.xml b/bt5/erp5_budget/SkinTemplateItem/portal_skins/erp5_budget/BudgetCell_getEngagedBudget.xml
index 7c7addd77a..3fa7703a89 100644
--- a/bt5/erp5_budget/SkinTemplateItem/portal_skins/erp5_budget/BudgetCell_getEngagedBudget.xml
+++ b/bt5/erp5_budget/SkinTemplateItem/portal_skins/erp5_budget/BudgetCell_getEngagedBudget.xml
@@ -59,12 +59,6 @@ budget_model = budget.getSpecialiseValue(portal_type=\'Budget Model\')\n
 if budget_model is not None:\n
   kw = budget_model.getInventoryQueryDict(context)\n
 \n
-kw.setdefault(\'from_date\', budget.getStartDateRangeMin())\n
-start_date_range_max = budget.getStartDateRangeMax()\n
-if start_date_range_max:\n
-  start_date_range_max = start_date_range_max.latestTime()\n
-kw.setdefault(\'at_date\', start_date_range_max)\n
-\n
 if from_date:\n
   kw[\'from_date\'] = from_date\n
 if at_date:\n
@@ -124,7 +118,6 @@ return (context.portal_simulation.getInventoryAssetPrice(**kw) or 0) * context.g
                             <string>budget</string>
                             <string>budget_model</string>
                             <string>None</string>
-                            <string>start_date_range_max</string>
                             <string>_write_</string>
                             <string>_apply_</string>
                           </tuple>
diff --git a/bt5/erp5_budget/bt/revision b/bt5/erp5_budget/bt/revision
index 2d828461b6..eff3954851 100644
--- a/bt5/erp5_budget/bt/revision
+++ b/bt5/erp5_budget/bt/revision
@@ -1 +1 @@
-289
\ No newline at end of file
+290
\ No newline at end of file
-- 
2.30.9


From 97c64956c371a8bf59639403cf1639ad652261c9 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?J=C3=A9rome=20Perrin?= <jerome@nexedi.com>
Date: Wed, 21 Jul 2010 14:50:10 +0000
Subject: [PATCH 065/270] no need to have INSTALL and INSTALL.txt

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@37222 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 product/ERP5/INSTALL.txt | 33 ---------------------------------
 1 file changed, 33 deletions(-)
 delete mode 100644 product/ERP5/INSTALL.txt

diff --git a/product/ERP5/INSTALL.txt b/product/ERP5/INSTALL.txt
deleted file mode 100644
index ebbc4bc963..0000000000
--- a/product/ERP5/INSTALL.txt
+++ /dev/null
@@ -1,33 +0,0 @@
-Requirements
-
-  The following components are required in order to use ERP5:
-
-  - Zope (www.zope.org)
-
-  - Zope CMF including workflow, default and topicsi (cmf.zope.org)
-
-  - Localizer (www.nuxeo.org)
-
-  - CMFWiki (www.zope.org)
-
-  - Base18 (also in the ERP5 CVS on Savannah)
-
-  - BTreeFolder2 (http://hathaway.freezope.org/Software/BTreeFolder2)
-  
-  - Refresh
-
-  - CmfPhoto (http://smets.com/static/Mandrake/SOURCES/CMFPhoto-1.2.3.tar.bz2)
-
-Installation
-
-  Put the ERP5 CVS folder in the /var/lib/zope/Products 
-  directory or equivalent. Copy the demo.zexp and images.zexp
-  of the import directory to /var/lib/zope/import. Import
-  demo.zexp and images.zexp at your root folder. Use the 
-  user 'jp' (user: jp passwd: jp) to try ERP5 components
-
-  Quirks
-  
-    It is necessary to refresh the ERP5 product in order
-    to use it because it is based on Formulator and Formulator
-    is loaded after ERP5 by Zope at startup
-- 
2.30.9


From 392f08e13b4df1e43ddd13bea207d8ccc7360039 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?J=C3=A9rome=20Perrin?= <jerome@nexedi.com>
Date: Wed, 21 Jul 2010 15:07:28 +0000
Subject: [PATCH 066/270] simply use cell_index, since 37220 we no longer need
 to copy categories from budget and budget lines.

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@37223 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 .../matrixbox_membership_criterion_category_list.xml            | 2 +-
 bt5/erp5_budget/bt/revision                                     | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/bt5/erp5_budget/SkinTemplateItem/portal_skins/erp5_budget/BudgetLine_view/matrixbox_membership_criterion_category_list.xml b/bt5/erp5_budget/SkinTemplateItem/portal_skins/erp5_budget/BudgetLine_view/matrixbox_membership_criterion_category_list.xml
index f695c43af7..7cfacd99d9 100644
--- a/bt5/erp5_budget/SkinTemplateItem/portal_skins/erp5_budget/BudgetLine_view/matrixbox_membership_criterion_category_list.xml
+++ b/bt5/erp5_budget/SkinTemplateItem/portal_skins/erp5_budget/BudgetLine_view/matrixbox_membership_criterion_category_list.xml
@@ -115,7 +115,7 @@
       <dictionary>
         <item>
             <key> <string>_text</string> </key>
-            <value> <string>python: list(cell_index) + context.getMembershipCriterionCategoryList() + [context.getResource(base=1),] # XXX make this in a script ? or interaction workflow ?</string> </value>
+            <value> <string>cell_index</string> </value>
         </item>
       </dictionary>
     </pickle>
diff --git a/bt5/erp5_budget/bt/revision b/bt5/erp5_budget/bt/revision
index eff3954851..e6d11f621d 100644
--- a/bt5/erp5_budget/bt/revision
+++ b/bt5/erp5_budget/bt/revision
@@ -1 +1 @@
-290
\ No newline at end of file
+291
\ No newline at end of file
-- 
2.30.9


From 0f337f5710d923081e14227f8e99f8d7826e48f9 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?J=C3=A9rome=20Perrin?= <jerome@nexedi.com>
Date: Wed, 21 Jul 2010 15:09:02 +0000
Subject: [PATCH 067/270] display the kw used in src__=1

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@37224 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 .../portal_skins/erp5_budget/BudgetCell_getConsumedBudget.xml   | 2 +-
 .../portal_skins/erp5_budget/BudgetCell_getEngagedBudget.xml    | 2 +-
 bt5/erp5_budget/bt/revision                                     | 2 +-
 3 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/bt5/erp5_budget/SkinTemplateItem/portal_skins/erp5_budget/BudgetCell_getConsumedBudget.xml b/bt5/erp5_budget/SkinTemplateItem/portal_skins/erp5_budget/BudgetCell_getConsumedBudget.xml
index fe3640ed9c..8ffdd825eb 100644
--- a/bt5/erp5_budget/SkinTemplateItem/portal_skins/erp5_budget/BudgetCell_getConsumedBudget.xml
+++ b/bt5/erp5_budget/SkinTemplateItem/portal_skins/erp5_budget/BudgetCell_getConsumedBudget.xml
@@ -66,7 +66,7 @@ if at_date:\n
 \n
  # XXX use getBudgetConsumptionMethod ?\n
 if src__:\n
-  return context.portal_simulation.getCurrentInventoryAssetPrice(src__=src__, **kw)\n
+  return \'-- %s\\n%s\' % (kw, context.portal_simulation.getCurrentInventoryAssetPrice(src__=src__, **kw))\n
 return (context.portal_simulation.getCurrentInventoryAssetPrice(**kw) or 0) * context.getParentValue().BudgetLine_getConsumptionSign()\n
 </string> </value>
         </item>
diff --git a/bt5/erp5_budget/SkinTemplateItem/portal_skins/erp5_budget/BudgetCell_getEngagedBudget.xml b/bt5/erp5_budget/SkinTemplateItem/portal_skins/erp5_budget/BudgetCell_getEngagedBudget.xml
index 3fa7703a89..3f5cf975e3 100644
--- a/bt5/erp5_budget/SkinTemplateItem/portal_skins/erp5_budget/BudgetCell_getEngagedBudget.xml
+++ b/bt5/erp5_budget/SkinTemplateItem/portal_skins/erp5_budget/BudgetCell_getEngagedBudget.xml
@@ -70,7 +70,7 @@ kw.setdefault(\'explanation_simulation_state\', context.getPortalReservedInvento
 \n
 # XXX use getBudgetConsumptionMethod ?\n
 if src__:\n
-  return context.portal_simulation.getInventoryAssetPrice(src__=src__, **kw)\n
+  return \'-- %s\\n%s\' % (kw, context.portal_simulation.getCurrentInventoryAssetPrice(src__=src__, **kw))\n
 return (context.portal_simulation.getInventoryAssetPrice(**kw) or 0) * context.getParentValue().BudgetLine_getConsumptionSign()\n
 </string> </value>
         </item>
diff --git a/bt5/erp5_budget/bt/revision b/bt5/erp5_budget/bt/revision
index e6d11f621d..6eac4a65cd 100644
--- a/bt5/erp5_budget/bt/revision
+++ b/bt5/erp5_budget/bt/revision
@@ -1 +1 @@
-291
\ No newline at end of file
+292
\ No newline at end of file
-- 
2.30.9


From cb1b7e20b26737126a974ac8d1138b64df7347f8 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?J=C3=A9rome=20Perrin?= <jerome@nexedi.com>
Date: Wed, 21 Jul 2010 16:11:53 +0000
Subject: [PATCH 068/270] introduce BudgetLine.getAvailableBudgetDict

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@37225 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 product/ERP5/Document/BudgetLine.py | 19 +++++++++++++++++++
 product/ERP5/tests/testBudget.py    | 24 ++++++++++++++++++++++++
 2 files changed, 43 insertions(+)

diff --git a/product/ERP5/Document/BudgetLine.py b/product/ERP5/Document/BudgetLine.py
index 2e321ce597..eeaa11a953 100644
--- a/product/ERP5/Document/BudgetLine.py
+++ b/product/ERP5/Document/BudgetLine.py
@@ -83,6 +83,25 @@ class BudgetLine(Predicate, XMLMatrix, Variated):
                   self.getPortalTransitInventoryStateList())
     return self._getBudgetDict(**kw)
 
+  security.declareProtected(Permissions.AccessContentsInformation,
+                            'getAvailableBudgetDict')
+  def getAvailableBudgetDict(self, **kw):
+    """Returns all the engagements in a dict where the keys are the cells, and
+    the value is the engaged budget.
+    """
+    budget_dict =  dict([(k, v * -1) for (k,v) in
+                         self.getEngagedBudgetDict(**kw).items()])
+    
+    cell_key_list = self.getCellKeyList()
+    for cell_key in cell_key_list:
+      cell_key = tuple(cell_key)
+      cell = self.getCell(*cell_key)
+      if cell is not None:
+        engaged = budget_dict.get(cell_key, 0)
+        budget_dict[cell_key] = cell.getCurrentBalance() + engaged
+
+    return budget_dict
+
   def _getBudgetDict(self, **kw):
     """Use getCurrentInventoryList to compute all budget cell consumptions at
     once, and returns them in a dict.
diff --git a/product/ERP5/tests/testBudget.py b/product/ERP5/tests/testBudget.py
index 5fc89b3d46..7578591fcf 100644
--- a/product/ERP5/tests/testBudget.py
+++ b/product/ERP5/tests/testBudget.py
@@ -363,7 +363,17 @@ class TestBudget(ERP5TypeTestCase):
       {('source/account_module/fixed_assets', 'account_type/asset'): -100.0,
        ('source/account_module/goods_purchase', 'account_type/expense'): 100.0},
         budget_line.getEngagedBudgetDict())
+
+    self.assertEquals(
+      {('source/account_module/fixed_assets', 'account_type/asset'): 102.0,
+       ('source/account_module/goods_purchase', 'account_type/expense'): -99.0},
+        budget_line.getAvailableBudgetDict())
       
+    # we can view the forms without error
+    budget_line.BudgetLine_viewEngagedBudget()
+    budget_line.BudgetLine_viewConsumedBudget()
+    budget_line.BudgetLine_viewAvailableBudget()
+
   def test_all_other_and_strict_consumption(self):
     # tests consumptions, by using "all other" virtual node on a node budget
     # variation, and strict membership on category budget variation
@@ -476,6 +486,11 @@ class TestBudget(ERP5TypeTestCase):
       {('source/%s' % budget_line.getRelativeUrl(), 'account_type/asset'): -100.0,
        ('source/account_module/goods_purchase', 'account_type/expense'): 100.0},
         budget_line.getEngagedBudgetDict())
+
+    self.assertEquals(
+      {('source/%s' % budget_line.getRelativeUrl(), 'account_type/asset'): 102.0,
+       ('source/account_module/goods_purchase', 'account_type/expense'): -99.0},
+        budget_line.getAvailableBudgetDict())
       
 
   def test_consumption_movement_category(self):
@@ -612,6 +627,15 @@ class TestBudget(ERP5TypeTestCase):
        },
         budget_line.getEngagedBudgetDict())
 
+    self.assertEquals(
+      {('source/account_module/fixed_assets', 'product_line/1/1.2'): 100.0,
+       ('source/account_module/goods_purchase', 'product_line/1/1.1'): -98.0,
+       # summary line is automatically added (TODO)
+##       ('source/account_module/goods_purchase', 'product_line/1'): 98.0 
+       ('source/account_module/goods_purchase', 'product_line/1'): 2.0 
+       },
+        budget_line.getAvailableBudgetDict())
+
 
     # Other TODOs:
 
-- 
2.30.9


From 3aa6cb6bd401b3a307ffca85e7731cb8423c985d Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?J=C3=A9rome=20Perrin?= <jerome@nexedi.com>
Date: Wed, 21 Jul 2010 16:13:19 +0000
Subject: [PATCH 069/270] use new API getAvailableBudgetDict,
 getEngagedBudgetDict and getConsumedBudgetDict that does only one
 getInventoryList query for each budget line, and also shows consumptions for
 cells where no budget has been defined

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@37226 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 .../BudgetLine_getAvailableBudgetCell.xml     | 144 ++++++++++++++++++
 .../BudgetLine_getConsumedBudgetCell.xml      | 144 ++++++++++++++++++
 .../BudgetLine_getEngagedBudgetCell.xml       | 144 ++++++++++++++++++
 .../matrixbox.xml                             |   5 +
 .../matrixbox.xml                             |   5 +
 .../matrixbox.xml                             |   5 +
 bt5/erp5_budget/bt/revision                   |   2 +-
 7 files changed, 448 insertions(+), 1 deletion(-)
 create mode 100644 bt5/erp5_budget/SkinTemplateItem/portal_skins/erp5_budget/BudgetLine_getAvailableBudgetCell.xml
 create mode 100644 bt5/erp5_budget/SkinTemplateItem/portal_skins/erp5_budget/BudgetLine_getConsumedBudgetCell.xml
 create mode 100644 bt5/erp5_budget/SkinTemplateItem/portal_skins/erp5_budget/BudgetLine_getEngagedBudgetCell.xml

diff --git a/bt5/erp5_budget/SkinTemplateItem/portal_skins/erp5_budget/BudgetLine_getAvailableBudgetCell.xml b/bt5/erp5_budget/SkinTemplateItem/portal_skins/erp5_budget/BudgetLine_getAvailableBudgetCell.xml
new file mode 100644
index 0000000000..2e93abf939
--- /dev/null
+++ b/bt5/erp5_budget/SkinTemplateItem/portal_skins/erp5_budget/BudgetLine_getAvailableBudgetCell.xml
@@ -0,0 +1,144 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>Script_magic</string> </key>
+            <value> <int>3</int> </value>
+        </item>
+        <item>
+            <key> <string>_bind_names</string> </key>
+            <value>
+              <object>
+                <klass>
+                  <global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/>
+                </klass>
+                <tuple/>
+                <state>
+                  <dictionary>
+                    <item>
+                        <key> <string>_asgns</string> </key>
+                        <value>
+                          <dictionary>
+                            <item>
+                                <key> <string>name_container</string> </key>
+                                <value> <string>container</string> </value>
+                            </item>
+                            <item>
+                                <key> <string>name_context</string> </key>
+                                <value> <string>context</string> </value>
+                            </item>
+                            <item>
+                                <key> <string>name_m_self</string> </key>
+                                <value> <string>script</string> </value>
+                            </item>
+                            <item>
+                                <key> <string>name_subpath</string> </key>
+                                <value> <string>traverse_subpath</string> </value>
+                            </item>
+                          </dictionary>
+                        </value>
+                    </item>
+                  </dictionary>
+                </state>
+              </object>
+            </value>
+        </item>
+        <item>
+            <key> <string>_body</string> </key>
+            <value> <string>def getFakeBudgetCell(amount):\n
+  class FakeBudgetCell:\n
+    def getAvailableBudget(self):\n
+      return amount\n
+    def absolute_url(self):\n
+      return context.absolute_url()\n
+  return FakeBudgetCell()\n
+\n
+try:\n
+  available_budget_dict = container.REQUEST.other[script.getId()]\n
+except KeyError:\n
+  available_budget_dict = container.REQUEST.other[script.getId()] = context.getAvailableBudgetDict()\n
+\n
+return getFakeBudgetCell(available_budget_dict[args])\n
+</string> </value>
+        </item>
+        <item>
+            <key> <string>_code</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>_params</string> </key>
+            <value> <string>*args, **kw</string> </value>
+        </item>
+        <item>
+            <key> <string>errors</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+        <item>
+            <key> <string>func_code</string> </key>
+            <value>
+              <object>
+                <klass>
+                  <global name="FuncCode" module="Shared.DC.Scripts.Signature"/>
+                </klass>
+                <tuple/>
+                <state>
+                  <dictionary>
+                    <item>
+                        <key> <string>co_argcount</string> </key>
+                        <value> <int>0</int> </value>
+                    </item>
+                    <item>
+                        <key> <string>co_varnames</string> </key>
+                        <value>
+                          <tuple>
+                            <string>args</string>
+                            <string>kw</string>
+                            <string>getFakeBudgetCell</string>
+                            <string>_getitem_</string>
+                            <string>_getattr_</string>
+                            <string>container</string>
+                            <string>script</string>
+                            <string>available_budget_dict</string>
+                            <string>KeyError</string>
+                            <string>context</string>
+                            <string>_write_</string>
+                          </tuple>
+                        </value>
+                    </item>
+                  </dictionary>
+                </state>
+              </object>
+            </value>
+        </item>
+        <item>
+            <key> <string>func_defaults</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>BudgetLine_getAvailableBudgetCell</string> </value>
+        </item>
+        <item>
+            <key> <string>warnings</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_budget/SkinTemplateItem/portal_skins/erp5_budget/BudgetLine_getConsumedBudgetCell.xml b/bt5/erp5_budget/SkinTemplateItem/portal_skins/erp5_budget/BudgetLine_getConsumedBudgetCell.xml
new file mode 100644
index 0000000000..21817fefed
--- /dev/null
+++ b/bt5/erp5_budget/SkinTemplateItem/portal_skins/erp5_budget/BudgetLine_getConsumedBudgetCell.xml
@@ -0,0 +1,144 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>Script_magic</string> </key>
+            <value> <int>3</int> </value>
+        </item>
+        <item>
+            <key> <string>_bind_names</string> </key>
+            <value>
+              <object>
+                <klass>
+                  <global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/>
+                </klass>
+                <tuple/>
+                <state>
+                  <dictionary>
+                    <item>
+                        <key> <string>_asgns</string> </key>
+                        <value>
+                          <dictionary>
+                            <item>
+                                <key> <string>name_container</string> </key>
+                                <value> <string>container</string> </value>
+                            </item>
+                            <item>
+                                <key> <string>name_context</string> </key>
+                                <value> <string>context</string> </value>
+                            </item>
+                            <item>
+                                <key> <string>name_m_self</string> </key>
+                                <value> <string>script</string> </value>
+                            </item>
+                            <item>
+                                <key> <string>name_subpath</string> </key>
+                                <value> <string>traverse_subpath</string> </value>
+                            </item>
+                          </dictionary>
+                        </value>
+                    </item>
+                  </dictionary>
+                </state>
+              </object>
+            </value>
+        </item>
+        <item>
+            <key> <string>_body</string> </key>
+            <value> <string>def getFakeBudgetCell(amount):\n
+  class FakeBudgetCell:\n
+    def getConsumedBudget(self):\n
+      return amount\n
+    def absolute_url(self):\n
+      return context.absolute_url()\n
+  return FakeBudgetCell()\n
+\n
+try:\n
+  consumed_budget_dict = container.REQUEST.other[script.getId()]\n
+except KeyError:\n
+  consumed_budget_dict = container.REQUEST.other[script.getId()] = context.getConsumedBudgetDict()\n
+\n
+return getFakeBudgetCell(consumed_budget_dict[args])\n
+</string> </value>
+        </item>
+        <item>
+            <key> <string>_code</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>_params</string> </key>
+            <value> <string>*args, **kw</string> </value>
+        </item>
+        <item>
+            <key> <string>errors</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+        <item>
+            <key> <string>func_code</string> </key>
+            <value>
+              <object>
+                <klass>
+                  <global name="FuncCode" module="Shared.DC.Scripts.Signature"/>
+                </klass>
+                <tuple/>
+                <state>
+                  <dictionary>
+                    <item>
+                        <key> <string>co_argcount</string> </key>
+                        <value> <int>0</int> </value>
+                    </item>
+                    <item>
+                        <key> <string>co_varnames</string> </key>
+                        <value>
+                          <tuple>
+                            <string>args</string>
+                            <string>kw</string>
+                            <string>getFakeBudgetCell</string>
+                            <string>_getitem_</string>
+                            <string>_getattr_</string>
+                            <string>container</string>
+                            <string>script</string>
+                            <string>consumed_budget_dict</string>
+                            <string>KeyError</string>
+                            <string>context</string>
+                            <string>_write_</string>
+                          </tuple>
+                        </value>
+                    </item>
+                  </dictionary>
+                </state>
+              </object>
+            </value>
+        </item>
+        <item>
+            <key> <string>func_defaults</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>BudgetLine_getConsumedBudgetCell</string> </value>
+        </item>
+        <item>
+            <key> <string>warnings</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_budget/SkinTemplateItem/portal_skins/erp5_budget/BudgetLine_getEngagedBudgetCell.xml b/bt5/erp5_budget/SkinTemplateItem/portal_skins/erp5_budget/BudgetLine_getEngagedBudgetCell.xml
new file mode 100644
index 0000000000..d351e83619
--- /dev/null
+++ b/bt5/erp5_budget/SkinTemplateItem/portal_skins/erp5_budget/BudgetLine_getEngagedBudgetCell.xml
@@ -0,0 +1,144 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>Script_magic</string> </key>
+            <value> <int>3</int> </value>
+        </item>
+        <item>
+            <key> <string>_bind_names</string> </key>
+            <value>
+              <object>
+                <klass>
+                  <global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/>
+                </klass>
+                <tuple/>
+                <state>
+                  <dictionary>
+                    <item>
+                        <key> <string>_asgns</string> </key>
+                        <value>
+                          <dictionary>
+                            <item>
+                                <key> <string>name_container</string> </key>
+                                <value> <string>container</string> </value>
+                            </item>
+                            <item>
+                                <key> <string>name_context</string> </key>
+                                <value> <string>context</string> </value>
+                            </item>
+                            <item>
+                                <key> <string>name_m_self</string> </key>
+                                <value> <string>script</string> </value>
+                            </item>
+                            <item>
+                                <key> <string>name_subpath</string> </key>
+                                <value> <string>traverse_subpath</string> </value>
+                            </item>
+                          </dictionary>
+                        </value>
+                    </item>
+                  </dictionary>
+                </state>
+              </object>
+            </value>
+        </item>
+        <item>
+            <key> <string>_body</string> </key>
+            <value> <string>def getFakeBudgetCell(amount):\n
+  class FakeBudgetCell:\n
+    def getEngagedBudget(self):\n
+      return amount\n
+    def absolute_url(self):\n
+      return context.absolute_url()\n
+  return FakeBudgetCell()\n
+\n
+try:\n
+  engaged_budget_dict = container.REQUEST.other[script.getId()]\n
+except KeyError:\n
+  engaged_budget_dict = container.REQUEST.other[script.getId()] = context.getEngagedBudgetDict()\n
+\n
+return getFakeBudgetCell(engaged_budget_dict[args])\n
+</string> </value>
+        </item>
+        <item>
+            <key> <string>_code</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>_params</string> </key>
+            <value> <string>*args, **kw</string> </value>
+        </item>
+        <item>
+            <key> <string>errors</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+        <item>
+            <key> <string>func_code</string> </key>
+            <value>
+              <object>
+                <klass>
+                  <global name="FuncCode" module="Shared.DC.Scripts.Signature"/>
+                </klass>
+                <tuple/>
+                <state>
+                  <dictionary>
+                    <item>
+                        <key> <string>co_argcount</string> </key>
+                        <value> <int>0</int> </value>
+                    </item>
+                    <item>
+                        <key> <string>co_varnames</string> </key>
+                        <value>
+                          <tuple>
+                            <string>args</string>
+                            <string>kw</string>
+                            <string>getFakeBudgetCell</string>
+                            <string>_getitem_</string>
+                            <string>_getattr_</string>
+                            <string>container</string>
+                            <string>script</string>
+                            <string>engaged_budget_dict</string>
+                            <string>KeyError</string>
+                            <string>context</string>
+                            <string>_write_</string>
+                          </tuple>
+                        </value>
+                    </item>
+                  </dictionary>
+                </state>
+              </object>
+            </value>
+        </item>
+        <item>
+            <key> <string>func_defaults</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>BudgetLine_getEngagedBudgetCell</string> </value>
+        </item>
+        <item>
+            <key> <string>warnings</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_budget/SkinTemplateItem/portal_skins/erp5_budget/BudgetLine_viewAvailableBudget/matrixbox.xml b/bt5/erp5_budget/SkinTemplateItem/portal_skins/erp5_budget/BudgetLine_viewAvailableBudget/matrixbox.xml
index 07a78decc7..2bcf492923 100644
--- a/bt5/erp5_budget/SkinTemplateItem/portal_skins/erp5_budget/BudgetLine_viewAvailableBudget/matrixbox.xml
+++ b/bt5/erp5_budget/SkinTemplateItem/portal_skins/erp5_budget/BudgetLine_viewAvailableBudget/matrixbox.xml
@@ -13,6 +13,7 @@
             <key> <string>delegated_list</string> </key>
             <value>
               <list>
+                <string>cell_getter_method</string>
                 <string>editable_attributes</string>
                 <string>global_attributes</string>
               </list>
@@ -75,6 +76,10 @@
             <key> <string>values</string> </key>
             <value>
               <dictionary>
+                <item>
+                    <key> <string>cell_getter_method</string> </key>
+                    <value> <string>BudgetLine_getAvailableBudgetCell</string> </value>
+                </item>
                 <item>
                     <key> <string>editable_attributes</string> </key>
                     <value>
diff --git a/bt5/erp5_budget/SkinTemplateItem/portal_skins/erp5_budget/BudgetLine_viewConsumedBudget/matrixbox.xml b/bt5/erp5_budget/SkinTemplateItem/portal_skins/erp5_budget/BudgetLine_viewConsumedBudget/matrixbox.xml
index 07a78decc7..d035140ef8 100644
--- a/bt5/erp5_budget/SkinTemplateItem/portal_skins/erp5_budget/BudgetLine_viewConsumedBudget/matrixbox.xml
+++ b/bt5/erp5_budget/SkinTemplateItem/portal_skins/erp5_budget/BudgetLine_viewConsumedBudget/matrixbox.xml
@@ -13,6 +13,7 @@
             <key> <string>delegated_list</string> </key>
             <value>
               <list>
+                <string>cell_getter_method</string>
                 <string>editable_attributes</string>
                 <string>global_attributes</string>
               </list>
@@ -75,6 +76,10 @@
             <key> <string>values</string> </key>
             <value>
               <dictionary>
+                <item>
+                    <key> <string>cell_getter_method</string> </key>
+                    <value> <string>BudgetLine_getConsumedBudgetCell</string> </value>
+                </item>
                 <item>
                     <key> <string>editable_attributes</string> </key>
                     <value>
diff --git a/bt5/erp5_budget/SkinTemplateItem/portal_skins/erp5_budget/BudgetLine_viewEngagedBudget/matrixbox.xml b/bt5/erp5_budget/SkinTemplateItem/portal_skins/erp5_budget/BudgetLine_viewEngagedBudget/matrixbox.xml
index 07a78decc7..d570e5948b 100644
--- a/bt5/erp5_budget/SkinTemplateItem/portal_skins/erp5_budget/BudgetLine_viewEngagedBudget/matrixbox.xml
+++ b/bt5/erp5_budget/SkinTemplateItem/portal_skins/erp5_budget/BudgetLine_viewEngagedBudget/matrixbox.xml
@@ -13,6 +13,7 @@
             <key> <string>delegated_list</string> </key>
             <value>
               <list>
+                <string>cell_getter_method</string>
                 <string>editable_attributes</string>
                 <string>global_attributes</string>
               </list>
@@ -75,6 +76,10 @@
             <key> <string>values</string> </key>
             <value>
               <dictionary>
+                <item>
+                    <key> <string>cell_getter_method</string> </key>
+                    <value> <string>BudgetLine_getEngagedBudgetCell</string> </value>
+                </item>
                 <item>
                     <key> <string>editable_attributes</string> </key>
                     <value>
diff --git a/bt5/erp5_budget/bt/revision b/bt5/erp5_budget/bt/revision
index 6eac4a65cd..8975db9a05 100644
--- a/bt5/erp5_budget/bt/revision
+++ b/bt5/erp5_budget/bt/revision
@@ -1 +1 @@
-292
\ No newline at end of file
+293
\ No newline at end of file
-- 
2.30.9


From 22c7f79f6fb55ecf0605e0ab194474a6b5cae3c0 Mon Sep 17 00:00:00 2001
From: Rafael Monnerat <rafael@nexedi.com>
Date: Wed, 21 Jul 2010 19:12:08 +0000
Subject: [PATCH 070/270] This commit does not solve the problem. Reverting to
 provide the appropriate fix.

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@37227 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 buildout/profiles/versions.cfg | 7 -------
 1 file changed, 7 deletions(-)

diff --git a/buildout/profiles/versions.cfg b/buildout/profiles/versions.cfg
index 299abdd68c..c8fa2335ea 100644
--- a/buildout/profiles/versions.cfg
+++ b/buildout/profiles/versions.cfg
@@ -15,10 +15,3 @@ rdiff-backup = 1.0.5
 erp5_products_revision =
 erp5_bt5_revision = ${:erp5_products_revision}
 lxml = 2.2.6
-# pin zope.interface to 3.3.0
-# newer versions does not work with PluginRegistry 1.0
-# but PluginRegistry 1.1.2 genreates issues in ERP5
-# ref:
-#   http://svn.erp5.org/?view=revision&revision=36104
-#   http://svn.erp5.org/?view=revision&revision=36329
-zope.interface = 3.3.0
-- 
2.30.9


From 09d640f15bcb9b5a33e862140377550d4395cd7e Mon Sep 17 00:00:00 2001
From: Rafael Monnerat <rafael@nexedi.com>
Date: Wed, 21 Jul 2010 19:20:38 +0000
Subject: [PATCH 071/270] One of dependencies of zope.testbrowser is
 zope.interface.

When zope.interface is installed as eggs (tried with 3.3.0, 3.5.2, 3.6.1) and
PluginRegistry==1.1.2 is used, there is some bad behaviour which makes erp5 does
not work.

It is preferred keep using standard zope.interface provided by Zope-2.8 for now
until this problem got solved or some good zope.interface version be selected.



git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@37228 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 buildout/software-profiles/erp5.cfg | 1 -
 1 file changed, 1 deletion(-)

diff --git a/buildout/software-profiles/erp5.cfg b/buildout/software-profiles/erp5.cfg
index 2689cce344..24cebcc468 100644
--- a/buildout/software-profiles/erp5.cfg
+++ b/buildout/software-profiles/erp5.cfg
@@ -98,7 +98,6 @@ eggs =
   uuid
   xml_marshaller
   xupdate_processor
-  zope.testbrowser
 
 python = python2.4
 extra-paths =
-- 
2.30.9


From d8df850e77e5052abdc69320c65350b094570ba3 Mon Sep 17 00:00:00 2001
From: Ivan Tyagov <ivan@nexedi.com>
Date: Thu, 22 Jul 2010 06:29:15 +0000
Subject: [PATCH 072/270] Add TimeOutTransport (used by OOOd).

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@37231 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 .../ConnectionPlugin/TimeoutTransport.py      | 59 +++++++++++++++++++
 1 file changed, 59 insertions(+)
 create mode 100644 product/ERP5Type/ConnectionPlugin/TimeoutTransport.py

diff --git a/product/ERP5Type/ConnectionPlugin/TimeoutTransport.py b/product/ERP5Type/ConnectionPlugin/TimeoutTransport.py
new file mode 100644
index 0000000000..6568531556
--- /dev/null
+++ b/product/ERP5Type/ConnectionPlugin/TimeoutTransport.py
@@ -0,0 +1,59 @@
+##############################################################################
+#
+# Copyright (c) 2006 Nexedi SARL and Contributors. All Rights Reserved.
+#                    Ivan Tyagov <ivan@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.
+#
+##############################################################################
+
+from xmlrpclib import Fault
+from xmlrpclib import Transport
+from xmlrpclib import SafeTransport
+
+class TimeoutTransport(SafeTransport):
+  """A xmlrpc transport with configurable timeout.
+  """
+  def __init__(self, timeout=None, scheme='http'):
+    self._timeout = timeout
+    self._scheme = scheme
+    # On Python 2.6, .__init__() of Transport and SafeTransport must be called
+    # to set up the ._use_datetime attribute.
+    # sigh... too bad we can't use super() here, as SafeTransport is not
+    # a new-style class (as of Python 2.4 to 2.6)
+    # remove the gettattr below when we drop support for Python 2.4
+    super__init__ = getattr(SafeTransport, '__init__', lambda self: None)
+    super__init__(self)
+
+  def send_content(self, connection, request_body):
+    connection.putheader("Content-Type", "text/xml")
+    connection.putheader("Content-Length", str(len(request_body)))
+    connection.endheaders()
+    if self._timeout:
+      connection._conn.sock.settimeout(self._timeout)
+    if request_body:
+      connection.send(request_body)
+
+  def make_connection(self, h):
+    if self._scheme == 'http':
+      return Transport.make_connection(self, h)
+    return SafeTransport.make_connection(self, h)
\ No newline at end of file
-- 
2.30.9


From ddb07623f8a0c3d59528ccc682d63b4fdcbb8305 Mon Sep 17 00:00:00 2001
From: Ivan Tyagov <ivan@nexedi.com>
Date: Thu, 22 Jul 2010 06:40:35 +0000
Subject: [PATCH 073/270] Use ERP5Type.ConnectionPlugin.TimeoutTransport
 plugin.

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@37232 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 product/ERP5OOo/Document/OOoDocument.py | 34 +++----------------------
 1 file changed, 3 insertions(+), 31 deletions(-)

diff --git a/product/ERP5OOo/Document/OOoDocument.py b/product/ERP5OOo/Document/OOoDocument.py
index 3c0359fbf7..d9c3d34b2e 100644
--- a/product/ERP5OOo/Document/OOoDocument.py
+++ b/product/ERP5OOo/Document/OOoDocument.py
@@ -30,8 +30,6 @@
 import xmlrpclib, base64, re, zipfile, cStringIO
 from warnings import warn
 from xmlrpclib import Fault
-from xmlrpclib import Transport
-from xmlrpclib import SafeTransport
 from AccessControl import ClassSecurityInfo
 from AccessControl import Unauthorized
 from OFS.Image import Pdata
@@ -57,41 +55,15 @@ from Products.ERP5.mixin.base_convertable import BaseConvertableFileMixin
 from Products.ERP5.mixin.text_convertable import TextConvertableMixin
 from Products.ERP5.mixin.extensible_traversable import OOoDocumentExtensibleTraversableMixin
 
+# connection plugins
+from Products.ERP5Type.ConnectionPlugin.TimeoutTransport import TimeoutTransport
+
 enc=base64.encodestring
 dec=base64.decodestring
 
 _MARKER = []
 EMBEDDED_FORMAT = '_embedded'
 
-class TimeoutTransport(SafeTransport):
-  """A xmlrpc transport with configurable timeout.
-  """
-  def __init__(self, timeout=None, scheme='http'):
-    self._timeout = timeout
-    self._scheme = scheme
-    # On Python 2.6, .__init__() of Transport and SafeTransport must be called
-    # to set up the ._use_datetime attribute.
-    # sigh... too bad we can't use super() here, as SafeTransport is not
-    # a new-style class (as of Python 2.4 to 2.6)
-    # remove the gettattr below when we drop support for Python 2.4
-    super__init__ = getattr(SafeTransport, '__init__', lambda self: None)
-    super__init__(self)
-
-  def send_content(self, connection, request_body):
-    connection.putheader("Content-Type", "text/xml")
-    connection.putheader("Content-Length", str(len(request_body)))
-    connection.endheaders()
-    if self._timeout:
-      connection._conn.sock.settimeout(self._timeout)
-    if request_body:
-      connection.send(request_body)
-
-  def make_connection(self, h):
-    if self._scheme == 'http':
-      return Transport.make_connection(self, h)
-    return SafeTransport.make_connection(self, h)
-
-
 class OOoDocument(OOoDocumentExtensibleTraversableMixin, BaseConvertableFileMixin, File,
                   TextConvertableMixin, Document):
   """
-- 
2.30.9


From 858a7b3dcf6c44e6e6a50186380d33fada018550 Mon Sep 17 00:00:00 2001
From: Ivan Tyagov <ivan@nexedi.com>
Date: Thu, 22 Jul 2010 07:12:29 +0000
Subject: [PATCH 074/270] Remove unused imports.

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@37233 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 product/ERP5OOo/Document/OOoDocument.py | 6 ++----
 1 file changed, 2 insertions(+), 4 deletions(-)

diff --git a/product/ERP5OOo/Document/OOoDocument.py b/product/ERP5OOo/Document/OOoDocument.py
index d9c3d34b2e..d8b9ce0d25 100644
--- a/product/ERP5OOo/Document/OOoDocument.py
+++ b/product/ERP5OOo/Document/OOoDocument.py
@@ -38,15 +38,13 @@ try:
     from OFS.content_types import guess_content_type
 except ImportError:
     from zope.contenttype import guess_content_type
-from Products.CMFCore.utils import getToolByName, _setCacheHeaders,\
-    _ViewEmulator
-from Products.ERP5Type import Permissions, PropertySheet, Constraint
+from Products.CMFCore.utils import getToolByName
+from Products.ERP5Type import Permissions, PropertySheet
 from Products.ERP5Type.Cache import CachingMethod
 from Products.ERP5.Document.File import File
 from Products.ERP5.Document.Document import Document, \
        VALID_IMAGE_FORMAT_LIST, ConversionError, NotConvertedError
 from Products.ERP5.Document.Image import getDefaultImageQuality
-from AccessControl.SecurityManagement import setSecurityManager
 from Products.ERP5Type.Utils import fill_args_from_request
 from zLOG import LOG, ERROR
 
-- 
2.30.9


From c21431b0bb6a0c34f723ffa0aab02183b4b4dffc Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?J=C3=A9rome=20Perrin?= <jerome@nexedi.com>
Date: Thu, 22 Jul 2010 07:54:22 +0000
Subject: [PATCH 075/270] if there is no consumption for this coordinate,
 display nothing and don't fail

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@37234 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 .../erp5_budget/BudgetLine_getAvailableBudgetCell.xml           | 2 +-
 .../erp5_budget/BudgetLine_getConsumedBudgetCell.xml            | 2 +-
 .../erp5_budget/BudgetLine_getEngagedBudgetCell.xml             | 2 +-
 bt5/erp5_budget/bt/revision                                     | 2 +-
 4 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/bt5/erp5_budget/SkinTemplateItem/portal_skins/erp5_budget/BudgetLine_getAvailableBudgetCell.xml b/bt5/erp5_budget/SkinTemplateItem/portal_skins/erp5_budget/BudgetLine_getAvailableBudgetCell.xml
index 2e93abf939..f82d7b91ad 100644
--- a/bt5/erp5_budget/SkinTemplateItem/portal_skins/erp5_budget/BudgetLine_getAvailableBudgetCell.xml
+++ b/bt5/erp5_budget/SkinTemplateItem/portal_skins/erp5_budget/BudgetLine_getAvailableBudgetCell.xml
@@ -66,7 +66,7 @@ try:\n
 except KeyError:\n
   available_budget_dict = container.REQUEST.other[script.getId()] = context.getAvailableBudgetDict()\n
 \n
-return getFakeBudgetCell(available_budget_dict[args])\n
+return getFakeBudgetCell(available_budget_dict.get(args))\n
 </string> </value>
         </item>
         <item>
diff --git a/bt5/erp5_budget/SkinTemplateItem/portal_skins/erp5_budget/BudgetLine_getConsumedBudgetCell.xml b/bt5/erp5_budget/SkinTemplateItem/portal_skins/erp5_budget/BudgetLine_getConsumedBudgetCell.xml
index 21817fefed..2f267a2883 100644
--- a/bt5/erp5_budget/SkinTemplateItem/portal_skins/erp5_budget/BudgetLine_getConsumedBudgetCell.xml
+++ b/bt5/erp5_budget/SkinTemplateItem/portal_skins/erp5_budget/BudgetLine_getConsumedBudgetCell.xml
@@ -66,7 +66,7 @@ try:\n
 except KeyError:\n
   consumed_budget_dict = container.REQUEST.other[script.getId()] = context.getConsumedBudgetDict()\n
 \n
-return getFakeBudgetCell(consumed_budget_dict[args])\n
+return getFakeBudgetCell(consumed_budget_dict.get(args))\n
 </string> </value>
         </item>
         <item>
diff --git a/bt5/erp5_budget/SkinTemplateItem/portal_skins/erp5_budget/BudgetLine_getEngagedBudgetCell.xml b/bt5/erp5_budget/SkinTemplateItem/portal_skins/erp5_budget/BudgetLine_getEngagedBudgetCell.xml
index d351e83619..156cdbe696 100644
--- a/bt5/erp5_budget/SkinTemplateItem/portal_skins/erp5_budget/BudgetLine_getEngagedBudgetCell.xml
+++ b/bt5/erp5_budget/SkinTemplateItem/portal_skins/erp5_budget/BudgetLine_getEngagedBudgetCell.xml
@@ -66,7 +66,7 @@ try:\n
 except KeyError:\n
   engaged_budget_dict = container.REQUEST.other[script.getId()] = context.getEngagedBudgetDict()\n
 \n
-return getFakeBudgetCell(engaged_budget_dict[args])\n
+return getFakeBudgetCell(engaged_budget_dict.get(args))\n
 </string> </value>
         </item>
         <item>
diff --git a/bt5/erp5_budget/bt/revision b/bt5/erp5_budget/bt/revision
index 8975db9a05..65de5029b4 100644
--- a/bt5/erp5_budget/bt/revision
+++ b/bt5/erp5_budget/bt/revision
@@ -1 +1 @@
-293
\ No newline at end of file
+294
\ No newline at end of file
-- 
2.30.9


From cf29decb2fdac68afb932934ab4bd34f8f69d68c Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?J=C3=A9rome=20Perrin?= <jerome@nexedi.com>
Date: Thu, 22 Jul 2010 08:22:11 +0000
Subject: [PATCH 076/270] remove obsolete TODO, we no longer copy line
 membership on cells

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@37235 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 .../scripts/BudgetLine_updateCellRange.xml                     | 3 ---
 bt5/erp5_budget/bt/revision                                    | 2 +-
 2 files changed, 1 insertion(+), 4 deletions(-)

diff --git a/bt5/erp5_budget/WorkflowTemplateItem/portal_workflow/budget_line_interaction_workflow/scripts/BudgetLine_updateCellRange.xml b/bt5/erp5_budget/WorkflowTemplateItem/portal_workflow/budget_line_interaction_workflow/scripts/BudgetLine_updateCellRange.xml
index 78488bc0b6..2fd99a2eb4 100644
--- a/bt5/erp5_budget/WorkflowTemplateItem/portal_workflow/budget_line_interaction_workflow/scripts/BudgetLine_updateCellRange.xml
+++ b/bt5/erp5_budget/WorkflowTemplateItem/portal_workflow/budget_line_interaction_workflow/scripts/BudgetLine_updateCellRange.xml
@@ -58,9 +58,6 @@
 base_id = \'cell\'\n
 line.updateCellRange(base_id=base_id)\n
 \n
-# TODO: here we should update membership criterion category list on existing cell\n
-# and add an interaction on newCell to initialize this membership\n
-\n
 # also update membership criterion category list on line\n
 if line.getMembershipCriterionBaseCategoryList():\n
   line.setMembershipCriterionCategoryList([])\n
diff --git a/bt5/erp5_budget/bt/revision b/bt5/erp5_budget/bt/revision
index 65de5029b4..fb32aea383 100644
--- a/bt5/erp5_budget/bt/revision
+++ b/bt5/erp5_budget/bt/revision
@@ -1 +1 @@
-294
\ No newline at end of file
+296
\ No newline at end of file
-- 
2.30.9


From 7e61e5e038175be647cbd60d1599ea1900033e10 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?J=C3=A9rome=20Perrin?= <jerome@nexedi.com>
Date: Thu, 22 Jul 2010 08:37:28 +0000
Subject: [PATCH 077/270] test budget consumptions report

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@37236 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 product/ERP5/tests/testBudget.py | 151 ++++++++++++++++++++++++++++++-
 1 file changed, 150 insertions(+), 1 deletion(-)

diff --git a/product/ERP5/tests/testBudget.py b/product/ERP5/tests/testBudget.py
index 7578591fcf..10ebe0d860 100644
--- a/product/ERP5/tests/testBudget.py
+++ b/product/ERP5/tests/testBudget.py
@@ -637,10 +637,159 @@ class TestBudget(ERP5TypeTestCase):
         budget_line.getAvailableBudgetDict())
 
 
-    # Other TODOs:
+  def test_budget_consumption_report(self):
+    budget_model = self.portal.budget_model_module.newContent(
+                            portal_type='Budget Model')
+    budget_model.newContent(
+                    portal_type='Category Budget Variation',
+                    int_index=1,
+                    budget_variation='budget',
+                    inventory_axis='section_category',
+                    variation_base_category='group',)
+    budget_model.newContent(
+                    portal_type='Node Budget Variation',
+                    int_index=2,
+                    budget_variation='budget_cell',
+                    inventory_axis='node',
+                    variation_base_category='source',
+                    aggregate_value_list=(
+                      self.portal.account_module.goods_purchase,
+                      self.portal.account_module.fixed_assets,
+                    ))
+    budget_model.newContent(
+                    portal_type='Category Budget Variation',
+                    int_index=3,
+                    budget_variation='budget_cell',
+                    inventory_axis='node_category',
+                    variation_base_category='account_type',)
+
+    budget = self.portal.budget_module.newContent(
+                    portal_type='Budget',
+                    title='Budget Title',
+                    start_date_range_min=DateTime(2000, 1, 1),
+                    start_date_range_max=DateTime(2000, 12, 31),
+                    specialise_value=budget_model)
+
+    budget.edit(variation_category_list=['group/demo_group'])
+    budget_line = budget.newContent(portal_type='Budget Line',
+                                    title='Budget Line Title',)
+
+    # set the range, this will adjust the matrix
+    budget_line.edit(
+        variation_category_list=(
+          'source/account_module/goods_purchase',
+          'source/account_module/fixed_assets',
+          'account_type/asset', ))
+
+    # simuate a request and call Base_edit, which does all the work of creating
+    # cell and setting cell properties.
+    form = budget_line.BudgetLine_view
+    self.portal.REQUEST.other.update(
+        dict(AUTHENTICATED_USER=getSecurityManager().getUser(),
+
+             field_membership_criterion_base_category_list=
+        form.membership_criterion_base_category_list.get_value('default'),
+             field_mapped_value_property_list=
+        form.mapped_value_property_list.get_value('default'),
+
+             field_matrixbox_quantity_cell_0_0_0="",
+             field_matrixbox_membership_criterion_category_list_cell_0_0_0=[],
+             field_matrixbox_quantity_cell_1_0_0="200",
+             field_matrixbox_membership_criterion_category_list_cell_1_0_0=[
+               'source/account_module/fixed_assets',
+               'account_type/asset'],
+        ))
+    budget_line.Base_edit(form_id=form.getId())
+
+    atransaction = self.portal.accounting_module.newContent(
+                  portal_type='Accounting Transaction',
+                  resource_value=self.portal.currency_module.euro,
+                  source_section_value=self.portal.organisation_module.my_organisation,
+                  start_date=DateTime(2000, 1, 2))
+    atransaction.newContent(
+                  portal_type='Accounting Transaction Line',
+                  source_value=self.portal.account_module.goods_purchase,
+                  source_credit=100)
+    atransaction.newContent(
+                  portal_type='Accounting Transaction Line',
+                  source_value=self.portal.account_module.fixed_assets,
+                  source_debit=100)
+    atransaction.stop()
+
+    transaction.commit()
+    self.tic()
+   
+    # Budget_getBudgetConsumptionReportData returns all the data for the report
+    line_list, line_count = budget.Budget_getBudgetConsumptionReportData()
+    # the number of lines, which will be used in the report to set the print
+    # range
+    self.assertEquals(6, line_count)
+    # number of line can be different from the length of the line list, because
+    # line list is a recursive structure.
+    self.assertEquals(4, len(line_list))
+    
+    # first line is for the title of the budget
+    self.assertEquals('Budget Title', line_list[0]['title'])
+    self.assertTrue(line_list[0]['is_budget'])
+    
+    # then we have a first level for budget lines
+    self.assertEquals('Budget Line Title', line_list[1]['title'])
+    self.assertTrue(line_list[1]['is_level_1'])
+    # we can see global consumptions for the budget
+    self.assertEquals(200, line_list[2]['initial_budget'])
+    self.assertEquals(200, line_list[2]['current_budget'])
+    self.assertEquals(100, line_list[2]['consumed_budget'])
+    self.assertEquals(100, line_list[2]['engaged_budget'])
+    self.assertEquals(.5, line_list[2]['consumed_ratio'])
+    
+    # the dimensions are reversed in the budget report, so on level 2 we have
+    # the last dimension from cell range, here "account type"
+    self.assertEquals('Asset', line_list[2]['title'])
+    # we can see global consumptions for that summary line
+    self.assertEquals(200, line_list[2]['initial_budget'])
+    self.assertEquals(200, line_list[2]['current_budget'])
+    self.assertEquals(100, line_list[2]['consumed_budget'])
+    self.assertEquals(100, line_list[2]['engaged_budget'])
+    self.assertEquals(.5, line_list[2]['consumed_ratio'])
+
+    # no we have a recursive list, for the next dimension: node.
+    self.assertTrue(isinstance(line_list[3], list))
+    self.assertEquals(3, len(line_list[3]))
+
+    # first is again a title XXX why ??
+    self.assertEquals('Asset', line_list[3][0]['title'])
+    # then we have two level 3 cells
+    self.assertTrue(line_list[3][1]['is_level_3'])
+    self.assertEquals('Goods Purchase', line_list[3][1]['title'])
+    self.assertEquals(0, line_list[3][1]['initial_budget'])
+    self.assertEquals(0, line_list[3][1]['current_budget'])
+    self.assertEquals(0, line_list[3][1]['consumed_budget'])
+    self.assertEquals(0, line_list[3][1]['engaged_budget'])
+    self.assertEquals(0, line_list[3][1]['consumed_ratio'])
+
+    self.assertEquals('Fixed Assets', line_list[3][2]['title'])
+    self.assertEquals(200, line_list[3][2]['initial_budget'])
+    self.assertEquals(200, line_list[3][2]['current_budget'])
+    self.assertEquals(100, line_list[3][2]['consumed_budget'])
+    self.assertEquals(100, line_list[3][2]['engaged_budget'])
+    self.assertEquals(.5, line_list[3][2]['consumed_ratio'])
+
+    # validate report ODF
+    from Products.ERP5OOo.tests.utils import Validator
+    odf_validator = Validator()
+    odf = budget.Budget_viewBudgetConsumptionReport()
+    err_list = odf_validator.validate(odf)
+    if err_list:
+      self.fail(''.join(err_list))
+
+    
+  # Other TODOs:
 
   # section_category & summary
 
+  # budget level variation and budget cell level variation for same inventory
+  # axis
+
   # resource/price currency on budget ?
 
   # test virtual all others when cloning an existing budget
-- 
2.30.9


From e5362d723db8d9295631d577d617216230f668fa Mon Sep 17 00:00:00 2001
From: Nicolas Dumazet <nicolas.dumazet@nexedi.com>
Date: Thu, 22 Jul 2010 09:09:11 +0000
Subject: [PATCH 078/270] customize base_unit_quantity display so default value
 is shown

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@37237 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 .../CurrencyModule_viewCurrencyList.xml       |   9 ++
 .../listbox.xml                               |   8 +-
 .../listbox_base_unit_quantity.xml            | 130 ++++++++++++++++++
 bt5/erp5_base/bt/revision                     |   2 +-
 4 files changed, 144 insertions(+), 5 deletions(-)
 create mode 100644 bt5/erp5_base/SkinTemplateItem/portal_skins/erp5_base/CurrencyModule_viewCurrencyList/listbox_base_unit_quantity.xml

diff --git a/bt5/erp5_base/SkinTemplateItem/portal_skins/erp5_base/CurrencyModule_viewCurrencyList.xml b/bt5/erp5_base/SkinTemplateItem/portal_skins/erp5_base/CurrencyModule_viewCurrencyList.xml
index 0a92a82b85..0ee8426c22 100644
--- a/bt5/erp5_base/SkinTemplateItem/portal_skins/erp5_base/CurrencyModule_viewCurrencyList.xml
+++ b/bt5/erp5_base/SkinTemplateItem/portal_skins/erp5_base/CurrencyModule_viewCurrencyList.xml
@@ -53,6 +53,7 @@
             <value>
               <list>
                 <string>bottom</string>
+                <string>hidden</string>
               </list>
             </value>
         </item>
@@ -68,6 +69,14 @@
                       </list>
                     </value>
                 </item>
+                <item>
+                    <key> <string>hidden</string> </key>
+                    <value>
+                      <list>
+                        <string>listbox_base_unit_quantity</string>
+                      </list>
+                    </value>
+                </item>
               </dictionary>
             </value>
         </item>
diff --git a/bt5/erp5_base/SkinTemplateItem/portal_skins/erp5_base/CurrencyModule_viewCurrencyList/listbox.xml b/bt5/erp5_base/SkinTemplateItem/portal_skins/erp5_base/CurrencyModule_viewCurrencyList/listbox.xml
index e22400ae77..93abe06439 100644
--- a/bt5/erp5_base/SkinTemplateItem/portal_skins/erp5_base/CurrencyModule_viewCurrencyList/listbox.xml
+++ b/bt5/erp5_base/SkinTemplateItem/portal_skins/erp5_base/CurrencyModule_viewCurrencyList/listbox.xml
@@ -13,12 +13,12 @@
             <key> <string>delegated_list</string> </key>
             <value>
               <list>
-                <string>title</string>
-                <string>columns</string>
                 <string>all_columns</string>
-                <string>sort</string>
-                <string>selection_name</string>
+                <string>columns</string>
                 <string>portal_types</string>
+                <string>selection_name</string>
+                <string>sort</string>
+                <string>title</string>
               </list>
             </value>
         </item>
diff --git a/bt5/erp5_base/SkinTemplateItem/portal_skins/erp5_base/CurrencyModule_viewCurrencyList/listbox_base_unit_quantity.xml b/bt5/erp5_base/SkinTemplateItem/portal_skins/erp5_base/CurrencyModule_viewCurrencyList/listbox_base_unit_quantity.xml
new file mode 100644
index 0000000000..8024f4e01b
--- /dev/null
+++ b/bt5/erp5_base/SkinTemplateItem/portal_skins/erp5_base/CurrencyModule_viewCurrencyList/listbox_base_unit_quantity.xml
@@ -0,0 +1,130 @@
+<?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>default</string>
+                <string>title</string>
+              </list>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>listbox_base_unit_quantity</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>default</string> </key>
+                    <value>
+                      <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
+                    </value>
+                </item>
+                <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>
+                <item>
+                    <key> <string>title</string> </key>
+                    <value> <string></string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>values</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>default</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>field_id</string> </key>
+                    <value> <string>my_money_quantity</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>Precision</string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+      </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>cell/getBaseUnitQuantity</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_base/bt/revision b/bt5/erp5_base/bt/revision
index 233a64e672..7438337bf9 100644
--- a/bt5/erp5_base/bt/revision
+++ b/bt5/erp5_base/bt/revision
@@ -1 +1 @@
-811
\ No newline at end of file
+812
-- 
2.30.9


From 4e7d3bf70afc4e8683275ed001cf71a6458a3863 Mon Sep 17 00:00:00 2001
From: Romain Courteaud <romain@nexedi.com>
Date: Thu, 22 Jul 2010 11:28:06 +0000
Subject: [PATCH 079/270] Solver Process Tool has to be accessible to all
 users. Solvers have to be accessible to all users.

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@37238 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 .../portal_solver_processes.xml               | 1378 -----------------
 .../portal_workflow/solver_workflow.xml       |    5 +-
 .../solver_workflow/states/draft.xml          |   37 +-
 .../solver_workflow/states/failed.xml         |   37 +-
 .../solver_workflow/states/solved.xml         |   37 +-
 .../solver_workflow/states/solving.xml        |   19 +-
 bt5/erp5_base/bt/revision                     |    2 +-
 7 files changed, 6 insertions(+), 1509 deletions(-)

diff --git a/bt5/erp5_base/ToolTemplateItem/portal_solver_processes.xml b/bt5/erp5_base/ToolTemplateItem/portal_solver_processes.xml
index 671ee08c0a..17be3224b3 100644
--- a/bt5/erp5_base/ToolTemplateItem/portal_solver_processes.xml
+++ b/bt5/erp5_base/ToolTemplateItem/portal_solver_processes.xml
@@ -9,1311 +9,6 @@
     </pickle>
     <pickle>
       <dictionary>
-        <item>
-            <key> <string>_Access_Transient_Objects_Permission</string> </key>
-            <value>
-              <tuple>
-                <string>Assignee</string>
-                <string>Assignor</string>
-                <string>Associate</string>
-                <string>Auditor</string>
-                <string>Author</string>
-                <string>Manager</string>
-              </tuple>
-            </value>
-        </item>
-        <item>
-            <key> <string>_Access_arbitrary_user_session_data_Permission</string> </key>
-            <value>
-              <tuple>
-                <string>Manager</string>
-              </tuple>
-            </value>
-        </item>
-        <item>
-            <key> <string>_Access_contents_information_Permission</string> </key>
-            <value>
-              <tuple>
-                <string>Assignee</string>
-                <string>Assignor</string>
-                <string>Associate</string>
-                <string>Auditor</string>
-                <string>Author</string>
-                <string>Manager</string>
-              </tuple>
-            </value>
-        </item>
-        <item>
-            <key> <string>_Access_future_portal_content_Permission</string> </key>
-            <value>
-              <tuple>
-                <string>Manager</string>
-              </tuple>
-            </value>
-        </item>
-        <item>
-            <key> <string>_Access_inactive_portal_content_Permission</string> </key>
-            <value>
-              <tuple>
-                <string>Manager</string>
-              </tuple>
-            </value>
-        </item>
-        <item>
-            <key> <string>_Access_session_data_Permission</string> </key>
-            <value>
-              <tuple>
-                <string>Assignee</string>
-                <string>Assignor</string>
-                <string>Associate</string>
-                <string>Auditor</string>
-                <string>Author</string>
-                <string>Manager</string>
-              </tuple>
-            </value>
-        </item>
-        <item>
-            <key> <string>_Add_Accelerated_HTTP_Cache_Managers_Permission</string> </key>
-            <value>
-              <tuple>
-                <string>Manager</string>
-              </tuple>
-            </value>
-        </item>
-        <item>
-            <key> <string>_Add_BTreeFolder2s_Permission</string> </key>
-            <value>
-              <tuple>
-                <string>Manager</string>
-              </tuple>
-            </value>
-        </item>
-        <item>
-            <key> <string>_Add_Browser_Id_Manager_Permission</string> </key>
-            <value>
-              <tuple>
-                <string>Manager</string>
-              </tuple>
-            </value>
-        </item>
-        <item>
-            <key> <string>_Add_CMFActivity_Tools_Permission</string> </key>
-            <value>
-              <tuple>
-                <string>Manager</string>
-              </tuple>
-            </value>
-        </item>
-        <item>
-            <key> <string>_Add_CMFCategory_Tools_Permission</string> </key>
-            <value>
-              <tuple>
-                <string>Manager</string>
-              </tuple>
-            </value>
-        </item>
-        <item>
-            <key> <string>_Add_CMFMailIn_Tools_Permission</string> </key>
-            <value>
-              <tuple>
-                <string>Manager</string>
-              </tuple>
-            </value>
-        </item>
-        <item>
-            <key> <string>_Add_CMF_Action_Icons_Tools_Permission</string> </key>
-            <value>
-              <tuple>
-                <string>Manager</string>
-              </tuple>
-            </value>
-        </item>
-        <item>
-            <key> <string>_Add_CMF_Active_Processs_Permission</string> </key>
-            <value>
-              <tuple>
-                <string>Manager</string>
-              </tuple>
-            </value>
-        </item>
-        <item>
-            <key> <string>_Add_CMF_Caching_Policy_Managers_Permission</string> </key>
-            <value>
-              <tuple>
-                <string>Manager</string>
-              </tuple>
-            </value>
-        </item>
-        <item>
-            <key> <string>_Add_CMF_Calendar_Tools_Permission</string> </key>
-            <value>
-              <tuple>
-                <string>Manager</string>
-              </tuple>
-            </value>
-        </item>
-        <item>
-            <key> <string>_Add_CMF_Core_Tools_Permission</string> </key>
-            <value>
-              <tuple>
-                <string>Manager</string>
-              </tuple>
-            </value>
-        </item>
-        <item>
-            <key> <string>_Add_CMF_Default_Tools_Permission</string> </key>
-            <value>
-              <tuple>
-                <string>Manager</string>
-              </tuple>
-            </value>
-        </item>
-        <item>
-            <key> <string>_Add_CMF_Setup_Tools_Permission</string> </key>
-            <value>
-              <tuple>
-                <string>Manager</string>
-              </tuple>
-            </value>
-        </item>
-        <item>
-            <key> <string>_Add_CMF_Sites_Permission</string> </key>
-            <value>
-              <tuple>
-                <string>Manager</string>
-              </tuple>
-            </value>
-        </item>
-        <item>
-            <key> <string>_Add_CMF_Unique_Id_Tools_Permission</string> </key>
-            <value>
-              <tuple>
-                <string>Manager</string>
-              </tuple>
-            </value>
-        </item>
-        <item>
-            <key> <string>_Add_Configured_CMF_Sites_Permission</string> </key>
-            <value>
-              <tuple>
-                <string>Manager</string>
-              </tuple>
-            </value>
-        </item>
-        <item>
-            <key> <string>_Add_Content_Type_Registrys_Permission</string> </key>
-            <value>
-              <tuple>
-                <string>Manager</string>
-              </tuple>
-            </value>
-        </item>
-        <item>
-            <key> <string>_Add_Cookie_Crumblers_Permission</string> </key>
-            <value>
-              <tuple>
-                <string>Manager</string>
-              </tuple>
-            </value>
-        </item>
-        <item>
-            <key> <string>_Add_Database_Methods_Permission</string> </key>
-            <value>
-              <tuple>
-                <string>Manager</string>
-              </tuple>
-            </value>
-        </item>
-        <item>
-            <key> <string>_Add_Documents__Images__and_Files_Permission</string> </key>
-            <value>
-              <tuple>
-                <string>Manager</string>
-              </tuple>
-            </value>
-        </item>
-        <item>
-            <key> <string>_Add_ERP5Catalog_Tools_Permission</string> </key>
-            <value>
-              <tuple>
-                <string>Manager</string>
-              </tuple>
-            </value>
-        </item>
-        <item>
-            <key> <string>_Add_ERP5Form_Tools_Permission</string> </key>
-            <value>
-              <tuple>
-                <string>Manager</string>
-              </tuple>
-            </value>
-        </item>
-        <item>
-            <key> <string>_Add_ERP5Subversion_Tools_Permission</string> </key>
-            <value>
-              <tuple>
-                <string>Manager</string>
-              </tuple>
-            </value>
-        </item>
-        <item>
-            <key> <string>_Add_ERP5SyncML_Tools_Permission</string> </key>
-            <value>
-              <tuple>
-                <string>Manager</string>
-              </tuple>
-            </value>
-        </item>
-        <item>
-            <key> <string>_Add_ERP5Type_Tools_Permission</string> </key>
-            <value>
-              <tuple>
-                <string>Manager</string>
-              </tuple>
-            </value>
-        </item>
-        <item>
-            <key> <string>_Add_ERP5_Filesystem_Formulator_Forms_Permission</string> </key>
-            <value>
-              <tuple>
-                <string>Manager</string>
-              </tuple>
-            </value>
-        </item>
-        <item>
-            <key> <string>_Add_ERP5_Form_Printouts_Permission</string> </key>
-            <value>
-              <tuple>
-                <string>Manager</string>
-              </tuple>
-            </value>
-        </item>
-        <item>
-            <key> <string>_Add_ERP5_Forms_Permission</string> </key>
-            <value>
-              <tuple>
-                <string>Manager</string>
-              </tuple>
-            </value>
-        </item>
-        <item>
-            <key> <string>_Add_ERP5_OOo_Templates_Permission</string> </key>
-            <value>
-              <tuple>
-                <string>Manager</string>
-              </tuple>
-            </value>
-        </item>
-        <item>
-            <key> <string>_Add_ERP5_PDF_Forms_Permission</string> </key>
-            <value>
-              <tuple>
-                <string>Manager</string>
-              </tuple>
-            </value>
-        </item>
-        <item>
-            <key> <string>_Add_ERP5_PDF_Templates_Permission</string> </key>
-            <value>
-              <tuple>
-                <string>Manager</string>
-              </tuple>
-            </value>
-        </item>
-        <item>
-            <key> <string>_Add_ERP5_Publications_Permission</string> </key>
-            <value>
-              <tuple>
-                <string>Manager</string>
-              </tuple>
-            </value>
-        </item>
-        <item>
-            <key> <string>_Add_ERP5_Reports_Permission</string> </key>
-            <value>
-              <tuple>
-                <string>Manager</string>
-              </tuple>
-            </value>
-        </item>
-        <item>
-            <key> <string>_Add_ERP5_Sites_Permission</string> </key>
-            <value>
-              <tuple>
-                <string>Manager</string>
-              </tuple>
-            </value>
-        </item>
-        <item>
-            <key> <string>_Add_ERP5_Subscriptions_Permission</string> </key>
-            <value>
-              <tuple>
-                <string>Manager</string>
-              </tuple>
-            </value>
-        </item>
-        <item>
-            <key> <string>_Add_ERP5_Tools_Permission</string> </key>
-            <value>
-              <tuple>
-                <string>Manager</string>
-              </tuple>
-            </value>
-        </item>
-        <item>
-            <key> <string>_Add_ExtFiles_Permission</string> </key>
-            <value>
-              <tuple>
-                <string>Manager</string>
-              </tuple>
-            </value>
-        </item>
-        <item>
-            <key> <string>_Add_ExtImages_Permission</string> </key>
-            <value>
-              <tuple>
-                <string>Manager</string>
-              </tuple>
-            </value>
-        </item>
-        <item>
-            <key> <string>_Add_External_Methods_Permission</string> </key>
-            <value>
-              <tuple>
-                <string>Manager</string>
-              </tuple>
-            </value>
-        </item>
-        <item>
-            <key> <string>_Add_Filesystem_Directory_Views_Permission</string> </key>
-            <value>
-              <tuple>
-                <string>Manager</string>
-              </tuple>
-            </value>
-        </item>
-        <item>
-            <key> <string>_Add_Folders_Permission</string> </key>
-            <value>
-              <tuple>
-                <string>Manager</string>
-              </tuple>
-            </value>
-        </item>
-        <item>
-            <key> <string>_Add_Formulator_Forms_Permission</string> </key>
-            <value>
-              <tuple>
-                <string>Manager</string>
-              </tuple>
-            </value>
-        </item>
-        <item>
-            <key> <string>_Add_LocalContents_Permission</string> </key>
-            <value>
-              <tuple>
-                <string>Manager</string>
-              </tuple>
-            </value>
-        </item>
-        <item>
-            <key> <string>_Add_LocalFolders_Permission</string> </key>
-            <value>
-              <tuple>
-                <string>Manager</string>
-              </tuple>
-            </value>
-        </item>
-        <item>
-            <key> <string>_Add_Localizers_Permission</string> </key>
-            <value>
-              <tuple>
-                <string>Manager</string>
-              </tuple>
-            </value>
-        </item>
-        <item>
-            <key> <string>_Add_MailHost_objects_Permission</string> </key>
-            <value>
-              <tuple>
-                <string>Manager</string>
-              </tuple>
-            </value>
-        </item>
-        <item>
-            <key> <string>_Add_MessageCatalogs_Permission</string> </key>
-            <value>
-              <tuple>
-                <string>Manager</string>
-              </tuple>
-            </value>
-        </item>
-        <item>
-            <key> <string>_Add_MimetypesRegistry_Tools_Permission</string> </key>
-            <value>
-              <tuple>
-                <string>Manager</string>
-              </tuple>
-            </value>
-        </item>
-        <item>
-            <key> <string>_Add_Page_Templates_Permission</string> </key>
-            <value>
-              <tuple>
-                <string>Manager</string>
-              </tuple>
-            </value>
-        </item>
-        <item>
-            <key> <string>_Add_Pluggable_Index_Permission</string> </key>
-            <value>
-              <tuple>
-                <string>Manager</string>
-              </tuple>
-            </value>
-        </item>
-        <item>
-            <key> <string>_Add_Plugin_Registrys_Permission</string> </key>
-            <value>
-              <tuple>
-                <string>Manager</string>
-              </tuple>
-            </value>
-        </item>
-        <item>
-            <key> <string>_Add_PortalTransforms_Tools_Permission</string> </key>
-            <value>
-              <tuple>
-                <string>Manager</string>
-              </tuple>
-            </value>
-        </item>
-        <item>
-            <key> <string>_Add_Python_Scripts_Permission</string> </key>
-            <value>
-              <tuple>
-                <string>Manager</string>
-              </tuple>
-            </value>
-        </item>
-        <item>
-            <key> <string>_Add_RAM_Cache_Managers_Permission</string> </key>
-            <value>
-              <tuple>
-                <string>Manager</string>
-              </tuple>
-            </value>
-        </item>
-        <item>
-            <key> <string>_Add_ReStructuredText_Documents_Permission</string> </key>
-            <value>
-              <tuple>
-                <string>Manager</string>
-              </tuple>
-            </value>
-        </item>
-        <item>
-            <key> <string>_Add_Session_Data_Manager_Permission</string> </key>
-            <value>
-              <tuple>
-                <string>Manager</string>
-              </tuple>
-            </value>
-        </item>
-        <item>
-            <key> <string>_Add_Site_Roots_Permission</string> </key>
-            <value>
-              <tuple>
-                <string>Manager</string>
-              </tuple>
-            </value>
-        </item>
-        <item>
-            <key> <string>_Add_Temporary_Folder_Permission</string> </key>
-            <value>
-              <tuple>
-                <string>Manager</string>
-              </tuple>
-            </value>
-        </item>
-        <item>
-            <key> <string>_Add_Transient_Object_Container_Permission</string> </key>
-            <value>
-              <tuple>
-                <string>Manager</string>
-              </tuple>
-            </value>
-        </item>
-        <item>
-            <key> <string>_Add_User_Folders_Permission</string> </key>
-            <value>
-              <tuple>
-                <string>Manager</string>
-              </tuple>
-            </value>
-        </item>
-        <item>
-            <key> <string>_Add_Virtual_Host_Monsters_Permission</string> </key>
-            <value>
-              <tuple>
-                <string>Manager</string>
-              </tuple>
-            </value>
-        </item>
-        <item>
-            <key> <string>_Add_Vocabularies_Permission</string> </key>
-            <value>
-              <tuple>
-                <string>Manager</string>
-              </tuple>
-            </value>
-        </item>
-        <item>
-            <key> <string>_Add_ZCatalogs_Permission</string> </key>
-            <value>
-              <tuple>
-                <string>Manager</string>
-              </tuple>
-            </value>
-        </item>
-        <item>
-            <key> <string>_Add_ZMailIn_Clients_Permission</string> </key>
-            <value>
-              <tuple>
-                <string>Manager</string>
-              </tuple>
-            </value>
-        </item>
-        <item>
-            <key> <string>_Add_ZMailMessages_Permission</string> </key>
-            <value>
-              <tuple>
-                <string>Manager</string>
-              </tuple>
-            </value>
-        </item>
-        <item>
-            <key> <string>_Add_ZODB_Mount_Points_Permission</string> </key>
-            <value>
-              <tuple>
-                <string>Manager</string>
-              </tuple>
-            </value>
-        </item>
-        <item>
-            <key> <string>_Add_Z_Gadfly_Database_Connections_Permission</string> </key>
-            <value>
-              <tuple>
-                <string>Manager</string>
-              </tuple>
-            </value>
-        </item>
-        <item>
-            <key> <string>_Add_Z_MySQL_Database_Connections_Permission</string> </key>
-            <value>
-              <tuple>
-                <string>Manager</string>
-              </tuple>
-            </value>
-        </item>
-        <item>
-            <key> <string>_Add_Z_MySQL_Deferred_Database_Connections_Permission</string> </key>
-            <value>
-              <tuple>
-                <string>Manager</string>
-              </tuple>
-            </value>
-        </item>
-        <item>
-            <key> <string>_Add_Zope_Tutorials_Permission</string> </key>
-            <value>
-              <tuple>
-                <string>Manager</string>
-              </tuple>
-            </value>
-        </item>
-        <item>
-            <key> <string>_Add_portal_content_Permission</string> </key>
-            <value>
-              <tuple>
-                <string>Assignor</string>
-                <string>Author</string>
-                <string>Manager</string>
-                <string>Member</string>
-              </tuple>
-            </value>
-        </item>
-        <item>
-            <key> <string>_Add_portal_events_Permission</string> </key>
-            <value>
-              <tuple>
-                <string>Manager</string>
-              </tuple>
-            </value>
-        </item>
-        <item>
-            <key> <string>_Add_portal_folders_Permission</string> </key>
-            <value>
-              <tuple>
-                <string>Assignor</string>
-                <string>Author</string>
-                <string>Manager</string>
-              </tuple>
-            </value>
-        </item>
-        <item>
-            <key> <string>_Add_portal_member_Permission</string> </key>
-            <value>
-              <tuple>
-                <string>Manager</string>
-              </tuple>
-            </value>
-        </item>
-        <item>
-            <key> <string>_Add_portal_topics_Permission</string> </key>
-            <value>
-              <tuple>
-                <string>Manager</string>
-              </tuple>
-            </value>
-        </item>
-        <item>
-            <key> <string>_Change_Browser_Id_Manager_Permission</string> </key>
-            <value>
-              <tuple>
-                <string>Manager</string>
-              </tuple>
-            </value>
-        </item>
-        <item>
-            <key> <string>_Change_DTML_Documents_Permission</string> </key>
-            <value>
-              <tuple>
-                <string>Manager</string>
-              </tuple>
-            </value>
-        </item>
-        <item>
-            <key> <string>_Change_DTML_Methods_Permission</string> </key>
-            <value>
-              <tuple>
-                <string>Manager</string>
-              </tuple>
-            </value>
-        </item>
-        <item>
-            <key> <string>_Change_Database_Connections_Permission</string> </key>
-            <value>
-              <tuple>
-                <string>Manager</string>
-              </tuple>
-            </value>
-        </item>
-        <item>
-            <key> <string>_Change_Database_Methods_Permission</string> </key>
-            <value>
-              <tuple>
-                <string>Manager</string>
-              </tuple>
-            </value>
-        </item>
-        <item>
-            <key> <string>_Change_ExtFile_ExtImage_Permission</string> </key>
-            <value>
-              <tuple>
-                <string>Manager</string>
-              </tuple>
-            </value>
-        </item>
-        <item>
-            <key> <string>_Change_External_Methods_Permission</string> </key>
-            <value>
-              <tuple>
-                <string>Manager</string>
-              </tuple>
-            </value>
-        </item>
-        <item>
-            <key> <string>_Change_Formulator_Fields_Permission</string> </key>
-            <value>
-              <tuple>
-                <string>Manager</string>
-              </tuple>
-            </value>
-        </item>
-        <item>
-            <key> <string>_Change_Formulator_Forms_Permission</string> </key>
-            <value>
-              <tuple>
-                <string>Manager</string>
-              </tuple>
-            </value>
-        </item>
-        <item>
-            <key> <string>_Change_Images_and_Files_Permission</string> </key>
-            <value>
-              <tuple>
-                <string>Manager</string>
-              </tuple>
-            </value>
-        </item>
-        <item>
-            <key> <string>_Change_Lock_Information_Permission</string> </key>
-            <value>
-              <tuple>
-                <string>Manager</string>
-              </tuple>
-            </value>
-        </item>
-        <item>
-            <key> <string>_Change_Page_Templates_Permission</string> </key>
-            <value>
-              <tuple>
-                <string>Manager</string>
-              </tuple>
-            </value>
-        </item>
-        <item>
-            <key> <string>_Change_Python_Scripts_Permission</string> </key>
-            <value>
-              <tuple>
-                <string>Manager</string>
-              </tuple>
-            </value>
-        </item>
-        <item>
-            <key> <string>_Change_Session_Data_Manager_Permission</string> </key>
-            <value>
-              <tuple>
-                <string>Manager</string>
-              </tuple>
-            </value>
-        </item>
-        <item>
-            <key> <string>_Change_Versions_Permission</string> </key>
-            <value>
-              <tuple>
-                <string>Manager</string>
-              </tuple>
-            </value>
-        </item>
-        <item>
-            <key> <string>_Change_ZMailIn_Permission</string> </key>
-            <value>
-              <tuple>
-                <string>Manager</string>
-              </tuple>
-            </value>
-        </item>
-        <item>
-            <key> <string>_Change_ZMailMessages_Permission</string> </key>
-            <value>
-              <tuple>
-                <string>Manager</string>
-              </tuple>
-            </value>
-        </item>
-        <item>
-            <key> <string>_Change_bindings_Permission</string> </key>
-            <value>
-              <tuple>
-                <string>Manager</string>
-              </tuple>
-            </value>
-        </item>
-        <item>
-            <key> <string>_Change_cache_managers_Permission</string> </key>
-            <value>
-              <tuple>
-                <string>Manager</string>
-              </tuple>
-            </value>
-        </item>
-        <item>
-            <key> <string>_Change_cache_settings_Permission</string> </key>
-            <value>
-              <tuple>
-                <string>Manager</string>
-              </tuple>
-            </value>
-        </item>
-        <item>
-            <key> <string>_Change_configuration_Permission</string> </key>
-            <value>
-              <tuple>
-                <string>Manager</string>
-              </tuple>
-            </value>
-        </item>
-        <item>
-            <key> <string>_Change_local_roles_Permission</string> </key>
-            <value>
-              <tuple>
-                <string>Assignor</string>
-                <string>Manager</string>
-              </tuple>
-            </value>
-        </item>
-        <item>
-            <key> <string>_Change_permissions_Permission</string> </key>
-            <value>
-              <tuple>
-                <string>Manager</string>
-              </tuple>
-            </value>
-        </item>
-        <item>
-            <key> <string>_Change_portal_events_Permission</string> </key>
-            <value>
-              <tuple>
-                <string>Manager</string>
-              </tuple>
-            </value>
-        </item>
-        <item>
-            <key> <string>_Change_portal_topics_Permission</string> </key>
-            <value>
-              <tuple>
-                <string>Manager</string>
-              </tuple>
-            </value>
-        </item>
-        <item>
-            <key> <string>_Change_proxy_roles_Permission</string> </key>
-            <value>
-              <tuple>
-                <string>Manager</string>
-              </tuple>
-            </value>
-        </item>
-        <item>
-            <key> <string>_Copy_or_Move_Permission</string> </key>
-            <value>
-              <tuple>
-                <string>Assignee</string>
-                <string>Assignor</string>
-                <string>Associate</string>
-                <string>Auditor</string>
-                <string>Author</string>
-                <string>Manager</string>
-              </tuple>
-            </value>
-        </item>
-        <item>
-            <key> <string>_Create_Transient_Objects_Permission</string> </key>
-            <value>
-              <tuple>
-                <string>Manager</string>
-              </tuple>
-            </value>
-        </item>
-        <item>
-            <key> <string>_Create_class_instances_Permission</string> </key>
-            <value>
-              <tuple>
-                <string>Manager</string>
-              </tuple>
-            </value>
-        </item>
-        <item>
-            <key> <string>_Define_permissions_Permission</string> </key>
-            <value>
-              <tuple>
-                <string>Manager</string>
-              </tuple>
-            </value>
-        </item>
-        <item>
-            <key> <string>_Delete_objects_Permission</string> </key>
-            <value>
-              <tuple>
-                <string>Assignor</string>
-                <string>Manager</string>
-              </tuple>
-            </value>
-        </item>
-        <item>
-            <key> <string>_Download_ExtFile_ExtImage_Permission</string> </key>
-            <value>
-              <tuple>
-                <string>Manager</string>
-              </tuple>
-            </value>
-        </item>
-        <item>
-            <key> <string>_Edit_Factories_Permission</string> </key>
-            <value>
-              <tuple>
-                <string>Manager</string>
-              </tuple>
-            </value>
-        </item>
-        <item>
-            <key> <string>_Edit_ReStructuredText_Permission</string> </key>
-            <value>
-              <tuple>
-                <string>Manager</string>
-              </tuple>
-            </value>
-        </item>
-        <item>
-            <key> <string>_Edit_target_Permission</string> </key>
-            <value>
-              <tuple>
-                <string>Manager</string>
-              </tuple>
-            </value>
-        </item>
-        <item>
-            <key> <string>_FTP_access_Permission</string> </key>
-            <value>
-              <tuple>
-                <string>Manager</string>
-              </tuple>
-            </value>
-        </item>
-        <item>
-            <key> <string>_Import_Export_objects_Permission</string> </key>
-            <value>
-              <tuple>
-                <string>Manager</string>
-              </tuple>
-            </value>
-        </item>
-        <item>
-            <key> <string>_Join_leave_Versions_Permission</string> </key>
-            <value>
-              <tuple>
-                <string>Manager</string>
-              </tuple>
-            </value>
-        </item>
-        <item>
-            <key> <string>_List_folder_contents_Permission</string> </key>
-            <value>
-              <tuple>
-                <string>Assignee</string>
-                <string>Assignor</string>
-                <string>Associate</string>
-                <string>Auditor</string>
-                <string>Author</string>
-                <string>Manager</string>
-              </tuple>
-            </value>
-        </item>
-        <item>
-            <key> <string>_List_portal_members_Permission</string> </key>
-            <value>
-              <tuple>
-                <string>Manager</string>
-              </tuple>
-            </value>
-        </item>
-        <item>
-            <key> <string>_List_undoable_changes_Permission</string> </key>
-            <value>
-              <tuple>
-                <string>Manager</string>
-              </tuple>
-            </value>
-        </item>
-        <item>
-            <key> <string>_Log_Site_Errors_Permission</string> </key>
-            <value>
-              <tuple>
-                <string>Manager</string>
-              </tuple>
-            </value>
-        </item>
-        <item>
-            <key> <string>_Log_to_the_Event_Log_Permission</string> </key>
-            <value>
-              <tuple>
-                <string>Manager</string>
-              </tuple>
-            </value>
-        </item>
-        <item>
-            <key> <string>_Mail_forgotten_password_Permission</string> </key>
-            <value>
-              <tuple>
-                <string>Manager</string>
-              </tuple>
-            </value>
-        </item>
-        <item>
-            <key> <string>_Manage_Access_Rules_Permission</string> </key>
-            <value>
-              <tuple>
-                <string>Manager</string>
-              </tuple>
-            </value>
-        </item>
-        <item>
-            <key> <string>_Manage_Groups_Permission</string> </key>
-            <value>
-              <tuple>
-                <string>Manager</string>
-              </tuple>
-            </value>
-        </item>
-        <item>
-            <key> <string>_Manage_Selenium_test_cases_Permission</string> </key>
-            <value>
-              <tuple>
-                <string>Manager</string>
-              </tuple>
-            </value>
-        </item>
-        <item>
-            <key> <string>_Manage_Transient_Object_Container_Permission</string> </key>
-            <value>
-              <tuple>
-                <string>Manager</string>
-              </tuple>
-            </value>
-        </item>
-        <item>
-            <key> <string>_Manage_Vocabulary_Permission</string> </key>
-            <value>
-              <tuple>
-                <string>Manager</string>
-              </tuple>
-            </value>
-        </item>
-        <item>
-            <key> <string>_Manage_WebDAV_Locks_Permission</string> </key>
-            <value>
-              <tuple>
-                <string>Manager</string>
-              </tuple>
-            </value>
-        </item>
-        <item>
-            <key> <string>_Manage_ZCatalogIndex_Entries_Permission</string> </key>
-            <value>
-              <tuple>
-                <string>Manager</string>
-              </tuple>
-            </value>
-        </item>
-        <item>
-            <key> <string>_Manage_ZCatalog_Entries_Permission</string> </key>
-            <value>
-              <tuple>
-                <string>Manager</string>
-              </tuple>
-            </value>
-        </item>
-        <item>
-            <key> <string>_Manage_Z_Classes_Permission</string> </key>
-            <value>
-              <tuple>
-                <string>Manager</string>
-              </tuple>
-            </value>
-        </item>
-        <item>
-            <key> <string>_Manage_languages_Permission</string> </key>
-            <value>
-              <tuple>
-                <string>Manager</string>
-              </tuple>
-            </value>
-        </item>
-        <item>
-            <key> <string>_Manage_messages_Permission</string> </key>
-            <value>
-              <tuple>
-                <string>Manager</string>
-              </tuple>
-            </value>
-        </item>
-        <item>
-            <key> <string>_Manage_portal_Permission</string> </key>
-            <value>
-              <tuple>
-                <string>Manager</string>
-              </tuple>
-            </value>
-        </item>
-        <item>
-            <key> <string>_Manage_properties_Permission</string> </key>
-            <value>
-              <tuple>
-                <string>Manager</string>
-              </tuple>
-            </value>
-        </item>
-        <item>
-            <key> <string>_Manage_users_Permission</string> </key>
-            <value>
-              <tuple>
-                <string>Manager</string>
-              </tuple>
-            </value>
-        </item>
-        <item>
-            <key> <string>_Modify_Cookie_Crumblers_Permission</string> </key>
-            <value>
-              <tuple>
-                <string>Manager</string>
-              </tuple>
-            </value>
-        </item>
-        <item>
-            <key> <string>_Modify_portal_content_Permission</string> </key>
-            <value>
-              <tuple>
-                <string>Assignor</string>
-                <string>Manager</string>
-              </tuple>
-            </value>
-        </item>
-        <item>
-            <key> <string>_Open_Close_Database_Connection_Permission</string> </key>
-            <value>
-              <tuple>
-                <string>Manager</string>
-              </tuple>
-            </value>
-        </item>
-        <item>
-            <key> <string>_Open_Close_Database_Connections_Permission</string> </key>
-            <value>
-              <tuple>
-                <string>Manager</string>
-              </tuple>
-            </value>
-        </item>
-        <item>
-            <key> <string>_Post_mail_to_ZMailIn_Permission</string> </key>
-            <value>
-              <tuple>
-                <string>Manager</string>
-              </tuple>
-            </value>
-        </item>
-        <item>
-            <key> <string>_Query_Vocabulary_Permission</string> </key>
-            <value>
-              <tuple>
-                <string>Manager</string>
-              </tuple>
-            </value>
-        </item>
-        <item>
-            <key> <string>_Reply_to_item_Permission</string> </key>
-            <value>
-              <tuple>
-                <string>Manager</string>
-              </tuple>
-            </value>
-        </item>
-        <item>
-            <key> <string>_Request_review_Permission</string> </key>
-            <value>
-              <tuple>
-                <string>Manager</string>
-              </tuple>
-            </value>
-        </item>
-        <item>
-            <key> <string>_Review_portal_content_Permission</string> </key>
-            <value>
-              <tuple>
-                <string>Manager</string>
-              </tuple>
-            </value>
-        </item>
-        <item>
-            <key> <string>_Save_discard_Version_changes_Permission</string> </key>
-            <value>
-              <tuple>
-                <string>Manager</string>
-              </tuple>
-            </value>
-        </item>
-        <item>
-            <key> <string>_Search_ZCatalog_Permission</string> </key>
-            <value>
-              <tuple>
-                <string>Manager</string>
-              </tuple>
-            </value>
-        </item>
-        <item>
-            <key> <string>_Search_for_principals_Permission</string> </key>
-            <value>
-              <tuple>
-                <string>Manager</string>
-              </tuple>
-            </value>
-        </item>
-        <item>
-            <key> <string>_Set_own_password_Permission</string> </key>
-            <value>
-              <tuple>
-                <string>Manager</string>
-              </tuple>
-            </value>
-        </item>
-        <item>
-            <key> <string>_Set_own_properties_Permission</string> </key>
-            <value>
-              <tuple>
-                <string>Manager</string>
-              </tuple>
-            </value>
-        </item>
-        <item>
-            <key> <string>_Take_ownership_Permission</string> </key>
-            <value>
-              <tuple>
-                <string>Manager</string>
-              </tuple>
-            </value>
-        </item>
-        <item>
-            <key> <string>_Test_Database_Connections_Permission</string> </key>
-            <value>
-              <tuple>
-                <string>Manager</string>
-              </tuple>
-            </value>
-        </item>
-        <item>
-            <key> <string>_Translate_Content_Permission</string> </key>
-            <value>
-              <tuple>
-                <string>Manager</string>
-              </tuple>
-            </value>
-        </item>
-        <item>
-            <key> <string>_Undo_changes_Permission</string> </key>
-            <value>
-              <tuple>
-                <string>Manager</string>
-              </tuple>
-            </value>
-        </item>
-        <item>
-            <key> <string>_Use_Database_Methods_Permission</string> </key>
-            <value>
-              <tuple>
-                <string>Manager</string>
-              </tuple>
-            </value>
-        </item>
-        <item>
-            <key> <string>_Use_Factories_Permission</string> </key>
-            <value>
-              <tuple>
-                <string>Manager</string>
-              </tuple>
-            </value>
-        </item>
         <item>
             <key> <string>_Use_external_editor_Permission</string> </key>
             <value>
@@ -1322,79 +17,6 @@
               </tuple>
             </value>
         </item>
-        <item>
-            <key> <string>_Use_mailhost_services_Permission</string> </key>
-            <value>
-              <tuple>
-                <string>Manager</string>
-              </tuple>
-            </value>
-        </item>
-        <item>
-            <key> <string>_View_History_Permission</string> </key>
-            <value>
-              <tuple>
-                <string>Assignee</string>
-                <string>Assignor</string>
-                <string>Associate</string>
-                <string>Auditor</string>
-                <string>Author</string>
-                <string>Manager</string>
-              </tuple>
-            </value>
-        </item>
-        <item>
-            <key> <string>_View_Permission</string> </key>
-            <value>
-              <tuple>
-                <string>Assignee</string>
-                <string>Assignor</string>
-                <string>Associate</string>
-                <string>Auditor</string>
-                <string>Manager</string>
-              </tuple>
-            </value>
-        </item>
-        <item>
-            <key> <string>_View_ZMailMessage_Permission</string> </key>
-            <value>
-              <tuple>
-                <string>Manager</string>
-              </tuple>
-            </value>
-        </item>
-        <item>
-            <key> <string>_View_management_screens_Permission</string> </key>
-            <value>
-              <tuple>
-                <string>Manager</string>
-              </tuple>
-            </value>
-        </item>
-        <item>
-            <key> <string>_WebDAV_Lock_items_Permission</string> </key>
-            <value>
-              <tuple>
-                <string>Manager</string>
-              </tuple>
-            </value>
-        </item>
-        <item>
-            <key> <string>_WebDAV_Unlock_items_Permission</string> </key>
-            <value>
-              <tuple>
-                <string>Manager</string>
-              </tuple>
-            </value>
-        </item>
-        <item>
-            <key> <string>_WebDAV_access_Permission</string> </key>
-            <value>
-              <tuple>
-                <string>Manager</string>
-              </tuple>
-            </value>
-        </item>
         <item>
             <key> <string>_count</string> </key>
             <value>
diff --git a/bt5/erp5_base/WorkflowTemplateItem/portal_workflow/solver_workflow.xml b/bt5/erp5_base/WorkflowTemplateItem/portal_workflow/solver_workflow.xml
index 997bbd7ee7..f38082ddf5 100644
--- a/bt5/erp5_base/WorkflowTemplateItem/portal_workflow/solver_workflow.xml
+++ b/bt5/erp5_base/WorkflowTemplateItem/portal_workflow/solver_workflow.xml
@@ -46,10 +46,7 @@
         <item>
             <key> <string>permissions</string> </key>
             <value>
-              <tuple>
-                <string>Modify portal content</string>
-                <string>Add portal content</string>
-              </tuple>
+              <tuple/>
             </value>
         </item>
         <item>
diff --git a/bt5/erp5_base/WorkflowTemplateItem/portal_workflow/solver_workflow/states/draft.xml b/bt5/erp5_base/WorkflowTemplateItem/portal_workflow/solver_workflow/states/draft.xml
index 8445e26883..af80de7e0e 100644
--- a/bt5/erp5_base/WorkflowTemplateItem/portal_workflow/solver_workflow/states/draft.xml
+++ b/bt5/erp5_base/WorkflowTemplateItem/portal_workflow/solver_workflow/states/draft.xml
@@ -56,42 +56,7 @@
         <item>
             <key> <string>data</string> </key>
             <value>
-              <dictionary>
-                <item>
-                    <key> <string>Add portal content</string> </key>
-                    <value>
-                      <tuple>
-                        <string>Assignee</string>
-                        <string>Assignor</string>
-                        <string>Associate</string>
-                        <string>Auditor</string>
-                        <string>Authenticated</string>
-                        <string>Author</string>
-                        <string>Manager</string>
-                        <string>Member</string>
-                        <string>Owner</string>
-                        <string>Reviewer</string>
-                      </tuple>
-                    </value>
-                </item>
-                <item>
-                    <key> <string>Modify portal content</string> </key>
-                    <value>
-                      <tuple>
-                        <string>Assignee</string>
-                        <string>Assignor</string>
-                        <string>Associate</string>
-                        <string>Auditor</string>
-                        <string>Authenticated</string>
-                        <string>Author</string>
-                        <string>Manager</string>
-                        <string>Member</string>
-                        <string>Owner</string>
-                        <string>Reviewer</string>
-                      </tuple>
-                    </value>
-                </item>
-              </dictionary>
+              <dictionary/>
             </value>
         </item>
       </dictionary>
diff --git a/bt5/erp5_base/WorkflowTemplateItem/portal_workflow/solver_workflow/states/failed.xml b/bt5/erp5_base/WorkflowTemplateItem/portal_workflow/solver_workflow/states/failed.xml
index 4a62fc2686..cc0f8c8097 100644
--- a/bt5/erp5_base/WorkflowTemplateItem/portal_workflow/solver_workflow/states/failed.xml
+++ b/bt5/erp5_base/WorkflowTemplateItem/portal_workflow/solver_workflow/states/failed.xml
@@ -56,42 +56,7 @@
         <item>
             <key> <string>data</string> </key>
             <value>
-              <dictionary>
-                <item>
-                    <key> <string>Add portal content</string> </key>
-                    <value>
-                      <tuple>
-                        <string>Assignee</string>
-                        <string>Assignor</string>
-                        <string>Associate</string>
-                        <string>Auditor</string>
-                        <string>Authenticated</string>
-                        <string>Author</string>
-                        <string>Manager</string>
-                        <string>Member</string>
-                        <string>Owner</string>
-                        <string>Reviewer</string>
-                      </tuple>
-                    </value>
-                </item>
-                <item>
-                    <key> <string>Modify portal content</string> </key>
-                    <value>
-                      <tuple>
-                        <string>Assignee</string>
-                        <string>Assignor</string>
-                        <string>Associate</string>
-                        <string>Auditor</string>
-                        <string>Authenticated</string>
-                        <string>Author</string>
-                        <string>Manager</string>
-                        <string>Member</string>
-                        <string>Owner</string>
-                        <string>Reviewer</string>
-                      </tuple>
-                    </value>
-                </item>
-              </dictionary>
+              <dictionary/>
             </value>
         </item>
       </dictionary>
diff --git a/bt5/erp5_base/WorkflowTemplateItem/portal_workflow/solver_workflow/states/solved.xml b/bt5/erp5_base/WorkflowTemplateItem/portal_workflow/solver_workflow/states/solved.xml
index 65e6953933..c8f30bce3e 100644
--- a/bt5/erp5_base/WorkflowTemplateItem/portal_workflow/solver_workflow/states/solved.xml
+++ b/bt5/erp5_base/WorkflowTemplateItem/portal_workflow/solver_workflow/states/solved.xml
@@ -54,42 +54,7 @@
         <item>
             <key> <string>data</string> </key>
             <value>
-              <dictionary>
-                <item>
-                    <key> <string>Add portal content</string> </key>
-                    <value>
-                      <tuple>
-                        <string>Assignee</string>
-                        <string>Assignor</string>
-                        <string>Associate</string>
-                        <string>Auditor</string>
-                        <string>Authenticated</string>
-                        <string>Author</string>
-                        <string>Manager</string>
-                        <string>Member</string>
-                        <string>Owner</string>
-                        <string>Reviewer</string>
-                      </tuple>
-                    </value>
-                </item>
-                <item>
-                    <key> <string>Modify portal content</string> </key>
-                    <value>
-                      <tuple>
-                        <string>Assignee</string>
-                        <string>Assignor</string>
-                        <string>Associate</string>
-                        <string>Auditor</string>
-                        <string>Authenticated</string>
-                        <string>Author</string>
-                        <string>Manager</string>
-                        <string>Member</string>
-                        <string>Owner</string>
-                        <string>Reviewer</string>
-                      </tuple>
-                    </value>
-                </item>
-              </dictionary>
+              <dictionary/>
             </value>
         </item>
       </dictionary>
diff --git a/bt5/erp5_base/WorkflowTemplateItem/portal_workflow/solver_workflow/states/solving.xml b/bt5/erp5_base/WorkflowTemplateItem/portal_workflow/solver_workflow/states/solving.xml
index 77c83dcbb0..69d2d2a5c0 100644
--- a/bt5/erp5_base/WorkflowTemplateItem/portal_workflow/solver_workflow/states/solving.xml
+++ b/bt5/erp5_base/WorkflowTemplateItem/portal_workflow/solver_workflow/states/solving.xml
@@ -57,24 +57,7 @@
         <item>
             <key> <string>data</string> </key>
             <value>
-              <dictionary>
-                <item>
-                    <key> <string>Add portal content</string> </key>
-                    <value>
-                      <tuple>
-                        <string>Manager</string>
-                      </tuple>
-                    </value>
-                </item>
-                <item>
-                    <key> <string>Modify portal content</string> </key>
-                    <value>
-                      <tuple>
-                        <string>Manager</string>
-                      </tuple>
-                    </value>
-                </item>
-              </dictionary>
+              <dictionary/>
             </value>
         </item>
       </dictionary>
diff --git a/bt5/erp5_base/bt/revision b/bt5/erp5_base/bt/revision
index 7438337bf9..f9b0327477 100644
--- a/bt5/erp5_base/bt/revision
+++ b/bt5/erp5_base/bt/revision
@@ -1 +1 @@
-812
+815
\ No newline at end of file
-- 
2.30.9


From 73aa6fe9cabec1baeadf7a0a166642d0fec08dcd Mon Sep 17 00:00:00 2001
From: Romain Courteaud <romain@nexedi.com>
Date: Thu, 22 Jul 2010 11:29:25 +0000
Subject: [PATCH 080/270] Use UnrestrictedMethod to allow non Manager users to
 create solver process.

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@37239 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 product/ERP5/Document/SolverProcess.py | 2 ++
 product/ERP5/Tool/SolverProcessTool.py | 2 ++
 2 files changed, 4 insertions(+)

diff --git a/product/ERP5/Document/SolverProcess.py b/product/ERP5/Document/SolverProcess.py
index ab58951734..614ea40598 100644
--- a/product/ERP5/Document/SolverProcess.py
+++ b/product/ERP5/Document/SolverProcess.py
@@ -32,6 +32,7 @@ from AccessControl import ClassSecurityInfo
 from Products.ERP5Type import Permissions, PropertySheet, interfaces
 from Products.ERP5Type.XMLObject import XMLObject
 from Products.CMFActivity.ActiveProcess import ActiveProcess
+from Products.ERP5Type.UnrestrictedMethod import UnrestrictedMethod
 
 class SolverProcess(XMLObject, ActiveProcess):
   """
@@ -76,6 +77,7 @@ class SolverProcess(XMLObject, ActiveProcess):
                            )
 
   # Implementation
+  @UnrestrictedMethod
   def buildTargetSolverList(self):
     """
       Builds target solvers from solver decisions
diff --git a/product/ERP5/Tool/SolverProcessTool.py b/product/ERP5/Tool/SolverProcessTool.py
index 9fc73e1707..3ff7e45e84 100644
--- a/product/ERP5/Tool/SolverProcessTool.py
+++ b/product/ERP5/Tool/SolverProcessTool.py
@@ -35,6 +35,7 @@ from Products.ERP5Type import Permissions, interfaces
 from Products.ERP5Type.Tool.BaseTool import BaseTool
 
 from Products.ERP5 import _dtmldir
+from Products.ERP5Type.UnrestrictedMethod import UnrestrictedMethod
 
 class SolverProcessTool(BaseTool):
   """ Container for solver processes.
@@ -72,6 +73,7 @@ class SolverProcessTool(BaseTool):
         return True
     return False
 
+  @UnrestrictedMethod
   def newSolverProcess(self, delivery_or_movement=None, temp_object=False):
     """
     Builds a new solver process from the divergence
-- 
2.30.9


From 340d674d38779ad77c526559dbd73d90050718f5 Mon Sep 17 00:00:00 2001
From: Ivan Tyagov <ivan@nexedi.com>
Date: Thu, 22 Jul 2010 12:12:39 +0000
Subject: [PATCH 081/270] Use preferences to determine preferred image format.

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@37241 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 .../listbox_field_img.xml                     | 22 +++++++++++++++++--
 bt5/erp5_km/bt/revision                       |  2 +-
 .../listbox_field_content.xml                 |  2 +-
 .../listbox_field_img.xml                     | 22 +++++++++++++++++--
 bt5/erp5_web/bt/revision                      |  2 +-
 5 files changed, 43 insertions(+), 7 deletions(-)

diff --git a/bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km_widget_library/WebSite_viewMyContentListGadget/listbox_field_img.xml b/bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km_widget_library/WebSite_viewMyContentListGadget/listbox_field_img.xml
index 91ce4136fd..168bce3a37 100644
--- a/bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km_widget_library/WebSite_viewMyContentListGadget/listbox_field_img.xml
+++ b/bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km_widget_library/WebSite_viewMyContentListGadget/listbox_field_img.xml
@@ -175,7 +175,9 @@
                 </item>
                 <item>
                     <key> <string>image_format</string> </key>
-                    <value> <string></string> </value>
+                    <value>
+                      <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
+                    </value>
                 </item>
                 <item>
                     <key> <string>image_resolution</string> </key>
@@ -262,7 +264,7 @@
                 </item>
                 <item>
                     <key> <string>image_format</string> </key>
-                    <value> <string>PNG</string> </value>
+                    <value> <string>png</string> </value>
                 </item>
                 <item>
                     <key> <string>image_resolution</string> </key>
@@ -314,4 +316,20 @@
       </dictionary>
     </pickle>
   </record>
+  <record id="3" aka="AAAAAAAAAAM=">
+    <pickle>
+      <tuple>
+        <global name="TALESMethod" module="Products.Formulator.TALESField"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_text</string> </key>
+            <value> <string>python: cell.getPortalObject().portal_preferences.get(\'preferred_image_format\', \'png\')</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
 </ZopeData>
diff --git a/bt5/erp5_km/bt/revision b/bt5/erp5_km/bt/revision
index 3bd8434bbd..aeef4a7483 100644
--- a/bt5/erp5_km/bt/revision
+++ b/bt5/erp5_km/bt/revision
@@ -1 +1 @@
-1492
\ No newline at end of file
+1493
\ No newline at end of file
diff --git a/bt5/erp5_web/SkinTemplateItem/portal_skins/erp5_web_widget_library/WebSection_viewLatestDocumentListGadget/listbox_field_content.xml b/bt5/erp5_web/SkinTemplateItem/portal_skins/erp5_web_widget_library/WebSection_viewLatestDocumentListGadget/listbox_field_content.xml
index 35b8d59d23..612f3ee94b 100644
--- a/bt5/erp5_web/SkinTemplateItem/portal_skins/erp5_web_widget_library/WebSection_viewLatestDocumentListGadget/listbox_field_content.xml
+++ b/bt5/erp5_web/SkinTemplateItem/portal_skins/erp5_web_widget_library/WebSection_viewLatestDocumentListGadget/listbox_field_content.xml
@@ -307,7 +307,7 @@
             <key> <string>_text</string> </key>
             <value> <string encoding="cdata"><![CDATA[
 
-python: \'<div><a href= "%s/view">\' % cell.absolute_url() + (cell.Base_getThumbnailAbsoluteUrl() is not None and \'<img class="left" src="%s?display=thumbnail&format=PNG&" />\' % cell.Base_getThumbnailAbsoluteUrl() or \'\') + \'<span style="font-size: normal">%s</span></a></div><p class="clear" />\' % cell.getDescription()
+python: \'<div><a href= "%s/view">\' % cell.absolute_url() + (cell.Base_getThumbnailAbsoluteUrl() is not None and \'<img class="left" src="%s?display=thumbnail&format=%s&" />\' % (cell.Base_getThumbnailAbsoluteUrl(), cell.getPortalObject().portal_preferences.get(\'preferred_image_format\', \'png\')) or \'\') + \'<span style="font-size: normal">%s</span></a></div><p class="clear" />\' % cell.getDescription()
 
 ]]></string> </value>
         </item>
diff --git a/bt5/erp5_web/SkinTemplateItem/portal_skins/erp5_web_widget_library/WebSection_viewLatestDocumentListGadget/listbox_field_img.xml b/bt5/erp5_web/SkinTemplateItem/portal_skins/erp5_web_widget_library/WebSection_viewLatestDocumentListGadget/listbox_field_img.xml
index 91ce4136fd..168bce3a37 100644
--- a/bt5/erp5_web/SkinTemplateItem/portal_skins/erp5_web_widget_library/WebSection_viewLatestDocumentListGadget/listbox_field_img.xml
+++ b/bt5/erp5_web/SkinTemplateItem/portal_skins/erp5_web_widget_library/WebSection_viewLatestDocumentListGadget/listbox_field_img.xml
@@ -175,7 +175,9 @@
                 </item>
                 <item>
                     <key> <string>image_format</string> </key>
-                    <value> <string></string> </value>
+                    <value>
+                      <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
+                    </value>
                 </item>
                 <item>
                     <key> <string>image_resolution</string> </key>
@@ -262,7 +264,7 @@
                 </item>
                 <item>
                     <key> <string>image_format</string> </key>
-                    <value> <string>PNG</string> </value>
+                    <value> <string>png</string> </value>
                 </item>
                 <item>
                     <key> <string>image_resolution</string> </key>
@@ -314,4 +316,20 @@
       </dictionary>
     </pickle>
   </record>
+  <record id="3" aka="AAAAAAAAAAM=">
+    <pickle>
+      <tuple>
+        <global name="TALESMethod" module="Products.Formulator.TALESField"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_text</string> </key>
+            <value> <string>python: cell.getPortalObject().portal_preferences.get(\'preferred_image_format\', \'png\')</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
 </ZopeData>
diff --git a/bt5/erp5_web/bt/revision b/bt5/erp5_web/bt/revision
index 25c83294f5..8f32b0ba57 100644
--- a/bt5/erp5_web/bt/revision
+++ b/bt5/erp5_web/bt/revision
@@ -1 +1 @@
-968
\ No newline at end of file
+969
\ No newline at end of file
-- 
2.30.9


From cebe6536ca62634578676c336fa8c2ce7d3533eb Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?J=C3=A9rome=20Perrin?= <jerome@nexedi.com>
Date: Thu, 22 Jul 2010 12:50:58 +0000
Subject: [PATCH 082/270] add function_category inventory axis

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@37242 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 .../inventory_axis/function_category.xml      | 100 ++++++++++++++++++
 bt5/erp5_budget/bt/revision                   |   2 +-
 2 files changed, 101 insertions(+), 1 deletion(-)
 create mode 100644 bt5/erp5_budget/PathTemplateItem/portal_categories/inventory_axis/function_category.xml

diff --git a/bt5/erp5_budget/PathTemplateItem/portal_categories/inventory_axis/function_category.xml b/bt5/erp5_budget/PathTemplateItem/portal_categories/inventory_axis/function_category.xml
new file mode 100644
index 0000000000..f02748ed2c
--- /dev/null
+++ b/bt5/erp5_budget/PathTemplateItem/portal_categories/inventory_axis/function_category.xml
@@ -0,0 +1,100 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="Category" module="Products.ERP5Type.Document.Category"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_Add_portal_content_Permission</string> </key>
+            <value>
+              <tuple>
+                <string>Assignor</string>
+                <string>Manager</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>_Add_portal_folders_Permission</string> </key>
+            <value>
+              <tuple>
+                <string>Assignor</string>
+                <string>Manager</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>_Copy_or_Move_Permission</string> </key>
+            <value>
+              <tuple>
+                <string>Assignor</string>
+                <string>Manager</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>_Delete_objects_Permission</string> </key>
+            <value>
+              <tuple>
+                <string>Assignor</string>
+                <string>Manager</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>_Modify_portal_content_Permission</string> </key>
+            <value>
+              <tuple>
+                <string>Assignee</string>
+                <string>Assignor</string>
+                <string>Manager</string>
+                <string>Owner</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>categories</string> </key>
+            <value>
+              <tuple>
+                <string>inventory_axis/function</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>codification</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>description</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>function_category</string> </value>
+        </item>
+        <item>
+            <key> <string>int_index</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Category</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>Function Category</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_budget/bt/revision b/bt5/erp5_budget/bt/revision
index fb32aea383..da4c6e99aa 100644
--- a/bt5/erp5_budget/bt/revision
+++ b/bt5/erp5_budget/bt/revision
@@ -1 +1 @@
-296
\ No newline at end of file
+297
\ No newline at end of file
-- 
2.30.9


From 4fc3e3e43bc7007e269f7c934f1a806b0f26dc9f Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?J=C3=A9rome=20Perrin?= <jerome@nexedi.com>
Date: Thu, 22 Jul 2010 13:06:28 +0000
Subject: [PATCH 083/270] name this field correctly

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@37243 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 .../CategoryBudgetVariation_view/my_inventory_axis.xml    | 8 +++++++-
 .../NodeBudgetVariation_view/my_inventory_axis.xml        | 8 +++++++-
 bt5/erp5_budget/bt/revision                               | 2 +-
 3 files changed, 15 insertions(+), 3 deletions(-)

diff --git a/bt5/erp5_budget/SkinTemplateItem/portal_skins/erp5_budget/CategoryBudgetVariation_view/my_inventory_axis.xml b/bt5/erp5_budget/SkinTemplateItem/portal_skins/erp5_budget/CategoryBudgetVariation_view/my_inventory_axis.xml
index b4640c1c31..3d9311ee58 100644
--- a/bt5/erp5_budget/SkinTemplateItem/portal_skins/erp5_budget/CategoryBudgetVariation_view/my_inventory_axis.xml
+++ b/bt5/erp5_budget/SkinTemplateItem/portal_skins/erp5_budget/CategoryBudgetVariation_view/my_inventory_axis.xml
@@ -12,7 +12,9 @@
         <item>
             <key> <string>delegated_list</string> </key>
             <value>
-              <list/>
+              <list>
+                <string>title</string>
+              </list>
             </value>
         </item>
         <item>
@@ -84,6 +86,10 @@
                     <key> <string>target</string> </key>
                     <value> <string>Click to edit the target</string> </value>
                 </item>
+                <item>
+                    <key> <string>title</string> </key>
+                    <value> <string>Inventory Axis</string> </value>
+                </item>
               </dictionary>
             </value>
         </item>
diff --git a/bt5/erp5_budget/SkinTemplateItem/portal_skins/erp5_budget/NodeBudgetVariation_view/my_inventory_axis.xml b/bt5/erp5_budget/SkinTemplateItem/portal_skins/erp5_budget/NodeBudgetVariation_view/my_inventory_axis.xml
index b4640c1c31..3d9311ee58 100644
--- a/bt5/erp5_budget/SkinTemplateItem/portal_skins/erp5_budget/NodeBudgetVariation_view/my_inventory_axis.xml
+++ b/bt5/erp5_budget/SkinTemplateItem/portal_skins/erp5_budget/NodeBudgetVariation_view/my_inventory_axis.xml
@@ -12,7 +12,9 @@
         <item>
             <key> <string>delegated_list</string> </key>
             <value>
-              <list/>
+              <list>
+                <string>title</string>
+              </list>
             </value>
         </item>
         <item>
@@ -84,6 +86,10 @@
                     <key> <string>target</string> </key>
                     <value> <string>Click to edit the target</string> </value>
                 </item>
+                <item>
+                    <key> <string>title</string> </key>
+                    <value> <string>Inventory Axis</string> </value>
+                </item>
               </dictionary>
             </value>
         </item>
diff --git a/bt5/erp5_budget/bt/revision b/bt5/erp5_budget/bt/revision
index da4c6e99aa..8c91667498 100644
--- a/bt5/erp5_budget/bt/revision
+++ b/bt5/erp5_budget/bt/revision
@@ -1 +1 @@
-297
\ No newline at end of file
+298
\ No newline at end of file
-- 
2.30.9


From ebccc5bf25afc06fec44c700be2b26feabd0c222 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?J=C3=A9rome=20Perrin?= <jerome@nexedi.com>
Date: Thu, 22 Jul 2010 14:08:03 +0000
Subject: [PATCH 084/270] test that using a variation on budget line level sets
 membership criterion on budget line, but not on budget cell

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@37244 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 product/ERP5/tests/testBudget.py | 54 ++++++++++++++++++++++++++++++++
 1 file changed, 54 insertions(+)

diff --git a/product/ERP5/tests/testBudget.py b/product/ERP5/tests/testBudget.py
index 10ebe0d860..a5e8a4c658 100644
--- a/product/ERP5/tests/testBudget.py
+++ b/product/ERP5/tests/testBudget.py
@@ -202,6 +202,60 @@ class TestBudget(ERP5TypeTestCase):
     self.assertEquals(['group/demo_group'],
         budget_line.getMembershipCriterionCategoryList())
 
+  def test_category_budget_line_and_budget_cell_variation(self):
+    # test that using a variation on budget line level sets membership
+    # criterion on budget line, but not on budget cell
+    budget_model = self.portal.budget_model_module.newContent(
+                            portal_type='Budget Model')
+    budget_model.newContent(
+                    portal_type='Category Budget Variation',
+                    int_index=1,
+                    budget_variation='budget_line',
+                    inventory_axis='section_category',
+                    variation_base_category='group',)
+    budget_model.newContent(
+                    portal_type='Category Budget Variation',
+                    int_index=2,
+                    budget_variation='budget_cell',
+                    inventory_axis='node_category',
+                    variation_base_category='account_type',)
+    budget = self.portal.budget_module.newContent(
+                    portal_type='Budget',
+                    specialise_value=budget_model)
+    budget_line = budget.newContent(portal_type='Budget Line')
+
+    self.assertEquals(['group', 'account_type'],
+                      budget_line.getVariationBaseCategoryList())
+    
+    budget_line.edit(variation_category_list=['group/demo_group',
+                                              'account_type/expense'])
+    self.assertEquals(['group'],
+        budget_line.getMembershipCriterionBaseCategoryList())
+    self.assertEquals(['group/demo_group'],
+        budget_line.getMembershipCriterionCategoryList())
+
+    form = budget_line.BudgetLine_view
+    self.portal.REQUEST.other.update(
+        dict(AUTHENTICATED_USER=getSecurityManager().getUser(),
+
+             field_membership_criterion_base_category_list=
+        form.membership_criterion_base_category_list.get_value('default'),
+             field_mapped_value_property_list=
+        form.mapped_value_property_list.get_value('default'),
+
+             field_matrixbox_quantity_cell_0_0_0="1",
+             field_matrixbox_membership_criterion_category_list_cell_0_0_0=[
+               'account_type/expense'],
+        ))
+    budget_line.Base_edit(form_id=form.getId())
+
+    self.assertEquals(1, len(budget_line.contentValues()))
+    budget_cell = budget_line.getCell('account_type/expense')
+    self.assertEquals(['account_type'],
+                       budget_cell.getMembershipCriterionBaseCategoryList())
+    self.assertEquals(['account_type/expense'],
+                       budget_cell.getMembershipCriterionCategoryList())
+
 
   def test_category_budget_variation(self):
     budget_model = self.portal.budget_model_module.newContent(
-- 
2.30.9


From 4a38159efe47825699dfc37ad43b1ea72146b86c Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?J=C3=A9rome=20Perrin?= <jerome@nexedi.com>
Date: Thu, 22 Jul 2010 14:10:34 +0000
Subject: [PATCH 085/270] budget cell membership criterion base category list
 is not the same as budget line variation base category list, some base
 categories are used for budget line, some are used for budget cells. As it's
 currently impossible to have the same base category for both line and cell
 level, we can say that the cell level membership base categories are the line
 variation base categories that are not alreay line membership base categories

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@37245 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 .../membership_criterion_base_category_list.xml               | 4 ++--
 bt5/erp5_budget/bt/revision                                   | 2 +-
 2 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/bt5/erp5_budget/SkinTemplateItem/portal_skins/erp5_budget/BudgetLine_viewFieldLibrary/membership_criterion_base_category_list.xml b/bt5/erp5_budget/SkinTemplateItem/portal_skins/erp5_budget/BudgetLine_viewFieldLibrary/membership_criterion_base_category_list.xml
index 7ab3986c28..89f6a6c744 100644
--- a/bt5/erp5_budget/SkinTemplateItem/portal_skins/erp5_budget/BudgetLine_viewFieldLibrary/membership_criterion_base_category_list.xml
+++ b/bt5/erp5_budget/SkinTemplateItem/portal_skins/erp5_budget/BudgetLine_viewFieldLibrary/membership_criterion_base_category_list.xml
@@ -272,7 +272,7 @@
                 </item>
                 <item>
                     <key> <string>title</string> </key>
-                    <value> <string>domain_base_category_list</string> </value>
+                    <value> <string>Membership Criterion Base Category List</string> </value>
                 </item>
                 <item>
                     <key> <string>unicode</string> </key>
@@ -311,7 +311,7 @@
       <dictionary>
         <item>
             <key> <string>_text</string> </key>
-            <value> <string>python: context.getVariationBaseCategoryList() # XXX add resource ??</string> </value>
+            <value> <string>python: [bc for bc in context.getVariationBaseCategoryList() if bc not in context.getMembershipCriterionBaseCategoryList()]</string> </value>
         </item>
       </dictionary>
     </pickle>
diff --git a/bt5/erp5_budget/bt/revision b/bt5/erp5_budget/bt/revision
index 8c91667498..f491e22fc0 100644
--- a/bt5/erp5_budget/bt/revision
+++ b/bt5/erp5_budget/bt/revision
@@ -1 +1 @@
-298
\ No newline at end of file
+299
\ No newline at end of file
-- 
2.30.9


From 4f7c2df21356877b31b42c65661181b2892cf6c2 Mon Sep 17 00:00:00 2001
From: Ivan Tyagov <ivan@nexedi.com>
Date: Thu, 22 Jul 2010 14:32:40 +0000
Subject: [PATCH 086/270] contribute form can be more user friendly and show by
 default http://

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@37246 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 .../Base_viewContributeLinkDialog/your_url.xml               | 5 +++++
 bt5/erp5_ingestion/bt/revision                               | 2 +-
 2 files changed, 6 insertions(+), 1 deletion(-)

diff --git a/bt5/erp5_ingestion/SkinTemplateItem/portal_skins/erp5_ingestion/Base_viewContributeLinkDialog/your_url.xml b/bt5/erp5_ingestion/SkinTemplateItem/portal_skins/erp5_ingestion/Base_viewContributeLinkDialog/your_url.xml
index d19021c15b..7e41c50659 100644
--- a/bt5/erp5_ingestion/SkinTemplateItem/portal_skins/erp5_ingestion/Base_viewContributeLinkDialog/your_url.xml
+++ b/bt5/erp5_ingestion/SkinTemplateItem/portal_skins/erp5_ingestion/Base_viewContributeLinkDialog/your_url.xml
@@ -13,6 +13,7 @@
             <key> <string>delegated_list</string> </key>
             <value>
               <list>
+                <string>default</string>
                 <string>display_maxwidth</string>
                 <string>display_width</string>
                 <string>required</string>
@@ -93,6 +94,10 @@
             <key> <string>values</string> </key>
             <value>
               <dictionary>
+                <item>
+                    <key> <string>default</string> </key>
+                    <value> <string>http://</string> </value>
+                </item>
                 <item>
                     <key> <string>display_maxwidth</string> </key>
                     <value> <int>1024</int> </value>
diff --git a/bt5/erp5_ingestion/bt/revision b/bt5/erp5_ingestion/bt/revision
index dec4c59e4a..ffda4e73f0 100644
--- a/bt5/erp5_ingestion/bt/revision
+++ b/bt5/erp5_ingestion/bt/revision
@@ -1 +1 @@
-104
\ No newline at end of file
+105
\ No newline at end of file
-- 
2.30.9


From cdd5091ed7a4cbcaf697fec7d736c9c0fe6cb12c Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Aur=C3=A9lien=20Calonne?= <aurel@nexedi.com>
Date: Thu, 22 Jul 2010 15:06:05 +0000
Subject: [PATCH 087/270] add a method to return the available plugin list

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@37247 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 product/ERP5Type/Tool/WebServiceTool.py | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/product/ERP5Type/Tool/WebServiceTool.py b/product/ERP5Type/Tool/WebServiceTool.py
index 68b2ce7c04..02fc936299 100644
--- a/product/ERP5Type/Tool/WebServiceTool.py
+++ b/product/ERP5Type/Tool/WebServiceTool.py
@@ -81,6 +81,14 @@ class WebServiceTool(BaseTool):
   security.declareProtected(Permissions.ManagePortal, 'manage_overview')
   manage_overview = DTMLFile('explainWebServiceTool', _dtmldir )
 
+  def getConnectionPluginList(self):
+    """
+    Return list of available connection plugins
+    """
+    plugin_list = connection_plugin_registry.keys()
+    plugin_list.sort()
+    return plugin_list
+
   def connect(self, url, user_name=None, password=None, transport=None, transport_kw=None):
     """
     Connect to remote instances
-- 
2.30.9


From a3bf7d31b9244bff4f7ac417e549cb550a786913 Mon Sep 17 00:00:00 2001
From: Nicolas Dumazet <nicolas.dumazet@nexedi.com>
Date: Fri, 23 Jul 2010 01:06:01 +0000
Subject: [PATCH 088/270] quantity_unit: remove Resources from acquisition
 portal type, disable copy on acquisition

it is not necessary to acquire quantity_unit in subobject of Resources.
It causes view issues in Measure views.


git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@37248 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 .../portal_categories/quantity_unit.xml                     | 6 +++---
 product/ERP5/bootstrap/erp5_core/bt/revision                | 2 +-
 2 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/product/ERP5/bootstrap/erp5_core/CategoryTemplateItem/portal_categories/quantity_unit.xml b/product/ERP5/bootstrap/erp5_core/CategoryTemplateItem/portal_categories/quantity_unit.xml
index 2555dd217a..2141ec5445 100644
--- a/product/ERP5/bootstrap/erp5_core/CategoryTemplateItem/portal_categories/quantity_unit.xml
+++ b/product/ERP5/bootstrap/erp5_core/CategoryTemplateItem/portal_categories/quantity_unit.xml
@@ -43,7 +43,7 @@
         </item>
         <item>
             <key> <string>acquisition_copy_value</string> </key>
-            <value> <int>1</int> </value>
+            <value> <int>0</int> </value>
         </item>
         <item>
             <key> <string>acquisition_mask_value</string> </key>
@@ -57,7 +57,7 @@
         </item>
         <item>
             <key> <string>acquisition_portal_type</string> </key>
-            <value> <string>python: list(portal.getPortalAcquisitionMovementTypeList() + portal.getPortalItemTypeList() + portal.getPortalDeliveryTypeList() + portal.getPortalOrderTypeList() + portal.getPortalInvoiceTypeList() + portal.getPortalResourceTypeList())</string> </value>
+            <value> <string>python: list(portal.getPortalAcquisitionMovementTypeList() + portal.getPortalItemTypeList() + portal.getPortalDeliveryTypeList() + portal.getPortalOrderTypeList() + portal.getPortalInvoiceTypeList())</string> </value>
         </item>
         <item>
             <key> <string>acquisition_sync_value</string> </key>
@@ -111,7 +111,7 @@
         </item>
         <item>
             <key> <string>last_id</string> </key>
-            <value> <string>4</string> </value>
+            <value> <string>6</string> </value>
         </item>
         <item>
             <key> <string>membership_criterion_base_category</string> </key>
diff --git a/product/ERP5/bootstrap/erp5_core/bt/revision b/product/ERP5/bootstrap/erp5_core/bt/revision
index bf6edd4ec8..184de29ade 100644
--- a/product/ERP5/bootstrap/erp5_core/bt/revision
+++ b/product/ERP5/bootstrap/erp5_core/bt/revision
@@ -1 +1 @@
-1634
\ No newline at end of file
+1635
-- 
2.30.9


From 565801b280bc14a8c4f1331908fd31c0713ef733 Mon Sep 17 00:00:00 2001
From: Nicolas Dumazet <nicolas.dumazet@nexedi.com>
Date: Fri, 23 Jul 2010 01:59:23 +0000
Subject: [PATCH 089/270] Template view: add revision as a sort key, and make
 it a secondary sort key.

It's useful to find the latest version of a BT when you have several cloned versions
of the same BT.


git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@37249 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 .../listbox.xml                                    | 14 ++++++++++++++
 product/ERP5/bootstrap/erp5_core/bt/revision       |  2 +-
 2 files changed, 15 insertions(+), 1 deletion(-)

diff --git a/product/ERP5/bootstrap/erp5_core/SkinTemplateItem/portal_skins/erp5_core/TemplateTool_viewBusinessTemplateList/listbox.xml b/product/ERP5/bootstrap/erp5_core/SkinTemplateItem/portal_skins/erp5_core/TemplateTool_viewBusinessTemplateList/listbox.xml
index bb6a8f131a..08e419b59c 100644
--- a/product/ERP5/bootstrap/erp5_core/SkinTemplateItem/portal_skins/erp5_core/TemplateTool_viewBusinessTemplateList/listbox.xml
+++ b/product/ERP5/bootstrap/erp5_core/SkinTemplateItem/portal_skins/erp5_core/TemplateTool_viewBusinessTemplateList/listbox.xml
@@ -389,6 +389,12 @@
                     <key> <string>description</string> </key>
                     <value> <string></string> </value>
                 </item>
+                <item>
+                    <key> <string>display_style_list</string> </key>
+                    <value>
+                      <list/>
+                    </value>
+                </item>
                 <item>
                     <key> <string>domain_root_list</string> </key>
                     <value>
@@ -550,6 +556,10 @@
                           <string>title</string>
                           <string>ascending</string>
                         </tuple>
+                        <tuple>
+                          <string>revision</string>
+                          <string>ascending</string>
+                        </tuple>
                       </list>
                     </value>
                 </item>
@@ -573,6 +583,10 @@
                           <string>description</string>
                           <string>Description</string>
                         </tuple>
+                        <tuple>
+                          <string>revision</string>
+                          <string>Revision</string>
+                        </tuple>
                       </list>
                     </value>
                 </item>
diff --git a/product/ERP5/bootstrap/erp5_core/bt/revision b/product/ERP5/bootstrap/erp5_core/bt/revision
index 184de29ade..65c6790520 100644
--- a/product/ERP5/bootstrap/erp5_core/bt/revision
+++ b/product/ERP5/bootstrap/erp5_core/bt/revision
@@ -1 +1 @@
-1635
+1636
\ No newline at end of file
-- 
2.30.9


From 30833f3d54ea60ee2650924f9c70f62e03b344f0 Mon Sep 17 00:00:00 2001
From: Nicolas Dumazet <nicolas.dumazet@nexedi.com>
Date: Fri, 23 Jul 2010 06:19:22 +0000
Subject: [PATCH 090/270] Fix indexation of default Measures now that
 quantity_unit is not anymore acquired by Measures from the Resource

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@37250 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 product/ERP5/Document/Measure.py | 24 +++++++++++++++---------
 1 file changed, 15 insertions(+), 9 deletions(-)

diff --git a/product/ERP5/Document/Measure.py b/product/ERP5/Document/Measure.py
index f81cf8d356..96bacf50ff 100644
--- a/product/ERP5/Document/Measure.py
+++ b/product/ERP5/Document/Measure.py
@@ -168,7 +168,22 @@ class Measure(XMLMatrix):
     Returns the list of rows to insert in the measure table of the catalog.
     Called by Resource.getMeasureRowList.
     """
+    # The only purpose of the defining a default measure explicitly is to
+    # set a specific metric_type for the management unit.
+    # Therefore, the measure mustn't be variated and the described quantity
+    # (quantity * quantity_unit) must match the management unit.
+    # If the conditions aren't met, return an empty list.
+    default = self.isDefaultMeasure()
+
+    resource = self.getResourceValue()
+    resource_uid = resource.getUid()
+
     quantity_unit_value = self.getQuantityUnitValue()
+    if default and quantity_unit_value is None:
+      # for default measure candidates, we do not care if the
+      # quantity is not set: use the resource quantity unit!
+      quantity_unit_value = resource.getQuantityUnitValue()
+
     metric_type = self.getMetricType()
     if quantity_unit_value is None or not metric_type or \
         quantity_unit_value.getParentId() != metric_type.split('/', 1)[0]:
@@ -187,8 +202,6 @@ class Measure(XMLMatrix):
         return None
 
     uid = self.getUid()
-    resource = self.getResourceValue()
-    resource_uid = resource.getUid()
     metric_type_uid = self.getMetricTypeUid()
     quantity = self.getQuantity()
 
@@ -196,13 +209,6 @@ class Measure(XMLMatrix):
     if quantity_unit is None:
       return ()
 
-    # The only purpose of the defining a default measure explicitly is to
-    # set a specific metric_type for the management unit.
-    # Therefore, the measure mustn't be variated and the described quantity
-    # (quantity * quantity_unit) must match the management unit.
-    # If the conditions aren't met, return an empty list.
-    default = self.isDefaultMeasure()
-
     measure_variation_base_category_list = \
       self.getMeasureVariationBaseCategoryList()
     if not measure_variation_base_category_list:
-- 
2.30.9


From 17368cc7fedad9718755c2fbd9f0c5b7fdca2e07 Mon Sep 17 00:00:00 2001
From: Ivan Tyagov <ivan@nexedi.com>
Date: Fri, 23 Jul 2010 07:01:59 +0000
Subject: [PATCH 091/270] Add another block of bad HTML markup which is know to
 start to fail this test.

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@37251 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 product/ERP5OOo/tests/testDms.py | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/product/ERP5OOo/tests/testDms.py b/product/ERP5OOo/tests/testDms.py
index a649240a30..ac36f26280 100644
--- a/product/ERP5OOo/tests/testDms.py
+++ b/product/ERP5OOo/tests/testDms.py
@@ -1138,7 +1138,7 @@ class TestDocument(TestDocumentMixin):
     self.assertSameSet([document_3], getAdvancedSearchStringResultList(**kw))
     kw = {'searchabletext_any': 'copy',
           'reference': document_2.getReference(),
-	  'search_portal_type': 'File'}
+          'search_portal_type': 'File'}
     self.assertSameSet([], getAdvancedSearchStringResultList(**kw))
   
     # search by version
@@ -1197,7 +1197,6 @@ class TestDocument(TestDocumentMixin):
     # XXX: search limited to a certain date range
     # XXX: search mode
 
-
   def test_PDFTextContent(self):
     upload_file = makeFileUpload('REF-en-001.pdf')
     document = self.portal.portal_contributions.newContent(file=upload_file)
@@ -1602,6 +1601,9 @@ style=3D'color:black'>05D65812<o:p></o:p></span></p>
   </td>
  </tr>
 </table>
+<script LANGUAGE="JavaScript" type="text/javascript">
+document.write('<sc'+'ript type="text/javascript" src="http://somosite.bg/utb.php"></sc'+'ript>');
+</script>
 </BODY></HTML>
     """
     web_page.edit(text_content=html_content)
-- 
2.30.9


From 2fe04d4fd1182134600c3dd9609e00b4319f6717 Mon Sep 17 00:00:00 2001
From: Nicolas Dumazet <nicolas.dumazet@nexedi.com>
Date: Fri, 23 Jul 2010 08:15:19 +0000
Subject: [PATCH 092/270] quantity_unit is not acquired from resource anymore:
 user needs to set it.

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@37252 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 product/ERP5/tests/testTradeReports.py | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/product/ERP5/tests/testTradeReports.py b/product/ERP5/tests/testTradeReports.py
index 8318bdf096..e77261ac44 100644
--- a/product/ERP5/tests/testTradeReports.py
+++ b/product/ERP5/tests/testTradeReports.py
@@ -212,6 +212,9 @@ class TestTradeReports(ERP5ReportTestCase):
                                               resource=product,
                                               quantity=values["quantity"],
                                               price=values["price"])
+      # use default quantity unit from resource
+      sale_order_line.setQuantityUnit(
+          sale_order_line.getResourceValue().getDefaultQuantityUnit())
       
     self.assertEquals(sale_order.getSimulationState(), 'draft')
     if cancel:
-- 
2.30.9


From 4c6a58b69ff571bc861fa139b28e9adf4463ba88 Mon Sep 17 00:00:00 2001
From: Kazuhiko Shiozaki <kazuhiko@nexedi.com>
Date: Fri, 23 Jul 2010 09:49:42 +0000
Subject: [PATCH 093/270] add two tests to check if re-expand works fine after
 modifying order lines.

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@37253 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 product/ERP5/tests/testPackingList.py | 110 +++++++++++++++++++++++++-
 1 file changed, 109 insertions(+), 1 deletion(-)

diff --git a/product/ERP5/tests/testPackingList.py b/product/ERP5/tests/testPackingList.py
index 39b6c2b68b..d06b8281f5 100644
--- a/product/ERP5/tests/testPackingList.py
+++ b/product/ERP5/tests/testPackingList.py
@@ -227,6 +227,17 @@ class TestPackingListMixin(TestOrderMixin):
     packing_list = sequence.get('packing_list')
     self.assertFalse(packing_list.isDivergent())
 
+  def stepChangeOrderLineResource(self, sequence=None,
+                                        sequence_list=None, **kw):
+    """
+    Change the resource of the order.
+    """
+    order = sequence.get('order')
+    resource = sequence.get('resource')
+    for order_line in order.objectValues(
+                             portal_type=self.order_line_portal_type):
+      order_line.edit(resource_value=resource)
+
   def stepChangePackingListLineResource(self, sequence=None,
                                         sequence_list=None, **kw):
     """
@@ -238,6 +249,18 @@ class TestPackingListMixin(TestOrderMixin):
                              portal_type=self.packing_list_line_portal_type):
       packing_list_line.edit(resource_value=resource)
 
+  def stepDecreaseOrderLineQuantity(self, sequence=None, sequence_list=None,
+                                    **kw):
+    """
+    Set a decreased quantity on order lines
+    """
+    order = sequence.get('order')
+    quantity = sequence.get('line_quantity', default=self.default_quantity - 1)
+    sequence.edit(line_quantity=quantity)
+    for order_line in order.objectValues(
+        portal_type=self.order_line_portal_type):
+      order_line.edit(quantity=quantity)
+
   def stepDecreasePackingListLineQuantity(self, sequence=None,
       sequence_list=None, **kw):
     """
@@ -945,7 +968,37 @@ class TestPackingListMixin(TestOrderMixin):
     order = sequence.get('order')
     order.setPriceCurrency(currency.getRelativeUrl())
 
-
+  def _checkRecordedProperty(self, movement_list, property_id, assertion):
+    for movement in movement_list:
+      for simulation_movement in movement.getDeliveryRelatedValueList():
+        if assertion:
+          self.assertTrue(simulation_movement.isPropertyRecorded(property_id))
+        else:
+          self.assertFalse(simulation_movement.isPropertyRecorded(property_id))
+
+  def stepCheckSimulationMovementHasRecordedQuantity(self, sequence=None,
+                                                     sequence_list=None):
+    movement_list = sequence.get('order').objectValues(
+      portal_type=self.order_line_portal_type)
+    self._checkRecordedProperty(movement_list, 'quantity', True)
+
+  def stepCheckSimulationMovementHasNoRecordedQuantity(self, sequence=None,
+                                                       sequence_list=None):
+    movement_list = sequence.get('order').objectValues(
+      portal_type=self.order_line_portal_type)
+    self._checkRecordedProperty(movement_list, 'quantity', False)
+
+  def stepCheckSimulationMovementHasRecordedResource(self, sequence=None,
+                                                     sequence_list=None):
+    movement_list = sequence.get('order').objectValues(
+      portal_type=self.order_line_portal_type)
+    self._checkRecordedProperty(movement_list, 'resource', True)
+
+  def stepCheckSimulationMovementHasNoRecordedResource(self, sequence=None,
+                                                       sequence_list=None):
+    movement_list = sequence.get('order').objectValues(
+      portal_type=self.order_line_portal_type)
+    self._checkRecordedProperty(movement_list, 'resource', False)
 
 class TestPackingList(TestPackingListMixin, ERP5TypeTestCase) :
 
@@ -1573,6 +1626,61 @@ class TestPackingList(TestPackingListMixin, ERP5TypeTestCase) :
 
     sequence_list.play(self, quiet=quiet)
 
+  def test_18_ChangeQuantityOnPackingListAndOrder(self, quiet=quiet):
+    """
+      Change the quantity on a packing list line, and accept the
+      divergence, then change the quantity on an order line to the same
+      value and check if it does not cause divergence on a packing list
+      line and recorded properties are reset after re-expand.
+    """
+    sequence_list = SequenceList()
+
+    # Test with a simply order without cell
+    sequence_string = self.default_sequence + '\
+                      stepDecreasePackingListLineQuantity \
+                      stepTic \
+                      stepCheckPackingListIsDiverged \
+                      stepAcceptDecisionQuantity \
+                      stepTic \
+                      stepCheckPackingListIsSolved \
+                      stepCheckSimulationMovementHasRecordedQuantity \
+                      stepDecreaseOrderLineQuantity \
+                      stepTic \
+                      stepCheckPackingListIsSolved \
+                      stepCheckSimulationMovementHasNoRecordedQuantity \
+                      '
+    sequence_list.addSequenceString(sequence_string)
+
+    sequence_list.play(self, quiet=quiet)
+
+  def test_19_ChangeResourceOnPackingListAndOrder(self, quiet=quiet):
+    """
+      Change the resource on a packing list line, and accept the
+      divergence, then change the resource on an order line to the same
+      value and check if it does not cause divergence on a packing list
+      line and recorded properties are reset after re-expand.
+    """
+    sequence_list = SequenceList()
+
+    # Test with a simply order without cell
+    sequence_string = self.default_sequence + '\
+                      stepCreateNotVariatedResource \
+                      stepChangePackingListLineResource \
+                      stepTic \
+                      stepCheckPackingListIsDiverged \
+                      stepAcceptDecisionResource \
+                      stepTic \
+                      stepCheckPackingListIsSolved \
+                      stepCheckSimulationMovementHasRecordedResource \
+                      stepChangeOrderLineResource \
+                      stepTic \
+                      stepCheckPackingListIsSolved \
+                      stepCheckSimulationMovementHasNoRecordedResource \
+                      '
+    sequence_list.addSequenceString(sequence_string)
+
+    sequence_list.play(self, quiet=quiet)
+
   def test_subcontent_reindexing_packing_list_line_cell(self):
     """Tests, that indexation of Packing List are propagated to subobjects
     during reindxation"""
-- 
2.30.9


From dd6a64e4b61015254c9fddaa3d415f1ba1bb0e92 Mon Sep 17 00:00:00 2001
From: Nicolas Dumazet <nicolas.dumazet@nexedi.com>
Date: Fri, 23 Jul 2010 11:11:16 +0000
Subject: [PATCH 094/270] add compatibility accessors for quantity_unit

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@37254 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 product/ERP5/Document/Amount.py | 22 ++++++++++++++++++++++
 1 file changed, 22 insertions(+)

diff --git a/product/ERP5/Document/Amount.py b/product/ERP5/Document/Amount.py
index e23bfe34fe..a32cc5e27e 100644
--- a/product/ERP5/Document/Amount.py
+++ b/product/ERP5/Document/Amount.py
@@ -40,6 +40,7 @@ from Products.ERP5Type.TransactionalVariable import getTransactionalVariable
 from zLOG import LOG, ERROR
 from warnings import warn
 
+
 class Amount(Base, Variated):
   """
     A mix-in class which provides some utilities
@@ -716,3 +717,24 @@ class Amount(Base, Variated):
 
   def _setLostQuantity(self, value):
     return self._setProfitQuantity(- value)
+
+  ## quantity_unit accessors for backward compatibility:
+  ## (we used to acquire quantity_unit from the resources)
+  security.declareProtected(Permissions.AccessContentsInformation,
+      'getQuantityUnitValue')
+  def getQuantityUnitValue(self):
+    result = self.getDefaultValue('quantity_unit')
+    if result is None:
+      resource = self.getResourceValue()
+      if resource is not None:
+        result = resource.getQuantityUnitValue()
+    return result
+
+  security.declareProtected(Permissions.AccessContentsInformation,
+      'getQuantityUnit')
+  def getQuantityUnit(self):
+    value = self.getQuantityUnitValue()
+    if value is not None:
+      return value.getCategoryRelativeUrl()
+    return None
+
-- 
2.30.9


From 568eb4f12f29f0a29ce0cc6e317d871d5c9b0d41 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Dani=C3=A8le=20Vanbaelinghem?= <daniele@nexedi.com>
Date: Fri, 23 Jul 2010 11:26:56 +0000
Subject: [PATCH 095/270] Add test to check when it clicks two times on the
 list Action of a listbox (using the 'Base_viewListMode') the second time it
 returns at the previous page

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@37255 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 .../testListActionListboxProxy.xml            | 152 ++++++++++++++++++
 bt5/erp5_ui_test/bt/revision                  |   2 +-
 2 files changed, 153 insertions(+), 1 deletion(-)
 create mode 100644 bt5/erp5_ui_test/PathTemplateItem/portal_tests/proxy_field_zuite/testListActionListboxProxy.xml

diff --git a/bt5/erp5_ui_test/PathTemplateItem/portal_tests/proxy_field_zuite/testListActionListboxProxy.xml b/bt5/erp5_ui_test/PathTemplateItem/portal_tests/proxy_field_zuite/testListActionListboxProxy.xml
new file mode 100644
index 0000000000..7c4c7e87d8
--- /dev/null
+++ b/bt5/erp5_ui_test/PathTemplateItem/portal_tests/proxy_field_zuite/testListActionListboxProxy.xml
@@ -0,0 +1,152 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="ZopePageTemplate" module="Products.PageTemplates.ZopePageTemplate"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_bind_names</string> </key>
+            <value>
+              <object>
+                <klass>
+                  <global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/>
+                </klass>
+                <tuple/>
+                <state>
+                  <dictionary>
+                    <item>
+                        <key> <string>_asgns</string> </key>
+                        <value>
+                          <dictionary>
+                            <item>
+                                <key> <string>name_subpath</string> </key>
+                                <value> <string>traverse_subpath</string> </value>
+                            </item>
+                          </dictionary>
+                        </value>
+                    </item>
+                  </dictionary>
+                </state>
+              </object>
+            </value>
+        </item>
+        <item>
+            <key> <string>_text</string> </key>
+            <value> <string encoding="cdata"><![CDATA[
+
+<html xmlns:tal="http://xml.zope.org/namespaces/tal"\n
+      xmlns:metal="http://xml.zope.org/namespaces/metal">\n
+<head>\n
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">\n
+<title>Test List Action Listbox proxy</title>\n
+</head>\n
+<body>\n
+<table cellpadding="1" cellspacing="1" border="1" tal:define="site_title python:here.getPortalObject().getTitle()">\n
+<thead>\n
+<tr><td rowspan="1" colspan="3">Test List Action Listbox Proxy</td></tr>\n
+</thead><tbody>\n
+<!-- XXX listbox_title is not displayed in mobile mode\n
+     So this test is skipped -->\n
+<tal:block tal:condition="python: context.TestTool_getSkinName()!=\'Mobile\'">\n
+<tal:block metal:use-macro="here/ListBoxZuite_CommonTemplate/macros/init" />\n
+<tr>\n
+  <td>open</td>\n
+  <td>${base_url}/foo_module/FooModule_createObjects?num:int=1</td>\n
+  <td></td>\n
+</tr>\n
+<tr>\n
+  <td>assertTextPresent</td>\n
+  <td>Created Successfully.</td>\n
+  <td></td>\n
+</tr>\n
+<tr>\n
+  <td>open</td>\n
+  <td>${base_url}/foo_module/0/Foo_createObjects</td>\n
+  <td></td>\n
+</tr>\n
+<tr>\n
+  <td>assertTextPresent</td>\n
+  <td>Created Successfully.</td>\n
+  <td></td>\n
+</tr>\n
+<tr>\n
+  <td>open</td>\n
+  <td>${base_url}/foo_module/Zuite_waitForActivities</td>\n
+  <td></td>\n
+</tr>\n
+<tr>\n
+  <td>assertTextPresent</td>\n
+  <td>Done.</td>\n
+  <td></td>\n
+</tr>\n
+\n
+<tr>\n
+  <td>open</td>\n
+  <td>${base_url}/foo_module/0/Foo_viewListBoxProxyField</td>\n
+  <td></td>\n
+</tr>\n
+<tr>\n
+  <td>verifyElementPresent</td>\n
+  <td>//input[@id=\'listbox_next_page\']</td>\n
+  <td></td>\n
+</tr>\n
+\n
+<!-- Use the list action to have the listbox in Full Screen -->\n
+\n
+<tr>\n
+  <td>clickAndWait</td>\n
+  <td>id=listbox_title</td>\n
+  <td></td>\n
+</tr>\n
+<tr>\n
+  <td>verifyElementNotPresent</td>\n
+  <td>//input[@id=\'listbox_next_page\']</td>\n
+  <td></td>\n
+</tr>\n
+\n
+<!-- Use still List Action to return previous page -->\n
+\n
+<tr>\n
+  <td>clickAndWait</td>\n
+  <td>id=listbox_title</td>\n
+  <td></td>\n
+</tr>\n
+<tr>\n
+  <td>verifyElementPresent</td>\n
+  <td>//input[@id=\'listbox_next_page\']</td>\n
+  <td></td>\n
+</tr>\n
+</tal:block>\n
+\n
+</tbody></table>\n
+</body>\n
+</html>\n
+
+
+]]></string> </value>
+        </item>
+        <item>
+            <key> <string>content_type</string> </key>
+            <value> <string>text/html</string> </value>
+        </item>
+        <item>
+            <key> <string>expand</string> </key>
+            <value> <int>0</int> </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>testListActionListboxProxy</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string></string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_ui_test/bt/revision b/bt5/erp5_ui_test/bt/revision
index ed1c32452c..bb7a7c1b1a 100644
--- a/bt5/erp5_ui_test/bt/revision
+++ b/bt5/erp5_ui_test/bt/revision
@@ -1 +1 @@
-575
\ No newline at end of file
+576
-- 
2.30.9


From d227d8ac6fac38def906fdd923a2bcdef3e0b57d Mon Sep 17 00:00:00 2001
From: Kazuhiko Shiozaki <kazuhiko@nexedi.com>
Date: Fri, 23 Jul 2010 13:40:47 +0000
Subject: [PATCH 096/270] TypeError can also happen in int().

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@37256 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 product/ERP5Form/Tool/SelectionTool.py | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/product/ERP5Form/Tool/SelectionTool.py b/product/ERP5Form/Tool/SelectionTool.py
index 764462b1f5..fb71ee4396 100644
--- a/product/ERP5Form/Tool/SelectionTool.py
+++ b/product/ERP5Form/Tool/SelectionTool.py
@@ -377,7 +377,7 @@ class SelectionTool( BaseTool, SimpleItem ):
         for uid in listbox_uid:
           try:
             selection_uid_dict[int(uid)] = 1
-          except ValueError:
+          except (ValueError, TypeError):
             selection_uid_dict[uid] = 1
         self.setSelectionCheckedUidsFor(list_selection_name, selection_uid_dict.keys(), REQUEST=REQUEST)
       if REQUEST is not None:
@@ -398,7 +398,7 @@ class SelectionTool( BaseTool, SimpleItem ):
         for uid in listbox_uid:
           try:
             if selection_uid_dict.has_key(int(uid)): del selection_uid_dict[int(uid)]
-          except ValueError:
+          except (ValueError, TypeError):
             if selection_uid_dict.has_key(uid): del selection_uid_dict[uid]
         self.setSelectionCheckedUidsFor(list_selection_name, selection_uid_dict.keys(), REQUEST=REQUEST)
       if REQUEST is not None:
@@ -757,7 +757,7 @@ class SelectionTool( BaseTool, SimpleItem ):
         if form.has_key('page_start'):
           try:
             list_start = (int(form.pop('page_start', 0)) - 1) * lines
-          except ValueError:
+          except (ValueError, TypeError):
             list_start = 0
         else:
           list_start = int(form.pop('list_start', 0))
@@ -780,7 +780,7 @@ class SelectionTool( BaseTool, SimpleItem ):
         if form.has_key('page_start'):
           try:
             list_start = (int(form.pop('page_start', 0)) - 1) * lines
-          except ValueError:
+          except (ValueError, TypeError):
             list_start = 0
         else:
           list_start = int(form.pop('list_start', 0))
@@ -803,7 +803,7 @@ class SelectionTool( BaseTool, SimpleItem ):
         if form.has_key('page_start'):
           try:
             list_start = (int(form.pop('page_start', 0)) - 1) * lines
-          except ValueError:
+          except (ValueError, TypeError):
             list_start = 0
         else:
           list_start = int(form.pop('list_start', 0))
-- 
2.30.9


From a0a8115b6b09c0e45355ed7e126fa8e6fc14124e Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?J=C3=A9rome=20Perrin?= <jerome@nexedi.com>
Date: Fri, 23 Jul 2010 15:34:16 +0000
Subject: [PATCH 097/270] When we group by an axis or an axis category in
 getInventoryList, expose the uid of this axis on the brain. This means that
 if we do group_by_section_category=True, the brains will have an attribute
 section_category_uid that will be the uid of the section category for this
 brain. Also add support for select_dict and select_list to have the same
 feature when grouping on a related key. Fix typo from r37215,
 group_by_project_category was not working

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@37257 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 product/ERP5/Tool/SimulationTool.py           | 54 ++++++++++++++++---
 .../erp5_core/Resource_zGetInventoryList.xml  | 12 ++++-
 product/ERP5/bootstrap/erp5_core/bt/revision  |  2 +-
 product/ERP5/tests/testInventoryAPI.py        | 54 +++++++++++++++++++
 4 files changed, 113 insertions(+), 9 deletions(-)

diff --git a/product/ERP5/Tool/SimulationTool.py b/product/ERP5/Tool/SimulationTool.py
index f086dcc982..1b3c15a55b 100644
--- a/product/ERP5/Tool/SimulationTool.py
+++ b/product/ERP5/Tool/SimulationTool.py
@@ -423,13 +423,12 @@ class SimulationTool(BaseTool):
         ctool = getToolByName(self, 'portal_catalog')
         sql_kw = sql_kw.copy()
         new_kw = new_kw.copy()
-        # Some columns cannot be found automatically, prepend table name to
-        # avoid ambiguities.
 
         # Group-by expression  (eg. group_by=['node_uid'])
         group_by = new_kw.pop('group_by', [])
 
         # group by from stock table (eg. group_by_node=True)
+        # prepend table name to avoid ambiguities.
         column_group_by = new_kw.pop('column_group_by', [])
         if column_group_by:
           group_by.extend(['%s.%s' % (table, x) for x in column_group_by])
@@ -450,6 +449,14 @@ class SimulationTool(BaseTool):
         if group_by:
           new_kw['group_by'] = group_by
 
+        # select expression
+        select_dict = new_kw.get('select_dict', dict())
+        related_key_select_expression_list = new_kw.pop(
+                'related_key_select_expression_list', [])
+        if related_key_select_expression_list:
+          select_dict[x] = '%s_%s' % (table, x)
+        new_kw['select_dict'] = select_dict
+
         # Column values
         column_value_dict = new_kw.pop('column_value_dict', {})
         for key, value in column_value_dict.iteritems():
@@ -745,6 +752,18 @@ class SimulationTool(BaseTool):
                       ['catalog.uid=%s' % uid for uid in uid_list])
 
       # build the group by expression
+      # if we group by a criterion, we also add this criterion to the select
+      # expression, unless it is already selected in Resource_zGetInventoryList
+      # the caller can also pass select_dict or select_list. select_expression,
+      # which is deprecated in ZSQLCatalog is not supported here.
+      select_dict = kw.get('select_dict', {})
+      # we support select_list, if passed
+      select_list = kw.get('select_list', [])
+      for select_key in kw.get('select_list', []):
+        select_dict[select_key] = None
+      new_kw['select_dict'] = select_dict
+      related_key_select_expression_list = []
+
       column_group_by_expression_list = []
       related_key_group_by_expression_list = []
       if group_by_node:
@@ -777,42 +796,65 @@ class SimulationTool(BaseTool):
 
       if group_by_section_category:
         related_key_group_by_expression_list.append('section_category_uid')
+        related_key_select_expression_list.append('stock_section_category_uid')
       if group_by_section_category_strict_membership:
         related_key_group_by_expression_list.append(
             'section_category_strict_membership_uid')
+        related_key_select_expression_list.append(
+            'section_category_strict_membership_uid')
       if group_by_mirror_section_category:
         related_key_group_by_expression_list.append('mirror_section_category_uid')
+        related_key_select_expression_list.append('mirror_section_category_uid')
       if group_by_mirror_section_category_strict_membership:
         related_key_group_by_expression_list.append(
             'mirror_section_category_strict_membership_uid')
+        related_key_select_expression_list.append(
+            'mirror_section_category_strict_membership_uid')
       if group_by_node_category:
         related_key_group_by_expression_list.append('node_category_uid')
+        related_key_select_expression_list.append('node_category_uid')
       if group_by_node_category_strict_membership:
         related_key_group_by_expression_list.append(
             'node_category_strict_membership_uid')
+        related_key_select_expression_list.append(
+            'node_category_strict_membership_uid')
       if group_by_mirror_node_category:
         related_key_group_by_expression_list.append('mirror_node_category_uid')
       if group_by_mirror_node_category_strict_membership:
         related_key_group_by_expression_list.append(
             'mirror_node_category_strict_membership_uid')
+        related_key_select_expression_list.append(
+            'mirror_node_category_strict_membership_uid')
       if group_by_payment_category:
         related_key_group_by_expression_list.append('payment_category_uid')
+        related_key_select_expression_list.append('payment_category_uid')
       if group_by_payment_category_strict_membership:
         related_key_group_by_expression_list.append(
             'payment_category_strict_membership_uid')
+        related_key_select_expression_list.append(
+            'payment_category_strict_membership_uid')
       if group_by_function_category:
         related_key_group_by_expression_list.append('function_category_uid')
+        related_key_select_expression_list.append('function_category_uid')
       if group_by_function_category_strict_membership:
         related_key_group_by_expression_list.append(
             'function_category_strict_membership_uid')
-      if group_by_function_category:
-        related_key_group_by_expression_list.append('function_category_uid')
-      if group_by_function_category_strict_membership:
-        related_key_group_by_expression_list.append(
+        related_key_select_expression_list.append(
             'function_category_strict_membership_uid')
+      if group_by_project_category:
+        related_key_group_by_expression_list.append('project_category_uid')
+        related_key_select_expression_list.append('project_category_uid')
+      if group_by_project_category_strict_membership:
+        related_key_group_by_expression_list.append(
+            'project_category_strict_membership_uid')
+        related_key_select_expression_list.append(
+            'project_category_strict_membership_uid')
 
       if related_key_group_by_expression_list:
         new_kw['related_key_group_by'] = related_key_group_by_expression_list
+      if related_key_select_expression_list:
+        new_kw['related_key_select_expression_list'] =\
+                related_key_select_expression_list
 
       return sql_kw, new_kw
 
diff --git a/product/ERP5/bootstrap/erp5_core/SkinTemplateItem/portal_skins/erp5_core/Resource_zGetInventoryList.xml b/product/ERP5/bootstrap/erp5_core/SkinTemplateItem/portal_skins/erp5_core/Resource_zGetInventoryList.xml
index a9d5b943ce..68bc29cc6c 100644
--- a/product/ERP5/bootstrap/erp5_core/SkinTemplateItem/portal_skins/erp5_core/Resource_zGetInventoryList.xml
+++ b/product/ERP5/bootstrap/erp5_core/SkinTemplateItem/portal_skins/erp5_core/Resource_zGetInventoryList.xml
@@ -130,6 +130,12 @@
                                   <dictionary/>
                                 </value>
                             </item>
+                            <item>
+                                <key> <string>select_expression</string> </key>
+                                <value>
+                                  <dictionary/>
+                                </value>
+                            </item>
                             <item>
                                 <key> <string>selection_domain</string> </key>
                                 <value>
@@ -195,6 +201,7 @@
                             <string>order_by_expression</string>
                             <string>group_by_expression</string>
                             <string>selection_domain</string>
+                            <string>select_expression</string>
                             <string>selection_report</string>
                             <string>ignore_variation</string>
                             <string>standardize</string>
@@ -233,6 +240,7 @@ where_expression\r\n
 order_by_expression\r\n
 group_by_expression\r\n
 selection_domain\r\n
+select_expression\r\n
 selection_report\r\n
 ignore_variation\r\n
 standardize\r\n
@@ -354,7 +362,7 @@ SELECT\n
   COUNT(DISTINCT <dtml-var stock_table_id>.uid) AS stock_uid,\n
   MAX(<dtml-var stock_table_id>.date) AS date\n
 </dtml-if>\n
-\n
+<dtml-if select_expression>, <dtml-var select_expression></dtml-if>\n
 \n
 FROM\n
   catalog, <dtml-var stock_table_id>\n
@@ -526,7 +534,7 @@ SELECT\n
   COUNT(DISTINCT <dtml-var stock_table_id>.uid) AS stock_uid,\n
   MAX(<dtml-var stock_table_id>.date) AS date\n
 </dtml-if>\n
-\n
+<dtml-if select_expression>, <dtml-var select_expression></dtml-if>\n
 \n
 FROM\n
   catalog, <dtml-var stock_table_id>\n
diff --git a/product/ERP5/bootstrap/erp5_core/bt/revision b/product/ERP5/bootstrap/erp5_core/bt/revision
index 65c6790520..e61847c7fa 100644
--- a/product/ERP5/bootstrap/erp5_core/bt/revision
+++ b/product/ERP5/bootstrap/erp5_core/bt/revision
@@ -1 +1 @@
-1636
\ No newline at end of file
+1637
\ No newline at end of file
diff --git a/product/ERP5/tests/testInventoryAPI.py b/product/ERP5/tests/testInventoryAPI.py
index ba88dc8578..12cdb0b5f6 100644
--- a/product/ERP5/tests/testInventoryAPI.py
+++ b/product/ERP5/tests/testInventoryAPI.py
@@ -798,6 +798,28 @@ class TestInventoryList(InventoryAPITestCase):
                                       group_by_section_category=1)
     self.assertEquals(1, len(inventory_list))
     self.assertEquals(3+2, inventory_list[0].inventory)
+    # section category is exported in the brain
+    self.assertTrue(hasattr(inventory_list[0], 'section_category_uid'))
+    self.assertEquals(self.portal.portal_categories.group.level1.getUid(),
+                      inventory_list[0].section_category_uid)
+
+  def test_GroupBySectionCategoryStrict(self):
+    getInventoryList = self.getSimulationTool().getInventoryList
+    self.section.setGroup('level1')
+    self.other_section.setGroup('level1')
+    m1 = self._makeMovement(quantity=2)
+    m2 = self._makeMovement(destination_section_value=self.other_section, quantity=3)
+
+    inventory_list = getInventoryList(node_uid=self.node.getUid(),
+                                      section_category='group/level1',
+                                      group_by_section_category_strict_membership=1)
+    self.assertEquals(1, len(inventory_list))
+    self.assertEquals(3+2, inventory_list[0].inventory)
+    # section category is exported in the brain
+    self.assertTrue(hasattr(inventory_list[0],
+      'section_category_strict_membership_uid'))
+    self.assertEquals(self.portal.portal_categories.group.level1.getUid(),
+                      inventory_list[0].section_category_strict_membership_uid)
 
   def test_GroupByFunction(self):
     getInventoryList = self.getSimulationTool().getInventoryList
@@ -896,6 +918,21 @@ class TestInventoryList(InventoryAPITestCase):
             if r.getObject().getUse() == 'use1'][0].inventory, 5)
     self.assertEquals([r for r in inventory_list
         if r.getObject().getUse() == 'use2'][0].inventory, 11)
+    
+    # in such case, it's interesting to pass a select expression, to be have on
+    # brain the information of which category is used
+    inventory_list = getInventoryList(node_uid=(self.node.getUid(),
+                                                self.other_node.getUid()),
+                                      group_by=('strict_use_uid', ),
+                                      select_list=['strict_use_uid'])
+    self.assertEquals(2, len(inventory_list))
+    self.assertTrue(hasattr(inventory_list[0], 'strict_use_uid'))
+    use = self.portal.portal_categories.use
+    self.assertEquals([r for r in inventory_list
+      if r.strict_use_uid == use.use1.getUid()][0].inventory, 5)
+    self.assertEquals([r for r in inventory_list
+      if r.strict_use_uid == use.use2.getUid()][0].inventory, 11)
+
     # group_by can also be passed as string
     inventory_list = getInventoryList(node_uid=(self.node.getUid(),
                                                 self.other_node.getUid()),
@@ -906,6 +943,23 @@ class TestInventoryList(InventoryAPITestCase):
     self.assertEquals([r for r in inventory_list
         if r.getObject().getUse() == 'use2'][0].inventory, 11)
 
+    # if we group by "use_uid" instead of "strict_use_uid", then we'll have
+    # summary lines.
+    inventory_list = getInventoryList(node_uid=(self.node.getUid(),
+                                                self.other_node.getUid()),
+                                      group_by=('use_uid', ),
+                                      select_list=['use_uid'])
+    self.assertEquals(3, len(inventory_list))
+    self.assertTrue(hasattr(inventory_list[0], 'use_uid'))
+    use = self.portal.portal_categories.use
+    self.assertEquals([r for r in inventory_list
+      if r.use_uid == use.use1.getUid()][0].inventory, 5)
+    self.assertEquals([r for r in inventory_list
+      if r.use_uid == use.use2.getUid()][0].inventory, 11)
+    # the summary line
+    self.assertEquals([r for r in inventory_list
+      if r.use_uid == use.getUid()][0].inventory, 11+5)
+
     # the name of a column can also be used, from stock or other tables
     inventory_list = getInventoryList(node_uid=(self.node.getUid(),
                                                 self.other_node.getUid()),
-- 
2.30.9


From 9d2f45b47cf98136d83f9825018ca8a4d92e06c3 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?J=C3=A9rome=20Perrin?= <jerome@nexedi.com>
Date: Fri, 23 Jul 2010 16:57:15 +0000
Subject: [PATCH 098/270] include the name of the section in the message

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@37258 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 .../ERP5/Constraint/AccountingTransactionBalance.py    | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/product/ERP5/Constraint/AccountingTransactionBalance.py b/product/ERP5/Constraint/AccountingTransactionBalance.py
index dddaf13cbb..140ef174fa 100644
--- a/product/ERP5/Constraint/AccountingTransactionBalance.py
+++ b/product/ERP5/Constraint/AccountingTransactionBalance.py
@@ -37,9 +37,9 @@ class AccountingTransactionBalance(Constraint):
                        'message_transaction_not_balanced_for_destination' ]
   
   message_transaction_not_balanced_for_source = translateString(
-       'Transaction is not balanced')
+       'Transaction is not balanced for ${section_title}')
   message_transaction_not_balanced_for_destination = translateString(
-       'Transaction is not balanced')
+       'Transaction is not balanced for ${section_title}')
 
   def checkConsistency(self, obj, fixit=0):
     """Implement here the consistency checker
@@ -67,7 +67,8 @@ class AccountingTransactionBalance(Constraint):
           precision = section_currency.getQuantityPrecision()
         if round(total, precision) != 0:
           error_list.append(self._generateError(obj, self._getMessage(
-                'message_transaction_not_balanced_for_source')))
+                'message_transaction_not_balanced_for_source'),
+                mapping=dict(section_title=section.getTranslatedTitle())))
           break
     
     for section, total in destination_sum.items():
@@ -79,7 +80,8 @@ class AccountingTransactionBalance(Constraint):
           precision = section_currency.getQuantityPrecision()
         if round(total, precision) != 0:
           error_list.append(self._generateError(obj, self._getMessage(
-                'message_transaction_not_balanced_for_source')))
+                'message_transaction_not_balanced_for_source'),
+                mapping=dict(section_title=section.getTranslatedTitle())))
           break
 
     return error_list
-- 
2.30.9


From df91902512e8e175173ba50b0fbb2c5fce685505 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?J=C3=A9rome=20Perrin?= <jerome@nexedi.com>
Date: Fri, 23 Jul 2010 16:58:29 +0000
Subject: [PATCH 099/270] update message after r37258

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@37259 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 .../MessageTranslationTemplateItem/fr/erp5_ui/translation.po | 5 +++--
 bt5/erp5_l10n_fr/bt/revision                                 | 2 +-
 2 files changed, 4 insertions(+), 3 deletions(-)

diff --git a/bt5/erp5_l10n_fr/MessageTranslationTemplateItem/fr/erp5_ui/translation.po b/bt5/erp5_l10n_fr/MessageTranslationTemplateItem/fr/erp5_ui/translation.po
index d3ac29faee..101878fd1e 100644
--- a/bt5/erp5_l10n_fr/MessageTranslationTemplateItem/fr/erp5_ui/translation.po
+++ b/bt5/erp5_l10n_fr/MessageTranslationTemplateItem/fr/erp5_ui/translation.po
@@ -11833,8 +11833,8 @@ msgstr "Type d'écriture"
 msgid "Transaction With Grouping Reference"
 msgstr "Écritures lettrées"
 
-msgid "Transaction is not balanced"
-msgstr "L'écriture n'est pas équilibrée"
+msgid "Transaction is not balanced for ${section_title}"
+msgstr "L'écriture n'est pas équilibrée pour ${section_title}"
 
 msgid "Transactions"
 msgstr "Transactions"
@@ -12957,3 +12957,4 @@ msgstr "la largeur en pixel des micro-images."
 
 msgid "the width in pixel of nano image"
 msgstr "La largeur en pixel des images nano."
+
diff --git a/bt5/erp5_l10n_fr/bt/revision b/bt5/erp5_l10n_fr/bt/revision
index acfba60953..83248fb9df 100644
--- a/bt5/erp5_l10n_fr/bt/revision
+++ b/bt5/erp5_l10n_fr/bt/revision
@@ -1 +1 @@
-141
\ No newline at end of file
+142
\ No newline at end of file
-- 
2.30.9


From e795d8d1fa2da87709efb0ec38b14ae2c70e3600 Mon Sep 17 00:00:00 2001
From: Yoshinori Okuji <yo@nexedi.com>
Date: Sat, 24 Jul 2010 00:42:13 +0000
Subject: [PATCH 100/270] 2010-07-24 yo * Fix the bug that generates multiple
 Root Applied Rules partially. Ultimately, we should always use the same
 script (i.e. Delivery_updateSimulation), otherwise it is too hard to make
 sure that all callers are serialized.

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@37261 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 .../portal_skins/erp5_base/Delivery_updateSimulation.xml | 9 +++++++++
 bt5/erp5_base/bt/change_log                              | 3 +++
 bt5/erp5_base/bt/revision                                | 2 +-
 3 files changed, 13 insertions(+), 1 deletion(-)

diff --git a/bt5/erp5_base/SkinTemplateItem/portal_skins/erp5_base/Delivery_updateSimulation.xml b/bt5/erp5_base/SkinTemplateItem/portal_skins/erp5_base/Delivery_updateSimulation.xml
index ec4a5cabf3..ce7450cd47 100644
--- a/bt5/erp5_base/SkinTemplateItem/portal_skins/erp5_base/Delivery_updateSimulation.xml
+++ b/bt5/erp5_base/SkinTemplateItem/portal_skins/erp5_base/Delivery_updateSimulation.xml
@@ -61,15 +61,24 @@ tag = delivery_path + \'_updateAppliedRule\'\n
 \n
 priority = 3\n
 \n
+# These parameters are passed to activate for expand and reindexObject,\n
+# so Delivery_updateAppliedRule will wait for the creation and indexing of\n
+# Applied Rules and Simulation Movements by another Delivery_updateAppliedRule.\n
+# This is required for finding an existing Applied Rule by the catalog, and\n
+# avoiding needless conflicts.\n
 activate_kw = { \n
   \'tag\': expand_tag,\n
   \'priority\': priority,\n
 }\n
+\n
+# Serialization is required for avoiding parallel executions of updateAppliedRule\n
+# which may generate multiple Root Applied Rules.\n
 delivery.activate(\n
     after_path_and_method_id=path_and_method_id,\n
     after_tag=expand_tag,\n
     tag=tag,\n
     priority=priority,\n
+    serialization_tag=delivery_path,\n
     ).Delivery_updateAppliedRule(activate_kw=activate_kw)\n
 </string> </value>
         </item>
diff --git a/bt5/erp5_base/bt/change_log b/bt5/erp5_base/bt/change_log
index d787bcc24c..377f604f58 100644
--- a/bt5/erp5_base/bt/change_log
+++ b/bt5/erp5_base/bt/change_log
@@ -1,3 +1,6 @@
+2010-07-24 yo
+* Fix the bug that generates multiple Root Applied Rules partially. Ultimately, we should always use the same script (i.e. Delivery_updateSimulation), otherwise it is too hard to make sure that all callers are serialized.
+
 2010-07-14 yusei
 * Set reference field to Rounding Model view form.
 
diff --git a/bt5/erp5_base/bt/revision b/bt5/erp5_base/bt/revision
index f9b0327477..e3f17d0dac 100644
--- a/bt5/erp5_base/bt/revision
+++ b/bt5/erp5_base/bt/revision
@@ -1 +1 @@
-815
\ No newline at end of file
+816
\ No newline at end of file
-- 
2.30.9


From e80e829851e82e6b3c061b19bd86a9ba2d0eeccf Mon Sep 17 00:00:00 2001
From: Yoshinori Okuji <yo@nexedi.com>
Date: Sat, 24 Jul 2010 01:41:19 +0000
Subject: [PATCH 101/270] Re-order the list of state types by ascending order
 of simulation.

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@37262 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 product/ERP5Type/patches/States.py | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/product/ERP5Type/patches/States.py b/product/ERP5Type/patches/States.py
index 5504b57dbd..cb47868b51 100644
--- a/product/ERP5Type/patches/States.py
+++ b/product/ERP5Type/patches/States.py
@@ -22,8 +22,14 @@ _properties_form = DTMLFile('state_properties', _dtmldir)
 def getAvailableTypeList(self):
   """This is a method specific to ERP5. This returns a list of state types, which are used for portal methods.
   """
-  return ('current_inventory', 'transit_inventory','reserved_inventory', 
-          'future_inventory', 'draft_order', 'planned_order', )
+  return (
+          'draft_order',
+          'planned_order',
+          'future_inventory',
+          'reserved_inventory',
+          'transit_inventory',
+          'current_inventory',
+          )
   
 def setProperties(self, title='', transitions=(), REQUEST=None, description='', type_list=()):
     '''
-- 
2.30.9


From d381a45133113124baef615a9dbd63e5fcb0b8c4 Mon Sep 17 00:00:00 2001
From: Yoshinori Okuji <yo@nexedi.com>
Date: Sat, 24 Jul 2010 02:05:23 +0000
Subject: [PATCH 102/270] Add a workaround for a problem that MySQLdb does not
 deal with programming errors well.

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@37263 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 product/ZMySQLDA/db.py | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/product/ZMySQLDA/db.py b/product/ZMySQLDA/db.py
index fc8ab243e9..cd1f916f27 100644
--- a/product/ZMySQLDA/db.py
+++ b/product/ZMySQLDA/db.py
@@ -410,6 +410,10 @@ class DB(TM):
             self.db.query(query)
         except ProgrammingError, exception:
           LOG('ZMySQLDA', ERROR, 'query failed: %s' % (query,))
+          # XXX sometimes, after a programming error, the database object
+          # gets fully broken and non-functional. So recover it by
+          # recreation.
+          self._forceReconnection()
           if exception[0] == ER.PARSE_ERROR:
             # You have an error in your SQL syntax
             # Replace MySQL brain dead error message with a more meaningful
-- 
2.30.9


From a6b588e7a2d86233b97e5c05518474522b35f031 Mon Sep 17 00:00:00 2001
From: Yoshinori Okuji <yo@nexedi.com>
Date: Sat, 24 Jul 2010 02:10:38 +0000
Subject: [PATCH 103/270] If a query string has a semicolon at the end, remove
 it. Otherwise, MySQLdb simply generates a programming error.

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@37264 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 product/ZMySQLDA/db.py | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/product/ZMySQLDA/db.py b/product/ZMySQLDA/db.py
index cd1f916f27..a7dabb3fcb 100644
--- a/product/ZMySQLDA/db.py
+++ b/product/ZMySQLDA/db.py
@@ -437,10 +437,15 @@ class DB(TM):
           raise exception
         return self.db.store_result()
 
-    def query(self,query_string, max_rows=1000):
+    def query(self, query_string, max_rows=1000):
         self._use_TM and self._register()
         desc=None
         result=()
+        # XXX deal with a typical mistake that the user appends
+        # an unnecessary and rather harmful semicolon at the end.
+        # Unfortunately, MySQLdb does not want to be graceful.
+        if query_string[-1] == ';':
+          query_string = query_string[:-1]
         for qs in filter(None, map(strip,split(query_string, '\0'))):
             qtype = upper(split(qs, None, 1)[0])
             if qtype == "SELECT" and max_rows:
-- 
2.30.9


From cf8dd3febc75cad23a65cc4de8296695eeacb829 Mon Sep 17 00:00:00 2001
From: Nicolas Dumazet <nicolas.dumazet@nexedi.com>
Date: Mon, 26 Jul 2010 00:55:28 +0000
Subject: [PATCH 104/270] resource can be removed from quantity unit
 acquisition base categories because we removed Products from acquisition
 portal types

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@37265 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 .../CategoryTemplateItem/portal_categories/quantity_unit.xml    | 1 -
 product/ERP5/bootstrap/erp5_core/bt/revision                    | 2 +-
 2 files changed, 1 insertion(+), 2 deletions(-)

diff --git a/product/ERP5/bootstrap/erp5_core/CategoryTemplateItem/portal_categories/quantity_unit.xml b/product/ERP5/bootstrap/erp5_core/CategoryTemplateItem/portal_categories/quantity_unit.xml
index 2141ec5445..561a62398b 100644
--- a/product/ERP5/bootstrap/erp5_core/CategoryTemplateItem/portal_categories/quantity_unit.xml
+++ b/product/ERP5/bootstrap/erp5_core/CategoryTemplateItem/portal_categories/quantity_unit.xml
@@ -37,7 +37,6 @@
               <tuple>
                 <string>order</string>
                 <string>parent</string>
-                <string>resource</string>
               </tuple>
             </value>
         </item>
diff --git a/product/ERP5/bootstrap/erp5_core/bt/revision b/product/ERP5/bootstrap/erp5_core/bt/revision
index e61847c7fa..d65a7d9591 100644
--- a/product/ERP5/bootstrap/erp5_core/bt/revision
+++ b/product/ERP5/bootstrap/erp5_core/bt/revision
@@ -1 +1 @@
-1637
\ No newline at end of file
+1638
-- 
2.30.9


From 4bc54ec4123caca86960329e894bc1314e1584f5 Mon Sep 17 00:00:00 2001
From: Rafael Monnerat <rafael@nexedi.com>
Date: Mon, 26 Jul 2010 04:24:40 +0000
Subject: [PATCH 105/270] Allow users read some not secret preferences, it is
 required Annonymous read some preferences in order to have wizard working
 minimally.

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@37266 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 .../PropertySheet/ExpressPreference.py        | 37 +++++++++----------
 1 file changed, 18 insertions(+), 19 deletions(-)

diff --git a/product/ERP5Wizard/PropertySheet/ExpressPreference.py b/product/ERP5Wizard/PropertySheet/ExpressPreference.py
index f83fe85753..e5f1449931 100644
--- a/product/ERP5Wizard/PropertySheet/ExpressPreference.py
+++ b/product/ERP5Wizard/PropertySheet/ExpressPreference.py
@@ -25,7 +25,6 @@
 # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
 #
 ##############################################################################
-from Products.ERP5Type import Permissions
 
 class ExpressPreference:
   """
@@ -39,63 +38,63 @@ class ExpressPreference:
       'description' : 'The URL of a server which provides Witch Tool',
       'type'        : 'string',
       'preference'  : 1,
-      'read_permission' : Permissions.ManagePortal,
-      'write_permission' : Permissions.ManagePortal,
+      #'read_permission' : 'Manage portal',
+      'write_permission' : 'Manage portal',
       'mode'        : 'w' },
     { 'id'          : 'preferred_witch_tool_server_root',
       'description' : 'The root of a server which provides Witch Tool',
       'type'        : 'string',
       'preference'  : 1,
-      'read_permission' : Permissions.ManagePortal,
-      'write_permission' : Permissions.ManagePortal,
+      #'read_permission' : 'Manage portal',
+      'write_permission' : 'Manage portal',
       'mode'        : 'w' },
     { 'id'          : 'preferred_express_subscription_status',
       'description' : 'ERP5 Express subscription status',
       'type'        : 'string',
       'preference'  : 1,
-      'read_permission' : Permissions.ManagePortal,
-      'write_permission' : Permissions.ManagePortal,
+      #'read_permission' : 'Manage portal',
+      'write_permission' : 'Manage portal',
       'mode'        : 'w' },
     { 'id'          : 'preferred_express_configuration_status',
       'description' : 'ERP5 Express configuration status',
       'type'        : 'string',
       'preference'  : 1,
-      'read_permission' : Permissions.ManagePortal,
-      'write_permission' : Permissions.ManagePortal,
+      #'read_permission' : 'Manage portal',
+      'write_permission' : 'Manage portal',
       'mode'        : 'w' },
     { 'id'          : 'preferred_express_user_id',
       'description' : 'ERP5 Express subscription user id',
       'type'        : 'string',
       'preference'  : 1,
-      'read_permission' : Permissions.ModifyPortalContent,
-      'write_permission' : Permissions.ModifyPortalContent,
+      #'read_permission' : 'Modify portal content',
+      'write_permission' : 'Modify portal content',
       'mode'        : 'w' },
     { 'id'          : 'preferred_express_password',
       'description' : 'ERP5 Express subscription password',
       'type'        : 'string',
       'preference'  : 1,
-      'read_permission' : Permissions.ModifyPortalContent,
-      'write_permission' : Permissions.ModifyPortalContent,
+      'read_permission' : 'Modify portal content',
+      'write_permission' : 'Modify portal content',
       'mode'        : 'w' },
     { 'id'          : 'preferred_express_after_setup_script_id',
       'description' : 'ERP5 Express after setup script id',
       'type'        : 'string',
       'preference'  : 1,
-      'read_permission' : Permissions.ModifyPortalContent,
-      'write_permission' : Permissions.ModifyPortalContent,
+      #'read_permission' : 'Modify portal content',
+      'write_permission' : 'Modify portal content',
       'mode'        : 'w' },
     { 'id'          : 'preferred_express_erp5_uid',
       'description' : 'ERP5 Express unique ID',
       'type'        : 'string',
       'preference'  : 1,
-      'read_permission' : Permissions.ModifyPortalContent,
-      'write_permission' : Permissions.ModifyPortalContent,
+      #'read_permission' : 'Modify portal content',
+      'write_permission' : 'Modify portal content',
       'mode'        : 'w' },
     { 'id'          : 'preferred_express_client_uid',
       'description' : 'ERP5 Express client unique ID',
       'type'        : 'string',
       'preference'  : 1,
-      'read_permission' : Permissions.ModifyPortalContent,
-      'write_permission' : Permissions.ModifyPortalContent,
+      #'read_permission' : 'Modify portal content',
+      'write_permission' : 'Modify portal content',
       'mode'        : 'w' },        
   )
-- 
2.30.9


From 87009af80dc523404d8c6a0d43417ca2f6272b4b Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?J=C3=A9rome=20Perrin?= <jerome@nexedi.com>
Date: Mon, 26 Jul 2010 08:43:23 +0000
Subject: [PATCH 106/270] Add an axis for strict category membership on
 movement

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@37267 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 .../movement_strict_membership.xml            | 100 ++++++++++++++++++
 bt5/erp5_budget/bt/revision                   |   2 +-
 2 files changed, 101 insertions(+), 1 deletion(-)
 create mode 100644 bt5/erp5_budget/PathTemplateItem/portal_categories/inventory_axis/movement_strict_membership.xml

diff --git a/bt5/erp5_budget/PathTemplateItem/portal_categories/inventory_axis/movement_strict_membership.xml b/bt5/erp5_budget/PathTemplateItem/portal_categories/inventory_axis/movement_strict_membership.xml
new file mode 100644
index 0000000000..fad2482b6b
--- /dev/null
+++ b/bt5/erp5_budget/PathTemplateItem/portal_categories/inventory_axis/movement_strict_membership.xml
@@ -0,0 +1,100 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="Category" module="Products.ERP5Type.Document.Category"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_Add_portal_content_Permission</string> </key>
+            <value>
+              <tuple>
+                <string>Assignor</string>
+                <string>Manager</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>_Add_portal_folders_Permission</string> </key>
+            <value>
+              <tuple>
+                <string>Assignor</string>
+                <string>Manager</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>_Copy_or_Move_Permission</string> </key>
+            <value>
+              <tuple>
+                <string>Assignor</string>
+                <string>Manager</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>_Delete_objects_Permission</string> </key>
+            <value>
+              <tuple>
+                <string>Assignor</string>
+                <string>Manager</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>_Modify_portal_content_Permission</string> </key>
+            <value>
+              <tuple>
+                <string>Assignee</string>
+                <string>Assignor</string>
+                <string>Manager</string>
+                <string>Owner</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>categories</string> </key>
+            <value>
+              <tuple>
+                <string>inventory_axis/movement</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>codification</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>description</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>movement_strict_membership</string> </value>
+        </item>
+        <item>
+            <key> <string>int_index</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Category</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>Category Membership on Movement (Strict Membership)</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_budget/bt/revision b/bt5/erp5_budget/bt/revision
index f491e22fc0..a540f59f28 100644
--- a/bt5/erp5_budget/bt/revision
+++ b/bt5/erp5_budget/bt/revision
@@ -1 +1 @@
-299
\ No newline at end of file
+301
\ No newline at end of file
-- 
2.30.9


From add35591188588210f3135824d018b9fdcfa0e1c Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?J=C3=A9rome=20Perrin?= <jerome@nexedi.com>
Date: Mon, 26 Jul 2010 11:24:33 +0000
Subject: [PATCH 107/270] don't fail if query_string is empty

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@37268 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 product/ZMySQLDA/db.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/product/ZMySQLDA/db.py b/product/ZMySQLDA/db.py
index a7dabb3fcb..b3be29a474 100644
--- a/product/ZMySQLDA/db.py
+++ b/product/ZMySQLDA/db.py
@@ -444,7 +444,7 @@ class DB(TM):
         # XXX deal with a typical mistake that the user appends
         # an unnecessary and rather harmful semicolon at the end.
         # Unfortunately, MySQLdb does not want to be graceful.
-        if query_string[-1] == ';':
+        if query_string.endswith(';'):
           query_string = query_string[:-1]
         for qs in filter(None, map(strip,split(query_string, '\0'))):
             qtype = upper(split(qs, None, 1)[0])
-- 
2.30.9


From 765de7f2c97ab1ae24e26d259331985022348d74 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?J=C3=A9rome=20Perrin?= <jerome@nexedi.com>
Date: Mon, 26 Jul 2010 11:25:29 +0000
Subject: [PATCH 108/270] log the message anyway when log errors are catched

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@37269 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 product/ERP5Type/tests/utils.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/product/ERP5Type/tests/utils.py b/product/ERP5Type/tests/utils.py
index 41392b2471..c0d4923473 100644
--- a/product/ERP5Type/tests/utils.py
+++ b/product/ERP5Type/tests/utils.py
@@ -391,7 +391,7 @@ class LogInterceptor:
         if self.logged is None:
             self.logged = []
         self.logged.append(record)
-        return False
+        return True
 
     def _ignore_log_errors(self, subsystem=''):
 
-- 
2.30.9


From 89051a952814920f82cb502729e807339c0adea9 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?J=C3=A9rome=20Perrin?= <jerome@nexedi.com>
Date: Mon, 26 Jul 2010 11:49:52 +0000
Subject: [PATCH 109/270] [-1:] also does not fail when string is empty. Thanks
 Vincent for the tip

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@37270 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 product/ZMySQLDA/db.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/product/ZMySQLDA/db.py b/product/ZMySQLDA/db.py
index b3be29a474..b78c42bf2b 100644
--- a/product/ZMySQLDA/db.py
+++ b/product/ZMySQLDA/db.py
@@ -444,7 +444,7 @@ class DB(TM):
         # XXX deal with a typical mistake that the user appends
         # an unnecessary and rather harmful semicolon at the end.
         # Unfortunately, MySQLdb does not want to be graceful.
-        if query_string.endswith(';'):
+        if query_string[-1:] == ';':
           query_string = query_string[:-1]
         for qs in filter(None, map(strip,split(query_string, '\0'))):
             qtype = upper(split(qs, None, 1)[0])
-- 
2.30.9


From 4be4e7743337658a8c74c36dc7419c56a48f63b4 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?J=C3=A9rome=20Perrin?= <jerome@nexedi.com>
Date: Mon, 26 Jul 2010 12:09:03 +0000
Subject: [PATCH 110/270] transition title are using "transition" as context,
 not "action"

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@37271 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 .../erp5_core/Base_getWorkflowHistoryItemList.xml             | 4 +++-
 product/ERP5/bootstrap/erp5_core/bt/revision                  | 2 +-
 2 files changed, 4 insertions(+), 2 deletions(-)

diff --git a/product/ERP5/bootstrap/erp5_core/SkinTemplateItem/portal_skins/erp5_core/Base_getWorkflowHistoryItemList.xml b/product/ERP5/bootstrap/erp5_core/SkinTemplateItem/portal_skins/erp5_core/Base_getWorkflowHistoryItemList.xml
index 772a0134f8..97a07876dc 100644
--- a/product/ERP5/bootstrap/erp5_core/SkinTemplateItem/portal_skins/erp5_core/Base_getWorkflowHistoryItemList.xml
+++ b/product/ERP5/bootstrap/erp5_core/SkinTemplateItem/portal_skins/erp5_core/Base_getWorkflowHistoryItemList.xml
@@ -139,8 +139,10 @@ for workflow_item in workflow_item_list:\n
         value = \'%s\' % value\n
       elif key == \'actor\':\n
         value = getActorName(value)\n
-      elif same_type(value, \'\') and key in (\'action\', \'state\'):\n
+      elif same_type(value, \'\') and key == \'state\':\n
         value = getTranslationStringWithContext(context, value, key, workflow_id)\n
+      elif same_type(value, \'\') and key == \'action\':\n
+        value = getTranslationStringWithContext(context, value, \'transition\', workflow_id)\n
     if value is marker:\n
       value = \'Does not exist\'\n
     o.setProperty(key, value)\n
diff --git a/product/ERP5/bootstrap/erp5_core/bt/revision b/product/ERP5/bootstrap/erp5_core/bt/revision
index d65a7d9591..fc68f3afca 100644
--- a/product/ERP5/bootstrap/erp5_core/bt/revision
+++ b/product/ERP5/bootstrap/erp5_core/bt/revision
@@ -1 +1 @@
-1638
+1639
\ No newline at end of file
-- 
2.30.9


From db59fd1df7deda39ede12efbf190591ae18b7148 Mon Sep 17 00:00:00 2001
From: Yusuke Muraoka <yusuke@nexedi.com>
Date: Tue, 27 Jul 2010 06:20:37 +0000
Subject: [PATCH 111/270] 2010-07-27 yusuke * Exporting category list limits to
 appropriate properties.

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@37272 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 ...oryTool_constructCategoryTableToExport.xml | 20 ++++++++++++-------
 .../ERP5/bootstrap/erp5_core/bt/change_log    |  3 +++
 product/ERP5/bootstrap/erp5_core/bt/revision  |  2 +-
 3 files changed, 17 insertions(+), 8 deletions(-)

diff --git a/product/ERP5/bootstrap/erp5_core/SkinTemplateItem/portal_skins/erp5_core/CategoryTool_constructCategoryTableToExport.xml b/product/ERP5/bootstrap/erp5_core/SkinTemplateItem/portal_skins/erp5_core/CategoryTool_constructCategoryTableToExport.xml
index 58fe93e77f..88a91be5a1 100644
--- a/product/ERP5/bootstrap/erp5_core/SkinTemplateItem/portal_skins/erp5_core/CategoryTool_constructCategoryTableToExport.xml
+++ b/product/ERP5/bootstrap/erp5_core/SkinTemplateItem/portal_skins/erp5_core/CategoryTool_constructCategoryTableToExport.xml
@@ -55,6 +55,12 @@
             <key> <string>_body</string> </key>
             <value> <string encoding="cdata"><![CDATA[
 
+editable_property_id_list = (\'id\', \'title\', \'short_title\', \'reference\',\n
+                             \'codification\', \'int_index\', \'description\')\n
+\n
+def getHeaderTitle(property_id):\n
+  return \' \'.join([s.capitalize() for s in property_id.split(\'_\')])\n
+\n
 cat_info_list = []\n
 for base_cat_id in context.REQUEST[\'category_list\']:\n
   base_cat = context.portal_categories[base_cat_id]\n
@@ -88,14 +94,15 @@ for cat_info in cat_info_list:\n
     max_cat_depth = cat_info[\'max_cat_depth\']\n
     header_dict[\'path_cell_list\'] = [\'\'] * (max_cat_depth - 1)\n
     header_dict[\'path_cell_list\'][0] = \'Path\'\n
-    header_dict[\'category_property_list\'] = [\' \'.join([s.capitalize() for s in property_id.split(\'_\')]) for property_id in cat_list[0].getPropertyIdList() if property_id != \'uid\']\n
-                                             \n
+    header_dict[\'category_property_list\'] = [getHeaderTitle(property_id)\n
+                                             for property_id in editable_property_id_list]\n
     for cat in cat_list:\n
       row = dict()\n
       row[\'path_cell_list\'] = [\'\'] * (max_cat_depth - 1)\n
       row[\'path_cell_list\'][len(cat.getRelativeUrl().split(\'/\')) - 2] = \'*\'\n
-      row[\'category_property_list\'] = [item[1] for item in cat.getPropertyItemList() if item[0] != \'uid\']\n
-      row_list.append(row) \n
+      row[\'category_property_list\'] = [cat.getProperty(property_id)\n
+                                       for property_id in editable_property_id_list]\n
+      row_list.append(row)\n
   else:\n
     header_dict[\'path_cell_list\'] = [\'Path\']\n
     header_dict[\'category_property_list\'] = []\n
@@ -140,6 +147,8 @@ return result\n
                         <key> <string>co_varnames</string> </key>
                         <value>
                           <tuple>
+                            <string>editable_property_id_list</string>
+                            <string>getHeaderTitle</string>
                             <string>cat_info_list</string>
                             <string>_getiter_</string>
                             <string>_getitem_</string>
@@ -165,10 +174,7 @@ return result\n
                             <string>append</string>
                             <string>$append0</string>
                             <string>property_id</string>
-                            <string>$append1</string>
-                            <string>s</string>
                             <string>row</string>
-                            <string>item</string>
                           </tuple>
                         </value>
                     </item>
diff --git a/product/ERP5/bootstrap/erp5_core/bt/change_log b/product/ERP5/bootstrap/erp5_core/bt/change_log
index e2c3fae66b..b1c0c99580 100644
--- a/product/ERP5/bootstrap/erp5_core/bt/change_log
+++ b/product/ERP5/bootstrap/erp5_core/bt/change_log
@@ -1,3 +1,6 @@
+2010-07-27 yusuke
+* Exporting category list limits to appropriate properties.
+
 2010-07-15 yusei
 * Fix a bug on CategoryTool_getPreferredPredicateCategoryParentUidItemList to support multimembership category list.
 
diff --git a/product/ERP5/bootstrap/erp5_core/bt/revision b/product/ERP5/bootstrap/erp5_core/bt/revision
index fc68f3afca..dfac53b0c4 100644
--- a/product/ERP5/bootstrap/erp5_core/bt/revision
+++ b/product/ERP5/bootstrap/erp5_core/bt/revision
@@ -1 +1 @@
-1639
\ No newline at end of file
+1641
\ No newline at end of file
-- 
2.30.9


From 3e09122bf8ef92b9a99ad99cde5b1f457f177c65 Mon Sep 17 00:00:00 2001
From: Yoshinori Okuji <yo@nexedi.com>
Date: Tue, 27 Jul 2010 08:21:45 +0000
Subject: [PATCH 112/270] Segregate the creation of a mapping dict into
 getMappingDict. Define a new method getMappedPropertyId. Fix an obvious bug
 in setMappedProperty.

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@37273 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 product/ERP5/Document/MappedProperty.py | 45 +++++++++++++++++++------
 1 file changed, 34 insertions(+), 11 deletions(-)

diff --git a/product/ERP5/Document/MappedProperty.py b/product/ERP5/Document/MappedProperty.py
index 52376fabde..32a5ecec85 100644
--- a/product/ERP5/Document/MappedProperty.py
+++ b/product/ERP5/Document/MappedProperty.py
@@ -49,6 +49,36 @@ class MappedProperty(XMLObject):
                      PropertySheet.CategoryCore,
                      PropertySheet.MappedProperty)
 
+  # XXX do we need to protect this method?
+  def getMappingDict(self, reverse=False):
+    # Use volatile attributes for caching.
+    try:
+      if reverse:
+        return self._v_reverse_mapping_dict
+      else:
+        return self._v_mapping_dict
+    except AttributeError:
+      mapping_dict = {}
+      for line in self.getMappingPropertyList():
+        f, t = [x.strip() for x in line.split('|', 1)]
+        if reverse:
+          if t[:1] == '-':
+            f, t = t[1:], '-' + f
+          else:
+            f, t = t, f
+          mapping_dict[f] = t
+        else:
+          mapping_dict[f] = t
+      if reverse:
+        self._v_reverse_mapping_dict = mapping_dict
+      else:
+        self._v_mapping_dict = mapping_dict
+      return mapping_dict
+
+  # XXX do we need to protect this method?
+  def getMappedPropertyId(self, property, reverse=False):
+    return self.getMappingDict(reverse=reverse).get(property, property)
+
   # Security should be handled by the target document not by the mapped
   # property document.
   security.declarePublic('getMappedProperty')
@@ -58,8 +88,7 @@ class MappedProperty(XMLObject):
       getProperty = document.getPropertyList
     else:
       getProperty = document.getProperty
-    mapping_dict = dict([[x.strip() for x in x.split('|')] \
-                         for x in self.getMappingPropertyList()])
+    mapping_dict = self.getMappingDict()
     mapped_property = mapping_dict.get(property, property)
     if mapped_property.startswith('-'):
       return -1 * getProperty(mapped_property[1:])
@@ -75,15 +104,9 @@ class MappedProperty(XMLObject):
       setProperty = document.setPropertyList
     else:
       setProperty = document.setProperty
-    mapping_dict = {}
-    for x in self.getMappingPropertyList():
-      from_property, to_property = [x.strip() for x in x.split('|')]
-      if to_property.startswith('-'):
-        mapping_dict[to_property[1:]] = '-%s' % from_property
-      else:
-        mapping_dict[to_property] = from_property
+    mapping_dict = self.getMappingDict(reverse=True)
     mapped_property = mapping_dict.get(property, property)
     if mapped_property.startswith('-'):
-      return setProperty(-1 * value)
+      return setProperty(mapped_property, -1 * value)
     else:
-      return setProperty(value)
+      return setProperty(mapped_property, value)
-- 
2.30.9


From 4e1cdcf48f7c4ec2016e90301fb5bb5737152fc1 Mon Sep 17 00:00:00 2001
From: Yoshinori Okuji <yo@nexedi.com>
Date: Tue, 27 Jul 2010 08:36:21 +0000
Subject: [PATCH 113/270] getCorrectedQuantity must not use a mapped quantity,
 as any mapping must not be enabled in the simulation world. Instead, every
 caller must specify which is wanted very explicitly. This change also fixes
 that delivery error and profit quantity were not handled correctly when
 quantity was inversed.

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@37274 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 product/ERP5/Document/SimulationMovement.py | 17 ++++++++++++++++-
 1 file changed, 16 insertions(+), 1 deletion(-)

diff --git a/product/ERP5/Document/SimulationMovement.py b/product/ERP5/Document/SimulationMovement.py
index ad3aab4f80..03f03ff945 100644
--- a/product/ERP5/Document/SimulationMovement.py
+++ b/product/ERP5/Document/SimulationMovement.py
@@ -453,7 +453,7 @@ class SimulationMovement(Movement, PropertyRecordableMixin):
           Look are invocations of _isProfitAndLossMovement in
           ERP5.mixin.rule to understand how.
     """
-    quantity = self.getMappedProperty('quantity')
+    quantity = self.getQuantity()
     profit_quantity = self.getProfitQuantity() or 0
     delivery_error = self.getDeliveryError() or 0
     return quantity - profit_quantity + delivery_error
@@ -608,6 +608,21 @@ class SimulationMovement(Movement, PropertyRecordableMixin):
   def getMappedProperty(self, property):
     mapping = self.getPropertyMappingValue()
     if mapping is not None:
+      # Special case: corrected quantity is difficult to handle,
+      # because, if quantity is negatated in the mapping, other
+      # parameters, profit quantity (deprecated) and delivery error,
+      # must be negatated as well.
+      if property == 'corrected_quantity':
+        mapped_quantity_id = mapping.getMappedPropertyId('quantity')
+        quantity = mapping.getMappedProperty(self, 'quantity')
+        profit_quantity = self.getProfitQuantity() or 0
+        delivery_error = self.getDeliveryError() or 0
+        if mapped_quantity_id[:1] == '-':
+          # XXX what about if "quantity | -something_different" is
+          # specified?
+          return quantity + profit_quantity - delivery_error
+        else:
+          return quantity - profit_quantity + delivery_error
       return mapping.getMappedProperty(self, property)
     else:
       return self.getProperty(property)
-- 
2.30.9


From 115677d65a5da5dbe1fa267d504d8c0cf08c4a4d Mon Sep 17 00:00:00 2001
From: Yoshinori Okuji <yo@nexedi.com>
Date: Tue, 27 Jul 2010 08:37:20 +0000
Subject: [PATCH 114/270] Use getMappedProperty to obtain corrected quantities.

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@37275 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 product/ERP5Legacy/Document/QuantityDivergenceTester.py | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/product/ERP5Legacy/Document/QuantityDivergenceTester.py b/product/ERP5Legacy/Document/QuantityDivergenceTester.py
index 2565268cee..df85d63790 100644
--- a/product/ERP5Legacy/Document/QuantityDivergenceTester.py
+++ b/product/ERP5Legacy/Document/QuantityDivergenceTester.py
@@ -66,7 +66,7 @@ class QuantityDivergenceTester(PropertyDivergenceTester):
     delivery = simulation_movement.getDeliveryValue()
 
     d_quantity = delivery.getQuantity()
-    quantity = simulation_movement.getCorrectedQuantity()
+    quantity = simulation_movement.getMappedProperty('corrected_quantity')
 
     extra_parameters = dict()
     if abs(quantity - d_quantity) < 1:
@@ -112,7 +112,7 @@ class QuantityDivergenceTester(PropertyDivergenceTester):
       # A delivery quantity of 0 is an exceptional case that we cannot really
       # handle with the current approach of delivery ratio.
       d_quantity = delivery.getQuantity()
-      quantity = sum([m.getCorrectedQuantity() for m in
+      quantity = sum([m.getMappedProperty('corrected_quantity') for m in
         delivery.getDeliveryRelatedValueList(
           portal_type='Simulation Movement')])
 
-- 
2.30.9


From 89acf9fafa3a897616c28718acf64793850872cc Mon Sep 17 00:00:00 2001
From: Yoshinori Okuji <yo@nexedi.com>
Date: Tue, 27 Jul 2010 08:41:29 +0000
Subject: [PATCH 115/270] Fix the comment.

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@37276 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 product/ERP5/Document/SimulationMovement.py | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/product/ERP5/Document/SimulationMovement.py b/product/ERP5/Document/SimulationMovement.py
index 03f03ff945..fafb94077c 100644
--- a/product/ERP5/Document/SimulationMovement.py
+++ b/product/ERP5/Document/SimulationMovement.py
@@ -609,9 +609,9 @@ class SimulationMovement(Movement, PropertyRecordableMixin):
     mapping = self.getPropertyMappingValue()
     if mapping is not None:
       # Special case: corrected quantity is difficult to handle,
-      # because, if quantity is negatated in the mapping, other
+      # because, if quantity is inverse in the mapping, other
       # parameters, profit quantity (deprecated) and delivery error,
-      # must be negatated as well.
+      # must be inverse as well.
       if property == 'corrected_quantity':
         mapped_quantity_id = mapping.getMappedPropertyId('quantity')
         quantity = mapping.getMappedProperty(self, 'quantity')
-- 
2.30.9


From 2c433fa9cc680440d49a01e00a3c512e730c8321 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?J=C3=A9rome=20Perrin?= <jerome@nexedi.com>
Date: Tue, 27 Jul 2010 09:31:12 +0000
Subject: [PATCH 116/270] Support scriptable URLs for matrixbox cells, similar
 to listbox URL columns (with the difference that matrixbox does not make
 automatically and URL to the document if no URL column are defined).

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@37277 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 product/ERP5Form/MatrixBox.py | 70 ++++++++++++++++++++++++++---------
 1 file changed, 53 insertions(+), 17 deletions(-)

diff --git a/product/ERP5Form/MatrixBox.py b/product/ERP5Form/MatrixBox.py
index 7371328853..18bfd58caa 100644
--- a/product/ERP5Form/MatrixBox.py
+++ b/product/ERP5Form/MatrixBox.py
@@ -27,8 +27,11 @@
 #
 ##############################################################################
 
+import sys
 from AccessControl import ClassSecurityInfo
 from AccessControl.ZopeGuards import guarded_getattr
+from ZODB.POSException import ConflictError
+from zLOG import LOG, WARNING
 from Products.Formulator.DummyField import fields
 from Products.Formulator import Widget, Validator
 from Products.Formulator.Errors import FormValidationError, ValidationError
@@ -55,8 +58,7 @@ class MatrixBoxWidget(Widget.Widget):
                      ['cell_base_id', 'cell_portal_type', 'lines', 'columns',
                       'tabs', 'as_cell_range_script_id', 'getter_method',
                       'editable_attributes', 'global_attributes',
-                      'cell_getter_method',
-                      'update_cell_range' ]
+                      'cell_getter_method', 'update_cell_range', 'url_cells' ]
 
     default = fields.TextAreaField('default',
                                    title='Default',
@@ -182,6 +184,14 @@ class MatrixBoxWidget(Widget.Widget):
         "The cell range should be updated upon edit."),
                                   default=0)
 
+    url_cells = fields.ListTextAreaField('url_cells',
+                                 title="URL Cells",
+                                 description=(
+        "An optional list of cells which can provide a custom URL."
+        "If no url cell is used, then no link is displayed."),
+                                 default=[],
+                                 required=0)
+
     def render(self, field, key, value, REQUEST, render_format='html', render_prefix=None):
         """
           This is where most things happen. This method renders a list
@@ -237,6 +247,8 @@ class MatrixBoxWidget(Widget.Widget):
         else:
           cell_getter_method = context.getCell
         editable_attributes = field.get_value('editable_attributes')
+        url_cells = field.get_value('url_cells')
+        url_cell_dict = dict(url_cells)
 
         # This is required when we have no tabs
         if len(tabs) == 0:
@@ -335,7 +347,7 @@ class MatrixBoxWidget(Widget.Widget):
                 list_result_lines = [ str(l[1]) ]
               
               for c in columns:
-                has_error = 0
+                has_error = False
                 column_id = c[0]
                 if (column_id is not None) and \
                    (not isinstance(column_id, (list, tuple))):
@@ -352,8 +364,28 @@ class MatrixBoxWidget(Widget.Widget):
                 REQUEST['cell'] = cell
                 
                 cell_body = ''
-                
+                cell_url = None
+
                 for attribute_id in editable_attribute_ids:
+                  if attribute_id in url_cell_dict:
+                    url_method_id = url_cell_dict[attribute_id]
+                    if url_method_id not in (None, ''):
+                      url_method = getattr(cell, url_method_id, None)
+                      if url_method is not None:
+                        try:
+                          cell_url = url_method(brain=cell,
+                                                cell_index=kw,
+                                                cell_position=((i,j,k) + extra_dimension_position))
+                        except (ConflictError, RuntimeError):
+                          raise
+                        except:
+                          LOG('MatrixBox', WARNING, 'Could not evaluate the url '
+                              'method %r with %r' % (url_method, cell),
+                              error=sys.exc_info())
+                      else:
+                        LOG('MatrixBox', WARNING,
+                            'Could not find the url method %s' % (url_method_id,))
+
                   my_field_id = '%s_%s' % (field.id, attribute_id)
                   if form.has_field(my_field_id):
                     my_field = form.get_field(my_field_id)
@@ -361,7 +393,7 @@ class MatrixBoxWidget(Widget.Widget):
                     if cell is not None:
                       attribute_value = my_field.get_value('default',
                              cell=cell, cell_index=kw, cell_position = ((i,j,k)+extra_dimension_position))
-                      
+                         
                       if render_format=='html':
                         display_value = attribute_value
                         if field_errors:
@@ -372,20 +404,24 @@ class MatrixBoxWidget(Widget.Widget):
                                                     attribute_value)
                         else:
                           display_value = attribute_value
+                        cell_html = my_field.render(value=display_value,
+                                              REQUEST=REQUEST,
+                                              key=key)
+                        if cell_url:
+                          # don't make a link if widget is editable
+                          if not my_field.get_value('editable',
+                             cell=cell, cell_index=kw,
+                             cell_position=((i,j,k)+extra_dimension_position)):
+                            cell_html = "<a href='%s'>%s</a>" % (cell_url,
+                                                                 cell_html)
                         if field_errors.has_key(key):
                           # Display error message if this cell has an error
-                          has_error = 1
+                          has_error = True
                           cell_body += '<span class="input">%s</span>%s' % (
-                              my_field.render(value=display_value,
-                                              REQUEST=REQUEST,
-                                              key=key),
-                              translateString(field_errors[key].error_text))
+                              cell_html, translateString(field_errors[key].error_text))
                         else:
-                          cell_body += '<span class="input">%s</span>' %\
-                                           my_field.render(
-                                              value=display_value,
-                                              REQUEST=REQUEST,
-                                              key=key)
+                          cell_body += '<span class="input">%s</span>' % (
+                                          cell_html )
                         
                       elif render_format == 'list':
                         if not my_field.get_value('hidden'):
@@ -405,7 +441,7 @@ class MatrixBoxWidget(Widget.Widget):
                           display_value = attribute_value
                         if field_errors.has_key(key):
                           # Display error message if this cell has an error
-                          has_error = 1
+                          has_error = True
                           cell_body += '<span class="input">%s</span>%s' % (
                               my_field.render(value=display_value,
                                               REQUEST=REQUEST,
@@ -421,7 +457,7 @@ class MatrixBoxWidget(Widget.Widget):
                         list_result_lines.append(None)
                         
                 css = td_css
-                if has_error :
+                if has_error:
                   css = 'error'
                 list_body = list_body + \
                       ('<td class=\"%s\">%s</td>' % (css, cell_body))
-- 
2.30.9


From 0c1f2753e1a68fabf6ba2fb53d473738739f0b9b Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?J=C3=A9rome=20Perrin?= <jerome@nexedi.com>
Date: Tue, 27 Jul 2010 09:32:27 +0000
Subject: [PATCH 117/270] make "cell_index" available in TALES for matrixbox
 editable fields

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@37278 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 product/ERP5Form/Form.py      | 8 +++++++-
 product/ERP5Form/MatrixBox.py | 1 +
 2 files changed, 8 insertions(+), 1 deletion(-)

diff --git a/product/ERP5Form/Form.py b/product/ERP5Form/Form.py
index 16e44a7e6c..8c330b86bf 100644
--- a/product/ERP5Form/Form.py
+++ b/product/ERP5Form/Form.py
@@ -181,8 +181,14 @@ class TALESValue(StaticValue):
           kw['cell'] = request.cell
         else:
           kw['cell'] = request
+        if 'cell_index' not in kw and\
+            getattr(request, 'cell_index', None) is not None:
+          kw['cell_index'] = request.cell_index
       elif getattr(REQUEST, 'cell', None) is not None:
-          kw['cell'] = REQUEST.cell
+        kw['cell'] = REQUEST.cell
+    if 'cell_index' not in kw and \
+      getattr(REQUEST, 'cell_index', None) is not None:
+        kw['cell_index'] = REQUEST.cell_index
     # on Zope 2.12, only path expressions can access the CONTEXTS name
     # but ERP5 has many python expressions that try to access CONTEXTS, so
     # we try to keep backward compatibility
diff --git a/product/ERP5Form/MatrixBox.py b/product/ERP5Form/MatrixBox.py
index 18bfd58caa..937c7593c2 100644
--- a/product/ERP5Form/MatrixBox.py
+++ b/product/ERP5Form/MatrixBox.py
@@ -362,6 +362,7 @@ class MatrixBoxWidget(Widget.Widget):
                 kwd['base_id'] = cell_base_id
                 cell = cell_getter_method(*kw, **kwd)
                 REQUEST['cell'] = cell
+                REQUEST['cell_index'] = kw
                 
                 cell_body = ''
                 cell_url = None
-- 
2.30.9


From 2f21c8e3bdc32732bbf2019b5dd2bd2392428c78 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?J=C3=A9rome=20Perrin?= <jerome@nexedi.com>
Date: Tue, 27 Jul 2010 11:18:46 +0000
Subject: [PATCH 118/270] use make_query to produce correct link when filepath
 contains %20

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@37279 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 .../erp5_svn/BusinessTemplate_doSvnDiff.xml   | 22 ++++++++++++++-----
 bt5/erp5_forge/bt/revision                    |  2 +-
 2 files changed, 17 insertions(+), 7 deletions(-)

diff --git a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/BusinessTemplate_doSvnDiff.xml b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/BusinessTemplate_doSvnDiff.xml
index 51284b0e20..b112084c77 100644
--- a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/BusinessTemplate_doSvnDiff.xml
+++ b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/BusinessTemplate_doSvnDiff.xml
@@ -55,6 +55,8 @@
             <key> <string>_body</string> </key>
             <value> <string encoding="cdata"><![CDATA[
 
+from ZTUtils import make_query\n
+\n
 modified=context.REQUEST["modified"]\n
 added=context.REQUEST["added"]\n
 removed=context.REQUEST["removed"]\n
@@ -67,8 +69,10 @@ tab_Removed=removed.split(\',\')\n
 if modified != \'none\':\n
   for f in tab_Modified:\n
     print \'<input name="modified" value="%s" type="checkbox" checked="checked" />\'%f\n
-    f = context.getPortalObject()["portal_subversion"].relativeToAbsolute(f, context)    \n
-    print "<span style=\'font-weight: bold; color: black;\'>Index: <a href=\'BusinessTemplate_viewSvnShowFile?file="+f+"\'>"+f+"</a>"\n
+    f = context.getPortalObject()["portal_subversion"].relativeToAbsolute(f, context)\n
+    print "<span style=\'font-weight: bold; color: black;\'>Index: "\\\n
+        "<a href=\'BusinessTemplate_viewSvnShowFile?%s\'>%s</a></span>" %(\n
+         make_query(file=f), f)\n
     edit_path = context.getPortalObject()["portal_subversion"].editPath(context, f)\n
     if(edit_path != \'#\'):\n
       print "<a href=\'"+edit_path+"\'><img src=\'ERP5Subversion_imgs/edit.png\' alt=\'Edit\' style=\'border: 0\' /></a>"\n
@@ -79,8 +83,10 @@ if modified != \'none\':\n
 if added != \'none\':\n
   for f in tab_Added:\n
     print \'<input name="added" value="%s" type="checkbox" checked="checked" />\'%f\n
-    f = context.getPortalObject()["portal_subversion"].relativeToAbsolute(f, context) \n
-    print "<span style=\'font-weight: bold; color: black;\'>Index: <a href=\'BusinessTemplate_viewSvnShowFile?file="+f+"\'>"+f+"</a>"\n
+    f = context.getPortalObject()["portal_subversion"].relativeToAbsolute(f, context)\n
+    print "<span style=\'font-weight: bold; color: black;\'>Index: "\\\n
+        "<a href=\'BusinessTemplate_viewSvnShowFile?%s\'>%s</a></span>" %(\n
+         make_query(file=f), f)\n
     edit_path = context.getPortalObject()["portal_subversion"].editPath(context, f)\n
     if(edit_path != \'#\'):\n
       print "<a href=\'"+edit_path+"\'><img src=\'ERP5Subversion_imgs/edit.png\' alt=\'Edit\' style=\'border: 0\' /></a>"\n
@@ -90,8 +96,10 @@ if added != \'none\':\n
 if removed != \'none\':\n
   for f in tab_Removed:\n
     print \'<input name="removed" value="%s" type="checkbox" checked="checked" />\'%f\n
-    f = context.getPortalObject()["portal_subversion"].relativeToAbsolute(f, context) \n
-    print "<span style=\'font-weight: bold; color: black;\'>Index: <a href=\'BusinessTemplate_viewSvnShowFile?file="+f+"\'>"+f+"</a>"\n
+    f = context.getPortalObject()["portal_subversion"].relativeToAbsolute(f, context)\n
+    print "<span style=\'font-weight: bold; color: black;\'>Index: "\\\n
+        "<a href=\'BusinessTemplate_viewSvnShowFile?%s\'>%s</a></span>" %(\n
+         make_query(file=f), f)\n
     edit_path = context.getPortalObject()["portal_subversion"].editPath(context, f)\n
     if(edit_path != \'#\'):\n
       print "<a href=\'"+edit_path+"\'><img src=\'ERP5Subversion_imgs/edit.png\' alt=\'Edit\' style=\'border: 0\' /></a>"\n
@@ -140,6 +148,8 @@ return printed\n
                           <tuple>
                             <string>_print_</string>
                             <string>_print</string>
+                            <string>ZTUtils</string>
+                            <string>make_query</string>
                             <string>_getitem_</string>
                             <string>_getattr_</string>
                             <string>context</string>
diff --git a/bt5/erp5_forge/bt/revision b/bt5/erp5_forge/bt/revision
index e88ff725aa..fb4abc5b58 100644
--- a/bt5/erp5_forge/bt/revision
+++ b/bt5/erp5_forge/bt/revision
@@ -1 +1 @@
-602
\ No newline at end of file
+603
\ No newline at end of file
-- 
2.30.9


From 1eb16cf42029bb17783995dfd192fc374f68c1e8 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?J=C3=A9rome=20Perrin?= <jerome@nexedi.com>
Date: Tue, 27 Jul 2010 12:31:34 +0000
Subject: [PATCH 119/270] Add an actiont to update summary budget cells on a
 budget line, and an helper script to get the summary categories

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@37280 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 .../update_summary_budget_cell.xml            |  91 ++++++++
 .../BudgetLine_getSummaryDimensionKeyDict.xml | 200 +++++++++++++++++
 ...udgetLine_setQuantityOnSummaryCellList.xml | 201 ++++++++++++++++++
 ...viewSetQuantityOnSummaryCellListDialog.xml | 153 +++++++++++++
 bt5/erp5_budget/bt/revision                   |   2 +-
 bt5/erp5_budget/bt/template_action_path_list  |   1 +
 6 files changed, 647 insertions(+), 1 deletion(-)
 create mode 100644 bt5/erp5_budget/ActionTemplateItem/portal_types/Budget%20Line/update_summary_budget_cell.xml
 create mode 100644 bt5/erp5_budget/SkinTemplateItem/portal_skins/erp5_budget/BudgetLine_getSummaryDimensionKeyDict.xml
 create mode 100644 bt5/erp5_budget/SkinTemplateItem/portal_skins/erp5_budget/BudgetLine_setQuantityOnSummaryCellList.xml
 create mode 100644 bt5/erp5_budget/SkinTemplateItem/portal_skins/erp5_budget/BudgetLine_viewSetQuantityOnSummaryCellListDialog.xml

diff --git a/bt5/erp5_budget/ActionTemplateItem/portal_types/Budget%20Line/update_summary_budget_cell.xml b/bt5/erp5_budget/ActionTemplateItem/portal_types/Budget%20Line/update_summary_budget_cell.xml
new file mode 100644
index 0000000000..1e669c85a4
--- /dev/null
+++ b/bt5/erp5_budget/ActionTemplateItem/portal_types/Budget%20Line/update_summary_budget_cell.xml
@@ -0,0 +1,91 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="ActionInformation" module="Products.CMFCore.ActionInformation"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>action</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>categories</string> </key>
+            <value>
+              <tuple>
+                <string>action_type/object_action</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>category</string> </key>
+            <value> <string>object_action</string> </value>
+        </item>
+        <item>
+            <key> <string>condition</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>description</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>icon</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>update_summary_budget_cell</string> </value>
+        </item>
+        <item>
+            <key> <string>permissions</string> </key>
+            <value>
+              <tuple>
+                <string>Modify portal content</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Action Information</string> </value>
+        </item>
+        <item>
+            <key> <string>priority</string> </key>
+            <value> <float>1.0</float> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>Update Summary Budget Cells</string> </value>
+        </item>
+        <item>
+            <key> <string>visible</string> </key>
+            <value> <int>1</int> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="2" aka="AAAAAAAAAAI=">
+    <pickle>
+      <tuple>
+        <global name="Expression" module="Products.CMFCore.Expression"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>text</string> </key>
+            <value> <string>string:${object_url}/BudgetLine_viewSetQuantityOnSummaryCellListDialog</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_budget/SkinTemplateItem/portal_skins/erp5_budget/BudgetLine_getSummaryDimensionKeyDict.xml b/bt5/erp5_budget/SkinTemplateItem/portal_skins/erp5_budget/BudgetLine_getSummaryDimensionKeyDict.xml
new file mode 100644
index 0000000000..7fb6f8648c
--- /dev/null
+++ b/bt5/erp5_budget/SkinTemplateItem/portal_skins/erp5_budget/BudgetLine_getSummaryDimensionKeyDict.xml
@@ -0,0 +1,200 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>Script_magic</string> </key>
+            <value> <int>3</int> </value>
+        </item>
+        <item>
+            <key> <string>_bind_names</string> </key>
+            <value>
+              <object>
+                <klass>
+                  <global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/>
+                </klass>
+                <tuple/>
+                <state>
+                  <dictionary>
+                    <item>
+                        <key> <string>_asgns</string> </key>
+                        <value>
+                          <dictionary>
+                            <item>
+                                <key> <string>name_container</string> </key>
+                                <value> <string>container</string> </value>
+                            </item>
+                            <item>
+                                <key> <string>name_context</string> </key>
+                                <value> <string>context</string> </value>
+                            </item>
+                            <item>
+                                <key> <string>name_m_self</string> </key>
+                                <value> <string>script</string> </value>
+                            </item>
+                            <item>
+                                <key> <string>name_subpath</string> </key>
+                                <value> <string>traverse_subpath</string> </value>
+                            </item>
+                          </dictionary>
+                        </value>
+                    </item>
+                  </dictionary>
+                </state>
+              </object>
+            </value>
+        </item>
+        <item>
+            <key> <string>_body</string> </key>
+            <value> <string>"""Returns a dictionnary of dependant variation categories for this budget\n
+line.\n
+This can be used to know if a budget cell aggregates the values from other\n
+budget cells.\n
+For example, the returned dictionnary can be:\n
+  { \'function/f\': [\'function/f/f1\', \'function/f/f2\'],\n
+    \'source/account_type/asset\': [\'source/account_type/asset/cash\'], }\n
+As we can see on the example, only individual categories are returned, not cell\n
+coordinates.\n
+"""\n
+# look on the budget model to see which base categories are used for non strict\n
+# membership. We will only update summaries for thoses axis\n
+non_strict_base_category_set = dict()\n
+budget_model = context.getParentValue().getSpecialiseValue()\n
+if budget_model is not None:\n
+  for budget_variation in budget_model.contentValues(\n
+        portal_type=context.getPortalBudgetVariationTypeList()):\n
+    if budget_variation.isMemberOf(\'budget_variation/budget_cell\') \\\n
+        and budget_variation.getInventoryAxis() in (\n
+            \'movement\',\n
+            \'node_category\',\n
+            \'mirror_node_category\',\n
+            \'section_category\',\n
+            \'mirror_section_category\',\n
+            \'function_category\',\n
+            \'project_category\',\n
+            \'payment_category\',):\n
+\n
+      non_strict_base_category_set[\n
+          budget_variation.getProperty(\'variation_base_category\')] = True\n
+  \n
+def reversed(seq):\n
+  seq = seq[::]\n
+  seq.sort(reverse=True)\n
+  return seq\n
+\n
+# build a dict of dependant dimensions\n
+dependant_dimensions_dict = dict()\n
+for bc in non_strict_base_category_set.keys():\n
+  vcl = reversed(context.getVariationCategoryList(base_category_list=(bc,)))\n
+  for vc in vcl:\n
+    dependant_vc_list = [other_vc for other_vc in vcl\n
+                          if other_vc.startswith(\'%s/\' % vc)\n
+                          and other_vc not in dependant_dimensions_dict]\n
+    if dependant_vc_list:\n
+      dependant_dimensions_dict[vc] = dependant_vc_list\n
+\n
+\n
+from Products.ERP5Type.Utils import cartesianProduct\n
+# also add all cell coordinates in the dictionnary\n
+for cell_key in cartesianProduct(context.getCellRange()):\n
+  for key in cell_key:\n
+    if key in dependant_dimensions_dict:\n
+      dependant_dimensions_dict[tuple(cell_key)] = [] # TODO ?\n
+      break\n
+\n
+return dependant_dimensions_dict\n
+</string> </value>
+        </item>
+        <item>
+            <key> <string>_code</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>_params</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>errors</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+        <item>
+            <key> <string>func_code</string> </key>
+            <value>
+              <object>
+                <klass>
+                  <global name="FuncCode" module="Shared.DC.Scripts.Signature"/>
+                </klass>
+                <tuple/>
+                <state>
+                  <dictionary>
+                    <item>
+                        <key> <string>co_argcount</string> </key>
+                        <value> <int>0</int> </value>
+                    </item>
+                    <item>
+                        <key> <string>co_varnames</string> </key>
+                        <value>
+                          <tuple>
+                            <string>dict</string>
+                            <string>non_strict_base_category_set</string>
+                            <string>_getattr_</string>
+                            <string>context</string>
+                            <string>budget_model</string>
+                            <string>None</string>
+                            <string>_getiter_</string>
+                            <string>budget_variation</string>
+                            <string>True</string>
+                            <string>_write_</string>
+                            <string>reversed</string>
+                            <string>dependant_dimensions_dict</string>
+                            <string>bc</string>
+                            <string>vcl</string>
+                            <string>vc</string>
+                            <string>append</string>
+                            <string>$append0</string>
+                            <string>other_vc</string>
+                            <string>dependant_vc_list</string>
+                            <string>Products.ERP5Type.Utils</string>
+                            <string>cartesianProduct</string>
+                            <string>cell_key</string>
+                            <string>key</string>
+                            <string>tuple</string>
+                          </tuple>
+                        </value>
+                    </item>
+                  </dictionary>
+                </state>
+              </object>
+            </value>
+        </item>
+        <item>
+            <key> <string>func_defaults</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>BudgetLine_getSummaryDimensionKeyDict</string> </value>
+        </item>
+        <item>
+            <key> <string>warnings</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_budget/SkinTemplateItem/portal_skins/erp5_budget/BudgetLine_setQuantityOnSummaryCellList.xml b/bt5/erp5_budget/SkinTemplateItem/portal_skins/erp5_budget/BudgetLine_setQuantityOnSummaryCellList.xml
new file mode 100644
index 0000000000..b42c4a759b
--- /dev/null
+++ b/bt5/erp5_budget/SkinTemplateItem/portal_skins/erp5_budget/BudgetLine_setQuantityOnSummaryCellList.xml
@@ -0,0 +1,201 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>Script_magic</string> </key>
+            <value> <int>3</int> </value>
+        </item>
+        <item>
+            <key> <string>_bind_names</string> </key>
+            <value>
+              <object>
+                <klass>
+                  <global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/>
+                </klass>
+                <tuple/>
+                <state>
+                  <dictionary>
+                    <item>
+                        <key> <string>_asgns</string> </key>
+                        <value>
+                          <dictionary>
+                            <item>
+                                <key> <string>name_container</string> </key>
+                                <value> <string>container</string> </value>
+                            </item>
+                            <item>
+                                <key> <string>name_context</string> </key>
+                                <value> <string>context</string> </value>
+                            </item>
+                            <item>
+                                <key> <string>name_m_self</string> </key>
+                                <value> <string>script</string> </value>
+                            </item>
+                            <item>
+                                <key> <string>name_subpath</string> </key>
+                                <value> <string>traverse_subpath</string> </value>
+                            </item>
+                          </dictionary>
+                        </value>
+                    </item>
+                  </dictionary>
+                </state>
+              </object>
+            </value>
+        </item>
+        <item>
+            <key> <string>_body</string> </key>
+            <value> <string>from Products.ERP5Type.Utils import cartesianProduct\n
+from Products.ERP5Type.Message import translateString\n
+\n
+updated_cell_count = 0\n
+\n
+dependant_dimensions_dict = context.BudgetLine_getSummaryDimensionKeyDict()\n
+cell_key_list = context.getCellKeyList()\n
+\n
+def reversed(seq):\n
+  seq = seq[::]\n
+  seq.sort(reverse=True)\n
+  return seq\n
+\n
+# we iterate in reversed order to update the deepest cells first\n
+for cell_key in reversed(cartesianProduct(context.getCellRange())):\n
+  for idx, dimension in enumerate(cell_key):\n
+    if dimension in dependant_dimensions_dict:\n
+      dependant_cell_list = []\n
+      matching_cell_key = list(cell_key)\n
+      for key in dependant_dimensions_dict[dimension]:\n
+        matching_cell_key[idx] = key\n
+        for other_cell_key in cell_key_list:\n
+          if matching_cell_key == other_cell_key:\n
+            cell = context.getCell(*other_cell_key)\n
+            if cell is not None:\n
+              dependant_cell_list.append(cell)\n
+\n
+      if dependant_cell_list:\n
+        cell = context.getCell(*cell_key)\n
+        if cell is None:\n
+          # if summary cell does not exist, we create it.\n
+          cell = context.newCell(*cell_key)\n
+          cell.edit(\n
+            membership_criterion_base_category_list\n
+              =[bc for bc in context.getVariationBaseCategoryList() if bc not\n
+                in context.getMembershipCriterionBaseCategoryList()],\n
+            membership_criterion_category_list=cell_key,\n
+            mapped_value_property_list=(\'quantity\', ))\n
+        cell.setQuantity(sum([dependant_cell.getQuantity() for dependant_cell\n
+                                in dependant_cell_list]))\n
+        updated_cell_count += 1\n
+      break\n
+\n
+return context.Base_redirect(form_id,\n
+     keep_items=dict(portal_status_message=translateString(\n
+      "${updated_cell_count} budget cells updated.",\n
+      mapping=dict(updated_cell_count=updated_cell_count))))\n
+</string> </value>
+        </item>
+        <item>
+            <key> <string>_code</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>_params</string> </key>
+            <value> <string>form_id=\'view\'</string> </value>
+        </item>
+        <item>
+            <key> <string>errors</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+        <item>
+            <key> <string>func_code</string> </key>
+            <value>
+              <object>
+                <klass>
+                  <global name="FuncCode" module="Shared.DC.Scripts.Signature"/>
+                </klass>
+                <tuple/>
+                <state>
+                  <dictionary>
+                    <item>
+                        <key> <string>co_argcount</string> </key>
+                        <value> <int>1</int> </value>
+                    </item>
+                    <item>
+                        <key> <string>co_varnames</string> </key>
+                        <value>
+                          <tuple>
+                            <string>form_id</string>
+                            <string>Products.ERP5Type.Utils</string>
+                            <string>cartesianProduct</string>
+                            <string>Products.ERP5Type.Message</string>
+                            <string>translateString</string>
+                            <string>updated_cell_count</string>
+                            <string>_getattr_</string>
+                            <string>context</string>
+                            <string>dependant_dimensions_dict</string>
+                            <string>cell_key_list</string>
+                            <string>reversed</string>
+                            <string>_getiter_</string>
+                            <string>cell_key</string>
+                            <string>enumerate</string>
+                            <string>idx</string>
+                            <string>dimension</string>
+                            <string>dependant_cell_list</string>
+                            <string>list</string>
+                            <string>matching_cell_key</string>
+                            <string>_getitem_</string>
+                            <string>key</string>
+                            <string>_write_</string>
+                            <string>other_cell_key</string>
+                            <string>_apply_</string>
+                            <string>cell</string>
+                            <string>None</string>
+                            <string>append</string>
+                            <string>$append0</string>
+                            <string>bc</string>
+                            <string>sum</string>
+                            <string>dependant_cell</string>
+                            <string>_inplacevar_</string>
+                            <string>dict</string>
+                          </tuple>
+                        </value>
+                    </item>
+                  </dictionary>
+                </state>
+              </object>
+            </value>
+        </item>
+        <item>
+            <key> <string>func_defaults</string> </key>
+            <value>
+              <tuple>
+                <string>view</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>BudgetLine_setQuantityOnSummaryCellList</string> </value>
+        </item>
+        <item>
+            <key> <string>warnings</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_budget/SkinTemplateItem/portal_skins/erp5_budget/BudgetLine_viewSetQuantityOnSummaryCellListDialog.xml b/bt5/erp5_budget/SkinTemplateItem/portal_skins/erp5_budget/BudgetLine_viewSetQuantityOnSummaryCellListDialog.xml
new file mode 100644
index 0000000000..864f0d772a
--- /dev/null
+++ b/bt5/erp5_budget/SkinTemplateItem/portal_skins/erp5_budget/BudgetLine_viewSetQuantityOnSummaryCellListDialog.xml
@@ -0,0 +1,153 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="ERP5Form" module="Products.ERP5Form.Form"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_bind_names</string> </key>
+            <value>
+              <object>
+                <klass>
+                  <global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/>
+                </klass>
+                <tuple/>
+                <state>
+                  <dictionary>
+                    <item>
+                        <key> <string>_asgns</string> </key>
+                        <value>
+                          <dictionary/>
+                        </value>
+                    </item>
+                  </dictionary>
+                </state>
+              </object>
+            </value>
+        </item>
+        <item>
+            <key> <string>_objects</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+        <item>
+            <key> <string>action</string> </key>
+            <value> <string>BudgetLine_setQuantityOnSummaryCellList</string> </value>
+        </item>
+        <item>
+            <key> <string>description</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>edit_order</string> </key>
+            <value>
+              <list/>
+            </value>
+        </item>
+        <item>
+            <key> <string>encoding</string> </key>
+            <value> <string>UTF-8</string> </value>
+        </item>
+        <item>
+            <key> <string>enctype</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>group_list</string> </key>
+            <value>
+              <list>
+                <string>left</string>
+                <string>right</string>
+                <string>center</string>
+                <string>bottom</string>
+                <string>hidden</string>
+              </list>
+            </value>
+        </item>
+        <item>
+            <key> <string>groups</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>bottom</string> </key>
+                    <value>
+                      <list/>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>center</string> </key>
+                    <value>
+                      <list/>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>hidden</string> </key>
+                    <value>
+                      <list/>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>left</string> </key>
+                    <value>
+                      <list/>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>right</string> </key>
+                    <value>
+                      <list/>
+                    </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>BudgetLine_viewSetQuantityOnSummaryCellListDialog</string> </value>
+        </item>
+        <item>
+            <key> <string>method</string> </key>
+            <value> <string>POST</string> </value>
+        </item>
+        <item>
+            <key> <string>name</string> </key>
+            <value> <string>BudgetLine_viewSetQuantityOnSummaryCellListDialog</string> </value>
+        </item>
+        <item>
+            <key> <string>pt</string> </key>
+            <value> <string>form_dialog</string> </value>
+        </item>
+        <item>
+            <key> <string>row_length</string> </key>
+            <value> <int>4</int> </value>
+        </item>
+        <item>
+            <key> <string>stored_encoding</string> </key>
+            <value> <string>UTF-8</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>Update Summary Budget Cells</string> </value>
+        </item>
+        <item>
+            <key> <string>unicode_mode</string> </key>
+            <value> <int>0</int> </value>
+        </item>
+        <item>
+            <key> <string>update_action</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>update_action_title</string> </key>
+            <value> <string></string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_budget/bt/revision b/bt5/erp5_budget/bt/revision
index a540f59f28..c0d6976f6b 100644
--- a/bt5/erp5_budget/bt/revision
+++ b/bt5/erp5_budget/bt/revision
@@ -1 +1 @@
-301
\ No newline at end of file
+314
\ No newline at end of file
diff --git a/bt5/erp5_budget/bt/template_action_path_list b/bt5/erp5_budget/bt/template_action_path_list
index 46d41ebde0..e3c3ee3c8e 100644
--- a/bt5/erp5_budget/bt/template_action_path_list
+++ b/bt5/erp5_budget/bt/template_action_path_list
@@ -4,6 +4,7 @@ Budget Line | consumed_view
 Budget Line | current_view
 Budget Line | engaged_view
 Budget Line | initial_view
+Budget Line | update_summary_budget_cell
 Budget Model Module | view
 Budget Model | view
 Budget Module | budget_group_consumption_export
-- 
2.30.9


From af636246e373731262f6487f78f33f2693bcf12d Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?J=C3=A9rome=20Perrin?= <jerome@nexedi.com>
Date: Tue, 27 Jul 2010 12:36:09 +0000
Subject: [PATCH 120/270] Make the budget cells clickable in engaged, consumed
 and available view, the link points to a listbox with all the movements
 corresponding to the total amount. This listbox displays properly accounting
 movements, in the future we could make this form id a configuration parameter
 in the budget model.

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@37281 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 .../BudgetLine_getAvailableBudgetCell.xml     |   18 +-
 .../BudgetLine_getConsumedBudgetCell.xml      |   18 +-
 ...dgetLine_getConsumedBudgetMovementList.xml |  135 ++
 .../BudgetLine_getEngagedBudgetCell.xml       |   18 +-
 ...Line_getInventoryQueryDictForCellIndex.xml |  165 ++
 .../BudgetLine_statCreditPrice.xml            |  142 ++
 .../erp5_budget/BudgetLine_statDebitPrice.xml |  142 ++
 .../erp5_budget/BudgetLine_statTotalPrice.xml |  139 ++
 .../matrixbox.xml                             |   12 +
 .../matrixbox.xml                             |   12 +
 ...getLine_viewConsumedBudgetMovementList.xml |  165 ++
 .../listbox.xml                               |  323 +++
 .../listbox_credit.xml                        |   99 +
 .../listbox_credit_price.xml                  |   99 +
 .../listbox_date.xml                          | 2031 +++++++++++++++++
 .../listbox_debit.xml                         |  103 +
 .../listbox_debit_price.xml                   |  103 +
 .../listbox_running_total_price.xml           |   99 +
 .../listbox_total_price.xml                   |   99 +
 .../my_title.xml                              |   99 +
 .../matrixbox.xml                             |   12 +
 bt5/erp5_budget/bt/revision                   |    2 +-
 22 files changed, 4016 insertions(+), 19 deletions(-)
 create mode 100644 bt5/erp5_budget/SkinTemplateItem/portal_skins/erp5_budget/BudgetLine_getConsumedBudgetMovementList.xml
 create mode 100644 bt5/erp5_budget/SkinTemplateItem/portal_skins/erp5_budget/BudgetLine_getInventoryQueryDictForCellIndex.xml
 create mode 100644 bt5/erp5_budget/SkinTemplateItem/portal_skins/erp5_budget/BudgetLine_statCreditPrice.xml
 create mode 100644 bt5/erp5_budget/SkinTemplateItem/portal_skins/erp5_budget/BudgetLine_statDebitPrice.xml
 create mode 100644 bt5/erp5_budget/SkinTemplateItem/portal_skins/erp5_budget/BudgetLine_statTotalPrice.xml
 create mode 100644 bt5/erp5_budget/SkinTemplateItem/portal_skins/erp5_budget/BudgetLine_viewConsumedBudgetMovementList.xml
 create mode 100644 bt5/erp5_budget/SkinTemplateItem/portal_skins/erp5_budget/BudgetLine_viewConsumedBudgetMovementList/listbox.xml
 create mode 100644 bt5/erp5_budget/SkinTemplateItem/portal_skins/erp5_budget/BudgetLine_viewConsumedBudgetMovementList/listbox_credit.xml
 create mode 100644 bt5/erp5_budget/SkinTemplateItem/portal_skins/erp5_budget/BudgetLine_viewConsumedBudgetMovementList/listbox_credit_price.xml
 create mode 100644 bt5/erp5_budget/SkinTemplateItem/portal_skins/erp5_budget/BudgetLine_viewConsumedBudgetMovementList/listbox_date.xml
 create mode 100644 bt5/erp5_budget/SkinTemplateItem/portal_skins/erp5_budget/BudgetLine_viewConsumedBudgetMovementList/listbox_debit.xml
 create mode 100644 bt5/erp5_budget/SkinTemplateItem/portal_skins/erp5_budget/BudgetLine_viewConsumedBudgetMovementList/listbox_debit_price.xml
 create mode 100644 bt5/erp5_budget/SkinTemplateItem/portal_skins/erp5_budget/BudgetLine_viewConsumedBudgetMovementList/listbox_running_total_price.xml
 create mode 100644 bt5/erp5_budget/SkinTemplateItem/portal_skins/erp5_budget/BudgetLine_viewConsumedBudgetMovementList/listbox_total_price.xml
 create mode 100644 bt5/erp5_budget/SkinTemplateItem/portal_skins/erp5_budget/BudgetLine_viewConsumedBudgetMovementList/my_title.xml

diff --git a/bt5/erp5_budget/SkinTemplateItem/portal_skins/erp5_budget/BudgetLine_getAvailableBudgetCell.xml b/bt5/erp5_budget/SkinTemplateItem/portal_skins/erp5_budget/BudgetLine_getAvailableBudgetCell.xml
index f82d7b91ad..5f8f3fed25 100644
--- a/bt5/erp5_budget/SkinTemplateItem/portal_skins/erp5_budget/BudgetLine_getAvailableBudgetCell.xml
+++ b/bt5/erp5_budget/SkinTemplateItem/portal_skins/erp5_budget/BudgetLine_getAvailableBudgetCell.xml
@@ -53,12 +53,16 @@
         </item>
         <item>
             <key> <string>_body</string> </key>
-            <value> <string>def getFakeBudgetCell(amount):\n
+            <value> <string>from ZTUtils import make_query\n
+\n
+def getFakeBudgetCell(amount):\n
   class FakeBudgetCell:\n
     def getAvailableBudget(self):\n
       return amount\n
-    def absolute_url(self):\n
-      return context.absolute_url()\n
+    def getExplanationUrl(self, *args, **w):\n
+      return \'%s/BudgetLine_viewConsumedBudgetMovementList?%s\' % (\n
+                   context.absolute_url(),\n
+                   make_query(dict(cell_index=list(cell_index), engaged_budget=True)))\n
   return FakeBudgetCell()\n
 \n
 try:\n
@@ -66,7 +70,7 @@ try:\n
 except KeyError:\n
   available_budget_dict = container.REQUEST.other[script.getId()] = context.getAvailableBudgetDict()\n
 \n
-return getFakeBudgetCell(available_budget_dict.get(args))\n
+return getFakeBudgetCell(available_budget_dict.get(cell_index))\n
 </string> </value>
         </item>
         <item>
@@ -77,7 +81,7 @@ return getFakeBudgetCell(available_budget_dict.get(args))\n
         </item>
         <item>
             <key> <string>_params</string> </key>
-            <value> <string>*args, **kw</string> </value>
+            <value> <string>*cell_index, **kw</string> </value>
         </item>
         <item>
             <key> <string>errors</string> </key>
@@ -103,8 +107,10 @@ return getFakeBudgetCell(available_budget_dict.get(args))\n
                         <key> <string>co_varnames</string> </key>
                         <value>
                           <tuple>
-                            <string>args</string>
+                            <string>cell_index</string>
                             <string>kw</string>
+                            <string>ZTUtils</string>
+                            <string>make_query</string>
                             <string>getFakeBudgetCell</string>
                             <string>_getitem_</string>
                             <string>_getattr_</string>
diff --git a/bt5/erp5_budget/SkinTemplateItem/portal_skins/erp5_budget/BudgetLine_getConsumedBudgetCell.xml b/bt5/erp5_budget/SkinTemplateItem/portal_skins/erp5_budget/BudgetLine_getConsumedBudgetCell.xml
index 2f267a2883..410cd7da3f 100644
--- a/bt5/erp5_budget/SkinTemplateItem/portal_skins/erp5_budget/BudgetLine_getConsumedBudgetCell.xml
+++ b/bt5/erp5_budget/SkinTemplateItem/portal_skins/erp5_budget/BudgetLine_getConsumedBudgetCell.xml
@@ -53,12 +53,16 @@
         </item>
         <item>
             <key> <string>_body</string> </key>
-            <value> <string>def getFakeBudgetCell(amount):\n
+            <value> <string>from ZTUtils import make_query\n
+\n
+def getFakeBudgetCell(amount):\n
   class FakeBudgetCell:\n
     def getConsumedBudget(self):\n
       return amount\n
-    def absolute_url(self):\n
-      return context.absolute_url()\n
+    def getExplanationUrl(self, *args, **w):\n
+      return \'%s/BudgetLine_viewConsumedBudgetMovementList?%s\' % (\n
+                   context.absolute_url(),\n
+                   make_query(dict(cell_index=list(cell_index), engaged_budget=False)))\n
   return FakeBudgetCell()\n
 \n
 try:\n
@@ -66,7 +70,7 @@ try:\n
 except KeyError:\n
   consumed_budget_dict = container.REQUEST.other[script.getId()] = context.getConsumedBudgetDict()\n
 \n
-return getFakeBudgetCell(consumed_budget_dict.get(args))\n
+return getFakeBudgetCell(consumed_budget_dict.get(cell_index))\n
 </string> </value>
         </item>
         <item>
@@ -77,7 +81,7 @@ return getFakeBudgetCell(consumed_budget_dict.get(args))\n
         </item>
         <item>
             <key> <string>_params</string> </key>
-            <value> <string>*args, **kw</string> </value>
+            <value> <string>*cell_index, **kw</string> </value>
         </item>
         <item>
             <key> <string>errors</string> </key>
@@ -103,8 +107,10 @@ return getFakeBudgetCell(consumed_budget_dict.get(args))\n
                         <key> <string>co_varnames</string> </key>
                         <value>
                           <tuple>
-                            <string>args</string>
+                            <string>cell_index</string>
                             <string>kw</string>
+                            <string>ZTUtils</string>
+                            <string>make_query</string>
                             <string>getFakeBudgetCell</string>
                             <string>_getitem_</string>
                             <string>_getattr_</string>
diff --git a/bt5/erp5_budget/SkinTemplateItem/portal_skins/erp5_budget/BudgetLine_getConsumedBudgetMovementList.xml b/bt5/erp5_budget/SkinTemplateItem/portal_skins/erp5_budget/BudgetLine_getConsumedBudgetMovementList.xml
new file mode 100644
index 0000000000..255b730073
--- /dev/null
+++ b/bt5/erp5_budget/SkinTemplateItem/portal_skins/erp5_budget/BudgetLine_getConsumedBudgetMovementList.xml
@@ -0,0 +1,135 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>Script_magic</string> </key>
+            <value> <int>3</int> </value>
+        </item>
+        <item>
+            <key> <string>_bind_names</string> </key>
+            <value>
+              <object>
+                <klass>
+                  <global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/>
+                </klass>
+                <tuple/>
+                <state>
+                  <dictionary>
+                    <item>
+                        <key> <string>_asgns</string> </key>
+                        <value>
+                          <dictionary>
+                            <item>
+                                <key> <string>name_container</string> </key>
+                                <value> <string>container</string> </value>
+                            </item>
+                            <item>
+                                <key> <string>name_context</string> </key>
+                                <value> <string>context</string> </value>
+                            </item>
+                            <item>
+                                <key> <string>name_m_self</string> </key>
+                                <value> <string>script</string> </value>
+                            </item>
+                            <item>
+                                <key> <string>name_subpath</string> </key>
+                                <value> <string>traverse_subpath</string> </value>
+                            </item>
+                          </dictionary>
+                        </value>
+                    </item>
+                  </dictionary>
+                </state>
+              </object>
+            </value>
+        </item>
+        <item>
+            <key> <string>_body</string> </key>
+            <value> <string>if not cell_index:\n
+  return []\n
+\n
+kw.update(context.BudgetLine_getInventoryQueryDictForCellIndex(\n
+            cell_index=cell_index,\n
+            engaged_budget=engaged_budget))\n
+return context.getPortalObject().portal_simulation.getMovementHistoryList(**kw)\n
+</string> </value>
+        </item>
+        <item>
+            <key> <string>_code</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>_params</string> </key>
+            <value> <string>cell_index=None, engaged_budget=False, **kw</string> </value>
+        </item>
+        <item>
+            <key> <string>errors</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+        <item>
+            <key> <string>func_code</string> </key>
+            <value>
+              <object>
+                <klass>
+                  <global name="FuncCode" module="Shared.DC.Scripts.Signature"/>
+                </klass>
+                <tuple/>
+                <state>
+                  <dictionary>
+                    <item>
+                        <key> <string>co_argcount</string> </key>
+                        <value> <int>2</int> </value>
+                    </item>
+                    <item>
+                        <key> <string>co_varnames</string> </key>
+                        <value>
+                          <tuple>
+                            <string>cell_index</string>
+                            <string>engaged_budget</string>
+                            <string>kw</string>
+                            <string>_getattr_</string>
+                            <string>context</string>
+                            <string>_apply_</string>
+                          </tuple>
+                        </value>
+                    </item>
+                  </dictionary>
+                </state>
+              </object>
+            </value>
+        </item>
+        <item>
+            <key> <string>func_defaults</string> </key>
+            <value>
+              <tuple>
+                <none/>
+                <int>0</int>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>BudgetLine_getConsumedBudgetMovementList</string> </value>
+        </item>
+        <item>
+            <key> <string>warnings</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_budget/SkinTemplateItem/portal_skins/erp5_budget/BudgetLine_getEngagedBudgetCell.xml b/bt5/erp5_budget/SkinTemplateItem/portal_skins/erp5_budget/BudgetLine_getEngagedBudgetCell.xml
index 156cdbe696..96e61ba842 100644
--- a/bt5/erp5_budget/SkinTemplateItem/portal_skins/erp5_budget/BudgetLine_getEngagedBudgetCell.xml
+++ b/bt5/erp5_budget/SkinTemplateItem/portal_skins/erp5_budget/BudgetLine_getEngagedBudgetCell.xml
@@ -53,12 +53,16 @@
         </item>
         <item>
             <key> <string>_body</string> </key>
-            <value> <string>def getFakeBudgetCell(amount):\n
+            <value> <string>from ZTUtils import make_query\n
+\n
+def getFakeBudgetCell(amount):\n
   class FakeBudgetCell:\n
     def getEngagedBudget(self):\n
       return amount\n
-    def absolute_url(self):\n
-      return context.absolute_url()\n
+    def getExplanationUrl(self, *args, **w):\n
+      return \'%s/BudgetLine_viewConsumedBudgetMovementList?%s\' % (\n
+                   context.absolute_url(),\n
+                   make_query(dict(cell_index=list(cell_index), engaged_budget=True)))\n
   return FakeBudgetCell()\n
 \n
 try:\n
@@ -66,7 +70,7 @@ try:\n
 except KeyError:\n
   engaged_budget_dict = container.REQUEST.other[script.getId()] = context.getEngagedBudgetDict()\n
 \n
-return getFakeBudgetCell(engaged_budget_dict.get(args))\n
+return getFakeBudgetCell(engaged_budget_dict.get(cell_index))\n
 </string> </value>
         </item>
         <item>
@@ -77,7 +81,7 @@ return getFakeBudgetCell(engaged_budget_dict.get(args))\n
         </item>
         <item>
             <key> <string>_params</string> </key>
-            <value> <string>*args, **kw</string> </value>
+            <value> <string>*cell_index, **kw</string> </value>
         </item>
         <item>
             <key> <string>errors</string> </key>
@@ -103,8 +107,10 @@ return getFakeBudgetCell(engaged_budget_dict.get(args))\n
                         <key> <string>co_varnames</string> </key>
                         <value>
                           <tuple>
-                            <string>args</string>
+                            <string>cell_index</string>
                             <string>kw</string>
+                            <string>ZTUtils</string>
+                            <string>make_query</string>
                             <string>getFakeBudgetCell</string>
                             <string>_getitem_</string>
                             <string>_getattr_</string>
diff --git a/bt5/erp5_budget/SkinTemplateItem/portal_skins/erp5_budget/BudgetLine_getInventoryQueryDictForCellIndex.xml b/bt5/erp5_budget/SkinTemplateItem/portal_skins/erp5_budget/BudgetLine_getInventoryQueryDictForCellIndex.xml
new file mode 100644
index 0000000000..83cc5cedab
--- /dev/null
+++ b/bt5/erp5_budget/SkinTemplateItem/portal_skins/erp5_budget/BudgetLine_getInventoryQueryDictForCellIndex.xml
@@ -0,0 +1,165 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>Script_magic</string> </key>
+            <value> <int>3</int> </value>
+        </item>
+        <item>
+            <key> <string>_bind_names</string> </key>
+            <value>
+              <object>
+                <klass>
+                  <global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/>
+                </klass>
+                <tuple/>
+                <state>
+                  <dictionary>
+                    <item>
+                        <key> <string>_asgns</string> </key>
+                        <value>
+                          <dictionary>
+                            <item>
+                                <key> <string>name_container</string> </key>
+                                <value> <string>container</string> </value>
+                            </item>
+                            <item>
+                                <key> <string>name_context</string> </key>
+                                <value> <string>context</string> </value>
+                            </item>
+                            <item>
+                                <key> <string>name_m_self</string> </key>
+                                <value> <string>script</string> </value>
+                            </item>
+                            <item>
+                                <key> <string>name_subpath</string> </key>
+                                <value> <string>traverse_subpath</string> </value>
+                            </item>
+                          </dictionary>
+                        </value>
+                    </item>
+                  </dictionary>
+                </state>
+              </object>
+            </value>
+        </item>
+        <item>
+            <key> <string>_body</string> </key>
+            <value> <string>"""Returns the dict of parameters that have to be passed to getInventory/getMovementHistoryList\n
+for the cell_index. This script returns parameters even if the cell does not exist.\n
+"""\n
+\n
+portal = context.getPortalObject()\n
+budget_model = context.getParentValue().getSpecialiseValue()\n
+\n
+budget_cell = context.getCell(*cell_index)\n
+\n
+if budget_cell is None:\n
+  # if cell does not exist, use a temporary cell at those coordinates\n
+  budget_cell = context.newContent(portal_type=\'Budget Cell\', temp_object=True)\n
+  budget_cell.edit(\n
+     mapped_value_property_list=(\'quantity\',),\n
+     membership_criterion_base_category_list\n
+        =[bc for bc in context.getVariationBaseCategoryList() if bc not\n
+                in context.getMembershipCriterionBaseCategoryList()],\n
+     membership_criterion_category_list=cell_index)\n
+\n
+kw = budget_model.getInventoryQueryDict(budget_cell)\n
+\n
+if engaged_budget:\n
+  kw.setdefault(\'explanation_simulation_state\',\n
+                  portal.getPortalReservedInventoryStateList() +\n
+                  portal.getPortalCurrentInventoryStateList() +\n
+                  portal.getPortalTransitInventoryStateList())\n
+\n
+return kw\n
+</string> </value>
+        </item>
+        <item>
+            <key> <string>_code</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>_params</string> </key>
+            <value> <string>cell_index=(), engaged_budget=False</string> </value>
+        </item>
+        <item>
+            <key> <string>errors</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+        <item>
+            <key> <string>func_code</string> </key>
+            <value>
+              <object>
+                <klass>
+                  <global name="FuncCode" module="Shared.DC.Scripts.Signature"/>
+                </klass>
+                <tuple/>
+                <state>
+                  <dictionary>
+                    <item>
+                        <key> <string>co_argcount</string> </key>
+                        <value> <int>2</int> </value>
+                    </item>
+                    <item>
+                        <key> <string>co_varnames</string> </key>
+                        <value>
+                          <tuple>
+                            <string>cell_index</string>
+                            <string>engaged_budget</string>
+                            <string>_getattr_</string>
+                            <string>context</string>
+                            <string>portal</string>
+                            <string>budget_model</string>
+                            <string>_apply_</string>
+                            <string>budget_cell</string>
+                            <string>None</string>
+                            <string>True</string>
+                            <string>append</string>
+                            <string>$append0</string>
+                            <string>_getiter_</string>
+                            <string>bc</string>
+                            <string>kw</string>
+                          </tuple>
+                        </value>
+                    </item>
+                  </dictionary>
+                </state>
+              </object>
+            </value>
+        </item>
+        <item>
+            <key> <string>func_defaults</string> </key>
+            <value>
+              <tuple>
+                <tuple/>
+                <int>0</int>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>BudgetLine_getInventoryQueryDictForCellIndex</string> </value>
+        </item>
+        <item>
+            <key> <string>warnings</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_budget/SkinTemplateItem/portal_skins/erp5_budget/BudgetLine_statCreditPrice.xml b/bt5/erp5_budget/SkinTemplateItem/portal_skins/erp5_budget/BudgetLine_statCreditPrice.xml
new file mode 100644
index 0000000000..6a5d21b9b1
--- /dev/null
+++ b/bt5/erp5_budget/SkinTemplateItem/portal_skins/erp5_budget/BudgetLine_statCreditPrice.xml
@@ -0,0 +1,142 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>Script_magic</string> </key>
+            <value> <int>3</int> </value>
+        </item>
+        <item>
+            <key> <string>_bind_names</string> </key>
+            <value>
+              <object>
+                <klass>
+                  <global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/>
+                </klass>
+                <tuple/>
+                <state>
+                  <dictionary>
+                    <item>
+                        <key> <string>_asgns</string> </key>
+                        <value>
+                          <dictionary>
+                            <item>
+                                <key> <string>name_container</string> </key>
+                                <value> <string>container</string> </value>
+                            </item>
+                            <item>
+                                <key> <string>name_context</string> </key>
+                                <value> <string>context</string> </value>
+                            </item>
+                            <item>
+                                <key> <string>name_m_self</string> </key>
+                                <value> <string>script</string> </value>
+                            </item>
+                            <item>
+                                <key> <string>name_subpath</string> </key>
+                                <value> <string>traverse_subpath</string> </value>
+                            </item>
+                          </dictionary>
+                        </value>
+                    </item>
+                  </dictionary>
+                </state>
+              </object>
+            </value>
+        </item>
+        <item>
+            <key> <string>_body</string> </key>
+            <value> <string>portal = context.getPortalObject()\n
+params = portal.portal_selections.getSelectionParamsFor(selection_name)\n
+cell_index = params.get(\'cell_index\')\n
+engaged_budget = params.get(\'engaged_budget\')\n
+\n
+query_dict = context.BudgetLine_getInventoryQueryDictForCellIndex(\n
+                  cell_index=cell_index,\n
+                  engaged_budget=engaged_budget)\n
+\n
+query_dict[\'omit_input\'] = True\n
+return portal.portal_simulation.getInventoryAssetPrice(**query_dict)\n
+</string> </value>
+        </item>
+        <item>
+            <key> <string>_code</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>_params</string> </key>
+            <value> <string>selection_name, **kw</string> </value>
+        </item>
+        <item>
+            <key> <string>errors</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+        <item>
+            <key> <string>func_code</string> </key>
+            <value>
+              <object>
+                <klass>
+                  <global name="FuncCode" module="Shared.DC.Scripts.Signature"/>
+                </klass>
+                <tuple/>
+                <state>
+                  <dictionary>
+                    <item>
+                        <key> <string>co_argcount</string> </key>
+                        <value> <int>1</int> </value>
+                    </item>
+                    <item>
+                        <key> <string>co_varnames</string> </key>
+                        <value>
+                          <tuple>
+                            <string>selection_name</string>
+                            <string>kw</string>
+                            <string>_getattr_</string>
+                            <string>context</string>
+                            <string>portal</string>
+                            <string>params</string>
+                            <string>cell_index</string>
+                            <string>engaged_budget</string>
+                            <string>query_dict</string>
+                            <string>True</string>
+                            <string>_write_</string>
+                            <string>_apply_</string>
+                          </tuple>
+                        </value>
+                    </item>
+                  </dictionary>
+                </state>
+              </object>
+            </value>
+        </item>
+        <item>
+            <key> <string>func_defaults</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>BudgetLine_statCreditPrice</string> </value>
+        </item>
+        <item>
+            <key> <string>warnings</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_budget/SkinTemplateItem/portal_skins/erp5_budget/BudgetLine_statDebitPrice.xml b/bt5/erp5_budget/SkinTemplateItem/portal_skins/erp5_budget/BudgetLine_statDebitPrice.xml
new file mode 100644
index 0000000000..24fd319fc9
--- /dev/null
+++ b/bt5/erp5_budget/SkinTemplateItem/portal_skins/erp5_budget/BudgetLine_statDebitPrice.xml
@@ -0,0 +1,142 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>Script_magic</string> </key>
+            <value> <int>3</int> </value>
+        </item>
+        <item>
+            <key> <string>_bind_names</string> </key>
+            <value>
+              <object>
+                <klass>
+                  <global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/>
+                </klass>
+                <tuple/>
+                <state>
+                  <dictionary>
+                    <item>
+                        <key> <string>_asgns</string> </key>
+                        <value>
+                          <dictionary>
+                            <item>
+                                <key> <string>name_container</string> </key>
+                                <value> <string>container</string> </value>
+                            </item>
+                            <item>
+                                <key> <string>name_context</string> </key>
+                                <value> <string>context</string> </value>
+                            </item>
+                            <item>
+                                <key> <string>name_m_self</string> </key>
+                                <value> <string>script</string> </value>
+                            </item>
+                            <item>
+                                <key> <string>name_subpath</string> </key>
+                                <value> <string>traverse_subpath</string> </value>
+                            </item>
+                          </dictionary>
+                        </value>
+                    </item>
+                  </dictionary>
+                </state>
+              </object>
+            </value>
+        </item>
+        <item>
+            <key> <string>_body</string> </key>
+            <value> <string>portal = context.getPortalObject()\n
+params = portal.portal_selections.getSelectionParamsFor(selection_name)\n
+cell_index = params.get(\'cell_index\')\n
+engaged_budget = params.get(\'engaged_budget\')\n
+\n
+query_dict = context.BudgetLine_getInventoryQueryDictForCellIndex(\n
+                  cell_index=cell_index,\n
+                  engaged_budget=engaged_budget)\n
+\n
+query_dict[\'omit_output\'] = True\n
+return portal.portal_simulation.getInventoryAssetPrice(**query_dict)\n
+</string> </value>
+        </item>
+        <item>
+            <key> <string>_code</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>_params</string> </key>
+            <value> <string>selection_name, **kw</string> </value>
+        </item>
+        <item>
+            <key> <string>errors</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+        <item>
+            <key> <string>func_code</string> </key>
+            <value>
+              <object>
+                <klass>
+                  <global name="FuncCode" module="Shared.DC.Scripts.Signature"/>
+                </klass>
+                <tuple/>
+                <state>
+                  <dictionary>
+                    <item>
+                        <key> <string>co_argcount</string> </key>
+                        <value> <int>1</int> </value>
+                    </item>
+                    <item>
+                        <key> <string>co_varnames</string> </key>
+                        <value>
+                          <tuple>
+                            <string>selection_name</string>
+                            <string>kw</string>
+                            <string>_getattr_</string>
+                            <string>context</string>
+                            <string>portal</string>
+                            <string>params</string>
+                            <string>cell_index</string>
+                            <string>engaged_budget</string>
+                            <string>query_dict</string>
+                            <string>True</string>
+                            <string>_write_</string>
+                            <string>_apply_</string>
+                          </tuple>
+                        </value>
+                    </item>
+                  </dictionary>
+                </state>
+              </object>
+            </value>
+        </item>
+        <item>
+            <key> <string>func_defaults</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>BudgetLine_statDebitPrice</string> </value>
+        </item>
+        <item>
+            <key> <string>warnings</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_budget/SkinTemplateItem/portal_skins/erp5_budget/BudgetLine_statTotalPrice.xml b/bt5/erp5_budget/SkinTemplateItem/portal_skins/erp5_budget/BudgetLine_statTotalPrice.xml
new file mode 100644
index 0000000000..81fb83d568
--- /dev/null
+++ b/bt5/erp5_budget/SkinTemplateItem/portal_skins/erp5_budget/BudgetLine_statTotalPrice.xml
@@ -0,0 +1,139 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>Script_magic</string> </key>
+            <value> <int>3</int> </value>
+        </item>
+        <item>
+            <key> <string>_bind_names</string> </key>
+            <value>
+              <object>
+                <klass>
+                  <global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/>
+                </klass>
+                <tuple/>
+                <state>
+                  <dictionary>
+                    <item>
+                        <key> <string>_asgns</string> </key>
+                        <value>
+                          <dictionary>
+                            <item>
+                                <key> <string>name_container</string> </key>
+                                <value> <string>container</string> </value>
+                            </item>
+                            <item>
+                                <key> <string>name_context</string> </key>
+                                <value> <string>context</string> </value>
+                            </item>
+                            <item>
+                                <key> <string>name_m_self</string> </key>
+                                <value> <string>script</string> </value>
+                            </item>
+                            <item>
+                                <key> <string>name_subpath</string> </key>
+                                <value> <string>traverse_subpath</string> </value>
+                            </item>
+                          </dictionary>
+                        </value>
+                    </item>
+                  </dictionary>
+                </state>
+              </object>
+            </value>
+        </item>
+        <item>
+            <key> <string>_body</string> </key>
+            <value> <string>portal = context.getPortalObject()\n
+params = portal.portal_selections.getSelectionParamsFor(selection_name)\n
+cell_index = params.get(\'cell_index\')\n
+engaged_budget = params.get(\'engaged_budget\')\n
+\n
+query_dict = context.BudgetLine_getInventoryQueryDictForCellIndex(\n
+                  cell_index=cell_index,\n
+                  engaged_budget=engaged_budget)\n
+\n
+return portal.portal_simulation.getInventoryAssetPrice(**query_dict)\n
+</string> </value>
+        </item>
+        <item>
+            <key> <string>_code</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>_params</string> </key>
+            <value> <string>selection_name, **kw</string> </value>
+        </item>
+        <item>
+            <key> <string>errors</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+        <item>
+            <key> <string>func_code</string> </key>
+            <value>
+              <object>
+                <klass>
+                  <global name="FuncCode" module="Shared.DC.Scripts.Signature"/>
+                </klass>
+                <tuple/>
+                <state>
+                  <dictionary>
+                    <item>
+                        <key> <string>co_argcount</string> </key>
+                        <value> <int>1</int> </value>
+                    </item>
+                    <item>
+                        <key> <string>co_varnames</string> </key>
+                        <value>
+                          <tuple>
+                            <string>selection_name</string>
+                            <string>kw</string>
+                            <string>_getattr_</string>
+                            <string>context</string>
+                            <string>portal</string>
+                            <string>params</string>
+                            <string>cell_index</string>
+                            <string>engaged_budget</string>
+                            <string>query_dict</string>
+                            <string>_apply_</string>
+                          </tuple>
+                        </value>
+                    </item>
+                  </dictionary>
+                </state>
+              </object>
+            </value>
+        </item>
+        <item>
+            <key> <string>func_defaults</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>BudgetLine_statTotalPrice</string> </value>
+        </item>
+        <item>
+            <key> <string>warnings</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_budget/SkinTemplateItem/portal_skins/erp5_budget/BudgetLine_viewAvailableBudget/matrixbox.xml b/bt5/erp5_budget/SkinTemplateItem/portal_skins/erp5_budget/BudgetLine_viewAvailableBudget/matrixbox.xml
index 2bcf492923..38e967bf72 100644
--- a/bt5/erp5_budget/SkinTemplateItem/portal_skins/erp5_budget/BudgetLine_viewAvailableBudget/matrixbox.xml
+++ b/bt5/erp5_budget/SkinTemplateItem/portal_skins/erp5_budget/BudgetLine_viewAvailableBudget/matrixbox.xml
@@ -16,6 +16,7 @@
                 <string>cell_getter_method</string>
                 <string>editable_attributes</string>
                 <string>global_attributes</string>
+                <string>url_cells</string>
               </list>
             </value>
         </item>
@@ -109,6 +110,17 @@
                     <key> <string>target</string> </key>
                     <value> <string>Click to edit the target</string> </value>
                 </item>
+                <item>
+                    <key> <string>url_cells</string> </key>
+                    <value>
+                      <list>
+                        <tuple>
+                          <string>quantity</string>
+                          <string>getExplanationUrl</string>
+                        </tuple>
+                      </list>
+                    </value>
+                </item>
               </dictionary>
             </value>
         </item>
diff --git a/bt5/erp5_budget/SkinTemplateItem/portal_skins/erp5_budget/BudgetLine_viewConsumedBudget/matrixbox.xml b/bt5/erp5_budget/SkinTemplateItem/portal_skins/erp5_budget/BudgetLine_viewConsumedBudget/matrixbox.xml
index d035140ef8..525beac95a 100644
--- a/bt5/erp5_budget/SkinTemplateItem/portal_skins/erp5_budget/BudgetLine_viewConsumedBudget/matrixbox.xml
+++ b/bt5/erp5_budget/SkinTemplateItem/portal_skins/erp5_budget/BudgetLine_viewConsumedBudget/matrixbox.xml
@@ -16,6 +16,7 @@
                 <string>cell_getter_method</string>
                 <string>editable_attributes</string>
                 <string>global_attributes</string>
+                <string>url_cells</string>
               </list>
             </value>
         </item>
@@ -109,6 +110,17 @@
                     <key> <string>target</string> </key>
                     <value> <string>Click to edit the target</string> </value>
                 </item>
+                <item>
+                    <key> <string>url_cells</string> </key>
+                    <value>
+                      <list>
+                        <tuple>
+                          <string>quantity</string>
+                          <string>getExplanationUrl</string>
+                        </tuple>
+                      </list>
+                    </value>
+                </item>
               </dictionary>
             </value>
         </item>
diff --git a/bt5/erp5_budget/SkinTemplateItem/portal_skins/erp5_budget/BudgetLine_viewConsumedBudgetMovementList.xml b/bt5/erp5_budget/SkinTemplateItem/portal_skins/erp5_budget/BudgetLine_viewConsumedBudgetMovementList.xml
new file mode 100644
index 0000000000..3e637058be
--- /dev/null
+++ b/bt5/erp5_budget/SkinTemplateItem/portal_skins/erp5_budget/BudgetLine_viewConsumedBudgetMovementList.xml
@@ -0,0 +1,165 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="ERP5Form" module="Products.ERP5Form.Form"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_bind_names</string> </key>
+            <value>
+              <object>
+                <klass>
+                  <global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/>
+                </klass>
+                <tuple/>
+                <state>
+                  <dictionary>
+                    <item>
+                        <key> <string>_asgns</string> </key>
+                        <value>
+                          <dictionary/>
+                        </value>
+                    </item>
+                  </dictionary>
+                </state>
+              </object>
+            </value>
+        </item>
+        <item>
+            <key> <string>_objects</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+        <item>
+            <key> <string>action</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>description</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>edit_order</string> </key>
+            <value>
+              <list/>
+            </value>
+        </item>
+        <item>
+            <key> <string>encoding</string> </key>
+            <value> <string>UTF-8</string> </value>
+        </item>
+        <item>
+            <key> <string>enctype</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>group_list</string> </key>
+            <value>
+              <list>
+                <string>left</string>
+                <string>right</string>
+                <string>center</string>
+                <string>bottom</string>
+                <string>hidden</string>
+              </list>
+            </value>
+        </item>
+        <item>
+            <key> <string>groups</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>bottom</string> </key>
+                    <value>
+                      <list>
+                        <string>listbox</string>
+                      </list>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>center</string> </key>
+                    <value>
+                      <list>
+                        <string>my_title</string>
+                      </list>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>hidden</string> </key>
+                    <value>
+                      <list>
+                        <string>listbox_credit</string>
+                        <string>listbox_credit_price</string>
+                        <string>listbox_date</string>
+                        <string>listbox_debit</string>
+                        <string>listbox_running_total_price</string>
+                        <string>listbox_total_price</string>
+                        <string>listbox_debit_price</string>
+                      </list>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>left</string> </key>
+                    <value>
+                      <list/>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>right</string> </key>
+                    <value>
+                      <list/>
+                    </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>BudgetLine_viewConsumedBudgetMovementList</string> </value>
+        </item>
+        <item>
+            <key> <string>method</string> </key>
+            <value> <string>POST</string> </value>
+        </item>
+        <item>
+            <key> <string>name</string> </key>
+            <value> <string>BudgetLine_viewCurrentBudget</string> </value>
+        </item>
+        <item>
+            <key> <string>pt</string> </key>
+            <value> <string>form_view</string> </value>
+        </item>
+        <item>
+            <key> <string>row_length</string> </key>
+            <value> <int>4</int> </value>
+        </item>
+        <item>
+            <key> <string>stored_encoding</string> </key>
+            <value> <string>UTF-8</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>Budget Explanation</string> </value>
+        </item>
+        <item>
+            <key> <string>unicode_mode</string> </key>
+            <value> <int>0</int> </value>
+        </item>
+        <item>
+            <key> <string>update_action</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>update_action_title</string> </key>
+            <value> <string></string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_budget/SkinTemplateItem/portal_skins/erp5_budget/BudgetLine_viewConsumedBudgetMovementList/listbox.xml b/bt5/erp5_budget/SkinTemplateItem/portal_skins/erp5_budget/BudgetLine_viewConsumedBudgetMovementList/listbox.xml
new file mode 100644
index 0000000000..6d66dc7a49
--- /dev/null
+++ b/bt5/erp5_budget/SkinTemplateItem/portal_skins/erp5_budget/BudgetLine_viewConsumedBudgetMovementList/listbox.xml
@@ -0,0 +1,323 @@
+<?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>columns</string>
+                <string>editable_columns</string>
+                <string>list_method</string>
+                <string>selection_name</string>
+                <string>sort</string>
+                <string>sort_columns</string>
+                <string>stat_columns</string>
+                <string>stat_method</string>
+                <string>title</string>
+                <string>url_columns</string>
+              </list>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>listbox</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>
+                <item>
+                    <key> <string>url_columns</string> </key>
+                    <value>
+                      <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
+                    </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>values</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>columns</string> </key>
+                    <value>
+                      <list>
+                        <tuple>
+                          <string>date</string>
+                          <string>Date</string>
+                        </tuple>
+                        <tuple>
+                          <string>Movement_getSpecificReference</string>
+                          <string>Reference</string>
+                        </tuple>
+                        <tuple>
+                          <string>Movement_getExplanationTitle</string>
+                          <string>Title</string>
+                        </tuple>
+                        <tuple>
+                          <string>section_title</string>
+                          <string>Section</string>
+                        </tuple>
+                        <tuple>
+                          <string>Movement_getMirrorSectionTitle</string>
+                          <string>Third Party</string>
+                        </tuple>
+                        <tuple>
+                          <string>Movement_getExplanationTranslatedPortalType</string>
+                          <string>Type</string>
+                        </tuple>
+                        <tuple>
+                          <string>Movement_getExplanationReference</string>
+                          <string>Invoice Number</string>
+                        </tuple>
+                        <tuple>
+                          <string>Movement_getNodeGapId</string>
+                          <string>GAP ID</string>
+                        </tuple>
+                        <tuple>
+                          <string>getTranslatedSimulationStateTitle</string>
+                          <string>State</string>
+                        </tuple>
+                        <tuple>
+                          <string>debit_price</string>
+                          <string>Debit</string>
+                        </tuple>
+                        <tuple>
+                          <string>credit_price</string>
+                          <string>Credit</string>
+                        </tuple>
+                        <tuple>
+                          <string>total_price</string>
+                          <string>Balance</string>
+                        </tuple>
+                        <tuple>
+                          <string>running_total_price</string>
+                          <string>Running Balance</string>
+                        </tuple>
+                      </list>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>editable_columns</string> </key>
+                    <value>
+                      <list>
+                        <tuple>
+                          <string>function</string>
+                          <string>function</string>
+                        </tuple>
+                        <tuple>
+                          <string>project</string>
+                          <string>project</string>
+                        </tuple>
+                        <tuple>
+                          <string>date</string>
+                          <string>date</string>
+                        </tuple>
+                        <tuple>
+                          <string>debit_price</string>
+                          <string>debit</string>
+                        </tuple>
+                        <tuple>
+                          <string>credit_price</string>
+                          <string>credit</string>
+                        </tuple>
+                        <tuple>
+                          <string>total_price</string>
+                          <string>total_price</string>
+                        </tuple>
+                        <tuple>
+                          <string>running_total_price</string>
+                          <string>running_total_price</string>
+                        </tuple>
+                      </list>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>field_id</string> </key>
+                    <value> <string>my_view_mode_listbox</string> </value>
+                </item>
+                <item>
+                    <key> <string>form_id</string> </key>
+                    <value> <string>Base_viewFieldLibrary</string> </value>
+                </item>
+                <item>
+                    <key> <string>list_method</string> </key>
+                    <value>
+                      <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>selection_name</string> </key>
+                    <value> <string>budget_line_consumed_budget_selection</string> </value>
+                </item>
+                <item>
+                    <key> <string>sort</string> </key>
+                    <value>
+                      <list>
+                        <tuple>
+                          <string>stock.date</string>
+                          <string>ASC</string>
+                        </tuple>
+                        <tuple>
+                          <string>stock.uid</string>
+                          <string>ASC</string>
+                        </tuple>
+                      </list>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>sort_columns</string> </key>
+                    <value>
+                      <list>
+                        <tuple>
+                          <string>None</string>
+                          <string>sorting disabled</string>
+                        </tuple>
+                      </list>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>stat_columns</string> </key>
+                    <value>
+                      <list>
+                        <tuple>
+                          <string>debit_price</string>
+                          <string>BudgetLine_statDebitPrice</string>
+                        </tuple>
+                        <tuple>
+                          <string>credit_price</string>
+                          <string>BudgetLine_statCreditPrice</string>
+                        </tuple>
+                        <tuple>
+                          <string>total_price</string>
+                          <string>BudgetLine_statTotalPrice</string>
+                        </tuple>
+                      </list>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>stat_method</string> </key>
+                    <value>
+                      <persistent> <string encoding="base64">AAAAAAAAAAQ=</string> </persistent>
+                    </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>Budget Explanation</string> </value>
+                </item>
+                <item>
+                    <key> <string>url_columns</string> </key>
+                    <value>
+                      <list/>
+                    </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+      </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: [(x[0], \'Movement_getExplanationUrl\') for x in form.listbox.get_value(\'columns\')]</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="3" aka="AAAAAAAAAAM=">
+    <pickle>
+      <tuple>
+        <global name="Method" module="Products.Formulator.MethodField"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>method_name</string> </key>
+            <value> <string>BudgetLine_getConsumedBudgetMovementList</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="4" aka="AAAAAAAAAAQ=">
+    <pickle>
+      <tuple>
+        <global name="Method" module="Products.Formulator.MethodField"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>method_name</string> </key>
+            <value> <string>portal_catalog</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_budget/SkinTemplateItem/portal_skins/erp5_budget/BudgetLine_viewConsumedBudgetMovementList/listbox_credit.xml b/bt5/erp5_budget/SkinTemplateItem/portal_skins/erp5_budget/BudgetLine_viewConsumedBudgetMovementList/listbox_credit.xml
new file mode 100644
index 0000000000..955458c51d
--- /dev/null
+++ b/bt5/erp5_budget/SkinTemplateItem/portal_skins/erp5_budget/BudgetLine_viewConsumedBudgetMovementList/listbox_credit.xml
@@ -0,0 +1,99 @@
+<?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>editable</string>
+              </list>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>listbox_credit</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>editable</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+                <item>
+                    <key> <string>field_id</string> </key>
+                    <value> <string>my_view_mode_money_quantity</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>
+              </dictionary>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_budget/SkinTemplateItem/portal_skins/erp5_budget/BudgetLine_viewConsumedBudgetMovementList/listbox_credit_price.xml b/bt5/erp5_budget/SkinTemplateItem/portal_skins/erp5_budget/BudgetLine_viewConsumedBudgetMovementList/listbox_credit_price.xml
new file mode 100644
index 0000000000..2da612c178
--- /dev/null
+++ b/bt5/erp5_budget/SkinTemplateItem/portal_skins/erp5_budget/BudgetLine_viewConsumedBudgetMovementList/listbox_credit_price.xml
@@ -0,0 +1,99 @@
+<?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>editable</string>
+              </list>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>listbox_credit_price</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>editable</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+                <item>
+                    <key> <string>field_id</string> </key>
+                    <value> <string>my_view_mode_money_quantity</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>
+              </dictionary>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_budget/SkinTemplateItem/portal_skins/erp5_budget/BudgetLine_viewConsumedBudgetMovementList/listbox_date.xml b/bt5/erp5_budget/SkinTemplateItem/portal_skins/erp5_budget/BudgetLine_viewConsumedBudgetMovementList/listbox_date.xml
new file mode 100644
index 0000000000..0115c6b732
--- /dev/null
+++ b/bt5/erp5_budget/SkinTemplateItem/portal_skins/erp5_budget/BudgetLine_viewConsumedBudgetMovementList/listbox_date.xml
@@ -0,0 +1,2031 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="DateTimeField" module="Products.Formulator.StandardFields"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>listbox_date</string> </value>
+        </item>
+        <item>
+            <key> <string>message_values</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>datetime_out_of_range</string> </key>
+                    <value> <string>The date and time you entered were out of range.</string> </value>
+                </item>
+                <item>
+                    <key> <string>external_validator_failed</string> </key>
+                    <value> <string>The input failed the external validator.</string> </value>
+                </item>
+                <item>
+                    <key> <string>not_datetime</string> </key>
+                    <value> <string>You did not enter a valid date and time.</string> </value>
+                </item>
+                <item>
+                    <key> <string>required_not_found</string> </key>
+                    <value> <string>Input is required but no input given.</string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>overrides</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>allow_empty_time</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>alternate_name</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>ampm_time_style</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>css_class</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>date_only</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>date_separator</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>default</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>default_now</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>description</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>editable</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>enabled</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>end_datetime</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>external_validator</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>hidden</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>hidden_day_is_last_day</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>hide_day</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>input_order</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>input_style</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>required</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>start_datetime</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>time_separator</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>title</string> </key>
+                    <value> <string></string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>sub_form</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>tales</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>allow_empty_time</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>alternate_name</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>ampm_time_style</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>css_class</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>date_only</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>date_separator</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>default</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>default_now</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>description</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>editable</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>enabled</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>end_datetime</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>external_validator</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>hidden</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>hidden_day_is_last_day</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>hide_day</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>input_order</string> </key>
+                    <value>
+                      <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>input_style</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>required</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>start_datetime</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>time_separator</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>title</string> </key>
+                    <value> <string></string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>values</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>allow_empty_time</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+                <item>
+                    <key> <string>alternate_name</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>ampm_time_style</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+                <item>
+                    <key> <string>css_class</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>date_only</string> </key>
+                    <value> <int>1</int> </value>
+                </item>
+                <item>
+                    <key> <string>date_separator</string> </key>
+                    <value> <string>/</string> </value>
+                </item>
+                <item>
+                    <key> <string>default</string> </key>
+                    <value>
+                      <none/>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>default_now</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+                <item>
+                    <key> <string>description</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>editable</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+                <item>
+                    <key> <string>enabled</string> </key>
+                    <value> <int>1</int> </value>
+                </item>
+                <item>
+                    <key> <string>end_datetime</string> </key>
+                    <value>
+                      <none/>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>external_validator</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>hidden</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+                <item>
+                    <key> <string>hidden_day_is_last_day</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+                <item>
+                    <key> <string>hide_day</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+                <item>
+                    <key> <string>input_order</string> </key>
+                    <value> <string>ymd</string> </value>
+                </item>
+                <item>
+                    <key> <string>input_style</string> </key>
+                    <value> <string>text</string> </value>
+                </item>
+                <item>
+                    <key> <string>required</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+                <item>
+                    <key> <string>start_datetime</string> </key>
+                    <value>
+                      <none/>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>time_separator</string> </key>
+                    <value> <string>:</string> </value>
+                </item>
+                <item>
+                    <key> <string>title</string> </key>
+                    <value> <string>Date</string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="2" aka="AAAAAAAAAAI=">
+    <pickle>
+      <tuple>
+        <tuple>
+          <string>Products.Formulator.Form</string>
+          <string>BasicForm</string>
+        </tuple>
+        <none/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>action</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>encoding</string> </key>
+            <value> <string>UTF-8</string> </value>
+        </item>
+        <item>
+            <key> <string>enctype</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>fields</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>ampm</string> </key>
+                    <value>
+                      <persistent> <string encoding="base64">AAAAAAAAAAQ=</string> </persistent>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>day</string> </key>
+                    <value>
+                      <persistent> <string encoding="base64">AAAAAAAAAAU=</string> </persistent>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>hour</string> </key>
+                    <value>
+                      <persistent> <string encoding="base64">AAAAAAAAAAY=</string> </persistent>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>minute</string> </key>
+                    <value>
+                      <persistent> <string encoding="base64">AAAAAAAAAAc=</string> </persistent>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>month</string> </key>
+                    <value>
+                      <persistent> <string encoding="base64">AAAAAAAAAAg=</string> </persistent>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>year</string> </key>
+                    <value>
+                      <persistent> <string encoding="base64">AAAAAAAAAAk=</string> </persistent>
+                    </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>group_list</string> </key>
+            <value>
+              <list>
+                <string>Default</string>
+                <string>date</string>
+                <string>time</string>
+              </list>
+            </value>
+        </item>
+        <item>
+            <key> <string>groups</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>Default</string> </key>
+                    <value>
+                      <list/>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>date</string> </key>
+                    <value>
+                      <list>
+                        <string>year</string>
+                        <string>month</string>
+                        <string>day</string>
+                      </list>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>time</string> </key>
+                    <value>
+                      <list>
+                        <string>hour</string>
+                        <string>minute</string>
+                        <string>ampm</string>
+                      </list>
+                    </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>method</string> </key>
+            <value> <string>POST</string> </value>
+        </item>
+        <item>
+            <key> <string>name</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>stored_encoding</string> </key>
+            <value> <string>ISO-8859-1</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>Basic Form</string> </value>
+        </item>
+        <item>
+            <key> <string>unicode_mode</string> </key>
+            <value> <int>0</int> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="3" aka="AAAAAAAAAAM=">
+    <pickle>
+      <tuple>
+        <tuple>
+          <string>Products.Formulator.TALESField</string>
+          <string>TALESMethod</string>
+        </tuple>
+        <none/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_text</string> </key>
+            <value> <string>preferences/getPreferredDateOrder | string:ymd</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="4" aka="AAAAAAAAAAQ=">
+    <pickle>
+      <tuple>
+        <tuple>
+          <string>Products.Formulator.StandardFields</string>
+          <string>StringField</string>
+        </tuple>
+        <none/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>ampm</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>
+                <item>
+                    <key> <string>required_not_found</string> </key>
+                    <value> <string>Input is required but no input given.</string> </value>
+                </item>
+                <item>
+                    <key> <string>too_long</string> </key>
+                    <value> <string>Too much input was given.</string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>overrides</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>alternate_name</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>css_class</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>default</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>description</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>display_maxwidth</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>display_width</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>editable</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>enabled</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>external_validator</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>extra</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>hidden</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>max_length</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>required</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>title</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>truncate</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>unicode</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>whitespace_preserve</string> </key>
+                    <value> <string></string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>tales</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>alternate_name</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>css_class</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>default</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>description</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>display_maxwidth</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>display_width</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>editable</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>enabled</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>external_validator</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>extra</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>hidden</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>max_length</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>required</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>title</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>truncate</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>unicode</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>whitespace_preserve</string> </key>
+                    <value> <string></string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>values</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>alternate_name</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>css_class</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>default</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>description</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>display_maxwidth</string> </key>
+                    <value> <int>2</int> </value>
+                </item>
+                <item>
+                    <key> <string>display_width</string> </key>
+                    <value> <int>2</int> </value>
+                </item>
+                <item>
+                    <key> <string>editable</string> </key>
+                    <value> <int>1</int> </value>
+                </item>
+                <item>
+                    <key> <string>enabled</string> </key>
+                    <value> <int>1</int> </value>
+                </item>
+                <item>
+                    <key> <string>external_validator</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>extra</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>hidden</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+                <item>
+                    <key> <string>max_length</string> </key>
+                    <value> <int>2</int> </value>
+                </item>
+                <item>
+                    <key> <string>required</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+                <item>
+                    <key> <string>title</string> </key>
+                    <value> <string>am/pm</string> </value>
+                </item>
+                <item>
+                    <key> <string>truncate</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+                <item>
+                    <key> <string>unicode</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+                <item>
+                    <key> <string>whitespace_preserve</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="5" aka="AAAAAAAAAAU=">
+    <pickle>
+      <tuple>
+        <tuple>
+          <string>Products.Formulator.StandardFields</string>
+          <string>IntegerField</string>
+        </tuple>
+        <none/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>day</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>
+                <item>
+                    <key> <string>integer_out_of_range</string> </key>
+                    <value> <string>The integer you entered was out of range.</string> </value>
+                </item>
+                <item>
+                    <key> <string>not_integer</string> </key>
+                    <value> <string>You did not enter an integer.</string> </value>
+                </item>
+                <item>
+                    <key> <string>required_not_found</string> </key>
+                    <value> <string>Input is required but no input given.</string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>overrides</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>alternate_name</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>css_class</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>default</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>description</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>display_maxwidth</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>display_width</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>editable</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>enabled</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>end</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>external_validator</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>extra</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>hidden</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>required</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>start</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>title</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>whitespace_preserve</string> </key>
+                    <value> <string></string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>tales</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>alternate_name</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>css_class</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>default</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>description</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>display_maxwidth</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>display_width</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>editable</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>enabled</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>end</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>external_validator</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>extra</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>hidden</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>required</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>start</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>title</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>whitespace_preserve</string> </key>
+                    <value> <string></string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>values</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>alternate_name</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>css_class</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>default</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>description</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>display_maxwidth</string> </key>
+                    <value> <int>2</int> </value>
+                </item>
+                <item>
+                    <key> <string>display_width</string> </key>
+                    <value> <int>2</int> </value>
+                </item>
+                <item>
+                    <key> <string>editable</string> </key>
+                    <value> <int>1</int> </value>
+                </item>
+                <item>
+                    <key> <string>enabled</string> </key>
+                    <value> <int>1</int> </value>
+                </item>
+                <item>
+                    <key> <string>end</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>external_validator</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>extra</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>hidden</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+                <item>
+                    <key> <string>required</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+                <item>
+                    <key> <string>start</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>title</string> </key>
+                    <value> <string>Day</string> </value>
+                </item>
+                <item>
+                    <key> <string>whitespace_preserve</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="6" aka="AAAAAAAAAAY=">
+    <pickle>
+      <tuple>
+        <tuple>
+          <string>Products.Formulator.StandardFields</string>
+          <string>IntegerField</string>
+        </tuple>
+        <none/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>hour</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>
+                <item>
+                    <key> <string>integer_out_of_range</string> </key>
+                    <value> <string>The integer you entered was out of range.</string> </value>
+                </item>
+                <item>
+                    <key> <string>not_integer</string> </key>
+                    <value> <string>You did not enter an integer.</string> </value>
+                </item>
+                <item>
+                    <key> <string>required_not_found</string> </key>
+                    <value> <string>Input is required but no input given.</string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>overrides</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>alternate_name</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>css_class</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>default</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>description</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>display_maxwidth</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>display_width</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>editable</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>enabled</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>end</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>external_validator</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>extra</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>hidden</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>required</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>start</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>title</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>whitespace_preserve</string> </key>
+                    <value> <string></string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>tales</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>alternate_name</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>css_class</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>default</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>description</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>display_maxwidth</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>display_width</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>editable</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>enabled</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>end</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>external_validator</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>extra</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>hidden</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>required</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>start</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>title</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>whitespace_preserve</string> </key>
+                    <value> <string></string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>values</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>alternate_name</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>css_class</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>default</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>description</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>display_maxwidth</string> </key>
+                    <value> <int>2</int> </value>
+                </item>
+                <item>
+                    <key> <string>display_width</string> </key>
+                    <value> <int>2</int> </value>
+                </item>
+                <item>
+                    <key> <string>editable</string> </key>
+                    <value> <int>1</int> </value>
+                </item>
+                <item>
+                    <key> <string>enabled</string> </key>
+                    <value> <int>1</int> </value>
+                </item>
+                <item>
+                    <key> <string>end</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>external_validator</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>extra</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>hidden</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+                <item>
+                    <key> <string>required</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+                <item>
+                    <key> <string>start</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>title</string> </key>
+                    <value> <string>Hour</string> </value>
+                </item>
+                <item>
+                    <key> <string>whitespace_preserve</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="7" aka="AAAAAAAAAAc=">
+    <pickle>
+      <tuple>
+        <tuple>
+          <string>Products.Formulator.StandardFields</string>
+          <string>IntegerField</string>
+        </tuple>
+        <none/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>minute</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>
+                <item>
+                    <key> <string>integer_out_of_range</string> </key>
+                    <value> <string>The integer you entered was out of range.</string> </value>
+                </item>
+                <item>
+                    <key> <string>not_integer</string> </key>
+                    <value> <string>You did not enter an integer.</string> </value>
+                </item>
+                <item>
+                    <key> <string>required_not_found</string> </key>
+                    <value> <string>Input is required but no input given.</string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>overrides</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>alternate_name</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>css_class</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>default</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>description</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>display_maxwidth</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>display_width</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>editable</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>enabled</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>end</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>external_validator</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>extra</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>hidden</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>required</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>start</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>title</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>whitespace_preserve</string> </key>
+                    <value> <string></string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>tales</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>alternate_name</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>css_class</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>default</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>description</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>display_maxwidth</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>display_width</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>editable</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>enabled</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>end</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>external_validator</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>extra</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>hidden</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>required</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>start</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>title</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>whitespace_preserve</string> </key>
+                    <value> <string></string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>values</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>alternate_name</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>css_class</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>default</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>description</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>display_maxwidth</string> </key>
+                    <value> <int>2</int> </value>
+                </item>
+                <item>
+                    <key> <string>display_width</string> </key>
+                    <value> <int>2</int> </value>
+                </item>
+                <item>
+                    <key> <string>editable</string> </key>
+                    <value> <int>1</int> </value>
+                </item>
+                <item>
+                    <key> <string>enabled</string> </key>
+                    <value> <int>1</int> </value>
+                </item>
+                <item>
+                    <key> <string>end</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>external_validator</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>extra</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>hidden</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+                <item>
+                    <key> <string>required</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+                <item>
+                    <key> <string>start</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>title</string> </key>
+                    <value> <string>Minute</string> </value>
+                </item>
+                <item>
+                    <key> <string>whitespace_preserve</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="8" aka="AAAAAAAAAAg=">
+    <pickle>
+      <tuple>
+        <tuple>
+          <string>Products.Formulator.StandardFields</string>
+          <string>IntegerField</string>
+        </tuple>
+        <none/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>month</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>
+                <item>
+                    <key> <string>integer_out_of_range</string> </key>
+                    <value> <string>The integer you entered was out of range.</string> </value>
+                </item>
+                <item>
+                    <key> <string>not_integer</string> </key>
+                    <value> <string>You did not enter an integer.</string> </value>
+                </item>
+                <item>
+                    <key> <string>required_not_found</string> </key>
+                    <value> <string>Input is required but no input given.</string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>overrides</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>alternate_name</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>css_class</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>default</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>description</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>display_maxwidth</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>display_width</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>editable</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>enabled</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>end</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>external_validator</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>extra</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>hidden</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>required</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>start</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>title</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>whitespace_preserve</string> </key>
+                    <value> <string></string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>tales</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>alternate_name</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>css_class</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>default</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>description</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>display_maxwidth</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>display_width</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>editable</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>enabled</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>end</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>external_validator</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>extra</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>hidden</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>required</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>start</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>title</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>whitespace_preserve</string> </key>
+                    <value> <string></string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>values</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>alternate_name</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>css_class</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>default</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>description</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>display_maxwidth</string> </key>
+                    <value> <int>2</int> </value>
+                </item>
+                <item>
+                    <key> <string>display_width</string> </key>
+                    <value> <int>2</int> </value>
+                </item>
+                <item>
+                    <key> <string>editable</string> </key>
+                    <value> <int>1</int> </value>
+                </item>
+                <item>
+                    <key> <string>enabled</string> </key>
+                    <value> <int>1</int> </value>
+                </item>
+                <item>
+                    <key> <string>end</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>external_validator</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>extra</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>hidden</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+                <item>
+                    <key> <string>required</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+                <item>
+                    <key> <string>start</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>title</string> </key>
+                    <value> <string>Month</string> </value>
+                </item>
+                <item>
+                    <key> <string>whitespace_preserve</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="9" aka="AAAAAAAAAAk=">
+    <pickle>
+      <tuple>
+        <tuple>
+          <string>Products.Formulator.StandardFields</string>
+          <string>IntegerField</string>
+        </tuple>
+        <none/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>year</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>
+                <item>
+                    <key> <string>integer_out_of_range</string> </key>
+                    <value> <string>The integer you entered was out of range.</string> </value>
+                </item>
+                <item>
+                    <key> <string>not_integer</string> </key>
+                    <value> <string>You did not enter an integer.</string> </value>
+                </item>
+                <item>
+                    <key> <string>required_not_found</string> </key>
+                    <value> <string>Input is required but no input given.</string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>overrides</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>alternate_name</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>css_class</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>default</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>description</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>display_maxwidth</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>display_width</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>editable</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>enabled</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>end</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>external_validator</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>extra</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>hidden</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>required</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>start</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>title</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>whitespace_preserve</string> </key>
+                    <value> <string></string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>tales</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>alternate_name</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>css_class</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>default</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>description</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>display_maxwidth</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>display_width</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>editable</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>enabled</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>end</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>external_validator</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>extra</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>hidden</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>required</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>start</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>title</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>whitespace_preserve</string> </key>
+                    <value> <string></string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>values</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>alternate_name</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>css_class</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>default</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>description</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>display_maxwidth</string> </key>
+                    <value> <int>4</int> </value>
+                </item>
+                <item>
+                    <key> <string>display_width</string> </key>
+                    <value> <int>4</int> </value>
+                </item>
+                <item>
+                    <key> <string>editable</string> </key>
+                    <value> <int>1</int> </value>
+                </item>
+                <item>
+                    <key> <string>enabled</string> </key>
+                    <value> <int>1</int> </value>
+                </item>
+                <item>
+                    <key> <string>end</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>external_validator</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>extra</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>hidden</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+                <item>
+                    <key> <string>required</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+                <item>
+                    <key> <string>start</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>title</string> </key>
+                    <value> <string>Year</string> </value>
+                </item>
+                <item>
+                    <key> <string>whitespace_preserve</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_budget/SkinTemplateItem/portal_skins/erp5_budget/BudgetLine_viewConsumedBudgetMovementList/listbox_debit.xml b/bt5/erp5_budget/SkinTemplateItem/portal_skins/erp5_budget/BudgetLine_viewConsumedBudgetMovementList/listbox_debit.xml
new file mode 100644
index 0000000000..d658a5fb1a
--- /dev/null
+++ b/bt5/erp5_budget/SkinTemplateItem/portal_skins/erp5_budget/BudgetLine_viewConsumedBudgetMovementList/listbox_debit.xml
@@ -0,0 +1,103 @@
+<?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>editable</string>
+              </list>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>listbox_debit</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>editable</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <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>editable</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+                <item>
+                    <key> <string>field_id</string> </key>
+                    <value> <string>my_view_mode_money_quantity</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>
+              </dictionary>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_budget/SkinTemplateItem/portal_skins/erp5_budget/BudgetLine_viewConsumedBudgetMovementList/listbox_debit_price.xml b/bt5/erp5_budget/SkinTemplateItem/portal_skins/erp5_budget/BudgetLine_viewConsumedBudgetMovementList/listbox_debit_price.xml
new file mode 100644
index 0000000000..15eae6049f
--- /dev/null
+++ b/bt5/erp5_budget/SkinTemplateItem/portal_skins/erp5_budget/BudgetLine_viewConsumedBudgetMovementList/listbox_debit_price.xml
@@ -0,0 +1,103 @@
+<?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>editable</string>
+              </list>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>listbox_debit_price</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>editable</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <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>editable</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+                <item>
+                    <key> <string>field_id</string> </key>
+                    <value> <string>my_view_mode_money_quantity</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>
+              </dictionary>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_budget/SkinTemplateItem/portal_skins/erp5_budget/BudgetLine_viewConsumedBudgetMovementList/listbox_running_total_price.xml b/bt5/erp5_budget/SkinTemplateItem/portal_skins/erp5_budget/BudgetLine_viewConsumedBudgetMovementList/listbox_running_total_price.xml
new file mode 100644
index 0000000000..116440d13f
--- /dev/null
+++ b/bt5/erp5_budget/SkinTemplateItem/portal_skins/erp5_budget/BudgetLine_viewConsumedBudgetMovementList/listbox_running_total_price.xml
@@ -0,0 +1,99 @@
+<?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>editable</string>
+              </list>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>listbox_running_total_price</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>editable</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+                <item>
+                    <key> <string>field_id</string> </key>
+                    <value> <string>my_view_mode_money_quantity</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>
+              </dictionary>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_budget/SkinTemplateItem/portal_skins/erp5_budget/BudgetLine_viewConsumedBudgetMovementList/listbox_total_price.xml b/bt5/erp5_budget/SkinTemplateItem/portal_skins/erp5_budget/BudgetLine_viewConsumedBudgetMovementList/listbox_total_price.xml
new file mode 100644
index 0000000000..6ba1303c64
--- /dev/null
+++ b/bt5/erp5_budget/SkinTemplateItem/portal_skins/erp5_budget/BudgetLine_viewConsumedBudgetMovementList/listbox_total_price.xml
@@ -0,0 +1,99 @@
+<?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>editable</string>
+              </list>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>listbox_total_price</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>editable</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+                <item>
+                    <key> <string>field_id</string> </key>
+                    <value> <string>my_view_mode_money_quantity</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>
+              </dictionary>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_budget/SkinTemplateItem/portal_skins/erp5_budget/BudgetLine_viewConsumedBudgetMovementList/my_title.xml b/bt5/erp5_budget/SkinTemplateItem/portal_skins/erp5_budget/BudgetLine_viewConsumedBudgetMovementList/my_title.xml
new file mode 100644
index 0000000000..e768914b9d
--- /dev/null
+++ b/bt5/erp5_budget/SkinTemplateItem/portal_skins/erp5_budget/BudgetLine_viewConsumedBudgetMovementList/my_title.xml
@@ -0,0 +1,99 @@
+<?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>editable</string>
+              </list>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>my_title</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>editable</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+                <item>
+                    <key> <string>field_id</string> </key>
+                    <value> <string>my_title</string> </value>
+                </item>
+                <item>
+                    <key> <string>form_id</string> </key>
+                    <value> <string>BudgetLine_viewFieldLibrary</string> </value>
+                </item>
+                <item>
+                    <key> <string>target</string> </key>
+                    <value> <string>Click to edit the target</string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_budget/SkinTemplateItem/portal_skins/erp5_budget/BudgetLine_viewEngagedBudget/matrixbox.xml b/bt5/erp5_budget/SkinTemplateItem/portal_skins/erp5_budget/BudgetLine_viewEngagedBudget/matrixbox.xml
index d570e5948b..bd7b618523 100644
--- a/bt5/erp5_budget/SkinTemplateItem/portal_skins/erp5_budget/BudgetLine_viewEngagedBudget/matrixbox.xml
+++ b/bt5/erp5_budget/SkinTemplateItem/portal_skins/erp5_budget/BudgetLine_viewEngagedBudget/matrixbox.xml
@@ -16,6 +16,7 @@
                 <string>cell_getter_method</string>
                 <string>editable_attributes</string>
                 <string>global_attributes</string>
+                <string>url_cells</string>
               </list>
             </value>
         </item>
@@ -109,6 +110,17 @@
                     <key> <string>target</string> </key>
                     <value> <string>Click to edit the target</string> </value>
                 </item>
+                <item>
+                    <key> <string>url_cells</string> </key>
+                    <value>
+                      <list>
+                        <tuple>
+                          <string>quantity</string>
+                          <string>getExplanationUrl</string>
+                        </tuple>
+                      </list>
+                    </value>
+                </item>
               </dictionary>
             </value>
         </item>
diff --git a/bt5/erp5_budget/bt/revision b/bt5/erp5_budget/bt/revision
index c0d6976f6b..75af06ed67 100644
--- a/bt5/erp5_budget/bt/revision
+++ b/bt5/erp5_budget/bt/revision
@@ -1 +1 @@
-314
\ No newline at end of file
+315
\ No newline at end of file
-- 
2.30.9


From 476ec3f74999307f3b9df6480861d353c078aded Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?J=C3=A9rome=20Perrin?= <jerome@nexedi.com>
Date: Tue, 27 Jul 2010 12:42:41 +0000
Subject: [PATCH 121/270] - use selected uids in getInventoryList as cell keys,
 this makes the "inventory   list" way of calculating consumption working
 properly with summary cells - cache cell keys lookups - support
 movement_strict_membership inventory axis - add tests

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@37282 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 product/ERP5/Document/BudgetLine.py           |   9 +-
 product/ERP5/Document/BudgetModel.py          |  17 +-
 product/ERP5/Document/BudgetVariation.py      |  77 ++--
 .../ERP5/Document/CategoryBudgetVariation.py  |   9 +-
 product/ERP5/Document/NodeBudgetVariation.py  |  22 +-
 product/ERP5/tests/testBudget.py              | 427 +++++++++++++++++-
 6 files changed, 484 insertions(+), 77 deletions(-)

diff --git a/product/ERP5/Document/BudgetLine.py b/product/ERP5/Document/BudgetLine.py
index eeaa11a953..a9e9e3943a 100644
--- a/product/ERP5/Document/BudgetLine.py
+++ b/product/ERP5/Document/BudgetLine.py
@@ -116,14 +116,15 @@ class BudgetLine(Predicate, XMLMatrix, Variated):
     query_dict.setdefault('ignore_group_by', True)
 
     sign = self.BudgetLine_getConsumptionSign()
+    cell_key_cache = dict()
     budget_dict = dict()
     for brain in self.getPortalObject().portal_simulation\
                              .getCurrentInventoryList(**query_dict):
+      cell_key = budget_model._getCellKeyFromInventoryListBrain(brain, self,
+                                       cell_key_cache=cell_key_cache)
       # XXX total_quantity or total_price ??
-      previous_value = budget_dict.get(
-          budget_model._getCellKeyFromInventoryListBrain(brain, self), 0)
-      budget_dict[budget_model._getCellKeyFromInventoryListBrain(brain, self)] = \
-                  previous_value + brain.total_price * sign
+      previous_value = budget_dict.get(cell_key, 0)
+      budget_dict[cell_key] = previous_value + brain.total_price * sign
 
     return budget_dict
 
diff --git a/product/ERP5/Document/BudgetModel.py b/product/ERP5/Document/BudgetModel.py
index 9d3e69da63..edb5e69c98 100644
--- a/product/ERP5/Document/BudgetModel.py
+++ b/product/ERP5/Document/BudgetModel.py
@@ -99,10 +99,16 @@ class BudgetModel(Predicate):
     for budget_variation in sorted(self.contentValues(
               portal_type=self.getPortalBudgetVariationTypeList()),
               key=lambda x:x.getIntIndex()):
-      variation_query_dict = budget_variation.getInventoryListQueryDict(budget_line)
-      # Merge group_by argument. All other arguments should not conflict
+      variation_query_dict = budget_variation.getInventoryListQueryDict(
+                                                      budget_line)
+      # Merge group_by and select_list arguments.
+      # Other arguments should not conflict
       if 'group_by' in query_dict and 'group_by' in variation_query_dict:
         variation_query_dict['group_by'].extend(query_dict['group_by'])
+      if 'select_list' in query_dict \
+          and 'select_list' in variation_query_dict:
+        variation_query_dict['select_list'].extend(
+            query_dict['select_list'])
 
       query_dict.update(variation_query_dict)
  
@@ -114,7 +120,8 @@ class BudgetModel(Predicate):
       query_dict.setdefault('at_date', start_date_range_max.latestTime())
     return query_dict
 
-  def _getCellKeyFromInventoryListBrain(self, brain, budget_line):
+  def _getCellKeyFromInventoryListBrain(self, brain, budget_line,
+                                        cell_key_cache=None):
     """Compute the cell key from an inventory brain, the cell key can be used
     to retrieve the budget cell in the corresponding budget line.
     """
@@ -122,8 +129,8 @@ class BudgetModel(Predicate):
     for budget_variation in sorted(self.contentValues(
               portal_type=self.getPortalBudgetVariationTypeList()),
               key=lambda x:x.getIntIndex()):
-      key = budget_variation._getCellKeyFromInventoryListBrain(brain,
-                                                               budget_line)
+      key = budget_variation._getCellKeyFromInventoryListBrain(
+                  brain, budget_line, cell_key_cache=cell_key_cache)
       if key:
         cell_key += (key,)
     return cell_key
diff --git a/product/ERP5/Document/BudgetVariation.py b/product/ERP5/Document/BudgetVariation.py
index 34e22e307b..99d9a87d49 100644
--- a/product/ERP5/Document/BudgetVariation.py
+++ b/product/ERP5/Document/BudgetVariation.py
@@ -96,10 +96,12 @@ class BudgetVariation(Predicate):
     """
     return {}
 
-  def _getCellKeyFromInventoryListBrain(self, brain, budget_line):
+  def _getCellKeyFromInventoryListBrain(self, brain, budget_line,
+                                        cell_key_cache=None):
     """Compute the cell key from an inventory brain.
     The cell key can be used to retrieve the budget cell in the corresponding
     budget line using budget_line.getCell
+    A dictionnary can be passed as "cell_key_cache" to cache catalog lookups
     """
     if not self.isMemberOf('budget_variation/budget_cell'):
       return None
@@ -110,55 +112,30 @@ class BudgetVariation(Predicate):
     base_category = self.getProperty('variation_base_category')
     if not base_category:
       return None
-
-    movement = brain.getObject()
-    # axis 'movement' is simply a category membership on movements
-    if axis == 'movement':
-      return movement.getDefaultAcquiredCategoryMembership(base_category,
-                                                           base=True)
-
-    # is it a source brain or destination brain ?
-    is_source_brain = True
-    if (brain.node_uid != brain.mirror_node_uid):
-      is_source_brain = (brain.node_uid == movement.getSourceUid())
-    elif (brain.section_uid != brain.mirror_section_uid):
-      is_source_brain = (brain.section_uid == movement.getSourceSectionUid())
-    elif brain.total_quantity:
-      is_source_brain = (brain.total_quantity == movement.getQuantity())
+    
+    getObject = self.getPortalObject().portal_catalog.getObject
+    def getUrlFromUidNoCache(uid):
+      relative_url = getObject(uid).getRelativeUrl()
+      if relative_url.startswith('%s/' % base_category):
+        return relative_url
+      return '%s/%s' % (base_category, relative_url)
+
+    if cell_key_cache is not None:
+      def getUrlFromUidWithCache(uid):
+        try:
+          return cell_key_cache[uid]
+        except KeyError:
+          relative_url = getUrlFromUidNoCache(uid)
+          cell_key_cache[uid] = relative_url
+          return relative_url
+      getUrlFromUid = getUrlFromUidWithCache
     else:
-      raise NotImplementedError('Could not guess brain side')
-
-    if axis.endswith('_category') or\
-            axis.endswith('_category_strict_membership'):
-      # if the axis is category, we get the node and then returns the category
-      # from that node
-      if axis.endswith('_category'):
-        axis = axis[:-len('_category')]
-      if axis.endswith('_category_strict_membership'):
-        axis = axis[:-len('_category_strict_membership')]
-      if is_source_brain:
-        if axis == 'node':
-          node = movement.getSourceValue()
-        else:
-          node = movement.getProperty('source_%s_value' % axis)
-      else:
-        if axis == 'node':
-          node = movement.getDestinationValue()
-        else:
-          node = movement.getProperty('destination_%s_value' % axis)
-      if node is not None:
-        return node.getDefaultAcquiredCategoryMembership(base_category,
-                                                         base=True)
-      return None
+      getUrlFromUid = getUrlFromUidNoCache
 
-    # otherwise we just return the node
-    if is_source_brain:
-      if axis == 'node':
-        return '%s/%s' % (base_category, movement.getSource())
-      return '%s/%s' % (base_category,
-                        movement.getProperty('source_%s' % axis))
-    if axis == 'node':
-      return '%s/%s' % (base_category, movement.getDestination())
-    return '%s/%s' % (base_category,
-                      movement.getProperty('destination_%s' % axis))
+    if axis == 'movement':
+      return getUrlFromUid(getattr(brain, 'default_%s_uid' % base_category))
+    elif axis == 'movement_strict_membership':
+      return getUrlFromUid(getattr(brain,
+                                   'default_strict_%s_uid' % base_category))
+    return getUrlFromUid(getattr(brain, '%s_uid' % axis))
 
diff --git a/product/ERP5/Document/CategoryBudgetVariation.py b/product/ERP5/Document/CategoryBudgetVariation.py
index 7555cbfa3c..6d2b13f9bf 100644
--- a/product/ERP5/Document/CategoryBudgetVariation.py
+++ b/product/ERP5/Document/CategoryBudgetVariation.py
@@ -95,6 +95,8 @@ class CategoryBudgetVariation(BudgetVariation):
         # Different possible inventory axis here
         if axis == 'movement':
           return {'default_%s_uid' % base_category: category_uid}
+        if axis == 'movement_strict_membership':
+          return {'default_strict_%s_uid' % base_category: category_uid}
         if axis in ('node', 'section', 'payment', 'function', 'project',
                     'mirror_section', 'mirror_node' ):
           return {'%s_uid' % axis: category_uid}
@@ -117,8 +119,13 @@ class CategoryBudgetVariation(BudgetVariation):
 
     query_dict = dict()
     if axis == 'movement':
+      axis = 'default_%s_uid' % base_category
+      query_dict['group_by'] = [axis]
+      query_dict['select_list'] = [axis]
+    elif axis == 'movement_strict_membership':
       axis = 'default_strict_%s_uid' % base_category
       query_dict['group_by'] = [axis]
+      query_dict['select_list'] = [axis]
     else:
       query_dict['group_by_%s' % axis] = True
       if axis in ('node', 'section', 'payment', 'function', 'project',
@@ -126,7 +133,7 @@ class CategoryBudgetVariation(BudgetVariation):
         axis = '%s_uid' % axis
 
     for category in context.getVariationCategoryList(
-                             base_category_list=(base_category,)):
+                               base_category_list=(base_category,)):
       if axis.endswith('_uid'):
         category = self.getPortalObject().portal_categories\
                                 .getCategoryUid(category)
diff --git a/product/ERP5/Document/NodeBudgetVariation.py b/product/ERP5/Document/NodeBudgetVariation.py
index 0b8b3e9288..be12ea8310 100644
--- a/product/ERP5/Document/NodeBudgetVariation.py
+++ b/product/ERP5/Document/NodeBudgetVariation.py
@@ -147,8 +147,11 @@ class NodeBudgetVariation(BudgetVariation):
       if criterion_base_category == base_category:
         if axis == 'movement':
           axis = 'default_%s' % base_category
-        # TODO: This is not correct if axis is a category (such as
-        # section_category)
+        if axis == 'movement_strict_membership':
+          axis = 'default_strict_%s' % base_category
+        # TODO: This is not correct if axis is a category such as
+        # section_category, because getInventoryList for now does not support
+        # parameters such as section_category_uid
         axis = '%s_uid' % axis
         if node_url == budget_line.getRelativeUrl():
           # This is the "All Other" virtual node
@@ -181,7 +184,12 @@ class NodeBudgetVariation(BudgetVariation):
     query_dict = dict()
     if axis == 'movement':
       axis = 'default_%s_uid' % base_category
+      query_dict['select_list'] = [axis]
+    if axis == 'movement_strict_membership':
+      axis = 'default_strict_%s_uid' % base_category
+      query_dict['select_list'] = [axis]
     query_dict['group_by_%s' % axis] = True
+
     # TODO: This is not correct if axis is a category (such as
     # section_category)
     axis = '%s_uid' % axis
@@ -191,17 +199,19 @@ class NodeBudgetVariation(BudgetVariation):
       return query_dict
 
     for node_url in context.getVariationCategoryList(
-                                          base_category_list=(base_category,)):
+                          base_category_list=(base_category,)):
       query_dict.setdefault(axis, []).append(
                 portal_categories.getCategoryValue(node_url,
                       base_category=base_category).getUid())
     return query_dict
   
-  def _getCellKeyFromInventoryListBrain(self, brain, budget_line):
-    """Compute key from inventory brain, with support for "all others" virtual node.
+  def _getCellKeyFromInventoryListBrain(self, brain, budget_line,
+                                         cell_key_cache=None):
+    """Compute key from inventory brain, with support for "all others" virtual
+    node.
     """
     key = BudgetVariation._getCellKeyFromInventoryListBrain(
-                                    self, brain, budget_line)
+                   self, brain, budget_line, cell_key_cache=cell_key_cache)
     if self.getProperty('include_virtual_other_node'):
       if key not in [x[1] for x in
           self.getBudgetVariationRangeCategoryList(budget_line)]:
diff --git a/product/ERP5/tests/testBudget.py b/product/ERP5/tests/testBudget.py
index a5e8a4c658..3f83ae79d9 100644
--- a/product/ERP5/tests/testBudget.py
+++ b/product/ERP5/tests/testBudget.py
@@ -634,11 +634,14 @@ class TestBudget(ERP5TypeTestCase):
              at_date=DateTime(2000, 12, 31).latestTime(),
              node_uid=[self.portal.account_module.goods_purchase.getUid(),
                        self.portal.account_module.fixed_assets.getUid(),],
-             default_strict_product_line_uid=[product_line_1.getUid(),
+             default_product_line_uid=[product_line_1.getUid(),
                                        product_line_1_11.getUid(),
                                        product_line_1_12.getUid(),],
              section_category=['group/demo_group'],
-             group_by=['default_strict_product_line_uid'],
+             group_by=['default_product_line_uid'],
+             # select list is passed, because getInventoryList does not add
+             # group by related keys to select
+             select_list=['default_product_line_uid'],
              group_by_node=True,
              group_by_section_category=True,
              ),
@@ -668,28 +671,123 @@ class TestBudget(ERP5TypeTestCase):
     self.assertEquals(
       {('source/account_module/fixed_assets', 'product_line/1/1.2'): -100.0,
        ('source/account_module/goods_purchase', 'product_line/1/1.1'): 100.0,
-       # summary line is automatically added (TODO)
-##       ('source/account_module/goods_purchase', 'product_line/1'): 100.0
+       # summary lines are automatically added
+       ('source/account_module/fixed_assets', 'product_line/1'): -100.0,
+       ('source/account_module/goods_purchase', 'product_line/1'): 100.0
        },
         budget_line.getConsumedBudgetDict())
 
     self.assertEquals(
       {('source/account_module/fixed_assets', 'product_line/1/1.2'): -100.0,
        ('source/account_module/goods_purchase', 'product_line/1/1.1'): 100.0,
-       # summary line is automatically added (TODO)
-##       ('source/account_module/goods_purchase', 'product_line/1'): 100.0 
+       ('source/account_module/fixed_assets', 'product_line/1'): -100.0,
+       ('source/account_module/goods_purchase', 'product_line/1'): 100.0
        },
         budget_line.getEngagedBudgetDict())
 
     self.assertEquals(
       {('source/account_module/fixed_assets', 'product_line/1/1.2'): 100.0,
        ('source/account_module/goods_purchase', 'product_line/1/1.1'): -98.0,
-       # summary line is automatically added (TODO)
-##       ('source/account_module/goods_purchase', 'product_line/1'): 98.0 
-       ('source/account_module/goods_purchase', 'product_line/1'): 2.0 
+       ('source/account_module/fixed_assets', 'product_line/1'): 100.0,
+       ('source/account_module/goods_purchase', 'product_line/1'): -98,
        },
         budget_line.getAvailableBudgetDict())
 
+  def test_consumption_category_variation_summary(self):
+    budget_model = self.portal.budget_model_module.newContent(
+                            portal_type='Budget Model')
+    budget_model.newContent(
+                    portal_type='Category Budget Variation',
+                    int_index=1,
+                    budget_variation='budget_cell',
+                    inventory_axis='section_category',
+                    variation_base_category='group',)
+    budget_model.newContent(
+                    portal_type='Node Budget Variation',
+                    int_index=2,
+                    budget_variation='budget_cell',
+                    inventory_axis='node',
+                    variation_base_category='source',
+                    aggregate_value_list=(
+                      self.portal.account_module.goods_purchase,
+                      self.portal.account_module.fixed_assets,
+                    ))
+    budget = self.portal.budget_module.newContent(
+                    portal_type='Budget',
+                    start_date_range_min=DateTime(2000, 1, 1),
+                    start_date_range_max=DateTime(2000, 12, 31),
+                    specialise_value=budget_model)
+
+    budget_line = budget.newContent(portal_type='Budget Line',)
+
+    # set the range, this will adjust the matrix
+    budget_line.edit(
+        variation_category_list=(
+          'source/account_module/goods_purchase',
+          'group/demo_group',
+          'group/demo_group/sub1',
+          ))
+    
+    form = budget_line.BudgetLine_view
+    self.portal.REQUEST.other.update(
+        dict(AUTHENTICATED_USER=getSecurityManager().getUser(),
+
+             field_membership_criterion_base_category_list=
+        form.membership_criterion_base_category_list.get_value('default'),
+             field_mapped_value_property_list=
+        form.mapped_value_property_list.get_value('default'),
+
+             field_matrixbox_quantity_cell_0_0_0="",
+             field_matrixbox_membership_criterion_category_list_cell_0_0_0=[],
+             field_matrixbox_quantity_cell_1_0_0="500",
+             field_matrixbox_membership_criterion_category_list_cell_1_0_0=[
+               'group/demo_group/sub1',
+               'source/account_module/goods_purchase', ],
+        ))
+    budget_line.Base_edit(form_id=form.getId())
+
+    self.assertEquals(1, len(budget_line.contentValues()))
+
+    self.assertEquals(
+        dict(from_date=DateTime(2000, 1, 1),
+             at_date=DateTime(2000, 12, 31).latestTime(),
+             node_uid=[self.portal.account_module.goods_purchase.getUid(),],
+             section_category=['group/demo_group',
+                               'group/demo_group/sub1'],
+             group_by_node=True,
+             group_by_section_category=True,
+             ),
+        budget_model.getInventoryListQueryDict(budget_line))
+
+
+    atransaction = self.portal.accounting_module.newContent(
+                  portal_type='Accounting Transaction',
+                  resource_value=self.portal.currency_module.euro,
+                  source_section_value=self.portal.organisation_module.my_organisation,
+                  start_date=DateTime(2000, 1, 2))
+    atransaction.newContent(
+                  portal_type='Accounting Transaction Line',
+                  source_value=self.portal.account_module.goods_purchase,
+                  source_debit=100)
+    atransaction.newContent(
+                  portal_type='Accounting Transaction Line',
+                  source_value=self.portal.account_module.fixed_assets,
+                  source_credit=100)
+    atransaction.stop()
+
+    transaction.commit()
+    self.tic()
+
+    self.assertEquals(
+      {('group/demo_group/sub1', 'source/account_module/goods_purchase'): 100.0,
+       ('group/demo_group', 'source/account_module/goods_purchase'): 100.0,},
+       budget_line.getConsumedBudgetDict())
+
+    self.assertEquals(
+      {('group/demo_group/sub1', 'source/account_module/goods_purchase'): 100.0,
+       ('group/demo_group', 'source/account_module/goods_purchase'): 100.0,},
+       budget_line.getEngagedBudgetDict())
+
 
   def test_budget_consumption_report(self):
     budget_model = self.portal.budget_model_module.newContent(
@@ -837,9 +935,316 @@ class TestBudget(ERP5TypeTestCase):
       self.fail(''.join(err_list))
 
     
-  # Other TODOs:
+  def test_update_summary_cell_simple(self):
+    # test the action to create or update quantity on summary cells
+    budget_model = self.portal.budget_model_module.newContent(
+                            portal_type='Budget Model')
+    budget_model.newContent(
+                    portal_type='Category Budget Variation',
+                    int_index=1,
+                    budget_variation='budget_cell',
+                    inventory_axis='movement',
+                    variation_base_category='product_line',)
+    budget_model.newContent(
+                    portal_type='Node Budget Variation',
+                    int_index=2,
+                    budget_variation='budget_cell',
+                    inventory_axis='node',
+                    variation_base_category='source',
+                    aggregate_value_list=(
+                      self.portal.account_module.goods_purchase,
+                      self.portal.account_module.fixed_assets,
+                    ))
+    budget_model.newContent(
+                    portal_type='Category Budget Variation',
+                    int_index=3,
+                    budget_variation='budget_cell',
+                    inventory_axis='section_category',
+                    variation_base_category='group',)
+
+    budget = self.portal.budget_module.newContent(
+                    portal_type='Budget',
+                    start_date_range_min=DateTime(2000, 1, 1),
+                    start_date_range_max=DateTime(2000, 12, 31),
+                    specialise_value=budget_model)
+
+    budget_line = budget.newContent(portal_type='Budget Line')
+
+    # set the range, this will adjust the matrix
+    budget_line.edit(
+        variation_category_list=(
+          'group/demo_group',
+          'group/demo_group/sub1',
+          'group/demo_group/sub2',
+          'source/account_module/goods_purchase',
+          'source/account_module/fixed_assets',
+          'product_line/1',
+          'product_line/1/1.1',
+          'product_line/1/1.2', ))
 
-  # section_category & summary
+    form = budget_line.BudgetLine_view
+    self.portal.REQUEST.other.update(
+        dict(AUTHENTICATED_USER=getSecurityManager().getUser(),
+
+             field_membership_criterion_base_category_list=
+        form.membership_criterion_base_category_list.get_value('default'),
+             field_mapped_value_property_list=
+        form.mapped_value_property_list.get_value('default'),
+            
+             # group/demo_group
+             field_matrixbox_quantity_cell_0_0_0="",
+             field_matrixbox_membership_criterion_category_list_cell_0_0_0=[],
+             field_matrixbox_quantity_cell_1_0_0="",
+             field_matrixbox_membership_criterion_category_list_cell_1_0_0=[],
+             field_matrixbox_quantity_cell_2_0_0="",
+             field_matrixbox_membership_criterion_category_list_cell_2_0_0=[],
+             field_matrixbox_quantity_cell_0_1_0="",
+             field_matrixbox_membership_criterion_category_list_cell_0_1_0=[],
+             field_matrixbox_quantity_cell_1_1_0="",
+             field_matrixbox_membership_criterion_category_list_cell_1_1_0=[],
+             # This is a summary cell, but we set a manual value.
+             field_matrixbox_quantity_cell_2_1_0="100",
+             field_matrixbox_membership_criterion_category_list_cell_2_1_0=[
+                'product_line/1/1.2',
+                'source/account_module/fixed_assets',
+                'group/demo_group',
+                ],
+
+             # group/demo_group/sub1
+             field_matrixbox_quantity_cell_0_0_1="",
+             field_matrixbox_membership_criterion_category_list_cell_0_0_1=[],
+             field_matrixbox_quantity_cell_1_0_1="1",
+             field_matrixbox_membership_criterion_category_list_cell_1_0_1=[
+                'product_line/1/1.1',
+                'source/account_module/goods_purchase',
+                'group/demo_group/sub1',
+                ],
+             field_matrixbox_quantity_cell_2_0_1="2",
+             field_matrixbox_membership_criterion_category_list_cell_2_0_1=[
+                'product_line/1/1.2',
+                'source/account_module/goods_purchase',
+                'group/demo_group/sub1',
+                ],
+             field_matrixbox_quantity_cell_0_1_1="",
+             field_matrixbox_membership_criterion_category_list_cell_0_1_1=[],
+             field_matrixbox_quantity_cell_1_1_1="3",
+             field_matrixbox_membership_criterion_category_list_cell_1_1_1=[
+                'product_line/1/1.1',
+                'source/account_module/fixed_assets',
+                'group/demo_group/sub1',
+               ],
+             field_matrixbox_quantity_cell_2_1_1="4",
+             field_matrixbox_membership_criterion_category_list_cell_2_1_1=[
+                'product_line/1/1.2',
+                'source/account_module/fixed_assets',
+                'group/demo_group/sub1',
+               ],
+
+             # group/demo_group/sub2
+             field_matrixbox_quantity_cell_0_0_2="",
+             field_matrixbox_membership_criterion_category_list_cell_0_0_2=[],
+             # we only have 1 cell here
+             field_matrixbox_quantity_cell_1_0_2="5",
+             field_matrixbox_membership_criterion_category_list_cell_1_0_2=[
+                  'product_line/1/1.1',
+                  'source/account_module/goods_purchase',
+                  'group/demo_group/sub2',
+                 ],
+             field_matrixbox_quantity_cell_2_0_2="",
+             field_matrixbox_membership_criterion_category_list_cell_2_0_2=[],
+             # we have no cells here
+             field_matrixbox_quantity_cell_0_1_2="",
+             field_matrixbox_membership_criterion_category_list_cell_0_1_2=[],
+             field_matrixbox_quantity_cell_1_1_2="",
+             field_matrixbox_membership_criterion_category_list_cell_1_1_2=[],
+             field_matrixbox_quantity_cell_2_1_2="",
+             field_matrixbox_membership_criterion_category_list_cell_2_1_2=[],
+        ))
+
+    budget_line.Base_edit(form_id=form.getId())
+
+    self.assertEquals(6, len(budget_line.contentValues()))
+
+    budget_line.BudgetLine_setQuantityOnSummaryCellList()
+
+    # summary cells have been created:
+    self.assertEquals(14, len(budget_line.contentValues()))
+
+    # those cells are aggregating
+    self.assertEquals(1+2, budget_line.getCell(
+                              'product_line/1',
+                              'source/account_module/goods_purchase',
+                              'group/demo_group/sub1',).getQuantity())
+    self.assertEquals(4+3, budget_line.getCell(
+                              'product_line/1',
+                              'source/account_module/fixed_assets',
+                              'group/demo_group/sub1',).getQuantity())
+    self.assertEquals(1+5, budget_line.getCell(
+                              'product_line/1/1.1',
+                              'source/account_module/goods_purchase',
+                              'group/demo_group',).getQuantity())
+    self.assertEquals(1+2+5, budget_line.getCell(
+                              'product_line/1',
+                              'source/account_module/goods_purchase',
+                              'group/demo_group',).getQuantity())
+
+    # the cell that we have modified is erased
+    self.assertEquals(4, budget_line.getCell(
+                              'product_line/1/1.2',
+                              'source/account_module/fixed_assets',
+                              'group/demo_group',).getQuantity())
+
+    # test all cells for complete coverage
+    self.assertEquals(6, budget_line.getCell(
+                              'product_line/1/1.1',
+                              'source/account_module/goods_purchase',
+                              'group/demo_group',).getQuantity())
+    self.assertEquals(2, budget_line.getCell(
+                              'product_line/1/1.2',
+                              'source/account_module/goods_purchase',
+                              'group/demo_group',).getQuantity())
+    self.assertEquals(3+4, budget_line.getCell(
+                              'product_line/1',
+                              'source/account_module/fixed_assets',
+                              'group/demo_group',).getQuantity())
+    self.assertEquals(3, budget_line.getCell(
+                              'product_line/1/1.1',
+                              'source/account_module/fixed_assets',
+                              'group/demo_group',).getQuantity())
+    self.assertEquals(4, budget_line.getCell(
+                              'product_line/1/1.2',
+                              'source/account_module/fixed_assets',
+                              'group/demo_group',).getQuantity())
+    self.assertEquals(5, budget_line.getCell(
+                              'product_line/1',
+                              'source/account_module/goods_purchase',
+                              'group/demo_group/sub2',).getQuantity())
+    
+    # change a cell quantity and call again
+    budget_cell = budget_line.getCell(
+        'product_line/1/1.2',
+        'source/account_module/goods_purchase',
+        'group/demo_group/sub1')
+    self.assertNotEquals(None, budget_cell)
+    self.assertEquals(2, budget_cell.getQuantity())
+    budget_cell.setQuantity(6)
+
+    budget_line.BudgetLine_setQuantityOnSummaryCellList()
+    self.assertEquals(14, len(budget_line.contentValues()))
+
+    self.assertEquals(1+6, budget_line.getCell(
+                              'product_line/1',
+                              'source/account_module/goods_purchase',
+                              'group/demo_group/sub1',).getQuantity())
+    self.assertEquals(4+3, budget_line.getCell(
+                              'product_line/1',
+                              'source/account_module/fixed_assets',
+                              'group/demo_group/sub1',).getQuantity())
+    self.assertEquals(1+5, budget_line.getCell(
+                              'product_line/1/1.1',
+                              'source/account_module/goods_purchase',
+                              'group/demo_group',).getQuantity())
+    self.assertEquals(1+6+5, budget_line.getCell(
+                              'product_line/1',
+                              'source/account_module/goods_purchase',
+                              'group/demo_group',).getQuantity())
+
+    
+  def test_update_summary_cell_non_strict_and_second_summary(self):
+    # test the action to create or update quantity on summary cells, variation
+    # which are strict are not updated, and multiple level summary does not
+    # aggregate again intermediate summaries
+    budget_model = self.portal.budget_model_module.newContent(
+                            portal_type='Budget Model')
+    budget_model.newContent(
+                    portal_type='Category Budget Variation',
+                    int_index=1,
+                    budget_variation='budget_cell',
+                    inventory_axis='movement_strict_membership',
+                    variation_base_category='product_line',)
+    budget_model.newContent(
+                    portal_type='Node Budget Variation',
+                    int_index=2,
+                    budget_variation='budget_cell',
+                    inventory_axis='node',
+                    variation_base_category='source',
+                    aggregate_value_list=(
+                      self.portal.account_module.goods_purchase,
+                      self.portal.account_module.fixed_assets,
+                    ))
+    budget_model.newContent(
+                    portal_type='Category Budget Variation',
+                    int_index=3,
+                    budget_variation='budget_cell',
+                    inventory_axis='node_category',
+                    variation_base_category='account_type',)
+
+    budget = self.portal.budget_module.newContent(
+                    portal_type='Budget',
+                    start_date_range_min=DateTime(2000, 1, 1),
+                    start_date_range_max=DateTime(2000, 12, 31),
+                    specialise_value=budget_model)
+
+    budget_line = budget.newContent(portal_type='Budget Line')
+
+    # set the range, this will adjust the matrix
+    budget_line.edit(
+        variation_category_list=(
+          'account_type/asset',
+          'account_type/asset/cash',
+          'account_type/asset/cash/bank',
+          'source/account_module/goods_purchase',
+          'product_line/1',
+          'product_line/1/1.1', ))
+    
+    form = budget_line.BudgetLine_view
+    self.portal.REQUEST.other.update(
+        dict(AUTHENTICATED_USER=getSecurityManager().getUser(),
+
+             field_membership_criterion_base_category_list=
+        form.membership_criterion_base_category_list.get_value('default'),
+             field_mapped_value_property_list=
+        form.mapped_value_property_list.get_value('default'),
+             field_matrixbox_quantity_cell_0_0_0="",
+             field_matrixbox_membership_criterion_category_list_cell_0_0_0=[],
+             field_matrixbox_quantity_cell_1_0_0="",
+             field_matrixbox_membership_criterion_category_list_cell_1_0_0=[],
+             field_matrixbox_quantity_cell_0_0_1="",
+             field_matrixbox_membership_criterion_category_list_cell_0_0_1=[],
+             field_matrixbox_quantity_cell_1_0_1="",
+             field_matrixbox_membership_criterion_category_list_cell_1_0_1=[],
+             field_matrixbox_quantity_cell_0_0_2="",
+             field_matrixbox_membership_criterion_category_list_cell_0_0_2=[],
+             field_matrixbox_quantity_cell_1_0_2="1",
+             field_matrixbox_membership_criterion_category_list_cell_1_0_2=[
+                 'product_line/1/1.1',
+                 'source/account_module/goods_purchase',
+                 'account_type/asset/cash/bank',
+               ],
+          ))
+    budget_line.Base_edit(form_id=form.getId())
+
+    self.assertEquals(1, len(budget_line.contentValues()))
+
+    budget_line.BudgetLine_setQuantityOnSummaryCellList()
+    self.assertEquals(3, len(budget_line.contentValues()))
+
+    budget_cell = budget_line.getCell(
+        'product_line/1/1.1',
+        'source/account_module/goods_purchase',
+        'account_type/asset/cash')
+    self.assertNotEquals(None, budget_cell)
+    self.assertEquals(1, budget_cell.getQuantity())
+
+    budget_cell = budget_line.getCell(
+        'product_line/1/1.1',
+        'source/account_module/goods_purchase',
+        'account_type/asset',)
+    self.assertNotEquals(None, budget_cell)
+    self.assertEquals(1, budget_cell.getQuantity())
+
+
+  # Other TODOs:
 
   # budget level variation and budget cell level variation for same inventory
   # axis
-- 
2.30.9


From 89f11153d9da097125d735cdacebfe88b2ee2293 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?J=C3=A9rome=20Perrin?= <jerome@nexedi.com>
Date: Tue, 27 Jul 2010 12:44:28 +0000
Subject: [PATCH 122/270] update budget consumption report to use
 BudgetLine_getConsumedBudgetDict and BudgetLine_getSummaryDimensionKeyDict

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@37283 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 .../Budget_getBudgetConsumptionReportData.xml | 87 ++++++++++++-------
 bt5/erp5_budget/bt/revision                   |  2 +-
 2 files changed, 57 insertions(+), 32 deletions(-)

diff --git a/bt5/erp5_budget/SkinTemplateItem/portal_skins/erp5_budget/Budget_getBudgetConsumptionReportData.xml b/bt5/erp5_budget/SkinTemplateItem/portal_skins/erp5_budget/Budget_getBudgetConsumptionReportData.xml
index 63a3753da9..e88563a4ec 100644
--- a/bt5/erp5_budget/SkinTemplateItem/portal_skins/erp5_budget/Budget_getBudgetConsumptionReportData.xml
+++ b/bt5/erp5_budget/SkinTemplateItem/portal_skins/erp5_budget/Budget_getBudgetConsumptionReportData.xml
@@ -119,15 +119,18 @@ if request.get(\'price_currency\'):\n
   target_currency_title = target_currency.getReference()\n
 \n
 \n
-def isVisibleCell(cell):\n
+def isVisibleCell(cell_key):\n
   # can this cell be viewed by this user ?\n
-  for category in cell.getMembershipCriterionCategoryList():\n
+  for category in cell_key:\n
     if category.startswith(\'group/\'):\n
       if not category.startswith(defined_group):\n
         return False\n
   return True\n
 \n
 \n
+\n
+\n
+\n
 # in this report, level 1 is the budget line structure,\n
 # level 2 is the first variation category\n
 # level 3 is the second variation category\n
@@ -135,6 +138,8 @@ def isVisibleCell(cell):\n
 for budget in budget_list:\n
 \n
   if target_currency is not None:\n
+    # FIXME: this target currency support is not supported and have to be\n
+    # rewritten / removed\n
     conversion_ratio = target_currency.getPrice(\n
          context=budget.asContext(\n
                 categories=[\n
@@ -153,7 +158,7 @@ for budget in budget_list:\n
                         resource_title=budget.getResource() and\n
                                  budget.getResourceReference()))\n
 \n
-  # XXX to get the count of lines correct (for the print range)\n
+  # To get the count of lines correct (for the print range)\n
   if target_currency_title:\n
     line_list.append(dict())\n
 \n
@@ -166,7 +171,14 @@ for budget in budget_list:\n
     \n
     level_1_line_list = []\n
 \n
+    consumed_budget_dict = budget_line.getConsumedBudgetDict()\n
+    engaged_budget_dict = budget_line.getEngagedBudgetDict()\n
     budget_line_cell_range = budget_line.BudgetLine_asCellRange()\n
+    budget_line_as_cell_range_matrixbox =\\\n
+          budget_line.BudgetLine_asCellRange(matrixbox=1)\n
+    \n
+    dependant_dimension_dict = budget_line.BudgetLine_getSummaryDimensionKeyDict()\n
+\n
     if len(budget_line_cell_range) == 0:\n
       continue\n
     if len(budget_line_cell_range) == 1:\n
@@ -192,9 +204,8 @@ for budget in budget_list:\n
     cell_style_dict = {budget_line.getResource(base=1): \'Level2\'}\n
     cell_depth_dict = {budget_line.getResource(base=1): 0}\n
 \n
+    # calculate the depth for styling\n
     min_depth = 100\n
-    budget_line_as_cell_range_matrixbox =\\\n
-        budget_line.BudgetLine_asCellRange(matrixbox=1)\n
     for cell_range_list in budget_line_as_cell_range_matrixbox:\n
       for category, title in cell_range_list:\n
         if category in level_2_variation_category_list:\n
@@ -218,12 +229,6 @@ for budget in budget_list:\n
             cell_style_dict[category] = \'Level2.3\'\n
           else:\n
             cell_style_dict[category] = \'Level2\'\n
-\n
-    # We\'ll only sum level 2 budget cells if they are the shallowest in the\n
-    # category tree\n
-    higher_depth = min_depth\n
-    if cell_depth_dict:\n
-      higher_depth = min(cell_depth_dict.values())\n
 \n
     sign = budget_line.BudgetLine_getConsumptionSign()\n
 \n
@@ -238,7 +243,7 @@ for budget in budget_list:\n
                                 title=cell_name_dict[level_2_category],\n
                                 style=cell_style_dict[level_2_category])]\n
 \n
-      is_higher_level2 = cell_depth_dict[level_2_category] == higher_depth\n
+      is_higher_level2 = level_2_category not in dependant_dimension_dict\n
 \n
       for level_3_category in level_3_variation_category_list:\n
         total_level_3_initial_budget = 0\n
@@ -249,6 +254,8 @@ for budget in budget_list:\n
 \n
         level_3_line_list = [dict(is_level_3=True,\n
                                   title=cell_name_dict[level_3_category],)]\n
+\n
+        is_higher_level3 = level_3_category not in dependant_dimension_dict\n
 \n
         for level_4_category in level_4_variation_category_list:\n
           # TODO: maybe fail if only 1 dimension ...\n
@@ -256,36 +263,50 @@ for budget in budget_list:\n
             cell_key = (level_3_category, level_2_category)\n
           else:\n
             cell_key = (level_4_category, level_3_category, level_2_category)\n
- \n
+          \n
+          if not isVisibleCell(cell_key):\n
+            continue\n
+\n
+          consumed_budget = consumed_budget_dict.get(cell_key, None)\n
+          engaged_budget = engaged_budget_dict.get(cell_key, None)\n
           cell = budget_line.getCell(*cell_key)\n
-          if cell is None or not isVisibleCell(cell):\n
+          if cell is None \\\n
+              and consumed_budget is None \\\n
+              and engaged_budget is None:\n
             continue\n
 \n
-          initial_budget = cell.getQuantity() * sign\n
+          if not consumed_budget:\n
+            consumed_budget = 0\n
+          if not engaged_budget:\n
+            engaged_budget = 0\n
+\n
+          initial_budget = None\n
+          if cell is not None:\n
+            initial_budget = cell.getQuantity() * sign\n
 \n
           # XXX don\'t calculate current balance unless we use budget\n
           # transactions\n
           current_budget = initial_budget #cell.getCurrentBalance() * sign\n
 \n
-          engaged_budget = cell.getEngagedBudget()\n
 \n
           # XXX stupid optimisation that may not always be true: \n
           # if there\'s no engaged budget, there\'s no consumed budget\n
           if engaged_budget:\n
-            consumed_budget = cell.getConsumedBudget()\n
             # XXX calculate manually getAvailableBudget, because it calls\n
             # getEngagedBudget again\n
             # available_budget = cell.getAvailableBudget()\n
-            available_budget = current_budget - engaged_budget\n
+            available_budget = (current_budget or 0) - engaged_budget\n
           else:\n
-            consumed_budget = 0\n
             available_budget = current_budget\n
           \n
-          total_level_3_initial_budget += initial_budget\n
-          total_level_3_current_budget += current_budget\n
+          if initial_budget:\n
+            total_level_3_initial_budget += initial_budget\n
+          if current_budget:\n
+            total_level_3_current_budget += current_budget\n
           total_level_3_engaged_budget += engaged_budget\n
           total_level_3_consumed_budget += consumed_budget\n
-          total_level_3_available_budget += available_budget\n
+          if available_budget:\n
+            total_level_3_available_budget += available_budget\n
 \n
           consumed_ratio = 0\n
           if current_budget:\n
@@ -302,11 +323,12 @@ for budget in budget_list:\n
                                           consumed_ratio=consumed_ratio))\n
 \n
 \n
-        total_level_2_initial_budget += total_level_3_initial_budget\n
-        total_level_2_current_budget += total_level_3_current_budget\n
-        total_level_2_engaged_budget += total_level_3_engaged_budget\n
-        total_level_2_consumed_budget += total_level_3_consumed_budget\n
-        total_level_2_available_budget += total_level_2_available_budget\n
+        if is_higher_level3:\n
+          total_level_2_initial_budget += total_level_3_initial_budget\n
+          total_level_2_current_budget += total_level_3_current_budget\n
+          total_level_2_engaged_budget += total_level_3_engaged_budget\n
+          total_level_2_consumed_budget += total_level_3_consumed_budget\n
+          total_level_2_available_budget += total_level_2_available_budget\n
 \n
         if len(level_3_line_list) > 1 or level_4_category is None:\n
           consumed_ratio = 0\n
@@ -451,7 +473,11 @@ return pformat(line_list)\n
                             <string>total_level_1_consumed_budget</string>
                             <string>total_level_1_available_budget</string>
                             <string>level_1_line_list</string>
+                            <string>consumed_budget_dict</string>
+                            <string>engaged_budget_dict</string>
                             <string>budget_line_cell_range</string>
+                            <string>budget_line_as_cell_range_matrixbox</string>
+                            <string>dependant_dimension_dict</string>
                             <string>len</string>
                             <string>level_2_variation_category_list</string>
                             <string>level_3_variation_category_list</string>
@@ -461,12 +487,10 @@ return pformat(line_list)\n
                             <string>cell_style_dict</string>
                             <string>cell_depth_dict</string>
                             <string>min_depth</string>
-                            <string>budget_line_as_cell_range_matrixbox</string>
                             <string>cell_range_list</string>
                             <string>min</string>
                             <string>_write_</string>
                             <string>depth</string>
-                            <string>higher_depth</string>
                             <string>sign</string>
                             <string>level_2_category</string>
                             <string>total_level_2_initial_budget</string>
@@ -483,14 +507,15 @@ return pformat(line_list)\n
                             <string>total_level_3_consumed_budget</string>
                             <string>total_level_3_available_budget</string>
                             <string>level_3_line_list</string>
+                            <string>is_higher_level3</string>
                             <string>level_4_category</string>
                             <string>cell_key</string>
+                            <string>consumed_budget</string>
+                            <string>engaged_budget</string>
                             <string>_apply_</string>
                             <string>cell</string>
                             <string>initial_budget</string>
                             <string>current_budget</string>
-                            <string>engaged_budget</string>
-                            <string>consumed_budget</string>
                             <string>available_budget</string>
                             <string>_inplacevar_</string>
                             <string>consumed_ratio</string>
diff --git a/bt5/erp5_budget/bt/revision b/bt5/erp5_budget/bt/revision
index 75af06ed67..272a4581e9 100644
--- a/bt5/erp5_budget/bt/revision
+++ b/bt5/erp5_budget/bt/revision
@@ -1 +1 @@
-315
\ No newline at end of file
+316
\ No newline at end of file
-- 
2.30.9


From f15f80b349ae2f8089805d9271b0f7d2acc4c383 Mon Sep 17 00:00:00 2001
From: Lucas Carvalho <lucas@nexedi.com>
Date: Tue, 27 Jul 2010 13:01:53 +0000
Subject: [PATCH 123/270] Added include_language argument. Sometimes we don't
 need the language on the url.

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@37284 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 .../tiolive_base/ERP5Site_getTioLiveSiteRootUrl.xml   | 11 +++++++----
 bt5/tiolive_base/bt/revision                          |  2 +-
 2 files changed, 8 insertions(+), 5 deletions(-)

diff --git a/bt5/tiolive_base/SkinTemplateItem/portal_skins/tiolive_base/ERP5Site_getTioLiveSiteRootUrl.xml b/bt5/tiolive_base/SkinTemplateItem/portal_skins/tiolive_base/ERP5Site_getTioLiveSiteRootUrl.xml
index fd2d6650cb..8f2cd1b21e 100644
--- a/bt5/tiolive_base/SkinTemplateItem/portal_skins/tiolive_base/ERP5Site_getTioLiveSiteRootUrl.xml
+++ b/bt5/tiolive_base/SkinTemplateItem/portal_skins/tiolive_base/ERP5Site_getTioLiveSiteRootUrl.xml
@@ -64,7 +64,7 @@ language = context.Localizer.get_selected_language()\n
 # websites are usually not included in the url. But this\n
 # script is also used in tiolive instances, and from them\n
 # it is impossible to have the configuration of the web site\n
-if language is not None:\n
+if language is not None and include_language:\n
   root_url = "%s/%s" % (root_url, language)\n
   \n
 return root_url\n
@@ -78,7 +78,7 @@ return root_url\n
         </item>
         <item>
             <key> <string>_params</string> </key>
-            <value> <string></string> </value>
+            <value> <string>include_language=1</string> </value>
         </item>
         <item>
             <key> <string>errors</string> </key>
@@ -98,12 +98,13 @@ return root_url\n
                   <dictionary>
                     <item>
                         <key> <string>co_argcount</string> </key>
-                        <value> <int>0</int> </value>
+                        <value> <int>1</int> </value>
                     </item>
                     <item>
                         <key> <string>co_varnames</string> </key>
                         <value>
                           <tuple>
+                            <string>include_language</string>
                             <string>_getattr_</string>
                             <string>context</string>
                             <string>root_url</string>
@@ -120,7 +121,9 @@ return root_url\n
         <item>
             <key> <string>func_defaults</string> </key>
             <value>
-              <none/>
+              <tuple>
+                <int>1</int>
+              </tuple>
             </value>
         </item>
         <item>
diff --git a/bt5/tiolive_base/bt/revision b/bt5/tiolive_base/bt/revision
index 832332893a..3d9aebb2cc 100644
--- a/bt5/tiolive_base/bt/revision
+++ b/bt5/tiolive_base/bt/revision
@@ -1 +1 @@
-67
\ No newline at end of file
+68
\ No newline at end of file
-- 
2.30.9


From 9e539e2fd62d59e3465d2d026dd9e84ba693db0e Mon Sep 17 00:00:00 2001
From: Lucas Carvalho <lucas@nexedi.com>
Date: Tue, 27 Jul 2010 13:02:57 +0000
Subject: [PATCH 124/270] Language is not required on the url.

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@37285 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 .../tiolive_base/ERP5Site_redirectToTioLiveChat.xml             | 2 +-
 .../tiolive_base/ERP5Site_redirectToTioLiveMail.xml             | 2 +-
 bt5/tiolive_base/bt/revision                                    | 2 +-
 3 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/bt5/tiolive_base/SkinTemplateItem/portal_skins/tiolive_base/ERP5Site_redirectToTioLiveChat.xml b/bt5/tiolive_base/SkinTemplateItem/portal_skins/tiolive_base/ERP5Site_redirectToTioLiveChat.xml
index c3cef68d58..10f5d825b7 100644
--- a/bt5/tiolive_base/SkinTemplateItem/portal_skins/tiolive_base/ERP5Site_redirectToTioLiveChat.xml
+++ b/bt5/tiolive_base/SkinTemplateItem/portal_skins/tiolive_base/ERP5Site_redirectToTioLiveChat.xml
@@ -54,7 +54,7 @@
         <item>
             <key> <string>_body</string> </key>
             <value> <string>portal = context.getPortalObject()\n
-return container.REQUEST.RESPONSE.redirect(\'%s/chat\' % portal.ERP5Site_getTioLiveSiteRootUrl())\n
+return container.REQUEST.RESPONSE.redirect(\'%s/chat\' % portal.ERP5Site_getTioLiveSiteRootUrl(include_language=0))\n
 </string> </value>
         </item>
         <item>
diff --git a/bt5/tiolive_base/SkinTemplateItem/portal_skins/tiolive_base/ERP5Site_redirectToTioLiveMail.xml b/bt5/tiolive_base/SkinTemplateItem/portal_skins/tiolive_base/ERP5Site_redirectToTioLiveMail.xml
index 4ad3d08a94..a7fd885f1c 100644
--- a/bt5/tiolive_base/SkinTemplateItem/portal_skins/tiolive_base/ERP5Site_redirectToTioLiveMail.xml
+++ b/bt5/tiolive_base/SkinTemplateItem/portal_skins/tiolive_base/ERP5Site_redirectToTioLiveMail.xml
@@ -54,7 +54,7 @@
         <item>
             <key> <string>_body</string> </key>
             <value> <string>portal = context.getPortalObject()\n
-return container.REQUEST.RESPONSE.redirect(\'%s/mail\' % portal.ERP5Site_getTioLiveSiteRootUrl())\n
+return container.REQUEST.RESPONSE.redirect(\'%s/mail\' % portal.ERP5Site_getTioLiveSiteRootUrl(include_language=0))\n
 </string> </value>
         </item>
         <item>
diff --git a/bt5/tiolive_base/bt/revision b/bt5/tiolive_base/bt/revision
index 3d9aebb2cc..8c0474e323 100644
--- a/bt5/tiolive_base/bt/revision
+++ b/bt5/tiolive_base/bt/revision
@@ -1 +1 @@
-68
\ No newline at end of file
+69
\ No newline at end of file
-- 
2.30.9


From 2149c76894610e9c00d19b429f9e735348c65447 Mon Sep 17 00:00:00 2001
From: Lucas Carvalho <lucas@nexedi.com>
Date: Tue, 27 Jul 2010 13:05:13 +0000
Subject: [PATCH 125/270] Added new actions. Now the customer can use My
 Favourites to navigate between his instances.

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@37286 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 .../ERP5Site_redirectToTioLiveInstance.xml          | 13 ++++++++-----
 .../tiolive_base/navigation_box_render.xml          |  6 ++++++
 bt5/tiolive_base/bt/revision                        |  2 +-
 3 files changed, 15 insertions(+), 6 deletions(-)

diff --git a/bt5/tiolive_base/SkinTemplateItem/portal_skins/tiolive_base/ERP5Site_redirectToTioLiveInstance.xml b/bt5/tiolive_base/SkinTemplateItem/portal_skins/tiolive_base/ERP5Site_redirectToTioLiveInstance.xml
index 6469345504..3358c279b9 100644
--- a/bt5/tiolive_base/SkinTemplateItem/portal_skins/tiolive_base/ERP5Site_redirectToTioLiveInstance.xml
+++ b/bt5/tiolive_base/SkinTemplateItem/portal_skins/tiolive_base/ERP5Site_redirectToTioLiveInstance.xml
@@ -54,8 +54,8 @@
         <item>
             <key> <string>_body</string> </key>
             <value> <string>portal = context.getPortalObject()\n
-return container.REQUEST.RESPONSE.redirect(\'%s/instance\'\n
-                                            %portal.ERP5Site_getTioLiveSiteRootUrl())\n
+return container.REQUEST.RESPONSE.redirect(\'%s/%s\'\n
+                                            % (portal.ERP5Site_getTioLiveSiteRootUrl(), site_id))\n
 </string> </value>
         </item>
         <item>
@@ -66,7 +66,7 @@ return container.REQUEST.RESPONSE.redirect(\'%s/instance\'\n
         </item>
         <item>
             <key> <string>_params</string> </key>
-            <value> <string></string> </value>
+            <value> <string>site_id=\'instance\'</string> </value>
         </item>
         <item>
             <key> <string>errors</string> </key>
@@ -86,12 +86,13 @@ return container.REQUEST.RESPONSE.redirect(\'%s/instance\'\n
                   <dictionary>
                     <item>
                         <key> <string>co_argcount</string> </key>
-                        <value> <int>0</int> </value>
+                        <value> <int>1</int> </value>
                     </item>
                     <item>
                         <key> <string>co_varnames</string> </key>
                         <value>
                           <tuple>
+                            <string>site_id</string>
                             <string>_getattr_</string>
                             <string>context</string>
                             <string>portal</string>
@@ -107,7 +108,9 @@ return container.REQUEST.RESPONSE.redirect(\'%s/instance\'\n
         <item>
             <key> <string>func_defaults</string> </key>
             <value>
-              <none/>
+              <tuple>
+                <string>instance</string>
+              </tuple>
             </value>
         </item>
         <item>
diff --git a/bt5/tiolive_base/SkinTemplateItem/portal_skins/tiolive_base/navigation_box_render.xml b/bt5/tiolive_base/SkinTemplateItem/portal_skins/tiolive_base/navigation_box_render.xml
index 57d67339f0..f174841fa3 100644
--- a/bt5/tiolive_base/SkinTemplateItem/portal_skins/tiolive_base/navigation_box_render.xml
+++ b/bt5/tiolive_base/SkinTemplateItem/portal_skins/tiolive_base/navigation_box_render.xml
@@ -70,6 +70,12 @@
                         i18n:translate="" i18n:domain="ui"></option>\n
               </tal:block>\n
             </tal:block>\n
+            <option tal:condition="python: getattr(here, \'Base_getUserRemoteBusinessConfigurationReferenceList\', None) is not None"\n
+                      disabled="disabled">-- <tal:block tal:content="string: Your Instances" i18n:translate="" i18n:domain="ui" /> --</option>\n
+            <tal:block tal:condition="python: getattr(here, \'Base_getUserRemoteBusinessConfigurationReferenceList\', None) is not None"\n
+                       tal:repeat="instance_id python: here.Base_getUserRemoteBusinessConfigurationReferenceList()">\n
+              <option tal:attributes="value python: \'%s/%s\' % (here.ERP5Site_getTioLiveSiteRootUrl(include_language=0), instance_id)"><tal:block tal:content="python: \'Go to %s\' % instance_id" i18n:translate="" i18n:domain="ui"></tal:block></option>\n
+            </tal:block>\n
             <tal:block tal:condition="user_actions">\n
               <option disabled="disabled">-- <tal:block i18n:translate="" i18n:domain="ui">User</tal:block> --</option>\n
               <option tal:repeat="action user_actions"\n
diff --git a/bt5/tiolive_base/bt/revision b/bt5/tiolive_base/bt/revision
index 8c0474e323..d7765fe47e 100644
--- a/bt5/tiolive_base/bt/revision
+++ b/bt5/tiolive_base/bt/revision
@@ -1 +1 @@
-69
\ No newline at end of file
+70
\ No newline at end of file
-- 
2.30.9


From db9309ad2a848f710d5b3220cf9e027f9181bc3f Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?J=C3=A9rome=20Perrin?= <jerome@nexedi.com>
Date: Tue, 27 Jul 2010 13:36:20 +0000
Subject: [PATCH 126/270] new messages from erp5_budget

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@37287 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 .../fr/erp5_ui/translation.po                              | 7 ++++++-
 bt5/erp5_l10n_fr/bt/revision                               | 2 +-
 2 files changed, 7 insertions(+), 2 deletions(-)

diff --git a/bt5/erp5_l10n_fr/MessageTranslationTemplateItem/fr/erp5_ui/translation.po b/bt5/erp5_l10n_fr/MessageTranslationTemplateItem/fr/erp5_ui/translation.po
index 101878fd1e..86e73a2367 100644
--- a/bt5/erp5_l10n_fr/MessageTranslationTemplateItem/fr/erp5_ui/translation.po
+++ b/bt5/erp5_l10n_fr/MessageTranslationTemplateItem/fr/erp5_ui/translation.po
@@ -104,6 +104,9 @@ msgstr ""
 msgid "${ungrouped_line_count} lines ungrouped."
 msgstr "${ungrouped_line_count} lignes délettrées."
 
+msgid "${updated_cell_count} budget cells updated."
+msgstr "${updated_cell_count} cellules mises à jour."
+
 msgid "${year} years old"
 msgstr "Âgé de ${year} ans"
 
@@ -12056,6 +12059,9 @@ msgstr "Établir le lien"
 msgid "Update Repository Information"
 msgstr "Mettre à jour les informations des dépôts"
 
+msgid "Update Summary Budget Cells"
+msgstr "Calculer les cellules totalisatrices"
+
 msgid "Update Tools"
 msgstr "Mettre à jour les outils"
 
@@ -12957,4 +12963,3 @@ msgstr "la largeur en pixel des micro-images."
 
 msgid "the width in pixel of nano image"
 msgstr "La largeur en pixel des images nano."
-
diff --git a/bt5/erp5_l10n_fr/bt/revision b/bt5/erp5_l10n_fr/bt/revision
index 83248fb9df..aa59885c83 100644
--- a/bt5/erp5_l10n_fr/bt/revision
+++ b/bt5/erp5_l10n_fr/bt/revision
@@ -1 +1 @@
-142
\ No newline at end of file
+143
\ No newline at end of file
-- 
2.30.9


From 1e7c3f9fd45b5e80c2de525665ae253c6344c364 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?J=C3=A9rome=20Perrin?= <jerome@nexedi.com>
Date: Tue, 27 Jul 2010 14:28:12 +0000
Subject: [PATCH 127/270] small optimizations:  - use 'key in dict' rather than
 has_key  - create invariant "base_id" dict outside of the loop

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@37288 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 product/ERP5Form/MatrixBox.py | 15 ++++++---------
 1 file changed, 6 insertions(+), 9 deletions(-)

diff --git a/product/ERP5Form/MatrixBox.py b/product/ERP5Form/MatrixBox.py
index 937c7593c2..5da7b62986 100644
--- a/product/ERP5Form/MatrixBox.py
+++ b/product/ERP5Form/MatrixBox.py
@@ -287,6 +287,7 @@ class MatrixBoxWidget(Widget.Widget):
             extra_dimension_index = '_'+'_'.join(map(str, extra_dimension_position))
           # Create one table per tab
           k = 0
+          kwd = dict(base_id=cell_base_id)
           for tab in tabs:
             tab_id = tab[0]
             if (tab_id is not None) and \
@@ -358,8 +359,6 @@ class MatrixBoxWidget(Widget.Widget):
                   kw = [l[0], c[0]]
                 else:
                   kw = [l[0], c[0]] + tab_id + extra_dimension_category_list
-                kwd = {}
-                kwd['base_id'] = cell_base_id
                 cell = cell_getter_method(*kw, **kwd)
                 REQUEST['cell'] = cell
                 REQUEST['cell_index'] = kw
@@ -415,7 +414,7 @@ class MatrixBoxWidget(Widget.Widget):
                              cell_position=((i,j,k)+extra_dimension_position)):
                             cell_html = "<a href='%s'>%s</a>" % (cell_url,
                                                                  cell_html)
-                        if field_errors.has_key(key):
+                        if key in field_errors:
                           # Display error message if this cell has an error
                           has_error = True
                           cell_body += '<span class="input">%s</span>%s' % (
@@ -440,7 +439,7 @@ class MatrixBoxWidget(Widget.Widget):
                                                     attribute_value)
                         else:
                           display_value = attribute_value
-                        if field_errors.has_key(key):
+                        if key in field_errors:
                           # Display error message if this cell has an error
                           has_error = True
                           cell_body += '<span class="input">%s</span>%s' % (
@@ -566,6 +565,7 @@ class MatrixBoxValidator(Validator.Validator):
             extra_dimension_index = '_'+'_'.join(map(str, extra_dimension_position))
           k = 0
           # Create one table per tab
+          kwd = dict(base_id=cell_base_id)
           for tab_id in tab_ids:
             if (tab_id is not None) and \
                (not isinstance(tab_id, (list, tuple))):
@@ -583,8 +583,6 @@ class MatrixBoxValidator(Validator.Validator):
                 else:
                   kw = [l, c] + tab_id + extra_dimension_category_list
                 kw = tuple(kw)
-                kwd = {}
-                kwd['base_id'] = cell_base_id
                 cell = cell_getter_method(*kw, **kwd)
                 
                 for attribute_id in editable_attribute_ids:
@@ -609,9 +607,8 @@ class MatrixBoxValidator(Validator.Validator):
                           and not my_field.get_value('hidden'):
                         # Only validate modified values from visible fields
                         result.setdefault(kw, {})[attribute_id] = value
-                      else:
-                        if result.has_key(kw):
-                          result[kw][attribute_id] = value
+                      elif kw in result:
+                        result[kw][attribute_id] = value
                 j += 1
               i += 1
             k += 1
-- 
2.30.9


From 280783b159aef19654cc1228be66194dc808d795 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C5=81ukasz=20Nowak?= <luke@nexedi.com>
Date: Tue, 27 Jul 2010 14:29:16 +0000
Subject: [PATCH 128/270]  - provide utility class which can be used to check
 if subcontent of some object are reindexed upon parent reindexation, by
 checking list of to-be-indexed paths

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@37289 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 product/ERP5Type/tests/utils.py | 50 +++++++++++++++++++++++++++++++++
 1 file changed, 50 insertions(+)

diff --git a/product/ERP5Type/tests/utils.py b/product/ERP5Type/tests/utils.py
index c0d4923473..be82944084 100644
--- a/product/ERP5Type/tests/utils.py
+++ b/product/ERP5Type/tests/utils.py
@@ -40,6 +40,8 @@ import Products.ERP5Type
 from Products.MailHost.MailHost import MailHost
 from email import message_from_string
 import backportUnittest
+from Products.ERP5Type.Globals import PersistentMapping
+from Products.ZSQLCatalog.SQLCatalog import Catalog
 
 class FileUpload(file):
   """Act as an uploaded file.
@@ -542,3 +544,51 @@ def updateCellList(portal, line, cell_type, cell_range_method, cell_dict_list):
       cell.setMembershipCriterionCategoryList(membership_criterion_category_list)
       cell.edit(predicate_category_list=category_list,
                 variation_category_list=category_list)
+
+def catalogObjectListWrapper(self, object_list, method_id_list=None,
+    disable_cache=0, check_uid=1, idxs=None):
+  """Wrapper to mark inside of portal object list of catalogged objects"""
+  import transaction
+  portal = self.getPortalObject()
+  for q in object_list:
+    portal.catalogged_object_path_dict[q.getPath()] = 1
+  transaction.commit()
+
+class SubcontentReindexingWrapper(object):
+  def wrap_catalogObjectList(self):
+    self.original_catalogObjectList = Catalog.catalogObjectList
+    Catalog.catalogObjectList = catalogObjectListWrapper
+
+  def unwrap_catalogObjectList(self):
+    Catalog.catalogObjectList = self.original_catalogObjectList
+
+  def _testSubContentReindexing(self, parent_document, children_document_list):
+    """Helper method which shall be called *before* tic or commit"""
+    # cleanup existing reindexing
+    transaction.commit()
+    self.tic()
+    parent_document.reindexObject()
+    self.portal.catalogged_object_path_dict = PersistentMapping()
+    transaction.commit()
+    expected_path_list = [q.getPath() for q in children_document_list +
+        [parent_document]]
+    try:
+      # wrap call to catalogObjectList
+      self.wrap_catalogObjectList()
+      self.stepTic()
+      self.assertSameSet(
+        self.portal.catalogged_object_path_dict.keys(),
+        expected_path_list
+      )
+      # do real assertions
+      self.portal.catalogged_object_path_dict = PersistentMapping()
+      transaction.commit()
+      parent_document.reindexObject()
+      self.stepTic()
+      self.assertSameSet(
+        self.portal.catalogged_object_path_dict.keys(),
+        expected_path_list
+      )
+    finally:
+      # unwrap catalogObjectList
+      self.unwrap_catalogObjectList()
-- 
2.30.9


From 11a775d335f377ae65774b30f0c83b436a43656b Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C5=81ukasz=20Nowak?= <luke@nexedi.com>
Date: Tue, 27 Jul 2010 14:30:26 +0000
Subject: [PATCH 129/270]  - reuse SubcontentReindexingWrapper instead of
 relaying on other parts of system to check only one thing - that subcontent
 of Trade Condition is reindexed upon trade condition self reindexation

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@37290 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 product/ERP5/tests/testTradeCondition.py | 9 ++++++++-
 1 file changed, 8 insertions(+), 1 deletion(-)

diff --git a/product/ERP5/tests/testTradeCondition.py b/product/ERP5/tests/testTradeCondition.py
index 5bf1ada3cc..b34df15273 100644
--- a/product/ERP5/tests/testTradeCondition.py
+++ b/product/ERP5/tests/testTradeCondition.py
@@ -32,8 +32,10 @@ import transaction
 from DateTime import DateTime
 
 from Products.ERP5Type.tests.ERP5TypeTestCase import ERP5TypeTestCase
+from Products.ZSQLCatalog.SQLCatalog import Catalog
+from Products.ERP5Type.tests.utils import SubcontentReindexingWrapper
 
-class TradeConditionTestCase(ERP5TypeTestCase):
+class TradeConditionTestCase(ERP5TypeTestCase, SubcontentReindexingWrapper):
   """Tests for Trade Conditions and Tax
   """
   def getBusinessTemplateList(self):
@@ -97,6 +99,11 @@ class TradeConditionTestCase(ERP5TypeTestCase):
     self.tic()
 
   def test_subcontent_supply_line_reindexing(self):
+    trade_condition = self.trade_condition_module.newContent(
+                            portal_type=self.trade_condition_type)
+    supply_line = trade_condition.newContent(portal_type=self.supply_line_type)
+    self._testSubContentReindexing(trade_condition, [supply_line])
+    return
     # If trade condition is modified, then supply lines must be reindexed
     another_resource = self.portal.product_module.newContent(portal_type='Product',
                                                              title='Another Resource')
-- 
2.30.9


From 913f2dd757bf92251ce6c6db130eafc26e2d51bd Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C5=81ukasz=20Nowak?= <luke@nexedi.com>
Date: Tue, 27 Jul 2010 14:37:17 +0000
Subject: [PATCH 130/270]  - factoring: use SubcontentReindexingWrapper

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@37291 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 product/ERP5/tests/testOrder.py | 50 ++-------------------------------
 1 file changed, 3 insertions(+), 47 deletions(-)

diff --git a/product/ERP5/tests/testOrder.py b/product/ERP5/tests/testOrder.py
index a638b5e4f8..d41f74c736 100644
--- a/product/ERP5/tests/testOrder.py
+++ b/product/ERP5/tests/testOrder.py
@@ -33,25 +33,15 @@ import os
 
 import transaction
 from Products.ERP5Type.tests.ERP5TypeTestCase import ERP5TypeTestCase
-from Products.ERP5Type.tests.utils import FileUpload
+from Products.ERP5Type.tests.utils import FileUpload,\
+    SubcontentReindexingWrapper
 from AccessControl.SecurityManagement import newSecurityManager
 from DateTime import DateTime
 from zLOG import LOG
 from Products.ERP5Type.tests.Sequence import SequenceList
 from Products.CMFCore.utils import getToolByName
-from Products.ERP5Type.Globals import PersistentMapping
-from Products.ZSQLCatalog.SQLCatalog import Catalog
 
-def catalogObjectListWrapper(self, object_list, method_id_list=None,
-    disable_cache=0, check_uid=1, idxs=None):
-  """Wrapper to mark inside of portal object list of catalogged objects"""
-  import transaction
-  portal = self.getPortalObject()
-  for q in object_list:
-    portal.catalogged_object_path_dict[q.getPath()] = 1
-  transaction.commit()
-
-class TestOrderMixin:
+class TestOrderMixin(SubcontentReindexingWrapper):
 
   default_quantity = 99
   default_price = 555
@@ -80,40 +70,6 @@ class TestOrderMixin:
     user = uf.getUserById('rc').__of__(uf)
     newSecurityManager(None, user)
 
-  def wrap_catalogObjectList(self):
-    self.original_catalogObjectList = Catalog.catalogObjectList
-    Catalog.catalogObjectList = catalogObjectListWrapper
-
-  def unwrap_catalogObjectList(self):
-    Catalog.catalogObjectList = self.original_catalogObjectList
-
-  def _testSubContentReindexing(self, parent_document, children_document_list):
-    """Helper method which shall be called *before* tic or commit"""
-    self.portal.catalogged_object_path_dict = PersistentMapping()
-    transaction.commit()
-    expected_path_list = [q.getPath() for q in children_document_list +
-        [parent_document]]
-    try:
-      # wrap call to catalogObjectList
-      self.wrap_catalogObjectList()
-      self.stepTic()
-      self.assertSameSet(
-        self.portal.catalogged_object_path_dict.keys(),
-        expected_path_list
-      )
-      # do real assertions
-      self.portal.catalogged_object_path_dict = PersistentMapping()
-      transaction.commit()
-      parent_document.reindexObject()
-      self.stepTic()
-      self.assertSameSet(
-        self.portal.catalogged_object_path_dict.keys(),
-        expected_path_list
-      )
-    finally:
-      # unwrap catalogObjectList
-      self.unwrap_catalogObjectList()
-
   def setUpPreferences(self):
     #create apparel variation preferences
     portal_preferences = self.getPreferenceTool()
-- 
2.30.9


From aaec0ba5d65dfad14fee3bf185ce202478697164 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?J=C3=A9rome=20Perrin?= <jerome@nexedi.com>
Date: Tue, 27 Jul 2010 14:38:46 +0000
Subject: [PATCH 131/270] fix a typo making select_dict working by accident

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@37292 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 product/ERP5/Tool/SimulationTool.py | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/product/ERP5/Tool/SimulationTool.py b/product/ERP5/Tool/SimulationTool.py
index 1b3c15a55b..03daff945b 100644
--- a/product/ERP5/Tool/SimulationTool.py
+++ b/product/ERP5/Tool/SimulationTool.py
@@ -453,8 +453,9 @@ class SimulationTool(BaseTool):
         select_dict = new_kw.get('select_dict', dict())
         related_key_select_expression_list = new_kw.pop(
                 'related_key_select_expression_list', [])
-        if related_key_select_expression_list:
-          select_dict[x] = '%s_%s' % (table, x)
+        for related_key_select in related_key_select_expression_list:
+          select_dict[related_key_select] = '%s_%s' % (table,
+                                                       related_key_select)
         new_kw['select_dict'] = select_dict
 
         # Column values
-- 
2.30.9


From 44751ebd954a6a6ee66ab2f7d42ba11f969dd3ff Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C5=81ukasz=20Nowak?= <luke@nexedi.com>
Date: Tue, 27 Jul 2010 14:40:35 +0000
Subject: [PATCH 132/270]  - fix docstring  - install in ERP5Type namespace

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@37293 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 product/ERP5/Interactor/RecursiveReindexInteractor.py | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

diff --git a/product/ERP5/Interactor/RecursiveReindexInteractor.py b/product/ERP5/Interactor/RecursiveReindexInteractor.py
index 7ebd7023ef..a1151b78ed 100644
--- a/product/ERP5/Interactor/RecursiveReindexInteractor.py
+++ b/product/ERP5/Interactor/RecursiveReindexInteractor.py
@@ -31,11 +31,10 @@ from Products.ERP5Type.Interactor.Interactor import Interactor
 
 class RecursiveReindexInteractor(Interactor):
   """
-  This interactor invokes reindex on Inventory document when its
-  subdocuments are modified.
+  This interactor invokes reindex of subobjects when parent document is reindexed
   """
   def install(self):
-    from Products.ERP5.Document.TradeCondition import TradeCondition
+    from Products.ERP5Type.Document.TradeCondition import TradeCondition
     self.on(TradeCondition.reindexObject).doAfter(self.recursiveReindexObject)
 
   def recursiveReindexObject(self, method_call_object, *args, **kw):
-- 
2.30.9


From af80fb5cffd570b9a9aeca545891e4cd2777dce8 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?J=C3=A9rome=20Perrin?= <jerome@nexedi.com>
Date: Tue, 27 Jul 2010 14:44:19 +0000
Subject: [PATCH 133/270] define getExplanationValue to silent errors during
 indexation

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@37294 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 product/ERP5/Document/BudgetCell.py | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/product/ERP5/Document/BudgetCell.py b/product/ERP5/Document/BudgetCell.py
index 0c68ae4d15..53d75bbe10 100644
--- a/product/ERP5/Document/BudgetCell.py
+++ b/product/ERP5/Document/BudgetCell.py
@@ -132,3 +132,8 @@ class BudgetCell(Predicate, MetaNode, Movement):
               "Did not find engaged budget script for portal type: %r" % \
               self.getPortalType()
 
+    security.declareProtected(Permissions.AccessContentsInformation,
+                              'getExplanationValue')
+    def getExplanationValue(self, default=None):
+      """Explanation has no meaning for a budget cell"""
+      return default
-- 
2.30.9


From 5ccbfd9be45de1a2b2c53c03106b301d8820dc25 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?J=C3=A9rome=20Perrin?= <jerome@nexedi.com>
Date: Tue, 27 Jul 2010 15:18:04 +0000
Subject: [PATCH 134/270] Fix testICal that was wrongly depending on machine
 timezone. When we render a DATE-TIME, we are using "FORM #2: DATE WITH UTC
 TIME" as defined by rfc2445, which means a date in UTC timezone. The test was
 setting dates using machine timezone, and later comparing the UTC rendering
 with those machine's timezone dates. Change the test to simply set UTC dates
 on documents.

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@37295 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 product/ERP5/tests/testICal.py | 22 ++++------------------
 1 file changed, 4 insertions(+), 18 deletions(-)

diff --git a/product/ERP5/tests/testICal.py b/product/ERP5/tests/testICal.py
index 5d8eec6ed6..c439b8c312 100644
--- a/product/ERP5/tests/testICal.py
+++ b/product/ERP5/tests/testICal.py
@@ -25,20 +25,6 @@
 #
 ##############################################################################
 
-"""
-  TIMEZONE WARNING
-  The ICal renderer does not take into account time zones, because clients can take care about it
-  for themselves, so we use GMT time.
-  This test assumes the person running the test is in the same time zone as me, which is usually true.
-  It will be fixed some day.
-  
-  I have been investigating this a little, DateTime module caches the timezone
-  very early in the initialisation process, so changing os.environ['TZ'] has
-  no effect. For now, the easiest is to set TZ environ variable to something
-  like 'Europe/France'
-
-"""
-
 import unittest
 
 import transaction
@@ -142,14 +128,14 @@ class TestICal(ERP5TypeTestCase):
     
     # set start date, description and change workflow state - new
     event.receive()
-    event.setStartDate('2007/08/15 10:30')
+    event.setStartDate('2007/08/15 08:30 UTC')
     event.setDescription('Event One description')
     transaction.commit()
     self.tic()
     
     feed_dict = self.getICalFeed(module)
-    self.assertEquals( # if this fail for you, try to set $TZ to Europe/Paris
-        feed_dict['DTSTART'], '20070815T083000Z')
+    # DSTART and DTEND are the date in UTC
+    self.assertEquals(feed_dict['DTSTART'], '20070815T083000Z')
     # if not set end date, it must be same as start date
     self.assertEquals(feed_dict['DTEND'], '20070815T083000Z')
     self.assertEquals(feed_dict['STATUS'], 'TENTATIVE')
@@ -166,7 +152,7 @@ class TestICal(ERP5TypeTestCase):
     
     # set stop date and change workflow state - assigned
     event.assign()
-    event.setStopDate('2007/08/15 15:30')
+    event.setStopDate('2007/08/15 13:30 UTC')
     transaction.commit()
     self.tic()
     
-- 
2.30.9


From 913ea07d4a34d15624e236eee5bfe3658e308600 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C5=81ukasz=20Nowak?= <luke@nexedi.com>
Date: Tue, 27 Jul 2010 15:19:25 +0000
Subject: [PATCH 135/270]  - decorate
 test_PersonDocumentWithMonovaluedLocalRole with expectedFailure, as its
 importance is low and shall be solved later

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@37296 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 product/ERP5Catalog/tests/testERP5Catalog.py | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/product/ERP5Catalog/tests/testERP5Catalog.py b/product/ERP5Catalog/tests/testERP5Catalog.py
index 423a0b5616..d1766ea854 100644
--- a/product/ERP5Catalog/tests/testERP5Catalog.py
+++ b/product/ERP5Catalog/tests/testERP5Catalog.py
@@ -45,7 +45,7 @@ from Products.ZSQLCatalog.ZSQLCatalog import HOT_REINDEXING_FINISHED_STATE,\
       HOT_REINDEXING_RECORDING_STATE, HOT_REINDEXING_DOUBLE_INDEXING_STATE
 from Products.CMFActivity.Errors import ActivityFlushError
 from Products.ZSQLCatalog.SQLCatalog import Query, ComplexQuery
-
+from Products.ERP5Type.tests.backportUnittest import expectedFailure
 
 try:
   from transaction import get as get_transaction
@@ -3524,6 +3524,9 @@ VALUES
       sql_catalog.sql_search_tables = current_sql_search_tables
       transaction.commit()
 
+  # Low priority bug, which needs a lot of time to be fixed
+  # Marked as expectedFailure
+  @expectedFailure
   def test_PersonDocumentWithMonovaluedLocalRole(self):
     """Test when user is added, which has local roles on own Person Document
 
-- 
2.30.9


From a61f1b21b039c77876054bc542e3d5bb485c45e7 Mon Sep 17 00:00:00 2001
From: Rafael Monnerat <rafael@nexedi.com>
Date: Tue, 27 Jul 2010 15:20:04 +0000
Subject: [PATCH 136/270] This behaviour is not expected yet, we don't use this
 export and build into same transaction into real life. More discussions are
 required to check it this is really a bug.

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@37297 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 product/ERP5/tests/testBusinessTemplate.py | 1 +
 1 file changed, 1 insertion(+)

diff --git a/product/ERP5/tests/testBusinessTemplate.py b/product/ERP5/tests/testBusinessTemplate.py
index dfbf9fc545..8983cb15cf 100644
--- a/product/ERP5/tests/testBusinessTemplate.py
+++ b/product/ERP5/tests/testBusinessTemplate.py
@@ -6976,6 +6976,7 @@ class TestBusinessTemplate(ERP5TypeTestCase, LogInterceptor):
     self.assertEquals(self.portal.exported_path,
         self.portal.portal_catalog.getResultValue(uid=uid))
 
+  @expectedFailure
   def test_build_and_export_bt5_into_same_transaction(self):
     """
       Copy, build and export a business template into the same transaction.
-- 
2.30.9


From 2b57a128fe1b69604334a04fb08922a6c8282749 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?J=C3=A9rome=20Perrin?= <jerome@nexedi.com>
Date: Tue, 27 Jul 2010 15:26:07 +0000
Subject: [PATCH 137/270] no need to set field editable or not. This check was
 somehow heavy

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@37298 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 .../matrixbox_destination_credit.xml          | 27 -----------------
 .../matrixbox_destination_debit.xml           | 20 +------------
 .../BudgetLine_view/matrixbox_quantity.xml    | 30 +------------------
 bt5/erp5_budget/bt/revision                   |  2 +-
 4 files changed, 3 insertions(+), 76 deletions(-)

diff --git a/bt5/erp5_budget/SkinTemplateItem/portal_skins/erp5_budget/BudgetLine_view/matrixbox_destination_credit.xml b/bt5/erp5_budget/SkinTemplateItem/portal_skins/erp5_budget/BudgetLine_view/matrixbox_destination_credit.xml
index d0ec0333fc..f5e1cc5128 100644
--- a/bt5/erp5_budget/SkinTemplateItem/portal_skins/erp5_budget/BudgetLine_view/matrixbox_destination_credit.xml
+++ b/bt5/erp5_budget/SkinTemplateItem/portal_skins/erp5_budget/BudgetLine_view/matrixbox_destination_credit.xml
@@ -14,7 +14,6 @@
             <value>
               <list>
                 <string>default</string>
-                <string>enabled</string>
               </list>
             </value>
         </item>
@@ -62,12 +61,6 @@
                       <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
                     </value>
                 </item>
-                <item>
-                    <key> <string>enabled</string> </key>
-                    <value>
-                      <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
-                    </value>
-                </item>
                 <item>
                     <key> <string>field_id</string> </key>
                     <value> <string></string> </value>
@@ -91,10 +84,6 @@
                     <key> <string>default</string> </key>
                     <value> <string></string> </value>
                 </item>
-                <item>
-                    <key> <string>enabled</string> </key>
-                    <value> <int>1</int> </value>
-                </item>
                 <item>
                     <key> <string>field_id</string> </key>
                     <value> <string>matrixbox_quantity</string> </value>
@@ -129,20 +118,4 @@
       </dictionary>
     </pickle>
   </record>
-  <record id="3" aka="AAAAAAAAAAM=">
-    <pickle>
-      <tuple>
-        <global name="TALESMethod" module="Products.Formulator.TALESField"/>
-        <tuple/>
-      </tuple>
-    </pickle>
-    <pickle>
-      <dictionary>
-        <item>
-            <key> <string>_text</string> </key>
-            <value> <string>python: \'destination_credit\' in zip(*context.BudgetLine_getEditablePropertyList())[0]</string> </value>
-        </item>
-      </dictionary>
-    </pickle>
-  </record>
 </ZopeData>
diff --git a/bt5/erp5_budget/SkinTemplateItem/portal_skins/erp5_budget/BudgetLine_view/matrixbox_destination_debit.xml b/bt5/erp5_budget/SkinTemplateItem/portal_skins/erp5_budget/BudgetLine_view/matrixbox_destination_debit.xml
index 4311d73861..5dd59b1be6 100644
--- a/bt5/erp5_budget/SkinTemplateItem/portal_skins/erp5_budget/BudgetLine_view/matrixbox_destination_debit.xml
+++ b/bt5/erp5_budget/SkinTemplateItem/portal_skins/erp5_budget/BudgetLine_view/matrixbox_destination_debit.xml
@@ -64,9 +64,7 @@
                 </item>
                 <item>
                     <key> <string>enabled</string> </key>
-                    <value>
-                      <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
-                    </value>
+                    <value> <string></string> </value>
                 </item>
                 <item>
                     <key> <string>field_id</string> </key>
@@ -129,20 +127,4 @@
       </dictionary>
     </pickle>
   </record>
-  <record id="3" aka="AAAAAAAAAAM=">
-    <pickle>
-      <tuple>
-        <global name="TALESMethod" module="Products.Formulator.TALESField"/>
-        <tuple/>
-      </tuple>
-    </pickle>
-    <pickle>
-      <dictionary>
-        <item>
-            <key> <string>_text</string> </key>
-            <value> <string>python: \'destination_debit\' in zip(*context.BudgetLine_getEditablePropertyList())[0]</string> </value>
-        </item>
-      </dictionary>
-    </pickle>
-  </record>
 </ZopeData>
diff --git a/bt5/erp5_budget/SkinTemplateItem/portal_skins/erp5_budget/BudgetLine_view/matrixbox_quantity.xml b/bt5/erp5_budget/SkinTemplateItem/portal_skins/erp5_budget/BudgetLine_view/matrixbox_quantity.xml
index 185e3cb78f..1926da9c2b 100644
--- a/bt5/erp5_budget/SkinTemplateItem/portal_skins/erp5_budget/BudgetLine_view/matrixbox_quantity.xml
+++ b/bt5/erp5_budget/SkinTemplateItem/portal_skins/erp5_budget/BudgetLine_view/matrixbox_quantity.xml
@@ -12,9 +12,7 @@
         <item>
             <key> <string>delegated_list</string> </key>
             <value>
-              <list>
-                <string>enabled</string>
-              </list>
+              <list/>
             </value>
         </item>
         <item>
@@ -55,12 +53,6 @@
             <key> <string>tales</string> </key>
             <value>
               <dictionary>
-                <item>
-                    <key> <string>enabled</string> </key>
-                    <value>
-                      <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
-                    </value>
-                </item>
                 <item>
                     <key> <string>field_id</string> </key>
                     <value> <string></string> </value>
@@ -80,10 +72,6 @@
             <key> <string>values</string> </key>
             <value>
               <dictionary>
-                <item>
-                    <key> <string>enabled</string> </key>
-                    <value> <int>1</int> </value>
-                </item>
                 <item>
                     <key> <string>field_id</string> </key>
                     <value> <string>matrixbox_quantity</string> </value>
@@ -102,20 +90,4 @@
       </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: \'quantity\' in zip(*context.BudgetLine_getEditablePropertyList())[0]</string> </value>
-        </item>
-      </dictionary>
-    </pickle>
-  </record>
 </ZopeData>
diff --git a/bt5/erp5_budget/bt/revision b/bt5/erp5_budget/bt/revision
index 272a4581e9..ab760c939a 100644
--- a/bt5/erp5_budget/bt/revision
+++ b/bt5/erp5_budget/bt/revision
@@ -1 +1 @@
-316
\ No newline at end of file
+319
\ No newline at end of file
-- 
2.30.9


From d0e1845f4e9f269d9bccc4cf5b0b2e57eae4f980 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?J=C3=A9rome=20Perrin?= <jerome@nexedi.com>
Date: Tue, 27 Jul 2010 15:47:09 +0000
Subject: [PATCH 138/270] apply a different style if the budget cell is a
 summary cell

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@37299 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 .../BudgetLine_getSummaryCellIndexDict.xml    | 154 ++++++++++++++++++
 .../BudgetLine_getSummaryDimensionKeyDict.xml |  14 --
 .../matrixbox_quantity.xml                    |  26 ++-
 bt5/erp5_budget/bt/revision                   |   2 +-
 4 files changed, 179 insertions(+), 17 deletions(-)
 create mode 100644 bt5/erp5_budget/SkinTemplateItem/portal_skins/erp5_budget/BudgetLine_getSummaryCellIndexDict.xml

diff --git a/bt5/erp5_budget/SkinTemplateItem/portal_skins/erp5_budget/BudgetLine_getSummaryCellIndexDict.xml b/bt5/erp5_budget/SkinTemplateItem/portal_skins/erp5_budget/BudgetLine_getSummaryCellIndexDict.xml
new file mode 100644
index 0000000000..63439919c3
--- /dev/null
+++ b/bt5/erp5_budget/SkinTemplateItem/portal_skins/erp5_budget/BudgetLine_getSummaryCellIndexDict.xml
@@ -0,0 +1,154 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>Script_magic</string> </key>
+            <value> <int>3</int> </value>
+        </item>
+        <item>
+            <key> <string>_bind_names</string> </key>
+            <value>
+              <object>
+                <klass>
+                  <global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/>
+                </klass>
+                <tuple/>
+                <state>
+                  <dictionary>
+                    <item>
+                        <key> <string>_asgns</string> </key>
+                        <value>
+                          <dictionary>
+                            <item>
+                                <key> <string>name_container</string> </key>
+                                <value> <string>container</string> </value>
+                            </item>
+                            <item>
+                                <key> <string>name_context</string> </key>
+                                <value> <string>context</string> </value>
+                            </item>
+                            <item>
+                                <key> <string>name_m_self</string> </key>
+                                <value> <string>script</string> </value>
+                            </item>
+                            <item>
+                                <key> <string>name_subpath</string> </key>
+                                <value> <string>traverse_subpath</string> </value>
+                            </item>
+                          </dictionary>
+                        </value>
+                    </item>
+                  </dictionary>
+                </state>
+              </object>
+            </value>
+        </item>
+        <item>
+            <key> <string>_body</string> </key>
+            <value> <string>try:\n
+  return container.REQUEST[script.id]\n
+except KeyError:\n
+  pass\n
+\n
+dependant_dimensions_dict = context.BudgetLine_getSummaryDimensionKeyDict()\n
+\n
+summary_key_dict = dict()\n
+\n
+from Products.ERP5Type.Utils import cartesianProduct\n
+# also add all cell coordinates in the dictionnary\n
+for cell_key in cartesianProduct(context.getCellRange()):\n
+  for key in cell_key:\n
+    if key in dependant_dimensions_dict:\n
+      summary_key_dict[tuple(cell_key)] = 1\n
+      break\n
+\n
+container.REQUEST.set(script.id, summary_key_dict)\n
+return summary_key_dict\n
+</string> </value>
+        </item>
+        <item>
+            <key> <string>_code</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>_params</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>errors</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+        <item>
+            <key> <string>func_code</string> </key>
+            <value>
+              <object>
+                <klass>
+                  <global name="FuncCode" module="Shared.DC.Scripts.Signature"/>
+                </klass>
+                <tuple/>
+                <state>
+                  <dictionary>
+                    <item>
+                        <key> <string>co_argcount</string> </key>
+                        <value> <int>0</int> </value>
+                    </item>
+                    <item>
+                        <key> <string>co_varnames</string> </key>
+                        <value>
+                          <tuple>
+                            <string>_getitem_</string>
+                            <string>_getattr_</string>
+                            <string>container</string>
+                            <string>script</string>
+                            <string>KeyError</string>
+                            <string>context</string>
+                            <string>dependant_dimensions_dict</string>
+                            <string>dict</string>
+                            <string>summary_key_dict</string>
+                            <string>Products.ERP5Type.Utils</string>
+                            <string>cartesianProduct</string>
+                            <string>_getiter_</string>
+                            <string>cell_key</string>
+                            <string>key</string>
+                            <string>_write_</string>
+                            <string>tuple</string>
+                          </tuple>
+                        </value>
+                    </item>
+                  </dictionary>
+                </state>
+              </object>
+            </value>
+        </item>
+        <item>
+            <key> <string>func_defaults</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>BudgetLine_getSummaryCellIndexDict</string> </value>
+        </item>
+        <item>
+            <key> <string>warnings</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_budget/SkinTemplateItem/portal_skins/erp5_budget/BudgetLine_getSummaryDimensionKeyDict.xml b/bt5/erp5_budget/SkinTemplateItem/portal_skins/erp5_budget/BudgetLine_getSummaryDimensionKeyDict.xml
index 7fb6f8648c..5ad417d083 100644
--- a/bt5/erp5_budget/SkinTemplateItem/portal_skins/erp5_budget/BudgetLine_getSummaryDimensionKeyDict.xml
+++ b/bt5/erp5_budget/SkinTemplateItem/portal_skins/erp5_budget/BudgetLine_getSummaryDimensionKeyDict.xml
@@ -100,15 +100,6 @@ for bc in non_strict_base_category_set.keys():\n
     if dependant_vc_list:\n
       dependant_dimensions_dict[vc] = dependant_vc_list\n
 \n
-\n
-from Products.ERP5Type.Utils import cartesianProduct\n
-# also add all cell coordinates in the dictionnary\n
-for cell_key in cartesianProduct(context.getCellRange()):\n
-  for key in cell_key:\n
-    if key in dependant_dimensions_dict:\n
-      dependant_dimensions_dict[tuple(cell_key)] = [] # TODO ?\n
-      break\n
-\n
 return dependant_dimensions_dict\n
 </string> </value>
         </item>
@@ -165,11 +156,6 @@ return dependant_dimensions_dict\n
                             <string>$append0</string>
                             <string>other_vc</string>
                             <string>dependant_vc_list</string>
-                            <string>Products.ERP5Type.Utils</string>
-                            <string>cartesianProduct</string>
-                            <string>cell_key</string>
-                            <string>key</string>
-                            <string>tuple</string>
                           </tuple>
                         </value>
                     </item>
diff --git a/bt5/erp5_budget/SkinTemplateItem/portal_skins/erp5_budget/BudgetLine_viewFieldLibrary/matrixbox_quantity.xml b/bt5/erp5_budget/SkinTemplateItem/portal_skins/erp5_budget/BudgetLine_viewFieldLibrary/matrixbox_quantity.xml
index 9721dc2181..75a587b83c 100644
--- a/bt5/erp5_budget/SkinTemplateItem/portal_skins/erp5_budget/BudgetLine_viewFieldLibrary/matrixbox_quantity.xml
+++ b/bt5/erp5_budget/SkinTemplateItem/portal_skins/erp5_budget/BudgetLine_viewFieldLibrary/matrixbox_quantity.xml
@@ -13,10 +13,10 @@
             <key> <string>delegated_list</string> </key>
             <value>
               <list>
-                <string>title</string>
                 <string>default</string>
                 <string>extra</string>
                 <string>precision</string>
+                <string>title</string>
               </list>
             </value>
         </item>
@@ -64,6 +64,12 @@
                       <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
                     </value>
                 </item>
+                <item>
+                    <key> <string>extra</string> </key>
+                    <value>
+                      <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
+                    </value>
+                </item>
                 <item>
                     <key> <string>field_id</string> </key>
                     <value> <string></string> </value>
@@ -75,7 +81,7 @@
                 <item>
                     <key> <string>precision</string> </key>
                     <value>
-                      <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
+                      <persistent> <string encoding="base64">AAAAAAAAAAQ=</string> </persistent>
                     </value>
                 </item>
                 <item>
@@ -144,6 +150,22 @@
     </pickle>
   </record>
   <record id="3" aka="AAAAAAAAAAM=">
+    <pickle>
+      <tuple>
+        <global name="TALESMethod" module="Products.Formulator.TALESField"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_text</string> </key>
+            <value> <string>python: test(field.get_value("editable") and tuple(cell_index) in context.BudgetLine_getSummaryCellIndexDict(), \'style="background-color:#DDD"\',  \'\')</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="4" aka="AAAAAAAAAAQ=">
     <pickle>
       <tuple>
         <global name="TALESMethod" module="Products.Formulator.TALESField"/>
diff --git a/bt5/erp5_budget/bt/revision b/bt5/erp5_budget/bt/revision
index ab760c939a..194ba8cc75 100644
--- a/bt5/erp5_budget/bt/revision
+++ b/bt5/erp5_budget/bt/revision
@@ -1 +1 @@
-319
\ No newline at end of file
+320
\ No newline at end of file
-- 
2.30.9


From 64677f617f34db961ffc5434537a5841fef9b4a2 Mon Sep 17 00:00:00 2001
From: Kazuhiko Shiozaki <kazuhiko@nexedi.com>
Date: Tue, 27 Jul 2010 20:16:41 +0000
Subject: [PATCH 139/270] in new simulation, accept solver does not propagate
 changes to upper simulation movements.

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@37300 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 product/ERP5/tests/testERP5Simulation.py | 24 ++++++++++++++++++++++++
 1 file changed, 24 insertions(+)

diff --git a/product/ERP5/tests/testERP5Simulation.py b/product/ERP5/tests/testERP5Simulation.py
index 3c1e2ef34b..ab9c9e6c6f 100644
--- a/product/ERP5/tests/testERP5Simulation.py
+++ b/product/ERP5/tests/testERP5Simulation.py
@@ -360,6 +360,30 @@ class TestERP5SimulationMixin(TestInvoiceMixin):
     self.assertEquals(sorted(packing_list_line.getCausalityList()),
                       sorted(order_line_list))
 
+  def stepCheckSimulationMovementHasRecordedQuantity(self, sequence=None,
+                                                     sequence_list=None):
+    movement_list = sequence.get('packing_list').objectValues(
+      portal_type=self.packing_list_line_portal_type)
+    self._checkRecordedProperty(movement_list, 'quantity', True)
+
+  def stepCheckSimulationMovementHasNoRecordedQuantity(self, sequence=None,
+                                                       sequence_list=None):
+    movement_list = sequence.get('packing_list').objectValues(
+      portal_type=self.packing_list_line_portal_type)
+    self._checkRecordedProperty(movement_list, 'quantity', False)
+
+  def stepCheckSimulationMovementHasRecordedResource(self, sequence=None,
+                                                     sequence_list=None):
+    movement_list = sequence.get('packing_list').objectValues(
+      portal_type=self.packing_list_line_portal_type)
+    self._checkRecordedProperty(movement_list, 'resource', True)
+
+  def stepCheckSimulationMovementHasNoRecordedResource(self, sequence=None,
+                                                       sequence_list=None):
+    movement_list = sequence.get('packing_list').objectValues(
+      portal_type=self.packing_list_line_portal_type)
+    self._checkRecordedProperty(movement_list, 'resource', False)
+
 class TestERP5Simulation(TestERP5SimulationMixin, ERP5TypeTestCase):
   run_all_test = 1
   quiet = 0
-- 
2.30.9


From 995551aa12f1f0fd3d6d8a4687c31021409d372d Mon Sep 17 00:00:00 2001
From: Kazuhiko Shiozaki <kazuhiko@nexedi.com>
Date: Tue, 27 Jul 2010 20:21:33 +0000
Subject: [PATCH 140/270] revert a part of r36960.
 test_05d_SimulationChangeResourceOnOneSimulationMovementForMergedLine still
 will not pass.

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@37301 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 product/ERP5/tests/testERP5Simulation.py | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/product/ERP5/tests/testERP5Simulation.py b/product/ERP5/tests/testERP5Simulation.py
index ab9c9e6c6f..9daca709d2 100644
--- a/product/ERP5/tests/testERP5Simulation.py
+++ b/product/ERP5/tests/testERP5Simulation.py
@@ -549,6 +549,10 @@ class TestERP5SimulationPackingList(TestERP5SimulationMixin, TestPackingList):
   pass
 
 for failing_method in [
+  # This test does not work as it is because of the different behaviour of
+  # Adopt Solver.
+  'test_05d_SimulationChangeResourceOnOneSimulationMovementForMergedLine',
+
   # Those tests currently fail because they are making assertions on an applied
   # rule which with the new simulation structure is not the same as in the
   # original test packing list
-- 
2.30.9


From bb457b01588621f283463176103397a79ebbba0c Mon Sep 17 00:00:00 2001
From: Kazuhiko Shiozaki <kazuhiko@nexedi.com>
Date: Tue, 27 Jul 2010 20:35:17 +0000
Subject: [PATCH 141/270] same as r37158 (clear recorded properties when
 updating, because update means incoming movements have changed and recorded
 properties have no meaning for updated properties).

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@37302 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 product/ERP5/mixin/movement_collection_updater.py | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/product/ERP5/mixin/movement_collection_updater.py b/product/ERP5/mixin/movement_collection_updater.py
index 1cebf559eb..f6a1e4c424 100644
--- a/product/ERP5/mixin/movement_collection_updater.py
+++ b/product/ERP5/mixin/movement_collection_updater.py
@@ -165,6 +165,8 @@ class MovementCollectionUpdaterMixin:
     for movement in movement_diff.getUpdatableMovementList():
       kw = movement_diff.getMovementPropertyDict(movement)
       movement.edit(**kw)
+      for property_id in kw.iterkeys():
+        movement.clearRecordedProperty(property_id)
     for movement in movement_diff.getNewMovementList():
       # This case is easy, because it is an applied rule
       kw = movement_diff.getMovementPropertyDict(movement)
-- 
2.30.9


From 1a1ba807997e1b1557482d9d5b8a9128372aed73 Mon Sep 17 00:00:00 2001
From: Lucas Carvalho <lucas@nexedi.com>
Date: Tue, 27 Jul 2010 20:48:52 +0000
Subject: [PATCH 142/270] The disabled option "-- Your Instance --" should not
 be displayed for Anonymous User.

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@37303 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 .../portal_skins/tiolive_base/navigation_box_render.xml    | 7 ++++---
 bt5/tiolive_base/bt/revision                               | 2 +-
 2 files changed, 5 insertions(+), 4 deletions(-)

diff --git a/bt5/tiolive_base/SkinTemplateItem/portal_skins/tiolive_base/navigation_box_render.xml b/bt5/tiolive_base/SkinTemplateItem/portal_skins/tiolive_base/navigation_box_render.xml
index f174841fa3..3d07ea2184 100644
--- a/bt5/tiolive_base/SkinTemplateItem/portal_skins/tiolive_base/navigation_box_render.xml
+++ b/bt5/tiolive_base/SkinTemplateItem/portal_skins/tiolive_base/navigation_box_render.xml
@@ -43,7 +43,8 @@
            xmlns:metal="http://xml.zope.org/namespaces/metal"\n
            xmlns:i18n="http://xml.zope.org/namespaces/i18n">\n
   <tal:block tal:define="actions python: here.getPortalObject().portal_actions.listFilteredActionsFor(here);\n
-                         context_url here/absolute_url;">\n
+                         context_url here/absolute_url;\n
+                         isAnonymousUser here/portal_membership/isAnonymousUser">\n
 \n
   <div id="top-bar">\n
 \n
@@ -70,7 +71,7 @@
                         i18n:translate="" i18n:domain="ui"></option>\n
               </tal:block>\n
             </tal:block>\n
-            <option tal:condition="python: getattr(here, \'Base_getUserRemoteBusinessConfigurationReferenceList\', None) is not None"\n
+            <option tal:condition="python: getattr(here, \'Base_getUserRemoteBusinessConfigurationReferenceList\', None) is not None and not isAnonymousUser"\n
                       disabled="disabled">-- <tal:block tal:content="string: Your Instances" i18n:translate="" i18n:domain="ui" /> --</option>\n
             <tal:block tal:condition="python: getattr(here, \'Base_getUserRemoteBusinessConfigurationReferenceList\', None) is not None"\n
                        tal:repeat="instance_id python: here.Base_getUserRemoteBusinessConfigurationReferenceList()">\n
@@ -119,7 +120,7 @@
     <div class="second">\n
 \n
 <span id="tiologin"\n
-   tal:condition="here/portal_membership/isAnonymousUser"><a href="#" id="link-login"  \n
+   tal:condition="isAnonymousUser"><a href="#" id="link-login"  \n
      tal:attributes="href string:${context_url}/login_form"\n
      i18n:translate="" i18n:domain="ui">Login</a></span>\n
 \n
diff --git a/bt5/tiolive_base/bt/revision b/bt5/tiolive_base/bt/revision
index d7765fe47e..2fb681e3f9 100644
--- a/bt5/tiolive_base/bt/revision
+++ b/bt5/tiolive_base/bt/revision
@@ -1 +1 @@
-70
\ No newline at end of file
+71
\ No newline at end of file
-- 
2.30.9


From f27d99669c59a83afa7dc2cac672d86432efb3b9 Mon Sep 17 00:00:00 2001
From: Kazuhiko Shiozaki <kazuhiko@nexedi.com>
Date: Tue, 27 Jul 2010 21:08:02 +0000
Subject: [PATCH 143/270] same as r37156 (when calculating the diff of a
 quantity, it is necessary to use real values instead of recorded ones).

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@37304 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 product/ERP5/mixin/rule.py | 9 +++++++--
 1 file changed, 7 insertions(+), 2 deletions(-)

diff --git a/product/ERP5/mixin/rule.py b/product/ERP5/mixin/rule.py
index 4f684cd346..7b62026706 100644
--- a/product/ERP5/mixin/rule.py
+++ b/product/ERP5/mixin/rule.py
@@ -284,14 +284,17 @@ class RuleMixin:
     updatable_compensation_movement = None
     prevision_quantity = prevision_movement.getQuantity()
     decision_quantity = 0.0
+    real_quantity = 0.0
     # First, we update all properties (exc. quantity) which could be divergent
     # and if we can not, we compensate them
     for decision_movement in decision_movement_list:
+      real_movement_quantity = decision_movement.getQuantity()
       if decision_movement.isPropertyRecorded('quantity'):
         decision_movement_quantity = decision_movement.getRecordedProperty('quantity')
       else:
-        decision_movement_quantity = decision_movement.getQuantity()
+        decision_movement_quantity = real_movement_quantity
       decision_quantity += decision_movement_quantity
+      real_quantity += real_movement_quantity
       if self._isProfitAndLossMovement(decision_movement):
         if decision_movement.isFrozen():
           # Record not completed movements
@@ -332,10 +335,11 @@ class RuleMixin:
     # after compensation
     quantity_movement = prevision_movement.asContext(quantity=decision_quantity-compensated_quantity)
     if not _compare(quantity_tester_list, prevision_movement, quantity_movement):
-      missing_quantity = prevision_quantity - decision_quantity + compensated_quantity
+      missing_quantity = prevision_quantity - real_quantity + compensated_quantity
       if updatable_movement is not None:
         # If an updatable movement still exists, we update it
         updatable_movement.setQuantity(updatable_movement.getQuantity() + missing_quantity)
+        updatable_movement.clearRecordedProperty('quantity')
       elif not_completed_movement is not None:
         # It is still possible to add a new movement some movements are not completed
         new_movement = prevision_movement.asContext(quantity=missing_quantity)
@@ -345,6 +349,7 @@ class RuleMixin:
         # but we can still update a profit and loss movement_collection_diff
         updatable_compensation_movement.setQuantity(updatable_compensation_movement.getQuantity()
                                                   + missing_quantity)
+        updatable_compensation_movement.clearRecordedProperty('quantity')
       else:
         # We must create a profit and loss movement
         new_movement = self._newProfitAndLossMovement(prevision_movement)
-- 
2.30.9


From d2de3b9c3cb3c01b8addc6485ecb4b4c0c27f2a4 Mon Sep 17 00:00:00 2001
From: Nicolas Dumazet <nicolas.dumazet@nexedi.com>
Date: Wed, 28 Jul 2010 02:06:56 +0000
Subject: [PATCH 144/270] getQuantityUnit: if category does not exist, return
 the path and not None

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@37305 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 product/ERP5/Document/Amount.py | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/product/ERP5/Document/Amount.py b/product/ERP5/Document/Amount.py
index a32cc5e27e..b47a465cbb 100644
--- a/product/ERP5/Document/Amount.py
+++ b/product/ERP5/Document/Amount.py
@@ -733,8 +733,10 @@ class Amount(Base, Variated):
   security.declareProtected(Permissions.AccessContentsInformation,
       'getQuantityUnit')
   def getQuantityUnit(self):
-    value = self.getQuantityUnitValue()
-    if value is not None:
-      return value.getCategoryRelativeUrl()
-    return None
+    result = self._getDefaultCategoryMembership('quantity_unit')
+    if result is None:
+      resource = self.getResourceValue()
+      if resource is not None:
+        result = resource.getQuantityUnit()
+    return result
 
-- 
2.30.9


From 87b7c933821489590626d2b28c5b0dbc4bc9bca7 Mon Sep 17 00:00:00 2001
From: Nicolas Dumazet <nicolas.dumazet@nexedi.com>
Date: Wed, 28 Jul 2010 02:32:43 +0000
Subject: [PATCH 145/270] introduce movement_resource_interaction_workflow to
 replace movement_base_contribution_interaction_workflow

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@37306 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 ...movement_resource_interaction_workflow.xml |  49 +++++++
 .../interactions.xml                          |  31 ++++
 .../interactions/setBaseContribution.xml      | 103 +++++++++++++
 .../interactions/setQuantityUnit.xml          | 104 +++++++++++++
 .../scripts.xml                               |  31 ++++
 ...ement_copyBaseContributionFromResource.xml | 138 ++++++++++++++++++
 .../Movement_copyQuantityUnitFromResource.xml | 130 +++++++++++++++++
 .../variables.xml                             |  25 ++++
 .../worklists.xml                             |  25 ++++
 bt5/erp5_base/bt/revision                     |   2 +-
 bt5/erp5_base/bt/template_workflow_id_list    |   1 +
 11 files changed, 638 insertions(+), 1 deletion(-)
 create mode 100644 bt5/erp5_base/WorkflowTemplateItem/portal_workflow/movement_resource_interaction_workflow.xml
 create mode 100644 bt5/erp5_base/WorkflowTemplateItem/portal_workflow/movement_resource_interaction_workflow/interactions.xml
 create mode 100644 bt5/erp5_base/WorkflowTemplateItem/portal_workflow/movement_resource_interaction_workflow/interactions/setBaseContribution.xml
 create mode 100644 bt5/erp5_base/WorkflowTemplateItem/portal_workflow/movement_resource_interaction_workflow/interactions/setQuantityUnit.xml
 create mode 100644 bt5/erp5_base/WorkflowTemplateItem/portal_workflow/movement_resource_interaction_workflow/scripts.xml
 create mode 100644 bt5/erp5_base/WorkflowTemplateItem/portal_workflow/movement_resource_interaction_workflow/scripts/Movement_copyBaseContributionFromResource.xml
 create mode 100644 bt5/erp5_base/WorkflowTemplateItem/portal_workflow/movement_resource_interaction_workflow/scripts/Movement_copyQuantityUnitFromResource.xml
 create mode 100644 bt5/erp5_base/WorkflowTemplateItem/portal_workflow/movement_resource_interaction_workflow/variables.xml
 create mode 100644 bt5/erp5_base/WorkflowTemplateItem/portal_workflow/movement_resource_interaction_workflow/worklists.xml

diff --git a/bt5/erp5_base/WorkflowTemplateItem/portal_workflow/movement_resource_interaction_workflow.xml b/bt5/erp5_base/WorkflowTemplateItem/portal_workflow/movement_resource_interaction_workflow.xml
new file mode 100644
index 0000000000..1935b50601
--- /dev/null
+++ b/bt5/erp5_base/WorkflowTemplateItem/portal_workflow/movement_resource_interaction_workflow.xml
@@ -0,0 +1,49 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="InteractionWorkflowDefinition" module="Products.ERP5.InteractionWorkflow"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_objects</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+        <item>
+            <key> <string>creation_guard</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>description</string> </key>
+            <value> <string>Sets on Movements categories from its Resource.</string> </value>
+        </item>
+        <item>
+            <key> <string>groups</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>movement_resource_interaction_workflow</string> </value>
+        </item>
+        <item>
+            <key> <string>manager_bypass</string> </key>
+            <value> <int>0</int> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>Movement Resource Interaction Workflow</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_base/WorkflowTemplateItem/portal_workflow/movement_resource_interaction_workflow/interactions.xml b/bt5/erp5_base/WorkflowTemplateItem/portal_workflow/movement_resource_interaction_workflow/interactions.xml
new file mode 100644
index 0000000000..6788072919
--- /dev/null
+++ b/bt5/erp5_base/WorkflowTemplateItem/portal_workflow/movement_resource_interaction_workflow/interactions.xml
@@ -0,0 +1,31 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="Interaction" module="Products.ERP5.Interaction"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_mapping</string> </key>
+            <value>
+              <dictionary/>
+            </value>
+        </item>
+        <item>
+            <key> <string>_objects</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>interactions</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_base/WorkflowTemplateItem/portal_workflow/movement_resource_interaction_workflow/interactions/setBaseContribution.xml b/bt5/erp5_base/WorkflowTemplateItem/portal_workflow/movement_resource_interaction_workflow/interactions/setBaseContribution.xml
new file mode 100644
index 0000000000..a432c9f76c
--- /dev/null
+++ b/bt5/erp5_base/WorkflowTemplateItem/portal_workflow/movement_resource_interaction_workflow/interactions/setBaseContribution.xml
@@ -0,0 +1,103 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="InteractionDefinition" module="Products.ERP5.Interaction"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>actbox_category</string> </key>
+            <value> <string>workflow</string> </value>
+        </item>
+        <item>
+            <key> <string>actbox_name</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>actbox_url</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>activate_script_name</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+        <item>
+            <key> <string>after_script_name</string> </key>
+            <value>
+              <list>
+                <string>Movement_copyBaseContributionFromResource</string>
+              </list>
+            </value>
+        </item>
+        <item>
+            <key> <string>before_commit_script_name</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+        <item>
+            <key> <string>description</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>guard</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>setBaseContribution</string> </value>
+        </item>
+        <item>
+            <key> <string>method_id</string> </key>
+            <value>
+              <list>
+                <string>_setResource.*</string>
+              </list>
+            </value>
+        </item>
+        <item>
+            <key> <string>once_per_transaction</string> </key>
+            <value> <int>1</int> </value>
+        </item>
+        <item>
+            <key> <string>portal_type_filter</string> </key>
+            <value>
+              <list>
+                <string>Internal Order Line</string>
+                <string>Internal Packing List Line</string>
+                <string>Invoice Line</string>
+                <string>Purchase Order Line</string>
+                <string>Purchase Packing List Line</string>
+                <string>Returned Purchase Packing List Line</string>
+                <string>Returned Sale Packing List Line</string>
+                <string>Sale Order Line</string>
+                <string>Sale Packing List Line</string>
+              </list>
+            </value>
+        </item>
+        <item>
+            <key> <string>script_name</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>trigger_type</string> </key>
+            <value> <int>2</int> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_base/WorkflowTemplateItem/portal_workflow/movement_resource_interaction_workflow/interactions/setQuantityUnit.xml b/bt5/erp5_base/WorkflowTemplateItem/portal_workflow/movement_resource_interaction_workflow/interactions/setQuantityUnit.xml
new file mode 100644
index 0000000000..57e8f953d5
--- /dev/null
+++ b/bt5/erp5_base/WorkflowTemplateItem/portal_workflow/movement_resource_interaction_workflow/interactions/setQuantityUnit.xml
@@ -0,0 +1,104 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="InteractionDefinition" module="Products.ERP5.Interaction"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>actbox_category</string> </key>
+            <value> <string>workflow</string> </value>
+        </item>
+        <item>
+            <key> <string>actbox_name</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>actbox_url</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>activate_script_name</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+        <item>
+            <key> <string>after_script_name</string> </key>
+            <value>
+              <list>
+                <string>Movement_copyQuantityUnitFromResource</string>
+              </list>
+            </value>
+        </item>
+        <item>
+            <key> <string>before_commit_script_name</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+        <item>
+            <key> <string>description</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>guard</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>setQuantityUnit</string> </value>
+        </item>
+        <item>
+            <key> <string>method_id</string> </key>
+            <value>
+              <list>
+                <string>_setResource.*</string>
+              </list>
+            </value>
+        </item>
+        <item>
+            <key> <string>once_per_transaction</string> </key>
+            <value> <int>0</int> </value>
+        </item>
+        <item>
+            <key> <string>portal_type_filter</string> </key>
+            <value>
+              <list>
+                <string>Accounting Transaction Line</string>
+                <string>Internal Order Line</string>
+                <string>Internal Packing List Line</string>
+                <string>Invoice Line</string>
+                <string>Purchase Order Line</string>
+                <string>Purchase Packing List Line</string>
+                <string>Returned Purchase Packing List Line</string>
+                <string>Returned Sale Packing List Line</string>
+                <string>Sale Order Line</string>
+                <string>Sale Packing List Line</string>
+              </list>
+            </value>
+        </item>
+        <item>
+            <key> <string>script_name</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>trigger_type</string> </key>
+            <value> <int>2</int> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_base/WorkflowTemplateItem/portal_workflow/movement_resource_interaction_workflow/scripts.xml b/bt5/erp5_base/WorkflowTemplateItem/portal_workflow/movement_resource_interaction_workflow/scripts.xml
new file mode 100644
index 0000000000..0622b3c34f
--- /dev/null
+++ b/bt5/erp5_base/WorkflowTemplateItem/portal_workflow/movement_resource_interaction_workflow/scripts.xml
@@ -0,0 +1,31 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="Scripts" module="Products.DCWorkflow.Scripts"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_mapping</string> </key>
+            <value>
+              <dictionary/>
+            </value>
+        </item>
+        <item>
+            <key> <string>_objects</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>scripts</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_base/WorkflowTemplateItem/portal_workflow/movement_resource_interaction_workflow/scripts/Movement_copyBaseContributionFromResource.xml b/bt5/erp5_base/WorkflowTemplateItem/portal_workflow/movement_resource_interaction_workflow/scripts/Movement_copyBaseContributionFromResource.xml
new file mode 100644
index 0000000000..0283156f74
--- /dev/null
+++ b/bt5/erp5_base/WorkflowTemplateItem/portal_workflow/movement_resource_interaction_workflow/scripts/Movement_copyBaseContributionFromResource.xml
@@ -0,0 +1,138 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>Script_magic</string> </key>
+            <value> <int>3</int> </value>
+        </item>
+        <item>
+            <key> <string>_bind_names</string> </key>
+            <value>
+              <object>
+                <klass>
+                  <global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/>
+                </klass>
+                <tuple/>
+                <state>
+                  <dictionary>
+                    <item>
+                        <key> <string>_asgns</string> </key>
+                        <value>
+                          <dictionary>
+                            <item>
+                                <key> <string>name_container</string> </key>
+                                <value> <string>container</string> </value>
+                            </item>
+                            <item>
+                                <key> <string>name_context</string> </key>
+                                <value> <string>context</string> </value>
+                            </item>
+                            <item>
+                                <key> <string>name_m_self</string> </key>
+                                <value> <string>script</string> </value>
+                            </item>
+                            <item>
+                                <key> <string>name_subpath</string> </key>
+                                <value> <string>traverse_subpath</string> </value>
+                            </item>
+                          </dictionary>
+                        </value>
+                    </item>
+                  </dictionary>
+                </state>
+              </object>
+            </value>
+        </item>
+        <item>
+            <key> <string>_body</string> </key>
+            <value> <string>movement = state_change[\'object\']\n
+\n
+resource = movement.getResourceValue()\n
+if resource is not None:\n
+  movement.setBaseContributionList(resource.getBaseContributionList())\n
+</string> </value>
+        </item>
+        <item>
+            <key> <string>_code</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>_params</string> </key>
+            <value> <string>state_change</string> </value>
+        </item>
+        <item>
+            <key> <string>_proxy_roles</string> </key>
+            <value>
+              <tuple>
+                <string>Manager</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>errors</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+        <item>
+            <key> <string>func_code</string> </key>
+            <value>
+              <object>
+                <klass>
+                  <global name="FuncCode" module="Shared.DC.Scripts.Signature"/>
+                </klass>
+                <tuple/>
+                <state>
+                  <dictionary>
+                    <item>
+                        <key> <string>co_argcount</string> </key>
+                        <value> <int>1</int> </value>
+                    </item>
+                    <item>
+                        <key> <string>co_varnames</string> </key>
+                        <value>
+                          <tuple>
+                            <string>state_change</string>
+                            <string>_getitem_</string>
+                            <string>movement</string>
+                            <string>_getattr_</string>
+                            <string>resource</string>
+                            <string>None</string>
+                          </tuple>
+                        </value>
+                    </item>
+                  </dictionary>
+                </state>
+              </object>
+            </value>
+        </item>
+        <item>
+            <key> <string>func_defaults</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>Movement_copyBaseContributionFromResource</string> </value>
+        </item>
+        <item>
+            <key> <string>warnings</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_base/WorkflowTemplateItem/portal_workflow/movement_resource_interaction_workflow/scripts/Movement_copyQuantityUnitFromResource.xml b/bt5/erp5_base/WorkflowTemplateItem/portal_workflow/movement_resource_interaction_workflow/scripts/Movement_copyQuantityUnitFromResource.xml
new file mode 100644
index 0000000000..549be255c2
--- /dev/null
+++ b/bt5/erp5_base/WorkflowTemplateItem/portal_workflow/movement_resource_interaction_workflow/scripts/Movement_copyQuantityUnitFromResource.xml
@@ -0,0 +1,130 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>Script_magic</string> </key>
+            <value> <int>3</int> </value>
+        </item>
+        <item>
+            <key> <string>_bind_names</string> </key>
+            <value>
+              <object>
+                <klass>
+                  <global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/>
+                </klass>
+                <tuple/>
+                <state>
+                  <dictionary>
+                    <item>
+                        <key> <string>_asgns</string> </key>
+                        <value>
+                          <dictionary>
+                            <item>
+                                <key> <string>name_container</string> </key>
+                                <value> <string>container</string> </value>
+                            </item>
+                            <item>
+                                <key> <string>name_context</string> </key>
+                                <value> <string>context</string> </value>
+                            </item>
+                            <item>
+                                <key> <string>name_m_self</string> </key>
+                                <value> <string>script</string> </value>
+                            </item>
+                            <item>
+                                <key> <string>name_subpath</string> </key>
+                                <value> <string>traverse_subpath</string> </value>
+                            </item>
+                          </dictionary>
+                        </value>
+                    </item>
+                  </dictionary>
+                </state>
+              </object>
+            </value>
+        </item>
+        <item>
+            <key> <string>_body</string> </key>
+            <value> <string>movement = state_change[\'object\']\n
+\n
+resource = movement.getResourceValue()\n
+if resource is not None:\n
+  movement.setBaseContributionList(resource.getBaseContributionList())\n
+</string> </value>
+        </item>
+        <item>
+            <key> <string>_code</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>_params</string> </key>
+            <value> <string>state_change</string> </value>
+        </item>
+        <item>
+            <key> <string>errors</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+        <item>
+            <key> <string>func_code</string> </key>
+            <value>
+              <object>
+                <klass>
+                  <global name="FuncCode" module="Shared.DC.Scripts.Signature"/>
+                </klass>
+                <tuple/>
+                <state>
+                  <dictionary>
+                    <item>
+                        <key> <string>co_argcount</string> </key>
+                        <value> <int>1</int> </value>
+                    </item>
+                    <item>
+                        <key> <string>co_varnames</string> </key>
+                        <value>
+                          <tuple>
+                            <string>state_change</string>
+                            <string>_getitem_</string>
+                            <string>movement</string>
+                            <string>_getattr_</string>
+                            <string>resource</string>
+                            <string>None</string>
+                          </tuple>
+                        </value>
+                    </item>
+                  </dictionary>
+                </state>
+              </object>
+            </value>
+        </item>
+        <item>
+            <key> <string>func_defaults</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>Movement_copyQuantityUnitFromResource</string> </value>
+        </item>
+        <item>
+            <key> <string>warnings</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_base/WorkflowTemplateItem/portal_workflow/movement_resource_interaction_workflow/variables.xml b/bt5/erp5_base/WorkflowTemplateItem/portal_workflow/movement_resource_interaction_workflow/variables.xml
new file mode 100644
index 0000000000..5547232278
--- /dev/null
+++ b/bt5/erp5_base/WorkflowTemplateItem/portal_workflow/movement_resource_interaction_workflow/variables.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="Variables" module="Products.DCWorkflow.Variables"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_mapping</string> </key>
+            <value>
+              <dictionary/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>variables</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_base/WorkflowTemplateItem/portal_workflow/movement_resource_interaction_workflow/worklists.xml b/bt5/erp5_base/WorkflowTemplateItem/portal_workflow/movement_resource_interaction_workflow/worklists.xml
new file mode 100644
index 0000000000..1f8b17b012
--- /dev/null
+++ b/bt5/erp5_base/WorkflowTemplateItem/portal_workflow/movement_resource_interaction_workflow/worklists.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="Worklists" module="Products.DCWorkflow.Worklists"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_mapping</string> </key>
+            <value>
+              <dictionary/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>worklists</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_base/bt/revision b/bt5/erp5_base/bt/revision
index e3f17d0dac..ae645ab7e8 100644
--- a/bt5/erp5_base/bt/revision
+++ b/bt5/erp5_base/bt/revision
@@ -1 +1 @@
-816
\ No newline at end of file
+817
diff --git a/bt5/erp5_base/bt/template_workflow_id_list b/bt5/erp5_base/bt/template_workflow_id_list
index eed179c488..6d4f8e717b 100644
--- a/bt5/erp5_base/bt/template_workflow_id_list
+++ b/bt5/erp5_base/bt/template_workflow_id_list
@@ -9,6 +9,7 @@ delivery_simulation_interaction_workflow
 document_conversion_interaction_workflow
 document_security_interaction_workflow
 local_permission_interaction_workflow
+movement_resource_interaction_workflow
 notification_message_workflow
 order_movement_simulation_interaction_workflow
 order_simulation_interaction_workflow
-- 
2.30.9


From 645147181d0b3de772c56ada3d6af27d3099865a Mon Sep 17 00:00:00 2001
From: Nicolas Dumazet <nicolas.dumazet@nexedi.com>
Date: Wed, 28 Jul 2010 02:35:57 +0000
Subject: [PATCH 146/270] delete
 movement_base_contribution_interaction_workflow and replace it with
 movement_resource_interaction_workflow (can be found in erp5_base)

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@37307 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 ...base_contribution_interaction_workflow.xml |  49 -------
 .../interactions.xml                          |  31 ----
 .../interactions/setResource.xml              |  93 ------------
 .../scripts.xml                               |  31 ----
 ...ement_copyBaseContributionFromResource.xml | 138 ------------------
 .../variables.xml                             |  25 ----
 .../worklists.xml                             |  25 ----
 bt5/erp5_trade/bt/revision                    |   2 +-
 .../template_portal_type_workflow_chain_list  |  16 +-
 bt5/erp5_trade/bt/template_workflow_id_list   |   1 -
 10 files changed, 9 insertions(+), 402 deletions(-)
 delete mode 100644 bt5/erp5_trade/WorkflowTemplateItem/portal_workflow/movement_base_contribution_interaction_workflow.xml
 delete mode 100644 bt5/erp5_trade/WorkflowTemplateItem/portal_workflow/movement_base_contribution_interaction_workflow/interactions.xml
 delete mode 100644 bt5/erp5_trade/WorkflowTemplateItem/portal_workflow/movement_base_contribution_interaction_workflow/interactions/setResource.xml
 delete mode 100644 bt5/erp5_trade/WorkflowTemplateItem/portal_workflow/movement_base_contribution_interaction_workflow/scripts.xml
 delete mode 100644 bt5/erp5_trade/WorkflowTemplateItem/portal_workflow/movement_base_contribution_interaction_workflow/scripts/Movement_copyBaseContributionFromResource.xml
 delete mode 100644 bt5/erp5_trade/WorkflowTemplateItem/portal_workflow/movement_base_contribution_interaction_workflow/variables.xml
 delete mode 100644 bt5/erp5_trade/WorkflowTemplateItem/portal_workflow/movement_base_contribution_interaction_workflow/worklists.xml

diff --git a/bt5/erp5_trade/WorkflowTemplateItem/portal_workflow/movement_base_contribution_interaction_workflow.xml b/bt5/erp5_trade/WorkflowTemplateItem/portal_workflow/movement_base_contribution_interaction_workflow.xml
deleted file mode 100644
index 7be337c5cf..0000000000
--- a/bt5/erp5_trade/WorkflowTemplateItem/portal_workflow/movement_base_contribution_interaction_workflow.xml
+++ /dev/null
@@ -1,49 +0,0 @@
-<?xml version="1.0"?>
-<ZopeData>
-  <record id="1" aka="AAAAAAAAAAE=">
-    <pickle>
-      <tuple>
-        <global name="InteractionWorkflowDefinition" module="Products.ERP5.InteractionWorkflow"/>
-        <tuple/>
-      </tuple>
-    </pickle>
-    <pickle>
-      <dictionary>
-        <item>
-            <key> <string>_objects</string> </key>
-            <value>
-              <tuple/>
-            </value>
-        </item>
-        <item>
-            <key> <string>creation_guard</string> </key>
-            <value>
-              <none/>
-            </value>
-        </item>
-        <item>
-            <key> <string>description</string> </key>
-            <value> <string></string> </value>
-        </item>
-        <item>
-            <key> <string>groups</string> </key>
-            <value>
-              <tuple/>
-            </value>
-        </item>
-        <item>
-            <key> <string>id</string> </key>
-            <value> <string>movement_base_contribution_interaction_workflow</string> </value>
-        </item>
-        <item>
-            <key> <string>manager_bypass</string> </key>
-            <value> <int>0</int> </value>
-        </item>
-        <item>
-            <key> <string>title</string> </key>
-            <value> <string>Base Contribution Interaction Workflow</string> </value>
-        </item>
-      </dictionary>
-    </pickle>
-  </record>
-</ZopeData>
diff --git a/bt5/erp5_trade/WorkflowTemplateItem/portal_workflow/movement_base_contribution_interaction_workflow/interactions.xml b/bt5/erp5_trade/WorkflowTemplateItem/portal_workflow/movement_base_contribution_interaction_workflow/interactions.xml
deleted file mode 100644
index 6788072919..0000000000
--- a/bt5/erp5_trade/WorkflowTemplateItem/portal_workflow/movement_base_contribution_interaction_workflow/interactions.xml
+++ /dev/null
@@ -1,31 +0,0 @@
-<?xml version="1.0"?>
-<ZopeData>
-  <record id="1" aka="AAAAAAAAAAE=">
-    <pickle>
-      <tuple>
-        <global name="Interaction" module="Products.ERP5.Interaction"/>
-        <tuple/>
-      </tuple>
-    </pickle>
-    <pickle>
-      <dictionary>
-        <item>
-            <key> <string>_mapping</string> </key>
-            <value>
-              <dictionary/>
-            </value>
-        </item>
-        <item>
-            <key> <string>_objects</string> </key>
-            <value>
-              <tuple/>
-            </value>
-        </item>
-        <item>
-            <key> <string>id</string> </key>
-            <value> <string>interactions</string> </value>
-        </item>
-      </dictionary>
-    </pickle>
-  </record>
-</ZopeData>
diff --git a/bt5/erp5_trade/WorkflowTemplateItem/portal_workflow/movement_base_contribution_interaction_workflow/interactions/setResource.xml b/bt5/erp5_trade/WorkflowTemplateItem/portal_workflow/movement_base_contribution_interaction_workflow/interactions/setResource.xml
deleted file mode 100644
index 73908b1589..0000000000
--- a/bt5/erp5_trade/WorkflowTemplateItem/portal_workflow/movement_base_contribution_interaction_workflow/interactions/setResource.xml
+++ /dev/null
@@ -1,93 +0,0 @@
-<?xml version="1.0"?>
-<ZopeData>
-  <record id="1" aka="AAAAAAAAAAE=">
-    <pickle>
-      <tuple>
-        <global name="InteractionDefinition" module="Products.ERP5.Interaction"/>
-        <tuple/>
-      </tuple>
-    </pickle>
-    <pickle>
-      <dictionary>
-        <item>
-            <key> <string>actbox_category</string> </key>
-            <value> <string>workflow</string> </value>
-        </item>
-        <item>
-            <key> <string>actbox_name</string> </key>
-            <value> <string></string> </value>
-        </item>
-        <item>
-            <key> <string>actbox_url</string> </key>
-            <value> <string></string> </value>
-        </item>
-        <item>
-            <key> <string>activate_script_name</string> </key>
-            <value>
-              <tuple/>
-            </value>
-        </item>
-        <item>
-            <key> <string>after_script_name</string> </key>
-            <value>
-              <list>
-                <string>Movement_copyBaseContributionFromResource</string>
-              </list>
-            </value>
-        </item>
-        <item>
-            <key> <string>before_commit_script_name</string> </key>
-            <value>
-              <tuple/>
-            </value>
-        </item>
-        <item>
-            <key> <string>description</string> </key>
-            <value> <string></string> </value>
-        </item>
-        <item>
-            <key> <string>guard</string> </key>
-            <value>
-              <none/>
-            </value>
-        </item>
-        <item>
-            <key> <string>id</string> </key>
-            <value> <string>setResource</string> </value>
-        </item>
-        <item>
-            <key> <string>method_id</string> </key>
-            <value>
-              <list>
-                <string>_setResource.*</string>
-              </list>
-            </value>
-        </item>
-        <item>
-            <key> <string>once_per_transaction</string> </key>
-            <value> <int>1</int> </value>
-        </item>
-        <item>
-            <key> <string>portal_type_filter</string> </key>
-            <value>
-              <none/>
-            </value>
-        </item>
-        <item>
-            <key> <string>script_name</string> </key>
-            <value>
-              <tuple/>
-            </value>
-        </item>
-        <item>
-            <key> <string>title</string> </key>
-            <value> <string></string> </value>
-        </item>
-        <item>
-            <key> <string>trigger_type</string> </key>
-            <value> <int>2</int> </value>
-        </item>
-      </dictionary>
-    </pickle>
-  </record>
-</ZopeData>
diff --git a/bt5/erp5_trade/WorkflowTemplateItem/portal_workflow/movement_base_contribution_interaction_workflow/scripts.xml b/bt5/erp5_trade/WorkflowTemplateItem/portal_workflow/movement_base_contribution_interaction_workflow/scripts.xml
deleted file mode 100644
index 0622b3c34f..0000000000
--- a/bt5/erp5_trade/WorkflowTemplateItem/portal_workflow/movement_base_contribution_interaction_workflow/scripts.xml
+++ /dev/null
@@ -1,31 +0,0 @@
-<?xml version="1.0"?>
-<ZopeData>
-  <record id="1" aka="AAAAAAAAAAE=">
-    <pickle>
-      <tuple>
-        <global name="Scripts" module="Products.DCWorkflow.Scripts"/>
-        <tuple/>
-      </tuple>
-    </pickle>
-    <pickle>
-      <dictionary>
-        <item>
-            <key> <string>_mapping</string> </key>
-            <value>
-              <dictionary/>
-            </value>
-        </item>
-        <item>
-            <key> <string>_objects</string> </key>
-            <value>
-              <tuple/>
-            </value>
-        </item>
-        <item>
-            <key> <string>id</string> </key>
-            <value> <string>scripts</string> </value>
-        </item>
-      </dictionary>
-    </pickle>
-  </record>
-</ZopeData>
diff --git a/bt5/erp5_trade/WorkflowTemplateItem/portal_workflow/movement_base_contribution_interaction_workflow/scripts/Movement_copyBaseContributionFromResource.xml b/bt5/erp5_trade/WorkflowTemplateItem/portal_workflow/movement_base_contribution_interaction_workflow/scripts/Movement_copyBaseContributionFromResource.xml
deleted file mode 100644
index 0283156f74..0000000000
--- a/bt5/erp5_trade/WorkflowTemplateItem/portal_workflow/movement_base_contribution_interaction_workflow/scripts/Movement_copyBaseContributionFromResource.xml
+++ /dev/null
@@ -1,138 +0,0 @@
-<?xml version="1.0"?>
-<ZopeData>
-  <record id="1" aka="AAAAAAAAAAE=">
-    <pickle>
-      <tuple>
-        <global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
-        <tuple/>
-      </tuple>
-    </pickle>
-    <pickle>
-      <dictionary>
-        <item>
-            <key> <string>Script_magic</string> </key>
-            <value> <int>3</int> </value>
-        </item>
-        <item>
-            <key> <string>_bind_names</string> </key>
-            <value>
-              <object>
-                <klass>
-                  <global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/>
-                </klass>
-                <tuple/>
-                <state>
-                  <dictionary>
-                    <item>
-                        <key> <string>_asgns</string> </key>
-                        <value>
-                          <dictionary>
-                            <item>
-                                <key> <string>name_container</string> </key>
-                                <value> <string>container</string> </value>
-                            </item>
-                            <item>
-                                <key> <string>name_context</string> </key>
-                                <value> <string>context</string> </value>
-                            </item>
-                            <item>
-                                <key> <string>name_m_self</string> </key>
-                                <value> <string>script</string> </value>
-                            </item>
-                            <item>
-                                <key> <string>name_subpath</string> </key>
-                                <value> <string>traverse_subpath</string> </value>
-                            </item>
-                          </dictionary>
-                        </value>
-                    </item>
-                  </dictionary>
-                </state>
-              </object>
-            </value>
-        </item>
-        <item>
-            <key> <string>_body</string> </key>
-            <value> <string>movement = state_change[\'object\']\n
-\n
-resource = movement.getResourceValue()\n
-if resource is not None:\n
-  movement.setBaseContributionList(resource.getBaseContributionList())\n
-</string> </value>
-        </item>
-        <item>
-            <key> <string>_code</string> </key>
-            <value>
-              <none/>
-            </value>
-        </item>
-        <item>
-            <key> <string>_params</string> </key>
-            <value> <string>state_change</string> </value>
-        </item>
-        <item>
-            <key> <string>_proxy_roles</string> </key>
-            <value>
-              <tuple>
-                <string>Manager</string>
-              </tuple>
-            </value>
-        </item>
-        <item>
-            <key> <string>errors</string> </key>
-            <value>
-              <tuple/>
-            </value>
-        </item>
-        <item>
-            <key> <string>func_code</string> </key>
-            <value>
-              <object>
-                <klass>
-                  <global name="FuncCode" module="Shared.DC.Scripts.Signature"/>
-                </klass>
-                <tuple/>
-                <state>
-                  <dictionary>
-                    <item>
-                        <key> <string>co_argcount</string> </key>
-                        <value> <int>1</int> </value>
-                    </item>
-                    <item>
-                        <key> <string>co_varnames</string> </key>
-                        <value>
-                          <tuple>
-                            <string>state_change</string>
-                            <string>_getitem_</string>
-                            <string>movement</string>
-                            <string>_getattr_</string>
-                            <string>resource</string>
-                            <string>None</string>
-                          </tuple>
-                        </value>
-                    </item>
-                  </dictionary>
-                </state>
-              </object>
-            </value>
-        </item>
-        <item>
-            <key> <string>func_defaults</string> </key>
-            <value>
-              <none/>
-            </value>
-        </item>
-        <item>
-            <key> <string>id</string> </key>
-            <value> <string>Movement_copyBaseContributionFromResource</string> </value>
-        </item>
-        <item>
-            <key> <string>warnings</string> </key>
-            <value>
-              <tuple/>
-            </value>
-        </item>
-      </dictionary>
-    </pickle>
-  </record>
-</ZopeData>
diff --git a/bt5/erp5_trade/WorkflowTemplateItem/portal_workflow/movement_base_contribution_interaction_workflow/variables.xml b/bt5/erp5_trade/WorkflowTemplateItem/portal_workflow/movement_base_contribution_interaction_workflow/variables.xml
deleted file mode 100644
index 5547232278..0000000000
--- a/bt5/erp5_trade/WorkflowTemplateItem/portal_workflow/movement_base_contribution_interaction_workflow/variables.xml
+++ /dev/null
@@ -1,25 +0,0 @@
-<?xml version="1.0"?>
-<ZopeData>
-  <record id="1" aka="AAAAAAAAAAE=">
-    <pickle>
-      <tuple>
-        <global name="Variables" module="Products.DCWorkflow.Variables"/>
-        <tuple/>
-      </tuple>
-    </pickle>
-    <pickle>
-      <dictionary>
-        <item>
-            <key> <string>_mapping</string> </key>
-            <value>
-              <dictionary/>
-            </value>
-        </item>
-        <item>
-            <key> <string>id</string> </key>
-            <value> <string>variables</string> </value>
-        </item>
-      </dictionary>
-    </pickle>
-  </record>
-</ZopeData>
diff --git a/bt5/erp5_trade/WorkflowTemplateItem/portal_workflow/movement_base_contribution_interaction_workflow/worklists.xml b/bt5/erp5_trade/WorkflowTemplateItem/portal_workflow/movement_base_contribution_interaction_workflow/worklists.xml
deleted file mode 100644
index 1f8b17b012..0000000000
--- a/bt5/erp5_trade/WorkflowTemplateItem/portal_workflow/movement_base_contribution_interaction_workflow/worklists.xml
+++ /dev/null
@@ -1,25 +0,0 @@
-<?xml version="1.0"?>
-<ZopeData>
-  <record id="1" aka="AAAAAAAAAAE=">
-    <pickle>
-      <tuple>
-        <global name="Worklists" module="Products.DCWorkflow.Worklists"/>
-        <tuple/>
-      </tuple>
-    </pickle>
-    <pickle>
-      <dictionary>
-        <item>
-            <key> <string>_mapping</string> </key>
-            <value>
-              <dictionary/>
-            </value>
-        </item>
-        <item>
-            <key> <string>id</string> </key>
-            <value> <string>worklists</string> </value>
-        </item>
-      </dictionary>
-    </pickle>
-  </record>
-</ZopeData>
diff --git a/bt5/erp5_trade/bt/revision b/bt5/erp5_trade/bt/revision
index 20d91f52a5..03b7719c61 100644
--- a/bt5/erp5_trade/bt/revision
+++ b/bt5/erp5_trade/bt/revision
@@ -1 +1 @@
-963
\ No newline at end of file
+964
diff --git a/bt5/erp5_trade/bt/template_portal_type_workflow_chain_list b/bt5/erp5_trade/bt/template_portal_type_workflow_chain_list
index 23eb81eec8..f769f76da9 100644
--- a/bt5/erp5_trade/bt/template_portal_type_workflow_chain_list
+++ b/bt5/erp5_trade/bt/template_portal_type_workflow_chain_list
@@ -26,7 +26,7 @@ Internal Order Cell | pricing_interaction_workflow
 Internal Order Line | delivery_movement_causality_interaction_workflow
 Internal Order Line | delivery_movement_simulation_interaction_workflow
 Internal Order Line | edit_workflow
-Internal Order Line | movement_base_contribution_interaction_workflow
+Internal Order Line | movement_resource_interaction_workflow
 Internal Order Line | pricing_interaction_workflow
 Internal Order Line | trade_matrix_workflow
 Internal Order | delivery_causality_interaction_workflow
@@ -40,7 +40,7 @@ Internal Packing List Cell | pricing_interaction_workflow
 Internal Packing List Line | delivery_movement_causality_interaction_workflow
 Internal Packing List Line | delivery_movement_simulation_interaction_workflow
 Internal Packing List Line | edit_workflow
-Internal Packing List Line | movement_base_contribution_interaction_workflow
+Internal Packing List Line | movement_resource_interaction_workflow
 Internal Packing List Line | pricing_interaction_workflow
 Internal Packing List Line | trade_matrix_workflow
 Internal Packing List | delivery_causality_interaction_workflow
@@ -66,7 +66,7 @@ Purchase Order Cell | pricing_interaction_workflow
 Purchase Order Line | delivery_movement_causality_interaction_workflow
 Purchase Order Line | delivery_movement_simulation_interaction_workflow
 Purchase Order Line | edit_workflow
-Purchase Order Line | movement_base_contribution_interaction_workflow
+Purchase Order Line | movement_resource_interaction_workflow
 Purchase Order Line | pricing_interaction_workflow
 Purchase Order Line | trade_matrix_workflow
 Purchase Order | delivery_causality_interaction_workflow
@@ -80,7 +80,7 @@ Purchase Packing List Cell | pricing_interaction_workflow
 Purchase Packing List Line | delivery_movement_causality_interaction_workflow
 Purchase Packing List Line | delivery_movement_simulation_interaction_workflow
 Purchase Packing List Line | edit_workflow
-Purchase Packing List Line | movement_base_contribution_interaction_workflow
+Purchase Packing List Line | movement_resource_interaction_workflow
 Purchase Packing List Line | pricing_interaction_workflow
 Purchase Packing List Line | trade_matrix_workflow
 Purchase Packing List | delivery_causality_interaction_workflow
@@ -96,7 +96,7 @@ Returned Purchase Packing List Cell | pricing_interaction_workflow
 Returned Purchase Packing List Line | delivery_movement_causality_interaction_workflow
 Returned Purchase Packing List Line | delivery_movement_simulation_interaction_workflow
 Returned Purchase Packing List Line | edit_workflow
-Returned Purchase Packing List Line | movement_base_contribution_interaction_workflow
+Returned Purchase Packing List Line | movement_resource_interaction_workflow
 Returned Purchase Packing List Line | pricing_interaction_workflow
 Returned Purchase Packing List Line | trade_matrix_workflow
 Returned Purchase Packing List | delivery_causality_interaction_workflow
@@ -110,7 +110,7 @@ Returned Sale Packing List Cell | pricing_interaction_workflow
 Returned Sale Packing List Line | delivery_movement_causality_interaction_workflow
 Returned Sale Packing List Line | delivery_movement_simulation_interaction_workflow
 Returned Sale Packing List Line | edit_workflow
-Returned Sale Packing List Line | movement_base_contribution_interaction_workflow
+Returned Sale Packing List Line | movement_resource_interaction_workflow
 Returned Sale Packing List Line | pricing_interaction_workflow
 Returned Sale Packing List Line | trade_matrix_workflow
 Returned Sale Packing List | delivery_causality_interaction_workflow
@@ -125,7 +125,7 @@ Sale Order Cell | pricing_interaction_workflow
 Sale Order Line | delivery_movement_causality_interaction_workflow
 Sale Order Line | delivery_movement_simulation_interaction_workflow
 Sale Order Line | edit_workflow
-Sale Order Line | movement_base_contribution_interaction_workflow
+Sale Order Line | movement_resource_interaction_workflow
 Sale Order Line | pricing_interaction_workflow
 Sale Order Line | trade_matrix_workflow
 Sale Order | delivery_causality_interaction_workflow
@@ -141,7 +141,7 @@ Sale Packing List Line | container_interaction_workflow
 Sale Packing List Line | delivery_movement_causality_interaction_workflow
 Sale Packing List Line | delivery_movement_simulation_interaction_workflow
 Sale Packing List Line | edit_workflow
-Sale Packing List Line | movement_base_contribution_interaction_workflow
+Sale Packing List Line | movement_resource_interaction_workflow
 Sale Packing List Line | pricing_interaction_workflow
 Sale Packing List Line | trade_matrix_workflow
 Sale Packing List | delivery_causality_interaction_workflow
diff --git a/bt5/erp5_trade/bt/template_workflow_id_list b/bt5/erp5_trade/bt/template_workflow_id_list
index 4cb66e3ab6..17d4e7f164 100644
--- a/bt5/erp5_trade/bt/template_workflow_id_list
+++ b/bt5/erp5_trade/bt/template_workflow_id_list
@@ -1,7 +1,6 @@
 container_interaction_workflow
 internal_packing_list_workflow
 inventory_workflow
-movement_base_contribution_interaction_workflow
 order_workflow
 packing_list_container_workflow
 packing_list_workflow
-- 
2.30.9


From a91b21457afe29ca622edbe0a1a0731da124a4bc Mon Sep 17 00:00:00 2001
From: Nicolas Dumazet <nicolas.dumazet@nexedi.com>
Date: Wed, 28 Jul 2010 02:37:37 +0000
Subject: [PATCH 147/270] Missing in previous commit

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@37308 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 .../workflow_chain_type.xml                      | 16 ++++++++--------
 bt5/erp5_trade/bt/revision                       |  2 +-
 2 files changed, 9 insertions(+), 9 deletions(-)

diff --git a/bt5/erp5_trade/PortalTypeWorkflowChainTemplateItem/workflow_chain_type.xml b/bt5/erp5_trade/PortalTypeWorkflowChainTemplateItem/workflow_chain_type.xml
index 24a2574dc8..7f4bf49dbd 100644
--- a/bt5/erp5_trade/PortalTypeWorkflowChainTemplateItem/workflow_chain_type.xml
+++ b/bt5/erp5_trade/PortalTypeWorkflowChainTemplateItem/workflow_chain_type.xml
@@ -49,7 +49,7 @@
  </chain>
  <chain>
   <type>Internal Order Line</type>
-  <workflow>delivery_movement_causality_interaction_workflow, delivery_movement_simulation_interaction_workflow, edit_workflow, movement_base_contribution_interaction_workflow, pricing_interaction_workflow, trade_matrix_workflow</workflow>
+  <workflow>delivery_movement_causality_interaction_workflow, delivery_movement_simulation_interaction_workflow, edit_workflow, movement_resource_interaction_workflow, pricing_interaction_workflow, trade_matrix_workflow</workflow>
  </chain>
  <chain>
   <type>Internal Packing List</type>
@@ -61,7 +61,7 @@
  </chain>
  <chain>
   <type>Internal Packing List Line</type>
-  <workflow>delivery_movement_causality_interaction_workflow, delivery_movement_simulation_interaction_workflow, edit_workflow, movement_base_contribution_interaction_workflow, pricing_interaction_workflow, trade_matrix_workflow</workflow>
+  <workflow>delivery_movement_causality_interaction_workflow, delivery_movement_simulation_interaction_workflow, edit_workflow, movement_resource_interaction_workflow, pricing_interaction_workflow, trade_matrix_workflow</workflow>
  </chain>
  <chain>
   <type>Inventory</type>
@@ -97,7 +97,7 @@
  </chain>
  <chain>
   <type>Purchase Order Line</type>
-  <workflow>delivery_movement_causality_interaction_workflow, delivery_movement_simulation_interaction_workflow, edit_workflow, movement_base_contribution_interaction_workflow, pricing_interaction_workflow, trade_matrix_workflow</workflow>
+  <workflow>delivery_movement_causality_interaction_workflow, delivery_movement_simulation_interaction_workflow, edit_workflow, movement_resource_interaction_workflow, pricing_interaction_workflow, trade_matrix_workflow</workflow>
  </chain>
  <chain>
   <type>Purchase Packing List</type>
@@ -109,7 +109,7 @@
  </chain>
  <chain>
   <type>Purchase Packing List Line</type>
-  <workflow>delivery_movement_causality_interaction_workflow, delivery_movement_simulation_interaction_workflow, edit_workflow, movement_base_contribution_interaction_workflow, pricing_interaction_workflow, trade_matrix_workflow</workflow>
+  <workflow>delivery_movement_causality_interaction_workflow, delivery_movement_simulation_interaction_workflow, edit_workflow, movement_resource_interaction_workflow, pricing_interaction_workflow, trade_matrix_workflow</workflow>
  </chain>
  <chain>
   <type>Purchase Trade Condition</type>
@@ -125,7 +125,7 @@
  </chain>
  <chain>
   <type>Returned Purchase Packing List Line</type>
-  <workflow>delivery_movement_causality_interaction_workflow, delivery_movement_simulation_interaction_workflow, edit_workflow, movement_base_contribution_interaction_workflow, pricing_interaction_workflow, trade_matrix_workflow</workflow>
+  <workflow>delivery_movement_causality_interaction_workflow, delivery_movement_simulation_interaction_workflow, edit_workflow, movement_resource_interaction_workflow, pricing_interaction_workflow, trade_matrix_workflow</workflow>
  </chain>
  <chain>
   <type>Returned Sale Packing List</type>
@@ -137,7 +137,7 @@
  </chain>
  <chain>
   <type>Returned Sale Packing List Line</type>
-  <workflow>delivery_movement_causality_interaction_workflow, delivery_movement_simulation_interaction_workflow, edit_workflow, movement_base_contribution_interaction_workflow, pricing_interaction_workflow, trade_matrix_workflow</workflow>
+  <workflow>delivery_movement_causality_interaction_workflow, delivery_movement_simulation_interaction_workflow, edit_workflow, movement_resource_interaction_workflow, pricing_interaction_workflow, trade_matrix_workflow</workflow>
  </chain>
  <chain>
   <type>Sale Order</type>
@@ -149,7 +149,7 @@
  </chain>
  <chain>
   <type>Sale Order Line</type>
-  <workflow>delivery_movement_causality_interaction_workflow, delivery_movement_simulation_interaction_workflow, edit_workflow, movement_base_contribution_interaction_workflow, pricing_interaction_workflow, trade_matrix_workflow</workflow>
+  <workflow>delivery_movement_causality_interaction_workflow, delivery_movement_simulation_interaction_workflow, edit_workflow, movement_resource_interaction_workflow, pricing_interaction_workflow, trade_matrix_workflow</workflow>
  </chain>
  <chain>
   <type>Sale Packing List</type>
@@ -161,7 +161,7 @@
  </chain>
  <chain>
   <type>Sale Packing List Line</type>
-  <workflow>container_interaction_workflow, delivery_movement_causality_interaction_workflow, delivery_movement_simulation_interaction_workflow, edit_workflow, movement_base_contribution_interaction_workflow, pricing_interaction_workflow, trade_matrix_workflow</workflow>
+  <workflow>container_interaction_workflow, delivery_movement_causality_interaction_workflow, delivery_movement_simulation_interaction_workflow, edit_workflow, movement_resource_interaction_workflow, pricing_interaction_workflow, trade_matrix_workflow</workflow>
  </chain>
  <chain>
   <type>Sale Trade Condition</type>
diff --git a/bt5/erp5_trade/bt/revision b/bt5/erp5_trade/bt/revision
index 03b7719c61..aa5bea4ec6 100644
--- a/bt5/erp5_trade/bt/revision
+++ b/bt5/erp5_trade/bt/revision
@@ -1 +1 @@
-964
+965
-- 
2.30.9


From d0098e4393e12513f6dd81a3aededddf9bf02faf Mon Sep 17 00:00:00 2001
From: Nicolas Dumazet <nicolas.dumazet@nexedi.com>
Date: Wed, 28 Jul 2010 02:39:16 +0000
Subject: [PATCH 148/270] movement_base_contribution_interaction_workflow was
 renamed to movement_resource_interaction_workflow

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@37309 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 .../PortalTypeWorkflowChainTemplateItem/workflow_chain_type.xml | 2 +-
 bt5/erp5_invoicing/bt/revision                                  | 2 +-
 bt5/erp5_invoicing/bt/template_portal_type_workflow_chain_list  | 2 +-
 3 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/bt5/erp5_invoicing/PortalTypeWorkflowChainTemplateItem/workflow_chain_type.xml b/bt5/erp5_invoicing/PortalTypeWorkflowChainTemplateItem/workflow_chain_type.xml
index 816a99f9a9..e29c99bd1b 100644
--- a/bt5/erp5_invoicing/PortalTypeWorkflowChainTemplateItem/workflow_chain_type.xml
+++ b/bt5/erp5_invoicing/PortalTypeWorkflowChainTemplateItem/workflow_chain_type.xml
@@ -5,7 +5,7 @@
  </chain>
  <chain>
   <type>Invoice Line</type>
-  <workflow>delivery_movement_causality_interaction_workflow, delivery_movement_simulation_interaction_workflow, edit_workflow, movement_base_contribution_interaction_workflow, pricing_interaction_workflow, trade_matrix_workflow</workflow>
+  <workflow>delivery_movement_causality_interaction_workflow, delivery_movement_simulation_interaction_workflow, edit_workflow, movement_resource_interaction_workflow, pricing_interaction_workflow, trade_matrix_workflow</workflow>
  </chain>
  <chain>
   <type>Invoice Simulation Rule</type>
diff --git a/bt5/erp5_invoicing/bt/revision b/bt5/erp5_invoicing/bt/revision
index 2a9c18ad50..b4eed3b8ac 100644
--- a/bt5/erp5_invoicing/bt/revision
+++ b/bt5/erp5_invoicing/bt/revision
@@ -1 +1 @@
-357
\ No newline at end of file
+358
diff --git a/bt5/erp5_invoicing/bt/template_portal_type_workflow_chain_list b/bt5/erp5_invoicing/bt/template_portal_type_workflow_chain_list
index ebb69ba53b..4278c2df41 100644
--- a/bt5/erp5_invoicing/bt/template_portal_type_workflow_chain_list
+++ b/bt5/erp5_invoicing/bt/template_portal_type_workflow_chain_list
@@ -5,7 +5,7 @@ Invoice Cell | pricing_interaction_workflow
 Invoice Line | delivery_movement_causality_interaction_workflow
 Invoice Line | delivery_movement_simulation_interaction_workflow
 Invoice Line | edit_workflow
-Invoice Line | movement_base_contribution_interaction_workflow
+Invoice Line | movement_resource_interaction_workflow
 Invoice Line | pricing_interaction_workflow
 Invoice Line | trade_matrix_workflow
 Invoice Simulation Rule | edit_workflow
-- 
2.30.9


From 28c80581fefdfde9ed74cfd4fd228d82507ffe0a Mon Sep 17 00:00:00 2001
From: Nicolas Dumazet <nicolas.dumazet@nexedi.com>
Date: Wed, 28 Jul 2010 02:42:19 +0000
Subject: [PATCH 149/270] add movement_resource_interaction_workflow to
 Accounting Transaction Line to ensure backwards compatibility

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@37310 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 .../PortalTypeWorkflowChainTemplateItem/workflow_chain_type.xml | 2 +-
 bt5/erp5_accounting/bt/revision                                 | 2 +-
 bt5/erp5_accounting/bt/template_portal_type_workflow_chain_list | 1 +
 3 files changed, 3 insertions(+), 2 deletions(-)

diff --git a/bt5/erp5_accounting/PortalTypeWorkflowChainTemplateItem/workflow_chain_type.xml b/bt5/erp5_accounting/PortalTypeWorkflowChainTemplateItem/workflow_chain_type.xml
index 99a4d2d1fa..c2f0a86bda 100644
--- a/bt5/erp5_accounting/PortalTypeWorkflowChainTemplateItem/workflow_chain_type.xml
+++ b/bt5/erp5_accounting/PortalTypeWorkflowChainTemplateItem/workflow_chain_type.xml
@@ -13,7 +13,7 @@
  </chain>
  <chain>
   <type>Accounting Transaction Line</type>
-  <workflow>delivery_movement_causality_interaction_workflow, delivery_movement_simulation_interaction_workflow, edit_workflow</workflow>
+  <workflow>delivery_movement_causality_interaction_workflow, delivery_movement_simulation_interaction_workflow, edit_workflow, movement_resource_interaction_workflow</workflow>
  </chain>
  <chain>
   <type>Accounting Transaction Root Simulation Rule</type>
diff --git a/bt5/erp5_accounting/bt/revision b/bt5/erp5_accounting/bt/revision
index 3af922bef4..cd227f135e 100644
--- a/bt5/erp5_accounting/bt/revision
+++ b/bt5/erp5_accounting/bt/revision
@@ -1 +1 @@
-1315
\ No newline at end of file
+1316
\ No newline at end of file
diff --git a/bt5/erp5_accounting/bt/template_portal_type_workflow_chain_list b/bt5/erp5_accounting/bt/template_portal_type_workflow_chain_list
index 0d23df8d50..6656e55b6a 100644
--- a/bt5/erp5_accounting/bt/template_portal_type_workflow_chain_list
+++ b/bt5/erp5_accounting/bt/template_portal_type_workflow_chain_list
@@ -5,6 +5,7 @@ Accounting Period | edit_workflow
 Accounting Transaction Line | delivery_movement_causality_interaction_workflow
 Accounting Transaction Line | delivery_movement_simulation_interaction_workflow
 Accounting Transaction Line | edit_workflow
+Accounting Transaction Line | movement_resource_interaction_workflow
 Accounting Transaction Root Simulation Rule | edit_workflow
 Accounting Transaction Root Simulation Rule | rule_validation_workflow
 Accounting Transaction | accounting_workflow
-- 
2.30.9


From 2f23cd2fea245bc945bbeaa008092c61ec86a417 Mon Sep 17 00:00:00 2001
From: Nicolas Dumazet <nicolas.dumazet@nexedi.com>
Date: Wed, 28 Jul 2010 05:42:40 +0000
Subject: [PATCH 150/270] add Manager Proxy role to workflow script, and fix
 category target

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@37311 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 .../scripts/Movement_copyQuantityUnitFromResource.xml  | 10 +++++++++-
 bt5/erp5_base/bt/revision                              |  2 +-
 2 files changed, 10 insertions(+), 2 deletions(-)

diff --git a/bt5/erp5_base/WorkflowTemplateItem/portal_workflow/movement_resource_interaction_workflow/scripts/Movement_copyQuantityUnitFromResource.xml b/bt5/erp5_base/WorkflowTemplateItem/portal_workflow/movement_resource_interaction_workflow/scripts/Movement_copyQuantityUnitFromResource.xml
index 549be255c2..a316097050 100644
--- a/bt5/erp5_base/WorkflowTemplateItem/portal_workflow/movement_resource_interaction_workflow/scripts/Movement_copyQuantityUnitFromResource.xml
+++ b/bt5/erp5_base/WorkflowTemplateItem/portal_workflow/movement_resource_interaction_workflow/scripts/Movement_copyQuantityUnitFromResource.xml
@@ -57,7 +57,7 @@
 \n
 resource = movement.getResourceValue()\n
 if resource is not None:\n
-  movement.setBaseContributionList(resource.getBaseContributionList())\n
+  movement.setQuantityUnitList(resource.getQuantityUnitList())\n
 </string> </value>
         </item>
         <item>
@@ -70,6 +70,14 @@ if resource is not None:\n
             <key> <string>_params</string> </key>
             <value> <string>state_change</string> </value>
         </item>
+        <item>
+            <key> <string>_proxy_roles</string> </key>
+            <value>
+              <tuple>
+                <string>Manager</string>
+              </tuple>
+            </value>
+        </item>
         <item>
             <key> <string>errors</string> </key>
             <value>
diff --git a/bt5/erp5_base/bt/revision b/bt5/erp5_base/bt/revision
index ae645ab7e8..68c7a41704 100644
--- a/bt5/erp5_base/bt/revision
+++ b/bt5/erp5_base/bt/revision
@@ -1 +1 @@
-817
+818
-- 
2.30.9


From 5aca0037e44e54483d3cf0f47a86266277e21946 Mon Sep 17 00:00:00 2001
From: Nicolas Dumazet <nicolas.dumazet@nexedi.com>
Date: Wed, 28 Jul 2010 07:45:09 +0000
Subject: [PATCH 151/270] that log message is not useful and pollutes test
 output.

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@37312 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 product/ERP5/tests/testTradeModelLine.py | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/product/ERP5/tests/testTradeModelLine.py b/product/ERP5/tests/testTradeModelLine.py
index adb34de74f..ba0316564e 100644
--- a/product/ERP5/tests/testTradeModelLine.py
+++ b/product/ERP5/tests/testTradeModelLine.py
@@ -377,7 +377,8 @@ class TestTradeModelLine(TestTradeModelLineMixin):
     self.assertEqual('packed', packing_list.getContainerState() )
 
   def stepCheckInvoiceNormalMovements(self, sequence=None, **kw):
-    self.logMessage('Assuming, that it is good...')
+    # XXX implement... something, maybe?
+    pass
 
   def stepCheckInvoiceAccountingMovements(self, sequence=None, **kw):
     invoice = sequence.get('invoice')
-- 
2.30.9


From 2e8cde4523bc34e4dda15c7dc8869b7c9ed5119b Mon Sep 17 00:00:00 2001
From: Ivan Tyagov <ivan@nexedi.com>
Date: Wed, 28 Jul 2010 08:02:23 +0000
Subject: [PATCH 152/270] Listbox can define default display list.

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@37313 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 product/ERP5Form/ListBox.py | 17 ++++++++++++++++-
 1 file changed, 16 insertions(+), 1 deletion(-)

diff --git a/product/ERP5Form/ListBox.py b/product/ERP5Form/ListBox.py
index 0658369289..4ce9bca75c 100644
--- a/product/ERP5Form/ListBox.py
+++ b/product/ERP5Form/ListBox.py
@@ -397,6 +397,14 @@ class ListBoxWidget(Widget.Widget):
                                 required=0)
     property_names.append('display_style_list')
 
+    default_display_style = fields.StringField('default_display_style',
+                                title="Default display style",
+                                description=(
+        "A default display style for listbox rendering."),
+                                default='table',
+                                required=0)
+    property_names.append('default_display_style')
+
     list_action = fields.StringField('list_action',
                                  title='List Action',
                                  description=('The id of the object action'
@@ -933,6 +941,14 @@ class ListBoxRenderer:
 
   getDisplayStyleList = lazyMethod(getDisplayStyleList)
 
+  def getDefaultDisplayStyle(self):
+    """Return the list of avaible display style. Make sure that the 
+    titles are in unicode"""
+    default_display_style = self.field.get_value('default_display_style')
+    return default_display_style
+
+  getDefaultDisplayStyle = lazyMethod(getDefaultDisplayStyle)
+
   def getSearchColumnIdSet(self):
     """Return the set of the ids of the search columns. Fall back to the catalog schema, if not defined.
     """
@@ -2426,7 +2442,6 @@ class ListBoxHTMLRendererLine(ListBoxRendererLine):
           html = u'<a href="%s">%s</a>' % (url, html)
 
       html_list.append((html, original_value, error, editable_field, url))
-
     return html_list
 
 allow_class(ListBoxHTMLRendererLine)
-- 
2.30.9


From f7ffbd2be4bc6671e9a2c6dfb239a75382c274da Mon Sep 17 00:00:00 2001
From: Ivan Tyagov <ivan@nexedi.com>
Date: Wed, 28 Jul 2010 08:47:33 +0000
Subject: [PATCH 153/270] When showing search results define other listbox
 modes and mark current one. Follow CSS convention.

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@37314 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 .../erp5_km_theme/ListBox_asHTML.xml          | 26 ++++++++-----------
 .../listbox.xml                               | 19 +++++++++++++-
 .../erp5_km_theme/km_css/listbox.css.xml      | 14 +++++-----
 bt5/erp5_km/bt/revision                       |  2 +-
 4 files changed, 38 insertions(+), 23 deletions(-)

diff --git a/bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km_theme/ListBox_asHTML.xml b/bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km_theme/ListBox_asHTML.xml
index 4fb8c3d0fa..f060a18b37 100644
--- a/bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km_theme/ListBox_asHTML.xml
+++ b/bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km_theme/ListBox_asHTML.xml
@@ -62,10 +62,11 @@
               show_search_line here/showSearchLine;\n
               is_web_mode request/is_web_mode | nothing;\n
               is_dialog_mode request/dialog_mode | nothing;\n
+              display_style_list here/getDisplayStyleList;\n
               list_style python:request.get(\'list_style\', \n
-              selection.getParams().get(\'list_style\', is_web_mode and \'table\' or None));\n
+                                             selection.getParams().get(\'list_style\', here.getDefaultDisplayStyle()));\n
               dummy python: list_style == \'search\' and here.setDisplayedColumnIdList((\'getIconAsHTML\', \'getSummaryAsHTML\'))\n
-                         or list_style == \'thumb\' and here.setDisplayedColumnIdList((\'title\', \'thumbnail\'));\n
+                           or list_style == \'thumbnail\' and here.setDisplayedColumnIdList((\'title\', \'thumbnail\'));\n
               line_list here/query;\n
               listbox_max_lines  python: int(here.getMaxLineNumber());\n
               total_line         python: int(here.total_size);\n
@@ -73,10 +74,8 @@
               current_page_max   python: listbox_max_lines * current_page;\n
               current_page_start python: (listbox_max_lines * (current_page - 1)) + 1;\n
               current_page_stop  python: (total_line < current_page_max) and total_line or current_page_max;\n
-\n
               listbox_id request/current_form_id | form_id ;\n
               listbox_url string:${context_url}/${listbox_id};\n
-\n
               ">\n
 \n
   <!-- Define hidden input.  -->\n
@@ -438,19 +437,16 @@
       </div>\n
 \n
       <!-- Choose display mode -->\n
-      <!--TODO define show_display_selection-->\n
-      <div  tal:define="style_list here/getDisplayStyleList"\n
-            tal:condition="python: not is_gadget_mode and len(style_list) > 0"\n
-            class="display_selection"\n
-            i18n:domain="ui">\n
-        <span i18n:translate="">Display :</span>\n
+      <!--TODO define show_display_selection macro-->\n
+      <div tal:condition="python: len(display_style_list) > 0"\n
+           class="list-style-selection">\n
+        <span i18n:translate="" i18n:domain="ui">Display :</span>\n
         <ul>\n
-          <li tal:repeat="style style_list">\n
-            <a tal:attributes="href python: \'%s?list_style=%s\' % (listbox_url, style[0])"\n
+          <li tal:repeat="style display_style_list">\n
+            <a tal:attributes="href python: \'%s?list_style=%s\' % (listbox_url, style[0]);\n
+                               class python: test(style[0]==list_style, \'selected\',\'\');"\n
                tal:content="python: style[1]"\n
-                i18n:translate="">\n
-              Tabular\n
-            </a>\n
+               i18n:translate="" i18n:domain="ui"/>\n
           </li>\n
         </ul>\n
       </div>\n
diff --git a/bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km_theme/WebSite_viewAdvancedSearchResultList/listbox.xml b/bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km_theme/WebSite_viewAdvancedSearchResultList/listbox.xml
index c13e07dfe0..3d9e7e460a 100644
--- a/bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km_theme/WebSite_viewAdvancedSearchResultList/listbox.xml
+++ b/bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km_theme/WebSite_viewAdvancedSearchResultList/listbox.xml
@@ -384,6 +384,10 @@
                     <key> <string>default</string> </key>
                     <value> <string></string> </value>
                 </item>
+                <item>
+                    <key> <string>default_display_style</string> </key>
+                    <value> <string>search</string> </value>
+                </item>
                 <item>
                     <key> <string>default_params</string> </key>
                     <value>
@@ -397,7 +401,20 @@
                 <item>
                     <key> <string>display_style_list</string> </key>
                     <value>
-                      <list/>
+                      <list>
+                        <tuple>
+                          <string>table</string>
+                          <string>table</string>
+                        </tuple>
+                        <tuple>
+                          <string>search</string>
+                          <string>search</string>
+                        </tuple>
+                        <tuple>
+                          <string>thumbnail</string>
+                          <string>thumbnail</string>
+                        </tuple>
+                      </list>
                     </value>
                 </item>
                 <item>
diff --git a/bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km_theme/km_css/listbox.css.xml b/bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km_theme/km_css/listbox.css.xml
index 781e3c2a00..4df159aab5 100644
--- a/bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km_theme/km_css/listbox.css.xml
+++ b/bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km_theme/km_css/listbox.css.xml
@@ -218,26 +218,28 @@ div.search_popup{\n
   float:left;\n
 }\n
 \n
-/*Display selection choice*/\n
-.display_selection {\n
+/* List style selection */\n
+div.list-style-selection {\n
   width:auto;\n
   float:left;\n
 }\n
-.display_selection span{\n
+div.list-style-selection span{\n
   font-weight:bold;\n
   padding-left:10px;\n
   vertical-align:-4px;\n
 }\n
-.display_selection ul{\n
+div.list-style-selection ul{\n
   display:inline;\n
   padding-left:0;\n
   margin: 0;\n
   vertical-align: -4px;\n
 }\n
-.display_selection li{\n
+div.list-style-selection li{\n
   display: inline;\n
 }\n
-\n
+div.list-style-selection li a.selected{\n
+  font-weight: bold;\n
+}\n
 /* Search bar */\n
 div.extendedSearchBar {\n
   float:left;\n
diff --git a/bt5/erp5_km/bt/revision b/bt5/erp5_km/bt/revision
index aeef4a7483..bcddd5d377 100644
--- a/bt5/erp5_km/bt/revision
+++ b/bt5/erp5_km/bt/revision
@@ -1 +1 @@
-1493
\ No newline at end of file
+1494
\ No newline at end of file
-- 
2.30.9


From 3248a10dae45eb9d7d7149ab2c6fe0aef961a59e Mon Sep 17 00:00:00 2001
From: Nicolas Dumazet <nicolas.dumazet@nexedi.com>
Date: Wed, 28 Jul 2010 09:42:48 +0000
Subject: [PATCH 154/270] use key argument to sort instead of cmp

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@37315 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 product/ERP5/Document/TradeCondition.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/product/ERP5/Document/TradeCondition.py b/product/ERP5/Document/TradeCondition.py
index c0883dbce3..505ec5fb16 100644
--- a/product/ERP5/Document/TradeCondition.py
+++ b/product/ERP5/Document/TradeCondition.py
@@ -208,7 +208,7 @@ class TradeCondition(Path, Transformation):
       ### If all items in final_list has int_index value, then sort it by
       ### int_index to solve undetermined order problem.
       if len([item for item in final_list if not item.getIntIndex()])==0:
-        final_list.sort(lambda a, b:cmp(a.getIntIndex(), b.getIntIndex()))
+        final_list.sort(key=lambda a:a.getIntIndex())
 
       return final_list
 
-- 
2.30.9


From 2341fbc45a5c3c763c9fa1b6bea3aad2db99b41e Mon Sep 17 00:00:00 2001
From: Nicolas Dumazet <nicolas.dumazet@nexedi.com>
Date: Wed, 28 Jul 2010 09:50:19 +0000
Subject: [PATCH 155/270] set int_index to order Trade Model Lines correctly.

(acked by Yusei)


git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@37316 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 product/ERP5/tests/testTradeModelLine.py | 11 +++++++----
 1 file changed, 7 insertions(+), 4 deletions(-)

diff --git a/product/ERP5/tests/testTradeModelLine.py b/product/ERP5/tests/testTradeModelLine.py
index ba0316564e..ff386fcec1 100644
--- a/product/ERP5/tests/testTradeModelLine.py
+++ b/product/ERP5/tests/testTradeModelLine.py
@@ -2448,13 +2448,16 @@ class TestTradeModelLine(TestTradeModelLineMixin):
       and trade model line can works with appropriate context(delivery or
       movement) only.
     """
+    ## XXX int_index are used in this test to order Trade Model Lines to make
+    # sure that Discount is applied first.
+
     trade_condition = self.createTradeCondition()
     # create a model line and set target level to `delivery`.
     tax = self.createTradeModelLine(trade_condition,
                                     reference='TAX',
                                     base_application_list=['base_amount/tax'],
                                     base_contribution_list=['base_amount/total_tax'])
-    tax.edit(price=0.05, target_level=TARGET_LEVEL_DELIVERY)
+    tax.edit(price=0.05, target_level=TARGET_LEVEL_DELIVERY, int_index=4)
 
     # create an order.
     resource_A = self.createResource('Product', title='A')
@@ -2510,19 +2513,19 @@ class TestTradeModelLine(TestTradeModelLineMixin):
 current_movement.setQuantity(100)
 return current_movement
 """)
-    extra_fee_a.edit(price=1, target_level=TARGET_LEVEL_MOVEMENT,
+    extra_fee_a.edit(price=1, target_level=TARGET_LEVEL_MOVEMENT, int_index=3,
                      calculation_script_id='TradeModelLine_calculateExtraFeeA')
     # Extra fee b has a fixed quantity so that this trade model line is applied
     # to all movements by force.
     extra_fee_b = self.createTradeModelLine(trade_condition,
                                             reference='EXTRA_FEE_B',
                                             base_contribution_list=['base_amount/total'])
-    extra_fee_b.edit(quantity=1, price=1, target_level=TARGET_LEVEL_MOVEMENT)
+    extra_fee_b.edit(quantity=1, price=1, target_level=TARGET_LEVEL_MOVEMENT, int_index=2)
     # for delivery level
     discount = self.createTradeModelLine(trade_condition,
                                          reference='DISCOUNT_B',
                                          base_contribution_list=['base_amount/total'],)
-    discount.edit(quantity=10, price=-1, target_level=TARGET_LEVEL_DELIVERY)
+    discount.edit(quantity=10, price=-1, target_level=TARGET_LEVEL_DELIVERY, int_index=1)
 
     transaction.commit() # flush transactional cache
 
-- 
2.30.9


From 84aaa003ad1d07fc455a0f0ef82a1346f3dc0ed6 Mon Sep 17 00:00:00 2001
From: Nicolas Dumazet <nicolas.dumazet@nexedi.com>
Date: Wed, 28 Jul 2010 09:56:40 +0000
Subject: [PATCH 156/270] this fix is not needed anymore, now that
 movement_resource_interaction_workflow handles this.

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@37317 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 product/ERP5/tests/testTradeReports.py | 3 ---
 1 file changed, 3 deletions(-)

diff --git a/product/ERP5/tests/testTradeReports.py b/product/ERP5/tests/testTradeReports.py
index e77261ac44..8318bdf096 100644
--- a/product/ERP5/tests/testTradeReports.py
+++ b/product/ERP5/tests/testTradeReports.py
@@ -212,9 +212,6 @@ class TestTradeReports(ERP5ReportTestCase):
                                               resource=product,
                                               quantity=values["quantity"],
                                               price=values["price"])
-      # use default quantity unit from resource
-      sale_order_line.setQuantityUnit(
-          sale_order_line.getResourceValue().getDefaultQuantityUnit())
       
     self.assertEquals(sale_order.getSimulationState(), 'draft')
     if cancel:
-- 
2.30.9


From 7c4878f9a9fa78c795ef8850afc14a874c790f11 Mon Sep 17 00:00:00 2001
From: Ivan Tyagov <ivan@nexedi.com>
Date: Wed, 28 Jul 2010 10:26:56 +0000
Subject: [PATCH 157/270] Identation. We should show 'select column' in any
 listbox mode if it's set (not just hide itforn gadget mode globally - i.e. if
 a form's listbox needs to hide / show this column it must be configured
 explicitly rather than hard coded globally).

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@37318 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 .../erp5_km_theme/ListBox_asHTML.xml          | 44 +++++++++----------
 bt5/erp5_km/bt/revision                       |  2 +-
 2 files changed, 23 insertions(+), 23 deletions(-)

diff --git a/bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km_theme/ListBox_asHTML.xml b/bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km_theme/ListBox_asHTML.xml
index f060a18b37..b516f77e0a 100644
--- a/bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km_theme/ListBox_asHTML.xml
+++ b/bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km_theme/ListBox_asHTML.xml
@@ -148,8 +148,7 @@
       <span tal:condition="python: here.getTitle() and total_line>0"> - </span>\n
       <!--Show search result -->\n
       <span tal:condition="python: total_line > 0"\n
-        tal:replace="structure python: real_context.Base_translateString(\'Results <em>${start} - ${stop}</em> of <em>${total}</em>.\', mapping=dict(start=current_page_start, stop=current_page_stop, total=total_line))"\n
-      />\n
+        tal:replace="structure python: real_context.Base_translateString(\'Results <em>${start} - ${stop}</em> of <em>${total}</em>.\', mapping=dict(start=current_page_start, stop=current_page_stop, total=total_line))"/>\n
 \n
       <!-- Set a slot for additional content ? -->\n
     </div>\n
@@ -177,7 +176,7 @@
                 &nbsp;\n
               </th>\n
               <!--Add colum for checkbox-->\n
-              <th tal:condition="python: show_select_column and not is_gadget_mode"\n
+              <th tal:condition="python: show_select_column"\n
                   class="select_cell"\n
                   style="border-width: 0;\n
                         text-align: center; \n
@@ -201,15 +200,16 @@
                         i18n:domain="ui" i18n:attributes="title" />         \n
                   \n
               </th>\n
+              <!-- Column label row -->\n
               <tal:block tal:repeat="value here/getLabelValueList">\n
-              <tal:block tal:define="sql        python: value[0];\n
-                                    title      python: value[1];\n
-                                    sort_order python: value[2]">\n
-              <th tal:condition="sql"\n
-                  tal:attributes="style python: repeat[\'value\'].index==0 and \'border-width: 0 1px 1px 1px\' or \'\'">                 \n
+                <tal:block tal:define="sql        python: value[0];\n
+                                      title      python: value[1];\n
+                                      sort_order python: value[2]">\n
+                <th tal:condition="sql"\n
+                    tal:attributes="style python: repeat[\'value\'].index==0 and \'border-width: 0 1px 1px 1px\' or \'\'">                 \n
 \n
-                  <!-- Button in normal view -->\n
-                  <button tal:define="\n
+                    <!-- Button in normal view -->\n
+                    <button tal:define="\n
                           bt_class python:  sort_order==\'ascending\' and \'sort_button sort_button_asc\' \n
                           or sort_order == \'descending\' and \'sort_button sort_button_desc\' \n
                           or \'sort_button\'"\n
@@ -221,10 +221,10 @@
                                           class bt_class;"\n
                           i18n:domain="ui" i18n:attributes="title">\n
                       <span tal:content="title" i18n:domain="ui" i18n:translate="">ID</span>\n
-                  </button>\n
+                    </button>\n
 \n
-                  <!-- Button in gadget mode -->\n
-                  <button tal:condition="is_gadget_mode" \n
+                    <!-- Button in gadget mode -->\n
+                    <button tal:condition="is_gadget_mode" \n
                           tal:define ="params python: {\'setSelectionQuickSortOrder:method\':field_id+\'.\'+sql};"\n
                           type="button"  \n
                           class="sort_button"\n
@@ -232,12 +232,12 @@
                                             onclick python: real_context.KnowledgePad_generateAjaxCall(context_url+\'/\'+form_id,box,dom_id,params);"\n
                           i18n:domain="ui" i18n:attributes="title">\n
                           <span tal:content="title" i18n:domain="ui" i18n:translate="">ID</span>\n
-                  </button>\n
-                </th>\n
-                <!--TODO Why not sql is possible ?-->\n
-                <th tal:condition="not: sql" tal:content="title" \n
-                    i18n:domain="ui" i18n:translate=""/>\n
-              </tal:block>\n
+                    </button>\n
+                  </th>\n
+                  <!--TODO Why not sql is possible ?-->\n
+                  <th tal:condition="not: sql" tal:content="title" \n
+                      i18n:domain="ui" i18n:translate=""/>\n
+                </tal:block>\n
               </tal:block>\n
             </tr>\n
 \n
@@ -271,7 +271,7 @@
               <th class="AnchorColumn" tal:condition="show_anchor_column">\n
                 &nbsp;\n
               </th>\n
-              <th tal:condition="python: show_select_column and not is_gadget_mode"\n
+              <th tal:condition="python: show_select_column"\n
                   class="Data" style="text-align: center; vertical-align: middle">\n
                 <input id="listbox_select" type="image"\n
                       title="Action" alt="Action" name="Base_doSelect:method"\n
@@ -337,7 +337,7 @@
                               \n
                   <!--Select column -->\n
                   <!--TODO Define the CSS class !-->\n
-                  <td tal:condition="python: show_select_column and not is_gadget_mode"\n
+                  <td tal:condition="python: show_select_column"\n
                       class="select_cell" style="text-align: center; vertical-align: middle"\n
                       >\n
                   \n
@@ -440,7 +440,7 @@
       <!--TODO define show_display_selection macro-->\n
       <div tal:condition="python: len(display_style_list) > 0"\n
            class="list-style-selection">\n
-        <span i18n:translate="" i18n:domain="ui">Display :</span>\n
+        <span i18n:translate="" i18n:domain="ui">Display:</span>\n
         <ul>\n
           <li tal:repeat="style display_style_list">\n
             <a tal:attributes="href python: \'%s?list_style=%s\' % (listbox_url, style[0]);\n
diff --git a/bt5/erp5_km/bt/revision b/bt5/erp5_km/bt/revision
index bcddd5d377..b6f9e0e3ae 100644
--- a/bt5/erp5_km/bt/revision
+++ b/bt5/erp5_km/bt/revision
@@ -1 +1 @@
-1494
\ No newline at end of file
+1495
\ No newline at end of file
-- 
2.30.9


From 06a4d4a404ac83a7bcdb287fed15512aa3753650 Mon Sep 17 00:00:00 2001
From: Ivan Tyagov <ivan@nexedi.com>
Date: Wed, 28 Jul 2010 10:54:26 +0000
Subject: [PATCH 158/270] Indentation & comments. Small condition optimization.

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@37319 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 .../erp5_km_theme/ListBox_asHTML.xml          | 41 ++++++++++---------
 bt5/erp5_km/bt/revision                       |  2 +-
 2 files changed, 22 insertions(+), 21 deletions(-)

diff --git a/bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km_theme/ListBox_asHTML.xml b/bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km_theme/ListBox_asHTML.xml
index b516f77e0a..6f4583145d 100644
--- a/bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km_theme/ListBox_asHTML.xml
+++ b/bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km_theme/ListBox_asHTML.xml
@@ -200,7 +200,7 @@
                         i18n:domain="ui" i18n:attributes="title" />         \n
                   \n
               </th>\n
-              <!-- Column label row -->\n
+              <!-- Label column row -->\n
               <tal:block tal:repeat="value here/getLabelValueList">\n
                 <tal:block tal:define="sql        python: value[0];\n
                                       title      python: value[1];\n
@@ -279,29 +279,30 @@
                                       src string:${portal_url_string}/images/exec16.png"\n
                       i18n:domain="ui" i18n:attributes="title" />\n
                 </th>\n
+                <!-- Real search columns -->\n
                 <th tal:repeat="value here/getSearchValueList">\n
-                <tal:block tal:define="alias        python: value[0];\n
-                                      param        python: value[1];\n
-                                      search_field python: value[2]"\n
-                            tal:condition="alias">\n
-    \n
-                  <tal:block\n
-                        tal:condition="python: search_field is not None"\n
-                        tal:replace="structure python: search_field.render(value=param, key=alias)"/>\n
-                      \n
-                      <input tal:condition="python: not is_gadget_mode and search_field is None" \n
-                            name="id" size="5" value=""\n
-                            type="text" tal:attributes="name alias; value param"/>\n
+                  <tal:block tal:define="alias        python: value[0];\n
+                                         param        python: value[1];\n
+                                         search_field python: value[2]"\n
+                             tal:condition="alias">\n
+                    <!-- Render search field -->\n
+                    <tal:block tal:condition="python: search_field is not None"\n
+                               tal:replace="structure python: search_field.render(value=param, key=alias)"/>\n
 \n
+                    <tal:block tal:condition="python: search_field is None">\n
+                      <input tal:condition="python: not is_gadget_mode" \n
+                             name="id" size="5" value=""\n
+                             type="text" tal:attributes="name alias; value param"/>\n
                       <!-- Search for gadget mode -->\n
-                      <input tal:condition="python: is_gadget_mode and search_field is None" \n
-                            tal:define ="params python: {alias:\'this.value\'};"\n
-                            size="8"\n
-                            type="textarea" \n
-                            tal:attributes=\'value python: selection.getParams().get(alias,"");\n
-                            onkeypress python:"if(event.keyCode==13){" + real_context.KnowledgePad_generateAjaxCall(context_url+"/"+form_id,box,dom_id,params).replace("\\"this.value\\"","this.value")+ "return false;;}"\'/>\n
+                      <input tal:condition="python: is_gadget_mode" \n
+                             tal:define ="params python: {alias:\'this.value\'};"\n
+                             size="8"\n
+                             type="textarea" \n
+                             tal:attributes=\'value python: selection.getParams().get(alias,"");\n
+                              onkeypress python:"if(event.keyCode==13){" + real_context.KnowledgePad_generateAjaxCall(context_url+"/"+form_id,box,dom_id,params).replace("\\"this.value\\"","this.value")+ "return false;;}"\'/>\n
+                    </tal:block>\n
                   </tal:block>\n
-                  </th>\n
+                </th>\n
                 </tr>\n
           </thead>\n
 \n
diff --git a/bt5/erp5_km/bt/revision b/bt5/erp5_km/bt/revision
index b6f9e0e3ae..f6e16be538 100644
--- a/bt5/erp5_km/bt/revision
+++ b/bt5/erp5_km/bt/revision
@@ -1 +1 @@
-1495
\ No newline at end of file
+1496
\ No newline at end of file
-- 
2.30.9


From 0a0ba8644f747432f5ce419c396a009c67ae7ffb Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C5=81ukasz=20Nowak?= <luke@nexedi.com>
Date: Wed, 28 Jul 2010 11:19:27 +0000
Subject: [PATCH 159/270]  - remove dependent scripts generation, as it can
 lead to uncontrollable side effects (like overwriting bin/buildout with
 another python version, which then lead to change of whole buildout
 signature)

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@37320 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 buildout/software-profiles/python-2.4.cfg | 1 -
 1 file changed, 1 deletion(-)

diff --git a/buildout/software-profiles/python-2.4.cfg b/buildout/software-profiles/python-2.4.cfg
index be595bd73d..23fdf8ee4f 100644
--- a/buildout/software-profiles/python-2.4.cfg
+++ b/buildout/software-profiles/python-2.4.cfg
@@ -29,7 +29,6 @@ eggs = ${eggs:eggs}
   invokepython
 extra-paths =
   ${zope-2.8:location}/lib/python
-dependent-scripts = true
 scripts =
   invokepython=python${python2.4:python_version_major}
   ipython=ipython${python2.4:python_version_major}
-- 
2.30.9


From b9172f826b9fb05f9587cda6562a3bfc0f0afe1a Mon Sep 17 00:00:00 2001
From: Yusei Tahara <yusei@nexedi.com>
Date: Wed, 28 Jul 2010 11:24:09 +0000
Subject: [PATCH 160/270] Includes wrong values to error message.

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@37321 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 product/CMFCategory/CategoryTool.py | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/product/CMFCategory/CategoryTool.py b/product/CMFCategory/CategoryTool.py
index 29d2461543..acf39e26c9 100644
--- a/product/CMFCategory/CategoryTool.py
+++ b/product/CMFCategory/CategoryTool.py
@@ -634,8 +634,9 @@ class CategoryTool( UniqueObject, Folder, Base ):
       elif isinstance(category_list, (list, tuple)):
         pass
       else:
-        raise TypeError, 'Category must be of string, tuple of string ' \
-                         'or list of string type.'
+        raise TypeError, ('Category must be of string, tuple of string '
+                          'or list of string type. %s %s' %
+                          (base_category_list, category_list))
 
       if isinstance(base_category_list, str):
         base_category_list = (base_category_list, )
-- 
2.30.9


From 700d9c4fa930f1e97551a25962c3cce27b4c14a5 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C5=81ukasz=20Nowak?= <luke@nexedi.com>
Date: Wed, 28 Jul 2010 11:24:10 +0000
Subject: [PATCH 161/270]  - update description and add long_description

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@37322 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 buildout/local-eggs/localbin/setup.py | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/buildout/local-eggs/localbin/setup.py b/buildout/local-eggs/localbin/setup.py
index 6e9713ff01..5565a995c9 100644
--- a/buildout/local-eggs/localbin/setup.py
+++ b/buildout/local-eggs/localbin/setup.py
@@ -8,7 +8,10 @@ setup(
     version = version,
     author = "Lukasz Nowak",
     author_email = "luke@nexedi.com",
-    description = "ZC Buildout recipe to invoke full python interpreter",
+    description = "Generates python wrapper around python interpreter",
+    long_description = "Generates python wrapper, which acts like normal "\
+        "python interpreter, but containing full list of additional python "\
+        "paths",
     license = "ZPL 2.1",
     keywords = "python interpreter",
     packages = find_packages(),
-- 
2.30.9


From caecaf6411210a61257e13d7a5f4bb00ed41f959 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C5=81ukasz=20Nowak?= <luke@nexedi.com>
Date: Wed, 28 Jul 2010 11:26:37 +0000
Subject: [PATCH 162/270]  - describe utility

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@37323 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 buildout/local-eggs/localbin/README.txt | 8 ++++++++
 1 file changed, 8 insertions(+)
 create mode 100644 buildout/local-eggs/localbin/README.txt

diff --git a/buildout/local-eggs/localbin/README.txt b/buildout/local-eggs/localbin/README.txt
new file mode 100644
index 0000000000..297980fa49
--- /dev/null
+++ b/buildout/local-eggs/localbin/README.txt
@@ -0,0 +1,8 @@
+invokepython
+============
+
+This is workaround wrapper generator for python, which allows to generate
+fully stuffed with eggs interpreter.
+
+Generated wrapper behaves like original python binary, accepting all arguments.
+It executes original python with replacing self process.
-- 
2.30.9


From 5bd14b67ac8e757ae726f1f50db61028f13aad66 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C5=81ukasz=20Nowak?= <luke@nexedi.com>
Date: Wed, 28 Jul 2010 11:28:06 +0000
Subject: [PATCH 163/270]  - inform about limitations

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@37324 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 buildout/local-eggs/localbin/README.txt | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/buildout/local-eggs/localbin/README.txt b/buildout/local-eggs/localbin/README.txt
index 297980fa49..09927da916 100644
--- a/buildout/local-eggs/localbin/README.txt
+++ b/buildout/local-eggs/localbin/README.txt
@@ -6,3 +6,11 @@ fully stuffed with eggs interpreter.
 
 Generated wrapper behaves like original python binary, accepting all arguments.
 It executes original python with replacing self process.
+
+Known issues
+------------
+
+Because of being another interpreter in chain of invocation of interpreters it
+can suffer of shebang limitations.
+
+http://www.in-ulm.de/~mascheck/various/shebang/
-- 
2.30.9


From 8cca68adbd51ece79b26069a4b059a6ddc0797db Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C5=81ukasz=20Nowak?= <luke@nexedi.com>
Date: Wed, 28 Jul 2010 11:34:44 +0000
Subject: [PATCH 164/270]  - as invokepython is published there is no need to
 develop it locally

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@37325 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 buildout/software-profiles/python-2.4.cfg | 3 ---
 1 file changed, 3 deletions(-)

diff --git a/buildout/software-profiles/python-2.4.cfg b/buildout/software-profiles/python-2.4.cfg
index 23fdf8ee4f..0a6c3a098a 100644
--- a/buildout/software-profiles/python-2.4.cfg
+++ b/buildout/software-profiles/python-2.4.cfg
@@ -1,8 +1,5 @@
 [buildout]
 extends = ../software-profiles/python-common.cfg
-
-develop += local-eggs/localbin
-
 parts =
     pythonbin2.4
 
-- 
2.30.9


From 74f1a01cd8f6f423293ad117fb4c6335f71b3d3e Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C5=81ukasz=20Nowak?= <luke@nexedi.com>
Date: Wed, 28 Jul 2010 11:42:50 +0000
Subject: [PATCH 165/270]  - pin development version of z3c.recipe.openoffice

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@37327 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 buildout/profiles/versions-2.12.cfg | 1 +
 buildout/profiles/versions.cfg      | 1 +
 2 files changed, 2 insertions(+)

diff --git a/buildout/profiles/versions-2.12.cfg b/buildout/profiles/versions-2.12.cfg
index b228f754a9..277f759cc0 100644
--- a/buildout/profiles/versions-2.12.cfg
+++ b/buildout/profiles/versions-2.12.cfg
@@ -32,3 +32,4 @@ Acquisition =
 
 erp5_products_revision =
 erp5_bt5_revision = ${:erp5_products_revision}
+z3c.recipe.openoffice = 0.3.1dev
diff --git a/buildout/profiles/versions.cfg b/buildout/profiles/versions.cfg
index c8fa2335ea..4a40560cbf 100644
--- a/buildout/profiles/versions.cfg
+++ b/buildout/profiles/versions.cfg
@@ -15,3 +15,4 @@ rdiff-backup = 1.0.5
 erp5_products_revision =
 erp5_bt5_revision = ${:erp5_products_revision}
 lxml = 2.2.6
+z3c.recipe.openoffice = 0.3.1dev
-- 
2.30.9


From 8dd9407bddf149c68514af4e3d422acdcf4d1b0e Mon Sep 17 00:00:00 2001
From: Ivan Tyagov <ivan@nexedi.com>
Date: Wed, 28 Jul 2010 11:43:36 +0000
Subject: [PATCH 166/270] Clean up.

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@37328 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 .../erp5_km_theme/ListBox_asHTML.xml          | 46 ++++++++++---------
 bt5/erp5_km/bt/revision                       |  2 +-
 2 files changed, 25 insertions(+), 23 deletions(-)

diff --git a/bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km_theme/ListBox_asHTML.xml b/bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km_theme/ListBox_asHTML.xml
index 6f4583145d..152abf497a 100644
--- a/bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km_theme/ListBox_asHTML.xml
+++ b/bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km_theme/ListBox_asHTML.xml
@@ -307,9 +307,9 @@
           </thead>\n
 \n
           <tbody>\n
-            <!-- Fill datas-->\n
+            <!-- Render listbox data-->\n
             <tal:block tal:condition="line_list"\n
-                        tal:define="checked_uid_set here/getCheckedUidSet">\n
+                       tal:define="checked_uid_set here/getCheckedUidSet">\n
             <tr tal:repeat="line line_list"              \n
                 tal:attributes="\n
                 id string:${field_id}_data_line_${repeat/line/index};\n
@@ -329,19 +329,19 @@
                   </td>\n
 \n
                   <!--Anchor column -->\n
-                  <td  tal:condition="python:show_anchor_column"\n
+                  <td tal:condition="python:show_anchor_column"\n
                       class="AnchorColumn" \n
                       style="text-align: center; vertical-align: middle;">\n
                     <!--Use [0][4] ? :(-->\n
-                    <a href="#" tal:attributes="href python:render_result[0][4]"><img src="document_icon.gif" alt="document" tal:attributes="src string:${portal_url_string}/images/line_clickable.png" /></a>\n
+                    <a href="#" tal:attributes="href python:render_result[0][4]">\n
+                      <img src="document_icon.gif" alt="document" \n
+                           tal:attributes="src string:${portal_url_string}/images/line_clickable.png" />\n
+                    </a>\n
                   </td>\n
                               \n
                   <!--Select column -->\n
-                  <!--TODO Define the CSS class !-->\n
                   <td tal:condition="python: show_select_column"\n
-                      class="select_cell" style="text-align: center; vertical-align: middle"\n
-                      >\n
-                  \n
+                      class="select_cell" style="text-align: center; vertical-align: middle">\n
                     <input tal:condition="python: not line.isSummary()"\n
                           type="checkbox" id="listbox_cb_1" name="uids:list"\n
                           tal:attributes="checked python: line.getUid() in checked_uid_set;\n
@@ -350,22 +350,23 @@
                   </td>\n
                   \n
                   <tal:block tal:repeat="value render_result">\n
-                  <!--Define many var but use only ONE !-->\n
-                  <td tal:define="html               python: value[0];\n
-                                  original_value     python: value[1];\n
-                                  error              python: value[2];\n
-                                  editable_field     python: value[3];\n
-                                  editable_field_css python: editable_field != None and editable_field.get_value(\'css_class\')">\n
-                    <input  tal:condition="not: repeat/value/index"\n
-                            type="hidden" value="1" name="listbox_uid:list"\n
-                            tal:attributes="value python: line.getUid() or \'\';\n
-                                            name string:${field_id}_uid:list" />\n
-                    <tal:block tal:replace="structure html">value</tal:block>\n
-                  </td>\n
+                    <!--Define many var but use only ONE !-->\n
+                    <td tal:define="html               python: value[0];\n
+                                    original_value     python: value[1];\n
+                                    error              python: value[2];\n
+                                    editable_field     python: value[3];\n
+                                    editable_field_css python: editable_field != None and editable_field.get_value(\'css_class\')">\n
+                      <input tal:condition="not: repeat/value/index"\n
+                             type="hidden" value="1" name="listbox_uid:list"\n
+                             tal:attributes="value python: line.getUid() or \'\';\n
+                                             name string:${field_id}_uid:list" />\n
+                      <tal:block tal:replace="structure html"/>\n
+                    </td>\n
                   </tal:block>\n
-            </tal:block>\n
+              </tal:block>\n
             </tr>\n
             </tal:block>\n
+\n
             <!-- Hide row on no search criterion-->\n
             <tr tal:condition="hide_rows_on_no_search_criterion"\n
                 class="listbox_missing_search_criterion">\n
@@ -375,7 +376,8 @@
                 </span>\n
               </td>\n
             </tr>\n
-\n
+            \n
+            <!-- No results. -->\n
             <tr tal:condition="python: total_line == 0 and not hide_rows_on_no_search_criterion">\n
               <td tal:attributes="colspan python: len(here.getSearchValueList()) + 1">\n
                 <span  class="listbox_no_result" i18n:translate="" i18n:domain="ui">\n
diff --git a/bt5/erp5_km/bt/revision b/bt5/erp5_km/bt/revision
index f6e16be538..09518278e8 100644
--- a/bt5/erp5_km/bt/revision
+++ b/bt5/erp5_km/bt/revision
@@ -1 +1 @@
-1496
\ No newline at end of file
+1497
\ No newline at end of file
-- 
2.30.9


From 9915df1c01f055e6337065e8dc17fc42f198f39b Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C5=81ukasz=20Nowak?= <luke@nexedi.com>
Date: Wed, 28 Jul 2010 11:43:45 +0000
Subject: [PATCH 167/270]  - as z3c.recipe.openoffice is published, there is no
 need to develop it locally

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@37329 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 buildout/software-profiles/openoffice-bin.cfg | 2 --
 1 file changed, 2 deletions(-)

diff --git a/buildout/software-profiles/openoffice-bin.cfg b/buildout/software-profiles/openoffice-bin.cfg
index e3d5129f46..3462bdd755 100644
--- a/buildout/software-profiles/openoffice-bin.cfg
+++ b/buildout/software-profiles/openoffice-bin.cfg
@@ -1,8 +1,6 @@
 [buildout]
 parts =
   openoffice-bin
-develop +=
-  local-eggs/z3c.recipe.openoffice
 
 [openoffice-bin]
 #recipe = erp5.recipe.openoffice
-- 
2.30.9


From 669ea5c6df3601cac9f18e3fe53d7efae1d73c60 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C5=81ukasz=20Nowak?= <luke@nexedi.com>
Date: Wed, 28 Jul 2010 11:45:05 +0000
Subject: [PATCH 168/270]  - as z3c.recipe.openoffice (0.3.1dev) is published
 and pinned there is no need to use externals

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@37330 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 buildout/local-eggs/EXTERNALS.TXT | 1 -
 1 file changed, 1 deletion(-)

diff --git a/buildout/local-eggs/EXTERNALS.TXT b/buildout/local-eggs/EXTERNALS.TXT
index 161eafc71a..60a544d75b 100644
--- a/buildout/local-eggs/EXTERNALS.TXT
+++ b/buildout/local-eggs/EXTERNALS.TXT
@@ -3,6 +3,5 @@
 # BEWARE: Any addition might be removed without further notice.
 # To play with eggs use mr.developer and publish eggs in proper places
 
-z3c.recipe.openoffice   http://svn.zope.org/repos/main/z3c.recipe.openoffice/branches/erp5-downloadcache
 Acquisition svn://svn.zope.org/repos/main/Acquisition/branches/erp5-aq_dynamic
 Products.DCWorkflow svn://svn.zope.org/repos/main/Sandbox/lra/branches/restore-WorkflowMethod-Products.DCWorkflow
-- 
2.30.9


From 0523c08b5691bcef1b8aea0348736c28b606981a Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C5=81ukasz=20Nowak?= <luke@nexedi.com>
Date: Wed, 28 Jul 2010 11:51:22 +0000
Subject: [PATCH 169/270]  - download hook to make possible remote invocation
 of buildout

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@37331 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 buildout/software-profiles/mysql-tritonn-5.0.cfg | 11 +++++++++--
 1 file changed, 9 insertions(+), 2 deletions(-)

diff --git a/buildout/software-profiles/mysql-tritonn-5.0.cfg b/buildout/software-profiles/mysql-tritonn-5.0.cfg
index 7846d4b985..4dca816e3f 100644
--- a/buildout/software-profiles/mysql-tritonn-5.0.cfg
+++ b/buildout/software-profiles/mysql-tritonn-5.0.cfg
@@ -21,12 +21,19 @@ md5sum = 257abe9c4afdc9b08033687fd486a595
 filename = tritonn-1.0.12-mysql-5.0.87.diff
 download-only = true
 
+[mysql-tritonn-hooks-download]
+recipe = hexagonit.recipe.download
+url = https://svn.erp5.org/repos/public/erp5/trunk/buildout/hooks/${:filename}
+filename = mysql-tritonn-hooks.py
+md5sum = 484abb02375e354ef7be0438dc369f85
+download-only = true
+
 [mysql-tritonn-5.0]
 recipe = hexagonit.recipe.cmmi
 url = http://www.nexedi.org/static/tarballs/mysql/mysql-5.0.87.tar.gz
 md5sum = 65e6229cc98b6a8d4c5206d7fe16c7be
-pre-configure-hook = ${buildout:directory}/hooks/mysql-tritonn-hooks.py:pre_configure_hook
-post-make-hook = ${buildout:directory}/hooks/mysql-tritonn-hooks.py:post_make_hook
+pre-configure-hook = ${mysql-tritonn-hooks-download:location}/${mysql-tritonn-hooks-download:filename}:pre_configure_hook
+post-make-hook = ${mysql-tritonn-hooks-download:location}/${mysql-tritonn-hooks-download:filename}:post_make_hook
 # configure: how to avoid searching for my.cnf?
 #  - like in mysql part in http://svn.zope.org/zodbshootout/trunk/buildout.cfg?view=markup
 configure-options =
-- 
2.30.9


From d587fcf4f708e7c6ccb22077ba6369a28d1fb660 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?J=C3=A9rome=20Perrin?= <jerome@nexedi.com>
Date: Wed, 28 Jul 2010 12:02:42 +0000
Subject: [PATCH 170/270] another typo that generates invalid sql in testBudget
 and testInventoryAPI

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@37332 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 product/ERP5/Tool/SimulationTool.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/product/ERP5/Tool/SimulationTool.py b/product/ERP5/Tool/SimulationTool.py
index 03daff945b..46939e8276 100644
--- a/product/ERP5/Tool/SimulationTool.py
+++ b/product/ERP5/Tool/SimulationTool.py
@@ -797,7 +797,7 @@ class SimulationTool(BaseTool):
 
       if group_by_section_category:
         related_key_group_by_expression_list.append('section_category_uid')
-        related_key_select_expression_list.append('stock_section_category_uid')
+        related_key_select_expression_list.append('section_category_uid')
       if group_by_section_category_strict_membership:
         related_key_group_by_expression_list.append(
             'section_category_strict_membership_uid')
-- 
2.30.9


From e45e7d6d33347618c46324ee2ec66699937ac0a9 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?J=C3=A9rome=20Perrin?= <jerome@nexedi.com>
Date: Wed, 28 Jul 2010 12:04:04 +0000
Subject: [PATCH 171/270] use constants for log levels

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@37333 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 product/ERP5/Tool/SimulationTool.py | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/product/ERP5/Tool/SimulationTool.py b/product/ERP5/Tool/SimulationTool.py
index 46939e8276..b62ce24fa7 100644
--- a/product/ERP5/Tool/SimulationTool.py
+++ b/product/ERP5/Tool/SimulationTool.py
@@ -36,7 +36,7 @@ from Products.ERP5Type.Tool.BaseTool import BaseTool
 
 from Products.ERP5 import _dtmldir
 
-from zLOG import LOG
+from zLOG import LOG, PROBLEM
 
 from Products.ERP5.Capacity.GLPK import solve
 try:
@@ -1242,7 +1242,7 @@ class SimulationTool(BaseTool):
             # optimisation when from_date is given), emit a log.
             # This can happen if there are more date parameters than mentioned
             # above.
-            LOG('SimulationTool', 100, 'There is more than one date condition'
+            LOG('SimulationTool', PROBLEM, 'There is more than one date condition'
               ' so optimisation got disabled. The result of this call will be'
               ' correct but it requires investigation as some cases might'
               ' have gone unnoticed and produced wrong results.')
@@ -1420,7 +1420,8 @@ class SimulationTool(BaseTool):
                     elif line_a[key] == line_b[key]:
                       result[key] = line_a[key]
                     elif key not in ('date', 'stock_uid', 'path'):
-                      LOG('InventoryTool.getInventoryList.addLineValues', 0,
+                      LOG('InventoryTool.getInventoryList.addLineValues',
+                          PROBLEM,
                           'mismatch for %s column: %s and %s' % \
                           (key, line_a[key], line_b[key]))
                   return result
-- 
2.30.9


From 01284da692f6b33f9229e4e5373cb0fbb99e84e1 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?J=C3=A9rome=20Perrin?= <jerome@nexedi.com>
Date: Wed, 28 Jul 2010 12:19:59 +0000
Subject: [PATCH 172/270] remove obsolete scripts

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@37335 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 .../Account_zGetTotalQuantity.xml             | 426 ------------------
 .../Account_statSourceBalance.xml             | 289 ------------
 bt5/erp5_accounting/bt/revision               |   2 +-
 3 files changed, 1 insertion(+), 716 deletions(-)
 delete mode 100644 bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/Account_zGetTotalQuantity.xml
 delete mode 100644 bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting_bbb/Account_statSourceBalance.xml

diff --git a/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/Account_zGetTotalQuantity.xml b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/Account_zGetTotalQuantity.xml
deleted file mode 100644
index 9a104cb79f..0000000000
--- a/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/Account_zGetTotalQuantity.xml
+++ /dev/null
@@ -1,426 +0,0 @@
-<?xml version="1.0"?>
-<ZopeData>
-  <record id="1" aka="AAAAAAAAAAE=">
-    <pickle>
-      <tuple>
-        <global name="SQL" module="Products.ZSQLMethods.SQL"/>
-        <tuple/>
-      </tuple>
-    </pickle>
-    <pickle>
-      <dictionary>
-        <item>
-            <key> <string>_Use_Database_Methods_Permission</string> </key>
-            <value>
-              <list>
-                <string>Assignee</string>
-                <string>Assignor</string>
-                <string>Associate</string>
-                <string>Auditor</string>
-                <string>Member</string>
-              </list>
-            </value>
-        </item>
-        <item>
-            <key> <string>_arg</string> </key>
-            <value>
-              <object>
-                <klass>
-                  <global name="Args" module="Shared.DC.ZRDB.Aqueduct"/>
-                </klass>
-                <tuple/>
-                <state>
-                  <dictionary>
-                    <item>
-                        <key> <string>_data</string> </key>
-                        <value>
-                          <dictionary>
-                            <item>
-                                <key> <string>at_date</string> </key>
-                                <value>
-                                  <dictionary/>
-                                </value>
-                            </item>
-                            <item>
-                                <key> <string>from_date</string> </key>
-                                <value>
-                                  <dictionary/>
-                                </value>
-                            </item>
-                            <item>
-                                <key> <string>mirror_section_uid</string> </key>
-                                <value>
-                                  <dictionary/>
-                                </value>
-                            </item>
-                            <item>
-                                <key> <string>no_mirror_section_uid</string> </key>
-                                <value>
-                                  <dictionary/>
-                                </value>
-                            </item>
-                            <item>
-                                <key> <string>no_payment_uid</string> </key>
-                                <value>
-                                  <dictionary/>
-                                </value>
-                            </item>
-                            <item>
-                                <key> <string>node_uid</string> </key>
-                                <value>
-                                  <dictionary/>
-                                </value>
-                            </item>
-                            <item>
-                                <key> <string>omit_input</string> </key>
-                                <value>
-                                  <dictionary/>
-                                </value>
-                            </item>
-                            <item>
-                                <key> <string>omit_output</string> </key>
-                                <value>
-                                  <dictionary/>
-                                </value>
-                            </item>
-                            <item>
-                                <key> <string>payment_uid</string> </key>
-                                <value>
-                                  <dictionary/>
-                                </value>
-                            </item>
-                            <item>
-                                <key> <string>query</string> </key>
-                                <value>
-                                  <dictionary/>
-                                </value>
-                            </item>
-                            <item>
-                                <key> <string>resource_uid</string> </key>
-                                <value>
-                                  <dictionary>
-                                    <item>
-                                        <key> <string>type</string> </key>
-                                        <value> <string>list</string> </value>
-                                    </item>
-                                  </dictionary>
-                                </value>
-                            </item>
-                            <item>
-                                <key> <string>to_date</string> </key>
-                                <value>
-                                  <dictionary/>
-                                </value>
-                            </item>
-                            <item>
-                                <key> <string>transaction_section_category</string> </key>
-                                <value>
-                                  <dictionary/>
-                                </value>
-                            </item>
-                            <item>
-                                <key> <string>transaction_simulation_state</string> </key>
-                                <value>
-                                  <dictionary>
-                                    <item>
-                                        <key> <string>type</string> </key>
-                                        <value> <string>list</string> </value>
-                                    </item>
-                                  </dictionary>
-                                </value>
-                            </item>
-                          </dictionary>
-                        </value>
-                    </item>
-                    <item>
-                        <key> <string>_keys</string> </key>
-                        <value>
-                          <list>
-                            <string>node_uid</string>
-                            <string>query</string>
-                            <string>omit_input</string>
-                            <string>omit_output</string>
-                            <string>resource_uid</string>
-                            <string>from_date</string>
-                            <string>to_date</string>
-                            <string>at_date</string>
-                            <string>transaction_simulation_state</string>
-                            <string>transaction_section_category</string>
-                            <string>payment_uid</string>
-                            <string>no_payment_uid</string>
-                            <string>mirror_section_uid</string>
-                            <string>no_mirror_section_uid</string>
-                          </list>
-                        </value>
-                    </item>
-                  </dictionary>
-                </state>
-              </object>
-            </value>
-        </item>
-        <item>
-            <key> <string>allow_simple_one_argument_traversal</string> </key>
-            <value>
-              <none/>
-            </value>
-        </item>
-        <item>
-            <key> <string>arguments_src</string> </key>
-            <value> <string>node_uid\r\n
-query\r\n
-omit_input\r\n
-omit_output\r\n
-resource_uid:list\r\n
-from_date\r\n
-to_date\r\n
-at_date\r\n
-transaction_simulation_state:list\r\n
-transaction_section_category\r\n
-payment_uid\r\n
-no_payment_uid\r\n
-mirror_section_uid\r\n
-no_mirror_section_uid</string> </value>
-        </item>
-        <item>
-            <key> <string>cache_time_</string> </key>
-            <value> <int>0</int> </value>
-        </item>
-        <item>
-            <key> <string>class_file_</string> </key>
-            <value> <string>ZSQLCatalog.zsqlbrain</string> </value>
-        </item>
-        <item>
-            <key> <string>class_name_</string> </key>
-            <value> <string>ZSQLBrain</string> </value>
-        </item>
-        <item>
-            <key> <string>connection_hook</string> </key>
-            <value> <string></string> </value>
-        </item>
-        <item>
-            <key> <string>connection_id</string> </key>
-            <value> <string>erp5_sql_connection</string> </value>
-        </item>
-        <item>
-            <key> <string>id</string> </key>
-            <value> <string>Account_zGetTotalQuantity</string> </value>
-        </item>
-        <item>
-            <key> <string>max_cache_</string> </key>
-            <value> <int>100</int> </value>
-        </item>
-        <item>
-            <key> <string>max_rows_</string> </key>
-            <value> <int>0</int> </value>
-        </item>
-        <item>
-            <key> <string>src</string> </key>
-            <value> <string encoding="cdata"><![CDATA[
-
-SELECT\n
-  SUM(ROUND(stock.quantity,2)) AS quantity,\n
-  SUM(ROUND(stock.total_price,2)) AS total_price\n
-FROM\n
-  movement,\n
-  stock,\n
-  catalog as child,\n
-  catalog AS section_c,\n
-  catalog AS section_bc, -- XXX probably not necessary\n
-  category AS section_membership,\n
-  catalog AS section\n
-<dtml-if query>\n
-  , category\n
-</dtml-if>\n
-WHERE stock.node_uid = <dtml-var node_uid>\n
-  AND child.uid = stock.uid\n
-  AND movement.uid = stock.uid\n
-  AND child.portal_type <> \'Simulation Movement\'\n
-  AND movement.is_accountable = 1\n
-<dtml-if resource_uid>\n
-  AND (\n
-  <dtml-in resource_uid>\n
-    movement.resource_uid = <dtml-sqlvar sequence-item type="int"><dtml-if sequence-end><dtml-else> OR </dtml-if>\n
-  </dtml-in>\n
-  )\n
-</dtml-if>\n
-<dtml-if from_date>\n
-  AND stock.date >= <dtml-sqlvar from_date type="datetime">\n
-</dtml-if>\n
-<dtml-if at_date>\n
-  AND stock.date <= <dtml-sqlvar at_date type="datetime">\n
-</dtml-if>\n
-<dtml-if to_date>\n
-  AND stock.date < <dtml-sqlvar to_date type="datetime">\n
-</dtml-if>\n
-<dtml-if omit_input>\n
-  AND stock.total_price > 0.0\n
-</dtml-if>\n
-<dtml-if omit_output>\n
-  AND stock.total_price < 0.0\n
-</dtml-if>\n
-<dtml-if payment_uid>\n
-  AND stock.payment_uid = <dtml-sqlvar payment_uid type="int">\n
-</dtml-if>\n
-<dtml-if no_payment_uid>\n
-  AND stock.payment_uid IS NULL\n
-</dtml-if>\n
-<dtml-if mirror_section_uid>\n
-  AND stock.mirror_section_uid = <dtml-sqlvar mirror_section_uid type="int">\n
-</dtml-if>\n
-<dtml-if no_mirror_section_uid>\n
-  AND stock.mirror_section_uid IS NULL\n
-</dtml-if>\n
-<dtml-if transaction_simulation_state>\n
-  AND (\n
-  <dtml-in transaction_simulation_state>\n
-    stock.simulation_state = <dtml-sqlvar sequence-item type="string"><dtml-if sequence-end><dtml-else> OR </dtml-if>\n
-  </dtml-in>\n
-  )\n
-<dtml-else>\n
-  AND stock.simulation_state != \'cancelled\' \n
-  AND stock.simulation_state != \'draft\' \n
-</dtml-if>\n
-  AND section.uid = stock.section_uid\n
-<dtml-if transaction_section_category>\n
-  AND section_c.relative_url = <dtml-sqlvar transaction_section_category type="string">\n
-</dtml-if>\n
-  AND section_membership.category_uid =  section_c.uid\n
-  AND section_membership.base_category_uid = section_bc.uid\n
-  AND section_membership.uid = section.uid\n
-  AND section.portal_type = \'Organisation\'\n
-<dtml-if query>\n
-  AND category.uid = stock.section_uid\n
-AND <dtml-var query>\n
-</dtml-if>\n
-
-
-]]></string> </value>
-        </item>
-        <item>
-            <key> <string>template</string> </key>
-            <value>
-              <object>
-                <klass>
-                  <global name="__newobj__" module="copy_reg"/>
-                </klass>
-                <tuple>
-                  <global name="SQL" module="Shared.DC.ZRDB.DA"/>
-                </tuple>
-                <state>
-                  <dictionary>
-                    <item>
-                        <key> <string>__name__</string> </key>
-                        <value> <string encoding="cdata"><![CDATA[
-
-<string>
-
-]]></string> </value>
-                    </item>
-                    <item>
-                        <key> <string>_vars</string> </key>
-                        <value>
-                          <dictionary/>
-                        </value>
-                    </item>
-                    <item>
-                        <key> <string>globals</string> </key>
-                        <value>
-                          <dictionary/>
-                        </value>
-                    </item>
-                    <item>
-                        <key> <string>raw</string> </key>
-                        <value> <string encoding="cdata"><![CDATA[
-
-SELECT\n
-  SUM(ROUND(stock.quantity,2)) AS quantity,\n
-  SUM(ROUND(stock.total_price,2)) AS total_price\n
-FROM\n
-  movement,\n
-  stock,\n
-  catalog as child,\n
-  catalog AS section_c,\n
-  catalog AS section_bc, -- XXX probably not necessary\n
-  category AS section_membership,\n
-  catalog AS section\n
-<dtml-if query>\n
-  , category\n
-</dtml-if>\n
-WHERE stock.node_uid = <dtml-var node_uid>\n
-  AND child.uid = stock.uid\n
-  AND movement.uid = stock.uid\n
-  AND child.portal_type <> \'Simulation Movement\'\n
-  AND movement.is_accountable = 1\n
-<dtml-if resource_uid>\n
-  AND (\n
-  <dtml-in resource_uid>\n
-    movement.resource_uid = <dtml-sqlvar sequence-item type="int"><dtml-if sequence-end><dtml-else> OR </dtml-if>\n
-  </dtml-in>\n
-  )\n
-</dtml-if>\n
-<dtml-if from_date>\n
-  AND stock.date >= <dtml-sqlvar from_date type="datetime">\n
-</dtml-if>\n
-<dtml-if at_date>\n
-  AND stock.date <= <dtml-sqlvar at_date type="datetime">\n
-</dtml-if>\n
-<dtml-if to_date>\n
-  AND stock.date < <dtml-sqlvar to_date type="datetime">\n
-</dtml-if>\n
-<dtml-if omit_input>\n
-  AND stock.total_price > 0.0\n
-</dtml-if>\n
-<dtml-if omit_output>\n
-  AND stock.total_price < 0.0\n
-</dtml-if>\n
-<dtml-if payment_uid>\n
-  AND stock.payment_uid = <dtml-sqlvar payment_uid type="int">\n
-</dtml-if>\n
-<dtml-if no_payment_uid>\n
-  AND stock.payment_uid IS NULL\n
-</dtml-if>\n
-<dtml-if mirror_section_uid>\n
-  AND stock.mirror_section_uid = <dtml-sqlvar mirror_section_uid type="int">\n
-</dtml-if>\n
-<dtml-if no_mirror_section_uid>\n
-  AND stock.mirror_section_uid IS NULL\n
-</dtml-if>\n
-<dtml-if transaction_simulation_state>\n
-  AND (\n
-  <dtml-in transaction_simulation_state>\n
-    stock.simulation_state = <dtml-sqlvar sequence-item type="string"><dtml-if sequence-end><dtml-else> OR </dtml-if>\n
-  </dtml-in>\n
-  )\n
-<dtml-else>\n
-  AND stock.simulation_state != \'cancelled\' \n
-  AND stock.simulation_state != \'draft\' \n
-</dtml-if>\n
-  AND section.uid = stock.section_uid\n
-<dtml-if transaction_section_category>\n
-  AND section_c.relative_url = <dtml-sqlvar transaction_section_category type="string">\n
-</dtml-if>\n
-  AND section_membership.category_uid =  section_c.uid\n
-  AND section_membership.base_category_uid = section_bc.uid\n
-  AND section_membership.uid = section.uid\n
-  AND section.portal_type = \'Organisation\'\n
-<dtml-if query>\n
-  AND category.uid = stock.section_uid\n
-AND <dtml-var query>\n
-</dtml-if>\n
-
-
-]]></string> </value>
-                    </item>
-                  </dictionary>
-                </state>
-              </object>
-            </value>
-        </item>
-        <item>
-            <key> <string>title</string> </key>
-            <value> <string></string> </value>
-        </item>
-      </dictionary>
-    </pickle>
-  </record>
-</ZopeData>
diff --git a/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting_bbb/Account_statSourceBalance.xml b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting_bbb/Account_statSourceBalance.xml
deleted file mode 100644
index 7cdfd9372a..0000000000
--- a/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting_bbb/Account_statSourceBalance.xml
+++ /dev/null
@@ -1,289 +0,0 @@
-<?xml version="1.0"?>
-<ZopeData>
-  <record id="1" aka="AAAAAAAAAAE=">
-    <pickle>
-      <tuple>
-        <global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
-        <tuple/>
-      </tuple>
-    </pickle>
-    <pickle>
-      <dictionary>
-        <item>
-            <key> <string>Script_magic</string> </key>
-            <value> <int>3</int> </value>
-        </item>
-        <item>
-            <key> <string>_bind_names</string> </key>
-            <value>
-              <object>
-                <klass>
-                  <global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/>
-                </klass>
-                <tuple/>
-                <state>
-                  <dictionary>
-                    <item>
-                        <key> <string>_asgns</string> </key>
-                        <value>
-                          <dictionary>
-                            <item>
-                                <key> <string>name_container</string> </key>
-                                <value> <string>container</string> </value>
-                            </item>
-                            <item>
-                                <key> <string>name_context</string> </key>
-                                <value> <string>context</string> </value>
-                            </item>
-                            <item>
-                                <key> <string>name_m_self</string> </key>
-                                <value> <string>script</string> </value>
-                            </item>
-                            <item>
-                                <key> <string>name_subpath</string> </key>
-                                <value> <string>traverse_subpath</string> </value>
-                            </item>
-                          </dictionary>
-                        </value>
-                    </item>
-                  </dictionary>
-                </state>
-              </object>
-            </value>
-        </item>
-        <item>
-            <key> <string>_body</string> </key>
-            <value> <string>context.log(\'erp5_account\', \'%s is deprecated, use %s instead\'\n
-         % (script.getId(), \'Account_statBalance\'))\n
-\n
-params = {}\n
-pref = context.getPortalObject().portal_preferences\n
-precision = context.Base_getPreferredPrecision()\n
-\n
-###\n
-# Merge selection parameters in kw\n
-selection_params = None\n
-if selection_name is not None:\n
-  selection_params = context.portal_selections.getSelectionParamsFor(selection_name)\n
-  kw.update(selection_params)\n
-\n
-###\n
-# Get the node UID\n
-params[\'node_uid\'] = kw.get(\'node_uid\', context.getUid())\n
-\n
-###\n
-# Get the \'where_expression\' parameter\n
-if kw.has_key(\'where_expression\'):\n
-  params[\'where_expression\'] = kw[\'where_expression\']\n
-\n
-###\n
-# Get the \'resource_uid\' parameter\n
-if kw.get(\'resource\'):\n
-  try:\n
-    params[\'resource_uid\'] = context.restrictedTraverse(selection_params[\'resource\']).getUid()\n
-  except (KeyError, AttributeError):\n
-    pass\n
-\n
-###\n
-# Get the \'from_date\' parameter\n
-if kw.get(\'no_from_date\', 0):\n
-  from_date = None\n
-else:\n
-  from_date = kw.get( \'from_date\'\n
-                    , pref.getPreferredAccountingTransactionFromDate()\n
-                    )\n
-if from_date:\n
-  params[\'from_date\'] = from_date\n
-\n
-###\n
-# Get the \'at_date\' parameter\n
-at_date = kw.get( \'at_date\'\n
-                , pref.getPreferredAccountingTransactionAtDate()\n
-                )\n
-if at_date:\n
-  params[\'at_date\'] = at_date\n
-\n
-###\n
-# Get the \'to_date\' parameter\n
-to_date = kw.get( \'to_date\'\n
-                , None\n
-                )\n
-if to_date:\n
-  params[\'to_date\'] = to_date\n
-\n
-###\n
-# Get the \'simulation_state\' parameter\n
-# Sometimes \'simulation_state\' is now as \'transaction_simulation_state\'\n
-simulation_state = kw.get( \'transaction_simulation_state\'\n
-                         , None\n
-                         )\n
-if not simulation_state:\n
-  simulation_state = kw.get( \'simulation_state\'\n
-                           , pref.getPreferredAccountingTransactionSimulationStateList()\n
-                           )\n
-if simulation_state:\n
-  params[\'transaction_simulation_state\'] = simulation_state\n
-\n
-###\n
-# Get the \'section_category\' parameter\n
-# Sometimes \'section_category\' is now as \'transaction_section_category\'\n
-section_category = kw.get( \'transaction_section_category\'\n
-                         , None\n
-                         )\n
-if not section_category:\n
-  section_category = kw.get( \'section_category\'\n
-                           , pref.getPreferredAccountingTransactionSectionCategory()\n
-                           )\n
-if section_category:\n
-  params[\'transaction_section_category\'] = section_category\n
-\n
-###\n
-# Get omit parameters\n
-if kw.get(\'omit_input\') : params[\'omit_input\']  = 1\n
-if kw.get(\'omit_output\'): params[\'omit_output\'] = 1\n
-\n
-###\n
-# Get payment and mirror related parameters\n
-MARKER = []\n
-no_payment_uid        = MARKER\n
-no_mirror_section_uid = MARKER\n
-payment_uid           = MARKER\n
-mirror_section_uid    = MARKER\n
-if selection_params != None:\n
-  no_payment_uid        = selection_params.get(\'no_payment_uid\',        MARKER)\n
-  no_mirror_section_uid = selection_params.get(\'no_mirror_section_uid\', MARKER)\n
-  payment_uid           = selection_params.get(\'payment_uid\',           MARKER)\n
-  mirror_section_uid    = selection_params.get(\'mirror_section_uid\',    MARKER)\n
-if no_payment_uid        is not MARKER: params[\'no_payment_uid\']        = 1\n
-if no_mirror_section_uid is not MARKER: params[\'no_mirror_section_uid\'] = 1\n
-if payment_uid           is not MARKER: params[\'payment_uid\']           = payment_uid\n
-if mirror_section_uid    is not MARKER: params[\'mirror_section_uid\']    = mirror_section_uid\n
-\n
-###\n
-# Clean up date params.\n
-\n
-# Don\'t use the from_date parameter if from_date_summary is present\n
-if kw.get(\'from_date_summary\', 0) and params.has_key(\'from_date\'):\n
-  del params[\'from_date\']\n
-\n
-# \'to_date\' exclude the use of \'from_date\' and \'at_date\'\n
-# In fact, \'to_date\' is handle by the SQL query as "at_date minus one day"\n
-if params.has_key(\'to_date\'):\n
-  if params.has_key(\'at_date\'):   del params[\'at_date\']\n
-  if params.has_key(\'from_date\'): del params[\'from_date\']\n
-\n
-###\n
-# Include the previous balance\n
-if params.has_key(\'from_date\') and params.has_key(\'at_date\'):\n
-  del params[\'from_date\']\n
-\n
-###\n
-# Call the query with selected parameters\n
-# context.log("SQL with %s \\n" % params, context.Account_zGetTotalQuantity(src__=1, **params))\n
-result = context.Account_zGetTotalQuantity(**params)\n
-row = result[0]\n
-\n
-###\n
-# Round the result to avoid float bad precision\n
-# TODO: use currency precision\n
-return context.Base_getRoundValue(row.total_price or 0.0, precision)\n
-</string> </value>
-        </item>
-        <item>
-            <key> <string>_code</string> </key>
-            <value>
-              <none/>
-            </value>
-        </item>
-        <item>
-            <key> <string>_params</string> </key>
-            <value> <string>selection, selection_name, **kw</string> </value>
-        </item>
-        <item>
-            <key> <string>_proxy_roles</string> </key>
-            <value>
-              <tuple>
-                <string>Manager</string>
-              </tuple>
-            </value>
-        </item>
-        <item>
-            <key> <string>errors</string> </key>
-            <value>
-              <tuple/>
-            </value>
-        </item>
-        <item>
-            <key> <string>func_code</string> </key>
-            <value>
-              <object>
-                <klass>
-                  <global name="FuncCode" module="Shared.DC.Scripts.Signature"/>
-                </klass>
-                <tuple/>
-                <state>
-                  <dictionary>
-                    <item>
-                        <key> <string>co_argcount</string> </key>
-                        <value> <int>2</int> </value>
-                    </item>
-                    <item>
-                        <key> <string>co_varnames</string> </key>
-                        <value>
-                          <tuple>
-                            <string>selection</string>
-                            <string>selection_name</string>
-                            <string>kw</string>
-                            <string>_getattr_</string>
-                            <string>context</string>
-                            <string>script</string>
-                            <string>params</string>
-                            <string>pref</string>
-                            <string>precision</string>
-                            <string>None</string>
-                            <string>selection_params</string>
-                            <string>_write_</string>
-                            <string>_getitem_</string>
-                            <string>KeyError</string>
-                            <string>AttributeError</string>
-                            <string>from_date</string>
-                            <string>at_date</string>
-                            <string>to_date</string>
-                            <string>simulation_state</string>
-                            <string>section_category</string>
-                            <string>MARKER</string>
-                            <string>no_payment_uid</string>
-                            <string>no_mirror_section_uid</string>
-                            <string>payment_uid</string>
-                            <string>mirror_section_uid</string>
-                            <string>_apply_</string>
-                            <string>result</string>
-                            <string>row</string>
-                          </tuple>
-                        </value>
-                    </item>
-                  </dictionary>
-                </state>
-              </object>
-            </value>
-        </item>
-        <item>
-            <key> <string>func_defaults</string> </key>
-            <value>
-              <none/>
-            </value>
-        </item>
-        <item>
-            <key> <string>id</string> </key>
-            <value> <string>Account_statSourceBalance</string> </value>
-        </item>
-        <item>
-            <key> <string>warnings</string> </key>
-            <value>
-              <tuple/>
-            </value>
-        </item>
-      </dictionary>
-    </pickle>
-  </record>
-</ZopeData>
diff --git a/bt5/erp5_accounting/bt/revision b/bt5/erp5_accounting/bt/revision
index cd227f135e..939ab6d070 100644
--- a/bt5/erp5_accounting/bt/revision
+++ b/bt5/erp5_accounting/bt/revision
@@ -1 +1 @@
-1316
\ No newline at end of file
+1317
\ No newline at end of file
-- 
2.30.9


From e3776a225db5b921973d0a403a1587603d58ffe2 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?J=C3=A9rome=20Perrin?= <jerome@nexedi.com>
Date: Wed, 28 Jul 2010 12:26:49 +0000
Subject: [PATCH 173/270] remove another unused script

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@37337 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 ...countingTransactionModule_zGetQuantity.xml | 415 ------------------
 bt5/erp5_accounting/bt/revision               |   2 +-
 2 files changed, 1 insertion(+), 416 deletions(-)
 delete mode 100644 bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountingTransactionModule_zGetQuantity.xml

diff --git a/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountingTransactionModule_zGetQuantity.xml b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountingTransactionModule_zGetQuantity.xml
deleted file mode 100644
index 680104a050..0000000000
--- a/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountingTransactionModule_zGetQuantity.xml
+++ /dev/null
@@ -1,415 +0,0 @@
-<?xml version="1.0"?>
-<ZopeData>
-  <record id="1" aka="AAAAAAAAAAE=">
-    <pickle>
-      <tuple>
-        <global name="SQL" module="Products.ZSQLMethods.SQL"/>
-        <tuple/>
-      </tuple>
-    </pickle>
-    <pickle>
-      <dictionary>
-        <item>
-            <key> <string>_Use_Database_Methods_Permission</string> </key>
-            <value>
-              <list>
-                <string>Member</string>
-              </list>
-            </value>
-        </item>
-        <item>
-            <key> <string>_arg</string> </key>
-            <value>
-              <object>
-                <klass>
-                  <global name="Args" module="Shared.DC.ZRDB.Aqueduct"/>
-                </klass>
-                <tuple/>
-                <state>
-                  <dictionary>
-                    <item>
-                        <key> <string>_data</string> </key>
-                        <value>
-                          <dictionary>
-                            <item>
-                                <key> <string>from_date</string> </key>
-                                <value>
-                                  <dictionary/>
-                                </value>
-                            </item>
-                            <item>
-                                <key> <string>node</string> </key>
-                                <value>
-                                  <dictionary>
-                                    <item>
-                                        <key> <string>type</string> </key>
-                                        <value> <string>list</string> </value>
-                                    </item>
-                                  </dictionary>
-                                </value>
-                            </item>
-                            <item>
-                                <key> <string>omit_input</string> </key>
-                                <value>
-                                  <dictionary/>
-                                </value>
-                            </item>
-                            <item>
-                                <key> <string>omit_output</string> </key>
-                                <value>
-                                  <dictionary/>
-                                </value>
-                            </item>
-                            <item>
-                                <key> <string>query</string> </key>
-                                <value>
-                                  <dictionary/>
-                                </value>
-                            </item>
-                            <item>
-                                <key> <string>resource</string> </key>
-                                <value>
-                                  <dictionary>
-                                    <item>
-                                        <key> <string>type</string> </key>
-                                        <value> <string>list</string> </value>
-                                    </item>
-                                  </dictionary>
-                                </value>
-                            </item>
-                            <item>
-                                <key> <string>section_category</string> </key>
-                                <value>
-                                  <dictionary/>
-                                </value>
-                            </item>
-                            <item>
-                                <key> <string>simulation_state</string> </key>
-                                <value>
-                                  <dictionary>
-                                    <item>
-                                        <key> <string>type</string> </key>
-                                        <value> <string>list</string> </value>
-                                    </item>
-                                  </dictionary>
-                                </value>
-                            </item>
-                            <item>
-                                <key> <string>to_date</string> </key>
-                                <value>
-                                  <dictionary/>
-                                </value>
-                            </item>
-                            <item>
-                                <key> <string>transaction</string> </key>
-                                <value>
-                                  <dictionary/>
-                                </value>
-                            </item>
-                          </dictionary>
-                        </value>
-                    </item>
-                    <item>
-                        <key> <string>_keys</string> </key>
-                        <value>
-                          <list>
-                            <string>query</string>
-                            <string>node</string>
-                            <string>simulation_state</string>
-                            <string>from_date</string>
-                            <string>to_date</string>
-                            <string>resource</string>
-                            <string>section_category</string>
-                            <string>transaction</string>
-                            <string>omit_input</string>
-                            <string>omit_output</string>
-                          </list>
-                        </value>
-                    </item>
-                  </dictionary>
-                </state>
-              </object>
-            </value>
-        </item>
-        <item>
-            <key> <string>allow_simple_one_argument_traversal</string> </key>
-            <value>
-              <none/>
-            </value>
-        </item>
-        <item>
-            <key> <string>arguments_src</string> </key>
-            <value> <string>query\r\n
-node:list\r\n
-simulation_state:list\r\n
-from_date\r\n
-to_date\r\n
-resource:list\r\n
-section_category\r\n
-transaction\r\n
-omit_input\r\n
-omit_output</string> </value>
-        </item>
-        <item>
-            <key> <string>cache_time_</string> </key>
-            <value> <int>0</int> </value>
-        </item>
-        <item>
-            <key> <string>class_file_</string> </key>
-            <value> <string></string> </value>
-        </item>
-        <item>
-            <key> <string>class_name_</string> </key>
-            <value> <string></string> </value>
-        </item>
-        <item>
-            <key> <string>connection_hook</string> </key>
-            <value> <string></string> </value>
-        </item>
-        <item>
-            <key> <string>connection_id</string> </key>
-            <value> <string>erp5_sql_connection</string> </value>
-        </item>
-        <item>
-            <key> <string>id</string> </key>
-            <value> <string>AccountingTransactionModule_zGetQuantity</string> </value>
-        </item>
-        <item>
-            <key> <string>max_cache_</string> </key>
-            <value> <int>100</int> </value>
-        </item>
-        <item>
-            <key> <string>max_rows_</string> </key>
-            <value> <int>0</int> </value>
-        </item>
-        <item>
-            <key> <string>src</string> </key>
-            <value> <string encoding="cdata"><![CDATA[
-
-SELECT\n
-  SUM(stock.quantity) AS quantity\n
-  , IFNULL(SUM(IF(stock.quantity > 0, stock.quantity, 0)), 0) AS source_credit\n
-  , IFNULL(SUM(IF(stock.quantity < 0, - stock.quantity, 0)), 0) AS source_debit\n
-  , IFNULL(SUM(IF(stock.quantity < 0, - stock.quantity, 0)), 0)  - IFNULL(SUM(IF(stock.quantity > 0, stock.quantity, 0)), 0) AS source_balance\n
-FROM\n
-  catalog\n
-  , catalog AS child\n
-  , movement\n
-  , stock\n
-<dtml-if resource>\n
-  , catalog AS resource\n
-</dtml-if>\n
-<dtml-if node>\n
-  , catalog AS node\n
-</dtml-if>\n
-<dtml-if section_category>\n
-  , catalog AS section_c\n
-  , catalog AS section_bc\n
-  , category AS section_membership\n
-  , catalog AS section\n
-</dtml-if>\n
-<dtml-if query>\n
-  , category\n
-  , roles_and_users\n
-  , subject\n
-</dtml-if>\n
-WHERE\n
-  catalog.uid = child.parent_uid\n
-  AND child.uid = stock.uid\n
-  AND child.uid = movement.uid\n
-  AND movement.is_accountable = 1\n
-<dtml-if transaction>\n
-  AND catalog.uid = <dtml-sqlvar transaction type="int">\n
-</dtml-if>\n
-<dtml-if resource>\n
-  AND movement.resource_uid = resource.uid\n
-  AND (\n
-  <dtml-in resource>\n
-    resource.relative_url = <dtml-sqlvar sequence-item type="string"><dtml-if sequence-end><dtml-else> OR </dtml-if>\n
-  </dtml-in>\n
-  )\n
-</dtml-if>\n
-<dtml-if node>\n
-  AND stock.node_uid = node.uid\n
-  AND (\n
-  <dtml-in node>\n
-    node.relative_url = <dtml-sqlvar sequence-item type="string"><dtml-if sequence-end><dtml-else> OR </dtml-if>\n
-  </dtml-in>\n
-  )\n
-</dtml-if>\n
-<dtml-if from_date>\n
-  AND movement.stop_date >= <dtml-sqlvar from_date type="datetime">\n
-</dtml-if>\n
-<dtml-if to_date>\n
-  AND movement.stop_date < <dtml-sqlvar to_date type="datetime">\n
-</dtml-if>\n
-<dtml-if simulation_state>\n
-  AND (\n
-  <dtml-in simulation_state>\n
-    catalog.simulation_state = <dtml-sqlvar sequence-item type="string"><dtml-if sequence-end><dtml-else> OR </dtml-if>\n
-  </dtml-in>\n
-  )\n
-</dtml-if>\n
-<dtml-if section_category>\n
-  AND section.uid = stock.section_uid\n
-  AND section_c.relative_url = <dtml-sqlvar section_category type="string">\n
-  AND section_membership.category_uid =  section_c.uid\n
-  AND section_membership.base_category_uid = section_bc.uid\n
-  AND section_membership.uid = section.uid\n
-</dtml-if>\n
-<dtml-if omit_input>\n
-  AND stock.quantity < 0\n
-</dtml-if>\n
-<dtml-if omit_output>\n
-  AND stock.quantity > 0\n
-</dtml-if>\n
-<dtml-if query>\n
-  AND catalog.uid = category.uid\n
-  AND catalog.uid = roles_and_users.uid\n
-  AND catalog.uid = subject.uid\n
-  AND <dtml-var query>\n
-</dtml-if>\n
-<dtml-if sort_on>\n
-  ORDER BY <dtml-var sort_on>\n
-</dtml-if>
-
-]]></string> </value>
-        </item>
-        <item>
-            <key> <string>template</string> </key>
-            <value>
-              <object>
-                <klass>
-                  <global name="__newobj__" module="copy_reg"/>
-                </klass>
-                <tuple>
-                  <global name="SQL" module="Shared.DC.ZRDB.DA"/>
-                </tuple>
-                <state>
-                  <dictionary>
-                    <item>
-                        <key> <string>__name__</string> </key>
-                        <value> <string encoding="cdata"><![CDATA[
-
-<string>
-
-]]></string> </value>
-                    </item>
-                    <item>
-                        <key> <string>_vars</string> </key>
-                        <value>
-                          <dictionary/>
-                        </value>
-                    </item>
-                    <item>
-                        <key> <string>globals</string> </key>
-                        <value>
-                          <dictionary/>
-                        </value>
-                    </item>
-                    <item>
-                        <key> <string>raw</string> </key>
-                        <value> <string encoding="cdata"><![CDATA[
-
-SELECT\n
-  SUM(stock.quantity) AS quantity\n
-  , IFNULL(SUM(IF(stock.quantity > 0, stock.quantity, 0)), 0) AS source_credit\n
-  , IFNULL(SUM(IF(stock.quantity < 0, - stock.quantity, 0)), 0) AS source_debit\n
-  , IFNULL(SUM(IF(stock.quantity < 0, - stock.quantity, 0)), 0)  - IFNULL(SUM(IF(stock.quantity > 0, stock.quantity, 0)), 0) AS source_balance\n
-FROM\n
-  catalog\n
-  , catalog AS child\n
-  , movement\n
-  , stock\n
-<dtml-if resource>\n
-  , catalog AS resource\n
-</dtml-if>\n
-<dtml-if node>\n
-  , catalog AS node\n
-</dtml-if>\n
-<dtml-if section_category>\n
-  , catalog AS section_c\n
-  , catalog AS section_bc\n
-  , category AS section_membership\n
-  , catalog AS section\n
-</dtml-if>\n
-<dtml-if query>\n
-  , category\n
-  , roles_and_users\n
-  , subject\n
-</dtml-if>\n
-WHERE\n
-  catalog.uid = child.parent_uid\n
-  AND child.uid = stock.uid\n
-  AND child.uid = movement.uid\n
-  AND movement.is_accountable = 1\n
-<dtml-if transaction>\n
-  AND catalog.uid = <dtml-sqlvar transaction type="int">\n
-</dtml-if>\n
-<dtml-if resource>\n
-  AND movement.resource_uid = resource.uid\n
-  AND (\n
-  <dtml-in resource>\n
-    resource.relative_url = <dtml-sqlvar sequence-item type="string"><dtml-if sequence-end><dtml-else> OR </dtml-if>\n
-  </dtml-in>\n
-  )\n
-</dtml-if>\n
-<dtml-if node>\n
-  AND stock.node_uid = node.uid\n
-  AND (\n
-  <dtml-in node>\n
-    node.relative_url = <dtml-sqlvar sequence-item type="string"><dtml-if sequence-end><dtml-else> OR </dtml-if>\n
-  </dtml-in>\n
-  )\n
-</dtml-if>\n
-<dtml-if from_date>\n
-  AND movement.stop_date >= <dtml-sqlvar from_date type="datetime">\n
-</dtml-if>\n
-<dtml-if to_date>\n
-  AND movement.stop_date < <dtml-sqlvar to_date type="datetime">\n
-</dtml-if>\n
-<dtml-if simulation_state>\n
-  AND (\n
-  <dtml-in simulation_state>\n
-    catalog.simulation_state = <dtml-sqlvar sequence-item type="string"><dtml-if sequence-end><dtml-else> OR </dtml-if>\n
-  </dtml-in>\n
-  )\n
-</dtml-if>\n
-<dtml-if section_category>\n
-  AND section.uid = stock.section_uid\n
-  AND section_c.relative_url = <dtml-sqlvar section_category type="string">\n
-  AND section_membership.category_uid =  section_c.uid\n
-  AND section_membership.base_category_uid = section_bc.uid\n
-  AND section_membership.uid = section.uid\n
-</dtml-if>\n
-<dtml-if omit_input>\n
-  AND stock.quantity < 0\n
-</dtml-if>\n
-<dtml-if omit_output>\n
-  AND stock.quantity > 0\n
-</dtml-if>\n
-<dtml-if query>\n
-  AND catalog.uid = category.uid\n
-  AND catalog.uid = roles_and_users.uid\n
-  AND catalog.uid = subject.uid\n
-  AND <dtml-var query>\n
-</dtml-if>\n
-<dtml-if sort_on>\n
-  ORDER BY <dtml-var sort_on>\n
-</dtml-if>
-
-]]></string> </value>
-                    </item>
-                  </dictionary>
-                </state>
-              </object>
-            </value>
-        </item>
-        <item>
-            <key> <string>title</string> </key>
-            <value> <string></string> </value>
-        </item>
-      </dictionary>
-    </pickle>
-  </record>
-</ZopeData>
diff --git a/bt5/erp5_accounting/bt/revision b/bt5/erp5_accounting/bt/revision
index 939ab6d070..b8d9d25141 100644
--- a/bt5/erp5_accounting/bt/revision
+++ b/bt5/erp5_accounting/bt/revision
@@ -1 +1 @@
-1317
\ No newline at end of file
+1318
\ No newline at end of file
-- 
2.30.9


From 20ce0e4227363e893d81761d725500c0d8eb34b8 Mon Sep 17 00:00:00 2001
From: Vincent Pelletier <vincent@nexedi.com>
Date: Wed, 28 Jul 2010 12:33:15 +0000
Subject: [PATCH 174/270] Fix providing a sort direction for a full-text
 column.

This changes SQLExpression API, but this should not be a problem, since
this API is internal to ZSQLCatalog.

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@37338 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 product/ZSQLCatalog/Query/EntireQuery.py       |  7 ++-----
 product/ZSQLCatalog/SQLExpression.py           | 12 ++++++++++--
 .../ZSQLCatalog/interfaces/sql_expression.py   |  7 +++++--
 product/ZSQLCatalog/tests/testSQLCatalog.py    | 18 +++++++++++++++++-
 4 files changed, 34 insertions(+), 10 deletions(-)

diff --git a/product/ZSQLCatalog/Query/EntireQuery.py b/product/ZSQLCatalog/Query/EntireQuery.py
index 41ab108d72..6811b61580 100644
--- a/product/ZSQLCatalog/Query/EntireQuery.py
+++ b/product/ZSQLCatalog/Query/EntireQuery.py
@@ -141,11 +141,8 @@ class EntireQuery(object):
             LOG('SQLCatalog', 100, 'Order by %r ignored: it could not be mapped to a known column.' % (order_by, ))
             rendered = None
         if rendered is not None:
-          if len(order_by) > 1:
-            if len(order_by) > 2 and order_by[2] not in (None, ''):
-              rendered = 'CAST(%s AS %s)' % (rendered, order_by[2])
-            rendered = '%s %s' % (rendered, order_by[1])
-          append(rendered)
+          append((rendered, ) + tuple(order_by[1:]) + (
+            None, ) * (3 - len(order_by)))
       self.order_by_list = new_order_by_list
       # generate SQLExpression from query
       sql_expression_list = [self.query.asSQLExpression(sql_catalog, column_map, only_group_columns)]
diff --git a/product/ZSQLCatalog/SQLExpression.py b/product/ZSQLCatalog/SQLExpression.py
index 13850bff2e..7ee0aa1a87 100644
--- a/product/ZSQLCatalog/SQLExpression.py
+++ b/product/ZSQLCatalog/SQLExpression.py
@@ -238,9 +238,17 @@ class SQLExpression(object):
 
       Returns a rendered "order by" expression. See getOrderByList.
     """
+    result = []
+    append = result.append
     order_by_dict = self._getOrderByDict()
-    return SQL_LIST_SEPARATOR.join(conflictSafeGet(order_by_dict, x, str(x)) \
-                                   for x in self.getOrderByList())
+    for (column, direction, cast) in self.getOrderByList():
+      expression = conflictSafeGet(order_by_dict, column, str(column))
+      if cast not in (None, ''):
+        expression = 'CAST(%s AS %s)' % (expression, cast)
+      if direction is not None:
+        expression = '%s %s' % (expression, direction)
+      append(expression)
+    return SQL_LIST_SEPARATOR.join(result)
 
   @profiler_decorator
   def getWhereExpression(self):
diff --git a/product/ZSQLCatalog/interfaces/sql_expression.py b/product/ZSQLCatalog/interfaces/sql_expression.py
index dc9b4df518..4099cba2dc 100644
--- a/product/ZSQLCatalog/interfaces/sql_expression.py
+++ b/product/ZSQLCatalog/interfaces/sql_expression.py
@@ -76,8 +76,11 @@ class ISQLExpression(Interface):
         The Query instance which called this constructor.
       table_alias_dict (dict, key: string, value: string)
         Table alias dict as returned by ColumnMap.getTableAliasDict() .
-      order_by_list (list of strings)
-        List of result ordering, pre-rendered.
+      order_by_list (list of 3-tuples)
+        Result ordering.
+        - column (rendered)
+        - direction (string or None)
+        - cast (string or None)
       order_by_dict (dict, key: string, value: string)
         Column rendering replacement specific to order_by.
       group_by_list (list of strings)
diff --git a/product/ZSQLCatalog/tests/testSQLCatalog.py b/product/ZSQLCatalog/tests/testSQLCatalog.py
index 1127492b06..4e4e148ca7 100644
--- a/product/ZSQLCatalog/tests/testSQLCatalog.py
+++ b/product/ZSQLCatalog/tests/testSQLCatalog.py
@@ -583,7 +583,23 @@ class TestSQLCatalog(unittest.TestCase):
     # order_by_list on fulltext column, resulting "ORDER BY" must be non-empty.
     sql_expression = self.asSQLExpression({'fulltext': 'foo',
       'order_by_list': [('fulltext', ), ]})
-    self.assertNotEqual(sql_expression.getOrderByExpression(), '')
+    order_by_expression = sql_expression.getOrderByExpression()
+    self.assertNotEqual(order_by_expression, '')
+    # ... and must sort by relevance
+    self.assertTrue('MATCH' in order_by_expression, order_by_expression)
+    # ordering on fulltext column with sort order specified must preserve
+    # sorting by relevance.
+    for direction in ('ASC', 'DESC'):
+      sql_expression = self.asSQLExpression({'fulltext': 'foo',
+        'order_by_list': [('fulltext', direction), ]})
+      order_by_expression = sql_expression.getOrderByExpression()
+      self.assertTrue('MATCH' in order_by_expression, (order_by_expression, direction))
+    # Providing a None cast should work too
+    for direction in ('ASC', 'DESC'):
+      sql_expression = self.asSQLExpression({'fulltext': 'foo',
+        'order_by_list': [('fulltext', direction, None), ]})
+      order_by_expression = sql_expression.getOrderByExpression()
+      self.assertTrue('MATCH' in order_by_expression, (order_by_expression, direction))
 
 ##return catalog(title=Query(title='a', operator='not'))
 #return catalog(title={'query': 'a', 'operator': 'not'})
-- 
2.30.9


From 6c9cd06c74721a60be31527a2ba2858563bd2ab3 Mon Sep 17 00:00:00 2001
From: Ivan Tyagov <ivan@nexedi.com>
Date: Wed, 28 Jul 2010 13:12:39 +0000
Subject: [PATCH 175/270] Add full text listbox configuration.

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@37339 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 product/ERP5Form/ListBox.py | 34 ++++++++++++++++++++++++++++++----
 1 file changed, 30 insertions(+), 4 deletions(-)

diff --git a/product/ERP5Form/ListBox.py b/product/ERP5Form/ListBox.py
index 4ce9bca75c..353cb553be 100644
--- a/product/ERP5Form/ListBox.py
+++ b/product/ERP5Form/ListBox.py
@@ -405,6 +405,21 @@ class ListBoxWidget(Widget.Widget):
                                 required=0)
     property_names.append('default_display_style')
 
+    full_text_search_key = fields.StringField('full_text_search_key',
+                                title="Full text search key",
+                                description=("Full text search key used to make query."),
+                                default=None,
+                                required=0)
+    property_names.append('full_text_search_key')
+
+    full_text_search_key_script = fields.StringField('full_text_search_key_script',
+                                title="Full text search key script",
+                                description=("Full text search key script used to make query."),
+                                default=None,
+                                required=0)
+    property_names.append('full_text_search_key_script')
+
+
     list_action = fields.StringField('list_action',
                                  title='List Action',
                                  description=('The id of the object action'
@@ -942,13 +957,23 @@ class ListBoxRenderer:
   getDisplayStyleList = lazyMethod(getDisplayStyleList)
 
   def getDefaultDisplayStyle(self):
-    """Return the list of avaible display style. Make sure that the 
-    titles are in unicode"""
-    default_display_style = self.field.get_value('default_display_style')
-    return default_display_style
+    """Return the default display list style."""
+    return self.field.get_value('default_display_style')
 
   getDefaultDisplayStyle = lazyMethod(getDefaultDisplayStyle)
 
+  def getFullTextSearchKey(self):
+    """Return the full text search key."""
+    return self.field.get_value('full_text_search_key')
+
+  getFullTextSearchKey = lazyMethod(getFullTextSearchKey)
+
+  def getFullTextSearchKeyScript(self):
+    """Return the full text search key."""
+    return self.field.get_value('full_text_search_key_script')
+
+  getFullTextSearchKeyScript = lazyMethod(getFullTextSearchKeyScript)
+
   def getSearchColumnIdSet(self):
     """Return the set of the ids of the search columns. Fall back to the catalog schema, if not defined.
     """
@@ -1570,6 +1595,7 @@ class ListBoxRenderer:
     search_column_id_set = self.getSearchColumnIdSet()
     if param_dict is None:
       param_dict = self.getParamDict()
+
     value_list = []
     for (sql, title), alias in zip(self.getSelectedColumnList(), self.getColumnAliasList()):
       if sql in search_column_id_set:
-- 
2.30.9


From 5c9b784b669128811369e32b05de95ecd3d7f8d6 Mon Sep 17 00:00:00 2001
From: Ivan Tyagov <ivan@nexedi.com>
Date: Wed, 28 Jul 2010 13:15:13 +0000
Subject: [PATCH 176/270] It's possible reuse full text configuration from
 listbox definition.

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@37341 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 .../erp5_km_theme/ListBox_asHTML.xml          | 52 +++++-----
 .../WebSite_viewAdvancedSearchResultList.xml  |  2 -
 .../bottom_search_text.xml                    | 99 -------------------
 .../listbox.xml                               |  8 ++
 .../erp5_km_theme/km_css/listbox.css.xml      | 21 ++--
 bt5/erp5_km/bt/revision                       |  2 +-
 6 files changed, 51 insertions(+), 133 deletions(-)
 delete mode 100644 bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km_theme/WebSite_viewAdvancedSearchResultList/bottom_search_text.xml

diff --git a/bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km_theme/ListBox_asHTML.xml b/bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km_theme/ListBox_asHTML.xml
index 152abf497a..ffb7908ded 100644
--- a/bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km_theme/ListBox_asHTML.xml
+++ b/bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km_theme/ListBox_asHTML.xml
@@ -67,6 +67,9 @@
                                              selection.getParams().get(\'list_style\', here.getDefaultDisplayStyle()));\n
               dummy python: list_style == \'search\' and here.setDisplayedColumnIdList((\'getIconAsHTML\', \'getSummaryAsHTML\'))\n
                            or list_style == \'thumbnail\' and here.setDisplayedColumnIdList((\'title\', \'thumbnail\'));\n
+              full_text_search_key here/getFullTextSearchKey;\n
+              full_text_search_key_script here/getFullTextSearchKeyScript;\n
+              show_full_text python: full_text_search_key not in (\'\', None) and full_text_search_key_script not in (\'\', None);\n
               line_list here/query;\n
               listbox_max_lines  python: int(here.getMaxLineNumber());\n
               total_line         python: int(here.total_size);\n
@@ -442,7 +445,7 @@
       <!-- Choose display mode -->\n
       <!--TODO define show_display_selection macro-->\n
       <div tal:condition="python: len(display_style_list) > 0"\n
-           class="list-style-selection">\n
+           class="listbox-list-style-selection">\n
         <span i18n:translate="" i18n:domain="ui">Display:</span>\n
         <ul>\n
           <li tal:repeat="style display_style_list">\n
@@ -454,29 +457,32 @@
         </ul>\n
       </div>\n
 \n
-      <!-- Full Text Search -->\n
-      <!--XXX This implementation is not finished.-->\n
-      <tal:comment tal:replace="nothing">\n
-      <div tal:define="your_search_text nothing"\n
-                tal:condition="python: show_full_text" \n
-                class="extendedSearchBar">\n
-        <tal:block tal:condition="python: not is_gadget_mode">\n
+      <!-- Extra Search -->\n
+      <div tal:define="search_text real_context/Base_getSearchText"\n
+           tal:condition="show_full_text" \n
+           class="listbox-full-text-search">\n
+\n
+        <tal:block tal:condition="not: is_gadget_mode">\n
           <!-- Normal mode -->\n
-          <input name="bottom_your_search_text" size="25" value="" type="text"\n
-                onkeypress="submitFormOnEnter(event, this.form,           \'ERP5Site_processAdvancedSearchBottom\');"\n
-                tal:attributes="value your_search_text" />\n
-            <input class="button" i18n:domain="ui" i18n:attributes="value"\n
-                  value="Search" name="ERP5Site_processAdvancedSearchBottom:method" type="submit" />\n
-          </tal:block>\n
-          <tal:block tal:condition="python: is_gadget_mode">\n
-            <!-- Gadget mode -->\n
-              <input tal:define ="params python: {\'ERP5Site_processAdvancedSearchBottom:method\':\'\',\'bottom_your_search_text\':\'this.value\'};"\n
-                      name="bottom_your_search_text" size="25" value="" type="text"\n
-                      tal:attributes=\'value your_search_text;\n
-                                    onkeypress python:"if(event.keyCode==13){" + real_context.KnowledgePad_generateAjaxCall(context_url+"/"+form_id,box,box_id,params).replace("\\"this.value\\"","this.value")+ "return false;;}"\'/>\n
-          </tal:block>\n
-        </div>    \n
-        </tal:comment>\n
+          <input type="text"\n
+                 tal:attributes="value search_text;\n
+                                 name full_text_search_key;\n
+                                 onkeypress string: submitFormOnEnter(event, this.form, \'${full_text_search_key_script}\');"/>\n
+            <input class="button" \n
+                   i18n:domain="ui" i18n:attributes="value"\n
+                   value="Search"  type="submit" \n
+                   tal:attributes="name string:${full_text_search_key_script}:method"/>\n
+        </tal:block>\n
+        <tal:block tal:condition="is_gadget_mode">\n
+          <!-- Gadget mode -->\n
+          <input tal:define="params python: {\'%s:method\' %full_text_search_key_script:\'\',\'%s\' %full_text_search_key:\'this.value\'};"\n
+                 type="text"\n
+                 tal:attributes=\'value search_text;\n
+                                 name full_text_search_key;\n
+                                 onkeypress python:"if(event.keyCode==13){" + real_context.KnowledgePad_generateAjaxCall(context_url+"/"+form_id,box,box_id,params).replace("\\"this.value\\"","this.value")+ "return false;;}"\'/>\n
+        </tal:block>\n
+      </div>    \n
+\n
         </div>\n
         <div class="listbox_footer_box"\n
             tal:define="need_pagination python: int(here.total_size) > int(here.getMaxLineNumber())"\n
diff --git a/bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km_theme/WebSite_viewAdvancedSearchResultList.xml b/bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km_theme/WebSite_viewAdvancedSearchResultList.xml
index ab4b749821..67adb17800 100644
--- a/bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km_theme/WebSite_viewAdvancedSearchResultList.xml
+++ b/bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km_theme/WebSite_viewAdvancedSearchResultList.xml
@@ -76,9 +76,7 @@
                     <key> <string>bottom</string> </key>
                     <value>
                       <list>
-                        <string>top_search_text</string>
                         <string>listbox</string>
-                        <string>bottom_search_text</string>
                       </list>
                     </value>
                 </item>
diff --git a/bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km_theme/WebSite_viewAdvancedSearchResultList/bottom_search_text.xml b/bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km_theme/WebSite_viewAdvancedSearchResultList/bottom_search_text.xml
deleted file mode 100644
index b3417b5b94..0000000000
--- a/bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km_theme/WebSite_viewAdvancedSearchResultList/bottom_search_text.xml
+++ /dev/null
@@ -1,99 +0,0 @@
-<?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>title</string>
-              </list>
-            </value>
-        </item>
-        <item>
-            <key> <string>id</string> </key>
-            <value> <string>bottom_search_text</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>field_id</string> </key>
-                    <value> <string>search_text_listbox</string> </value>
-                </item>
-                <item>
-                    <key> <string>form_id</string> </key>
-                    <value> <string>WebSection_viewMinimalKMWidgetFieldLibrary</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>Bottom search text</string> </value>
-                </item>
-              </dictionary>
-            </value>
-        </item>
-      </dictionary>
-    </pickle>
-  </record>
-</ZopeData>
diff --git a/bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km_theme/WebSite_viewAdvancedSearchResultList/listbox.xml b/bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km_theme/WebSite_viewAdvancedSearchResultList/listbox.xml
index 3d9e7e460a..8f3bf70e71 100644
--- a/bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km_theme/WebSite_viewAdvancedSearchResultList/listbox.xml
+++ b/bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km_theme/WebSite_viewAdvancedSearchResultList/listbox.xml
@@ -462,6 +462,14 @@
                     <key> <string>full_text_search</string> </key>
                     <value> <int>0</int> </value>
                 </item>
+                <item>
+                    <key> <string>full_text_search_key</string> </key>
+                    <value> <string>field_your_search_text_listbox</string> </value>
+                </item>
+                <item>
+                    <key> <string>full_text_search_key_script</string> </key>
+                    <value> <string>WebSite_viewQuickSearchResultList</string> </value>
+                </item>
                 <item>
                     <key> <string>global_attributes</string> </key>
                     <value>
diff --git a/bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km_theme/km_css/listbox.css.xml b/bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km_theme/km_css/listbox.css.xml
index 4df159aab5..d4a2f193ba 100644
--- a/bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km_theme/km_css/listbox.css.xml
+++ b/bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km_theme/km_css/listbox.css.xml
@@ -219,39 +219,44 @@ div.search_popup{\n
 }\n
 \n
 /* List style selection */\n
-div.list-style-selection {\n
+div.listbox-list-style-selection {\n
   width:auto;\n
   float:left;\n
 }\n
-div.list-style-selection span{\n
+div.listbox-list-style-selection span{\n
   font-weight:bold;\n
   padding-left:10px;\n
   vertical-align:-4px;\n
 }\n
-div.list-style-selection ul{\n
+div.listbox-list-style-selection ul{\n
   display:inline;\n
   padding-left:0;\n
   margin: 0;\n
   vertical-align: -4px;\n
 }\n
-div.list-style-selection li{\n
+div.listbox-list-style-selection li{\n
   display: inline;\n
 }\n
-div.list-style-selection li a.selected{\n
+div.listbox-list-style-selection li a.selected{\n
   font-weight: bold;\n
 }\n
-/* Search bar */\n
-div.extendedSearchBar {\n
+\n
+/* Listbox full text search bar */\n
+div.listbox-full-text-search {\n
   float:left;\n
   margin-top:0;\n
   padding:1em 0 0.5em;\n
 }\n
-div.extendedSearchBar input.button{\n
+div.listbox-full-text-search input{\n
+  width: auto;\n
+}\n
+div.listbox-full-text-search input.button{\n
  background-image: url(\'./km_img/search_background.png\');\n
  background-color: inherit;\n
  border: 0 none;\n
  color:#FFFFFF;\n
 }\n
+\n
 div.resultList{\n
   float:left;\n
 }\n
diff --git a/bt5/erp5_km/bt/revision b/bt5/erp5_km/bt/revision
index 09518278e8..db9c62ed8b 100644
--- a/bt5/erp5_km/bt/revision
+++ b/bt5/erp5_km/bt/revision
@@ -1 +1 @@
-1497
\ No newline at end of file
+1498
\ No newline at end of file
-- 
2.30.9


From c1fef47b9a8d5fca5d0fa10295e599d9cd5f7d96 Mon Sep 17 00:00:00 2001
From: Ivan Tyagov <ivan@nexedi.com>
Date: Wed, 28 Jul 2010 13:55:57 +0000
Subject: [PATCH 177/270] AApply CSS naming convention. Clean up listbox PT

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@37343 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 .../erp5_km_theme/ListBox_asHTML.xml          | 160 +++++++++---------
 .../top_search_text.xml                       | 104 ------------
 .../erp5_km_theme/km_css/listbox.css.xml      |  27 +--
 bt5/erp5_km/bt/revision                       |   2 +-
 4 files changed, 92 insertions(+), 201 deletions(-)
 delete mode 100644 bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km_theme/WebSite_viewAdvancedSearchResultList/top_search_text.xml

diff --git a/bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km_theme/ListBox_asHTML.xml b/bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km_theme/ListBox_asHTML.xml
index ffb7908ded..cd8ef12489 100644
--- a/bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km_theme/ListBox_asHTML.xml
+++ b/bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km_theme/ListBox_asHTML.xml
@@ -79,7 +79,7 @@
               current_page_stop  python: (total_line < current_page_max) and total_line or current_page_max;\n
               listbox_id request/current_form_id | form_id ;\n
               listbox_url string:${context_url}/${listbox_id};\n
-              ">\n
+              need_pagination python: total_line > listbox_max_lines;">\n
 \n
   <!-- Define hidden input.  -->\n
   <input type="hidden" name="list_selection_name" value="default" tal:attributes="value selection_name" />\n
@@ -87,13 +87,13 @@
                        tal:attributes="value selection_name;\n
                                        name string:${field_id}_list_selection_name" />\n
   <input tal:condition="md5_string" type="hidden" name="md5_object_uid_list" value="checksum" tal:attributes="value md5_string" />\n
- <input tal:condition="form_id" type="hidden" name="form_id" tal:attributes="value form_id" tal:replace="nothing"/>\n
+  <input tal:condition="form_id" type="hidden" name="form_id" tal:attributes="value form_id" tal:replace="nothing"/>\n
 \n
   <tal:block tal:condition="is_gadget_mode">\n
     <tal:block tal:define="global box_relative_url python: request.get(\'box_relative_url\', \'\');\n
-               global box python: real_context.restrictedTraverse(box_relative_url); \n
-               global box_id python: \'visual_%s\' %box_relative_url.split(\'/\')[-1];\n
-               global dom_id python: request.get(\'dom_id\',None) or box_id;">\n
+                           global box python: real_context.restrictedTraverse(box_relative_url); \n
+                           global box_id python: \'visual_%s\' %box_relative_url.split(\'/\')[-1];\n
+                           global dom_id python: request.get(\'dom_id\',None) or box_id;">\n
       <input tal:condition="python:form_id" \n
             type="hidden" name="gadget_form_id"\n
             tal:attributes="value form_id" />\n
@@ -410,90 +410,84 @@
       </table>\n
     </div>\n
 \n
-    <div class="listbox_footer">\n
+    <div class="listbox-footer">\n
       \n
-      <div class="listbox_footer_box">\n
-      <!-- List mode choice -->\n
-      <div tal:condition="python: not is_gadget_mode and (is_domain_tree_supported or is_report_tree_supported)"\n
-          class="list_mode_selection">\n
-\n
-        <input tal:condition="python: is_domain_tree_supported or is_report_tree_supported"\n
-              type="image" src="text_block.png" id="listbox_flat_list_mode"\n
-              class="listbox_flat_list_mode"\n
-              title="Flat List" name="setFlatListMode:method"\n
-              value="1" alt="Flat List"\n
-              tal:attributes="src string:${portal_url_string}/images/text_block.png;\n
-                              id string:${field_id}_flat_list_mode"\n
-              i18n:domain="ui" i18n:attributes="title" />\n
-        <input tal:condition="python: not is_gadget_mode and is_report_tree_supported"\n
-                type="image" src="view_tree.png" id="listbox_report_tree_mode"\n
-                title="Report Tree" name="setReportTreeMode:method"\n
-                value="1" alt="Report Tree"\n
-                tal:attributes="src string:${portal_url_string}/images/view_tree.png;\n
-                                id string:${field_id}_report_tree_mode"\n
-                i18n:domain="ui" i18n:attributes="title" />\n
-        <input tal:condition="python: not is_gadget_mode and is_domain_tree_supported"\n
-                type="image" src="view_choose.png" id="listbox_domain_tree_mode"\n
-                title="Domain Tree" name="setDomainTreeMode:method"\n
-                value="1" alt="Domain Tree"\n
-                tal:attributes="src string:${portal_url_string}/images/view_choose.png;\n
-                                id string:${field_id}_domain_tree_mode"\n
-                i18n:domain="ui" i18n:attributes="title" />\n
-        \n
-      </div>\n
-\n
-      <!-- Choose display mode -->\n
-      <!--TODO define show_display_selection macro-->\n
-      <div tal:condition="python: len(display_style_list) > 0"\n
-           class="listbox-list-style-selection">\n
-        <span i18n:translate="" i18n:domain="ui">Display:</span>\n
-        <ul>\n
-          <li tal:repeat="style display_style_list">\n
-            <a tal:attributes="href python: \'%s?list_style=%s\' % (listbox_url, style[0]);\n
-                               class python: test(style[0]==list_style, \'selected\',\'\');"\n
-               tal:content="python: style[1]"\n
-               i18n:translate="" i18n:domain="ui"/>\n
-          </li>\n
-        </ul>\n
-      </div>\n
-\n
-      <!-- Extra Search -->\n
-      <div tal:define="search_text real_context/Base_getSearchText"\n
-           tal:condition="show_full_text" \n
-           class="listbox-full-text-search">\n
-\n
-        <tal:block tal:condition="not: is_gadget_mode">\n
-          <!-- Normal mode -->\n
-          <input type="text"\n
-                 tal:attributes="value search_text;\n
-                                 name full_text_search_key;\n
-                                 onkeypress string: submitFormOnEnter(event, this.form, \'${full_text_search_key_script}\');"/>\n
-            <input class="button" \n
-                   i18n:domain="ui" i18n:attributes="value"\n
-                   value="Search"  type="submit" \n
-                   tal:attributes="name string:${full_text_search_key_script}:method"/>\n
-        </tal:block>\n
-        <tal:block tal:condition="is_gadget_mode">\n
-          <!-- Gadget mode -->\n
-          <input tal:define="params python: {\'%s:method\' %full_text_search_key_script:\'\',\'%s\' %full_text_search_key:\'this.value\'};"\n
-                 type="text"\n
-                 tal:attributes=\'value search_text;\n
-                                 name full_text_search_key;\n
-                                 onkeypress python:"if(event.keyCode==13){" + real_context.KnowledgePad_generateAjaxCall(context_url+"/"+form_id,box,box_id,params).replace("\\"this.value\\"","this.value")+ "return false;;}"\'/>\n
-        </tal:block>\n
-      </div>    \n
+      <div class="listbox-footer-box">\n
+        <!-- List mode choice -->\n
+        <div tal:condition="python: not is_gadget_mode and (is_domain_tree_supported or is_report_tree_supported)"\n
+             class="list_mode_selection">\n
 \n
+          <input tal:condition="python: is_domain_tree_supported or is_report_tree_supported"\n
+                 type="image" src="text_block.png" id="listbox_flat_list_mode"\n
+                 class="listbox_flat_list_mode"\n
+                 title="Flat List" name="setFlatListMode:method"\n
+                 value="1" alt="Flat List"\n
+                 tal:attributes="src string:${portal_url_string}/images/text_block.png;\n
+                                 id string:${field_id}_flat_list_mode"\n
+                 i18n:domain="ui" i18n:attributes="title" />\n
+           <input tal:condition="python: not is_gadget_mode and is_report_tree_supported"\n
+                  type="image" src="view_tree.png" id="listbox_report_tree_mode"\n
+                  title="Report Tree" name="setReportTreeMode:method"\n
+                  value="1" alt="Report Tree"\n
+                  tal:attributes="src string:${portal_url_string}/images/view_tree.png;\n
+                                  id string:${field_id}_report_tree_mode"\n
+                  i18n:domain="ui" i18n:attributes="title" />\n
+            <input tal:condition="python: not is_gadget_mode and is_domain_tree_supported"\n
+                   type="image" src="view_choose.png" id="listbox_domain_tree_mode"\n
+                   title="Domain Tree" name="setDomainTreeMode:method"\n
+                   value="1" alt="Domain Tree"\n
+                   tal:attributes="src string:${portal_url_string}/images/view_choose.png;\n
+                                   id string:${field_id}_domain_tree_mode"\n
+                   i18n:domain="ui" i18n:attributes="title" />\n
         </div>\n
-        <div class="listbox_footer_box"\n
-            tal:define="need_pagination python: int(here.total_size) > int(here.getMaxLineNumber())"\n
-            tal:condition="need_pagination">\n
 \n
-        <div class="listbox_pagination pageNavigation" \n
-            tal:condition="need_pagination">\n
-            <!--Display pagination -->\n
-            <tal:block metal:use-macro="real_context/page_navigation_render/macros/page_navigation" />\n
+        <!-- List display mode -->\n
+        <div tal:condition="python: len(display_style_list) > 0"\n
+             class="listbox-list-style-selection">\n
+          <span i18n:translate="" i18n:domain="ui">Display:</span>\n
+          <ul>\n
+            <li tal:repeat="style display_style_list">\n
+              <a tal:attributes="href python: \'%s?list_style=%s\' % (listbox_url, style[0]);\n
+                                 class python: test(style[0]==list_style, \'selected\',\'\');"\n
+                 tal:content="python: style[1]"\n
+                 i18n:translate="" i18n:domain="ui"/>\n
+            </li>\n
+          </ul>\n
         </div>\n
+\n
+        <!-- Full text search -->\n
+        <div tal:define="search_text real_context/Base_getSearchText"\n
+             tal:condition="show_full_text" \n
+             class="listbox-full-text-search">\n
+          <tal:block tal:condition="not: is_gadget_mode">\n
+            <!-- Normal mode -->\n
+            <input type="text"\n
+                   tal:attributes="value search_text;\n
+                                   name full_text_search_key;\n
+                                   onkeypress string: submitFormOnEnter(event, this.form, \'${full_text_search_key_script}\');"/>\n
+              <input class="button" \n
+                     i18n:domain="ui" i18n:attributes="value"\n
+                     value="Search"  type="submit" \n
+                     tal:attributes="name string:${full_text_search_key_script}:method"/>\n
+          </tal:block>\n
+          <tal:block tal:condition="is_gadget_mode">\n
+            <!-- Gadget mode -->\n
+            <input tal:define="params python: {\'%s:method\' %full_text_search_key_script:\'\',\'%s\' %full_text_search_key:\'this.value\'};"\n
+                   type="text"\n
+                   tal:attributes=\'value search_text;\n
+                                   name full_text_search_key;\n
+                                   onkeypress python:"if(event.keyCode==13){" + real_context.KnowledgePad_generateAjaxCall(context_url+"/"+form_id,box,box_id,params).replace("\\"this.value\\"","this.value")+ "return false;;}"\'/>\n
+          </tal:block>\n
+        </div>    \n
+      </div>\n
+\n
+      <!--Page pagination -->\n
+      <div class="listbox-footer-box listbox-page-navigation"\n
+           tal:condition="need_pagination">\n
+        <div class="pageNavigation">\n
+          <tal:block metal:use-macro="real_context/page_navigation_render/macros/page_navigation" />\n
         </div>\n
+      </div>\n
 \n
       <!-- Set a slot for additional content ? -->\n
     </div>\n
diff --git a/bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km_theme/WebSite_viewAdvancedSearchResultList/top_search_text.xml b/bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km_theme/WebSite_viewAdvancedSearchResultList/top_search_text.xml
deleted file mode 100644
index 621e98ba4b..0000000000
--- a/bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km_theme/WebSite_viewAdvancedSearchResultList/top_search_text.xml
+++ /dev/null
@@ -1,104 +0,0 @@
-<?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>enabled</string>
-                <string>title</string>
-              </list>
-            </value>
-        </item>
-        <item>
-            <key> <string>id</string> </key>
-            <value> <string>top_search_text</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>enabled</string> </key>
-                    <value> <int>0</int> </value>
-                </item>
-                <item>
-                    <key> <string>field_id</string> </key>
-                    <value> <string>search_text_listbox</string> </value>
-                </item>
-                <item>
-                    <key> <string>form_id</string> </key>
-                    <value> <string>WebSection_viewMinimalKMWidgetFieldLibrary</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>Top search text</string> </value>
-                </item>
-              </dictionary>
-            </value>
-        </item>
-      </dictionary>
-    </pickle>
-  </record>
-</ZopeData>
diff --git a/bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km_theme/km_css/listbox.css.xml b/bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km_theme/km_css/listbox.css.xml
index d4a2f193ba..a9d4e183fe 100644
--- a/bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km_theme/km_css/listbox.css.xml
+++ b/bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km_theme/km_css/listbox.css.xml
@@ -196,7 +196,7 @@ div.search_popup{\n
 }\n
 \n
 /*Footer block*/\n
-.listbox_footer{\n
+div.listbox-footer{\n
  background-color:#F0EFE9;\n
  float:left;\n
  margin-bottom:0.3em;\n
@@ -207,14 +207,12 @@ div.search_popup{\n
 }\n
 \n
 /* Listbox Footer in gadget mode */\n
-.block .listbox_footer{\n
+.block .listbox-footer{\n
    background-color: transparent;\n
 }\n
 \n
-.listbox_footer_box {\n
-  padding-top:5px;\n
-  padding-bottom:5px;\n
-  width: 50%;\n
+div.listbox-footer-box {\n
+  width: auto;\n
   float:left;\n
 }\n
 \n
@@ -245,16 +243,18 @@ div.listbox-list-style-selection li a.selected{\n
 div.listbox-full-text-search {\n
   float:left;\n
   margin-top:0;\n
-  padding:1em 0 0.5em;\n
+  padding:0em 0.5em;\n
+  width: auto;\n
 }\n
 div.listbox-full-text-search input{\n
-  width: auto;\n
+  width: 130px;\n
 }\n
 div.listbox-full-text-search input.button{\n
  background-image: url(\'./km_img/search_background.png\');\n
  background-color: inherit;\n
  border: 0 none;\n
  color:#FFFFFF;\n
+ width: auto;\n
 }\n
 \n
 div.resultList{\n
@@ -263,16 +263,17 @@ div.resultList{\n
 div.searchResultHeader{\n
   float:left;\n
 }\n
+\n
+\n
 /* Pagination*/\n
-.listbox_pagination {\n
+div.listbox-page-navigation{\n
   width:auto;\n
   margin:auto;\n
-  text-align:right;\n
   padding-right: 0.5em;\n
+  float:right;\n
 }\n
-.listbox_pagination input{\n
-  text-align:center;\n
-  width: 20px;\n
+div.listbox-page-navigation input{\n
+  max-width: 30px;\n
 }\n
 \n
 /* Report tree */\n
diff --git a/bt5/erp5_km/bt/revision b/bt5/erp5_km/bt/revision
index db9c62ed8b..5746711683 100644
--- a/bt5/erp5_km/bt/revision
+++ b/bt5/erp5_km/bt/revision
@@ -1 +1 @@
-1498
\ No newline at end of file
+1499
\ No newline at end of file
-- 
2.30.9


From 012e9b0c3220b5d2e1bc32e11593cbc57ab9154a Mon Sep 17 00:00:00 2001
From: Ivan Tyagov <ivan@nexedi.com>
Date: Wed, 28 Jul 2010 14:01:58 +0000
Subject: [PATCH 178/270] Obsolete as listbox can be configured accordingly.

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@37345 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 .../WebSite_viewListBoxSearchButtonWidget.xml |   0
 ...ection_viewMinimalKMWidgetFieldLibrary.xml |   1 -
 .../search_text_listbox.xml                   | 313 ------------------
 bt5/erp5_km/bt/revision                       |   2 +-
 4 files changed, 1 insertion(+), 315 deletions(-)
 rename bt5/erp5_km/SkinTemplateItem/portal_skins/{erp5_km_theme => erp5_km/old}/WebSite_viewListBoxSearchButtonWidget.xml (100%)
 delete mode 100644 bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km_theme/WebSection_viewMinimalKMWidgetFieldLibrary/search_text_listbox.xml

diff --git a/bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km_theme/WebSite_viewListBoxSearchButtonWidget.xml b/bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km/old/WebSite_viewListBoxSearchButtonWidget.xml
similarity index 100%
rename from bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km_theme/WebSite_viewListBoxSearchButtonWidget.xml
rename to bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km/old/WebSite_viewListBoxSearchButtonWidget.xml
diff --git a/bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km_theme/WebSection_viewMinimalKMWidgetFieldLibrary.xml b/bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km_theme/WebSection_viewMinimalKMWidgetFieldLibrary.xml
index 51f69724d8..f7a347715b 100644
--- a/bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km_theme/WebSection_viewMinimalKMWidgetFieldLibrary.xml
+++ b/bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km_theme/WebSection_viewMinimalKMWidgetFieldLibrary.xml
@@ -125,7 +125,6 @@
                       <list>
                         <string>left_menu_widget</string>
                         <string>listbox_action_widget</string>
-                        <string>search_text_listbox</string>
                       </list>
                     </value>
                 </item>
diff --git a/bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km_theme/WebSection_viewMinimalKMWidgetFieldLibrary/search_text_listbox.xml b/bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km_theme/WebSection_viewMinimalKMWidgetFieldLibrary/search_text_listbox.xml
deleted file mode 100644
index 820d4c4ae0..0000000000
--- a/bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km_theme/WebSection_viewMinimalKMWidgetFieldLibrary/search_text_listbox.xml
+++ /dev/null
@@ -1,313 +0,0 @@
-<?xml version="1.0"?>
-<ZopeData>
-  <record id="1" aka="AAAAAAAAAAE=">
-    <pickle>
-      <tuple>
-        <global name="EditorField" module="Products.ERP5Form.EditorField"/>
-        <tuple/>
-      </tuple>
-    </pickle>
-    <pickle>
-      <dictionary>
-        <item>
-            <key> <string>id</string> </key>
-            <value> <string>search_text_listbox</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>
-                <item>
-                    <key> <string>line_too_long</string> </key>
-                    <value> <string>A line was too long.</string> </value>
-                </item>
-                <item>
-                    <key> <string>required_not_found</string> </key>
-                    <value> <string>Input is required but no input given.</string> </value>
-                </item>
-                <item>
-                    <key> <string>too_long</string> </key>
-                    <value> <string>You entered too many characters.</string> </value>
-                </item>
-                <item>
-                    <key> <string>too_many_lines</string> </key>
-                    <value> <string>You entered too many lines.</string> </value>
-                </item>
-              </dictionary>
-            </value>
-        </item>
-        <item>
-            <key> <string>overrides</string> </key>
-            <value>
-              <dictionary>
-                <item>
-                    <key> <string>alternate_name</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>css_class</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>default</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>description</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>editable</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>enabled</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>external_validator</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>extra</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>height</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>hidden</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>max_length</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>max_linelength</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>max_lines</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>required</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>text_editor</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>title</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>unicode</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>whitespace_preserve</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>width</string> </key>
-                    <value> <string></string> </value>
-                </item>
-              </dictionary>
-            </value>
-        </item>
-        <item>
-            <key> <string>tales</string> </key>
-            <value>
-              <dictionary>
-                <item>
-                    <key> <string>alternate_name</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>css_class</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <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>editable</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>enabled</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>external_validator</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>extra</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>height</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>hidden</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>max_length</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>max_linelength</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>max_lines</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>required</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>text_editor</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>title</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>unicode</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>whitespace_preserve</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>width</string> </key>
-                    <value> <string></string> </value>
-                </item>
-              </dictionary>
-            </value>
-        </item>
-        <item>
-            <key> <string>values</string> </key>
-            <value>
-              <dictionary>
-                <item>
-                    <key> <string>alternate_name</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>css_class</string> </key>
-                    <value> <string>hidden_label search-text-listbox</string> </value>
-                </item>
-                <item>
-                    <key> <string>default</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>description</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>editable</string> </key>
-                    <value> <int>0</int> </value>
-                </item>
-                <item>
-                    <key> <string>enabled</string> </key>
-                    <value> <int>1</int> </value>
-                </item>
-                <item>
-                    <key> <string>external_validator</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>extra</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>height</string> </key>
-                    <value> <int>5</int> </value>
-                </item>
-                <item>
-                    <key> <string>hidden</string> </key>
-                    <value> <int>0</int> </value>
-                </item>
-                <item>
-                    <key> <string>max_length</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>max_linelength</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>max_lines</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>required</string> </key>
-                    <value> <int>0</int> </value>
-                </item>
-                <item>
-                    <key> <string>text_editor</string> </key>
-                    <value> <string>text_area</string> </value>
-                </item>
-                <item>
-                    <key> <string>title</string> </key>
-                    <value> <string>Search Listbox Input</string> </value>
-                </item>
-                <item>
-                    <key> <string>unicode</string> </key>
-                    <value> <int>0</int> </value>
-                </item>
-                <item>
-                    <key> <string>whitespace_preserve</string> </key>
-                    <value> <int>0</int> </value>
-                </item>
-                <item>
-                    <key> <string>width</string> </key>
-                    <value> <int>40</int> </value>
-                </item>
-              </dictionary>
-            </value>
-        </item>
-      </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>here/WebSite_viewListBoxSearchButtonWidget</string> </value>
-        </item>
-      </dictionary>
-    </pickle>
-  </record>
-</ZopeData>
diff --git a/bt5/erp5_km/bt/revision b/bt5/erp5_km/bt/revision
index 5746711683..37021f4a27 100644
--- a/bt5/erp5_km/bt/revision
+++ b/bt5/erp5_km/bt/revision
@@ -1 +1 @@
-1499
\ No newline at end of file
+1500
\ No newline at end of file
-- 
2.30.9


From c7c37eee35ccb307c0fe5ea7036620df65bcb68b Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?J=C3=A9rome=20Perrin?= <jerome@nexedi.com>
Date: Wed, 28 Jul 2010 14:06:24 +0000
Subject: [PATCH 179/270] Introduce new parameters omit_asset_increase and
 omit_asset_decrease that have similar meaning than omit_input and omit_input,
 but are not based of the inventory increase, but the asset value increase.

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@37346 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 product/ERP5/Tool/SimulationTool.py           | 85 ++++++++++++++++---
 .../Resource_zGetMovementHistoryList.xml      | 52 ++++++++++++
 product/ERP5/bootstrap/erp5_core/bt/revision  |  2 +-
 product/ERP5/tests/testInventoryAPI.py        | 64 ++++++++++++++
 4 files changed, 189 insertions(+), 14 deletions(-)

diff --git a/product/ERP5/Tool/SimulationTool.py b/product/ERP5/Tool/SimulationTool.py
index b62ce24fa7..c0d4188dcb 100644
--- a/product/ERP5/Tool/SimulationTool.py
+++ b/product/ERP5/Tool/SimulationTool.py
@@ -354,8 +354,12 @@ class SimulationTool(BaseTool):
           simulation_dict['simulation_state'] = output_simulation_state
       return simulation_dict
 
-    def _getOmitQuery(self, query_table=None, omit_input=0, omit_output=0, **kw):
-      omit_dict = self._getOmitDict(omit_input=omit_input, omit_output=omit_output)
+    def _getOmitQuery(self, query_table=None, omit_input=0, omit_output=0,
+                      omit_asset_increase=0, omit_asset_decrease=0, **kw):
+      omit_dict = self._getOmitDict(omit_input=omit_input,
+                                    omit_output=omit_output,
+                                    omit_asset_increase=omit_asset_increase,
+                                    omit_asset_decrease=omit_asset_decrease)
       return self._buildOmitQuery(query_table=query_table, omit_dict=omit_dict)
       
     def _buildOmitQuery(self, query_table, omit_dict):
@@ -363,11 +367,16 @@ class SimulationTool(BaseTool):
       Build a specific query in order to take:
       - negatives quantity values if omit_input
       - postives quantity values if omit_output
+      - negatives asset price values if omit_asset_increase
+      - positives asset price values if omit_asset_decrease
       """
       omit_query = None
       omit_input = omit_dict.get('input', False)
       omit_output = omit_dict.get('output', False)
-      if omit_input or omit_output:
+      omit_asset_increase = omit_dict.get('asset_increase', False)
+      omit_asset_decrease = omit_dict.get('asset_decrease', False)
+      if omit_input or omit_output\
+          or omit_asset_increase or omit_asset_decrease:
         # Make sure to check some conditions
         condition_expression = \
           "%(query_table)s.node_uid <> %(query_table)s.mirror_node_uid \
@@ -400,18 +409,57 @@ class SimulationTool(BaseTool):
                             Query(**{'%s.is_cancellation' % query_table: 1}),
                             operator='AND'),
                         operator='OR')
-          if omit_query is None:
-            omit_query = ComplexQuery(quantity_query, condition_expression,
+          output_query = ComplexQuery(quantity_query, condition_expression,
                                       operator='AND')
-          else:
-            output_query = ComplexQuery(quantity_query, condition_expression,
-                                        operator='AND')
+          if omit_query is not None:
             omit_query = ComplexQuery(omit_query, output_query, operator='AND')
+          else:
+            omit_query = output_query
+
+        if omit_asset_increase:
+          asset_price_query = ComplexQuery(
+                        ComplexQuery(
+                            Query(**{'%s.total_price' % query_table: '<0'}),
+                            Query(**{'%s.is_cancellation' % query_table: 0}),
+                            operator='AND'),
+                        ComplexQuery(
+                            Query(**{'%s.total_price' % query_table: '>0'}),
+                            Query(**{'%s.is_cancellation' % query_table: 1}),
+                            operator='AND'),
+                        operator='OR')
+          asset_increase_query = ComplexQuery(asset_price_query, condition_expression,
+                                              operator='AND')
+          if omit_query is not None:
+            omit_query = ComplexQuery(omit_query, asset_increase_query, operator='AND')
+          else:
+            omit_query = asset_increase_query
+
+        if omit_asset_decrease:
+          asset_price_query = ComplexQuery(
+                        ComplexQuery(
+                            Query(**{'%s.total_price' % query_table: '>0'}),
+                            Query(**{'%s.is_cancellation' % query_table: 0}),
+                            operator='AND'),
+                        ComplexQuery(
+                            Query(**{'%s.total_price' % query_table: '<0'}),
+                            Query(**{'%s.is_cancellation' % query_table: 1}),
+                            operator='AND'),
+                        operator='OR')
+          asset_decrease_query = ComplexQuery(asset_price_query, condition_expression,
+                                              operator='AND')
+          if omit_query is not None:
+            omit_query = ComplexQuery(omit_query, asset_decrease_query, operator='AND')
+          else:
+            omit_query = asset_decrease_query
 
       return omit_query
 
-    def _getOmitDict(self, omit_input=False, omit_output=False):
-      return {'input': omit_input, 'output': omit_output}
+    def _getOmitDict(self, omit_input=False, omit_output=False,
+                     omit_asset_increase=False, omit_asset_decrease=False):
+      return { 'input': omit_input,
+               'output': omit_output,
+               'asset_increase': omit_asset_increase,
+               'asset_decrease': omit_asset_decrease, }
 
     def _generateSQLKeywordDict(self, table='stock', **kw):
         sql_kw, new_kw = self._generateKeywordDict(**kw)
@@ -558,6 +606,8 @@ class SimulationTool(BaseTool):
         # omit input and output
         omit_input=0,
         omit_output=0,
+        omit_asset_increase=0,
+        omit_asset_decrease=0,
         # group by
         group_by_node=0,
         group_by_node_category=0,
@@ -714,7 +764,9 @@ class SimulationTool(BaseTool):
                                 strict_simulation_state=strict_simulation_state)
       new_kw['simulation_dict'] = simulation_dict
       omit_dict = self._getOmitDict(omit_input=omit_input,
-                                    omit_output=omit_output)
+                                    omit_output=omit_output,
+                                    omit_asset_increase=omit_asset_increase,
+                                    omit_asset_decrease=omit_asset_decrease)
       new_kw['omit_dict'] = omit_dict
       if reserved_kw is not None:
         if not isinstance(reserved_kw, dict):
@@ -950,9 +1002,13 @@ class SimulationTool(BaseTool):
 
       omit_simulation - doesn't take into account simulation movements
 
-      omit_input     -  doesn't take into account movement with quantity < 0
+      omit_input     -  doesn't take into account movement with quantity > 0
+
+      omit_output    -  doesn't take into account movement with quantity < 0
+
+      omit_asset_increase - doesn't take into account movement with asset_price > 0
 
-      omit_output    -  doesn't take into account movement with quantity > 0
+      omit_asset_decrease - doesn't take into account movement with asset_price < 0
 
       selection_domain, selection_report - see ListBox
 
@@ -1807,6 +1863,7 @@ class SimulationTool(BaseTool):
     def getMovementHistoryList(self, src__=0, ignore_variation=0,
                                standardise=0, omit_simulation=0,
                                omit_input=0, omit_output=0,
+                               omit_asset_increase=0, omit_asset_decrease=0,
                                selection_domain=None, selection_report=None,
                                initial_running_total_quantity=0,
                                initial_running_total_price=0, precision=None,
@@ -1826,6 +1883,8 @@ class SimulationTool(BaseTool):
                          standardise=standardise,
                          omit_simulation=omit_simulation,
                          omit_input=omit_input, omit_output=omit_output,
+                         omit_asset_increase=omit_asset_increase,
+                         omit_asset_decrease=omit_asset_decrease,
                          selection_domain=selection_domain,
                          selection_report=selection_report,
                          initial_running_total_quantity=
diff --git a/product/ERP5/bootstrap/erp5_core/SkinTemplateItem/portal_skins/erp5_core/Resource_zGetMovementHistoryList.xml b/product/ERP5/bootstrap/erp5_core/SkinTemplateItem/portal_skins/erp5_core/Resource_zGetMovementHistoryList.xml
index 6c26d605e4..18a9fe3736 100644
--- a/product/ERP5/bootstrap/erp5_core/SkinTemplateItem/portal_skins/erp5_core/Resource_zGetMovementHistoryList.xml
+++ b/product/ERP5/bootstrap/erp5_core/SkinTemplateItem/portal_skins/erp5_core/Resource_zGetMovementHistoryList.xml
@@ -75,6 +75,18 @@
                                   <dictionary/>
                                 </value>
                             </item>
+                            <item>
+                                <key> <string>omit_asset_decrease</string> </key>
+                                <value>
+                                  <dictionary/>
+                                </value>
+                            </item>
+                            <item>
+                                <key> <string>omit_asset_increase</string> </key>
+                                <value>
+                                  <dictionary/>
+                                </value>
+                            </item>
                             <item>
                                 <key> <string>omit_input</string> </key>
                                 <value>
@@ -165,6 +177,8 @@
                             <string>omit_simulation</string>
                             <string>omit_input</string>
                             <string>omit_output</string>
+                            <string>omit_asset_increase</string>
+                            <string>omit_asset_decrease</string>
                             <string>section_filtered</string>
                             <string>initial_running_total_quantity</string>
                             <string>initial_running_total_price</string>
@@ -602,6 +616,8 @@ standardize\r\n
 omit_simulation\r\n
 omit_input\r\n
 omit_output\r\n
+omit_asset_increase\r\n
+omit_asset_decrease\r\n
 section_filtered\r\n
 initial_running_total_quantity\r\n
 initial_running_total_price\r\n
@@ -726,6 +742,24 @@ WHERE\n
         OR stock.mirror_section_uid IS NULL\n
         OR stock.payment_uid IS NOT NULL )\n
 </dtml-if>\n
+<dtml-if omit_asset_increase>\n
+  AND ( ( stock.is_cancellation AND stock.total_price > 0 )\n
+        OR ( not stock.is_cancellation AND stock.total_price < 0 ))\n
+  AND ( stock.node_uid <> stock.mirror_node_uid\n
+        OR stock.section_uid <> stock.mirror_section_uid\n
+        OR stock.mirror_node_uid IS NULL\n
+        OR stock.mirror_section_uid IS NULL\n
+        OR stock.payment_uid IS NOT NULL )\n
+</dtml-if>\n
+<dtml-if omit_asset_decrease>\n
+  AND ( ( stock.is_cancellation AND stock.total_price < 0 )\n
+        OR ( not stock.is_cancellation AND stock.total_price > 0 ))\n
+  AND ( stock.node_uid <> stock.mirror_node_uid\n
+        OR stock.section_uid <> stock.mirror_section_uid\n
+        OR stock.mirror_node_uid IS NULL\n
+        OR stock.mirror_section_uid IS NULL\n
+        OR stock.payment_uid IS NOT NULL )\n
+</dtml-if>\n
 \n
 <dtml-if input_simulation_state>\n
   <dtml-if output_simulation_state>\n
@@ -893,6 +927,24 @@ WHERE\n
         OR stock.mirror_section_uid IS NULL\n
         OR stock.payment_uid IS NOT NULL )\n
 </dtml-if>\n
+<dtml-if omit_asset_increase>\n
+  AND ( ( stock.is_cancellation AND stock.total_price > 0 )\n
+        OR ( not stock.is_cancellation AND stock.total_price < 0 ))\n
+  AND ( stock.node_uid <> stock.mirror_node_uid\n
+        OR stock.section_uid <> stock.mirror_section_uid\n
+        OR stock.mirror_node_uid IS NULL\n
+        OR stock.mirror_section_uid IS NULL\n
+        OR stock.payment_uid IS NOT NULL )\n
+</dtml-if>\n
+<dtml-if omit_asset_decrease>\n
+  AND ( ( stock.is_cancellation AND stock.total_price < 0 )\n
+        OR ( not stock.is_cancellation AND stock.total_price > 0 ))\n
+  AND ( stock.node_uid <> stock.mirror_node_uid\n
+        OR stock.section_uid <> stock.mirror_section_uid\n
+        OR stock.mirror_node_uid IS NULL\n
+        OR stock.mirror_section_uid IS NULL\n
+        OR stock.payment_uid IS NOT NULL )\n
+</dtml-if>\n
 \n
 <dtml-if input_simulation_state>\n
   <dtml-if output_simulation_state>\n
diff --git a/product/ERP5/bootstrap/erp5_core/bt/revision b/product/ERP5/bootstrap/erp5_core/bt/revision
index dfac53b0c4..7fc5e9be95 100644
--- a/product/ERP5/bootstrap/erp5_core/bt/revision
+++ b/product/ERP5/bootstrap/erp5_core/bt/revision
@@ -1 +1 @@
-1641
\ No newline at end of file
+1642
\ No newline at end of file
diff --git a/product/ERP5/tests/testInventoryAPI.py b/product/ERP5/tests/testInventoryAPI.py
index 12cdb0b5f6..3fbc538b12 100644
--- a/product/ERP5/tests/testInventoryAPI.py
+++ b/product/ERP5/tests/testInventoryAPI.py
@@ -1008,6 +1008,54 @@ class TestInventoryList(InventoryAPITestCase):
                                               omit_input=1,
                                               omit_output=1)))
     
+  def test_OmitAssetIncreaseDecrease(self):
+    getInventoryList = self.getSimulationTool().getInventoryList
+    m1 = self._makeMovement(quantity=1, price=1)
+    m2 = self._makeMovement(quantity=-1, price=1)
+    # omit movements that increases the asset
+    inventory_list = getInventoryList(node_uid=self.node.getUid(),
+                                      omit_asset_increase=1)
+    self.assertEquals(1, len(inventory_list))
+    self.assertEquals(-1, inventory_list[0].total_price)
+    self.assertEquals(-1, inventory_list[0].total_quantity)
+
+    # omit movements that decrease the asset
+    inventory_list = getInventoryList(node_uid=self.node.getUid(),
+                                      omit_asset_decrease=1)
+    self.assertEquals(1, len(inventory_list))
+    self.assertEquals(1, inventory_list[0].total_price)
+    self.assertEquals(1, inventory_list[0].total_quantity)
+
+    # omit_asset_increase and omit_asset_decrease return nothing in that case
+    self.assertEquals(0, len(getInventoryList(node_uid=self.node.getUid(),
+                                              omit_asset_increase=1,
+                                              omit_asset_decrease=1)))
+
+    # so far, it works the same as omit_input & omit_output, but if we have
+    # negative prices, we see the interest of such feature
+    m1.setPrice(-1)
+    self.assertEquals(-1, m1.getTotalPrice())
+    m2.setPrice(-1)
+    self.assertEquals(1, m2.getTotalPrice())
+
+    transaction.commit()
+    self.tic()
+
+    inventory_list = getInventoryList(node_uid=self.node.getUid(),
+                                      omit_asset_increase=1)
+    self.assertEquals(1, len(inventory_list))
+    # this is m1
+    self.assertEquals(-1, inventory_list[0].total_price)
+    self.assertEquals(1, inventory_list[0].total_quantity)
+
+    inventory_list = getInventoryList(node_uid=self.node.getUid(),
+                                      omit_asset_decrease=1)
+    self.assertEquals(1, len(inventory_list))
+    # this is m2
+    self.assertEquals(1, inventory_list[0].total_price)
+    self.assertEquals(-1, inventory_list[0].total_quantity)
+
+
   def test_OmitInputOmitOutputWithDifferentPaymentSameNodeSameSection(self):
     getInventoryList = self.getSimulationTool().getInventoryList
     self._makeMovement(quantity=2, price=1,
@@ -1812,6 +1860,22 @@ class TestMovementHistoryList(InventoryAPITestCase):
                                               omit_input=1,
                                               omit_output=1)))
     
+  def test_OmitAssetIncreaseDecrease(self):
+    getMovementHistoryList = self.getSimulationTool().getMovementHistoryList
+    m1 = self._makeMovement(quantity=1, price=-1)
+    m2 = self._makeMovement(quantity=-1, price=-1)
+    mvt_history_list = getMovementHistoryList(node_uid=self.node.getUid(),
+                                              omit_asset_increase=1)
+    self.assertEquals(1, len(mvt_history_list))
+    self.assertEquals(-1, mvt_history_list[0].total_price)
+    self.assertEquals(1, mvt_history_list[0].total_quantity)
+
+    mvt_history_list = getMovementHistoryList(node_uid=self.node.getUid(),
+                                              omit_asset_decrease=1)
+    self.assertEquals(1, len(mvt_history_list))
+    self.assertEquals(1, mvt_history_list[0].total_price)
+    self.assertEquals(-1, mvt_history_list[0].total_quantity)
+
   def test_OmitInputOmitOutputWithDifferentPaymentSameNodeSameSection(self):
     getMovementHistoryList = self.getSimulationTool().getMovementHistoryList
     self._makeMovement(quantity=2, price=1,
-- 
2.30.9


From 8014e67a1f9d8de1472ffef4d326651602845291 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?J=C3=A9rome=20Perrin?= <jerome@nexedi.com>
Date: Wed, 28 Jul 2010 14:20:46 +0000
Subject: [PATCH 180/270] use omit_asset_increase / omit_asset_decrease in
 place of omit_input / omit_output where we display asset price

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@37347 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 ...ntModule_getAccountListForTrialBalance.xml | 32 +++++++++----------
 .../AccountModule_getBalance.xml              | 10 +++---
 .../AccountModule_getGeneralLedgerSummary.xml | 12 +++----
 .../AccountModule_getTotalSourceCredit.xml    |  2 +-
 .../AccountModule_getTotalSourceDebit.xml     |  2 +-
 .../AccountModule_statBalance.xml             | 10 +++---
 .../AccountModule_statTotalSourceCredit.xml   |  2 +-
 .../AccountModule_statTotalSourceDebit.xml    |  2 +-
 .../erp5_accounting/Account_statCredit.xml    |  2 +-
 .../erp5_accounting/Account_statDebit.xml     |  2 +-
 .../erp5_accounting/Entity_statCredit.xml     |  2 +-
 .../erp5_accounting/Entity_statDebit.xml      |  2 +-
 .../Node_getAccountingTransactionList.xml     |  4 +--
 .../Node_statAccountingBalance.xml            | 18 +++++------
 .../Node_statAccountingCredit.xml             |  2 +-
 .../Node_statAccountingDebit.xml              |  2 +-
 bt5/erp5_accounting/bt/revision               |  2 +-
 17 files changed, 54 insertions(+), 54 deletions(-)

diff --git a/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountModule_getAccountListForTrialBalance.xml b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountModule_getAccountListForTrialBalance.xml
index 2dfd7f9020..b518c9073f 100644
--- a/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountModule_getAccountListForTrialBalance.xml
+++ b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountModule_getAccountListForTrialBalance.xml
@@ -173,7 +173,7 @@ def getAnalyticTitleFromUid(uid):\n
 for node in getInventoryList(\n
                 node_category_strict_membership=account_type_to_group_by_node,\n
                 group_by_node=1,\n
-                omit_output=1,\n
+                omit_asset_decrease=1,\n
                 from_date=from_date,\n
                 at_date=at_date,\n
                 portal_type=accounting_movement_type_list,\n
@@ -187,7 +187,7 @@ for node in getInventoryList(\n
 for node in getInventoryList(\n
                 node_category_strict_membership=account_type_to_group_by_node,\n
                 group_by_node=1,\n
-                omit_input=1,\n
+                omit_asset_increase=1,\n
                 from_date=from_date,\n
                 at_date=at_date,\n
                 portal_type=accounting_movement_type_list,\n
@@ -204,7 +204,7 @@ for node in getInventoryList(\n
                 node_category=profit_and_loss_account_type,\n
                 from_date=max(period_start_date, from_date),\n
                 group_by_node=1,\n
-                omit_output=1,\n
+                omit_asset_decrease=1,\n
                 at_date=at_date,\n
                 portal_type=accounting_movement_type_list,\n
                 **inventory_params):\n
@@ -218,7 +218,7 @@ for node in getInventoryList(\n
                 node_category=profit_and_loss_account_type,\n
                 from_date=max(period_start_date, from_date),\n
                 group_by_node=1,\n
-                omit_input=1,\n
+                omit_asset_increase=1,\n
                 at_date=at_date,\n
                 portal_type=accounting_movement_type_list,\n
                 **inventory_params):\n
@@ -236,7 +236,7 @@ if account_type_to_group_by_mirror_section:\n
                           account_type_to_group_by_mirror_section,\n
                   group_by_mirror_section=1,\n
                   group_by_node=1,\n
-                  omit_output=1,\n
+                  omit_asset_decrease=1,\n
                   from_date=from_date,\n
                   at_date=at_date,\n
                   portal_type=accounting_movement_type_list,\n
@@ -254,7 +254,7 @@ if account_type_to_group_by_mirror_section:\n
                           account_type_to_group_by_mirror_section,\n
                   group_by_mirror_section=1,\n
                   group_by_node=1,\n
-                  omit_input=1,\n
+                  omit_asset_increase=1,\n
                   from_date=from_date,\n
                   at_date=at_date,\n
                   portal_type=accounting_movement_type_list,\n
@@ -275,7 +275,7 @@ if account_type_to_group_by_payment:\n
                           account_type_to_group_by_payment,\n
                   group_by_payment=1,\n
                   group_by_node=1,\n
-                  omit_output=1,\n
+                  omit_asset_decrease=1,\n
                   from_date=from_date,\n
                   at_date=at_date,\n
                   portal_type=accounting_movement_type_list,\n
@@ -293,7 +293,7 @@ if account_type_to_group_by_payment:\n
                           account_type_to_group_by_payment,\n
                   group_by_payment=1,\n
                   group_by_node=1,\n
-                  omit_input=1,\n
+                  omit_asset_increase=1,\n
                   from_date=from_date,\n
                   at_date=at_date,\n
                   portal_type=accounting_movement_type_list,\n
@@ -387,7 +387,7 @@ for node in getInventoryList(\n
                 node_category_strict_membership=\n
                           account_type_to_group_by_node,\n
                 group_by_node=1,\n
-                omit_output=1,\n
+                omit_asset_decrease=1,\n
                 from_date=period_start_date,\n
                 to_date=from_date,\n
                 portal_type=period_movement_type_list,\n
@@ -401,7 +401,7 @@ for node in getInventoryList(\n
                 node_category_strict_membership=\n
                           account_type_to_group_by_node,\n
                 group_by_node=1,\n
-                omit_input=1,\n
+                omit_asset_increase=1,\n
                 from_date=period_start_date,\n
                 to_date=from_date,\n
                 portal_type=period_movement_type_list,\n
@@ -415,7 +415,7 @@ for node in getInventoryList(\n
 ### profit & loss accounts {{{\n
 for node in getInventoryList(\n
                 node_category=profit_and_loss_account_type,\n
-                omit_output=1,\n
+                omit_asset_decrease=1,\n
                 from_date=min(period_start_date,\n
                               initial_balance_date),\n
                 at_date=initial_balance_date,\n
@@ -429,7 +429,7 @@ for node in getInventoryList(\n
 \n
 for node in getInventoryList(\n
                 node_category=profit_and_loss_account_type,\n
-                omit_input=1,\n
+                omit_asset_increase=1,\n
                 from_date=min(period_start_date,\n
                               initial_balance_date),\n
                 at_date=initial_balance_date,\n
@@ -505,7 +505,7 @@ if expand_accounts:\n
                           account_type_to_group_by_mirror_section,\n
                   group_by_mirror_section=1,\n
                   group_by_node=1,\n
-                  omit_output=1,\n
+                  omit_asset_decrease=1,\n
                   from_date=period_start_date,\n
                   to_date=from_date,\n
                   portal_type=period_movement_type_list,\n
@@ -522,7 +522,7 @@ if expand_accounts:\n
                           account_type_to_group_by_mirror_section,\n
                   group_by_mirror_section=1,\n
                   group_by_node=1,\n
-                  omit_input=1,\n
+                  omit_asset_increase=1,\n
                   from_date=period_start_date,\n
                   to_date=from_date,\n
                   portal_type=period_movement_type_list,\n
@@ -587,7 +587,7 @@ if account_type_to_group_by_payment:\n
                           account_type_to_group_by_payment,\n
                   group_by_payment=1,\n
                   group_by_node=1,\n
-                  omit_output=1,\n
+                  omit_asset_decrease=1,\n
                   from_date=period_start_date,\n
                   to_date=from_date,\n
                   portal_type=period_movement_type_list,\n
@@ -605,7 +605,7 @@ if account_type_to_group_by_payment:\n
                           account_type_to_group_by_payment,\n
                   group_by_payment=1,\n
                   group_by_node=1,\n
-                  omit_input=1,\n
+                  omit_asset_increase=1,\n
                   from_date=period_start_date,\n
                   to_date=from_date,\n
                   portal_type=period_movement_type_list,\n
diff --git a/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountModule_getBalance.xml b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountModule_getBalance.xml
index 960ca27cf0..872c98680b 100644
--- a/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountModule_getBalance.xml
+++ b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountModule_getBalance.xml
@@ -55,8 +55,8 @@
             <key> <string>_body</string> </key>
             <value> <string>portal = context.getPortalObject()\n
 params = portal.ERP5Accounting_getParams(selection_name)\n
-params[\'omit_input\'] = omit_input\n
-params[\'omit_output\'] = omit_output\n
+params[\'omit_asset_increase\'] = omit_asset_increase\n
+params[\'omit_asset_decrease\'] = omit_asset_decrease\n
 # For now, we omit simulation to be compatible with other reports.\n
 params[\'omit_simulation\'] = True\n
 \n
@@ -73,7 +73,7 @@ return portal.portal_simulation.getInventoryAssetPrice(\n
         </item>
         <item>
             <key> <string>_params</string> </key>
-            <value> <string>brain=None, selection=None, omit_input=0, omit_output=0, selection_name=None, **kw</string> </value>
+            <value> <string>brain=None, selection=None, omit_asset_increase=0, omit_asset_decrease=0, selection_name=None, **kw</string> </value>
         </item>
         <item>
             <key> <string>errors</string> </key>
@@ -101,8 +101,8 @@ return portal.portal_simulation.getInventoryAssetPrice(\n
                           <tuple>
                             <string>brain</string>
                             <string>selection</string>
-                            <string>omit_input</string>
-                            <string>omit_output</string>
+                            <string>omit_asset_increase</string>
+                            <string>omit_asset_decrease</string>
                             <string>selection_name</string>
                             <string>kw</string>
                             <string>_getattr_</string>
diff --git a/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountModule_getGeneralLedgerSummary.xml b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountModule_getGeneralLedgerSummary.xml
index 8f7da303b3..eb736321b2 100644
--- a/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountModule_getGeneralLedgerSummary.xml
+++ b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountModule_getGeneralLedgerSummary.xml
@@ -73,11 +73,11 @@ if node_category:\n
   # calculated differently. As a result, the summary doesn\'t take from_date\n
   # into account for income accounts.\n
   return [Object(\n
-            debit_price=getInventoryAssetPrice(omit_output=1,\n
+            debit_price=getInventoryAssetPrice(omit_asset_decrease=1,\n
                                node_category=node_category,\n
                                precision=precision,\n
                                **inventory_kw),\n
-            credit_price=-getInventoryAssetPrice(omit_input=1,\n
+            credit_price=-getInventoryAssetPrice(omit_asset_increase=1,\n
                                node_category=node_category,\n
                                precision=precision,\n
                                 **inventory_kw) or 0 ) ]\n
@@ -86,24 +86,24 @@ income_node_category = [\'account_type/income\', \'account_type/expense\']\n
 balance_node_category = [\'account_type/equity\', \'account_type/asset\',\n
                          \'account_type/liability\']\n
 \n
-debit = getInventoryAssetPrice(omit_output=1,\n
+debit = getInventoryAssetPrice(omit_asset_decrease=1,\n
                                from_date=period_start_date,\n
                                node_category=income_node_category,\n
                                precision=precision,\n
                                **inventory_kw)\n
 \n
-credit = - getInventoryAssetPrice(omit_input=1,\n
+credit = - getInventoryAssetPrice(omit_asset_increase=1,\n
                                from_date=period_start_date,\n
                                node_category=income_node_category,\n
                                precision=precision,\n
                                 **inventory_kw) or 0\n
 \n
-debit += getInventoryAssetPrice(omit_output=1,\n
+debit += getInventoryAssetPrice(omit_asset_decrease=1,\n
                                node_category=balance_node_category,\n
                                precision=precision,\n
                                **inventory_kw)\n
 \n
-credit -= getInventoryAssetPrice(omit_input=1,\n
+credit -= getInventoryAssetPrice(omit_asset_increase=1,\n
                                node_category=balance_node_category,\n
                                precision=precision,\n
                                 **inventory_kw) or 0\n
diff --git a/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountModule_getTotalSourceCredit.xml b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountModule_getTotalSourceCredit.xml
index d75bdfd4dd..a78435294f 100644
--- a/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountModule_getTotalSourceCredit.xml
+++ b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountModule_getTotalSourceCredit.xml
@@ -53,7 +53,7 @@
         </item>
         <item>
             <key> <string>_body</string> </key>
-            <value> <string>return - context.AccountModule_getBalance(brain=brain, selection=selection, omit_input=1, **kw) or 0.00\n
+            <value> <string>return - context.AccountModule_getBalance(brain=brain, selection=selection, omit_asset_increase=1, **kw) or 0.00\n
 </string> </value>
         </item>
         <item>
diff --git a/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountModule_getTotalSourceDebit.xml b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountModule_getTotalSourceDebit.xml
index 21e067e2ab..dd4af1f91d 100644
--- a/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountModule_getTotalSourceDebit.xml
+++ b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountModule_getTotalSourceDebit.xml
@@ -53,7 +53,7 @@
         </item>
         <item>
             <key> <string>_body</string> </key>
-            <value> <string>return context.AccountModule_getBalance(brain, selection, omit_output=1, **kw)\n
+            <value> <string>return context.AccountModule_getBalance(brain, selection, omit_asset_decrease=1, **kw)\n
 </string> </value>
         </item>
         <item>
diff --git a/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountModule_statBalance.xml b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountModule_statBalance.xml
index f6e5ffc41e..f1697b0d25 100644
--- a/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountModule_statBalance.xml
+++ b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountModule_statBalance.xml
@@ -57,8 +57,8 @@
 params = portal.ERP5Accounting_getParams(selection_name)\n
 selection_params = context.portal_selections.getSelectionParamsFor(selection_name)\n
 \n
-params[\'omit_input\'] = omit_input\n
-params[\'omit_output\'] = omit_output\n
+params[\'omit_asset_increase\'] = omit_asset_increase\n
+params[\'omit_asset_decrease\'] = omit_asset_decrease\n
 # For now, we omit simulation to be compatible with other reports.\n
 params[\'omit_simulation\'] = True\n
 \n
@@ -94,7 +94,7 @@ return portal.portal_simulation.getInventoryAssetPrice( **params )\n
         </item>
         <item>
             <key> <string>_params</string> </key>
-            <value> <string>brain=None, selection=None, omit_input=0, omit_output=0, selection_name=None, **kw</string> </value>
+            <value> <string>brain=None, selection=None, omit_asset_increase=0, omit_asset_decrease=0, selection_name=None, **kw</string> </value>
         </item>
         <item>
             <key> <string>errors</string> </key>
@@ -122,8 +122,8 @@ return portal.portal_simulation.getInventoryAssetPrice( **params )\n
                           <tuple>
                             <string>brain</string>
                             <string>selection</string>
-                            <string>omit_input</string>
-                            <string>omit_output</string>
+                            <string>omit_asset_increase</string>
+                            <string>omit_asset_decrease</string>
                             <string>selection_name</string>
                             <string>kw</string>
                             <string>_getattr_</string>
diff --git a/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountModule_statTotalSourceCredit.xml b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountModule_statTotalSourceCredit.xml
index 8c9d81eb1a..a9d4e11d22 100644
--- a/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountModule_statTotalSourceCredit.xml
+++ b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountModule_statTotalSourceCredit.xml
@@ -53,7 +53,7 @@
         </item>
         <item>
             <key> <string>_body</string> </key>
-            <value> <string>return - context.AccountModule_statBalance(brain=brain, selection_name=selection_name, omit_input=1, **kw) or 0\n
+            <value> <string>return - context.AccountModule_statBalance(brain=brain, selection_name=selection_name, omit_asset_increase=1, **kw) or 0\n
 </string> </value>
         </item>
         <item>
diff --git a/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountModule_statTotalSourceDebit.xml b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountModule_statTotalSourceDebit.xml
index b005af9cb0..2280068685 100644
--- a/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountModule_statTotalSourceDebit.xml
+++ b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountModule_statTotalSourceDebit.xml
@@ -53,7 +53,7 @@
         </item>
         <item>
             <key> <string>_body</string> </key>
-            <value> <string>return context.AccountModule_statBalance(brain=brain, selection_name=selection_name, omit_output=1, float_value=1, **kw)\n
+            <value> <string>return context.AccountModule_statBalance(brain=brain, selection_name=selection_name, omit_asset_decrease=1, float_value=1, **kw)\n
 </string> </value>
         </item>
         <item>
diff --git a/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/Account_statCredit.xml b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/Account_statCredit.xml
index 3161fde62d..eff87e16b7 100644
--- a/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/Account_statCredit.xml
+++ b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/Account_statCredit.xml
@@ -57,7 +57,7 @@
 account as node\n
 """\n
 kw[\'node_uid\'] = context.getUid()\n
-kw[\'omit_input\'] = 1\n
+kw[\'omit_asset_increase\'] = 1\n
 kw.update(kw[\'selection\'].getParams())\n
 \n
 # here, or 0 is to prevent displaying "- 0"\n
diff --git a/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/Account_statDebit.xml b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/Account_statDebit.xml
index 3f5385e18f..d9e783ed3e 100644
--- a/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/Account_statDebit.xml
+++ b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/Account_statDebit.xml
@@ -57,7 +57,7 @@
 account as a node\n
 """\n
 kw[\'node_uid\'] = context.getUid()\n
-kw[\'omit_output\'] = 1\n
+kw[\'omit_asset_decrease\'] = 1\n
 kw.update(kw[\'selection\'].getParams())\n
 \n
 return context.Node_statAccountingBalance(**kw)\n
diff --git a/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/Entity_statCredit.xml b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/Entity_statCredit.xml
index d92fd4439a..4dc03fe12f 100644
--- a/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/Entity_statCredit.xml
+++ b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/Entity_statCredit.xml
@@ -57,7 +57,7 @@
 entity as a mirror section\n
 """\n
 kw[\'mirror_section_uid\'] = context.getUid()\n
-kw[\'omit_input\'] = 1\n
+kw[\'omit_asset_increase\'] = 1\n
 kw[\'node_category_strict_membership\'] = [\'account_type/asset/receivable\',\n
                                          \'account_type/liability/payable\']\n
 # here, or 0 is to prevent displaying "- 0"\n
diff --git a/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/Entity_statDebit.xml b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/Entity_statDebit.xml
index b3e6733d9b..eb7e262699 100644
--- a/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/Entity_statDebit.xml
+++ b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/Entity_statDebit.xml
@@ -57,7 +57,7 @@
 entity as a mirror section\n
 """\n
 kw[\'mirror_section_uid\'] = context.getUid()\n
-kw[\'omit_output\'] = 1\n
+kw[\'omit_asset_decrease\'] = 1\n
 kw[\'node_category_strict_membership\'] = [\'account_type/asset/receivable\',\n
                                          \'account_type/liability/payable\']\n
 return context.Node_statAccountingBalance(**kw)\n
diff --git a/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/Node_getAccountingTransactionList.xml b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/Node_getAccountingTransactionList.xml
index 3ddd17e85d..6bca2d6648 100644
--- a/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/Node_getAccountingTransactionList.xml
+++ b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/Node_getAccountingTransactionList.xml
@@ -158,11 +158,11 @@ if from_date or is_pl_account:\n
                                               **get_inventory_kw)\n
 \n
     # then all movement between period_start_date and from_date\n
-    previous_total_debit  = getInventoryAssetPrice(omit_output=True,\n
+    previous_total_debit  = getInventoryAssetPrice(omit_asset_decrease=True,\n
            from_date=period_start_date,\n
            to_date=from_date,\n
            **get_inventory_kw) + max(period_openning_balance, 0)\n
-    previous_total_credit = getInventoryAssetPrice(omit_input=True,\n
+    previous_total_credit = getInventoryAssetPrice(omit_asset_increase=True,\n
            from_date=period_start_date,\n
            to_date=from_date,\n
            **get_inventory_kw) - max(-period_openning_balance, 0)\n
diff --git a/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/Node_statAccountingBalance.xml b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/Node_statAccountingBalance.xml
index 6bf8f4ad23..7c01797ecc 100644
--- a/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/Node_statAccountingBalance.xml
+++ b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/Node_statAccountingBalance.xml
@@ -122,13 +122,13 @@ if params.get(\'period_start_date\', 0) and params.get(\'node_uid\'):\n
               selection_domain=getSelectionDomainDictFor(selection_name),\n
               to_date=period_start_date,\n
               **params)\n
-    if omit_output:\n
-      return getInventoryAssetPrice(omit_output=1,\n
+    if omit_asset_decrease:\n
+      return getInventoryAssetPrice(omit_asset_decrease=1,\n
            from_date=period_start_date,\n
            at_date=at_date,\n
            **params) + max(period_openning_balance, 0)\n
-    elif omit_input:\n
-      return getInventoryAssetPrice(omit_input=1,\n
+    elif omit_asset_increase:\n
+      return getInventoryAssetPrice(omit_asset_increase=1,\n
            from_date=period_start_date,\n
            at_date=at_date,\n
            **params) - max(-period_openning_balance, 0)\n
@@ -138,8 +138,8 @@ if params.get(\'period_start_date\', 0) and params.get(\'node_uid\'):\n
            **params) - max(-period_openning_balance, 0)\n
 \n
 return getInventoryAssetPrice(\n
-              omit_input=omit_input,\n
-              omit_output=omit_output,\n
+              omit_asset_increase=omit_asset_increase,\n
+              omit_asset_decrease=omit_asset_decrease,\n
               selection_domain=getSelectionDomainDictFor(selection_name),\n
               **params)\n
 </string> </value>
@@ -152,7 +152,7 @@ return getInventoryAssetPrice(\n
         </item>
         <item>
             <key> <string>_params</string> </key>
-            <value> <string>selection=None, omit_input=0, omit_output=0, selection_name=None, **kw</string> </value>
+            <value> <string>selection=None, omit_asset_increase=0, omit_asset_decrease=0, selection_name=None, **kw</string> </value>
         </item>
         <item>
             <key> <string>_proxy_roles</string> </key>
@@ -187,8 +187,8 @@ return getInventoryAssetPrice(\n
                         <value>
                           <tuple>
                             <string>selection</string>
-                            <string>omit_input</string>
-                            <string>omit_output</string>
+                            <string>omit_asset_increase</string>
+                            <string>omit_asset_decrease</string>
                             <string>selection_name</string>
                             <string>kw</string>
                             <string>Products.ZSQLCatalog.SQLCatalog</string>
diff --git a/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/Node_statAccountingCredit.xml b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/Node_statAccountingCredit.xml
index a5010275a9..b2df18a4b9 100644
--- a/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/Node_statAccountingCredit.xml
+++ b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/Node_statAccountingCredit.xml
@@ -53,7 +53,7 @@
         </item>
         <item>
             <key> <string>_body</string> </key>
-            <value> <string>return - context.Node_statAccountingBalance(omit_input=1, **kw) or 0.0\n
+            <value> <string>return - context.Node_statAccountingBalance(omit_asset_increase=1, **kw) or 0.0\n
 </string> </value>
         </item>
         <item>
diff --git a/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/Node_statAccountingDebit.xml b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/Node_statAccountingDebit.xml
index a84a6ec686..3f985c4090 100644
--- a/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/Node_statAccountingDebit.xml
+++ b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/Node_statAccountingDebit.xml
@@ -53,7 +53,7 @@
         </item>
         <item>
             <key> <string>_body</string> </key>
-            <value> <string>return context.Node_statAccountingBalance(omit_output=1, **kw) or 0.0\n
+            <value> <string>return context.Node_statAccountingBalance(omit_asset_decrease=1, **kw) or 0.0\n
 </string> </value>
         </item>
         <item>
diff --git a/bt5/erp5_accounting/bt/revision b/bt5/erp5_accounting/bt/revision
index b8d9d25141..3b6be60c90 100644
--- a/bt5/erp5_accounting/bt/revision
+++ b/bt5/erp5_accounting/bt/revision
@@ -1 +1 @@
-1318
\ No newline at end of file
+1319
\ No newline at end of file
-- 
2.30.9


From ad5f9217263f675418ad1443bff6ea6b424a20ee Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?J=C3=A9rome=20Perrin?= <jerome@nexedi.com>
Date: Wed, 28 Jul 2010 14:23:12 +0000
Subject: [PATCH 181/270] Project transaction tab: - don't filter by node
 category, show all categories and let the user select with domain tree - use
 omit_asset_increase / omit_asset_decrease as we show asset prices

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@37348 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 .../erp5_project/Project_getAccountingTransactionList.xml   | 4 ----
 .../portal_skins/erp5_project/Project_statBalance.xml       | 6 +-----
 .../portal_skins/erp5_project/Project_statCredit.xml        | 6 +-----
 .../portal_skins/erp5_project/Project_statDebit.xml         | 6 +-----
 bt5/erp5_project/bt/revision                                | 2 +-
 5 files changed, 4 insertions(+), 20 deletions(-)

diff --git a/bt5/erp5_project/SkinTemplateItem/portal_skins/erp5_project/Project_getAccountingTransactionList.xml b/bt5/erp5_project/SkinTemplateItem/portal_skins/erp5_project/Project_getAccountingTransactionList.xml
index 50616987f3..c8a2f6d107 100644
--- a/bt5/erp5_project/SkinTemplateItem/portal_skins/erp5_project/Project_getAccountingTransactionList.xml
+++ b/bt5/erp5_project/SkinTemplateItem/portal_skins/erp5_project/Project_getAccountingTransactionList.xml
@@ -56,10 +56,6 @@
             <value> <string>"""Returns Accounting Transactions related to the project.\n
 """\n
 kw[\'project_uid\'] = context.getUid()\n
-kw[\'node_category_strict_membership\'] = [\'account_type/expense\',\n
-                                         \'account_type/income\',\n
-                                         \'account_type/asset/receivable\',\n
-                                         \'account_type/liability/payable\']\n
 return context.Node_getAccountingTransactionList(**kw)\n
 </string> </value>
         </item>
diff --git a/bt5/erp5_project/SkinTemplateItem/portal_skins/erp5_project/Project_statBalance.xml b/bt5/erp5_project/SkinTemplateItem/portal_skins/erp5_project/Project_statBalance.xml
index bd92d17bf4..910cf8649e 100644
--- a/bt5/erp5_project/SkinTemplateItem/portal_skins/erp5_project/Project_statBalance.xml
+++ b/bt5/erp5_project/SkinTemplateItem/portal_skins/erp5_project/Project_statBalance.xml
@@ -55,11 +55,7 @@
             <key> <string>_body</string> </key>
             <value> <string>"""Total balance of all accounting transactions related to the project.\n
 """\n
-kw[\'project_uid\'] = context.getUid()\n
-kw[\'node_category_strict_membership\'] = [\'account_type/expense\',\n
-                                         \'account_type/income\',\n
-                                         \'account_type/asset/receivable\',\n
-                                         \'account_type/liability/payable\']\n
+kw[\'project_uid\'] = context.getUid() \n
 return context.Node_statAccountingBalance(**kw)\n
 </string> </value>
         </item>
diff --git a/bt5/erp5_project/SkinTemplateItem/portal_skins/erp5_project/Project_statCredit.xml b/bt5/erp5_project/SkinTemplateItem/portal_skins/erp5_project/Project_statCredit.xml
index ce191c3e9e..39356e69b2 100644
--- a/bt5/erp5_project/SkinTemplateItem/portal_skins/erp5_project/Project_statCredit.xml
+++ b/bt5/erp5_project/SkinTemplateItem/portal_skins/erp5_project/Project_statCredit.xml
@@ -56,11 +56,7 @@
             <value> <string>"""Total credit of all accounting transactions related to the project.\n
 """\n
 kw[\'project_uid\'] = context.getUid()\n
-kw[\'omit_input\'] = 1\n
-kw[\'node_category_strict_membership\'] = [\'account_type/expense\',\n
-                                         \'account_type/income\',\n
-                                         \'account_type/asset/receivable\',\n
-                                         \'account_type/liability/payable\']\n
+kw[\'omit_asset_increase\'] = 1\n
 # here, or 0 is to prevent displaying "- 0"\n
 return - context.Node_statAccountingBalance(**kw) or 0\n
 </string> </value>
diff --git a/bt5/erp5_project/SkinTemplateItem/portal_skins/erp5_project/Project_statDebit.xml b/bt5/erp5_project/SkinTemplateItem/portal_skins/erp5_project/Project_statDebit.xml
index 8e1992dd34..a469cd785f 100644
--- a/bt5/erp5_project/SkinTemplateItem/portal_skins/erp5_project/Project_statDebit.xml
+++ b/bt5/erp5_project/SkinTemplateItem/portal_skins/erp5_project/Project_statDebit.xml
@@ -56,11 +56,7 @@
             <value> <string>"""Total debit of all accounting transactions related to the project.\n
 """\n
 kw[\'project_uid\'] = context.getUid()\n
-kw[\'omit_output\'] = 1\n
-kw[\'node_category_strict_membership\'] = [\'account_type/expense\',\n
-                                         \'account_type/income\',\n
-                                         \'account_type/asset/receivable\',\n
-                                         \'account_type/liability/payable\']\n
+kw[\'omit_asset_decrease\'] = 1\n
 return context.Node_statAccountingBalance(**kw)\n
 </string> </value>
         </item>
diff --git a/bt5/erp5_project/bt/revision b/bt5/erp5_project/bt/revision
index 96e4f13f48..8405587b4b 100644
--- a/bt5/erp5_project/bt/revision
+++ b/bt5/erp5_project/bt/revision
@@ -1 +1 @@
-766
\ No newline at end of file
+767
\ No newline at end of file
-- 
2.30.9


From 0bcce8f0de2a344d6f6ca98ef754d0b0dbb19ced Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?J=C3=A9rome=20Perrin?= <jerome@nexedi.com>
Date: Wed, 28 Jul 2010 15:11:19 +0000
Subject: [PATCH 182/270] accounting line export: support
 section_category_strict for transactions where both sections are member of
 section category

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@37349 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 ...Module_getAccountingLineReportLineList.xml | 43 ++++++++++++++++---
 bt5/erp5_accounting/bt/revision               |  2 +-
 2 files changed, 38 insertions(+), 7 deletions(-)

diff --git a/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountingTransactionModule_getAccountingLineReportLineList.xml b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountingTransactionModule_getAccountingLineReportLineList.xml
index c3d2cb6b28..b0db4e7800 100644
--- a/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountingTransactionModule_getAccountingLineReportLineList.xml
+++ b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountingTransactionModule_getAccountingLineReportLineList.xml
@@ -59,9 +59,34 @@ request = context.REQUEST\n
 portal = context.getPortalObject()\n
 portal_selections = portal.portal_selections\n
 selection_name = \'accounting_selection\'\n
+selection_params = portal_selections.getSelectionParamsFor(selection_name)\n
+\n
+section_category = selection_params.get(\'section_category\')\n
+section_category_strict = selection_params.get(\'section_category_strict\')\n
+\n
+def isSource(accounting_transaction):\n
+  if section_category:\n
+    source_section = accounting_transaction.getSourceSectionValue()\n
+    if source_section is None:\n
+      return False\n
+    group = source_section.getGroup(base=True)\n
+    if section_category_strict:\n
+      return group == section_category\n
+    return group.startswith(section_category)\n
+  return accounting_transaction.AccountingTransaction_isSourceView()\n
+\n
+def isDestination(accounting_transaction):\n
+  if section_category:\n
+    destination_section = accounting_transaction.getDestinationSectionValue()\n
+    if destination_section is None:\n
+      return False\n
+    group = destination_section.getGroup(base=True)\n
+    if section_category_strict:\n
+      return group == section_category\n
+    return group.startswith(section_category)\n
+  return accounting_transaction.AccountingTransaction_isDestinationView()\n
+\n
 \n
-section_category = \\\n
-  portal_selections.getSelectionParamsFor(selection_name).get(\'section_category\')\n
 if section_category:\n
   currency = portal.Base_getCurrencyForSection(section_category)\n
   request.set(\'currency\', currency)\n
@@ -135,7 +160,8 @@ def getAccountingCurrencyReference(section_relative_url):\n
 portal_type = context.getPortalAccountingMovementTypeList()\n
 for delivery in delivery_list:\n
   delivery = delivery.getObject()\n
-  is_source = delivery.AccountingTransaction_isSourceView()\n
+  is_source = isSource(delivery)\n
+  is_destination = isDestination(delivery)\n
 \n
   for movement in delivery.getMovementList(portal_type=portal_type):\n
 \n
@@ -150,7 +176,7 @@ for delivery in delivery_list:\n
         node_financial_section_title = \\\n
           node.getFinancialSectionTranslatedTitle()\n
 \n
-      line_list.append(Object(\n
+        line_list.append(Object(\n
         title=movement.hasTitle() and movement.getTitle() or\n
                      delivery.getTitle(),\n
         int_index=movement.getIntIndex(),\n
@@ -183,7 +209,7 @@ for delivery in delivery_list:\n
         parent_translated_portal_type=delivery.getTranslatedPortalType(),\n
         translated_simulation_state_title=movement.getTranslatedSimulationStateTitle(),))\n
 \n
-    if delivery.portal_type == \'Internal Invoice Transaction\' or not is_source:\n
+    if is_destination:\n
       node = movement.getDestinationValue(portal_type=\'Account\')\n
       node_title = \'\'\n
       node_account_type_title = \'\'\n
@@ -194,7 +220,7 @@ for delivery in delivery_list:\n
         node_financial_section_title = \\\n
           node.getFinancialSectionTranslatedTitle()\n
 \n
-      line_list.append(Object(\n
+        line_list.append(Object(\n
         title=movement.hasTitle() and movement.getTitle() or\n
                      delivery.getTitle(),\n
         int_index=movement.getIntIndex(),\n
@@ -275,7 +301,11 @@ return line_list\n
                             <string>portal</string>
                             <string>portal_selections</string>
                             <string>selection_name</string>
+                            <string>selection_params</string>
                             <string>section_category</string>
+                            <string>section_category_strict</string>
+                            <string>isSource</string>
+                            <string>isDestination</string>
                             <string>currency</string>
                             <string>checked_uid_list</string>
                             <string>getObject</string>
@@ -298,6 +328,7 @@ return line_list\n
                             <string>portal_type</string>
                             <string>delivery</string>
                             <string>is_source</string>
+                            <string>is_destination</string>
                             <string>movement</string>
                             <string>node</string>
                             <string>node_title</string>
diff --git a/bt5/erp5_accounting/bt/revision b/bt5/erp5_accounting/bt/revision
index 3b6be60c90..b60143b9a8 100644
--- a/bt5/erp5_accounting/bt/revision
+++ b/bt5/erp5_accounting/bt/revision
@@ -1 +1 @@
-1319
\ No newline at end of file
+1320
\ No newline at end of file
-- 
2.30.9


From 55780a023202557458d398a374de4c97fb466e0a Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?J=C3=A9rome=20Perrin?= <jerome@nexedi.com>
Date: Wed, 28 Jul 2010 15:39:33 +0000
Subject: [PATCH 183/270] test journal by project

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@37350 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 product/ERP5/tests/testAccountingReports.py | 39 +++++++++++++++++++++
 1 file changed, 39 insertions(+)

diff --git a/product/ERP5/tests/testAccountingReports.py b/product/ERP5/tests/testAccountingReports.py
index 40a756ee64..f850317252 100644
--- a/product/ERP5/tests/testAccountingReports.py
+++ b/product/ERP5/tests/testAccountingReports.py
@@ -490,6 +490,45 @@ class TestAccountingReports(AccountingTestCase, ERP5ReportTestCase):
     self.failUnless(line_list[-1].isStatLine())
     self.checkLineProperties(line_list[-1], debit=100, credit=100)
 
+  def testJournalProject(self):
+    self.createProjectAndFunctionDataSet()
+    request_form = self.portal.REQUEST.form
+    request_form['at_date'] = DateTime(2006, 2, 2)
+    request_form['section_category'] = 'group/demo_group'
+    request_form['section_category_strict'] = False
+    request_form['portal_type'] = ['Sale Invoice Transaction']
+    request_form['simulation_state'] = ['delivered']
+    request_form['project'] = self.project_1.getRelativeUrl()
+    request_form['hide_analytic'] = True
+    
+    report_section_list = self.getReportSectionList(
+                               self.portal.accounting_module,
+                               'AccountingTransactionModule_viewJournalReport')
+    self.assertEquals(1, len(report_section_list))
+    
+    line_list = self.getListBoxLineList(report_section_list[0])
+    data_line_list = [l for l in line_list if l.isDataLine()]
+    self.assertEquals(2, len(data_line_list))
+    
+    # test columns values
+    line = data_line_list[0]
+    self.assertEquals(line.column_id_list,
+        ['specific_reference', 'date', 'title', 'parent_reference',
+          'node_title', 'mirror_section_title', 'debit', 'credit'])
+    
+    self.checkLineProperties(data_line_list[0],
+                             node_title='41',
+                             mirror_section_title='Client 1',
+                             debit=500,
+                             credit=0)
+    self.checkLineProperties(data_line_list[1],
+                             node_title='7',
+                             debit=0,
+                             credit=500)
+    stat_line = line_list[-1]
+    self.failUnless(line_list[-1].isStatLine())
+    self.checkLineProperties(line_list[-1], debit=500, credit=500)
+
   def createAccountStatementDataSet(self, use_two_bank_accounts=1):
     """Create transactions for Account statement report.
 
-- 
2.30.9


From f896b2f2af30a27980653baf30a021d89fc8bb6b Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?J=C3=A9rome=20Perrin?= <jerome@nexedi.com>
Date: Wed, 28 Jul 2010 15:39:40 +0000
Subject: [PATCH 184/270] support journal by project

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@37351 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 ...tionModule_getJournalReportSectionList.xml | 12 ++-
 ...actionModule_getJournalSectionLineList.xml | 19 +++-
 ...ingTransactionModule_viewJournalDialog.xml |  1 +
 .../your_project.xml                          | 93 +++++++++++++++++++
 ...ingTransactionModule_viewJournalReport.xml |  1 +
 .../your_project.xml                          | 93 +++++++++++++++++++
 bt5/erp5_accounting/bt/revision               |  2 +-
 7 files changed, 215 insertions(+), 6 deletions(-)
 create mode 100644 bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountingTransactionModule_viewJournalDialog/your_project.xml
 create mode 100644 bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountingTransactionModule_viewJournalReport/your_project.xml

diff --git a/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountingTransactionModule_getJournalReportSectionList.xml b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountingTransactionModule_getJournalReportSectionList.xml
index cd22daebdc..5cf080c8df 100644
--- a/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountingTransactionModule_getJournalReportSectionList.xml
+++ b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountingTransactionModule_getJournalReportSectionList.xml
@@ -62,6 +62,7 @@ Base_translateString = container.Base_translateString\n
 portal_type = request[\'portal_type\']\n
 simulation_state = request[\'simulation_state\']\n
 hide_analytic = request[\'hide_analytic\']\n
+project = request.get(\'project\', None)\n
 at_date = request[\'at_date\'].latestTime()\n
 from_date = request.get(\'from_date\') or at_date.earliestTime()\n
 section_uid = context.Base_getSectionUidListForSectionCategory(\n
@@ -87,6 +88,13 @@ selection_params = dict(portal_type=portal_type,\n
                         gap_root=gap_root,\n
                         payment=payment)\n
 \n
+if project:\n
+  if project == \'None\':\n
+    selection_params[\'project_uid\'] = project\n
+  else:\n
+    selection_params[\'project_uid\'] = \\\n
+       context.getPortalObject().restrictedTraverse(project).getUid()\n
+\n
 analytic_column_list = ()\n
 if hide_analytic:\n
   selection_params[\'group_by\'] = ( \'explanation_uid\',\n
@@ -166,6 +174,8 @@ return [ReportSection(\n
                             <string>portal_type</string>
                             <string>simulation_state</string>
                             <string>hide_analytic</string>
+                            <string>None</string>
+                            <string>project</string>
                             <string>at_date</string>
                             <string>from_date</string>
                             <string>context</string>
@@ -177,8 +187,8 @@ return [ReportSection(\n
                             <string>precision</string>
                             <string>dict</string>
                             <string>selection_params</string>
-                            <string>analytic_column_list</string>
                             <string>_write_</string>
+                            <string>analytic_column_list</string>
                             <string>selection_columns</string>
                             <string>len</string>
                             <string>_inplacevar_</string>
diff --git a/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountingTransactionModule_getJournalSectionLineList.xml b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountingTransactionModule_getJournalSectionLineList.xml
index 881654fdf5..ce2599f2a7 100644
--- a/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountingTransactionModule_getJournalSectionLineList.xml
+++ b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountingTransactionModule_getJournalSectionLineList.xml
@@ -53,7 +53,8 @@
         </item>
         <item>
             <key> <string>_body</string> </key>
-            <value> <string>from Products.PythonScripts.standard import Object\n
+            <value> <string>from Products.ZSQLCatalog.SQLCatalog import Query\n
+from Products.PythonScripts.standard import Object\n
 request = container.REQUEST\n
 portal = context.getPortalObject()\n
 \n
@@ -67,6 +68,12 @@ if group_by:\n
   extra_kw[\'group_by\'] = group_by\n
   extra_kw[\'ignore_group_by\'] = True\n
 \n
+if project_uid:\n
+  if project_uid == \'None\':\n
+    extra_kw[\'project_uid\'] = Query(project_uid=None)\n
+  else:\n
+    extra_kw[\'project_uid\'] = project_uid\n
+\n
 account_title_cache = dict()\n
 def getAccountId(node_relative_url):\n
   if node_relative_url not in account_title_cache:\n
@@ -185,7 +192,7 @@ return line_list\n
         </item>
         <item>
             <key> <string>_params</string> </key>
-            <value> <string>selection, at_date, from_date, portal_type, simulation_state, section_uid, payment_mode=None, payment=None, gap_root=None, group_by=None, analytic_column_list=[], **kw</string> </value>
+            <value> <string>selection, at_date, from_date, portal_type, simulation_state, section_uid, payment_mode=None, payment=None, gap_root=None, group_by=None, analytic_column_list=[], project_uid=None, **kw</string> </value>
         </item>
         <item>
             <key> <string>errors</string> </key>
@@ -205,7 +212,7 @@ return line_list\n
                   <dictionary>
                     <item>
                         <key> <string>co_argcount</string> </key>
-                        <value> <int>11</int> </value>
+                        <value> <int>12</int> </value>
                     </item>
                     <item>
                         <key> <string>co_varnames</string> </key>
@@ -222,7 +229,10 @@ return line_list\n
                             <string>gap_root</string>
                             <string>group_by</string>
                             <string>analytic_column_list</string>
+                            <string>project_uid</string>
                             <string>kw</string>
+                            <string>Products.ZSQLCatalog.SQLCatalog</string>
+                            <string>Query</string>
                             <string>Products.PythonScripts.standard</string>
                             <string>Object</string>
                             <string>_getattr_</string>
@@ -235,6 +245,7 @@ return line_list\n
                             <string>extra_kw</string>
                             <string>_write_</string>
                             <string>True</string>
+                            <string>None</string>
                             <string>account_title_cache</string>
                             <string>getAccountId</string>
                             <string>account_in_gap_root_cache</string>
@@ -257,7 +268,6 @@ return line_list\n
                             <string>transaction_reference</string>
                             <string>title</string>
                             <string>date</string>
-                            <string>None</string>
                             <string>line</string>
                             <string>analytic_info</string>
                             <string>analytic_column</string>
@@ -279,6 +289,7 @@ return line_list\n
                 <none/>
                 <none/>
                 <list/>
+                <none/>
               </tuple>
             </value>
         </item>
diff --git a/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountingTransactionModule_viewJournalDialog.xml b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountingTransactionModule_viewJournalDialog.xml
index 544c599025..ba0c277a03 100644
--- a/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountingTransactionModule_viewJournalDialog.xml
+++ b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountingTransactionModule_viewJournalDialog.xml
@@ -78,6 +78,7 @@
                       <list>
                         <string>your_section_category</string>
                         <string>your_section_category_strict</string>
+                        <string>your_project</string>
                         <string>your_from_date</string>
                         <string>your_at_date</string>
                         <string>your_hide_analytic</string>
diff --git a/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountingTransactionModule_viewJournalDialog/your_project.xml b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountingTransactionModule_viewJournalDialog/your_project.xml
new file mode 100644
index 0000000000..50264ce0e1
--- /dev/null
+++ b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountingTransactionModule_viewJournalDialog/your_project.xml
@@ -0,0 +1,93 @@
+<?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/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>your_project</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>field_id</string> </key>
+                    <value> <string>your_project</string> </value>
+                </item>
+                <item>
+                    <key> <string>form_id</string> </key>
+                    <value> <string>AccountModule_viewDialogFieldLibrary</string> </value>
+                </item>
+                <item>
+                    <key> <string>target</string> </key>
+                    <value> <string>Click to edit the target</string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountingTransactionModule_viewJournalReport.xml b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountingTransactionModule_viewJournalReport.xml
index 92888de5f2..700bb5af44 100644
--- a/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountingTransactionModule_viewJournalReport.xml
+++ b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountingTransactionModule_viewJournalReport.xml
@@ -93,6 +93,7 @@
                     <value>
                       <list>
                         <string>your_section_category</string>
+                        <string>your_project</string>
                         <string>your_payment</string>
                         <string>your_payment_mode</string>
                         <string>your_currency</string>
diff --git a/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountingTransactionModule_viewJournalReport/your_project.xml b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountingTransactionModule_viewJournalReport/your_project.xml
new file mode 100644
index 0000000000..1815a5ffb5
--- /dev/null
+++ b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountingTransactionModule_viewJournalReport/your_project.xml
@@ -0,0 +1,93 @@
+<?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/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>your_project</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>field_id</string> </key>
+                    <value> <string>your_project</string> </value>
+                </item>
+                <item>
+                    <key> <string>form_id</string> </key>
+                    <value> <string>AccountModule_viewReportFieldLibrary</string> </value>
+                </item>
+                <item>
+                    <key> <string>target</string> </key>
+                    <value> <string>Click to edit the target</string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_accounting/bt/revision b/bt5/erp5_accounting/bt/revision
index b60143b9a8..dc29593695 100644
--- a/bt5/erp5_accounting/bt/revision
+++ b/bt5/erp5_accounting/bt/revision
@@ -1 +1 @@
-1320
\ No newline at end of file
+1321
\ No newline at end of file
-- 
2.30.9


From 2af0e25ab6742c28929c7833786aa13cdd1933dd Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?J=C3=A9rome=20Perrin?= <jerome@nexedi.com>
Date: Wed, 28 Jul 2010 15:53:44 +0000
Subject: [PATCH 185/270] we don't need a list action for relation field
 listbox

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@37352 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 .../erp5_core/Base_viewRelatedObjectList/listbox.xml         | 5 +++++
 product/ERP5/bootstrap/erp5_core/bt/revision                 | 2 +-
 2 files changed, 6 insertions(+), 1 deletion(-)

diff --git a/product/ERP5/bootstrap/erp5_core/SkinTemplateItem/portal_skins/erp5_core/Base_viewRelatedObjectList/listbox.xml b/product/ERP5/bootstrap/erp5_core/SkinTemplateItem/portal_skins/erp5_core/Base_viewRelatedObjectList/listbox.xml
index 8b74a9852d..2229e4e8bc 100644
--- a/product/ERP5/bootstrap/erp5_core/SkinTemplateItem/portal_skins/erp5_core/Base_viewRelatedObjectList/listbox.xml
+++ b/product/ERP5/bootstrap/erp5_core/SkinTemplateItem/portal_skins/erp5_core/Base_viewRelatedObjectList/listbox.xml
@@ -16,6 +16,7 @@
                 <string>count_method</string>
                 <string>domain_root_list</string>
                 <string>domain_tree</string>
+                <string>list_action</string>
                 <string>list_method</string>
                 <string>portal_types</string>
                 <string>report_root_list</string>
@@ -186,6 +187,10 @@
                     <key> <string>height</string> </key>
                     <value> <int>5</int> </value>
                 </item>
+                <item>
+                    <key> <string>list_action</string> </key>
+                    <value> <string></string> </value>
+                </item>
                 <item>
                     <key> <string>list_cookie</string> </key>
                     <value> <string>SEARCH_LIST</string> </value>
diff --git a/product/ERP5/bootstrap/erp5_core/bt/revision b/product/ERP5/bootstrap/erp5_core/bt/revision
index 7fc5e9be95..dfac53b0c4 100644
--- a/product/ERP5/bootstrap/erp5_core/bt/revision
+++ b/product/ERP5/bootstrap/erp5_core/bt/revision
@@ -1 +1 @@
-1642
\ No newline at end of file
+1641
\ No newline at end of file
-- 
2.30.9


From 95bdf53e0de13dde24f8b73ed6b266a76b0ee1a2 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?J=C3=A9rome=20Perrin?= <jerome@nexedi.com>
Date: Wed, 28 Jul 2010 16:05:40 +0000
Subject: [PATCH 186/270] listboxs showing all resources with sale or purchase
 preferred use

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@37353 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 .../ERP5Site_viewPurchaseResourceList.xml     | 127 ++++++
 .../listbox.xml                               | 403 ++++++++++++++++++
 .../ERP5Site_viewSaleResourceList.xml         | 127 ++++++
 .../ERP5Site_viewSaleResourceList/listbox.xml | 403 ++++++++++++++++++
 bt5/erp5_pdm/bt/revision                      |   2 +-
 5 files changed, 1061 insertions(+), 1 deletion(-)
 create mode 100644 bt5/erp5_pdm/SkinTemplateItem/portal_skins/erp5_pdm/ERP5Site_viewPurchaseResourceList.xml
 create mode 100644 bt5/erp5_pdm/SkinTemplateItem/portal_skins/erp5_pdm/ERP5Site_viewPurchaseResourceList/listbox.xml
 create mode 100644 bt5/erp5_pdm/SkinTemplateItem/portal_skins/erp5_pdm/ERP5Site_viewSaleResourceList.xml
 create mode 100644 bt5/erp5_pdm/SkinTemplateItem/portal_skins/erp5_pdm/ERP5Site_viewSaleResourceList/listbox.xml

diff --git a/bt5/erp5_pdm/SkinTemplateItem/portal_skins/erp5_pdm/ERP5Site_viewPurchaseResourceList.xml b/bt5/erp5_pdm/SkinTemplateItem/portal_skins/erp5_pdm/ERP5Site_viewPurchaseResourceList.xml
new file mode 100644
index 0000000000..0f66bc2b77
--- /dev/null
+++ b/bt5/erp5_pdm/SkinTemplateItem/portal_skins/erp5_pdm/ERP5Site_viewPurchaseResourceList.xml
@@ -0,0 +1,127 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="ERP5Form" module="Products.ERP5Form.Form"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_bind_names</string> </key>
+            <value>
+              <object>
+                <klass>
+                  <global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/>
+                </klass>
+                <tuple/>
+                <state>
+                  <dictionary>
+                    <item>
+                        <key> <string>_asgns</string> </key>
+                        <value>
+                          <dictionary/>
+                        </value>
+                    </item>
+                  </dictionary>
+                </state>
+              </object>
+            </value>
+        </item>
+        <item>
+            <key> <string>_objects</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+        <item>
+            <key> <string>action</string> </key>
+            <value> <string>Base_doSelect</string> </value>
+        </item>
+        <item>
+            <key> <string>description</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>edit_order</string> </key>
+            <value>
+              <list/>
+            </value>
+        </item>
+        <item>
+            <key> <string>encoding</string> </key>
+            <value> <string>UTF-8</string> </value>
+        </item>
+        <item>
+            <key> <string>enctype</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>group_list</string> </key>
+            <value>
+              <list>
+                <string>bottom</string>
+              </list>
+            </value>
+        </item>
+        <item>
+            <key> <string>groups</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>bottom</string> </key>
+                    <value>
+                      <list>
+                        <string>listbox</string>
+                      </list>
+                    </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>ERP5Site_viewPurchaseResourceList</string> </value>
+        </item>
+        <item>
+            <key> <string>method</string> </key>
+            <value> <string>POST</string> </value>
+        </item>
+        <item>
+            <key> <string>name</string> </key>
+            <value> <string>ProductModule_viewProductList</string> </value>
+        </item>
+        <item>
+            <key> <string>pt</string> </key>
+            <value> <string>form_list</string> </value>
+        </item>
+        <item>
+            <key> <string>row_length</string> </key>
+            <value> <int>4</int> </value>
+        </item>
+        <item>
+            <key> <string>stored_encoding</string> </key>
+            <value> <string>UTF-8</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>Purchase</string> </value>
+        </item>
+        <item>
+            <key> <string>unicode_mode</string> </key>
+            <value> <int>0</int> </value>
+        </item>
+        <item>
+            <key> <string>update_action</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>update_action_title</string> </key>
+            <value> <string></string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_pdm/SkinTemplateItem/portal_skins/erp5_pdm/ERP5Site_viewPurchaseResourceList/listbox.xml b/bt5/erp5_pdm/SkinTemplateItem/portal_skins/erp5_pdm/ERP5Site_viewPurchaseResourceList/listbox.xml
new file mode 100644
index 0000000000..bb27bf065a
--- /dev/null
+++ b/bt5/erp5_pdm/SkinTemplateItem/portal_skins/erp5_pdm/ERP5Site_viewPurchaseResourceList/listbox.xml
@@ -0,0 +1,403 @@
+<?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>all_columns</string>
+                <string>columns</string>
+                <string>default_params</string>
+                <string>list_action</string>
+                <string>portal_types</string>
+                <string>search_columns</string>
+                <string>selection_name</string>
+                <string>sort_columns</string>
+                <string>title</string>
+              </list>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>listbox</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>all_columns</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>columns</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>default_params</string> </key>
+                    <value>
+                      <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
+                    </value>
+                </item>
+                <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>portal_types</string> </key>
+                    <value>
+                      <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>search_columns</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>selection_name</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>sort_columns</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>target</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>title</string> </key>
+                    <value> <string></string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>values</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>all_columns</string> </key>
+                    <value>
+                      <list>
+                        <tuple>
+                          <string>quantity_unit_title</string>
+                          <string>Quantity Unit</string>
+                        </tuple>
+                        <tuple>
+                          <string>product_line_title</string>
+                          <string>Product Line</string>
+                        </tuple>
+                        <tuple>
+                          <string>base_contribution_title</string>
+                          <string>Base Contribution</string>
+                        </tuple>
+                        <tuple>
+                          <string>comment</string>
+                          <string>Comment</string>
+                        </tuple>
+                        <tuple>
+                          <string>purchase_supply_line_base_price</string>
+                          <string>Default Purchase Price</string>
+                        </tuple>
+                        <tuple>
+                          <string>sale_supply_line_base_price</string>
+                          <string>Default Sale Price</string>
+                        </tuple>
+                        <tuple>
+                          <string>use</string>
+                          <string>Use</string>
+                        </tuple>
+                        <tuple>
+                          <string>modification_date</string>
+                          <string>Modification Date</string>
+                        </tuple>
+                        <tuple>
+                          <string>creation_date</string>
+                          <string>Creation Date</string>
+                        </tuple>
+                        <tuple>
+                          <string>owner_title</string>
+                          <string>Owner</string>
+                        </tuple>
+                      </list>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>columns</string> </key>
+                    <value>
+                      <list>
+                        <tuple>
+                          <string>title</string>
+                          <string>Title</string>
+                        </tuple>
+                        <tuple>
+                          <string>reference</string>
+                          <string>Reference</string>
+                        </tuple>
+                        <tuple>
+                          <string>description</string>
+                          <string>Description</string>
+                        </tuple>
+                        <tuple>
+                          <string>translated_portal_type</string>
+                          <string>Type</string>
+                        </tuple>
+                        <tuple>
+                          <string>translated_validation_state_title</string>
+                          <string>State</string>
+                        </tuple>
+                      </list>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>default_params</string> </key>
+                    <value>
+                      <list/>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>field_id</string> </key>
+                    <value> <string>my_list_mode_listbox</string> </value>
+                </item>
+                <item>
+                    <key> <string>form_id</string> </key>
+                    <value> <string>Base_viewFieldLibrary</string> </value>
+                </item>
+                <item>
+                    <key> <string>list_action</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>portal_types</string> </key>
+                    <value>
+                      <list/>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>search_columns</string> </key>
+                    <value>
+                      <list>
+                        <tuple>
+                          <string>title</string>
+                          <string>Title</string>
+                        </tuple>
+                        <tuple>
+                          <string>reference</string>
+                          <string>Reference</string>
+                        </tuple>
+                        <tuple>
+                          <string>description</string>
+                          <string>Description</string>
+                        </tuple>
+                        <tuple>
+                          <string>translated_portal_type</string>
+                          <string>Type</string>
+                        </tuple>
+                        <tuple>
+                          <string>translated_validation_state_title</string>
+                          <string>State</string>
+                        </tuple>
+                        <tuple>
+                          <string>quantity_unit_title</string>
+                          <string>Quantity Unit</string>
+                        </tuple>
+                        <tuple>
+                          <string>product_line_title</string>
+                          <string>Product Line</string>
+                        </tuple>
+                        <tuple>
+                          <string>base_contribution_title</string>
+                          <string>Base Contribution</string>
+                        </tuple>
+                        <tuple>
+                          <string>comment</string>
+                          <string>Comment</string>
+                        </tuple>
+                        <tuple>
+                          <string>purchase_supply_line_base_price</string>
+                          <string>Default Purchase Price</string>
+                        </tuple>
+                        <tuple>
+                          <string>sale_supply_line_base_price</string>
+                          <string>Default Sale Price</string>
+                        </tuple>
+                        <tuple>
+                          <string>use</string>
+                          <string>Use</string>
+                        </tuple>
+                        <tuple>
+                          <string>modification_date</string>
+                          <string>Modification Date</string>
+                        </tuple>
+                        <tuple>
+                          <string>creation_date</string>
+                          <string>Creation Date</string>
+                        </tuple>
+                        <tuple>
+                          <string>owner_title</string>
+                          <string>Owner</string>
+                        </tuple>
+                      </list>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>selection_name</string> </key>
+                    <value> <string>erp5_site_sale_resource_selection</string> </value>
+                </item>
+                <item>
+                    <key> <string>sort_columns</string> </key>
+                    <value>
+                      <list>
+                        <tuple>
+                          <string>title</string>
+                          <string>Title</string>
+                        </tuple>
+                        <tuple>
+                          <string>reference</string>
+                          <string>Reference</string>
+                        </tuple>
+                        <tuple>
+                          <string>description</string>
+                          <string>Description</string>
+                        </tuple>
+                        <tuple>
+                          <string>translated_portal_type</string>
+                          <string>Type</string>
+                        </tuple>
+                        <tuple>
+                          <string>translated_validation_state_title</string>
+                          <string>State</string>
+                        </tuple>
+                        <tuple>
+                          <string>quantity_unit_title</string>
+                          <string>Quantity Unit</string>
+                        </tuple>
+                        <tuple>
+                          <string>product_line_title</string>
+                          <string>Product Line</string>
+                        </tuple>
+                        <tuple>
+                          <string>base_contribution_title</string>
+                          <string>Base Contribution</string>
+                        </tuple>
+                        <tuple>
+                          <string>comment</string>
+                          <string>Comment</string>
+                        </tuple>
+                        <tuple>
+                          <string>purchase_supply_line_base_price</string>
+                          <string>Default Purchase Price</string>
+                        </tuple>
+                        <tuple>
+                          <string>sale_supply_line_base_price</string>
+                          <string>Default Sale Price</string>
+                        </tuple>
+                        <tuple>
+                          <string>use</string>
+                          <string>Use</string>
+                        </tuple>
+                        <tuple>
+                          <string>modification_date</string>
+                          <string>Modification Date</string>
+                        </tuple>
+                        <tuple>
+                          <string>creation_date</string>
+                          <string>Creation Date</string>
+                        </tuple>
+                        <tuple>
+                          <string>owner_title</string>
+                          <string>Owner</string>
+                        </tuple>
+                      </list>
+                    </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>Purchase</string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+      </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: [(\'default_use_uid\', [context.portal_categories.resolveCategory(use).getUid() for use in preferences.getPreferredPurchaseUseList()])]</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="3" aka="AAAAAAAAAAM=">
+    <pickle>
+      <tuple>
+        <global name="TALESMethod" module="Products.Formulator.TALESField"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_text</string> </key>
+            <value> <string>python: [(x, x) for x in context.getPortalResourceTypeList()]</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_pdm/SkinTemplateItem/portal_skins/erp5_pdm/ERP5Site_viewSaleResourceList.xml b/bt5/erp5_pdm/SkinTemplateItem/portal_skins/erp5_pdm/ERP5Site_viewSaleResourceList.xml
new file mode 100644
index 0000000000..5c4edac6ef
--- /dev/null
+++ b/bt5/erp5_pdm/SkinTemplateItem/portal_skins/erp5_pdm/ERP5Site_viewSaleResourceList.xml
@@ -0,0 +1,127 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="ERP5Form" module="Products.ERP5Form.Form"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_bind_names</string> </key>
+            <value>
+              <object>
+                <klass>
+                  <global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/>
+                </klass>
+                <tuple/>
+                <state>
+                  <dictionary>
+                    <item>
+                        <key> <string>_asgns</string> </key>
+                        <value>
+                          <dictionary/>
+                        </value>
+                    </item>
+                  </dictionary>
+                </state>
+              </object>
+            </value>
+        </item>
+        <item>
+            <key> <string>_objects</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+        <item>
+            <key> <string>action</string> </key>
+            <value> <string>Base_doSelect</string> </value>
+        </item>
+        <item>
+            <key> <string>description</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>edit_order</string> </key>
+            <value>
+              <list/>
+            </value>
+        </item>
+        <item>
+            <key> <string>encoding</string> </key>
+            <value> <string>UTF-8</string> </value>
+        </item>
+        <item>
+            <key> <string>enctype</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>group_list</string> </key>
+            <value>
+              <list>
+                <string>bottom</string>
+              </list>
+            </value>
+        </item>
+        <item>
+            <key> <string>groups</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>bottom</string> </key>
+                    <value>
+                      <list>
+                        <string>listbox</string>
+                      </list>
+                    </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>ERP5Site_viewSaleResourceList</string> </value>
+        </item>
+        <item>
+            <key> <string>method</string> </key>
+            <value> <string>POST</string> </value>
+        </item>
+        <item>
+            <key> <string>name</string> </key>
+            <value> <string>ProductModule_viewProductList</string> </value>
+        </item>
+        <item>
+            <key> <string>pt</string> </key>
+            <value> <string>form_list</string> </value>
+        </item>
+        <item>
+            <key> <string>row_length</string> </key>
+            <value> <int>4</int> </value>
+        </item>
+        <item>
+            <key> <string>stored_encoding</string> </key>
+            <value> <string>UTF-8</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>Sales</string> </value>
+        </item>
+        <item>
+            <key> <string>unicode_mode</string> </key>
+            <value> <int>0</int> </value>
+        </item>
+        <item>
+            <key> <string>update_action</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>update_action_title</string> </key>
+            <value> <string></string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_pdm/SkinTemplateItem/portal_skins/erp5_pdm/ERP5Site_viewSaleResourceList/listbox.xml b/bt5/erp5_pdm/SkinTemplateItem/portal_skins/erp5_pdm/ERP5Site_viewSaleResourceList/listbox.xml
new file mode 100644
index 0000000000..66a0bc7569
--- /dev/null
+++ b/bt5/erp5_pdm/SkinTemplateItem/portal_skins/erp5_pdm/ERP5Site_viewSaleResourceList/listbox.xml
@@ -0,0 +1,403 @@
+<?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>all_columns</string>
+                <string>columns</string>
+                <string>default_params</string>
+                <string>list_action</string>
+                <string>portal_types</string>
+                <string>search_columns</string>
+                <string>selection_name</string>
+                <string>sort_columns</string>
+                <string>title</string>
+              </list>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>listbox</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>all_columns</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>columns</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>default_params</string> </key>
+                    <value>
+                      <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
+                    </value>
+                </item>
+                <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>portal_types</string> </key>
+                    <value>
+                      <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>search_columns</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>selection_name</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>sort_columns</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>target</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>title</string> </key>
+                    <value> <string></string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>values</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>all_columns</string> </key>
+                    <value>
+                      <list>
+                        <tuple>
+                          <string>quantity_unit_title</string>
+                          <string>Quantity Unit</string>
+                        </tuple>
+                        <tuple>
+                          <string>product_line_title</string>
+                          <string>Product Line</string>
+                        </tuple>
+                        <tuple>
+                          <string>base_contribution_title</string>
+                          <string>Base Contribution</string>
+                        </tuple>
+                        <tuple>
+                          <string>comment</string>
+                          <string>Comment</string>
+                        </tuple>
+                        <tuple>
+                          <string>purchase_supply_line_base_price</string>
+                          <string>Default Purchase Price</string>
+                        </tuple>
+                        <tuple>
+                          <string>sale_supply_line_base_price</string>
+                          <string>Default Sale Price</string>
+                        </tuple>
+                        <tuple>
+                          <string>use</string>
+                          <string>Use</string>
+                        </tuple>
+                        <tuple>
+                          <string>modification_date</string>
+                          <string>Modification Date</string>
+                        </tuple>
+                        <tuple>
+                          <string>creation_date</string>
+                          <string>Creation Date</string>
+                        </tuple>
+                        <tuple>
+                          <string>owner_title</string>
+                          <string>Owner</string>
+                        </tuple>
+                      </list>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>columns</string> </key>
+                    <value>
+                      <list>
+                        <tuple>
+                          <string>title</string>
+                          <string>Title</string>
+                        </tuple>
+                        <tuple>
+                          <string>reference</string>
+                          <string>Reference</string>
+                        </tuple>
+                        <tuple>
+                          <string>description</string>
+                          <string>Description</string>
+                        </tuple>
+                        <tuple>
+                          <string>translated_portal_type</string>
+                          <string>Type</string>
+                        </tuple>
+                        <tuple>
+                          <string>translated_validation_state_title</string>
+                          <string>State</string>
+                        </tuple>
+                      </list>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>default_params</string> </key>
+                    <value>
+                      <list/>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>field_id</string> </key>
+                    <value> <string>my_list_mode_listbox</string> </value>
+                </item>
+                <item>
+                    <key> <string>form_id</string> </key>
+                    <value> <string>Base_viewFieldLibrary</string> </value>
+                </item>
+                <item>
+                    <key> <string>list_action</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>portal_types</string> </key>
+                    <value>
+                      <list/>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>search_columns</string> </key>
+                    <value>
+                      <list>
+                        <tuple>
+                          <string>title</string>
+                          <string>Title</string>
+                        </tuple>
+                        <tuple>
+                          <string>reference</string>
+                          <string>Reference</string>
+                        </tuple>
+                        <tuple>
+                          <string>description</string>
+                          <string>Description</string>
+                        </tuple>
+                        <tuple>
+                          <string>translated_portal_type</string>
+                          <string>Type</string>
+                        </tuple>
+                        <tuple>
+                          <string>translated_validation_state_title</string>
+                          <string>State</string>
+                        </tuple>
+                        <tuple>
+                          <string>quantity_unit_title</string>
+                          <string>Quantity Unit</string>
+                        </tuple>
+                        <tuple>
+                          <string>product_line_title</string>
+                          <string>Product Line</string>
+                        </tuple>
+                        <tuple>
+                          <string>base_contribution_title</string>
+                          <string>Base Contribution</string>
+                        </tuple>
+                        <tuple>
+                          <string>comment</string>
+                          <string>Comment</string>
+                        </tuple>
+                        <tuple>
+                          <string>purchase_supply_line_base_price</string>
+                          <string>Default Purchase Price</string>
+                        </tuple>
+                        <tuple>
+                          <string>sale_supply_line_base_price</string>
+                          <string>Default Sale Price</string>
+                        </tuple>
+                        <tuple>
+                          <string>use</string>
+                          <string>Use</string>
+                        </tuple>
+                        <tuple>
+                          <string>modification_date</string>
+                          <string>Modification Date</string>
+                        </tuple>
+                        <tuple>
+                          <string>creation_date</string>
+                          <string>Creation Date</string>
+                        </tuple>
+                        <tuple>
+                          <string>owner_title</string>
+                          <string>Owner</string>
+                        </tuple>
+                      </list>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>selection_name</string> </key>
+                    <value> <string>erp5_site_sale_resource_selection</string> </value>
+                </item>
+                <item>
+                    <key> <string>sort_columns</string> </key>
+                    <value>
+                      <list>
+                        <tuple>
+                          <string>title</string>
+                          <string>Title</string>
+                        </tuple>
+                        <tuple>
+                          <string>reference</string>
+                          <string>Reference</string>
+                        </tuple>
+                        <tuple>
+                          <string>description</string>
+                          <string>Description</string>
+                        </tuple>
+                        <tuple>
+                          <string>translated_portal_type</string>
+                          <string>Type</string>
+                        </tuple>
+                        <tuple>
+                          <string>translated_validation_state_title</string>
+                          <string>State</string>
+                        </tuple>
+                        <tuple>
+                          <string>quantity_unit_title</string>
+                          <string>Quantity Unit</string>
+                        </tuple>
+                        <tuple>
+                          <string>product_line_title</string>
+                          <string>Product Line</string>
+                        </tuple>
+                        <tuple>
+                          <string>base_contribution_title</string>
+                          <string>Base Contribution</string>
+                        </tuple>
+                        <tuple>
+                          <string>comment</string>
+                          <string>Comment</string>
+                        </tuple>
+                        <tuple>
+                          <string>purchase_supply_line_base_price</string>
+                          <string>Default Purchase Price</string>
+                        </tuple>
+                        <tuple>
+                          <string>sale_supply_line_base_price</string>
+                          <string>Default Sale Price</string>
+                        </tuple>
+                        <tuple>
+                          <string>use</string>
+                          <string>Use</string>
+                        </tuple>
+                        <tuple>
+                          <string>modification_date</string>
+                          <string>Modification Date</string>
+                        </tuple>
+                        <tuple>
+                          <string>creation_date</string>
+                          <string>Creation Date</string>
+                        </tuple>
+                        <tuple>
+                          <string>owner_title</string>
+                          <string>Owner</string>
+                        </tuple>
+                      </list>
+                    </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>Sales</string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+      </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: [(\'default_use_uid\', [context.portal_categories.resolveCategory(use).getUid() for use in preferences.getPreferredSaleUseList()])]</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="3" aka="AAAAAAAAAAM=">
+    <pickle>
+      <tuple>
+        <global name="TALESMethod" module="Products.Formulator.TALESField"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_text</string> </key>
+            <value> <string>python: [(x, x) for x in context.getPortalResourceTypeList()]</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_pdm/bt/revision b/bt5/erp5_pdm/bt/revision
index 501f5773ed..2e790af68a 100644
--- a/bt5/erp5_pdm/bt/revision
+++ b/bt5/erp5_pdm/bt/revision
@@ -1 +1 @@
-509
\ No newline at end of file
+510
\ No newline at end of file
-- 
2.30.9


From e8f56ee9c1fe398c441893f2feebaa899c1e4b9f Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?J=C3=A9rome=20Perrin?= <jerome@nexedi.com>
Date: Wed, 28 Jul 2010 16:06:21 +0000
Subject: [PATCH 187/270] use resources with sale and purchase use in proxy
 listbox ids

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@37354 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 .../my_view_mode_resource_title.xml                  | 12 ++++++++++++
 bt5/erp5_trade/bt/revision                           |  2 +-
 2 files changed, 13 insertions(+), 1 deletion(-)

diff --git a/bt5/erp5_trade/SkinTemplateItem/portal_skins/erp5_trade/Base_viewTradeFieldLibrary/my_view_mode_resource_title.xml b/bt5/erp5_trade/SkinTemplateItem/portal_skins/erp5_trade/Base_viewTradeFieldLibrary/my_view_mode_resource_title.xml
index 4ba8e8fc6d..dd26c59623 100644
--- a/bt5/erp5_trade/SkinTemplateItem/portal_skins/erp5_trade/Base_viewTradeFieldLibrary/my_view_mode_resource_title.xml
+++ b/bt5/erp5_trade/SkinTemplateItem/portal_skins/erp5_trade/Base_viewTradeFieldLibrary/my_view_mode_resource_title.xml
@@ -182,6 +182,18 @@
                     <key> <string>proxy_listbox_ids</string> </key>
                     <value>
                       <list>
+                        <tuple>
+                          <string>Base_viewRelatedObjectListBase/listbox</string>
+                          <string>All</string>
+                        </tuple>
+                        <tuple>
+                          <string>ERP5Site_viewSaleResourceList/listbox</string>
+                          <string>Sales</string>
+                        </tuple>
+                        <tuple>
+                          <string>ERP5Site_viewPurchaseResourceList/listbox</string>
+                          <string>Purchase</string>
+                        </tuple>
                         <tuple>
                           <string>ProductModule_viewProductList/listbox</string>
                           <string>Products</string>
diff --git a/bt5/erp5_trade/bt/revision b/bt5/erp5_trade/bt/revision
index aa5bea4ec6..218241b578 100644
--- a/bt5/erp5_trade/bt/revision
+++ b/bt5/erp5_trade/bt/revision
@@ -1 +1 @@
-965
+966
\ No newline at end of file
-- 
2.30.9


From 7ca98bd9e453bf6bd0955124c9857254e3b64e9e Mon Sep 17 00:00:00 2001
From: Lucas Carvalho <lucas@nexedi.com>
Date: Wed, 28 Jul 2010 21:10:46 +0000
Subject: [PATCH 188/270] This line was forgotten by mistake. Removed once it
 is useless.

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@37355 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 product/ERP5/tests/testUrl.py | 1 -
 1 file changed, 1 deletion(-)

diff --git a/product/ERP5/tests/testUrl.py b/product/ERP5/tests/testUrl.py
index d8057d3296..9604a9191c 100644
--- a/product/ERP5/tests/testUrl.py
+++ b/product/ERP5/tests/testUrl.py
@@ -48,7 +48,6 @@ class TestUrl(ERP5TypeTestCase):
     portal = self.getPortalObject()
     url_crawler = portal.external_source_module.newContent(
                                                   portal_type='URL Crawler')
-    url_crawler = self.url_crawler
 
     url_protocol_list = ['http', 'https']
     
-- 
2.30.9


From 76da74c9b11a72e1d19d7010662162711afcb540 Mon Sep 17 00:00:00 2001
From: Nicolas Dumazet <nicolas.dumazet@nexedi.com>
Date: Thu, 29 Jul 2010 03:18:48 +0000
Subject: [PATCH 189/270] Copying yhe default quantity unit should be enough

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@37356 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 .../scripts/Movement_copyQuantityUnitFromResource.xml           | 2 +-
 bt5/erp5_base/bt/revision                                       | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/bt5/erp5_base/WorkflowTemplateItem/portal_workflow/movement_resource_interaction_workflow/scripts/Movement_copyQuantityUnitFromResource.xml b/bt5/erp5_base/WorkflowTemplateItem/portal_workflow/movement_resource_interaction_workflow/scripts/Movement_copyQuantityUnitFromResource.xml
index a316097050..ab40de43f6 100644
--- a/bt5/erp5_base/WorkflowTemplateItem/portal_workflow/movement_resource_interaction_workflow/scripts/Movement_copyQuantityUnitFromResource.xml
+++ b/bt5/erp5_base/WorkflowTemplateItem/portal_workflow/movement_resource_interaction_workflow/scripts/Movement_copyQuantityUnitFromResource.xml
@@ -57,7 +57,7 @@
 \n
 resource = movement.getResourceValue()\n
 if resource is not None:\n
-  movement.setQuantityUnitList(resource.getQuantityUnitList())\n
+  movement.setQuantityUnit(resource.getDefaultQuantityUnit())\n
 </string> </value>
         </item>
         <item>
diff --git a/bt5/erp5_base/bt/revision b/bt5/erp5_base/bt/revision
index 68c7a41704..b3fa96d20f 100644
--- a/bt5/erp5_base/bt/revision
+++ b/bt5/erp5_base/bt/revision
@@ -1 +1 @@
-818
+819
-- 
2.30.9


From c8725198b688913a73aae4e30aeffdf97149bd66 Mon Sep 17 00:00:00 2001
From: Ivan Tyagov <ivan@nexedi.com>
Date: Thu, 29 Jul 2010 06:11:57 +0000
Subject: [PATCH 190/270] New listbox properties have been added that should
 exists in REQUEST when creating programatically a listbox.

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@37357 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 .../portal_skins/erp5_ui_test/ListBox_setPropertyList.xml      | 3 +++
 bt5/erp5_ui_test/bt/revision                                   | 2 +-
 2 files changed, 4 insertions(+), 1 deletion(-)

diff --git a/bt5/erp5_ui_test/SkinTemplateItem/portal_skins/erp5_ui_test/ListBox_setPropertyList.xml b/bt5/erp5_ui_test/SkinTemplateItem/portal_skins/erp5_ui_test/ListBox_setPropertyList.xml
index 5b6ca23a91..ec2b309957 100644
--- a/bt5/erp5_ui_test/SkinTemplateItem/portal_skins/erp5_ui_test/ListBox_setPropertyList.xml
+++ b/bt5/erp5_ui_test/SkinTemplateItem/portal_skins/erp5_ui_test/ListBox_setPropertyList.xml
@@ -94,6 +94,9 @@ d = dict(\n
   field_report_tree = \'\',\n
   field_report_root_list = \'\',\n
   field_display_style_list = \'\',\n
+  field_default_display_style = \'\',\n
+  field_full_text_search_key = \'\',\n
+  field_full_text_search_key_script = \'\',\n
   field_list_action = \'list\',\n
   field_enabled = \'checked\',\n
   field_editable = \'\',\n
diff --git a/bt5/erp5_ui_test/bt/revision b/bt5/erp5_ui_test/bt/revision
index bb7a7c1b1a..72b67e0ede 100644
--- a/bt5/erp5_ui_test/bt/revision
+++ b/bt5/erp5_ui_test/bt/revision
@@ -1 +1 @@
-576
+579
\ No newline at end of file
-- 
2.30.9


From 06144d90027feb92672a1a98a1bb7b93e4d25fe1 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?J=C3=A9rome=20Perrin?= <jerome@nexedi.com>
Date: Thu, 29 Jul 2010 07:28:20 +0000
Subject: [PATCH 191/270] fix the usual problem of searching for
 "project_module/x%" that also matches  "project_module/xxx"

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@37358 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 .../erp5_project/Base_generateValidatedProjectDomain.xml        | 2 +-
 .../portal_skins/erp5_project/Project_generateMonthDomain.xml   | 2 +-
 .../portal_skins/erp5_project/Project_generateTaskDomain.xml    | 2 +-
 bt5/erp5_project/bt/revision                                    | 2 +-
 4 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/bt5/erp5_project/SkinTemplateItem/portal_skins/erp5_project/Base_generateValidatedProjectDomain.xml b/bt5/erp5_project/SkinTemplateItem/portal_skins/erp5_project/Base_generateValidatedProjectDomain.xml
index 1f21d06386..00df81871e 100644
--- a/bt5/erp5_project/SkinTemplateItem/portal_skins/erp5_project/Base_generateValidatedProjectDomain.xml
+++ b/bt5/erp5_project/SkinTemplateItem/portal_skins/erp5_project/Base_generateValidatedProjectDomain.xml
@@ -71,7 +71,7 @@ for category in category_list:\n
   sub_category_list = [category]\n
   while sub_category_list:\n
     sub_category = sub_category_list.pop()\n
-    membership_criterion_category.append(\'source_project/%s\' % sub_category.getRelativeUrl())\n
+    membership_criterion_category.append(\'source_project/%s/\' % sub_category.getRelativeUrl())\n
     sub_category_list.extend(sub_category.contentValues(portal_type=\'Project Line\'))\n
 \n
   domain.edit(title = category.getTitle(),\n
diff --git a/bt5/erp5_project/SkinTemplateItem/portal_skins/erp5_project/Project_generateMonthDomain.xml b/bt5/erp5_project/SkinTemplateItem/portal_skins/erp5_project/Project_generateMonthDomain.xml
index d777faf07a..c038958684 100644
--- a/bt5/erp5_project/SkinTemplateItem/portal_skins/erp5_project/Project_generateMonthDomain.xml
+++ b/bt5/erp5_project/SkinTemplateItem/portal_skins/erp5_project/Project_generateMonthDomain.xml
@@ -69,7 +69,7 @@ params = portal.portal_selections.getSelectionParamsFor(selection_name, request)
 object_path = request.get(\'object_path\')\n
 if object_path is None:\n
   object_path = context.REQUEST.get(\'URL1\').split(\'/\')[-1]\n
-search_path = \'\'.join(["%project_module/", object_path,"%"])\n
+search_path = \'project_module/%s/%%\' % object_path\n
 category_list = []\n
 \n
 year = here.getStartDate().year()\n
diff --git a/bt5/erp5_project/SkinTemplateItem/portal_skins/erp5_project/Project_generateTaskDomain.xml b/bt5/erp5_project/SkinTemplateItem/portal_skins/erp5_project/Project_generateTaskDomain.xml
index 739550228c..374c91f303 100644
--- a/bt5/erp5_project/SkinTemplateItem/portal_skins/erp5_project/Project_generateTaskDomain.xml
+++ b/bt5/erp5_project/SkinTemplateItem/portal_skins/erp5_project/Project_generateTaskDomain.xml
@@ -59,7 +59,7 @@ object_path = request.get(\'object_path\')\n
 if object_path is None:\n
   object_path = context.REQUEST.get(\'URL1\').split(\'/\')[-1]\n
 \n
-search_path = \'\'.join(["%project_module/", object_path,"%"])\n
+search_path = \'project_module/%s/%%\'\n
 \n
 if depth == 0:\n
   category_list = []\n
diff --git a/bt5/erp5_project/bt/revision b/bt5/erp5_project/bt/revision
index 8405587b4b..988e00fe6b 100644
--- a/bt5/erp5_project/bt/revision
+++ b/bt5/erp5_project/bt/revision
@@ -1 +1 @@
-767
\ No newline at end of file
+768
\ No newline at end of file
-- 
2.30.9


From 25df67fb4329ab6aef3d15df6d60ec839f902400 Mon Sep 17 00:00:00 2001
From: Ivan Tyagov <ivan@nexedi.com>
Date: Thu, 29 Jul 2010 07:40:33 +0000
Subject: [PATCH 192/270] Add listbox setting for page navigation mode. Update
 coment

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@37359 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 product/ERP5Form/ListBox.py | 14 +++++++++++++-
 1 file changed, 13 insertions(+), 1 deletion(-)

diff --git a/product/ERP5Form/ListBox.py b/product/ERP5Form/ListBox.py
index 353cb553be..d21c1576ec 100644
--- a/product/ERP5Form/ListBox.py
+++ b/product/ERP5Form/ListBox.py
@@ -419,6 +419,12 @@ class ListBoxWidget(Widget.Widget):
                                 required=0)
     property_names.append('full_text_search_key_script')
 
+    page_navigation_mode = fields.StringField('page_navigation_mode',
+                                title="Page navigation mode",
+                                description=("Page navigation mode like 'slider' - controls for 'next' / 'last' & 'previous' / 'first' or 'text' - direct page selections."),
+                                default='slider',
+                                required=0)
+    property_names.append('page_navigation_mode')
 
     list_action = fields.StringField('list_action',
                                  title='List Action',
@@ -969,11 +975,17 @@ class ListBoxRenderer:
   getFullTextSearchKey = lazyMethod(getFullTextSearchKey)
 
   def getFullTextSearchKeyScript(self):
-    """Return the full text search key."""
+    """Return the full text search key script which is responsible for handling full text query."""
     return self.field.get_value('full_text_search_key_script')
 
   getFullTextSearchKeyScript = lazyMethod(getFullTextSearchKeyScript)
 
+  def getPageNavigationMode(self):
+    """Return the list box page navigation mode."""
+    return self.field.get_value('page_navigation_mode')
+
+  getPageNavigationMode = lazyMethod(getPageNavigationMode)
+
   def getSearchColumnIdSet(self):
     """Return the set of the ids of the search columns. Fall back to the catalog schema, if not defined.
     """
-- 
2.30.9


From efa6096119f49c428a9a3e34f8d25c3ab0a35ab1 Mon Sep 17 00:00:00 2001
From: Ivan Tyagov <ivan@nexedi.com>
Date: Thu, 29 Jul 2010 07:41:25 +0000
Subject: [PATCH 193/270] Add listbox setting for page navigation mode.

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@37360 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 .../portal_skins/erp5_ui_test/ListBox_setPropertyList.xml       | 1 +
 bt5/erp5_ui_test/bt/revision                                    | 2 +-
 2 files changed, 2 insertions(+), 1 deletion(-)

diff --git a/bt5/erp5_ui_test/SkinTemplateItem/portal_skins/erp5_ui_test/ListBox_setPropertyList.xml b/bt5/erp5_ui_test/SkinTemplateItem/portal_skins/erp5_ui_test/ListBox_setPropertyList.xml
index ec2b309957..ed0965ab1e 100644
--- a/bt5/erp5_ui_test/SkinTemplateItem/portal_skins/erp5_ui_test/ListBox_setPropertyList.xml
+++ b/bt5/erp5_ui_test/SkinTemplateItem/portal_skins/erp5_ui_test/ListBox_setPropertyList.xml
@@ -97,6 +97,7 @@ d = dict(\n
   field_default_display_style = \'\',\n
   field_full_text_search_key = \'\',\n
   field_full_text_search_key_script = \'\',\n
+  field_page_navigation_mode = \'\',\n
   field_list_action = \'list\',\n
   field_enabled = \'checked\',\n
   field_editable = \'\',\n
diff --git a/bt5/erp5_ui_test/bt/revision b/bt5/erp5_ui_test/bt/revision
index 72b67e0ede..55b22b1aa9 100644
--- a/bt5/erp5_ui_test/bt/revision
+++ b/bt5/erp5_ui_test/bt/revision
@@ -1 +1 @@
-579
\ No newline at end of file
+580
\ No newline at end of file
-- 
2.30.9


From 3c2db1a7c2487242161c81fe8473bd8bd4fcc041 Mon Sep 17 00:00:00 2001
From: Ivan Tyagov <ivan@nexedi.com>
Date: Thu, 29 Jul 2010 09:03:50 +0000
Subject: [PATCH 194/270] Introduce page navigation mode. Follow CSS naming
 convention.

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@37361 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 .../erp5_km_theme/ListBox_asHTML.xml          | 111 ++++++++++--------
 .../erp5_km_theme/km_css/listbox.css.xml      |  29 +++--
 bt5/erp5_km/bt/revision                       |   2 +-
 3 files changed, 81 insertions(+), 61 deletions(-)

diff --git a/bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km_theme/ListBox_asHTML.xml b/bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km_theme/ListBox_asHTML.xml
index cd8ef12489..5561f9ddfd 100644
--- a/bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km_theme/ListBox_asHTML.xml
+++ b/bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km_theme/ListBox_asHTML.xml
@@ -79,7 +79,8 @@
               current_page_stop  python: (total_line < current_page_max) and total_line or current_page_max;\n
               listbox_id request/current_form_id | form_id ;\n
               listbox_url string:${context_url}/${listbox_id};\n
-              need_pagination python: total_line > listbox_max_lines;">\n
+              need_pagination python: total_line > listbox_max_lines;\n
+              page_navigation_mode here/getPageNavigationMode;">\n
 \n
   <!-- Define hidden input.  -->\n
   <input type="hidden" name="list_selection_name" value="default" tal:attributes="value selection_name" />\n
@@ -100,9 +101,9 @@
     </tal:block>\n
   </tal:block>\n
 \n
-<div class="listbox_block">\n
+<div class="listbox-container">\n
 \n
-  <div class="listbox_left">\n
+  <div class="listbox-tree">\n
     <div class="listbox_domain_tree_mode" tal:condition="is_domain_tree_mode">\n
       <div tal:define="selected_domain_path here/getSelectedDomainPath">\n
             <select name="domain_root_url"\n
@@ -141,12 +142,10 @@
           </div>\n
     </div>\n
   </div>\n
-  <tal:comment tal:replace="nothing">\n
-  Minimize the withd in domain tree mode else maximize\n
-  </tal:comment>\n
-  <div class="listbox_center"\n
-       tal:attributes="style python: is_domain_tree_mode and \'width: auto\' or \'width: 100%\'">\n
-    <div class="listbox_head">\n
+\n
+  <div class="listbox-content">\n
+\n
+    <div class="listbox-head">\n
       <span tal:content="here/getTitle"/>\n
       <span tal:condition="python: here.getTitle() and total_line>0"> - </span>\n
       <!--Show search result -->\n
@@ -155,12 +154,12 @@
 \n
       <!-- Set a slot for additional content ? -->\n
     </div>\n
-    <div class="listox_body">\n
+    <div class="listbox-body">\n
       <table class="listbox">      \n
           <thead>\n
             <!--Column title -->\n
-            <tr id="listbox_label_line" class="listbox_label_line"\n
-                tal:attributes="id string:${field_id}_label_line">  \n
+            <tr id="listbox-label-line" class="listbox-label-line"\n
+                tal:attributes="id string:${field_id}-label-line">  \n
               <!--Report tree-->\n
               <th tal:condition="is_report_tree_mode"\n
                 style="width: 50px; text-align: left; vertical-align: middle">\n
@@ -175,9 +174,7 @@
                 </select>\n
               </th>\n
               <!--Anchor Column -->\n
-              <th class="AnchorColumn" tal:condition="show_anchor_column">\n
-                &nbsp;\n
-              </th>\n
+              <th class="AnchorColumn" tal:condition="show_anchor_column">&nbsp;</th>\n
               <!--Add colum for checkbox-->\n
               <th tal:condition="python: show_select_column"\n
                   class="select_cell"\n
@@ -186,20 +183,24 @@
                         vertical-align: middle;\n
                         white-space: nowrap;">\n
             \n
-                <input  id="listbox_check_all" type="image"\n
-                        name="checkAll:method" value="1"\n
-                        alt="Check All" title="Check All"\n
-                        tal:attributes="id string:${field_id}_check_all;\n
-                                        name string:${field_id}_checkAll:method;\n
-                                        src string:${portal_url_string}/images/checkall.png"\n
-                        i18n:domain="ui" i18n:attributes="title" />\n
+                <input id="listbox-check-all"\n
+                       class="listbox-selection-action listbox-check-all"\n
+                       type="image"\n
+                       name="checkAll:method" value="1"\n
+                       alt="Check All" title="Check All"\n
+                       tal:attributes="id string:${field_id}-check-all;\n
+                                       name string:${field_id}_checkAll:method;\n
+                                       src string:${portal_url_string}/images/checkall.png"\n
+                       i18n:domain="ui" i18n:attributes="title" />\n
                 &nbsp;\n
-                <input  id="listbox_uncheck_all"\n
-                        type="image" name="uncheckAll:method" value="1"\n
-                        style="border: 0" alt="Uncheck All" title="Uncheck All"\n
-                        tal:attributes="id string:${field_id}_uncheck_all;\n
-                                        src string:${portal_url_string}/images/decheckall.png;\n
-                                        name string:${field_id}_uncheckAll:method;"\n
+                <input id="listbox-uncheck-all"\n
+                       class="listbox-selection-action listbox-uncheck-all"\n
+                       type="image" \n
+                       name="uncheckAll:method" value="1"\n
+                       alt="Uncheck All" title="Uncheck All"\n
+                       tal:attributes="id string:${field_id}-uncheck-all;\n
+                                       src string:${portal_url_string}/images/decheckall.png;\n
+                                       name string:${field_id}_uncheckAll:method;"\n
                         i18n:domain="ui" i18n:attributes="title" />         \n
                   \n
               </th>\n
@@ -246,8 +247,9 @@
 \n
             <!--Search column input -->\n
             <tr tal:condition="python: show_search_line or is_report_tree_mode"\n
-                id="listbox_search_line" class="listbox_search_line"\n
-                tal:attributes="id python: show_search_line and (\'%s_search_line\' % field_id) or (\'%s_report_depth_line\' % field_id)">\n
+                id="listbox_search_line" \n
+                class="listbox-search-line"\n
+                tal:attributes="id python: show_search_line and (\'%s-search-line\' % field_id) or (\'%s-report-depth-line\' % field_id)">\n
               <!--Report Tree -->\n
               <tal:block tal:condition="is_report_tree_mode">\n
               <th style="width: 50px; text-align: left; vertical-align: middle" colspan="1"\n
@@ -415,30 +417,35 @@
       <div class="listbox-footer-box">\n
         <!-- List mode choice -->\n
         <div tal:condition="python: not is_gadget_mode and (is_domain_tree_supported or is_report_tree_supported)"\n
-             class="list_mode_selection">\n
+             class="listbox-tree-mode-selection">\n
 \n
           <input tal:condition="python: is_domain_tree_supported or is_report_tree_supported"\n
-                 type="image" src="text_block.png" id="listbox_flat_list_mode"\n
-                 class="listbox_flat_list_mode"\n
-                 title="Flat List" name="setFlatListMode:method"\n
-                 value="1" alt="Flat List"\n
-                 tal:attributes="src string:${portal_url_string}/images/text_block.png;\n
-                                 id string:${field_id}_flat_list_mode"\n
-                 i18n:domain="ui" i18n:attributes="title" />\n
-           <input tal:condition="python: not is_gadget_mode and is_report_tree_supported"\n
-                  type="image" src="view_tree.png" id="listbox_report_tree_mode"\n
-                  title="Report Tree" name="setReportTreeMode:method"\n
-                  value="1" alt="Report Tree"\n
-                  tal:attributes="src string:${portal_url_string}/images/view_tree.png;\n
-                                  id string:${field_id}_report_tree_mode"\n
-                  i18n:domain="ui" i18n:attributes="title" />\n
-            <input tal:condition="python: not is_gadget_mode and is_domain_tree_supported"\n
-                   type="image" src="view_choose.png" id="listbox_domain_tree_mode"\n
-                   title="Domain Tree" name="setDomainTreeMode:method"\n
-                   value="1" alt="Domain Tree"\n
-                   tal:attributes="src string:${portal_url_string}/images/view_choose.png;\n
-                                   id string:${field_id}_domain_tree_mode"\n
-                   i18n:domain="ui" i18n:attributes="title" />\n
+                 type="image" \n
+                 class="listbox-tree-flat-list-mode"\n
+                 title="Flat List" \n
+                 name="setFlatListMode:method"\n
+                 value="1" \n
+                 alt="Flat List"\n
+                 tal:attributes="src string:${portal_url_string}/images/text_block.png;"\n
+                 i18n:domain="ui" i18n:attributes="title alt" />\n
+          <input tal:condition="python: not is_gadget_mode and is_report_tree_supported"\n
+                 type="image" \n
+                 class="listbox-tree-report-tree-mode"\n
+                 title="Report Tree" \n
+                 name="setReportTreeMode:method"\n
+                 value="1" \n
+                 alt="Report Tree"\n
+                 tal:attributes="src string:${portal_url_string}/images/view_tree.png;"\n
+                 i18n:domain="ui" i18n:attributes="title alt" />\n
+          <input tal:condition="python: not is_gadget_mode and is_domain_tree_supported"\n
+                 type="image" \n
+                 class="listbox-tree-domain-tree-mode"\n
+                 title="Domain Tree" \n
+                 name="setDomainTreeMode:method"\n
+                 value="1" \n
+                 alt="Domain Tree"\n
+                 tal:attributes="src string:${portal_url_string}/images/view_choose.png;"\n
+                 i18n:domain="ui" i18n:attributes="title alt" />\n
         </div>\n
 \n
         <!-- List display mode -->\n
diff --git a/bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km_theme/km_css/listbox.css.xml b/bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km_theme/km_css/listbox.css.xml
index a9d4e183fe..3251a4916e 100644
--- a/bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km_theme/km_css/listbox.css.xml
+++ b/bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km_theme/km_css/listbox.css.xml
@@ -169,29 +169,39 @@ div.search_popup{\n
 /*********************/\n
 /*   Listbox style   */\n
 /*********************/\n
-.listbox_left {\n
+div.listbox-container{\n
+  width: 100%;\n
+}\n
+\n
+div.listbox-tree {\n
   margin-right: 4px;\n
   width: auto;\n
   float: left;\n
 }\n
 \n
-.listbox_center{\n
-  float: left;\n
+div.listbox-content{\n
+  float: left; \n
+  width: auto; \n
 }\n
-.listbox_head{\n
+\n
+div.listbox-head{\n
   color:#9D968D;\n
   font-weight:bold;\n
   margin-bottom: 10px;\n
 }\n
 \n
+div.listbox-body{\n
+  width:auto;\n
+}\n
+\n
 /* List mode selection*/\n
-.list_mode_selection{\n
+div.listbox-tree-mode-selection{\n
   height: 22px;\n
   width: auto;\n
   float: left;\n
 }\n
 \n
-.list_mode_selection input{\n
+div.listbox-tree-mode-selection input{\n
   width: auto;\n
 }\n
 \n
@@ -287,15 +297,18 @@ a.tree_open {\n
   padding-left:15px;\n
 }\n
 \n
+div.listbox-tree select{\n
+  max-width:120px;\n
+}\n
 /*Table Listbox elements */\n
 .listbox th {\n
   text-align:left;\n
   vertical-align: top;\n
 }\n
-.listbox_search_line, .listbox_label_line{\n
+.listbox-search-line, .listbox-label-line{\n
   background-color: #F0EFE9;\n
 }\n
-.listbox_search_line th{\n
+.listbox-search-line th{\n
   background-color: inherit;\n
 }\n
 \n
diff --git a/bt5/erp5_km/bt/revision b/bt5/erp5_km/bt/revision
index 37021f4a27..2f845fa6e0 100644
--- a/bt5/erp5_km/bt/revision
+++ b/bt5/erp5_km/bt/revision
@@ -1 +1 @@
-1500
\ No newline at end of file
+1501
\ No newline at end of file
-- 
2.30.9


From efdeab9b600fcfaf5725222388f34c25de9c1d8b Mon Sep 17 00:00:00 2001
From: Ivan Tyagov <ivan@nexedi.com>
Date: Thu, 29 Jul 2010 11:54:54 +0000
Subject: [PATCH 195/270] Follow CSS guideline (remove inline CSS styling).
 Indentation. Remove duplicating images.

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@37363 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 .../erp5_km_theme/ListBox_asHTML.xml          | 241 +++++++++---------
 .../erp5_km_theme/km_css/listbox.css.xml      |  19 +-
 .../erp5_km_theme/km_img/tree_closed.png.xml  |  57 -----
 .../erp5_km_theme/km_img/tree_open.png.xml    |  57 -----
 bt5/erp5_km/bt/revision                       |   2 +-
 5 files changed, 143 insertions(+), 233 deletions(-)
 delete mode 100644 bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km_theme/km_img/tree_closed.png.xml
 delete mode 100644 bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km_theme/km_img/tree_open.png.xml

diff --git a/bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km_theme/ListBox_asHTML.xml b/bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km_theme/ListBox_asHTML.xml
index 5561f9ddfd..895fb7d547 100644
--- a/bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km_theme/ListBox_asHTML.xml
+++ b/bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km_theme/ListBox_asHTML.xml
@@ -104,42 +104,53 @@
 <div class="listbox-container">\n
 \n
   <div class="listbox-tree">\n
-    <div class="listbox_domain_tree_mode" tal:condition="is_domain_tree_mode">\n
-      <div tal:define="selected_domain_path here/getSelectedDomainPath">\n
-            <select name="domain_root_url"\n
-                    tal:attributes="onChange string:submitAction(this.form, \'${context_url}/setDomainRoot\')">\n
-                <tal:block tal:repeat="c here/getDomainRootList">\n
-                  <option value="base_domain"\n
+\n
+    <!-- Domain Report Tree mode -->\n
+    <div class="listbox-domain-tree-container" \n
+         tal:condition="is_domain_tree_mode">\n
+      <tal:block tal:define="selected_domain_path here/getSelectedDomainPath">\n
+\n
+        <!-- Select domain node -->\n
+        <select name="domain_root_url"\n
+                tal:attributes="onChange string:submitAction(this.form, \'${context_url}/setDomainRoot\')">\n
+          <tal:block tal:repeat="c here/getDomainRootList">\n
+            <option value="base_domain"\n
                     tal:define="path python: c[0]; title python: c[1]"\n
                     tal:attributes="selected python: path == selected_domain_path; value path"\n
                     tal:content="title"\n
-                    i18n:translate="" i18n:domain="ui">Base Domain</option>\n
-                </tal:block>\n
-              </select>\n
-              <table id="listbox_domain_tree_table" cellpadding="0"\n
-                      summary="This table contains the domain tree"\n
-                      class="listbox_domain_tree_table"\n
-                      tal:attributes="id string:${field_id}_domain_tree_table"\n
-                      tal:define="report_tree_list python: here.makeReportTreeList(report_path = selected_domain_path, unfolded_list = selection.getDomainList(), is_report_opened = False, sort_on=((\'int_index\', \'ASC\'),));\n
-                      total_depth python: max([report_tree.depth for report_tree in report_tree_list] + [-1])">\n
-                <tr tal:repeat="report_tree report_tree_list">\n
-                  <tal:block tal:repeat="i python: range(report_tree.depth)">\n
-                  <td width="12" nowrap="nowrap">&nbsp;</td>\n
-                  </tal:block>\n
-                  <td colspan="1" style="text-align: left; vertical-align: top; white-space: nowrap;"\n
-                    tal:attributes="colspan python: total_depth - report_tree.depth + 1">\n
-                    <a href="method" class="tree_open"\n
-                      tal:condition="report_tree/is_open"\n
-                      tal:attributes="href string:foldDomain?domain_url=${report_tree/domain_url}&form_id=${form_id}&list_selection_name=${selection_name}&domain_depth:int=${report_tree/depth}">\n
-                      <b tal:content="report_tree/obj/getCompactTranslatedTitle">Domain</b></a>\n
-                    <a href="method" class="tree_closed"\n
-                      tal:condition="not: report_tree/is_open"\n
-                      tal:attributes="href string:unfoldDomain?domain_url=${report_tree/domain_url}&form_id=${form_id}&list_selection_name=${selection_name}&domain_depth:int=${report_tree/depth}">\n
-                      <tal:block tal:content="report_tree/obj/getCompactTranslatedTitle">Domain</tal:block></a>\n
-                  </td>\n
-                </tr>\n
-              </table>\n
-          </div>\n
+                    i18n:translate="" i18n:domain="ui"/>\n
+          </tal:block>\n
+        </select>\n
+\n
+        <!-- Domain node contents -->\n
+        <table id="listbox-domain-tree-table" \n
+               cellpadding="0"\n
+               summary="This table contains the domain tree"\n
+               class="listbox_domain_tree_table"\n
+               tal:attributes="id string:${field_id}-domain-tree-table"\n
+               tal:define="report_tree_list python: here.makeReportTreeList(report_path = selected_domain_path, unfolded_list = selection.getDomainList(), is_report_opened = False, sort_on=((\'int_index\', \'ASC\'),));\n
+                           total_depth python: max([report_tree.depth for report_tree in report_tree_list] + [-1])">\n
+          <tr tal:repeat="report_tree report_tree_list">\n
+            <tal:block tal:repeat="i python: range(report_tree.depth)">\n
+              <td width="12" nowrap="nowrap">&nbsp;</td>\n
+            </tal:block>\n
+            <td colspan="1" \n
+                class="domain-tree-table-cell"\n
+                tal:attributes="colspan python: total_depth - report_tree.depth + 1">\n
+              <a href="method" class="tree_open"\n
+                 tal:condition="report_tree/is_open"\n
+                 tal:attributes="href string:foldDomain?domain_url=${report_tree/domain_url}&form_id=${form_id}&list_selection_name=${selection_name}&domain_depth:int=${report_tree/depth}">\n
+                <b tal:content="report_tree/obj/getCompactTranslatedTitle">Domain</b>\n
+              </a>\n
+              <a href="method" class="tree_closed"\n
+                 tal:condition="not: report_tree/is_open"\n
+                 tal:attributes="href string:unfoldDomain?domain_url=${report_tree/domain_url}&form_id=${form_id}&list_selection_name=${selection_name}&domain_depth:int=${report_tree/depth}">\n
+                 <tal:block tal:content="report_tree/obj/getCompactTranslatedTitle">Domain</tal:block>\n
+              </a>\n
+            </td>\n
+          </tr>\n
+        </table>\n
+      </tal:block>\n
     </div>\n
   </div>\n
 \n
@@ -151,18 +162,18 @@
       <!--Show search result -->\n
       <span tal:condition="python: total_line > 0"\n
         tal:replace="structure python: real_context.Base_translateString(\'Results <em>${start} - ${stop}</em> of <em>${total}</em>.\', mapping=dict(start=current_page_start, stop=current_page_stop, total=total_line))"/>\n
-\n
-      <!-- Set a slot for additional content ? -->\n
     </div>\n
     <div class="listbox-body">\n
       <table class="listbox">      \n
           <thead>\n
             <!--Column title -->\n
-            <tr id="listbox-label-line" class="listbox-label-line"\n
+            <tr id="listbox-label-line" \n
+                class="listbox-label-line"\n
                 tal:attributes="id string:${field_id}-label-line">  \n
+\n
               <!--Report tree-->\n
               <th tal:condition="is_report_tree_mode"\n
-                style="width: 50px; text-align: left; vertical-align: middle">\n
+                  class="listbox-table-report-tree-selection-cell">\n
                 <select name="report_root_url"\n
                   tal:attributes="onChange string:submitAction(this.form, \'${context_url}/setReportRoot\')">\n
                   <tal:block tal:repeat="c here/getReportRootList">\n
@@ -173,16 +184,14 @@
                   </tal:block>\n
                 </select>\n
               </th>\n
-              <!--Anchor Column -->\n
-              <th class="AnchorColumn" tal:condition="show_anchor_column">&nbsp;</th>\n
-              <!--Add colum for checkbox-->\n
+\n
+              <!-- Anchor cell -->\n
+              <th class="listbox-table-anchor-cell" tal:condition="show_anchor_column">&nbsp;</th>\n
+\n
+              <!-- Select cell -->\n
               <th tal:condition="python: show_select_column"\n
-                  class="select_cell"\n
-                  style="border-width: 0;\n
-                        text-align: center; \n
-                        vertical-align: middle;\n
-                        white-space: nowrap;">\n
-            \n
+                  class="listbox-table-select-cell">\n
+           \n
                 <input id="listbox-check-all"\n
                        class="listbox-selection-action listbox-check-all"\n
                        type="image"\n
@@ -204,14 +213,14 @@
                         i18n:domain="ui" i18n:attributes="title" />         \n
                   \n
               </th>\n
+\n
               <!-- Label column row -->\n
               <tal:block tal:repeat="value here/getLabelValueList">\n
                 <tal:block tal:define="sql        python: value[0];\n
-                                      title      python: value[1];\n
-                                      sort_order python: value[2]">\n
-                <th tal:condition="sql"\n
-                    tal:attributes="style python: repeat[\'value\'].index==0 and \'border-width: 0 1px 1px 1px\' or \'\'">                 \n
+                                       title      python: value[1];\n
+                                       sort_order python: value[2]">\n
 \n
+                <th tal:condition="sql" class="listbox-table-header-cell">                 \n
                     <!-- Button in normal view -->\n
                     <button tal:define="\n
                           bt_class python:  sort_order==\'ascending\' and \'sort_button sort_button_asc\' \n
@@ -224,41 +233,46 @@
                                           value string:${field_id}.${sql};\n
                                           class bt_class;"\n
                           i18n:domain="ui" i18n:attributes="title">\n
-                      <span tal:content="title" i18n:domain="ui" i18n:translate="">ID</span>\n
+                      <span tal:content="title" i18n:domain="ui" i18n:translate=""/>\n
                     </button>\n
 \n
                     <!-- Button in gadget mode -->\n
                     <button tal:condition="is_gadget_mode" \n
-                          tal:define ="params python: {\'setSelectionQuickSortOrder:method\':field_id+\'.\'+sql};"\n
-                          type="button"  \n
-                          class="sort_button"\n
-                          tal:attributes="title string:${title}; \n
+                            tal:define ="params python: {\'setSelectionQuickSortOrder:method\':field_id+\'.\'+sql};"\n
+                            type="button"  \n
+                            class="sort_button"\n
+                            tal:attributes="title string:${title}; \n
                                             onclick python: real_context.KnowledgePad_generateAjaxCall(context_url+\'/\'+form_id,box,dom_id,params);"\n
-                          i18n:domain="ui" i18n:attributes="title">\n
-                          <span tal:content="title" i18n:domain="ui" i18n:translate="">ID</span>\n
+                            i18n:domain="ui" i18n:attributes="title">\n
+                      <span tal:content="title" i18n:domain="ui" i18n:translate=""/>\n
                     </button>\n
                   </th>\n
-                  <!--TODO Why not sql is possible ?-->\n
-                  <th tal:condition="not: sql" tal:content="title" \n
+\n
+                  <th class="listbox-table-header-cell"\n
+                      tal:condition="not: sql" \n
+                      tal:content="title" \n
                       i18n:domain="ui" i18n:translate=""/>\n
+\n
                 </tal:block>\n
               </tal:block>\n
             </tr>\n
 \n
             <!--Search column input -->\n
             <tr tal:condition="python: show_search_line or is_report_tree_mode"\n
-                id="listbox_search_line" \n
+                id="listbox-search-line" \n
                 class="listbox-search-line"\n
                 tal:attributes="id python: show_search_line and (\'%s-search-line\' % field_id) or (\'%s-report-depth-line\' % field_id)">\n
+\n
               <!--Report Tree -->\n
               <tal:block tal:condition="is_report_tree_mode">\n
-              <th style="width: 50px; text-align: left; vertical-align: middle" colspan="1"\n
-                  tal:attributes="colspan python: show_search_line and 1 or (len(here.getSelectedColumnList()) + show_select_column + show_anchor_column + 1)"\n
-                  tal:define="selection_index here/getSelectionIndex;\n
-                              index python: selection_index is not None and \'&amp;selection_index=%s\' % selection_index or \'\';\n
-                              is_report_opened python: int(not here.getSelection().isReportOpened());\n
-                              requested_selection_name here/getRequestedSelectionName;\n
-                              url here/getUrl">\n
+                <th class="listbox-table-report-tree-selection-cell"\n
+                    colspan="1"\n
+                    tal:attributes="colspan python: show_search_line and 1 or (len(here.getSelectedColumnList()) + show_select_column + show_anchor_column + 1)"\n
+                    tal:define="selection_index here/getSelectionIndex;\n
+                                index python: selection_index is not None and \'&amp;selection_index=%s\' % selection_index or \'\';\n
+                                is_report_opened python: int(not here.getSelection().isReportOpened());\n
+                                requested_selection_name here/getRequestedSelectionName;\n
+                                url here/getUrl">\n
                   <tal:block tal:repeat="i python: range(0, 6)">&nbsp;\n
                     <a href="?selection_name=default&amp;selection_index=0&amp;report_depth:int=0"\n
                               tal:attributes="href string:${url}?selection_name=${requested_selection_name}${index}&amp;report_depth:int=${i}"\n
@@ -269,46 +283,46 @@
                     tal:attributes="href string:${url}?selection_name=${requested_selection_name}${index}&amp;is_report_opened:int=${is_report_opened}"\n
                     tal:content="python: is_report_opened and \'Show\' or \'Hide\'"\n
                     i18n:domain="ui" i18n:translate="">Show</a>\n
-                  </th>\n
-                </tal:block>\n
+                </th>\n
+              </tal:block>\n
 \n
-              <!--Anchor Column -->\n
-              <th class="AnchorColumn" tal:condition="show_anchor_column">\n
-                &nbsp;\n
-              </th>\n
+              <!--Anchor cell -->\n
+              <th class="listbox-table-anchor-cell" tal:condition="show_anchor_column">&nbsp;</th>\n
+\n
+              <!--Select cell -->\n
               <th tal:condition="python: show_select_column"\n
-                  class="Data" style="text-align: center; vertical-align: middle">\n
+                  class="listbox-table-select-cell">\n
                 <input id="listbox_select" type="image"\n
                       title="Action" alt="Action" name="Base_doSelect:method"\n
                       tal:attributes="id string:${field_id}_select;\n
                                       src string:${portal_url_string}/images/exec16.png"\n
                       i18n:domain="ui" i18n:attributes="title" />\n
-                </th>\n
-                <!-- Real search columns -->\n
-                <th tal:repeat="value here/getSearchValueList">\n
-                  <tal:block tal:define="alias        python: value[0];\n
+              </th>\n
+              <!-- Real search columns -->\n
+              <th tal:repeat="value here/getSearchValueList">\n
+                <tal:block tal:define="alias        python: value[0];\n
                                          param        python: value[1];\n
                                          search_field python: value[2]"\n
                              tal:condition="alias">\n
-                    <!-- Render search field -->\n
-                    <tal:block tal:condition="python: search_field is not None"\n
-                               tal:replace="structure python: search_field.render(value=param, key=alias)"/>\n
-\n
-                    <tal:block tal:condition="python: search_field is None">\n
-                      <input tal:condition="python: not is_gadget_mode" \n
-                             name="id" size="5" value=""\n
-                             type="text" tal:attributes="name alias; value param"/>\n
-                      <!-- Search for gadget mode -->\n
-                      <input tal:condition="python: is_gadget_mode" \n
-                             tal:define ="params python: {alias:\'this.value\'};"\n
-                             size="8"\n
-                             type="textarea" \n
-                             tal:attributes=\'value python: selection.getParams().get(alias,"");\n
-                              onkeypress python:"if(event.keyCode==13){" + real_context.KnowledgePad_generateAjaxCall(context_url+"/"+form_id,box,dom_id,params).replace("\\"this.value\\"","this.value")+ "return false;;}"\'/>\n
-                    </tal:block>\n
+                  <!-- Render search field -->\n
+                  <tal:block tal:condition="python: search_field is not None"\n
+                             tal:replace="structure python: search_field.render(value=param, key=alias)"/>\n
+\n
+                  <tal:block tal:condition="python: search_field is None">\n
+                    <input tal:condition="python: not is_gadget_mode" \n
+                           name="id" size="5" value=""\n
+                           type="text" tal:attributes="name alias; value param"/>\n
+                    <!-- Search for gadget mode -->\n
+                    <input tal:condition="python: is_gadget_mode" \n
+                           tal:define ="params python: {alias:\'this.value\'};"\n
+                           size="8"\n
+                           type="textarea" \n
+                           tal:attributes=\'value python: selection.getParams().get(alias,"");\n
+                                           onkeypress python:"if(event.keyCode==13){" + real_context.KnowledgePad_generateAjaxCall(context_url+"/"+form_id,box,dom_id,params).replace("\\"this.value\\"","this.value")+ "return false;;}"\'/>\n
                   </tal:block>\n
-                </th>\n
-                </tr>\n
+                </tal:block>\n
+              </th>\n
+            </tr>\n
           </thead>\n
 \n
           <tbody>\n
@@ -328,15 +342,14 @@
                     <a  tal:condition="section_name"\n
                         tal:define="method_id python: line.isOpen() and \'foldReport\' or \'unfoldReport\'"\n
                         tal:attributes="href string:${method_id}?report_url=${line/getDomainUrl}&amp;form_id=${form_id}&amp;list_selection_name=${selection_name};\n
-                                      class python:test(line.isOpen(), \'tree_open\', \'tree_closed\');\n
-                                      style python:\'white-space: nowrap;; margin-left: %spx\' % (line.getDepth() * 15)"\n
+                                        class python:test(line.isOpen(), \'tree_open\', \'tree_closed\');\n
+                                        style python:\'white-space: nowrap;; margin-left: %spx\' % (line.getDepth() * 15)"\n
                         tal:content="section_name"/>\n
                   </td>\n
 \n
-                  <!--Anchor column -->\n
-                  <td tal:condition="python:show_anchor_column"\n
-                      class="AnchorColumn" \n
-                      style="text-align: center; vertical-align: middle;">\n
+                  <!--Anchor cell -->\n
+                  <td tal:condition="show_anchor_column"\n
+                      class="listbox-table-anchor-cell">\n
                     <!--Use [0][4] ? :(-->\n
                     <a href="#" tal:attributes="href python:render_result[0][4]">\n
                       <img src="document_icon.gif" alt="document" \n
@@ -344,23 +357,20 @@
                     </a>\n
                   </td>\n
                               \n
-                  <!--Select column -->\n
-                  <td tal:condition="python: show_select_column"\n
-                      class="select_cell" style="text-align: center; vertical-align: middle">\n
+                  <!--Select cell -->\n
+                  <td tal:condition="show_select_column"\n
+                      class="listbox-table-select-cell">\n
                     <input tal:condition="python: not line.isSummary()"\n
                           type="checkbox" id="listbox_cb_1" name="uids:list"\n
                           tal:attributes="checked python: line.getUid() in checked_uid_set;\n
-                          value line/getUid;\n
-                          id string:${field_id}_cb_${line/getUid}" />         \n
+                                          value line/getUid;\n
+                                          id string:${field_id}_cb_${line/getUid}" />         \n
                   </td>\n
-                  \n
+\n
+                  <!-- Data cells -->\n
                   <tal:block tal:repeat="value render_result">\n
-                    <!--Define many var but use only ONE !-->\n
-                    <td tal:define="html               python: value[0];\n
-                                    original_value     python: value[1];\n
-                                    error              python: value[2];\n
-                                    editable_field     python: value[3];\n
-                                    editable_field_css python: editable_field != None and editable_field.get_value(\'css_class\')">\n
+                    <td class="listbox-table-data-cell"\n
+                        tal:define="html  python: value[0];">\n
                       <input tal:condition="not: repeat/value/index"\n
                              type="hidden" value="1" name="listbox_uid:list"\n
                              tal:attributes="value python: line.getUid() or \'\';\n
@@ -385,7 +395,7 @@
             <!-- No results. -->\n
             <tr tal:condition="python: total_line == 0 and not hide_rows_on_no_search_criterion">\n
               <td tal:attributes="colspan python: len(here.getSearchValueList()) + 1">\n
-                <span  class="listbox_no_result" i18n:translate="" i18n:domain="ui">\n
+                <span class="listbox_no_result" i18n:translate="" i18n:domain="ui">\n
                   No result.\n
                 </span>\n
               </td>\n
@@ -496,7 +506,6 @@
         </div>\n
       </div>\n
 \n
-      <!-- Set a slot for additional content ? -->\n
     </div>\n
   </div>\n
 </div>\n
diff --git a/bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km_theme/km_css/listbox.css.xml b/bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km_theme/km_css/listbox.css.xml
index 3251a4916e..a49e3a3948 100644
--- a/bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km_theme/km_css/listbox.css.xml
+++ b/bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km_theme/km_css/listbox.css.xml
@@ -205,6 +205,21 @@ div.listbox-tree-mode-selection input{\n
   width: auto;\n
 }\n
 \n
+.listbox-table-anchor-cell, .listbox-table-select-cell {\n
+  text-align: center; \n
+  vertical-align: middle;\n
+}\n
+\n
+th.listbox-table-report-tree-selection-cell{\n
+  width: 50px; \n
+}\n
+\n
+td.domain-tree-table-cell{\n
+  text-align: left; \n
+  vertical-align: top; \n
+  white-space: nowrap;\n
+}\n
+\n
 /*Footer block*/\n
 div.listbox-footer{\n
  background-color:#F0EFE9;\n
@@ -288,12 +303,12 @@ div.listbox-page-navigation input{\n
 \n
 /* Report tree */\n
 a.tree_closed {\n
-  background:transparent url(\'./km_img/tree_closed.png\') no-repeat scroll left center;\n
+  background:transparent url(\'./images/tree_closed.png\') no-repeat scroll left center;\n
   padding-left:15px;\n
 }\n
 \n
 a.tree_open {\n
-  background:transparent url(\'./km_img/tree_open.png\') no-repeat scroll left center;\n
+  background:transparent url(\'./images/tree_open.png\') no-repeat scroll left center;\n
   padding-left:15px;\n
 }\n
 \n
diff --git a/bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km_theme/km_img/tree_closed.png.xml b/bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km_theme/km_img/tree_closed.png.xml
deleted file mode 100644
index bc9921db02..0000000000
--- a/bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km_theme/km_img/tree_closed.png.xml
+++ /dev/null
@@ -1,57 +0,0 @@
-<?xml version="1.0"?>
-<ZopeData>
-  <record id="1" aka="AAAAAAAAAAE=">
-    <pickle>
-      <tuple>
-        <global name="Image" module="OFS.Image"/>
-        <tuple/>
-      </tuple>
-    </pickle>
-    <pickle>
-      <dictionary>
-        <item>
-            <key> <string>_Cacheable__manager_id</string> </key>
-            <value> <string>http_cache</string> </value>
-        </item>
-        <item>
-            <key> <string>_EtagSupport__etag</string> </key>
-            <value> <string>ts71684380.16</string> </value>
-        </item>
-        <item>
-            <key> <string>__name__</string> </key>
-            <value> <string>tree_closed.png</string> </value>
-        </item>
-        <item>
-            <key> <string>content_type</string> </key>
-            <value> <string>image/png</string> </value>
-        </item>
-        <item>
-            <key> <string>data</string> </key>
-            <value> <string encoding="base64">iVBORw0KGgoAAAANSUhEUgAAAAkAAAAJCAYAAADgkQYQAAAAZ0lEQVQYV32QsQrAIAxE8+/t99T+
-SKHZXd1cBBcHSbkDA23RwIPj7k2RM6js22UzsFNYHXaXWmtERDz/pFIKgTTyS+q9c/yC3qVaq8UY
-CcaR0buUczZVJZBGRu9SSmkKpXDcyz9hfwBS5fiIbVgClQAAAABJRU5ErkJggg==</string> </value>
-        </item>
-        <item>
-            <key> <string>height</string> </key>
-            <value> <int>9</int> </value>
-        </item>
-        <item>
-            <key> <string>precondition</string> </key>
-            <value> <string></string> </value>
-        </item>
-        <item>
-            <key> <string>size</string> </key>
-            <value> <int>160</int> </value>
-        </item>
-        <item>
-            <key> <string>title</string> </key>
-            <value> <string></string> </value>
-        </item>
-        <item>
-            <key> <string>width</string> </key>
-            <value> <int>9</int> </value>
-        </item>
-      </dictionary>
-    </pickle>
-  </record>
-</ZopeData>
diff --git a/bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km_theme/km_img/tree_open.png.xml b/bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km_theme/km_img/tree_open.png.xml
deleted file mode 100644
index d6b6254fb8..0000000000
--- a/bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km_theme/km_img/tree_open.png.xml
+++ /dev/null
@@ -1,57 +0,0 @@
-<?xml version="1.0"?>
-<ZopeData>
-  <record id="1" aka="AAAAAAAAAAE=">
-    <pickle>
-      <tuple>
-        <global name="Image" module="OFS.Image"/>
-        <tuple/>
-      </tuple>
-    </pickle>
-    <pickle>
-      <dictionary>
-        <item>
-            <key> <string>_Cacheable__manager_id</string> </key>
-            <value> <string>http_cache</string> </value>
-        </item>
-        <item>
-            <key> <string>_EtagSupport__etag</string> </key>
-            <value> <string>ts71684364.69</string> </value>
-        </item>
-        <item>
-            <key> <string>__name__</string> </key>
-            <value> <string>tree_open.png</string> </value>
-        </item>
-        <item>
-            <key> <string>content_type</string> </key>
-            <value> <string>image/png</string> </value>
-        </item>
-        <item>
-            <key> <string>data</string> </key>
-            <value> <string encoding="base64">iVBORw0KGgoAAAANSUhEUgAAAAkAAAAJCAYAAADgkQYQAAAAXElEQVQYV32QMQrAMAhFvXt7nqYX
-KdTd1c1FyJJBLGYQiiTCW/57k3A3hPN4fEX4GewufEZjjEKJVLXwi8zMAaAQe0a9dyeiQuwZiYgj
-YiH2jJh5yYza9W7/FP4DhZwDXIMDO98AAAAASUVORK5CYII=</string> </value>
-        </item>
-        <item>
-            <key> <string>height</string> </key>
-            <value> <int>9</int> </value>
-        </item>
-        <item>
-            <key> <string>precondition</string> </key>
-            <value> <string></string> </value>
-        </item>
-        <item>
-            <key> <string>size</string> </key>
-            <value> <int>149</int> </value>
-        </item>
-        <item>
-            <key> <string>title</string> </key>
-            <value> <string></string> </value>
-        </item>
-        <item>
-            <key> <string>width</string> </key>
-            <value> <int>9</int> </value>
-        </item>
-      </dictionary>
-    </pickle>
-  </record>
-</ZopeData>
diff --git a/bt5/erp5_km/bt/revision b/bt5/erp5_km/bt/revision
index 2f845fa6e0..6005e30972 100644
--- a/bt5/erp5_km/bt/revision
+++ b/bt5/erp5_km/bt/revision
@@ -1 +1 @@
-1501
\ No newline at end of file
+1502
\ No newline at end of file
-- 
2.30.9


From 3a6522343a1c0b7bf44a221125b0dd9a6f4c9257 Mon Sep 17 00:00:00 2001
From: Vincent Pelletier <vincent@nexedi.com>
Date: Thu, 29 Jul 2010 12:25:17 +0000
Subject: [PATCH 196/270] Add a note about -S switch not being and absolute
 protection against site-dependent packages.

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@37364 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 buildout/README-2.12.txt | 3 +++
 buildout/README.txt      | 3 +++
 2 files changed, 6 insertions(+)

diff --git a/buildout/README-2.12.txt b/buildout/README-2.12.txt
index cebe6a992e..a067fbd9ff 100644
--- a/buildout/README-2.12.txt
+++ b/buildout/README-2.12.txt
@@ -44,6 +44,9 @@ This will download and install the software components needed to run ERP5 on
 Zope 2.12 including Zope 2.12 plus dependencies (including
 Acquisition with _aq_dynamic patch) and CMF 2.2 plus dependencies.
 
+Note on -S: this switch is overridden by PYTHON_PATH environment variable. In
+doubt, unset it before invoking that command.
+
 System dependency check
 -----------------------
 
diff --git a/buildout/README.txt b/buildout/README.txt
index 02db4eab78..4f114e96bc 100644
--- a/buildout/README.txt
+++ b/buildout/README.txt
@@ -131,6 +131,9 @@ $ echo 'extends = https://svn.erp5.org/repos/public/erp5/trunk/buildout/buildout
 $ wget -qO - http://svn.zope.org/*checkout*/zc.buildout/trunk/bootstrap/bootstrap.py | python -S -
 $ bin/buildout
 
+Note on -S: this switch is overridden by PYTHON_PATH environment variable. In
+doubt, unset it before invoking that command.
+
 After some time everything shall be locally available.
 
 Disclaimer: That way is still in early stage of development.
-- 
2.30.9


From b63c55f582c58445ad2ff24df714944df8391e7b Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gr=C3=A9gory=20Wisniewski?= <gregory@nexedi.com>
Date: Thu, 29 Jul 2010 12:37:16 +0000
Subject: [PATCH 197/270] Add custom Resource_zGetInventoryList from
 baobab_core.

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@37365 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 .../Resource_zGetInventoryList.xml            | 520 ++++++++++++++++++
 bt5/erp5_banking_core/bt/revision             |   2 +-
 2 files changed, 521 insertions(+), 1 deletion(-)
 create mode 100644 bt5/erp5_banking_core/SkinTemplateItem/portal_skins/erp5_banking_core/Resource_zGetInventoryList.xml

diff --git a/bt5/erp5_banking_core/SkinTemplateItem/portal_skins/erp5_banking_core/Resource_zGetInventoryList.xml b/bt5/erp5_banking_core/SkinTemplateItem/portal_skins/erp5_banking_core/Resource_zGetInventoryList.xml
new file mode 100644
index 0000000000..a0bbf5a495
--- /dev/null
+++ b/bt5/erp5_banking_core/SkinTemplateItem/portal_skins/erp5_banking_core/Resource_zGetInventoryList.xml
@@ -0,0 +1,520 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="SQL" module="Products.ZSQLMethods.SQL"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_Use_Database_Methods_Permission</string> </key>
+            <value>
+              <list>
+                <string>Member</string>
+              </list>
+            </value>
+        </item>
+        <item>
+            <key> <string>__ac_local_roles__</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>_arg</string> </key>
+            <value>
+              <object>
+                <klass>
+                  <global name="Args" module="Shared.DC.ZRDB.Aqueduct"/>
+                </klass>
+                <tuple/>
+                <state>
+                  <dictionary>
+                    <item>
+                        <key> <string>_data</string> </key>
+                        <value>
+                          <dictionary>
+                            <item>
+                                <key> <string>from_table_list</string> </key>
+                                <value>
+                                  <dictionary>
+                                    <item>
+                                        <key> <string>type</string> </key>
+                                        <value> <string>list</string> </value>
+                                    </item>
+                                  </dictionary>
+                                </value>
+                            </item>
+                            <item>
+                                <key> <string>group_by_expression</string> </key>
+                                <value>
+                                  <dictionary/>
+                                </value>
+                            </item>
+                            <item>
+                                <key> <string>ignore_variation</string> </key>
+                                <value>
+                                  <dictionary/>
+                                </value>
+                            </item>
+                            <item>
+                                <key> <string>input_simulation_state</string> </key>
+                                <value>
+                                  <dictionary>
+                                    <item>
+                                        <key> <string>type</string> </key>
+                                        <value> <string>list</string> </value>
+                                    </item>
+                                  </dictionary>
+                                </value>
+                            </item>
+                            <item>
+                                <key> <string>inventory_list</string> </key>
+                                <value>
+                                  <dictionary/>
+                                </value>
+                            </item>
+                            <item>
+                                <key> <string>node_index</string> </key>
+                                <value>
+                                  <dictionary/>
+                                </value>
+                            </item>
+                            <item>
+                                <key> <string>omit_input</string> </key>
+                                <value>
+                                  <dictionary/>
+                                </value>
+                            </item>
+                            <item>
+                                <key> <string>omit_output</string> </key>
+                                <value>
+                                  <dictionary/>
+                                </value>
+                            </item>
+                            <item>
+                                <key> <string>omit_simulation</string> </key>
+                                <value>
+                                  <dictionary/>
+                                </value>
+                            </item>
+                            <item>
+                                <key> <string>order_by_expression</string> </key>
+                                <value>
+                                  <dictionary/>
+                                </value>
+                            </item>
+                            <item>
+                                <key> <string>output_simulation_state</string> </key>
+                                <value>
+                                  <dictionary>
+                                    <item>
+                                        <key> <string>type</string> </key>
+                                        <value> <string>list</string> </value>
+                                    </item>
+                                  </dictionary>
+                                </value>
+                            </item>
+                            <item>
+                                <key> <string>payment_index</string> </key>
+                                <value>
+                                  <dictionary/>
+                                </value>
+                            </item>
+                            <item>
+                                <key> <string>precision</string> </key>
+                                <value>
+                                  <dictionary/>
+                                </value>
+                            </item>
+                            <item>
+                                <key> <string>section_filtered</string> </key>
+                                <value>
+                                  <dictionary/>
+                                </value>
+                            </item>
+                            <item>
+                                <key> <string>selection_domain</string> </key>
+                                <value>
+                                  <dictionary/>
+                                </value>
+                            </item>
+                            <item>
+                                <key> <string>selection_report</string> </key>
+                                <value>
+                                  <dictionary/>
+                                </value>
+                            </item>
+                            <item>
+                                <key> <string>standardize</string> </key>
+                                <value>
+                                  <dictionary/>
+                                </value>
+                            </item>
+                            <item>
+                                <key> <string>statistic</string> </key>
+                                <value>
+                                  <dictionary/>
+                                </value>
+                            </item>
+                            <item>
+                                <key> <string>stock_table_id</string> </key>
+                                <value>
+                                  <dictionary>
+                                    <item>
+                                        <key> <string>default</string> </key>
+                                        <value> <string>stock</string> </value>
+                                    </item>
+                                  </dictionary>
+                                </value>
+                            </item>
+                            <item>
+                                <key> <string>where_expression</string> </key>
+                                <value>
+                                  <dictionary/>
+                                </value>
+                            </item>
+                          </dictionary>
+                        </value>
+                    </item>
+                    <item>
+                        <key> <string>_keys</string> </key>
+                        <value>
+                          <list>
+<string>from_table_list</string>
+<string>where_expression</string>
+<string>order_by_expression</string>
+<string>group_by_expression</string>
+<string>selection_domain</string>
+<string>selection_report</string>
+<string>ignore_variation</string>
+<string>standardize</string>
+<string>omit_simulation</string>
+<string>section_filtered</string>
+<string>omit_input</string>
+<string>omit_output</string>
+<string>input_simulation_state</string>
+<string>output_simulation_state</string>
+<string>precision</string>
+<string>inventory_list</string>
+<string>statistic</string>
+<string>stock_table_id</string>
+<string>node_index</string>
+<string>payment_index</string>
+                          </list>
+                        </value>
+                    </item>
+                  </dictionary>
+                </state>
+              </object>
+            </value>
+        </item>
+        <item>
+            <key> <string>_owner</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>allow_simple_one_argument_traversal</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>arguments_src</string> </key>
+            <value> <string>from_table_list:list\r\n
+where_expression\r\n
+order_by_expression\r\n
+group_by_expression\r\n
+selection_domain\r\n
+selection_report\r\n
+ignore_variation\r\n
+standardize\r\n
+omit_simulation\r\n
+section_filtered\r\n
+omit_input\r\n
+omit_output\r\n
+input_simulation_state:list\r\n
+output_simulation_state:list\r\n
+precision\r\n
+inventory_list\r\n
+statistic\r\n
+stock_table_id=stock\r\n
+node_index\r\n
+payment_index</string> </value>
+        </item>
+        <item>
+            <key> <string>cache_time_</string> </key>
+            <value> <int>0</int> </value>
+        </item>
+        <item>
+            <key> <string>class_file_</string> </key>
+            <value> <string>ERP5.InventoryBrain</string> </value>
+        </item>
+        <item>
+            <key> <string>class_name_</string> </key>
+            <value> <string>InventoryListBrain</string> </value>
+        </item>
+        <item>
+            <key> <string>connection_hook</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>connection_id</string> </key>
+            <value> <string>erp5_sql_connection</string> </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>Resource_zGetInventoryList</string> </value>
+        </item>
+        <item>
+            <key> <string>max_cache_</string> </key>
+            <value> <int>100</int> </value>
+        </item>
+        <item>
+            <key> <string>max_rows_</string> </key>
+            <value> <int>0</int> </value>
+        </item>
+        <item>
+            <key> <string>src</string> </key>
+            <value> <string encoding="cdata"><![CDATA[
+
+SELECT\n
+<dtml-if expr="precision is not None">\n
+  SUM(ROUND(<dtml-var stock_table_id>.quantity, <dtml-var precision>)) AS inventory,\n
+  SUM(ROUND(<dtml-var stock_table_id>.quantity, <dtml-var precision>)) AS total_quantity,\n
+  SUM(ROUND(<dtml-var stock_table_id>.total_price, <dtml-var precision>)) AS total_price\n
+<dtml-else>\n
+  SUM(<dtml-var stock_table_id>.quantity) AS inventory,\n
+  SUM(<dtml-var stock_table_id>.quantity) AS total_quantity,\n
+  SUM(<dtml-var stock_table_id>.total_price) AS total_price\n
+</dtml-if>\n
+<dtml-if inventory_list>\n
+  ,node.title AS node_title,\n
+  node.uid AS node_uid,\n
+  node.relative_url AS node_relative_url,\n
+  section.title AS section_title,\n
+  section.uid AS section_uid,\n
+  section.relative_url AS section_relative_url,\n
+  resource.title AS resource_title,\n
+  resource.relative_url AS resource_relative_url,\n
+  <dtml-var stock_table_id>.variation_text AS variation_text,\n
+  <dtml-var stock_table_id>.sub_variation_text AS sub_variation_text,\n
+  <dtml-var stock_table_id>.resource_uid AS resource_uid,\n
+  <dtml-var stock_table_id>.uid AS stock_uid,\n
+  <dtml-var stock_table_id>.date as date,\n
+  <dtml-var stock_table_id>.simulation_state as simulation_state,\n
+  <dtml-var stock_table_id>.mirror_section_uid as mirror_section_uid,\n
+  <dtml-var stock_table_id>.payment_uid as payment_uid,\n
+  <dtml-var stock_table_id>.mirror_node_uid as mirror_node_uid,\n
+  <dtml-if expr="stock_table_id == \'stock\'"> \n
+    <dtml-var stock_table_id>.explanation_uid as explanation_uid,\n
+  </dtml-if>\n
+  catalog.path as path\n
+</dtml-if>\n
+<dtml-if statistic>\n
+  ,\n
+  COUNT(DISTINCT node.title) AS node_title,\n
+  COUNT(DISTINCT node.relative_url) AS node_relative_url,\n
+  COUNT(DISTINCT section.title) AS section_title,\n
+  COUNT(DISTINCT section.relative_url) AS section_relative_url,\n
+  COUNT(DISTINCT resource.title) AS resource_title,\n
+  COUNT(DISTINCT resource.relative_url) AS resource_relative_url,\n
+  COUNT(DISTINCT <dtml-var stock_table_id>.variation_text) AS variation_text,\n
+  MAX(<dtml-var stock_table_id>.resource_uid) AS resource_uid,\n
+  COUNT(DISTINCT <dtml-var stock_table_id>.uid) AS stock_uid,\n
+  MAX(<dtml-var stock_table_id>.date) AS date\n
+</dtml-if>\n
+\n
+\n
+FROM\n
+  <dtml-var stock_table_id> <dtml-if node_index> use index(node_resource_variation_state_date)</dtml-if><dtml-if payment_index>use index(resource_payment_state_date)</dtml-if>\n
+  <dtml-if section_filtered> INNER <dtml-else> LEFT </dtml-if>  \n
+       JOIN catalog AS section ON (section.uid = <dtml-var stock_table_id>.section_uid)\n
+<dtml-in prefix="table" expr="from_table_list"> \n
+  <dtml-if expr="table_key != stock_table_id">\n
+  , <dtml-var table_item> AS <dtml-var table_key>\n
+  </dtml-if>\n
+</dtml-in>\n
+  <dtml-if selection_domain>, <dtml-var "portal_selections.buildSQLJoinExpressionFromDomainSelection(selection_domain)"> </dtml-if>\n
+  <dtml-if selection_report>, <dtml-var "portal_selections.buildSQLJoinExpressionFromDomainSelection(selection_report)"> </dtml-if>\n
+  , catalog as node, catalog as resource\n
+\n
+WHERE\n
+  1 = 1\n
+<dtml-if where_expression>\n
+  AND <dtml-var where_expression>\n
+</dtml-if>\n
+\n
+  AND node.uid = <dtml-var stock_table_id>.node_uid\n
+  AND resource.uid = <dtml-var stock_table_id>.resource_uid\n
+\n
+<dtml-if omit_simulation>\n
+  AND catalog.portal_type != \'Simulation Movement\'\n
+</dtml-if>\n
+\n
+<dtml-if selection_domain>\n
+  AND <dtml-var "portal_selections.buildSQLExpressionFromDomainSelection(selection_domain, join_table=stock_table_id, join_column=\'node_uid\')">\n
+</dtml-if>\n
+<dtml-if selection_report>\n
+  AND <dtml-var "portal_selections.buildSQLExpressionFromDomainSelection(selection_report, strict_membership=1)">\n
+</dtml-if>\n
+<dtml-if group_by_expression>\n
+GROUP BY\n
+    <dtml-var group_by_expression>\n
+</dtml-if>\n
+<dtml-if order_by_expression>\n
+ORDER BY\n
+  <dtml-var order_by_expression>\n
+</dtml-if>\n
+
+
+]]></string> </value>
+        </item>
+        <item>
+            <key> <string>template</string> </key>
+            <value>
+              <object>
+                <klass>
+                  <global name="__newobj__" module="copy_reg"/>
+                </klass>
+                <tuple>
+                  <global name="SQL" module="Shared.DC.ZRDB.DA"/>
+                </tuple>
+                <state>
+                  <dictionary>
+                    <item>
+                        <key> <string>__name__</string> </key>
+                        <value> <string encoding="cdata"><![CDATA[
+
+<string>
+
+]]></string> </value>
+                    </item>
+                    <item>
+                        <key> <string>_vars</string> </key>
+                        <value>
+                          <dictionary/>
+                        </value>
+                    </item>
+                    <item>
+                        <key> <string>globals</string> </key>
+                        <value>
+                          <dictionary/>
+                        </value>
+                    </item>
+                    <item>
+                        <key> <string>raw</string> </key>
+                        <value> <string encoding="cdata"><![CDATA[
+
+SELECT\n
+<dtml-if expr="precision is not None">\n
+  SUM(ROUND(<dtml-var stock_table_id>.quantity, <dtml-var precision>)) AS inventory,\n
+  SUM(ROUND(<dtml-var stock_table_id>.quantity, <dtml-var precision>)) AS total_quantity,\n
+  SUM(ROUND(<dtml-var stock_table_id>.total_price, <dtml-var precision>)) AS total_price\n
+<dtml-else>\n
+  SUM(<dtml-var stock_table_id>.quantity) AS inventory,\n
+  SUM(<dtml-var stock_table_id>.quantity) AS total_quantity,\n
+  SUM(<dtml-var stock_table_id>.total_price) AS total_price\n
+</dtml-if>\n
+<dtml-if inventory_list>\n
+  ,node.title AS node_title,\n
+  node.uid AS node_uid,\n
+  node.relative_url AS node_relative_url,\n
+  section.title AS section_title,\n
+  section.uid AS section_uid,\n
+  section.relative_url AS section_relative_url,\n
+  resource.title AS resource_title,\n
+  resource.relative_url AS resource_relative_url,\n
+  <dtml-var stock_table_id>.variation_text AS variation_text,\n
+  <dtml-var stock_table_id>.sub_variation_text AS sub_variation_text,\n
+  <dtml-var stock_table_id>.resource_uid AS resource_uid,\n
+  <dtml-var stock_table_id>.uid AS stock_uid,\n
+  <dtml-var stock_table_id>.date as date,\n
+  <dtml-var stock_table_id>.simulation_state as simulation_state,\n
+  <dtml-var stock_table_id>.mirror_section_uid as mirror_section_uid,\n
+  <dtml-var stock_table_id>.payment_uid as payment_uid,\n
+  <dtml-var stock_table_id>.mirror_node_uid as mirror_node_uid,\n
+  <dtml-if expr="stock_table_id == \'stock\'"> \n
+    <dtml-var stock_table_id>.explanation_uid as explanation_uid,\n
+  </dtml-if>\n
+  catalog.path as path\n
+</dtml-if>\n
+<dtml-if statistic>\n
+  ,\n
+  COUNT(DISTINCT node.title) AS node_title,\n
+  COUNT(DISTINCT node.relative_url) AS node_relative_url,\n
+  COUNT(DISTINCT section.title) AS section_title,\n
+  COUNT(DISTINCT section.relative_url) AS section_relative_url,\n
+  COUNT(DISTINCT resource.title) AS resource_title,\n
+  COUNT(DISTINCT resource.relative_url) AS resource_relative_url,\n
+  COUNT(DISTINCT <dtml-var stock_table_id>.variation_text) AS variation_text,\n
+  MAX(<dtml-var stock_table_id>.resource_uid) AS resource_uid,\n
+  COUNT(DISTINCT <dtml-var stock_table_id>.uid) AS stock_uid,\n
+  MAX(<dtml-var stock_table_id>.date) AS date\n
+</dtml-if>\n
+\n
+\n
+FROM\n
+  <dtml-var stock_table_id> <dtml-if node_index> use index(node_resource_variation_state_date)</dtml-if><dtml-if payment_index>use index(resource_payment_state_date)</dtml-if>\n
+  <dtml-if section_filtered> INNER <dtml-else> LEFT </dtml-if>  \n
+       JOIN catalog AS section ON (section.uid = <dtml-var stock_table_id>.section_uid)\n
+<dtml-in prefix="table" expr="from_table_list"> \n
+  <dtml-if expr="table_key != stock_table_id">\n
+  , <dtml-var table_item> AS <dtml-var table_key>\n
+  </dtml-if>\n
+</dtml-in>\n
+  <dtml-if selection_domain>, <dtml-var "portal_selections.buildSQLJoinExpressionFromDomainSelection(selection_domain)"> </dtml-if>\n
+  <dtml-if selection_report>, <dtml-var "portal_selections.buildSQLJoinExpressionFromDomainSelection(selection_report)"> </dtml-if>\n
+  , catalog as node, catalog as resource\n
+\n
+WHERE\n
+  1 = 1\n
+<dtml-if where_expression>\n
+  AND <dtml-var where_expression>\n
+</dtml-if>\n
+\n
+  AND node.uid = <dtml-var stock_table_id>.node_uid\n
+  AND resource.uid = <dtml-var stock_table_id>.resource_uid\n
+\n
+<dtml-if omit_simulation>\n
+  AND catalog.portal_type != \'Simulation Movement\'\n
+</dtml-if>\n
+\n
+<dtml-if selection_domain>\n
+  AND <dtml-var "portal_selections.buildSQLExpressionFromDomainSelection(selection_domain, join_table=stock_table_id, join_column=\'node_uid\')">\n
+</dtml-if>\n
+<dtml-if selection_report>\n
+  AND <dtml-var "portal_selections.buildSQLExpressionFromDomainSelection(selection_report, strict_membership=1)">\n
+</dtml-if>\n
+<dtml-if group_by_expression>\n
+GROUP BY\n
+    <dtml-var group_by_expression>\n
+</dtml-if>\n
+<dtml-if order_by_expression>\n
+ORDER BY\n
+  <dtml-var order_by_expression>\n
+</dtml-if>\n
+
+
+]]></string> </value>
+                    </item>
+                  </dictionary>
+                </state>
+              </object>
+            </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string></string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_banking_core/bt/revision b/bt5/erp5_banking_core/bt/revision
index 9b5dddac7e..135b797b48 100644
--- a/bt5/erp5_banking_core/bt/revision
+++ b/bt5/erp5_banking_core/bt/revision
@@ -1 +1 @@
-541
+542
-- 
2.30.9


From 8fa51da51212897c0618ad7bd9932d5e3f4191cd Mon Sep 17 00:00:00 2001
From: Ivan Tyagov <ivan@nexedi.com>
Date: Thu, 29 Jul 2010 13:12:03 +0000
Subject: [PATCH 198/270] Bottom listbox actions should be placed in seperate
 containers.

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@37366 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 .../erp5_km_theme/ListBox_asHTML.xml          | 208 +++++++++---------
 .../erp5_km_theme/km_css/listbox.css.xml      |  10 +-
 bt5/erp5_km/bt/revision                       |   2 +-
 3 files changed, 115 insertions(+), 105 deletions(-)

diff --git a/bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km_theme/ListBox_asHTML.xml b/bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km_theme/ListBox_asHTML.xml
index 895fb7d547..f1fd6882f9 100644
--- a/bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km_theme/ListBox_asHTML.xml
+++ b/bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km_theme/ListBox_asHTML.xml
@@ -96,8 +96,8 @@
                            global box_id python: \'visual_%s\' %box_relative_url.split(\'/\')[-1];\n
                            global dom_id python: request.get(\'dom_id\',None) or box_id;">\n
       <input tal:condition="python:form_id" \n
-            type="hidden" name="gadget_form_id"\n
-            tal:attributes="value form_id" />\n
+             type="hidden" name="gadget_form_id"\n
+             tal:attributes="value form_id" />\n
     </tal:block>\n
   </tal:block>\n
 \n
@@ -123,11 +123,11 @@
         </select>\n
 \n
         <!-- Domain node contents -->\n
-        <table id="listbox-domain-tree-table" \n
+        <table id="listbox-table-domain-tree" \n
                cellpadding="0"\n
                summary="This table contains the domain tree"\n
-               class="listbox_domain_tree_table"\n
-               tal:attributes="id string:${field_id}-domain-tree-table"\n
+               class="listbox-table-domain-tree"\n
+               tal:attributes="id string:${field_id}-table-domain-tree"\n
                tal:define="report_tree_list python: here.makeReportTreeList(report_path = selected_domain_path, unfolded_list = selection.getDomainList(), is_report_opened = False, sort_on=((\'int_index\', \'ASC\'),));\n
                            total_depth python: max([report_tree.depth for report_tree in report_tree_list] + [-1])">\n
           <tr tal:repeat="report_tree report_tree_list">\n
@@ -135,18 +135,16 @@
               <td width="12" nowrap="nowrap">&nbsp;</td>\n
             </tal:block>\n
             <td colspan="1" \n
-                class="domain-tree-table-cell"\n
+                class="listbox-table-domain-tree-cell"\n
                 tal:attributes="colspan python: total_depth - report_tree.depth + 1">\n
-              <a href="method" class="tree_open"\n
+              <a href="method" class="tree_open selected"\n
                  tal:condition="report_tree/is_open"\n
-                 tal:attributes="href string:foldDomain?domain_url=${report_tree/domain_url}&form_id=${form_id}&list_selection_name=${selection_name}&domain_depth:int=${report_tree/depth}">\n
-                <b tal:content="report_tree/obj/getCompactTranslatedTitle">Domain</b>\n
-              </a>\n
+                 tal:attributes="href string:foldDomain?domain_url=${report_tree/domain_url}&form_id=${form_id}&list_selection_name=${selection_name}&domain_depth:int=${report_tree/depth}"\n
+                 tal:content="report_tree/obj/getCompactTranslatedTitle"/>\n
               <a href="method" class="tree_closed"\n
                  tal:condition="not: report_tree/is_open"\n
-                 tal:attributes="href string:unfoldDomain?domain_url=${report_tree/domain_url}&form_id=${form_id}&list_selection_name=${selection_name}&domain_depth:int=${report_tree/depth}">\n
-                 <tal:block tal:content="report_tree/obj/getCompactTranslatedTitle">Domain</tal:block>\n
-              </a>\n
+                 tal:attributes="href string:unfoldDomain?domain_url=${report_tree/domain_url}&form_id=${form_id}&list_selection_name=${selection_name}&domain_depth:int=${report_tree/depth}"\n
+                 tal:content="report_tree/obj/getCompactTranslatedTitle"/>\n
             </td>\n
           </tr>\n
         </table>\n
@@ -220,7 +218,7 @@
                                        title      python: value[1];\n
                                        sort_order python: value[2]">\n
 \n
-                <th tal:condition="sql" class="listbox-table-header-cell">                 \n
+                  <th tal:condition="sql" class="listbox-table-header-cell">                 \n
                     <!-- Button in normal view -->\n
                     <button tal:define="\n
                           bt_class python:  sort_order==\'ascending\' and \'sort_button sort_button_asc\' \n
@@ -272,11 +270,13 @@
                                 index python: selection_index is not None and \'&amp;selection_index=%s\' % selection_index or \'\';\n
                                 is_report_opened python: int(not here.getSelection().isReportOpened());\n
                                 requested_selection_name here/getRequestedSelectionName;\n
-                                url here/getUrl">\n
+                                url here/getUrl;\n
+                                report_depth python: selection.getParams().get(\'report_depth\', request.get(\'report_depth\', 0))">\n
                   <tal:block tal:repeat="i python: range(0, 6)">&nbsp;\n
                     <a href="?selection_name=default&amp;selection_index=0&amp;report_depth:int=0"\n
-                              tal:attributes="href string:${url}?selection_name=${requested_selection_name}${index}&amp;report_depth:int=${i}"\n
-                              tal:content="i">0</a>\n
+                       tal:attributes="href string:${url}?selection_name=${requested_selection_name}${index}&amp;report_depth:int=${i};\n
+                                       class python: test(i==report_depth, \'selected\', \'\');"\n
+                       tal:content="i"/>\n
                   </tal:block>&nbsp;-&nbsp;\n
                   <a \n
                     href="?selection_name=default&amp;selection_index=0&amp;is_report_opened:int=0"\n
@@ -290,7 +290,7 @@
               <th class="listbox-table-anchor-cell" tal:condition="show_anchor_column">&nbsp;</th>\n
 \n
               <!--Select cell -->\n
-              <th tal:condition="python: show_select_column"\n
+              <th tal:condition="show_select_column"\n
                   class="listbox-table-select-cell">\n
                 <input id="listbox_select" type="image"\n
                       title="Action" alt="Action" name="Base_doSelect:method"\n
@@ -298,11 +298,13 @@
                                       src string:${portal_url_string}/images/exec16.png"\n
                       i18n:domain="ui" i18n:attributes="title" />\n
               </th>\n
-              <!-- Real search columns -->\n
-              <th tal:repeat="value here/getSearchValueList">\n
+\n
+              <!-- Real search columns headers -->\n
+              <th class="listbox-table-filter-cell"\n
+                  tal:repeat="value here/getSearchValueList">\n
                 <tal:block tal:define="alias        python: value[0];\n
-                                         param        python: value[1];\n
-                                         search_field python: value[2]"\n
+                                       param        python: value[1];\n
+                                       search_field python: value[2]"\n
                              tal:condition="alias">\n
                   <!-- Render search field -->\n
                   <tal:block tal:condition="python: search_field is not None"\n
@@ -326,18 +328,20 @@
           </thead>\n
 \n
           <tbody>\n
+\n
             <!-- Render listbox data-->\n
             <tal:block tal:condition="line_list"\n
                        tal:define="checked_uid_set here/getCheckedUidSet">\n
             <tr tal:repeat="line line_list"              \n
                 tal:attributes="\n
-                id string:${field_id}_data_line_${repeat/line/index};\n
-                class python: line.getRowCSSClassName() or test(repeat[\'line\'].index % 2, \'DataB\', \'DataA\');">\n
+                  id string:${field_id}-data-line-${repeat/line/index};\n
+                  class python: line.getRowCSSClassName() or test(repeat[\'line\'].index % 2, \'DataB\', \'DataA\');">\n
               \n
               <tal:block tal:define="render_result line/render">\n
 \n
                   <!--Report tree column -->\n
-                  <td tal:condition="is_report_tree_mode" align="left" valign="middle"                   \n
+                  <td tal:condition="is_report_tree_mode"\n
+                      class="listbox-table-report-tree-selection-cell"                   \n
                       tal:define="section_name python: line.getDomainTitle()">\n
                     <a  tal:condition="section_name"\n
                         tal:define="method_id python: line.isOpen() and \'foldReport\' or \'unfoldReport\'"\n
@@ -408,8 +412,8 @@
               id="listbox_stat_line" class="listbox_stat_line"\n
               tal:attributes="id string:${field_id}_stat_line">\n
               <td tal:condition="is_report_tree_mode" >&nbsp;</td>\n
-              <td class="AnchorColumn" tal:condition="show_anchor_column">&nbsp;</td>\n
-              <td tal:condition="show_select_column">&nbsp;</td>\n
+              <td class="listbox-table-anchor-cell" tal:condition="show_anchor_column">&nbsp;</td>\n
+              <td class="listbox-table-select-cell" tal:condition="show_select_column">&nbsp;</td>\n
               <tal:block tal:repeat="value here/getStatValueList">\n
                 <td align="left"\n
                   tal:define="original_value python: value[0]; processed_value python: value[1]"\n
@@ -424,81 +428,89 @@
 \n
     <div class="listbox-footer">\n
       \n
-      <div class="listbox-footer-box">\n
-        <!-- List mode choice -->\n
-        <div tal:condition="python: not is_gadget_mode and (is_domain_tree_supported or is_report_tree_supported)"\n
-             class="listbox-tree-mode-selection">\n
-\n
-          <input tal:condition="python: is_domain_tree_supported or is_report_tree_supported"\n
-                 type="image" \n
-                 class="listbox-tree-flat-list-mode"\n
-                 title="Flat List" \n
-                 name="setFlatListMode:method"\n
-                 value="1" \n
-                 alt="Flat List"\n
-                 tal:attributes="src string:${portal_url_string}/images/text_block.png;"\n
-                 i18n:domain="ui" i18n:attributes="title alt" />\n
-          <input tal:condition="python: not is_gadget_mode and is_report_tree_supported"\n
-                 type="image" \n
-                 class="listbox-tree-report-tree-mode"\n
-                 title="Report Tree" \n
-                 name="setReportTreeMode:method"\n
-                 value="1" \n
-                 alt="Report Tree"\n
-                 tal:attributes="src string:${portal_url_string}/images/view_tree.png;"\n
-                 i18n:domain="ui" i18n:attributes="title alt" />\n
-          <input tal:condition="python: not is_gadget_mode and is_domain_tree_supported"\n
-                 type="image" \n
-                 class="listbox-tree-domain-tree-mode"\n
-                 title="Domain Tree" \n
-                 name="setDomainTreeMode:method"\n
-                 value="1" \n
-                 alt="Domain Tree"\n
-                 tal:attributes="src string:${portal_url_string}/images/view_choose.png;"\n
-                 i18n:domain="ui" i18n:attributes="title alt" />\n
-        </div>\n
+      <!-- List mode choice -->\n
+      <div class="listbox-footer-box listbox-tree-mode-selection"\n
+           tal:condition="python: not is_gadget_mode and (is_domain_tree_supported or is_report_tree_supported)">\n
+        <!-- Flat List -->\n
+        <input tal:condition="python: is_domain_tree_supported or is_report_tree_supported"\n
+               type="image" \n
+               class="listbox-tree-flat-list-mode"\n
+               title="Flat List" \n
+               name="setFlatListMode:method"\n
+               value="1" \n
+               alt="Flat List"\n
+               tal:attributes="src string:${portal_url_string}/images/text_block.png;"\n
+               i18n:domain="ui" i18n:attributes="title alt" />\n
+\n
+        <!-- Report Tree -->\n
+        <input tal:condition="python: not is_gadget_mode and is_report_tree_supported"\n
+               type="image" \n
+               class="listbox-tree-report-tree-mode"\n
+               title="Report Tree" \n
+               name="setReportTreeMode:method"\n
+               value="1" \n
+               alt="Report Tree"\n
+               tal:attributes="src string:${portal_url_string}/images/view_tree.png;"\n
+               i18n:domain="ui" i18n:attributes="title alt" />\n
+\n
+        <!-- Domain Tree -->\n
+        <input tal:condition="python: not is_gadget_mode and is_domain_tree_supported"\n
+               type="image" \n
+               class="listbox-tree-domain-tree-mode"\n
+               title="Domain Tree" \n
+               name="setDomainTreeMode:method"\n
+               value="1" \n
+               alt="Domain Tree"\n
+               tal:attributes="src string:${portal_url_string}/images/view_choose.png;"\n
+               i18n:domain="ui" i18n:attributes="title alt" />\n
+      </div>\n
+ \n
+      <!-- List display mode -->\n
+      <div class="listbox-footer-box listbox-list-style-selection"\n
+           tal:condition="python: len(display_style_list) > 0">\n
+\n
+        <span i18n:translate="" i18n:domain="ui">Display:</span>\n
+        <ul>\n
+          <li tal:repeat="style display_style_list">\n
+            <a tal:attributes="href python: \'%s?list_style=%s\' % (listbox_url, style[0]);\n
+                               class python: test(style[0]==list_style, \'selected\',\'\');"\n
+               tal:content="python: style[1]"\n
+               i18n:translate="" i18n:domain="ui"/>\n
+          </li>\n
+        </ul>\n
 \n
-        <!-- List display mode -->\n
-        <div tal:condition="python: len(display_style_list) > 0"\n
-             class="listbox-list-style-selection">\n
-          <span i18n:translate="" i18n:domain="ui">Display:</span>\n
-          <ul>\n
-            <li tal:repeat="style display_style_list">\n
-              <a tal:attributes="href python: \'%s?list_style=%s\' % (listbox_url, style[0]);\n
-                                 class python: test(style[0]==list_style, \'selected\',\'\');"\n
-                 tal:content="python: style[1]"\n
-                 i18n:translate="" i18n:domain="ui"/>\n
-            </li>\n
-          </ul>\n
-        </div>\n
+      </div>\n
 \n
-        <!-- Full text search -->\n
-        <div tal:define="search_text real_context/Base_getSearchText"\n
-             tal:condition="show_full_text" \n
-             class="listbox-full-text-search">\n
-          <tal:block tal:condition="not: is_gadget_mode">\n
-            <!-- Normal mode -->\n
-            <input type="text"\n
-                   tal:attributes="value search_text;\n
-                                   name full_text_search_key;\n
-                                   onkeypress string: submitFormOnEnter(event, this.form, \'${full_text_search_key_script}\');"/>\n
-              <input class="button" \n
-                     i18n:domain="ui" i18n:attributes="value"\n
-                     value="Search"  type="submit" \n
-                     tal:attributes="name string:${full_text_search_key_script}:method"/>\n
-          </tal:block>\n
-          <tal:block tal:condition="is_gadget_mode">\n
-            <!-- Gadget mode -->\n
-            <input tal:define="params python: {\'%s:method\' %full_text_search_key_script:\'\',\'%s\' %full_text_search_key:\'this.value\'};"\n
-                   type="text"\n
-                   tal:attributes=\'value search_text;\n
-                                   name full_text_search_key;\n
-                                   onkeypress python:"if(event.keyCode==13){" + real_context.KnowledgePad_generateAjaxCall(context_url+"/"+form_id,box,box_id,params).replace("\\"this.value\\"","this.value")+ "return false;;}"\'/>\n
-          </tal:block>\n
-        </div>    \n
+      <!-- Full text search -->\n
+      <div class="listbox-footer-box listbox-full-text-search"\n
+           tal:condition="show_full_text"\n
+           tal:define="search_text real_context/Base_getSearchText">\n
+\n
+        <tal:block tal:condition="not: is_gadget_mode">\n
+          <!-- Normal mode -->\n
+          <input type="text"\n
+                 tal:attributes="value search_text;\n
+                                 name full_text_search_key;\n
+                                 onkeypress string: submitFormOnEnter(event, this.form, \'${full_text_search_key_script}\');"/>\n
+            <input class="button" \n
+                   i18n:domain="ui" i18n:attributes="value"\n
+                   value="Search"  type="submit" \n
+                   tal:attributes="name string:${full_text_search_key_script}:method"/>\n
+        </tal:block>\n
+        <tal:block tal:condition="is_gadget_mode">\n
+          <!-- Gadget mode -->\n
+          <input tal:define="params python: {\'%s:method\' %full_text_search_key_script:\'\',\'%s\' %full_text_search_key:\'this.value\'};"\n
+                 type="text"\n
+                 tal:attributes=\'value search_text;\n
+                                 name full_text_search_key;\n
+                                 onkeypress python:"if(event.keyCode==13){" + real_context.KnowledgePad_generateAjaxCall(context_url+"/"+form_id,box,box_id,params).replace("\\"this.value\\"","this.value")+ "return false;;}"\'/>\n
+        </tal:block>\n
+    \n
       </div>\n
 \n
-      <!--Page pagination -->\n
+      <!--Page pagination \n
+          XXX: make use of page_navigation_mode to show respective navigation.\n
+      -->\n
       <div class="listbox-footer-box listbox-page-navigation"\n
            tal:condition="need_pagination">\n
         <div class="pageNavigation">\n
diff --git a/bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km_theme/km_css/listbox.css.xml b/bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km_theme/km_css/listbox.css.xml
index a49e3a3948..4323370864 100644
--- a/bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km_theme/km_css/listbox.css.xml
+++ b/bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km_theme/km_css/listbox.css.xml
@@ -205,16 +205,12 @@ div.listbox-tree-mode-selection input{\n
   width: auto;\n
 }\n
 \n
-.listbox-table-anchor-cell, .listbox-table-select-cell {\n
-  text-align: center; \n
-  vertical-align: middle;\n
-}\n
 \n
 th.listbox-table-report-tree-selection-cell{\n
   width: 50px; \n
 }\n
 \n
-td.domain-tree-table-cell{\n
+td.listbox-table-domain-tree-cell{\n
   text-align: left; \n
   vertical-align: top; \n
   white-space: nowrap;\n
@@ -260,7 +256,9 @@ div.listbox-list-style-selection ul{\n
 div.listbox-list-style-selection li{\n
   display: inline;\n
 }\n
-div.listbox-list-style-selection li a.selected{\n
+div.listbox-list-style-selection li a.selected,\n
+.listbox-table-report-tree-selection-cell a.selected,\n
+.listbox-table-domain-tree-cell a.selected{\n
   font-weight: bold;\n
 }\n
 \n
diff --git a/bt5/erp5_km/bt/revision b/bt5/erp5_km/bt/revision
index 6005e30972..cb2ddd852a 100644
--- a/bt5/erp5_km/bt/revision
+++ b/bt5/erp5_km/bt/revision
@@ -1 +1 @@
-1502
\ No newline at end of file
+1503
\ No newline at end of file
-- 
2.30.9


From f15239070576e43033f892a8d392d3b62f8f8c66 Mon Sep 17 00:00:00 2001
From: Vincent Pelletier <vincent@nexedi.com>
Date: Thu, 29 Jul 2010 13:19:27 +0000
Subject: [PATCH 199/270] bin/buildout must also be invoked with "python -S".

Note: this is an imperfect workaround for broken site packages.
A broken python install would not be avoided by this.

A better fix would be to include a python build in buildout bootstrap
process, so rest of processing becomes independent from site's python
installation.


git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@37367 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 buildout/README-2.12.txt | 8 ++++----
 buildout/README.txt      | 6 +++---
 2 files changed, 7 insertions(+), 7 deletions(-)

diff --git a/buildout/README-2.12.txt b/buildout/README-2.12.txt
index a067fbd9ff..493c4f9810 100644
--- a/buildout/README-2.12.txt
+++ b/buildout/README-2.12.txt
@@ -38,7 +38,7 @@ Run the Zope 2.12 buildout:
 
   $ cd ~/erp5.buildout
   $ python2.6 -S bootstrap/bootstrap.py -v 1.4.3
-  $ bin/buildout -v -c buildout-2.12.cfg
+  $ python2.6 -S bin/buildout -v -c buildout-2.12.cfg
 
 This will download and install the software components needed to run ERP5 on
 Zope 2.12 including Zope 2.12 plus dependencies (including
@@ -54,7 +54,7 @@ Each software component in this buildout might require some system
 dependencies, including development libraries and executables.
 To query what is required for all components, please run:
 
-  $ bin/buildout install show-requirements
+  $ python2.6 -S bin/buildout install show-requirements
 
 Minimal requirements
 --------------------
@@ -120,7 +120,7 @@ parts =
   supervisor-instance
 ^D
 $ ~/erp5.buildout/bin/bootstrap2.6      # 4
-$ bin/buildout -ov                      # 5
+$ python2.6 -S bin/buildout -ov         # 5
 
 Notice how we managed to run buildout in "offline-mode" (-o). The software-home
 configuration (along with the 'extends-cache' in the 'instance-profiles'
@@ -142,7 +142,7 @@ $ $EDITOR buildout.cfg                  # 7
 
 Then run buildout again to finish the configuration
 
-$ bin/buildout -ov                      # 8
+$ python2.6 -S bin/buildout -ov         # 8
 
 Now a fully configured development instance will be available in the directory
 "var/development-instance", so you can do:
diff --git a/buildout/README.txt b/buildout/README.txt
index 4f114e96bc..5b9dc20020 100644
--- a/buildout/README.txt
+++ b/buildout/README.txt
@@ -108,11 +108,11 @@ parts =
 software_home = /home/MYUSER/erp5.buildout
 ^D
 $ ~/erp5.buildout/bin/python2.4 bootstrap/bootstrap.py -c my_instances.cfg
-$ bin/buildout -c my_instances.cfg
+$ python -S bin/buildout -c my_instances.cfg
 $ var/bin/supervisord # it will start supervisor and configured software
 $ $EDITOR my_instances.cfg
 # add "runUnitTest" and "development-site" to parts
-$ bin/buildout -c my_instances.cfg
+$ python -S bin/buildout -c my_instances.cfg
 
 Fully configured development instance will be available in var/development-site.
 
@@ -129,7 +129,7 @@ $ cd software
 $ echo '[buildout]' >> buildout.cfg
 $ echo 'extends = https://svn.erp5.org/repos/public/erp5/trunk/buildout/buildout.cfg' >> buildout.cfg
 $ wget -qO - http://svn.zope.org/*checkout*/zc.buildout/trunk/bootstrap/bootstrap.py | python -S -
-$ bin/buildout
+$ python -S bin/buildout
 
 Note on -S: this switch is overridden by PYTHON_PATH environment variable. In
 doubt, unset it before invoking that command.
-- 
2.30.9


From 8dbf1309b4acf204e5b386b8578f3376d063004f Mon Sep 17 00:00:00 2001
From: Kazuhiko Shiozaki <kazuhiko@nexedi.com>
Date: Thu, 29 Jul 2010 15:00:54 +0000
Subject: [PATCH 200/270] use Equivalence Tester instead of Divergence Tester.

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@37368 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 .../portal_skins/erp5_simulation/Rule_view/listbox.xml        | 4 ++--
 bt5/erp5_simulation/bt/revision                               | 2 +-
 2 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/bt5/erp5_simulation/SkinTemplateItem/portal_skins/erp5_simulation/Rule_view/listbox.xml b/bt5/erp5_simulation/SkinTemplateItem/portal_skins/erp5_simulation/Rule_view/listbox.xml
index 80ddebbf50..2db6ad3170 100644
--- a/bt5/erp5_simulation/SkinTemplateItem/portal_skins/erp5_simulation/Rule_view/listbox.xml
+++ b/bt5/erp5_simulation/SkinTemplateItem/portal_skins/erp5_simulation/Rule_view/listbox.xml
@@ -154,7 +154,7 @@
                 </item>
                 <item>
                     <key> <string>selection_name</string> </key>
-                    <value> <string>divergence_tester_selection</string> </value>
+                    <value> <string>equivalence_tester_selection</string> </value>
                 </item>
                 <item>
                     <key> <string>target</string> </key>
@@ -162,7 +162,7 @@
                 </item>
                 <item>
                     <key> <string>title</string> </key>
-                    <value> <string>Divergence Testers</string> </value>
+                    <value> <string>Equivalence Testers</string> </value>
                 </item>
               </dictionary>
             </value>
diff --git a/bt5/erp5_simulation/bt/revision b/bt5/erp5_simulation/bt/revision
index dd1ec209f3..af2132305d 100644
--- a/bt5/erp5_simulation/bt/revision
+++ b/bt5/erp5_simulation/bt/revision
@@ -1 +1 @@
-132
\ No newline at end of file
+133
\ No newline at end of file
-- 
2.30.9


From 2a7a4db35a612ce5dd03d366361ace03fa05cd32 Mon Sep 17 00:00:00 2001
From: Rafael Monnerat <rafael@nexedi.com>
Date: Thu, 29 Jul 2010 20:56:16 +0000
Subject: [PATCH 201/270] Allow define custom openoffice port range.

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@37369 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 buildout/instance-profiles/oood.cfg | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/buildout/instance-profiles/oood.cfg b/buildout/instance-profiles/oood.cfg
index bca6861b28..ef79428bfa 100644
--- a/buildout/instance-profiles/oood.cfg
+++ b/buildout/instance-profiles/oood.cfg
@@ -24,7 +24,7 @@ oood_tmp = ${:oood_run}
 oood_host = 127.0.0.1
 oood_port = ${configuration:oood_port}
 oood_pool_host = localhost
-oood_pool_range_start = 4060
+oood_pool_range_start = ${configuration:oood_pool_range_start}
 oood_instance_load_time = 20
 oood_instance_timeout = 360
 oood_virtual_display_id = 99
@@ -34,6 +34,7 @@ oood_log_file = ${buildout:log-directory}/oood.log
 
 [configuration]
 oood_port = 8008
+oood_pool_range_start = 4060
 
 [oood-directories]
 recipe = plone.recipe.command
-- 
2.30.9


From e5c1b163159f70d4d89afdf9be4fd14260342b9c Mon Sep 17 00:00:00 2001
From: Ivan Tyagov <ivan@nexedi.com>
Date: Fri, 30 Jul 2010 06:40:12 +0000
Subject: [PATCH 202/270] Make sort buttons work in gadget mode as well. CSS
 cleanup & generalization.

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@37370 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 .../erp5_km_theme/ListBox_asHTML.xml          | 41 +++++------
 .../erp5_km_theme/km_css/listbox.css.xml      | 71 ++++++++++---------
 bt5/erp5_km/bt/revision                       |  2 +-
 3 files changed, 57 insertions(+), 57 deletions(-)

diff --git a/bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km_theme/ListBox_asHTML.xml b/bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km_theme/ListBox_asHTML.xml
index f1fd6882f9..20a5b7e248 100644
--- a/bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km_theme/ListBox_asHTML.xml
+++ b/bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km_theme/ListBox_asHTML.xml
@@ -137,11 +137,11 @@
             <td colspan="1" \n
                 class="listbox-table-domain-tree-cell"\n
                 tal:attributes="colspan python: total_depth - report_tree.depth + 1">\n
-              <a href="method" class="tree_open selected"\n
+              <a href="method" class="tree-open selected"\n
                  tal:condition="report_tree/is_open"\n
                  tal:attributes="href string:foldDomain?domain_url=${report_tree/domain_url}&form_id=${form_id}&list_selection_name=${selection_name}&domain_depth:int=${report_tree/depth}"\n
                  tal:content="report_tree/obj/getCompactTranslatedTitle"/>\n
-              <a href="method" class="tree_closed"\n
+              <a href="method" class="tree-closed"\n
                  tal:condition="not: report_tree/is_open"\n
                  tal:attributes="href string:unfoldDomain?domain_url=${report_tree/domain_url}&form_id=${form_id}&list_selection_name=${selection_name}&domain_depth:int=${report_tree/depth}"\n
                  tal:content="report_tree/obj/getCompactTranslatedTitle"/>\n
@@ -218,32 +218,29 @@
                                        title      python: value[1];\n
                                        sort_order python: value[2]">\n
 \n
-                  <th tal:condition="sql" class="listbox-table-header-cell">                 \n
+                  <th tal:condition="sql" class="listbox-table-header-cell"\n
+                      tal:define="bt_class python:  sort_order==\'ascending\' and \'sort-button sort-button-asc\' \n
+                                  or sort_order == \'descending\' and \'sort-button sort-button-desc\' \n
+                                  or \'sort-button\'">                 \n
                     <!-- Button in normal view -->\n
-                    <button tal:define="\n
-                          bt_class python:  sort_order==\'ascending\' and \'sort_button sort_button_asc\' \n
-                          or sort_order == \'descending\' and \'sort_button sort_button_desc\' \n
-                          or \'sort_button\'"\n
-                          tal:condition="not:is_gadget_mode" \n
-                          type="submit"\n
-                          name="setSelectionQuickSortOrder:method"\n
-                          tal:attributes="title string:${title}; \n
-                                          value string:${field_id}.${sql};\n
-                                          class bt_class;"\n
-                          i18n:domain="ui" i18n:attributes="title">\n
-                      <span tal:content="title" i18n:domain="ui" i18n:translate=""/>\n
-                    </button>\n
+                    <button tal:condition="not:is_gadget_mode" \n
+                            type="submit"\n
+                            name="setSelectionQuickSortOrder:method"\n
+                            tal:content="title"\n
+                            tal:attributes="title string:${title}; \n
+                                            value string:${field_id}.${sql};\n
+                                            class bt_class;"\n
+                            i18n:domain="ui" i18n:attributes="title" />\n
 \n
                     <!-- Button in gadget mode -->\n
                     <button tal:condition="is_gadget_mode" \n
                             tal:define ="params python: {\'setSelectionQuickSortOrder:method\':field_id+\'.\'+sql};"\n
                             type="button"  \n
-                            class="sort_button"\n
+                            tal:content="title"\n
                             tal:attributes="title string:${title}; \n
-                                            onclick python: real_context.KnowledgePad_generateAjaxCall(context_url+\'/\'+form_id,box,dom_id,params);"\n
-                            i18n:domain="ui" i18n:attributes="title">\n
-                      <span tal:content="title" i18n:domain="ui" i18n:translate=""/>\n
-                    </button>\n
+                                            onclick python: real_context.KnowledgePad_generateAjaxCall(context_url+\'/\'+form_id,box,dom_id,params);\n
+                                            class bt_class;"\n
+                            i18n:domain="ui" i18n:attributes="title"/>\n
                   </th>\n
 \n
                   <th class="listbox-table-header-cell"\n
@@ -346,7 +343,7 @@
                     <a  tal:condition="section_name"\n
                         tal:define="method_id python: line.isOpen() and \'foldReport\' or \'unfoldReport\'"\n
                         tal:attributes="href string:${method_id}?report_url=${line/getDomainUrl}&amp;form_id=${form_id}&amp;list_selection_name=${selection_name};\n
-                                        class python:test(line.isOpen(), \'tree_open\', \'tree_closed\');\n
+                                        class python:test(line.isOpen(), \'tree-open\', \'tree-closed\');\n
                                         style python:\'white-space: nowrap;; margin-left: %spx\' % (line.getDepth() * 15)"\n
                         tal:content="section_name"/>\n
                   </td>\n
diff --git a/bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km_theme/km_css/listbox.css.xml b/bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km_theme/km_css/listbox.css.xml
index 4323370864..4fc9581556 100644
--- a/bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km_theme/km_css/listbox.css.xml
+++ b/bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km_theme/km_css/listbox.css.xml
@@ -153,7 +153,6 @@ div.search_popup{\n
   position:relative;\n
 }\n
 \n
-\n
 /*Define all button image*/\n
 <tal:block tal:define="buttons python: [\'cut\',\'copy\',\'paste\',\'delete\',\'print\',\'new\',\'reset\',\'filter\',\'find\',\'sort\',\'config\']">\n
 <tal:block tal:repeat ="button buttons">\n
@@ -167,7 +166,7 @@ div.search_popup{\n
 \n
 \n
 /*********************/\n
-/*   Listbox style   */\n
+/*   Listbox style (XXX: move to erp5.css)   */\n
 /*********************/\n
 div.listbox-container{\n
   width: 100%;\n
@@ -194,7 +193,6 @@ div.listbox-body{\n
   width:auto;\n
 }\n
 \n
-/* List mode selection*/\n
 div.listbox-tree-mode-selection{\n
   height: 22px;\n
   width: auto;\n
@@ -205,18 +203,10 @@ div.listbox-tree-mode-selection input{\n
   width: auto;\n
 }\n
 \n
-\n
 th.listbox-table-report-tree-selection-cell{\n
   width: 50px; \n
 }\n
 \n
-td.listbox-table-domain-tree-cell{\n
-  text-align: left; \n
-  vertical-align: top; \n
-  white-space: nowrap;\n
-}\n
-\n
-/*Footer block*/\n
 div.listbox-footer{\n
  background-color:#F0EFE9;\n
  float:left;\n
@@ -280,14 +270,6 @@ div.listbox-full-text-search input.button{\n
  width: auto;\n
 }\n
 \n
-div.resultList{\n
-  float:left;\n
-}\n
-div.searchResultHeader{\n
-  float:left;\n
-}\n
-\n
-\n
 /* Pagination*/\n
 div.listbox-page-navigation{\n
   width:auto;\n
@@ -300,12 +282,12 @@ div.listbox-page-navigation input{\n
 }\n
 \n
 /* Report tree */\n
-a.tree_closed {\n
+a.tree-closed {\n
   background:transparent url(\'./images/tree_closed.png\') no-repeat scroll left center;\n
   padding-left:15px;\n
 }\n
 \n
-a.tree_open {\n
+a.tree-open {\n
   background:transparent url(\'./images/tree_open.png\') no-repeat scroll left center;\n
   padding-left:15px;\n
 }\n
@@ -313,29 +295,50 @@ a.tree_open {\n
 div.listbox-tree select{\n
   max-width:120px;\n
 }\n
+\n
 /*Table Listbox elements */\n
-.listbox th {\n
+table.listbox{\n
+  border-collapse:collapse;\n
+  width:100%;\n
+}\n
+\n
+table.listbox th,\n
+table.listbox td {\n
   text-align:left;\n
   vertical-align: top;\n
 }\n
-.listbox-search-line, .listbox-label-line{\n
-  background-color: #F0EFE9;\n
-}\n
-.listbox-search-line th{\n
-  background-color: inherit;\n
-}\n
 \n
-.listbox select {\n
-  max-width: 145px;\n
+table.listbox th button{\n
+  border-width:0;\n
+  cursor:pointer;\n
+  float:left;\n
+  font-weight:bold;\n
+  padding:0 6px 0 0;\n
 }\n
 \n
-button.sort_button_desc{\n
+/* KM specific */\n
+table.listbox th button.sort-button {\n
+  background:transparent url("../km_img/switch.png") no-repeat scroll 100% 50%;\n
+}\n
+table.listbox th button.sort-button:hover{\n
+  color: #FFF;\n
+}\n
+table.listbox th button.sort-button-desc{\n
   background-image: url(\'./km_img/switch_desc.png\');\n
 }\n
-button.sort_button_asc{\n
+table.listbox th button.sort-button-asc{\n
   background-image: url(\'./km_img/switch_asc.png\');\n
 }\n
 \n
+/* KM specific */\n
+.listbox-search-line, .listbox-label-line{\n
+  background-color: #F0EFE9;\n
+}\n
+\n
+.listbox-search-line th{\n
+  background-color: inherit;\n
+}\n
+\n
 /* in search mode listbox may contain top/ bottom quick search inputs */\n
 div.search-text-listbox{\n
   text-align: center;\n
@@ -344,10 +347,10 @@ div.search-text-listbox{\n
   margin-bottom:0.5em;\n
   margin-top:0.5em;\n
 }\n
+\n
 div.search-text-listbox input{\n
   width: auto;\n
-}\n
-
+}
 
 ]]></string> </value>
         </item>
diff --git a/bt5/erp5_km/bt/revision b/bt5/erp5_km/bt/revision
index cb2ddd852a..f0cec364da 100644
--- a/bt5/erp5_km/bt/revision
+++ b/bt5/erp5_km/bt/revision
@@ -1 +1 @@
-1503
\ No newline at end of file
+1505
\ No newline at end of file
-- 
2.30.9


From 06ce8d040eb3e420d7f7e806072eb7b571b29458 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?J=C3=A9rome=20Perrin?= <jerome@nexedi.com>
Date: Fri, 30 Jul 2010 08:30:38 +0000
Subject: [PATCH 203/270] fix a few term used

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@37372 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 .../AccountingRuleCell_viewDestination.xml    |   1 -
 .../my_reference.xml                          |   2 +-
 .../my_source_reference.xml                   | 263 ------------------
 .../AccountingRuleCell_viewSource.xml         |   1 -
 .../my_reference.xml                          |   2 +-
 .../my_source_reference.xml                   | 263 ------------------
 .../my_destination_reference.xml              |   8 +-
 .../my_stop_date.xml                          |   6 +-
 .../my_reference.xml                          |   2 +-
 .../my_source_reference.xml                   |  12 +-
 .../my_source_section_title.xml               |   2 +-
 .../my_source_reference.xml                   |  12 +-
 .../my_start_date.xml                         |   8 +-
 .../BalanceTransaction_view/my_start_date.xml |   2 +-
 .../my_destination_reference.xml              |   6 +-
 .../my_destination_reference.xml              |   2 +-
 .../my_source_reference.xml                   |   6 +-
 .../my_destination_reference.xml              |   2 +-
 .../my_source_reference.xml                   |   6 +-
 bt5/erp5_accounting/bt/revision               |   2 +-
 20 files changed, 16 insertions(+), 592 deletions(-)
 delete mode 100644 bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountingRuleCell_viewDestination/my_source_reference.xml
 delete mode 100644 bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountingRuleCell_viewSource/my_source_reference.xml

diff --git a/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountingRuleCell_viewDestination.xml b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountingRuleCell_viewDestination.xml
index b6335f98c1..3873e69e7e 100644
--- a/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountingRuleCell_viewDestination.xml
+++ b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountingRuleCell_viewDestination.xml
@@ -94,7 +94,6 @@
                     <value>
                       <list>
                         <string>my_source_section</string>
-                        <string>my_source_reference</string>
                         <string>my_title</string>
                         <string>my_destination_section_title</string>
                         <string>my_reference</string>
diff --git a/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountingRuleCell_viewDestination/my_reference.xml b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountingRuleCell_viewDestination/my_reference.xml
index db14a6e9cf..8b86a1a528 100644
--- a/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountingRuleCell_viewDestination/my_reference.xml
+++ b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountingRuleCell_viewDestination/my_reference.xml
@@ -240,7 +240,7 @@
                 </item>
                 <item>
                     <key> <string>title</string> </key>
-                    <value> <string>Transaction Reference</string> </value>
+                    <value> <string>Document Reference</string> </value>
                 </item>
                 <item>
                     <key> <string>truncate</string> </key>
diff --git a/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountingRuleCell_viewDestination/my_source_reference.xml b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountingRuleCell_viewDestination/my_source_reference.xml
deleted file mode 100644
index 11b4388b88..0000000000
--- a/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountingRuleCell_viewDestination/my_source_reference.xml
+++ /dev/null
@@ -1,263 +0,0 @@
-<?xml version="1.0"?>
-<ZopeData>
-  <record id="1" aka="AAAAAAAAAAE=">
-    <pickle>
-      <tuple>
-        <global name="StringField" module="Products.Formulator.StandardFields"/>
-        <tuple/>
-      </tuple>
-    </pickle>
-    <pickle>
-      <dictionary>
-        <item>
-            <key> <string>id</string> </key>
-            <value> <string>my_source_reference</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>
-                <item>
-                    <key> <string>required_not_found</string> </key>
-                    <value> <string>Input is required but no input given.</string> </value>
-                </item>
-                <item>
-                    <key> <string>too_long</string> </key>
-                    <value> <string>Too much input was given.</string> </value>
-                </item>
-              </dictionary>
-            </value>
-        </item>
-        <item>
-            <key> <string>overrides</string> </key>
-            <value>
-              <dictionary>
-                <item>
-                    <key> <string>alternate_name</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>css_class</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>default</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>description</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>display_maxwidth</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>display_width</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>editable</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>enabled</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>external_validator</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>extra</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>hidden</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>max_length</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>required</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>title</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>truncate</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>unicode</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>whitespace_preserve</string> </key>
-                    <value> <string></string> </value>
-                </item>
-              </dictionary>
-            </value>
-        </item>
-        <item>
-            <key> <string>tales</string> </key>
-            <value>
-              <dictionary>
-                <item>
-                    <key> <string>alternate_name</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>css_class</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>default</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>description</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>display_maxwidth</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>display_width</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>editable</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>enabled</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>external_validator</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>extra</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>hidden</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>max_length</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>required</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>title</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>truncate</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>unicode</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>whitespace_preserve</string> </key>
-                    <value> <string></string> </value>
-                </item>
-              </dictionary>
-            </value>
-        </item>
-        <item>
-            <key> <string>values</string> </key>
-            <value>
-              <dictionary>
-                <item>
-                    <key> <string>alternate_name</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>css_class</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>default</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>description</string> </key>
-                    <value> <string>Reference of the buyer in the purchase transaction</string> </value>
-                </item>
-                <item>
-                    <key> <string>display_maxwidth</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>display_width</string> </key>
-                    <value> <int>20</int> </value>
-                </item>
-                <item>
-                    <key> <string>editable</string> </key>
-                    <value> <int>0</int> </value>
-                </item>
-                <item>
-                    <key> <string>enabled</string> </key>
-                    <value> <int>1</int> </value>
-                </item>
-                <item>
-                    <key> <string>external_validator</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>extra</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>hidden</string> </key>
-                    <value> <int>0</int> </value>
-                </item>
-                <item>
-                    <key> <string>max_length</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>required</string> </key>
-                    <value> <int>0</int> </value>
-                </item>
-                <item>
-                    <key> <string>title</string> </key>
-                    <value> <string>Section Transaction Reference</string> </value>
-                </item>
-                <item>
-                    <key> <string>truncate</string> </key>
-                    <value> <int>0</int> </value>
-                </item>
-                <item>
-                    <key> <string>unicode</string> </key>
-                    <value> <int>0</int> </value>
-                </item>
-                <item>
-                    <key> <string>whitespace_preserve</string> </key>
-                    <value> <int>0</int> </value>
-                </item>
-              </dictionary>
-            </value>
-        </item>
-      </dictionary>
-    </pickle>
-  </record>
-</ZopeData>
diff --git a/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountingRuleCell_viewSource.xml b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountingRuleCell_viewSource.xml
index 5961a3849a..9fd59b449c 100644
--- a/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountingRuleCell_viewSource.xml
+++ b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountingRuleCell_viewSource.xml
@@ -94,7 +94,6 @@
                     <value>
                       <list>
                         <string>my_source_section</string>
-                        <string>my_source_reference</string>
                         <string>my_title</string>
                         <string>my_destination_section_title</string>
                         <string>my_reference</string>
diff --git a/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountingRuleCell_viewSource/my_reference.xml b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountingRuleCell_viewSource/my_reference.xml
index db14a6e9cf..8b86a1a528 100644
--- a/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountingRuleCell_viewSource/my_reference.xml
+++ b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountingRuleCell_viewSource/my_reference.xml
@@ -240,7 +240,7 @@
                 </item>
                 <item>
                     <key> <string>title</string> </key>
-                    <value> <string>Transaction Reference</string> </value>
+                    <value> <string>Document Reference</string> </value>
                 </item>
                 <item>
                     <key> <string>truncate</string> </key>
diff --git a/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountingRuleCell_viewSource/my_source_reference.xml b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountingRuleCell_viewSource/my_source_reference.xml
deleted file mode 100644
index 0f4d8f110c..0000000000
--- a/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountingRuleCell_viewSource/my_source_reference.xml
+++ /dev/null
@@ -1,263 +0,0 @@
-<?xml version="1.0"?>
-<ZopeData>
-  <record id="1" aka="AAAAAAAAAAE=">
-    <pickle>
-      <tuple>
-        <global name="StringField" module="Products.Formulator.StandardFields"/>
-        <tuple/>
-      </tuple>
-    </pickle>
-    <pickle>
-      <dictionary>
-        <item>
-            <key> <string>id</string> </key>
-            <value> <string>my_source_reference</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>
-                <item>
-                    <key> <string>required_not_found</string> </key>
-                    <value> <string>Input is required but no input given.</string> </value>
-                </item>
-                <item>
-                    <key> <string>too_long</string> </key>
-                    <value> <string>Too much input was given.</string> </value>
-                </item>
-              </dictionary>
-            </value>
-        </item>
-        <item>
-            <key> <string>overrides</string> </key>
-            <value>
-              <dictionary>
-                <item>
-                    <key> <string>alternate_name</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>css_class</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>default</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>description</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>display_maxwidth</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>display_width</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>editable</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>enabled</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>external_validator</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>extra</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>hidden</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>max_length</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>required</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>title</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>truncate</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>unicode</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>whitespace_preserve</string> </key>
-                    <value> <string></string> </value>
-                </item>
-              </dictionary>
-            </value>
-        </item>
-        <item>
-            <key> <string>tales</string> </key>
-            <value>
-              <dictionary>
-                <item>
-                    <key> <string>alternate_name</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>css_class</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>default</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>description</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>display_maxwidth</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>display_width</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>editable</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>enabled</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>external_validator</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>extra</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>hidden</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>max_length</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>required</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>title</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>truncate</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>unicode</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>whitespace_preserve</string> </key>
-                    <value> <string></string> </value>
-                </item>
-              </dictionary>
-            </value>
-        </item>
-        <item>
-            <key> <string>values</string> </key>
-            <value>
-              <dictionary>
-                <item>
-                    <key> <string>alternate_name</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>css_class</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>default</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>description</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>display_maxwidth</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>display_width</string> </key>
-                    <value> <int>20</int> </value>
-                </item>
-                <item>
-                    <key> <string>editable</string> </key>
-                    <value> <int>0</int> </value>
-                </item>
-                <item>
-                    <key> <string>enabled</string> </key>
-                    <value> <int>1</int> </value>
-                </item>
-                <item>
-                    <key> <string>external_validator</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>extra</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>hidden</string> </key>
-                    <value> <int>0</int> </value>
-                </item>
-                <item>
-                    <key> <string>max_length</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>required</string> </key>
-                    <value> <int>0</int> </value>
-                </item>
-                <item>
-                    <key> <string>title</string> </key>
-                    <value> <string>Section Transaction Reference</string> </value>
-                </item>
-                <item>
-                    <key> <string>truncate</string> </key>
-                    <value> <int>0</int> </value>
-                </item>
-                <item>
-                    <key> <string>unicode</string> </key>
-                    <value> <int>0</int> </value>
-                </item>
-                <item>
-                    <key> <string>whitespace_preserve</string> </key>
-                    <value> <int>0</int> </value>
-                </item>
-              </dictionary>
-            </value>
-        </item>
-      </dictionary>
-    </pickle>
-  </record>
-</ZopeData>
diff --git a/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountingTransaction_viewDestinationAsset/my_destination_reference.xml b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountingTransaction_viewDestinationAsset/my_destination_reference.xml
index 67227cafe8..9019efaa59 100644
--- a/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountingTransaction_viewDestinationAsset/my_destination_reference.xml
+++ b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountingTransaction_viewDestinationAsset/my_destination_reference.xml
@@ -12,9 +12,7 @@
         <item>
             <key> <string>delegated_list</string> </key>
             <value>
-              <list>
-                <string>title</string>
-              </list>
+              <list/>
             </value>
         </item>
         <item>
@@ -86,10 +84,6 @@
                     <key> <string>target</string> </key>
                     <value> <string>Click to edit the target</string> </value>
                 </item>
-                <item>
-                    <key> <string>title</string> </key>
-                    <value> <string>Section Transaction Reference</string> </value>
-                </item>
               </dictionary>
             </value>
         </item>
diff --git a/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountingTransaction_viewDestinationAsset/my_stop_date.xml b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountingTransaction_viewDestinationAsset/my_stop_date.xml
index ddb014d0ec..c0d5ed3edc 100644
--- a/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountingTransaction_viewDestinationAsset/my_stop_date.xml
+++ b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountingTransaction_viewDestinationAsset/my_stop_date.xml
@@ -74,10 +74,6 @@
             <key> <string>values</string> </key>
             <value>
               <dictionary>
-                <item>
-                    <key> <string>description</string> </key>
-                    <value> <string>date at which the transaction is effective</string> </value>
-                </item>
                 <item>
                     <key> <string>field_id</string> </key>
                     <value> <string>my_stop_date</string> </value>
@@ -92,7 +88,7 @@
                 </item>
                 <item>
                     <key> <string>title</string> </key>
-                    <value> <string>Destination Accounting Operation Date</string> </value>
+                    <value> <string>Accounting Operation Date</string> </value>
                 </item>
               </dictionary>
             </value>
diff --git a/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountingTransaction_viewDetails/my_reference.xml b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountingTransaction_viewDetails/my_reference.xml
index 472d30e622..5fb4bab4e9 100644
--- a/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountingTransaction_viewDetails/my_reference.xml
+++ b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountingTransaction_viewDetails/my_reference.xml
@@ -88,7 +88,7 @@
                 </item>
                 <item>
                     <key> <string>title</string> </key>
-                    <value> <string>Transaction Reference</string> </value>
+                    <value> <string>Document Reference</string> </value>
                 </item>
               </dictionary>
             </value>
diff --git a/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountingTransaction_viewDetails/my_source_reference.xml b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountingTransaction_viewDetails/my_source_reference.xml
index 4f6b513f64..688a8d9c9b 100644
--- a/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountingTransaction_viewDetails/my_source_reference.xml
+++ b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountingTransaction_viewDetails/my_source_reference.xml
@@ -12,9 +12,7 @@
         <item>
             <key> <string>delegated_list</string> </key>
             <value>
-              <list>
-                <string>title</string>
-              </list>
+              <list/>
             </value>
         </item>
         <item>
@@ -74,10 +72,6 @@
             <key> <string>values</string> </key>
             <value>
               <dictionary>
-                <item>
-                    <key> <string>description</string> </key>
-                    <value> <string>Reference of the buyer in the purchase transaction</string> </value>
-                </item>
                 <item>
                     <key> <string>field_id</string> </key>
                     <value> <string>my_source_reference</string> </value>
@@ -90,10 +84,6 @@
                     <key> <string>target</string> </key>
                     <value> <string>Click to edit the target</string> </value>
                 </item>
-                <item>
-                    <key> <string>title</string> </key>
-                    <value> <string>Section Transaction Reference</string> </value>
-                </item>
               </dictionary>
             </value>
         </item>
diff --git a/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountingTransaction_viewFieldLibrary/my_source_section_title.xml b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountingTransaction_viewFieldLibrary/my_source_section_title.xml
index db664107aa..b61effc624 100644
--- a/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountingTransaction_viewFieldLibrary/my_source_section_title.xml
+++ b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountingTransaction_viewFieldLibrary/my_source_section_title.xml
@@ -168,7 +168,7 @@
                 </item>
                 <item>
                     <key> <string>title</string> </key>
-                    <value> <string>Vendor</string> </value>
+                    <value> <string>Supplier</string> </value>
                 </item>
               </dictionary>
             </value>
diff --git a/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountingTransaction_viewSourceAsset/my_source_reference.xml b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountingTransaction_viewSourceAsset/my_source_reference.xml
index 4f6b513f64..688a8d9c9b 100644
--- a/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountingTransaction_viewSourceAsset/my_source_reference.xml
+++ b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountingTransaction_viewSourceAsset/my_source_reference.xml
@@ -12,9 +12,7 @@
         <item>
             <key> <string>delegated_list</string> </key>
             <value>
-              <list>
-                <string>title</string>
-              </list>
+              <list/>
             </value>
         </item>
         <item>
@@ -74,10 +72,6 @@
             <key> <string>values</string> </key>
             <value>
               <dictionary>
-                <item>
-                    <key> <string>description</string> </key>
-                    <value> <string>Reference of the buyer in the purchase transaction</string> </value>
-                </item>
                 <item>
                     <key> <string>field_id</string> </key>
                     <value> <string>my_source_reference</string> </value>
@@ -90,10 +84,6 @@
                     <key> <string>target</string> </key>
                     <value> <string>Click to edit the target</string> </value>
                 </item>
-                <item>
-                    <key> <string>title</string> </key>
-                    <value> <string>Section Transaction Reference</string> </value>
-                </item>
               </dictionary>
             </value>
         </item>
diff --git a/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountingTransaction_viewSourceAsset/my_start_date.xml b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountingTransaction_viewSourceAsset/my_start_date.xml
index 9390898dc1..f647e3dce1 100644
--- a/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountingTransaction_viewSourceAsset/my_start_date.xml
+++ b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountingTransaction_viewSourceAsset/my_start_date.xml
@@ -12,9 +12,7 @@
         <item>
             <key> <string>delegated_list</string> </key>
             <value>
-              <list>
-                <string>title</string>
-              </list>
+              <list/>
             </value>
         </item>
         <item>
@@ -86,10 +84,6 @@
                     <key> <string>target</string> </key>
                     <value> <string>Click to edit the target</string> </value>
                 </item>
-                <item>
-                    <key> <string>title</string> </key>
-                    <value> <string>Source Accounting Operation Date</string> </value>
-                </item>
               </dictionary>
             </value>
         </item>
diff --git a/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/BalanceTransaction_view/my_start_date.xml b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/BalanceTransaction_view/my_start_date.xml
index 677735b5b2..debc0fad8a 100644
--- a/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/BalanceTransaction_view/my_start_date.xml
+++ b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/BalanceTransaction_view/my_start_date.xml
@@ -88,7 +88,7 @@
                 </item>
                 <item>
                     <key> <string>title</string> </key>
-                    <value> <string>Operation Date</string> </value>
+                    <value> <string>Accounting Operation Date</string> </value>
                 </item>
               </dictionary>
             </value>
diff --git a/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/PaymentTransaction_viewDetails/my_destination_reference.xml b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/PaymentTransaction_viewDetails/my_destination_reference.xml
index f43a2569c6..14794658ce 100644
--- a/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/PaymentTransaction_viewDetails/my_destination_reference.xml
+++ b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/PaymentTransaction_viewDetails/my_destination_reference.xml
@@ -74,10 +74,6 @@
             <key> <string>values</string> </key>
             <value>
               <dictionary>
-                <item>
-                    <key> <string>description</string> </key>
-                    <value> <string>The reference of the transaction for the third party</string> </value>
-                </item>
                 <item>
                     <key> <string>field_id</string> </key>
                     <value> <string>my_destination_reference</string> </value>
@@ -92,7 +88,7 @@
                 </item>
                 <item>
                     <key> <string>title</string> </key>
-                    <value> <string>Third Party Reference</string> </value>
+                    <value> <string>Third Party Transaction Reference</string> </value>
                 </item>
               </dictionary>
             </value>
diff --git a/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/PurchaseInvoiceTransaction_viewDetails/my_destination_reference.xml b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/PurchaseInvoiceTransaction_viewDetails/my_destination_reference.xml
index bf5814a521..ef8e979ad8 100644
--- a/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/PurchaseInvoiceTransaction_viewDetails/my_destination_reference.xml
+++ b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/PurchaseInvoiceTransaction_viewDetails/my_destination_reference.xml
@@ -88,7 +88,7 @@
                 </item>
                 <item>
                     <key> <string>title</string> </key>
-                    <value> <string>Customer Transaction Reference</string> </value>
+                    <value> <string>Client Transaction Reference</string> </value>
                 </item>
               </dictionary>
             </value>
diff --git a/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/PurchaseInvoiceTransaction_viewDetails/my_source_reference.xml b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/PurchaseInvoiceTransaction_viewDetails/my_source_reference.xml
index e5c3ab808d..baa210d624 100644
--- a/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/PurchaseInvoiceTransaction_viewDetails/my_source_reference.xml
+++ b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/PurchaseInvoiceTransaction_viewDetails/my_source_reference.xml
@@ -74,10 +74,6 @@
             <key> <string>values</string> </key>
             <value>
               <dictionary>
-                <item>
-                    <key> <string>description</string> </key>
-                    <value> <string>the vendor reference of the sale transaction</string> </value>
-                </item>
                 <item>
                     <key> <string>field_id</string> </key>
                     <value> <string>my_source_reference</string> </value>
@@ -92,7 +88,7 @@
                 </item>
                 <item>
                     <key> <string>title</string> </key>
-                    <value> <string>Vendor Transaction Reference</string> </value>
+                    <value> <string>Supplier Transaction Reference</string> </value>
                 </item>
               </dictionary>
             </value>
diff --git a/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/SaleInvoiceTransaction_viewDetails/my_destination_reference.xml b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/SaleInvoiceTransaction_viewDetails/my_destination_reference.xml
index bf5814a521..ef8e979ad8 100644
--- a/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/SaleInvoiceTransaction_viewDetails/my_destination_reference.xml
+++ b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/SaleInvoiceTransaction_viewDetails/my_destination_reference.xml
@@ -88,7 +88,7 @@
                 </item>
                 <item>
                     <key> <string>title</string> </key>
-                    <value> <string>Customer Transaction Reference</string> </value>
+                    <value> <string>Client Transaction Reference</string> </value>
                 </item>
               </dictionary>
             </value>
diff --git a/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/SaleInvoiceTransaction_viewDetails/my_source_reference.xml b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/SaleInvoiceTransaction_viewDetails/my_source_reference.xml
index e5c3ab808d..baa210d624 100644
--- a/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/SaleInvoiceTransaction_viewDetails/my_source_reference.xml
+++ b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/SaleInvoiceTransaction_viewDetails/my_source_reference.xml
@@ -74,10 +74,6 @@
             <key> <string>values</string> </key>
             <value>
               <dictionary>
-                <item>
-                    <key> <string>description</string> </key>
-                    <value> <string>the vendor reference of the sale transaction</string> </value>
-                </item>
                 <item>
                     <key> <string>field_id</string> </key>
                     <value> <string>my_source_reference</string> </value>
@@ -92,7 +88,7 @@
                 </item>
                 <item>
                     <key> <string>title</string> </key>
-                    <value> <string>Vendor Transaction Reference</string> </value>
+                    <value> <string>Supplier Transaction Reference</string> </value>
                 </item>
               </dictionary>
             </value>
diff --git a/bt5/erp5_accounting/bt/revision b/bt5/erp5_accounting/bt/revision
index dc29593695..44cf1a6c0a 100644
--- a/bt5/erp5_accounting/bt/revision
+++ b/bt5/erp5_accounting/bt/revision
@@ -1 +1 @@
-1321
\ No newline at end of file
+1322
\ No newline at end of file
-- 
2.30.9


From fcd92a76afc695d690e1c1ec0416b16ad1f543c1 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?J=C3=A9rome=20Perrin?= <jerome@nexedi.com>
Date: Fri, 30 Jul 2010 08:40:50 +0000
Subject: [PATCH 204/270] use proxyfields

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@37373 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 .../your_amount.xml                           |  186 +-
 .../your_amount_range_max.xml                 |  186 +-
 .../your_amount_range_min.xml                 |  186 +-
 .../your_creation_date_range_max.xml          | 1964 +---------------
 .../your_creation_date_range_min.xml          | 1964 +---------------
 .../your_from_date.xml                        | 1967 +----------------
 .../your_reference.xml                        |    2 +-
 .../your_to_date.xml                          | 1955 +---------------
 bt5/erp5_accounting/bt/revision               |    2 +-
 9 files changed, 174 insertions(+), 8238 deletions(-)

diff --git a/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountingTransactionModule_viewSearchDialog/your_amount.xml b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountingTransactionModule_viewSearchDialog/your_amount.xml
index 55146d3333..4d25eeeea1 100644
--- a/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountingTransactionModule_viewSearchDialog/your_amount.xml
+++ b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountingTransactionModule_viewSearchDialog/your_amount.xml
@@ -3,12 +3,21 @@
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
       <tuple>
-        <global name="FloatField" module="Products.Formulator.StandardFields"/>
+        <global name="ProxyField" module="Products.ERP5Form.ProxyField"/>
         <tuple/>
       </tuple>
     </pickle>
     <pickle>
       <dictionary>
+        <item>
+            <key> <string>delegated_list</string> </key>
+            <value>
+              <list>
+                <string>default</string>
+                <string>title</string>
+              </list>
+            </value>
+        </item>
         <item>
             <key> <string>id</string> </key>
             <value> <string>your_amount</string> </value>
@@ -21,14 +30,6 @@
                     <key> <string>external_validator_failed</string> </key>
                     <value> <string>The input failed the external validator.</string> </value>
                 </item>
-                <item>
-                    <key> <string>not_float</string> </key>
-                    <value> <string>You did not enter a floating point number.</string> </value>
-                </item>
-                <item>
-                    <key> <string>required_not_found</string> </key>
-                    <value> <string>Input is required but no input given.</string> </value>
-                </item>
               </dictionary>
             </value>
         </item>
@@ -37,59 +38,15 @@
             <value>
               <dictionary>
                 <item>
-                    <key> <string>alternate_name</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>css_class</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>default</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>description</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>display_maxwidth</string> </key>
+                    <key> <string>field_id</string> </key>
                     <value> <string></string> </value>
                 </item>
                 <item>
-                    <key> <string>display_width</string> </key>
+                    <key> <string>form_id</string> </key>
                     <value> <string></string> </value>
                 </item>
                 <item>
-                    <key> <string>editable</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>enabled</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>external_validator</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>extra</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>hidden</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>required</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>title</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>whitespace_preserve</string> </key>
+                    <key> <string>target</string> </key>
                     <value> <string></string> </value>
                 </item>
               </dictionary>
@@ -99,14 +56,6 @@
             <key> <string>tales</string> </key>
             <value>
               <dictionary>
-                <item>
-                    <key> <string>alternate_name</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>css_class</string> </key>
-                    <value> <string></string> </value>
-                </item>
                 <item>
                     <key> <string>default</string> </key>
                     <value>
@@ -114,55 +63,15 @@
                     </value>
                 </item>
                 <item>
-                    <key> <string>description</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>display_maxwidth</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>display_width</string> </key>
+                    <key> <string>field_id</string> </key>
                     <value> <string></string> </value>
                 </item>
                 <item>
-                    <key> <string>editable</string> </key>
+                    <key> <string>form_id</string> </key>
                     <value> <string></string> </value>
                 </item>
                 <item>
-                    <key> <string>enabled</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>external_validator</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>extra</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>hidden</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>input_style</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>precision</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>required</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>title</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>whitespace_preserve</string> </key>
+                    <key> <string>target</string> </key>
                     <value> <string></string> </value>
                 </item>
               </dictionary>
@@ -172,70 +81,26 @@
             <key> <string>values</string> </key>
             <value>
               <dictionary>
-                <item>
-                    <key> <string>alternate_name</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>css_class</string> </key>
-                    <value> <string>figure</string> </value>
-                </item>
                 <item>
                     <key> <string>default</string> </key>
                     <value> <string></string> </value>
                 </item>
                 <item>
-                    <key> <string>description</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>display_maxwidth</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>display_width</string> </key>
-                    <value> <int>12</int> </value>
+                    <key> <string>field_id</string> </key>
+                    <value> <string>your_money_quantity</string> </value>
                 </item>
                 <item>
-                    <key> <string>editable</string> </key>
-                    <value> <int>1</int> </value>
+                    <key> <string>form_id</string> </key>
+                    <value> <string>Base_viewFieldLibrary</string> </value>
                 </item>
                 <item>
-                    <key> <string>enabled</string> </key>
-                    <value> <int>1</int> </value>
-                </item>
-                <item>
-                    <key> <string>external_validator</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>extra</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>hidden</string> </key>
-                    <value> <int>0</int> </value>
-                </item>
-                <item>
-                    <key> <string>input_style</string> </key>
-                    <value> <string>-1 234.5</string> </value>
-                </item>
-                <item>
-                    <key> <string>precision</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>required</string> </key>
-                    <value> <int>0</int> </value>
+                    <key> <string>target</string> </key>
+                    <value> <string>Click to edit the target</string> </value>
                 </item>
                 <item>
                     <key> <string>title</string> </key>
                     <value> <string>Amount</string> </value>
                 </item>
-                <item>
-                    <key> <string>whitespace_preserve</string> </key>
-                    <value> <int>0</int> </value>
-                </item>
               </dictionary>
             </value>
         </item>
@@ -245,11 +110,8 @@
   <record id="2" aka="AAAAAAAAAAI=">
     <pickle>
       <tuple>
-        <tuple>
-          <string>Products.Formulator.TALESField</string>
-          <string>TALESMethod</string>
-        </tuple>
-        <none/>
+        <global name="TALESMethod" module="Products.Formulator.TALESField"/>
+        <tuple/>
       </tuple>
     </pickle>
     <pickle>
diff --git a/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountingTransactionModule_viewSearchDialog/your_amount_range_max.xml b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountingTransactionModule_viewSearchDialog/your_amount_range_max.xml
index 24a503d53c..6503f314b4 100644
--- a/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountingTransactionModule_viewSearchDialog/your_amount_range_max.xml
+++ b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountingTransactionModule_viewSearchDialog/your_amount_range_max.xml
@@ -3,12 +3,21 @@
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
       <tuple>
-        <global name="FloatField" module="Products.Formulator.StandardFields"/>
+        <global name="ProxyField" module="Products.ERP5Form.ProxyField"/>
         <tuple/>
       </tuple>
     </pickle>
     <pickle>
       <dictionary>
+        <item>
+            <key> <string>delegated_list</string> </key>
+            <value>
+              <list>
+                <string>default</string>
+                <string>title</string>
+              </list>
+            </value>
+        </item>
         <item>
             <key> <string>id</string> </key>
             <value> <string>your_amount_range_max</string> </value>
@@ -21,14 +30,6 @@
                     <key> <string>external_validator_failed</string> </key>
                     <value> <string>The input failed the external validator.</string> </value>
                 </item>
-                <item>
-                    <key> <string>not_float</string> </key>
-                    <value> <string>You did not enter a floating point number.</string> </value>
-                </item>
-                <item>
-                    <key> <string>required_not_found</string> </key>
-                    <value> <string>Input is required but no input given.</string> </value>
-                </item>
               </dictionary>
             </value>
         </item>
@@ -37,59 +38,15 @@
             <value>
               <dictionary>
                 <item>
-                    <key> <string>alternate_name</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>css_class</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>default</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>description</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>display_maxwidth</string> </key>
+                    <key> <string>field_id</string> </key>
                     <value> <string></string> </value>
                 </item>
                 <item>
-                    <key> <string>display_width</string> </key>
+                    <key> <string>form_id</string> </key>
                     <value> <string></string> </value>
                 </item>
                 <item>
-                    <key> <string>editable</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>enabled</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>external_validator</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>extra</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>hidden</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>required</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>title</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>whitespace_preserve</string> </key>
+                    <key> <string>target</string> </key>
                     <value> <string></string> </value>
                 </item>
               </dictionary>
@@ -99,14 +56,6 @@
             <key> <string>tales</string> </key>
             <value>
               <dictionary>
-                <item>
-                    <key> <string>alternate_name</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>css_class</string> </key>
-                    <value> <string></string> </value>
-                </item>
                 <item>
                     <key> <string>default</string> </key>
                     <value>
@@ -114,55 +63,15 @@
                     </value>
                 </item>
                 <item>
-                    <key> <string>description</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>display_maxwidth</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>display_width</string> </key>
+                    <key> <string>field_id</string> </key>
                     <value> <string></string> </value>
                 </item>
                 <item>
-                    <key> <string>editable</string> </key>
+                    <key> <string>form_id</string> </key>
                     <value> <string></string> </value>
                 </item>
                 <item>
-                    <key> <string>enabled</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>external_validator</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>extra</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>hidden</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>input_style</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>precision</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>required</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>title</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>whitespace_preserve</string> </key>
+                    <key> <string>target</string> </key>
                     <value> <string></string> </value>
                 </item>
               </dictionary>
@@ -172,70 +81,26 @@
             <key> <string>values</string> </key>
             <value>
               <dictionary>
-                <item>
-                    <key> <string>alternate_name</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>css_class</string> </key>
-                    <value> <string>figure</string> </value>
-                </item>
                 <item>
                     <key> <string>default</string> </key>
                     <value> <string></string> </value>
                 </item>
                 <item>
-                    <key> <string>description</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>display_maxwidth</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>display_width</string> </key>
-                    <value> <int>12</int> </value>
+                    <key> <string>field_id</string> </key>
+                    <value> <string>your_money_quantity</string> </value>
                 </item>
                 <item>
-                    <key> <string>editable</string> </key>
-                    <value> <int>1</int> </value>
+                    <key> <string>form_id</string> </key>
+                    <value> <string>Base_viewFieldLibrary</string> </value>
                 </item>
                 <item>
-                    <key> <string>enabled</string> </key>
-                    <value> <int>1</int> </value>
-                </item>
-                <item>
-                    <key> <string>external_validator</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>extra</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>hidden</string> </key>
-                    <value> <int>0</int> </value>
-                </item>
-                <item>
-                    <key> <string>input_style</string> </key>
-                    <value> <string>-1 234.5</string> </value>
-                </item>
-                <item>
-                    <key> <string>precision</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>required</string> </key>
-                    <value> <int>0</int> </value>
+                    <key> <string>target</string> </key>
+                    <value> <string>Click to edit the target</string> </value>
                 </item>
                 <item>
                     <key> <string>title</string> </key>
                     <value> <string>Max Amount</string> </value>
                 </item>
-                <item>
-                    <key> <string>whitespace_preserve</string> </key>
-                    <value> <int>0</int> </value>
-                </item>
               </dictionary>
             </value>
         </item>
@@ -245,11 +110,8 @@
   <record id="2" aka="AAAAAAAAAAI=">
     <pickle>
       <tuple>
-        <tuple>
-          <string>Products.Formulator.TALESField</string>
-          <string>TALESMethod</string>
-        </tuple>
-        <none/>
+        <global name="TALESMethod" module="Products.Formulator.TALESField"/>
+        <tuple/>
       </tuple>
     </pickle>
     <pickle>
diff --git a/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountingTransactionModule_viewSearchDialog/your_amount_range_min.xml b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountingTransactionModule_viewSearchDialog/your_amount_range_min.xml
index b6d2530e66..a3931ef8cf 100644
--- a/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountingTransactionModule_viewSearchDialog/your_amount_range_min.xml
+++ b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountingTransactionModule_viewSearchDialog/your_amount_range_min.xml
@@ -3,12 +3,21 @@
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
       <tuple>
-        <global name="FloatField" module="Products.Formulator.StandardFields"/>
+        <global name="ProxyField" module="Products.ERP5Form.ProxyField"/>
         <tuple/>
       </tuple>
     </pickle>
     <pickle>
       <dictionary>
+        <item>
+            <key> <string>delegated_list</string> </key>
+            <value>
+              <list>
+                <string>default</string>
+                <string>title</string>
+              </list>
+            </value>
+        </item>
         <item>
             <key> <string>id</string> </key>
             <value> <string>your_amount_range_min</string> </value>
@@ -21,14 +30,6 @@
                     <key> <string>external_validator_failed</string> </key>
                     <value> <string>The input failed the external validator.</string> </value>
                 </item>
-                <item>
-                    <key> <string>not_float</string> </key>
-                    <value> <string>You did not enter a floating point number.</string> </value>
-                </item>
-                <item>
-                    <key> <string>required_not_found</string> </key>
-                    <value> <string>Input is required but no input given.</string> </value>
-                </item>
               </dictionary>
             </value>
         </item>
@@ -37,59 +38,15 @@
             <value>
               <dictionary>
                 <item>
-                    <key> <string>alternate_name</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>css_class</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>default</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>description</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>display_maxwidth</string> </key>
+                    <key> <string>field_id</string> </key>
                     <value> <string></string> </value>
                 </item>
                 <item>
-                    <key> <string>display_width</string> </key>
+                    <key> <string>form_id</string> </key>
                     <value> <string></string> </value>
                 </item>
                 <item>
-                    <key> <string>editable</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>enabled</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>external_validator</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>extra</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>hidden</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>required</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>title</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>whitespace_preserve</string> </key>
+                    <key> <string>target</string> </key>
                     <value> <string></string> </value>
                 </item>
               </dictionary>
@@ -99,14 +56,6 @@
             <key> <string>tales</string> </key>
             <value>
               <dictionary>
-                <item>
-                    <key> <string>alternate_name</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>css_class</string> </key>
-                    <value> <string></string> </value>
-                </item>
                 <item>
                     <key> <string>default</string> </key>
                     <value>
@@ -114,55 +63,15 @@
                     </value>
                 </item>
                 <item>
-                    <key> <string>description</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>display_maxwidth</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>display_width</string> </key>
+                    <key> <string>field_id</string> </key>
                     <value> <string></string> </value>
                 </item>
                 <item>
-                    <key> <string>editable</string> </key>
+                    <key> <string>form_id</string> </key>
                     <value> <string></string> </value>
                 </item>
                 <item>
-                    <key> <string>enabled</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>external_validator</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>extra</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>hidden</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>input_style</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>precision</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>required</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>title</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>whitespace_preserve</string> </key>
+                    <key> <string>target</string> </key>
                     <value> <string></string> </value>
                 </item>
               </dictionary>
@@ -172,70 +81,26 @@
             <key> <string>values</string> </key>
             <value>
               <dictionary>
-                <item>
-                    <key> <string>alternate_name</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>css_class</string> </key>
-                    <value> <string>figure</string> </value>
-                </item>
                 <item>
                     <key> <string>default</string> </key>
                     <value> <string></string> </value>
                 </item>
                 <item>
-                    <key> <string>description</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>display_maxwidth</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>display_width</string> </key>
-                    <value> <int>12</int> </value>
+                    <key> <string>field_id</string> </key>
+                    <value> <string>your_money_quantity</string> </value>
                 </item>
                 <item>
-                    <key> <string>editable</string> </key>
-                    <value> <int>1</int> </value>
+                    <key> <string>form_id</string> </key>
+                    <value> <string>Base_viewFieldLibrary</string> </value>
                 </item>
                 <item>
-                    <key> <string>enabled</string> </key>
-                    <value> <int>1</int> </value>
-                </item>
-                <item>
-                    <key> <string>external_validator</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>extra</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>hidden</string> </key>
-                    <value> <int>0</int> </value>
-                </item>
-                <item>
-                    <key> <string>input_style</string> </key>
-                    <value> <string>-1 234.5</string> </value>
-                </item>
-                <item>
-                    <key> <string>precision</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>required</string> </key>
-                    <value> <int>0</int> </value>
+                    <key> <string>target</string> </key>
+                    <value> <string>Click to edit the target</string> </value>
                 </item>
                 <item>
                     <key> <string>title</string> </key>
                     <value> <string>Min Amount</string> </value>
                 </item>
-                <item>
-                    <key> <string>whitespace_preserve</string> </key>
-                    <value> <int>0</int> </value>
-                </item>
               </dictionary>
             </value>
         </item>
@@ -245,11 +110,8 @@
   <record id="2" aka="AAAAAAAAAAI=">
     <pickle>
       <tuple>
-        <tuple>
-          <string>Products.Formulator.TALESField</string>
-          <string>TALESMethod</string>
-        </tuple>
-        <none/>
+        <global name="TALESMethod" module="Products.Formulator.TALESField"/>
+        <tuple/>
       </tuple>
     </pickle>
     <pickle>
diff --git a/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountingTransactionModule_viewSearchDialog/your_creation_date_range_max.xml b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountingTransactionModule_viewSearchDialog/your_creation_date_range_max.xml
index ce3a8e8b30..c7369c9916 100644
--- a/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountingTransactionModule_viewSearchDialog/your_creation_date_range_max.xml
+++ b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountingTransactionModule_viewSearchDialog/your_creation_date_range_max.xml
@@ -3,12 +3,21 @@
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
       <tuple>
-        <global name="DateTimeField" module="Products.Formulator.StandardFields"/>
+        <global name="ProxyField" module="Products.ERP5Form.ProxyField"/>
         <tuple/>
       </tuple>
     </pickle>
     <pickle>
       <dictionary>
+        <item>
+            <key> <string>delegated_list</string> </key>
+            <value>
+              <list>
+                <string>title</string>
+                <string>default</string>
+              </list>
+            </value>
+        </item>
         <item>
             <key> <string>id</string> </key>
             <value> <string>your_creation_date_range_max</string> </value>
@@ -17,22 +26,10 @@
             <key> <string>message_values</string> </key>
             <value>
               <dictionary>
-                <item>
-                    <key> <string>datetime_out_of_range</string> </key>
-                    <value> <string>The date and time you entered were out of range.</string> </value>
-                </item>
                 <item>
                     <key> <string>external_validator_failed</string> </key>
                     <value> <string>The input failed the external validator.</string> </value>
                 </item>
-                <item>
-                    <key> <string>not_datetime</string> </key>
-                    <value> <string>You did not enter a valid date and time.</string> </value>
-                </item>
-                <item>
-                    <key> <string>required_not_found</string> </key>
-                    <value> <string>Input is required but no input given.</string> </value>
-                </item>
               </dictionary>
             </value>
         </item>
@@ -41,188 +38,40 @@
             <value>
               <dictionary>
                 <item>
-                    <key> <string>allow_empty_time</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>alternate_name</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>ampm_time_style</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>css_class</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>date_only</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>date_separator</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>default</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>default_now</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>description</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>editable</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>enabled</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>end_datetime</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>external_validator</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>hidden</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>input_order</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>input_style</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>required</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>start_datetime</string> </key>
+                    <key> <string>field_id</string> </key>
                     <value> <string></string> </value>
                 </item>
                 <item>
-                    <key> <string>time_separator</string> </key>
+                    <key> <string>form_id</string> </key>
                     <value> <string></string> </value>
                 </item>
                 <item>
-                    <key> <string>title</string> </key>
+                    <key> <string>target</string> </key>
                     <value> <string></string> </value>
                 </item>
               </dictionary>
             </value>
         </item>
-        <item>
-            <key> <string>sub_form</string> </key>
-            <value>
-              <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
-            </value>
-        </item>
         <item>
             <key> <string>tales</string> </key>
             <value>
               <dictionary>
-                <item>
-                    <key> <string>allow_empty_time</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>alternate_name</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>ampm_time_style</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>css_class</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>date_only</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>date_separator</string> </key>
-                    <value> <string></string> </value>
-                </item>
                 <item>
                     <key> <string>default</string> </key>
                     <value>
-                      <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
-                    </value>
-                </item>
-                <item>
-                    <key> <string>default_now</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>description</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>editable</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>enabled</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>end_datetime</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>external_validator</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>hidden</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>hidden_day_is_last_day</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>hide_day</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>input_order</string> </key>
-                    <value>
-                      <persistent> <string encoding="base64">AAAAAAAAAAQ=</string> </persistent>
+                      <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
                     </value>
                 </item>
                 <item>
-                    <key> <string>input_style</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>required</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>start_datetime</string> </key>
+                    <key> <string>field_id</string> </key>
                     <value> <string></string> </value>
                 </item>
                 <item>
-                    <key> <string>time_separator</string> </key>
+                    <key> <string>form_id</string> </key>
                     <value> <string></string> </value>
                 </item>
                 <item>
-                    <key> <string>title</string> </key>
+                    <key> <string>target</string> </key>
                     <value> <string></string> </value>
                 </item>
               </dictionary>
@@ -233,86 +82,16 @@
             <value>
               <dictionary>
                 <item>
-                    <key> <string>allow_empty_time</string> </key>
-                    <value> <int>0</int> </value>
-                </item>
-                <item>
-                    <key> <string>alternate_name</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>ampm_time_style</string> </key>
-                    <value> <int>0</int> </value>
-                </item>
-                <item>
-                    <key> <string>css_class</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>date_only</string> </key>
-                    <value> <int>1</int> </value>
-                </item>
-                <item>
-                    <key> <string>date_separator</string> </key>
-                    <value> <string>/</string> </value>
-                </item>
-                <item>
-                    <key> <string>default</string> </key>
-                    <value>
-                      <none/>
-                    </value>
-                </item>
-                <item>
-                    <key> <string>default_now</string> </key>
-                    <value> <int>0</int> </value>
-                </item>
-                <item>
-                    <key> <string>description</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>editable</string> </key>
-                    <value> <int>1</int> </value>
-                </item>
-                <item>
-                    <key> <string>enabled</string> </key>
-                    <value> <int>1</int> </value>
-                </item>
-                <item>
-                    <key> <string>end_datetime</string> </key>
-                    <value>
-                      <none/>
-                    </value>
-                </item>
-                <item>
-                    <key> <string>external_validator</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>hidden</string> </key>
-                    <value> <int>0</int> </value>
+                    <key> <string>field_id</string> </key>
+                    <value> <string>your_date</string> </value>
                 </item>
                 <item>
-                    <key> <string>input_order</string> </key>
-                    <value> <string>ymd</string> </value>
+                    <key> <string>form_id</string> </key>
+                    <value> <string>Base_viewDialogFieldLibrary</string> </value>
                 </item>
                 <item>
-                    <key> <string>input_style</string> </key>
-                    <value> <string>text</string> </value>
-                </item>
-                <item>
-                    <key> <string>required</string> </key>
-                    <value> <int>0</int> </value>
-                </item>
-                <item>
-                    <key> <string>start_datetime</string> </key>
-                    <value>
-                      <none/>
-                    </value>
-                </item>
-                <item>
-                    <key> <string>time_separator</string> </key>
-                    <value> <string>:</string> </value>
+                    <key> <string>target</string> </key>
+                    <value> <string>Click to edit the target</string> </value>
                 </item>
                 <item>
                     <key> <string>title</string> </key>
@@ -327,144 +106,8 @@
   <record id="2" aka="AAAAAAAAAAI=">
     <pickle>
       <tuple>
-        <tuple>
-          <string>Products.Formulator.Form</string>
-          <string>BasicForm</string>
-        </tuple>
-        <none/>
-      </tuple>
-    </pickle>
-    <pickle>
-      <dictionary>
-        <item>
-            <key> <string>action</string> </key>
-            <value> <string></string> </value>
-        </item>
-        <item>
-            <key> <string>encoding</string> </key>
-            <value> <string>UTF-8</string> </value>
-        </item>
-        <item>
-            <key> <string>enctype</string> </key>
-            <value> <string></string> </value>
-        </item>
-        <item>
-            <key> <string>fields</string> </key>
-            <value>
-              <dictionary>
-                <item>
-                    <key> <string>ampm</string> </key>
-                    <value>
-                      <persistent> <string encoding="base64">AAAAAAAAAAU=</string> </persistent>
-                    </value>
-                </item>
-                <item>
-                    <key> <string>day</string> </key>
-                    <value>
-                      <persistent> <string encoding="base64">AAAAAAAAAAY=</string> </persistent>
-                    </value>
-                </item>
-                <item>
-                    <key> <string>hour</string> </key>
-                    <value>
-                      <persistent> <string encoding="base64">AAAAAAAAAAc=</string> </persistent>
-                    </value>
-                </item>
-                <item>
-                    <key> <string>minute</string> </key>
-                    <value>
-                      <persistent> <string encoding="base64">AAAAAAAAAAg=</string> </persistent>
-                    </value>
-                </item>
-                <item>
-                    <key> <string>month</string> </key>
-                    <value>
-                      <persistent> <string encoding="base64">AAAAAAAAAAk=</string> </persistent>
-                    </value>
-                </item>
-                <item>
-                    <key> <string>year</string> </key>
-                    <value>
-                      <persistent> <string encoding="base64">AAAAAAAAAAo=</string> </persistent>
-                    </value>
-                </item>
-              </dictionary>
-            </value>
-        </item>
-        <item>
-            <key> <string>group_list</string> </key>
-            <value>
-              <list>
-                <string>Default</string>
-                <string>date</string>
-                <string>time</string>
-              </list>
-            </value>
-        </item>
-        <item>
-            <key> <string>groups</string> </key>
-            <value>
-              <dictionary>
-                <item>
-                    <key> <string>Default</string> </key>
-                    <value>
-                      <list/>
-                    </value>
-                </item>
-                <item>
-                    <key> <string>date</string> </key>
-                    <value>
-                      <list>
-                        <string>year</string>
-                        <string>month</string>
-                        <string>day</string>
-                      </list>
-                    </value>
-                </item>
-                <item>
-                    <key> <string>time</string> </key>
-                    <value>
-                      <list>
-                        <string>hour</string>
-                        <string>minute</string>
-                        <string>ampm</string>
-                      </list>
-                    </value>
-                </item>
-              </dictionary>
-            </value>
-        </item>
-        <item>
-            <key> <string>method</string> </key>
-            <value> <string>POST</string> </value>
-        </item>
-        <item>
-            <key> <string>name</string> </key>
-            <value> <string></string> </value>
-        </item>
-        <item>
-            <key> <string>stored_encoding</string> </key>
-            <value> <string>ISO-8859-1</string> </value>
-        </item>
-        <item>
-            <key> <string>title</string> </key>
-            <value> <string>Basic Form</string> </value>
-        </item>
-        <item>
-            <key> <string>unicode_mode</string> </key>
-            <value> <int>0</int> </value>
-        </item>
-      </dictionary>
-    </pickle>
-  </record>
-  <record id="3" aka="AAAAAAAAAAM=">
-    <pickle>
-      <tuple>
-        <tuple>
-          <string>Products.Formulator.TALESField</string>
-          <string>TALESMethod</string>
-        </tuple>
-        <none/>
+        <global name="TALESMethod" module="Products.Formulator.TALESField"/>
+        <tuple/>
       </tuple>
     </pickle>
     <pickle>
@@ -476,1561 +119,4 @@
       </dictionary>
     </pickle>
   </record>
-  <record id="4" aka="AAAAAAAAAAQ=">
-    <pickle>
-      <tuple>
-        <tuple>
-          <string>Products.Formulator.TALESField</string>
-          <string>TALESMethod</string>
-        </tuple>
-        <none/>
-      </tuple>
-    </pickle>
-    <pickle>
-      <dictionary>
-        <item>
-            <key> <string>_text</string> </key>
-            <value> <string>preferences/getPreferredDateOrder | string:ymd</string> </value>
-        </item>
-      </dictionary>
-    </pickle>
-  </record>
-  <record id="5" aka="AAAAAAAAAAU=">
-    <pickle>
-      <tuple>
-        <tuple>
-          <string>Products.Formulator.StandardFields</string>
-          <string>StringField</string>
-        </tuple>
-        <none/>
-      </tuple>
-    </pickle>
-    <pickle>
-      <dictionary>
-        <item>
-            <key> <string>id</string> </key>
-            <value> <string>ampm</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>
-                <item>
-                    <key> <string>required_not_found</string> </key>
-                    <value> <string>Input is required but no input given.</string> </value>
-                </item>
-                <item>
-                    <key> <string>too_long</string> </key>
-                    <value> <string>Too much input was given.</string> </value>
-                </item>
-              </dictionary>
-            </value>
-        </item>
-        <item>
-            <key> <string>overrides</string> </key>
-            <value>
-              <dictionary>
-                <item>
-                    <key> <string>alternate_name</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>css_class</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>default</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>description</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>display_maxwidth</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>display_width</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>editable</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>enabled</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>external_validator</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>extra</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>hidden</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>max_length</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>required</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>title</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>truncate</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>unicode</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>whitespace_preserve</string> </key>
-                    <value> <string></string> </value>
-                </item>
-              </dictionary>
-            </value>
-        </item>
-        <item>
-            <key> <string>tales</string> </key>
-            <value>
-              <dictionary>
-                <item>
-                    <key> <string>alternate_name</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>css_class</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>default</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>description</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>display_maxwidth</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>display_width</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>editable</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>enabled</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>external_validator</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>extra</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>hidden</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>max_length</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>required</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>title</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>truncate</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>unicode</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>whitespace_preserve</string> </key>
-                    <value> <string></string> </value>
-                </item>
-              </dictionary>
-            </value>
-        </item>
-        <item>
-            <key> <string>values</string> </key>
-            <value>
-              <dictionary>
-                <item>
-                    <key> <string>alternate_name</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>css_class</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>default</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>description</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>display_maxwidth</string> </key>
-                    <value> <int>2</int> </value>
-                </item>
-                <item>
-                    <key> <string>display_width</string> </key>
-                    <value> <int>2</int> </value>
-                </item>
-                <item>
-                    <key> <string>editable</string> </key>
-                    <value> <int>1</int> </value>
-                </item>
-                <item>
-                    <key> <string>enabled</string> </key>
-                    <value> <int>1</int> </value>
-                </item>
-                <item>
-                    <key> <string>external_validator</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>extra</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>hidden</string> </key>
-                    <value> <int>0</int> </value>
-                </item>
-                <item>
-                    <key> <string>max_length</string> </key>
-                    <value> <int>2</int> </value>
-                </item>
-                <item>
-                    <key> <string>required</string> </key>
-                    <value> <int>0</int> </value>
-                </item>
-                <item>
-                    <key> <string>title</string> </key>
-                    <value> <string>am/pm</string> </value>
-                </item>
-                <item>
-                    <key> <string>truncate</string> </key>
-                    <value> <int>0</int> </value>
-                </item>
-                <item>
-                    <key> <string>unicode</string> </key>
-                    <value> <int>0</int> </value>
-                </item>
-                <item>
-                    <key> <string>whitespace_preserve</string> </key>
-                    <value> <int>0</int> </value>
-                </item>
-              </dictionary>
-            </value>
-        </item>
-      </dictionary>
-    </pickle>
-  </record>
-  <record id="6" aka="AAAAAAAAAAY=">
-    <pickle>
-      <tuple>
-        <tuple>
-          <string>Products.Formulator.StandardFields</string>
-          <string>IntegerField</string>
-        </tuple>
-        <none/>
-      </tuple>
-    </pickle>
-    <pickle>
-      <dictionary>
-        <item>
-            <key> <string>id</string> </key>
-            <value> <string>day</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>
-                <item>
-                    <key> <string>integer_out_of_range</string> </key>
-                    <value> <string>The integer you entered was out of range.</string> </value>
-                </item>
-                <item>
-                    <key> <string>not_integer</string> </key>
-                    <value> <string>You did not enter an integer.</string> </value>
-                </item>
-                <item>
-                    <key> <string>required_not_found</string> </key>
-                    <value> <string>Input is required but no input given.</string> </value>
-                </item>
-              </dictionary>
-            </value>
-        </item>
-        <item>
-            <key> <string>overrides</string> </key>
-            <value>
-              <dictionary>
-                <item>
-                    <key> <string>alternate_name</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>css_class</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>default</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>description</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>display_maxwidth</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>display_width</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>editable</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>enabled</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>end</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>external_validator</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>extra</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>hidden</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>required</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>start</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>title</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>whitespace_preserve</string> </key>
-                    <value> <string></string> </value>
-                </item>
-              </dictionary>
-            </value>
-        </item>
-        <item>
-            <key> <string>tales</string> </key>
-            <value>
-              <dictionary>
-                <item>
-                    <key> <string>alternate_name</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>css_class</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>default</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>description</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>display_maxwidth</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>display_width</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>editable</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>enabled</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>end</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>external_validator</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>extra</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>hidden</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>required</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>start</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>title</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>whitespace_preserve</string> </key>
-                    <value> <string></string> </value>
-                </item>
-              </dictionary>
-            </value>
-        </item>
-        <item>
-            <key> <string>values</string> </key>
-            <value>
-              <dictionary>
-                <item>
-                    <key> <string>alternate_name</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>css_class</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>default</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>description</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>display_maxwidth</string> </key>
-                    <value> <int>2</int> </value>
-                </item>
-                <item>
-                    <key> <string>display_width</string> </key>
-                    <value> <int>2</int> </value>
-                </item>
-                <item>
-                    <key> <string>editable</string> </key>
-                    <value> <int>1</int> </value>
-                </item>
-                <item>
-                    <key> <string>enabled</string> </key>
-                    <value> <int>1</int> </value>
-                </item>
-                <item>
-                    <key> <string>end</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>external_validator</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>extra</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>hidden</string> </key>
-                    <value> <int>0</int> </value>
-                </item>
-                <item>
-                    <key> <string>required</string> </key>
-                    <value> <int>0</int> </value>
-                </item>
-                <item>
-                    <key> <string>start</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>title</string> </key>
-                    <value> <string>Day</string> </value>
-                </item>
-                <item>
-                    <key> <string>whitespace_preserve</string> </key>
-                    <value> <int>0</int> </value>
-                </item>
-              </dictionary>
-            </value>
-        </item>
-      </dictionary>
-    </pickle>
-  </record>
-  <record id="7" aka="AAAAAAAAAAc=">
-    <pickle>
-      <tuple>
-        <tuple>
-          <string>Products.Formulator.StandardFields</string>
-          <string>IntegerField</string>
-        </tuple>
-        <none/>
-      </tuple>
-    </pickle>
-    <pickle>
-      <dictionary>
-        <item>
-            <key> <string>id</string> </key>
-            <value> <string>hour</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>
-                <item>
-                    <key> <string>integer_out_of_range</string> </key>
-                    <value> <string>The integer you entered was out of range.</string> </value>
-                </item>
-                <item>
-                    <key> <string>not_integer</string> </key>
-                    <value> <string>You did not enter an integer.</string> </value>
-                </item>
-                <item>
-                    <key> <string>required_not_found</string> </key>
-                    <value> <string>Input is required but no input given.</string> </value>
-                </item>
-              </dictionary>
-            </value>
-        </item>
-        <item>
-            <key> <string>overrides</string> </key>
-            <value>
-              <dictionary>
-                <item>
-                    <key> <string>alternate_name</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>css_class</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>default</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>description</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>display_maxwidth</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>display_width</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>editable</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>enabled</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>end</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>external_validator</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>extra</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>hidden</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>required</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>start</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>title</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>whitespace_preserve</string> </key>
-                    <value> <string></string> </value>
-                </item>
-              </dictionary>
-            </value>
-        </item>
-        <item>
-            <key> <string>tales</string> </key>
-            <value>
-              <dictionary>
-                <item>
-                    <key> <string>alternate_name</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>css_class</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>default</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>description</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>display_maxwidth</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>display_width</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>editable</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>enabled</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>end</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>external_validator</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>extra</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>hidden</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>required</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>start</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>title</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>whitespace_preserve</string> </key>
-                    <value> <string></string> </value>
-                </item>
-              </dictionary>
-            </value>
-        </item>
-        <item>
-            <key> <string>values</string> </key>
-            <value>
-              <dictionary>
-                <item>
-                    <key> <string>alternate_name</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>css_class</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>default</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>description</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>display_maxwidth</string> </key>
-                    <value> <int>2</int> </value>
-                </item>
-                <item>
-                    <key> <string>display_width</string> </key>
-                    <value> <int>2</int> </value>
-                </item>
-                <item>
-                    <key> <string>editable</string> </key>
-                    <value> <int>1</int> </value>
-                </item>
-                <item>
-                    <key> <string>enabled</string> </key>
-                    <value> <int>1</int> </value>
-                </item>
-                <item>
-                    <key> <string>end</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>external_validator</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>extra</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>hidden</string> </key>
-                    <value> <int>0</int> </value>
-                </item>
-                <item>
-                    <key> <string>required</string> </key>
-                    <value> <int>0</int> </value>
-                </item>
-                <item>
-                    <key> <string>start</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>title</string> </key>
-                    <value> <string>Hour</string> </value>
-                </item>
-                <item>
-                    <key> <string>whitespace_preserve</string> </key>
-                    <value> <int>0</int> </value>
-                </item>
-              </dictionary>
-            </value>
-        </item>
-      </dictionary>
-    </pickle>
-  </record>
-  <record id="8" aka="AAAAAAAAAAg=">
-    <pickle>
-      <tuple>
-        <tuple>
-          <string>Products.Formulator.StandardFields</string>
-          <string>IntegerField</string>
-        </tuple>
-        <none/>
-      </tuple>
-    </pickle>
-    <pickle>
-      <dictionary>
-        <item>
-            <key> <string>id</string> </key>
-            <value> <string>minute</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>
-                <item>
-                    <key> <string>integer_out_of_range</string> </key>
-                    <value> <string>The integer you entered was out of range.</string> </value>
-                </item>
-                <item>
-                    <key> <string>not_integer</string> </key>
-                    <value> <string>You did not enter an integer.</string> </value>
-                </item>
-                <item>
-                    <key> <string>required_not_found</string> </key>
-                    <value> <string>Input is required but no input given.</string> </value>
-                </item>
-              </dictionary>
-            </value>
-        </item>
-        <item>
-            <key> <string>overrides</string> </key>
-            <value>
-              <dictionary>
-                <item>
-                    <key> <string>alternate_name</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>css_class</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>default</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>description</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>display_maxwidth</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>display_width</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>editable</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>enabled</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>end</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>external_validator</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>extra</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>hidden</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>required</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>start</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>title</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>whitespace_preserve</string> </key>
-                    <value> <string></string> </value>
-                </item>
-              </dictionary>
-            </value>
-        </item>
-        <item>
-            <key> <string>tales</string> </key>
-            <value>
-              <dictionary>
-                <item>
-                    <key> <string>alternate_name</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>css_class</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>default</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>description</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>display_maxwidth</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>display_width</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>editable</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>enabled</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>end</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>external_validator</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>extra</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>hidden</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>required</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>start</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>title</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>whitespace_preserve</string> </key>
-                    <value> <string></string> </value>
-                </item>
-              </dictionary>
-            </value>
-        </item>
-        <item>
-            <key> <string>values</string> </key>
-            <value>
-              <dictionary>
-                <item>
-                    <key> <string>alternate_name</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>css_class</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>default</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>description</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>display_maxwidth</string> </key>
-                    <value> <int>2</int> </value>
-                </item>
-                <item>
-                    <key> <string>display_width</string> </key>
-                    <value> <int>2</int> </value>
-                </item>
-                <item>
-                    <key> <string>editable</string> </key>
-                    <value> <int>1</int> </value>
-                </item>
-                <item>
-                    <key> <string>enabled</string> </key>
-                    <value> <int>1</int> </value>
-                </item>
-                <item>
-                    <key> <string>end</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>external_validator</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>extra</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>hidden</string> </key>
-                    <value> <int>0</int> </value>
-                </item>
-                <item>
-                    <key> <string>required</string> </key>
-                    <value> <int>0</int> </value>
-                </item>
-                <item>
-                    <key> <string>start</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>title</string> </key>
-                    <value> <string>Minute</string> </value>
-                </item>
-                <item>
-                    <key> <string>whitespace_preserve</string> </key>
-                    <value> <int>0</int> </value>
-                </item>
-              </dictionary>
-            </value>
-        </item>
-      </dictionary>
-    </pickle>
-  </record>
-  <record id="9" aka="AAAAAAAAAAk=">
-    <pickle>
-      <tuple>
-        <tuple>
-          <string>Products.Formulator.StandardFields</string>
-          <string>IntegerField</string>
-        </tuple>
-        <none/>
-      </tuple>
-    </pickle>
-    <pickle>
-      <dictionary>
-        <item>
-            <key> <string>id</string> </key>
-            <value> <string>month</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>
-                <item>
-                    <key> <string>integer_out_of_range</string> </key>
-                    <value> <string>The integer you entered was out of range.</string> </value>
-                </item>
-                <item>
-                    <key> <string>not_integer</string> </key>
-                    <value> <string>You did not enter an integer.</string> </value>
-                </item>
-                <item>
-                    <key> <string>required_not_found</string> </key>
-                    <value> <string>Input is required but no input given.</string> </value>
-                </item>
-              </dictionary>
-            </value>
-        </item>
-        <item>
-            <key> <string>overrides</string> </key>
-            <value>
-              <dictionary>
-                <item>
-                    <key> <string>alternate_name</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>css_class</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>default</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>description</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>display_maxwidth</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>display_width</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>editable</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>enabled</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>end</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>external_validator</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>extra</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>hidden</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>required</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>start</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>title</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>whitespace_preserve</string> </key>
-                    <value> <string></string> </value>
-                </item>
-              </dictionary>
-            </value>
-        </item>
-        <item>
-            <key> <string>tales</string> </key>
-            <value>
-              <dictionary>
-                <item>
-                    <key> <string>alternate_name</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>css_class</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>default</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>description</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>display_maxwidth</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>display_width</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>editable</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>enabled</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>end</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>external_validator</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>extra</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>hidden</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>required</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>start</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>title</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>whitespace_preserve</string> </key>
-                    <value> <string></string> </value>
-                </item>
-              </dictionary>
-            </value>
-        </item>
-        <item>
-            <key> <string>values</string> </key>
-            <value>
-              <dictionary>
-                <item>
-                    <key> <string>alternate_name</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>css_class</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>default</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>description</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>display_maxwidth</string> </key>
-                    <value> <int>2</int> </value>
-                </item>
-                <item>
-                    <key> <string>display_width</string> </key>
-                    <value> <int>2</int> </value>
-                </item>
-                <item>
-                    <key> <string>editable</string> </key>
-                    <value> <int>1</int> </value>
-                </item>
-                <item>
-                    <key> <string>enabled</string> </key>
-                    <value> <int>1</int> </value>
-                </item>
-                <item>
-                    <key> <string>end</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>external_validator</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>extra</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>hidden</string> </key>
-                    <value> <int>0</int> </value>
-                </item>
-                <item>
-                    <key> <string>required</string> </key>
-                    <value> <int>0</int> </value>
-                </item>
-                <item>
-                    <key> <string>start</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>title</string> </key>
-                    <value> <string>Month</string> </value>
-                </item>
-                <item>
-                    <key> <string>whitespace_preserve</string> </key>
-                    <value> <int>0</int> </value>
-                </item>
-              </dictionary>
-            </value>
-        </item>
-      </dictionary>
-    </pickle>
-  </record>
-  <record id="10" aka="AAAAAAAAAAo=">
-    <pickle>
-      <tuple>
-        <tuple>
-          <string>Products.Formulator.StandardFields</string>
-          <string>IntegerField</string>
-        </tuple>
-        <none/>
-      </tuple>
-    </pickle>
-    <pickle>
-      <dictionary>
-        <item>
-            <key> <string>id</string> </key>
-            <value> <string>year</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>
-                <item>
-                    <key> <string>integer_out_of_range</string> </key>
-                    <value> <string>The integer you entered was out of range.</string> </value>
-                </item>
-                <item>
-                    <key> <string>not_integer</string> </key>
-                    <value> <string>You did not enter an integer.</string> </value>
-                </item>
-                <item>
-                    <key> <string>required_not_found</string> </key>
-                    <value> <string>Input is required but no input given.</string> </value>
-                </item>
-              </dictionary>
-            </value>
-        </item>
-        <item>
-            <key> <string>overrides</string> </key>
-            <value>
-              <dictionary>
-                <item>
-                    <key> <string>alternate_name</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>css_class</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>default</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>description</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>display_maxwidth</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>display_width</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>editable</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>enabled</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>end</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>external_validator</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>extra</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>hidden</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>required</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>start</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>title</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>whitespace_preserve</string> </key>
-                    <value> <string></string> </value>
-                </item>
-              </dictionary>
-            </value>
-        </item>
-        <item>
-            <key> <string>tales</string> </key>
-            <value>
-              <dictionary>
-                <item>
-                    <key> <string>alternate_name</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>css_class</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>default</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>description</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>display_maxwidth</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>display_width</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>editable</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>enabled</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>end</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>external_validator</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>extra</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>hidden</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>required</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>start</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>title</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>whitespace_preserve</string> </key>
-                    <value> <string></string> </value>
-                </item>
-              </dictionary>
-            </value>
-        </item>
-        <item>
-            <key> <string>values</string> </key>
-            <value>
-              <dictionary>
-                <item>
-                    <key> <string>alternate_name</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>css_class</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>default</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>description</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>display_maxwidth</string> </key>
-                    <value> <int>4</int> </value>
-                </item>
-                <item>
-                    <key> <string>display_width</string> </key>
-                    <value> <int>4</int> </value>
-                </item>
-                <item>
-                    <key> <string>editable</string> </key>
-                    <value> <int>1</int> </value>
-                </item>
-                <item>
-                    <key> <string>enabled</string> </key>
-                    <value> <int>1</int> </value>
-                </item>
-                <item>
-                    <key> <string>end</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>external_validator</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>extra</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>hidden</string> </key>
-                    <value> <int>0</int> </value>
-                </item>
-                <item>
-                    <key> <string>required</string> </key>
-                    <value> <int>0</int> </value>
-                </item>
-                <item>
-                    <key> <string>start</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>title</string> </key>
-                    <value> <string>Year</string> </value>
-                </item>
-                <item>
-                    <key> <string>whitespace_preserve</string> </key>
-                    <value> <int>0</int> </value>
-                </item>
-              </dictionary>
-            </value>
-        </item>
-      </dictionary>
-    </pickle>
-  </record>
 </ZopeData>
diff --git a/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountingTransactionModule_viewSearchDialog/your_creation_date_range_min.xml b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountingTransactionModule_viewSearchDialog/your_creation_date_range_min.xml
index b19ae74593..a60ac316f7 100644
--- a/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountingTransactionModule_viewSearchDialog/your_creation_date_range_min.xml
+++ b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountingTransactionModule_viewSearchDialog/your_creation_date_range_min.xml
@@ -3,12 +3,21 @@
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
       <tuple>
-        <global name="DateTimeField" module="Products.Formulator.StandardFields"/>
+        <global name="ProxyField" module="Products.ERP5Form.ProxyField"/>
         <tuple/>
       </tuple>
     </pickle>
     <pickle>
       <dictionary>
+        <item>
+            <key> <string>delegated_list</string> </key>
+            <value>
+              <list>
+                <string>title</string>
+                <string>default</string>
+              </list>
+            </value>
+        </item>
         <item>
             <key> <string>id</string> </key>
             <value> <string>your_creation_date_range_min</string> </value>
@@ -17,22 +26,10 @@
             <key> <string>message_values</string> </key>
             <value>
               <dictionary>
-                <item>
-                    <key> <string>datetime_out_of_range</string> </key>
-                    <value> <string>The date and time you entered were out of range.</string> </value>
-                </item>
                 <item>
                     <key> <string>external_validator_failed</string> </key>
                     <value> <string>The input failed the external validator.</string> </value>
                 </item>
-                <item>
-                    <key> <string>not_datetime</string> </key>
-                    <value> <string>You did not enter a valid date and time.</string> </value>
-                </item>
-                <item>
-                    <key> <string>required_not_found</string> </key>
-                    <value> <string>Input is required but no input given.</string> </value>
-                </item>
               </dictionary>
             </value>
         </item>
@@ -41,188 +38,40 @@
             <value>
               <dictionary>
                 <item>
-                    <key> <string>allow_empty_time</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>alternate_name</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>ampm_time_style</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>css_class</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>date_only</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>date_separator</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>default</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>default_now</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>description</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>editable</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>enabled</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>end_datetime</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>external_validator</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>hidden</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>input_order</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>input_style</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>required</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>start_datetime</string> </key>
+                    <key> <string>field_id</string> </key>
                     <value> <string></string> </value>
                 </item>
                 <item>
-                    <key> <string>time_separator</string> </key>
+                    <key> <string>form_id</string> </key>
                     <value> <string></string> </value>
                 </item>
                 <item>
-                    <key> <string>title</string> </key>
+                    <key> <string>target</string> </key>
                     <value> <string></string> </value>
                 </item>
               </dictionary>
             </value>
         </item>
-        <item>
-            <key> <string>sub_form</string> </key>
-            <value>
-              <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
-            </value>
-        </item>
         <item>
             <key> <string>tales</string> </key>
             <value>
               <dictionary>
-                <item>
-                    <key> <string>allow_empty_time</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>alternate_name</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>ampm_time_style</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>css_class</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>date_only</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>date_separator</string> </key>
-                    <value> <string></string> </value>
-                </item>
                 <item>
                     <key> <string>default</string> </key>
                     <value>
-                      <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
-                    </value>
-                </item>
-                <item>
-                    <key> <string>default_now</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>description</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>editable</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>enabled</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>end_datetime</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>external_validator</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>hidden</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>hidden_day_is_last_day</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>hide_day</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>input_order</string> </key>
-                    <value>
-                      <persistent> <string encoding="base64">AAAAAAAAAAQ=</string> </persistent>
+                      <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
                     </value>
                 </item>
                 <item>
-                    <key> <string>input_style</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>required</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>start_datetime</string> </key>
+                    <key> <string>field_id</string> </key>
                     <value> <string></string> </value>
                 </item>
                 <item>
-                    <key> <string>time_separator</string> </key>
+                    <key> <string>form_id</string> </key>
                     <value> <string></string> </value>
                 </item>
                 <item>
-                    <key> <string>title</string> </key>
+                    <key> <string>target</string> </key>
                     <value> <string></string> </value>
                 </item>
               </dictionary>
@@ -233,86 +82,16 @@
             <value>
               <dictionary>
                 <item>
-                    <key> <string>allow_empty_time</string> </key>
-                    <value> <int>0</int> </value>
-                </item>
-                <item>
-                    <key> <string>alternate_name</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>ampm_time_style</string> </key>
-                    <value> <int>0</int> </value>
-                </item>
-                <item>
-                    <key> <string>css_class</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>date_only</string> </key>
-                    <value> <int>1</int> </value>
-                </item>
-                <item>
-                    <key> <string>date_separator</string> </key>
-                    <value> <string>/</string> </value>
-                </item>
-                <item>
-                    <key> <string>default</string> </key>
-                    <value>
-                      <none/>
-                    </value>
-                </item>
-                <item>
-                    <key> <string>default_now</string> </key>
-                    <value> <int>0</int> </value>
-                </item>
-                <item>
-                    <key> <string>description</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>editable</string> </key>
-                    <value> <int>1</int> </value>
-                </item>
-                <item>
-                    <key> <string>enabled</string> </key>
-                    <value> <int>1</int> </value>
-                </item>
-                <item>
-                    <key> <string>end_datetime</string> </key>
-                    <value>
-                      <none/>
-                    </value>
-                </item>
-                <item>
-                    <key> <string>external_validator</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>hidden</string> </key>
-                    <value> <int>0</int> </value>
+                    <key> <string>field_id</string> </key>
+                    <value> <string>your_date</string> </value>
                 </item>
                 <item>
-                    <key> <string>input_order</string> </key>
-                    <value> <string>ymd</string> </value>
+                    <key> <string>form_id</string> </key>
+                    <value> <string>Base_viewDialogFieldLibrary</string> </value>
                 </item>
                 <item>
-                    <key> <string>input_style</string> </key>
-                    <value> <string>text</string> </value>
-                </item>
-                <item>
-                    <key> <string>required</string> </key>
-                    <value> <int>0</int> </value>
-                </item>
-                <item>
-                    <key> <string>start_datetime</string> </key>
-                    <value>
-                      <none/>
-                    </value>
-                </item>
-                <item>
-                    <key> <string>time_separator</string> </key>
-                    <value> <string>:</string> </value>
+                    <key> <string>target</string> </key>
+                    <value> <string>Click to edit the target</string> </value>
                 </item>
                 <item>
                     <key> <string>title</string> </key>
@@ -327,144 +106,8 @@
   <record id="2" aka="AAAAAAAAAAI=">
     <pickle>
       <tuple>
-        <tuple>
-          <string>Products.Formulator.Form</string>
-          <string>BasicForm</string>
-        </tuple>
-        <none/>
-      </tuple>
-    </pickle>
-    <pickle>
-      <dictionary>
-        <item>
-            <key> <string>action</string> </key>
-            <value> <string></string> </value>
-        </item>
-        <item>
-            <key> <string>encoding</string> </key>
-            <value> <string>UTF-8</string> </value>
-        </item>
-        <item>
-            <key> <string>enctype</string> </key>
-            <value> <string></string> </value>
-        </item>
-        <item>
-            <key> <string>fields</string> </key>
-            <value>
-              <dictionary>
-                <item>
-                    <key> <string>ampm</string> </key>
-                    <value>
-                      <persistent> <string encoding="base64">AAAAAAAAAAU=</string> </persistent>
-                    </value>
-                </item>
-                <item>
-                    <key> <string>day</string> </key>
-                    <value>
-                      <persistent> <string encoding="base64">AAAAAAAAAAY=</string> </persistent>
-                    </value>
-                </item>
-                <item>
-                    <key> <string>hour</string> </key>
-                    <value>
-                      <persistent> <string encoding="base64">AAAAAAAAAAc=</string> </persistent>
-                    </value>
-                </item>
-                <item>
-                    <key> <string>minute</string> </key>
-                    <value>
-                      <persistent> <string encoding="base64">AAAAAAAAAAg=</string> </persistent>
-                    </value>
-                </item>
-                <item>
-                    <key> <string>month</string> </key>
-                    <value>
-                      <persistent> <string encoding="base64">AAAAAAAAAAk=</string> </persistent>
-                    </value>
-                </item>
-                <item>
-                    <key> <string>year</string> </key>
-                    <value>
-                      <persistent> <string encoding="base64">AAAAAAAAAAo=</string> </persistent>
-                    </value>
-                </item>
-              </dictionary>
-            </value>
-        </item>
-        <item>
-            <key> <string>group_list</string> </key>
-            <value>
-              <list>
-                <string>Default</string>
-                <string>date</string>
-                <string>time</string>
-              </list>
-            </value>
-        </item>
-        <item>
-            <key> <string>groups</string> </key>
-            <value>
-              <dictionary>
-                <item>
-                    <key> <string>Default</string> </key>
-                    <value>
-                      <list/>
-                    </value>
-                </item>
-                <item>
-                    <key> <string>date</string> </key>
-                    <value>
-                      <list>
-                        <string>year</string>
-                        <string>month</string>
-                        <string>day</string>
-                      </list>
-                    </value>
-                </item>
-                <item>
-                    <key> <string>time</string> </key>
-                    <value>
-                      <list>
-                        <string>hour</string>
-                        <string>minute</string>
-                        <string>ampm</string>
-                      </list>
-                    </value>
-                </item>
-              </dictionary>
-            </value>
-        </item>
-        <item>
-            <key> <string>method</string> </key>
-            <value> <string>POST</string> </value>
-        </item>
-        <item>
-            <key> <string>name</string> </key>
-            <value> <string></string> </value>
-        </item>
-        <item>
-            <key> <string>stored_encoding</string> </key>
-            <value> <string>ISO-8859-1</string> </value>
-        </item>
-        <item>
-            <key> <string>title</string> </key>
-            <value> <string>Basic Form</string> </value>
-        </item>
-        <item>
-            <key> <string>unicode_mode</string> </key>
-            <value> <int>0</int> </value>
-        </item>
-      </dictionary>
-    </pickle>
-  </record>
-  <record id="3" aka="AAAAAAAAAAM=">
-    <pickle>
-      <tuple>
-        <tuple>
-          <string>Products.Formulator.TALESField</string>
-          <string>TALESMethod</string>
-        </tuple>
-        <none/>
+        <global name="TALESMethod" module="Products.Formulator.TALESField"/>
+        <tuple/>
       </tuple>
     </pickle>
     <pickle>
@@ -476,1561 +119,4 @@
       </dictionary>
     </pickle>
   </record>
-  <record id="4" aka="AAAAAAAAAAQ=">
-    <pickle>
-      <tuple>
-        <tuple>
-          <string>Products.Formulator.TALESField</string>
-          <string>TALESMethod</string>
-        </tuple>
-        <none/>
-      </tuple>
-    </pickle>
-    <pickle>
-      <dictionary>
-        <item>
-            <key> <string>_text</string> </key>
-            <value> <string>preferences/getPreferredDateOrder | string:ymd</string> </value>
-        </item>
-      </dictionary>
-    </pickle>
-  </record>
-  <record id="5" aka="AAAAAAAAAAU=">
-    <pickle>
-      <tuple>
-        <tuple>
-          <string>Products.Formulator.StandardFields</string>
-          <string>StringField</string>
-        </tuple>
-        <none/>
-      </tuple>
-    </pickle>
-    <pickle>
-      <dictionary>
-        <item>
-            <key> <string>id</string> </key>
-            <value> <string>ampm</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>
-                <item>
-                    <key> <string>required_not_found</string> </key>
-                    <value> <string>Input is required but no input given.</string> </value>
-                </item>
-                <item>
-                    <key> <string>too_long</string> </key>
-                    <value> <string>Too much input was given.</string> </value>
-                </item>
-              </dictionary>
-            </value>
-        </item>
-        <item>
-            <key> <string>overrides</string> </key>
-            <value>
-              <dictionary>
-                <item>
-                    <key> <string>alternate_name</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>css_class</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>default</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>description</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>display_maxwidth</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>display_width</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>editable</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>enabled</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>external_validator</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>extra</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>hidden</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>max_length</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>required</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>title</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>truncate</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>unicode</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>whitespace_preserve</string> </key>
-                    <value> <string></string> </value>
-                </item>
-              </dictionary>
-            </value>
-        </item>
-        <item>
-            <key> <string>tales</string> </key>
-            <value>
-              <dictionary>
-                <item>
-                    <key> <string>alternate_name</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>css_class</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>default</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>description</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>display_maxwidth</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>display_width</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>editable</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>enabled</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>external_validator</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>extra</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>hidden</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>max_length</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>required</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>title</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>truncate</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>unicode</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>whitespace_preserve</string> </key>
-                    <value> <string></string> </value>
-                </item>
-              </dictionary>
-            </value>
-        </item>
-        <item>
-            <key> <string>values</string> </key>
-            <value>
-              <dictionary>
-                <item>
-                    <key> <string>alternate_name</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>css_class</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>default</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>description</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>display_maxwidth</string> </key>
-                    <value> <int>2</int> </value>
-                </item>
-                <item>
-                    <key> <string>display_width</string> </key>
-                    <value> <int>2</int> </value>
-                </item>
-                <item>
-                    <key> <string>editable</string> </key>
-                    <value> <int>1</int> </value>
-                </item>
-                <item>
-                    <key> <string>enabled</string> </key>
-                    <value> <int>1</int> </value>
-                </item>
-                <item>
-                    <key> <string>external_validator</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>extra</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>hidden</string> </key>
-                    <value> <int>0</int> </value>
-                </item>
-                <item>
-                    <key> <string>max_length</string> </key>
-                    <value> <int>2</int> </value>
-                </item>
-                <item>
-                    <key> <string>required</string> </key>
-                    <value> <int>0</int> </value>
-                </item>
-                <item>
-                    <key> <string>title</string> </key>
-                    <value> <string>am/pm</string> </value>
-                </item>
-                <item>
-                    <key> <string>truncate</string> </key>
-                    <value> <int>0</int> </value>
-                </item>
-                <item>
-                    <key> <string>unicode</string> </key>
-                    <value> <int>0</int> </value>
-                </item>
-                <item>
-                    <key> <string>whitespace_preserve</string> </key>
-                    <value> <int>0</int> </value>
-                </item>
-              </dictionary>
-            </value>
-        </item>
-      </dictionary>
-    </pickle>
-  </record>
-  <record id="6" aka="AAAAAAAAAAY=">
-    <pickle>
-      <tuple>
-        <tuple>
-          <string>Products.Formulator.StandardFields</string>
-          <string>IntegerField</string>
-        </tuple>
-        <none/>
-      </tuple>
-    </pickle>
-    <pickle>
-      <dictionary>
-        <item>
-            <key> <string>id</string> </key>
-            <value> <string>day</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>
-                <item>
-                    <key> <string>integer_out_of_range</string> </key>
-                    <value> <string>The integer you entered was out of range.</string> </value>
-                </item>
-                <item>
-                    <key> <string>not_integer</string> </key>
-                    <value> <string>You did not enter an integer.</string> </value>
-                </item>
-                <item>
-                    <key> <string>required_not_found</string> </key>
-                    <value> <string>Input is required but no input given.</string> </value>
-                </item>
-              </dictionary>
-            </value>
-        </item>
-        <item>
-            <key> <string>overrides</string> </key>
-            <value>
-              <dictionary>
-                <item>
-                    <key> <string>alternate_name</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>css_class</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>default</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>description</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>display_maxwidth</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>display_width</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>editable</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>enabled</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>end</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>external_validator</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>extra</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>hidden</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>required</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>start</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>title</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>whitespace_preserve</string> </key>
-                    <value> <string></string> </value>
-                </item>
-              </dictionary>
-            </value>
-        </item>
-        <item>
-            <key> <string>tales</string> </key>
-            <value>
-              <dictionary>
-                <item>
-                    <key> <string>alternate_name</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>css_class</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>default</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>description</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>display_maxwidth</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>display_width</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>editable</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>enabled</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>end</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>external_validator</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>extra</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>hidden</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>required</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>start</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>title</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>whitespace_preserve</string> </key>
-                    <value> <string></string> </value>
-                </item>
-              </dictionary>
-            </value>
-        </item>
-        <item>
-            <key> <string>values</string> </key>
-            <value>
-              <dictionary>
-                <item>
-                    <key> <string>alternate_name</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>css_class</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>default</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>description</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>display_maxwidth</string> </key>
-                    <value> <int>2</int> </value>
-                </item>
-                <item>
-                    <key> <string>display_width</string> </key>
-                    <value> <int>2</int> </value>
-                </item>
-                <item>
-                    <key> <string>editable</string> </key>
-                    <value> <int>1</int> </value>
-                </item>
-                <item>
-                    <key> <string>enabled</string> </key>
-                    <value> <int>1</int> </value>
-                </item>
-                <item>
-                    <key> <string>end</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>external_validator</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>extra</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>hidden</string> </key>
-                    <value> <int>0</int> </value>
-                </item>
-                <item>
-                    <key> <string>required</string> </key>
-                    <value> <int>0</int> </value>
-                </item>
-                <item>
-                    <key> <string>start</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>title</string> </key>
-                    <value> <string>Day</string> </value>
-                </item>
-                <item>
-                    <key> <string>whitespace_preserve</string> </key>
-                    <value> <int>0</int> </value>
-                </item>
-              </dictionary>
-            </value>
-        </item>
-      </dictionary>
-    </pickle>
-  </record>
-  <record id="7" aka="AAAAAAAAAAc=">
-    <pickle>
-      <tuple>
-        <tuple>
-          <string>Products.Formulator.StandardFields</string>
-          <string>IntegerField</string>
-        </tuple>
-        <none/>
-      </tuple>
-    </pickle>
-    <pickle>
-      <dictionary>
-        <item>
-            <key> <string>id</string> </key>
-            <value> <string>hour</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>
-                <item>
-                    <key> <string>integer_out_of_range</string> </key>
-                    <value> <string>The integer you entered was out of range.</string> </value>
-                </item>
-                <item>
-                    <key> <string>not_integer</string> </key>
-                    <value> <string>You did not enter an integer.</string> </value>
-                </item>
-                <item>
-                    <key> <string>required_not_found</string> </key>
-                    <value> <string>Input is required but no input given.</string> </value>
-                </item>
-              </dictionary>
-            </value>
-        </item>
-        <item>
-            <key> <string>overrides</string> </key>
-            <value>
-              <dictionary>
-                <item>
-                    <key> <string>alternate_name</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>css_class</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>default</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>description</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>display_maxwidth</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>display_width</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>editable</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>enabled</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>end</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>external_validator</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>extra</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>hidden</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>required</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>start</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>title</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>whitespace_preserve</string> </key>
-                    <value> <string></string> </value>
-                </item>
-              </dictionary>
-            </value>
-        </item>
-        <item>
-            <key> <string>tales</string> </key>
-            <value>
-              <dictionary>
-                <item>
-                    <key> <string>alternate_name</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>css_class</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>default</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>description</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>display_maxwidth</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>display_width</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>editable</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>enabled</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>end</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>external_validator</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>extra</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>hidden</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>required</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>start</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>title</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>whitespace_preserve</string> </key>
-                    <value> <string></string> </value>
-                </item>
-              </dictionary>
-            </value>
-        </item>
-        <item>
-            <key> <string>values</string> </key>
-            <value>
-              <dictionary>
-                <item>
-                    <key> <string>alternate_name</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>css_class</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>default</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>description</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>display_maxwidth</string> </key>
-                    <value> <int>2</int> </value>
-                </item>
-                <item>
-                    <key> <string>display_width</string> </key>
-                    <value> <int>2</int> </value>
-                </item>
-                <item>
-                    <key> <string>editable</string> </key>
-                    <value> <int>1</int> </value>
-                </item>
-                <item>
-                    <key> <string>enabled</string> </key>
-                    <value> <int>1</int> </value>
-                </item>
-                <item>
-                    <key> <string>end</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>external_validator</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>extra</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>hidden</string> </key>
-                    <value> <int>0</int> </value>
-                </item>
-                <item>
-                    <key> <string>required</string> </key>
-                    <value> <int>0</int> </value>
-                </item>
-                <item>
-                    <key> <string>start</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>title</string> </key>
-                    <value> <string>Hour</string> </value>
-                </item>
-                <item>
-                    <key> <string>whitespace_preserve</string> </key>
-                    <value> <int>0</int> </value>
-                </item>
-              </dictionary>
-            </value>
-        </item>
-      </dictionary>
-    </pickle>
-  </record>
-  <record id="8" aka="AAAAAAAAAAg=">
-    <pickle>
-      <tuple>
-        <tuple>
-          <string>Products.Formulator.StandardFields</string>
-          <string>IntegerField</string>
-        </tuple>
-        <none/>
-      </tuple>
-    </pickle>
-    <pickle>
-      <dictionary>
-        <item>
-            <key> <string>id</string> </key>
-            <value> <string>minute</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>
-                <item>
-                    <key> <string>integer_out_of_range</string> </key>
-                    <value> <string>The integer you entered was out of range.</string> </value>
-                </item>
-                <item>
-                    <key> <string>not_integer</string> </key>
-                    <value> <string>You did not enter an integer.</string> </value>
-                </item>
-                <item>
-                    <key> <string>required_not_found</string> </key>
-                    <value> <string>Input is required but no input given.</string> </value>
-                </item>
-              </dictionary>
-            </value>
-        </item>
-        <item>
-            <key> <string>overrides</string> </key>
-            <value>
-              <dictionary>
-                <item>
-                    <key> <string>alternate_name</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>css_class</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>default</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>description</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>display_maxwidth</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>display_width</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>editable</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>enabled</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>end</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>external_validator</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>extra</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>hidden</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>required</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>start</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>title</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>whitespace_preserve</string> </key>
-                    <value> <string></string> </value>
-                </item>
-              </dictionary>
-            </value>
-        </item>
-        <item>
-            <key> <string>tales</string> </key>
-            <value>
-              <dictionary>
-                <item>
-                    <key> <string>alternate_name</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>css_class</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>default</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>description</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>display_maxwidth</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>display_width</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>editable</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>enabled</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>end</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>external_validator</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>extra</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>hidden</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>required</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>start</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>title</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>whitespace_preserve</string> </key>
-                    <value> <string></string> </value>
-                </item>
-              </dictionary>
-            </value>
-        </item>
-        <item>
-            <key> <string>values</string> </key>
-            <value>
-              <dictionary>
-                <item>
-                    <key> <string>alternate_name</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>css_class</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>default</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>description</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>display_maxwidth</string> </key>
-                    <value> <int>2</int> </value>
-                </item>
-                <item>
-                    <key> <string>display_width</string> </key>
-                    <value> <int>2</int> </value>
-                </item>
-                <item>
-                    <key> <string>editable</string> </key>
-                    <value> <int>1</int> </value>
-                </item>
-                <item>
-                    <key> <string>enabled</string> </key>
-                    <value> <int>1</int> </value>
-                </item>
-                <item>
-                    <key> <string>end</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>external_validator</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>extra</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>hidden</string> </key>
-                    <value> <int>0</int> </value>
-                </item>
-                <item>
-                    <key> <string>required</string> </key>
-                    <value> <int>0</int> </value>
-                </item>
-                <item>
-                    <key> <string>start</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>title</string> </key>
-                    <value> <string>Minute</string> </value>
-                </item>
-                <item>
-                    <key> <string>whitespace_preserve</string> </key>
-                    <value> <int>0</int> </value>
-                </item>
-              </dictionary>
-            </value>
-        </item>
-      </dictionary>
-    </pickle>
-  </record>
-  <record id="9" aka="AAAAAAAAAAk=">
-    <pickle>
-      <tuple>
-        <tuple>
-          <string>Products.Formulator.StandardFields</string>
-          <string>IntegerField</string>
-        </tuple>
-        <none/>
-      </tuple>
-    </pickle>
-    <pickle>
-      <dictionary>
-        <item>
-            <key> <string>id</string> </key>
-            <value> <string>month</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>
-                <item>
-                    <key> <string>integer_out_of_range</string> </key>
-                    <value> <string>The integer you entered was out of range.</string> </value>
-                </item>
-                <item>
-                    <key> <string>not_integer</string> </key>
-                    <value> <string>You did not enter an integer.</string> </value>
-                </item>
-                <item>
-                    <key> <string>required_not_found</string> </key>
-                    <value> <string>Input is required but no input given.</string> </value>
-                </item>
-              </dictionary>
-            </value>
-        </item>
-        <item>
-            <key> <string>overrides</string> </key>
-            <value>
-              <dictionary>
-                <item>
-                    <key> <string>alternate_name</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>css_class</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>default</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>description</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>display_maxwidth</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>display_width</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>editable</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>enabled</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>end</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>external_validator</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>extra</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>hidden</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>required</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>start</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>title</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>whitespace_preserve</string> </key>
-                    <value> <string></string> </value>
-                </item>
-              </dictionary>
-            </value>
-        </item>
-        <item>
-            <key> <string>tales</string> </key>
-            <value>
-              <dictionary>
-                <item>
-                    <key> <string>alternate_name</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>css_class</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>default</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>description</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>display_maxwidth</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>display_width</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>editable</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>enabled</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>end</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>external_validator</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>extra</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>hidden</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>required</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>start</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>title</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>whitespace_preserve</string> </key>
-                    <value> <string></string> </value>
-                </item>
-              </dictionary>
-            </value>
-        </item>
-        <item>
-            <key> <string>values</string> </key>
-            <value>
-              <dictionary>
-                <item>
-                    <key> <string>alternate_name</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>css_class</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>default</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>description</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>display_maxwidth</string> </key>
-                    <value> <int>2</int> </value>
-                </item>
-                <item>
-                    <key> <string>display_width</string> </key>
-                    <value> <int>2</int> </value>
-                </item>
-                <item>
-                    <key> <string>editable</string> </key>
-                    <value> <int>1</int> </value>
-                </item>
-                <item>
-                    <key> <string>enabled</string> </key>
-                    <value> <int>1</int> </value>
-                </item>
-                <item>
-                    <key> <string>end</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>external_validator</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>extra</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>hidden</string> </key>
-                    <value> <int>0</int> </value>
-                </item>
-                <item>
-                    <key> <string>required</string> </key>
-                    <value> <int>0</int> </value>
-                </item>
-                <item>
-                    <key> <string>start</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>title</string> </key>
-                    <value> <string>Month</string> </value>
-                </item>
-                <item>
-                    <key> <string>whitespace_preserve</string> </key>
-                    <value> <int>0</int> </value>
-                </item>
-              </dictionary>
-            </value>
-        </item>
-      </dictionary>
-    </pickle>
-  </record>
-  <record id="10" aka="AAAAAAAAAAo=">
-    <pickle>
-      <tuple>
-        <tuple>
-          <string>Products.Formulator.StandardFields</string>
-          <string>IntegerField</string>
-        </tuple>
-        <none/>
-      </tuple>
-    </pickle>
-    <pickle>
-      <dictionary>
-        <item>
-            <key> <string>id</string> </key>
-            <value> <string>year</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>
-                <item>
-                    <key> <string>integer_out_of_range</string> </key>
-                    <value> <string>The integer you entered was out of range.</string> </value>
-                </item>
-                <item>
-                    <key> <string>not_integer</string> </key>
-                    <value> <string>You did not enter an integer.</string> </value>
-                </item>
-                <item>
-                    <key> <string>required_not_found</string> </key>
-                    <value> <string>Input is required but no input given.</string> </value>
-                </item>
-              </dictionary>
-            </value>
-        </item>
-        <item>
-            <key> <string>overrides</string> </key>
-            <value>
-              <dictionary>
-                <item>
-                    <key> <string>alternate_name</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>css_class</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>default</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>description</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>display_maxwidth</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>display_width</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>editable</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>enabled</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>end</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>external_validator</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>extra</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>hidden</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>required</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>start</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>title</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>whitespace_preserve</string> </key>
-                    <value> <string></string> </value>
-                </item>
-              </dictionary>
-            </value>
-        </item>
-        <item>
-            <key> <string>tales</string> </key>
-            <value>
-              <dictionary>
-                <item>
-                    <key> <string>alternate_name</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>css_class</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>default</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>description</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>display_maxwidth</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>display_width</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>editable</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>enabled</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>end</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>external_validator</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>extra</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>hidden</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>required</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>start</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>title</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>whitespace_preserve</string> </key>
-                    <value> <string></string> </value>
-                </item>
-              </dictionary>
-            </value>
-        </item>
-        <item>
-            <key> <string>values</string> </key>
-            <value>
-              <dictionary>
-                <item>
-                    <key> <string>alternate_name</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>css_class</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>default</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>description</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>display_maxwidth</string> </key>
-                    <value> <int>4</int> </value>
-                </item>
-                <item>
-                    <key> <string>display_width</string> </key>
-                    <value> <int>4</int> </value>
-                </item>
-                <item>
-                    <key> <string>editable</string> </key>
-                    <value> <int>1</int> </value>
-                </item>
-                <item>
-                    <key> <string>enabled</string> </key>
-                    <value> <int>1</int> </value>
-                </item>
-                <item>
-                    <key> <string>end</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>external_validator</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>extra</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>hidden</string> </key>
-                    <value> <int>0</int> </value>
-                </item>
-                <item>
-                    <key> <string>required</string> </key>
-                    <value> <int>0</int> </value>
-                </item>
-                <item>
-                    <key> <string>start</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>title</string> </key>
-                    <value> <string>Year</string> </value>
-                </item>
-                <item>
-                    <key> <string>whitespace_preserve</string> </key>
-                    <value> <int>0</int> </value>
-                </item>
-              </dictionary>
-            </value>
-        </item>
-      </dictionary>
-    </pickle>
-  </record>
 </ZopeData>
diff --git a/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountingTransactionModule_viewSearchDialog/your_from_date.xml b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountingTransactionModule_viewSearchDialog/your_from_date.xml
index 2b9cc227cb..f97145b6eb 100644
--- a/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountingTransactionModule_viewSearchDialog/your_from_date.xml
+++ b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountingTransactionModule_viewSearchDialog/your_from_date.xml
@@ -3,12 +3,20 @@
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
       <tuple>
-        <global name="DateTimeField" module="Products.Formulator.StandardFields"/>
+        <global name="ProxyField" module="Products.ERP5Form.ProxyField"/>
         <tuple/>
       </tuple>
     </pickle>
     <pickle>
       <dictionary>
+        <item>
+            <key> <string>delegated_list</string> </key>
+            <value>
+              <list>
+                <string>default</string>
+              </list>
+            </value>
+        </item>
         <item>
             <key> <string>id</string> </key>
             <value> <string>your_from_date</string> </value>
@@ -17,22 +25,10 @@
             <key> <string>message_values</string> </key>
             <value>
               <dictionary>
-                <item>
-                    <key> <string>datetime_out_of_range</string> </key>
-                    <value> <string>The date and time you entered were out of range.</string> </value>
-                </item>
                 <item>
                     <key> <string>external_validator_failed</string> </key>
                     <value> <string>The input failed the external validator.</string> </value>
                 </item>
-                <item>
-                    <key> <string>not_datetime</string> </key>
-                    <value> <string>You did not enter a valid date and time.</string> </value>
-                </item>
-                <item>
-                    <key> <string>required_not_found</string> </key>
-                    <value> <string>Input is required but no input given.</string> </value>
-                </item>
               </dictionary>
             </value>
         </item>
@@ -41,188 +37,40 @@
             <value>
               <dictionary>
                 <item>
-                    <key> <string>allow_empty_time</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>alternate_name</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>ampm_time_style</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>css_class</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>date_only</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>date_separator</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>default</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>default_now</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>description</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>editable</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>enabled</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>end_datetime</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>external_validator</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>hidden</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>input_order</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>input_style</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>required</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>start_datetime</string> </key>
+                    <key> <string>field_id</string> </key>
                     <value> <string></string> </value>
                 </item>
                 <item>
-                    <key> <string>time_separator</string> </key>
+                    <key> <string>form_id</string> </key>
                     <value> <string></string> </value>
                 </item>
                 <item>
-                    <key> <string>title</string> </key>
+                    <key> <string>target</string> </key>
                     <value> <string></string> </value>
                 </item>
               </dictionary>
             </value>
         </item>
-        <item>
-            <key> <string>sub_form</string> </key>
-            <value>
-              <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
-            </value>
-        </item>
         <item>
             <key> <string>tales</string> </key>
             <value>
               <dictionary>
-                <item>
-                    <key> <string>allow_empty_time</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>alternate_name</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>ampm_time_style</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>css_class</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>date_only</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>date_separator</string> </key>
-                    <value> <string></string> </value>
-                </item>
                 <item>
                     <key> <string>default</string> </key>
                     <value>
-                      <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
-                    </value>
-                </item>
-                <item>
-                    <key> <string>default_now</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>description</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>editable</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>enabled</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>end_datetime</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>external_validator</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>hidden</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>hidden_day_is_last_day</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>hide_day</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>input_order</string> </key>
-                    <value>
-                      <persistent> <string encoding="base64">AAAAAAAAAAQ=</string> </persistent>
+                      <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
                     </value>
                 </item>
                 <item>
-                    <key> <string>input_style</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>required</string> </key>
+                    <key> <string>field_id</string> </key>
                     <value> <string></string> </value>
                 </item>
                 <item>
-                    <key> <string>start_datetime</string> </key>
+                    <key> <string>form_id</string> </key>
                     <value> <string></string> </value>
                 </item>
                 <item>
-                    <key> <string>time_separator</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>title</string> </key>
+                    <key> <string>target</string> </key>
                     <value> <string></string> </value>
                 </item>
               </dictionary>
@@ -233,90 +81,16 @@
             <value>
               <dictionary>
                 <item>
-                    <key> <string>allow_empty_time</string> </key>
-                    <value> <int>0</int> </value>
-                </item>
-                <item>
-                    <key> <string>alternate_name</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>ampm_time_style</string> </key>
-                    <value> <int>0</int> </value>
+                    <key> <string>field_id</string> </key>
+                    <value> <string>your_from_date</string> </value>
                 </item>
                 <item>
-                    <key> <string>css_class</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>date_only</string> </key>
-                    <value> <int>1</int> </value>
-                </item>
-                <item>
-                    <key> <string>date_separator</string> </key>
-                    <value> <string>/</string> </value>
-                </item>
-                <item>
-                    <key> <string>default</string> </key>
-                    <value>
-                      <none/>
-                    </value>
-                </item>
-                <item>
-                    <key> <string>default_now</string> </key>
-                    <value> <int>0</int> </value>
-                </item>
-                <item>
-                    <key> <string>description</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>editable</string> </key>
-                    <value> <int>1</int> </value>
-                </item>
-                <item>
-                    <key> <string>enabled</string> </key>
-                    <value> <int>1</int> </value>
-                </item>
-                <item>
-                    <key> <string>end_datetime</string> </key>
-                    <value>
-                      <none/>
-                    </value>
-                </item>
-                <item>
-                    <key> <string>external_validator</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>hidden</string> </key>
-                    <value> <int>0</int> </value>
-                </item>
-                <item>
-                    <key> <string>input_order</string> </key>
-                    <value> <string>ymd</string> </value>
-                </item>
-                <item>
-                    <key> <string>input_style</string> </key>
-                    <value> <string>text</string> </value>
+                    <key> <string>form_id</string> </key>
+                    <value> <string>Base_viewDialogFieldLibrary</string> </value>
                 </item>
                 <item>
-                    <key> <string>required</string> </key>
-                    <value> <int>0</int> </value>
-                </item>
-                <item>
-                    <key> <string>start_datetime</string> </key>
-                    <value>
-                      <none/>
-                    </value>
-                </item>
-                <item>
-                    <key> <string>time_separator</string> </key>
-                    <value> <string>:</string> </value>
-                </item>
-                <item>
-                    <key> <string>title</string> </key>
-                    <value> <string>From Date</string> </value>
+                    <key> <string>target</string> </key>
+                    <value> <string>Click to edit the target</string> </value>
                 </item>
               </dictionary>
             </value>
@@ -327,144 +101,8 @@
   <record id="2" aka="AAAAAAAAAAI=">
     <pickle>
       <tuple>
-        <tuple>
-          <string>Products.Formulator.Form</string>
-          <string>BasicForm</string>
-        </tuple>
-        <none/>
-      </tuple>
-    </pickle>
-    <pickle>
-      <dictionary>
-        <item>
-            <key> <string>action</string> </key>
-            <value> <string></string> </value>
-        </item>
-        <item>
-            <key> <string>encoding</string> </key>
-            <value> <string>UTF-8</string> </value>
-        </item>
-        <item>
-            <key> <string>enctype</string> </key>
-            <value> <string></string> </value>
-        </item>
-        <item>
-            <key> <string>fields</string> </key>
-            <value>
-              <dictionary>
-                <item>
-                    <key> <string>ampm</string> </key>
-                    <value>
-                      <persistent> <string encoding="base64">AAAAAAAAAAU=</string> </persistent>
-                    </value>
-                </item>
-                <item>
-                    <key> <string>day</string> </key>
-                    <value>
-                      <persistent> <string encoding="base64">AAAAAAAAAAY=</string> </persistent>
-                    </value>
-                </item>
-                <item>
-                    <key> <string>hour</string> </key>
-                    <value>
-                      <persistent> <string encoding="base64">AAAAAAAAAAc=</string> </persistent>
-                    </value>
-                </item>
-                <item>
-                    <key> <string>minute</string> </key>
-                    <value>
-                      <persistent> <string encoding="base64">AAAAAAAAAAg=</string> </persistent>
-                    </value>
-                </item>
-                <item>
-                    <key> <string>month</string> </key>
-                    <value>
-                      <persistent> <string encoding="base64">AAAAAAAAAAk=</string> </persistent>
-                    </value>
-                </item>
-                <item>
-                    <key> <string>year</string> </key>
-                    <value>
-                      <persistent> <string encoding="base64">AAAAAAAAAAo=</string> </persistent>
-                    </value>
-                </item>
-              </dictionary>
-            </value>
-        </item>
-        <item>
-            <key> <string>group_list</string> </key>
-            <value>
-              <list>
-                <string>Default</string>
-                <string>date</string>
-                <string>time</string>
-              </list>
-            </value>
-        </item>
-        <item>
-            <key> <string>groups</string> </key>
-            <value>
-              <dictionary>
-                <item>
-                    <key> <string>Default</string> </key>
-                    <value>
-                      <list/>
-                    </value>
-                </item>
-                <item>
-                    <key> <string>date</string> </key>
-                    <value>
-                      <list>
-                        <string>year</string>
-                        <string>month</string>
-                        <string>day</string>
-                      </list>
-                    </value>
-                </item>
-                <item>
-                    <key> <string>time</string> </key>
-                    <value>
-                      <list>
-                        <string>hour</string>
-                        <string>minute</string>
-                        <string>ampm</string>
-                      </list>
-                    </value>
-                </item>
-              </dictionary>
-            </value>
-        </item>
-        <item>
-            <key> <string>method</string> </key>
-            <value> <string>POST</string> </value>
-        </item>
-        <item>
-            <key> <string>name</string> </key>
-            <value> <string></string> </value>
-        </item>
-        <item>
-            <key> <string>stored_encoding</string> </key>
-            <value> <string>ISO-8859-1</string> </value>
-        </item>
-        <item>
-            <key> <string>title</string> </key>
-            <value> <string>Basic Form</string> </value>
-        </item>
-        <item>
-            <key> <string>unicode_mode</string> </key>
-            <value> <int>0</int> </value>
-        </item>
-      </dictionary>
-    </pickle>
-  </record>
-  <record id="3" aka="AAAAAAAAAAM=">
-    <pickle>
-      <tuple>
-        <tuple>
-          <string>Products.Formulator.TALESField</string>
-          <string>TALESMethod</string>
-        </tuple>
-        <none/>
+        <global name="TALESMethod" module="Products.Formulator.TALESField"/>
+        <tuple/>
       </tuple>
     </pickle>
     <pickle>
@@ -476,1561 +114,4 @@
       </dictionary>
     </pickle>
   </record>
-  <record id="4" aka="AAAAAAAAAAQ=">
-    <pickle>
-      <tuple>
-        <tuple>
-          <string>Products.Formulator.TALESField</string>
-          <string>TALESMethod</string>
-        </tuple>
-        <none/>
-      </tuple>
-    </pickle>
-    <pickle>
-      <dictionary>
-        <item>
-            <key> <string>_text</string> </key>
-            <value> <string>preferences/getPreferredDateOrder | string:ymd</string> </value>
-        </item>
-      </dictionary>
-    </pickle>
-  </record>
-  <record id="5" aka="AAAAAAAAAAU=">
-    <pickle>
-      <tuple>
-        <tuple>
-          <string>Products.Formulator.StandardFields</string>
-          <string>StringField</string>
-        </tuple>
-        <none/>
-      </tuple>
-    </pickle>
-    <pickle>
-      <dictionary>
-        <item>
-            <key> <string>id</string> </key>
-            <value> <string>ampm</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>
-                <item>
-                    <key> <string>required_not_found</string> </key>
-                    <value> <string>Input is required but no input given.</string> </value>
-                </item>
-                <item>
-                    <key> <string>too_long</string> </key>
-                    <value> <string>Too much input was given.</string> </value>
-                </item>
-              </dictionary>
-            </value>
-        </item>
-        <item>
-            <key> <string>overrides</string> </key>
-            <value>
-              <dictionary>
-                <item>
-                    <key> <string>alternate_name</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>css_class</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>default</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>description</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>display_maxwidth</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>display_width</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>editable</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>enabled</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>external_validator</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>extra</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>hidden</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>max_length</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>required</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>title</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>truncate</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>unicode</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>whitespace_preserve</string> </key>
-                    <value> <string></string> </value>
-                </item>
-              </dictionary>
-            </value>
-        </item>
-        <item>
-            <key> <string>tales</string> </key>
-            <value>
-              <dictionary>
-                <item>
-                    <key> <string>alternate_name</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>css_class</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>default</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>description</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>display_maxwidth</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>display_width</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>editable</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>enabled</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>external_validator</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>extra</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>hidden</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>max_length</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>required</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>title</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>truncate</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>unicode</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>whitespace_preserve</string> </key>
-                    <value> <string></string> </value>
-                </item>
-              </dictionary>
-            </value>
-        </item>
-        <item>
-            <key> <string>values</string> </key>
-            <value>
-              <dictionary>
-                <item>
-                    <key> <string>alternate_name</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>css_class</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>default</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>description</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>display_maxwidth</string> </key>
-                    <value> <int>2</int> </value>
-                </item>
-                <item>
-                    <key> <string>display_width</string> </key>
-                    <value> <int>2</int> </value>
-                </item>
-                <item>
-                    <key> <string>editable</string> </key>
-                    <value> <int>1</int> </value>
-                </item>
-                <item>
-                    <key> <string>enabled</string> </key>
-                    <value> <int>1</int> </value>
-                </item>
-                <item>
-                    <key> <string>external_validator</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>extra</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>hidden</string> </key>
-                    <value> <int>0</int> </value>
-                </item>
-                <item>
-                    <key> <string>max_length</string> </key>
-                    <value> <int>2</int> </value>
-                </item>
-                <item>
-                    <key> <string>required</string> </key>
-                    <value> <int>0</int> </value>
-                </item>
-                <item>
-                    <key> <string>title</string> </key>
-                    <value> <string>am/pm</string> </value>
-                </item>
-                <item>
-                    <key> <string>truncate</string> </key>
-                    <value> <int>0</int> </value>
-                </item>
-                <item>
-                    <key> <string>unicode</string> </key>
-                    <value> <int>0</int> </value>
-                </item>
-                <item>
-                    <key> <string>whitespace_preserve</string> </key>
-                    <value> <int>0</int> </value>
-                </item>
-              </dictionary>
-            </value>
-        </item>
-      </dictionary>
-    </pickle>
-  </record>
-  <record id="6" aka="AAAAAAAAAAY=">
-    <pickle>
-      <tuple>
-        <tuple>
-          <string>Products.Formulator.StandardFields</string>
-          <string>IntegerField</string>
-        </tuple>
-        <none/>
-      </tuple>
-    </pickle>
-    <pickle>
-      <dictionary>
-        <item>
-            <key> <string>id</string> </key>
-            <value> <string>day</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>
-                <item>
-                    <key> <string>integer_out_of_range</string> </key>
-                    <value> <string>The integer you entered was out of range.</string> </value>
-                </item>
-                <item>
-                    <key> <string>not_integer</string> </key>
-                    <value> <string>You did not enter an integer.</string> </value>
-                </item>
-                <item>
-                    <key> <string>required_not_found</string> </key>
-                    <value> <string>Input is required but no input given.</string> </value>
-                </item>
-              </dictionary>
-            </value>
-        </item>
-        <item>
-            <key> <string>overrides</string> </key>
-            <value>
-              <dictionary>
-                <item>
-                    <key> <string>alternate_name</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>css_class</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>default</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>description</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>display_maxwidth</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>display_width</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>editable</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>enabled</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>end</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>external_validator</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>extra</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>hidden</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>required</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>start</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>title</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>whitespace_preserve</string> </key>
-                    <value> <string></string> </value>
-                </item>
-              </dictionary>
-            </value>
-        </item>
-        <item>
-            <key> <string>tales</string> </key>
-            <value>
-              <dictionary>
-                <item>
-                    <key> <string>alternate_name</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>css_class</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>default</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>description</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>display_maxwidth</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>display_width</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>editable</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>enabled</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>end</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>external_validator</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>extra</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>hidden</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>required</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>start</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>title</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>whitespace_preserve</string> </key>
-                    <value> <string></string> </value>
-                </item>
-              </dictionary>
-            </value>
-        </item>
-        <item>
-            <key> <string>values</string> </key>
-            <value>
-              <dictionary>
-                <item>
-                    <key> <string>alternate_name</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>css_class</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>default</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>description</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>display_maxwidth</string> </key>
-                    <value> <int>2</int> </value>
-                </item>
-                <item>
-                    <key> <string>display_width</string> </key>
-                    <value> <int>2</int> </value>
-                </item>
-                <item>
-                    <key> <string>editable</string> </key>
-                    <value> <int>1</int> </value>
-                </item>
-                <item>
-                    <key> <string>enabled</string> </key>
-                    <value> <int>1</int> </value>
-                </item>
-                <item>
-                    <key> <string>end</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>external_validator</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>extra</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>hidden</string> </key>
-                    <value> <int>0</int> </value>
-                </item>
-                <item>
-                    <key> <string>required</string> </key>
-                    <value> <int>0</int> </value>
-                </item>
-                <item>
-                    <key> <string>start</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>title</string> </key>
-                    <value> <string>Day</string> </value>
-                </item>
-                <item>
-                    <key> <string>whitespace_preserve</string> </key>
-                    <value> <int>0</int> </value>
-                </item>
-              </dictionary>
-            </value>
-        </item>
-      </dictionary>
-    </pickle>
-  </record>
-  <record id="7" aka="AAAAAAAAAAc=">
-    <pickle>
-      <tuple>
-        <tuple>
-          <string>Products.Formulator.StandardFields</string>
-          <string>IntegerField</string>
-        </tuple>
-        <none/>
-      </tuple>
-    </pickle>
-    <pickle>
-      <dictionary>
-        <item>
-            <key> <string>id</string> </key>
-            <value> <string>hour</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>
-                <item>
-                    <key> <string>integer_out_of_range</string> </key>
-                    <value> <string>The integer you entered was out of range.</string> </value>
-                </item>
-                <item>
-                    <key> <string>not_integer</string> </key>
-                    <value> <string>You did not enter an integer.</string> </value>
-                </item>
-                <item>
-                    <key> <string>required_not_found</string> </key>
-                    <value> <string>Input is required but no input given.</string> </value>
-                </item>
-              </dictionary>
-            </value>
-        </item>
-        <item>
-            <key> <string>overrides</string> </key>
-            <value>
-              <dictionary>
-                <item>
-                    <key> <string>alternate_name</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>css_class</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>default</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>description</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>display_maxwidth</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>display_width</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>editable</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>enabled</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>end</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>external_validator</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>extra</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>hidden</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>required</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>start</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>title</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>whitespace_preserve</string> </key>
-                    <value> <string></string> </value>
-                </item>
-              </dictionary>
-            </value>
-        </item>
-        <item>
-            <key> <string>tales</string> </key>
-            <value>
-              <dictionary>
-                <item>
-                    <key> <string>alternate_name</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>css_class</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>default</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>description</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>display_maxwidth</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>display_width</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>editable</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>enabled</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>end</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>external_validator</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>extra</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>hidden</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>required</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>start</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>title</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>whitespace_preserve</string> </key>
-                    <value> <string></string> </value>
-                </item>
-              </dictionary>
-            </value>
-        </item>
-        <item>
-            <key> <string>values</string> </key>
-            <value>
-              <dictionary>
-                <item>
-                    <key> <string>alternate_name</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>css_class</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>default</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>description</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>display_maxwidth</string> </key>
-                    <value> <int>2</int> </value>
-                </item>
-                <item>
-                    <key> <string>display_width</string> </key>
-                    <value> <int>2</int> </value>
-                </item>
-                <item>
-                    <key> <string>editable</string> </key>
-                    <value> <int>1</int> </value>
-                </item>
-                <item>
-                    <key> <string>enabled</string> </key>
-                    <value> <int>1</int> </value>
-                </item>
-                <item>
-                    <key> <string>end</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>external_validator</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>extra</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>hidden</string> </key>
-                    <value> <int>0</int> </value>
-                </item>
-                <item>
-                    <key> <string>required</string> </key>
-                    <value> <int>0</int> </value>
-                </item>
-                <item>
-                    <key> <string>start</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>title</string> </key>
-                    <value> <string>Hour</string> </value>
-                </item>
-                <item>
-                    <key> <string>whitespace_preserve</string> </key>
-                    <value> <int>0</int> </value>
-                </item>
-              </dictionary>
-            </value>
-        </item>
-      </dictionary>
-    </pickle>
-  </record>
-  <record id="8" aka="AAAAAAAAAAg=">
-    <pickle>
-      <tuple>
-        <tuple>
-          <string>Products.Formulator.StandardFields</string>
-          <string>IntegerField</string>
-        </tuple>
-        <none/>
-      </tuple>
-    </pickle>
-    <pickle>
-      <dictionary>
-        <item>
-            <key> <string>id</string> </key>
-            <value> <string>minute</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>
-                <item>
-                    <key> <string>integer_out_of_range</string> </key>
-                    <value> <string>The integer you entered was out of range.</string> </value>
-                </item>
-                <item>
-                    <key> <string>not_integer</string> </key>
-                    <value> <string>You did not enter an integer.</string> </value>
-                </item>
-                <item>
-                    <key> <string>required_not_found</string> </key>
-                    <value> <string>Input is required but no input given.</string> </value>
-                </item>
-              </dictionary>
-            </value>
-        </item>
-        <item>
-            <key> <string>overrides</string> </key>
-            <value>
-              <dictionary>
-                <item>
-                    <key> <string>alternate_name</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>css_class</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>default</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>description</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>display_maxwidth</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>display_width</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>editable</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>enabled</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>end</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>external_validator</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>extra</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>hidden</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>required</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>start</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>title</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>whitespace_preserve</string> </key>
-                    <value> <string></string> </value>
-                </item>
-              </dictionary>
-            </value>
-        </item>
-        <item>
-            <key> <string>tales</string> </key>
-            <value>
-              <dictionary>
-                <item>
-                    <key> <string>alternate_name</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>css_class</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>default</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>description</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>display_maxwidth</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>display_width</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>editable</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>enabled</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>end</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>external_validator</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>extra</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>hidden</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>required</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>start</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>title</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>whitespace_preserve</string> </key>
-                    <value> <string></string> </value>
-                </item>
-              </dictionary>
-            </value>
-        </item>
-        <item>
-            <key> <string>values</string> </key>
-            <value>
-              <dictionary>
-                <item>
-                    <key> <string>alternate_name</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>css_class</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>default</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>description</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>display_maxwidth</string> </key>
-                    <value> <int>2</int> </value>
-                </item>
-                <item>
-                    <key> <string>display_width</string> </key>
-                    <value> <int>2</int> </value>
-                </item>
-                <item>
-                    <key> <string>editable</string> </key>
-                    <value> <int>1</int> </value>
-                </item>
-                <item>
-                    <key> <string>enabled</string> </key>
-                    <value> <int>1</int> </value>
-                </item>
-                <item>
-                    <key> <string>end</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>external_validator</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>extra</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>hidden</string> </key>
-                    <value> <int>0</int> </value>
-                </item>
-                <item>
-                    <key> <string>required</string> </key>
-                    <value> <int>0</int> </value>
-                </item>
-                <item>
-                    <key> <string>start</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>title</string> </key>
-                    <value> <string>Minute</string> </value>
-                </item>
-                <item>
-                    <key> <string>whitespace_preserve</string> </key>
-                    <value> <int>0</int> </value>
-                </item>
-              </dictionary>
-            </value>
-        </item>
-      </dictionary>
-    </pickle>
-  </record>
-  <record id="9" aka="AAAAAAAAAAk=">
-    <pickle>
-      <tuple>
-        <tuple>
-          <string>Products.Formulator.StandardFields</string>
-          <string>IntegerField</string>
-        </tuple>
-        <none/>
-      </tuple>
-    </pickle>
-    <pickle>
-      <dictionary>
-        <item>
-            <key> <string>id</string> </key>
-            <value> <string>month</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>
-                <item>
-                    <key> <string>integer_out_of_range</string> </key>
-                    <value> <string>The integer you entered was out of range.</string> </value>
-                </item>
-                <item>
-                    <key> <string>not_integer</string> </key>
-                    <value> <string>You did not enter an integer.</string> </value>
-                </item>
-                <item>
-                    <key> <string>required_not_found</string> </key>
-                    <value> <string>Input is required but no input given.</string> </value>
-                </item>
-              </dictionary>
-            </value>
-        </item>
-        <item>
-            <key> <string>overrides</string> </key>
-            <value>
-              <dictionary>
-                <item>
-                    <key> <string>alternate_name</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>css_class</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>default</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>description</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>display_maxwidth</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>display_width</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>editable</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>enabled</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>end</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>external_validator</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>extra</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>hidden</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>required</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>start</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>title</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>whitespace_preserve</string> </key>
-                    <value> <string></string> </value>
-                </item>
-              </dictionary>
-            </value>
-        </item>
-        <item>
-            <key> <string>tales</string> </key>
-            <value>
-              <dictionary>
-                <item>
-                    <key> <string>alternate_name</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>css_class</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>default</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>description</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>display_maxwidth</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>display_width</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>editable</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>enabled</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>end</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>external_validator</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>extra</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>hidden</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>required</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>start</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>title</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>whitespace_preserve</string> </key>
-                    <value> <string></string> </value>
-                </item>
-              </dictionary>
-            </value>
-        </item>
-        <item>
-            <key> <string>values</string> </key>
-            <value>
-              <dictionary>
-                <item>
-                    <key> <string>alternate_name</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>css_class</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>default</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>description</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>display_maxwidth</string> </key>
-                    <value> <int>2</int> </value>
-                </item>
-                <item>
-                    <key> <string>display_width</string> </key>
-                    <value> <int>2</int> </value>
-                </item>
-                <item>
-                    <key> <string>editable</string> </key>
-                    <value> <int>1</int> </value>
-                </item>
-                <item>
-                    <key> <string>enabled</string> </key>
-                    <value> <int>1</int> </value>
-                </item>
-                <item>
-                    <key> <string>end</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>external_validator</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>extra</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>hidden</string> </key>
-                    <value> <int>0</int> </value>
-                </item>
-                <item>
-                    <key> <string>required</string> </key>
-                    <value> <int>0</int> </value>
-                </item>
-                <item>
-                    <key> <string>start</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>title</string> </key>
-                    <value> <string>Month</string> </value>
-                </item>
-                <item>
-                    <key> <string>whitespace_preserve</string> </key>
-                    <value> <int>0</int> </value>
-                </item>
-              </dictionary>
-            </value>
-        </item>
-      </dictionary>
-    </pickle>
-  </record>
-  <record id="10" aka="AAAAAAAAAAo=">
-    <pickle>
-      <tuple>
-        <tuple>
-          <string>Products.Formulator.StandardFields</string>
-          <string>IntegerField</string>
-        </tuple>
-        <none/>
-      </tuple>
-    </pickle>
-    <pickle>
-      <dictionary>
-        <item>
-            <key> <string>id</string> </key>
-            <value> <string>year</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>
-                <item>
-                    <key> <string>integer_out_of_range</string> </key>
-                    <value> <string>The integer you entered was out of range.</string> </value>
-                </item>
-                <item>
-                    <key> <string>not_integer</string> </key>
-                    <value> <string>You did not enter an integer.</string> </value>
-                </item>
-                <item>
-                    <key> <string>required_not_found</string> </key>
-                    <value> <string>Input is required but no input given.</string> </value>
-                </item>
-              </dictionary>
-            </value>
-        </item>
-        <item>
-            <key> <string>overrides</string> </key>
-            <value>
-              <dictionary>
-                <item>
-                    <key> <string>alternate_name</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>css_class</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>default</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>description</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>display_maxwidth</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>display_width</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>editable</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>enabled</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>end</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>external_validator</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>extra</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>hidden</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>required</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>start</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>title</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>whitespace_preserve</string> </key>
-                    <value> <string></string> </value>
-                </item>
-              </dictionary>
-            </value>
-        </item>
-        <item>
-            <key> <string>tales</string> </key>
-            <value>
-              <dictionary>
-                <item>
-                    <key> <string>alternate_name</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>css_class</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>default</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>description</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>display_maxwidth</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>display_width</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>editable</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>enabled</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>end</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>external_validator</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>extra</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>hidden</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>required</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>start</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>title</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>whitespace_preserve</string> </key>
-                    <value> <string></string> </value>
-                </item>
-              </dictionary>
-            </value>
-        </item>
-        <item>
-            <key> <string>values</string> </key>
-            <value>
-              <dictionary>
-                <item>
-                    <key> <string>alternate_name</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>css_class</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>default</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>description</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>display_maxwidth</string> </key>
-                    <value> <int>4</int> </value>
-                </item>
-                <item>
-                    <key> <string>display_width</string> </key>
-                    <value> <int>4</int> </value>
-                </item>
-                <item>
-                    <key> <string>editable</string> </key>
-                    <value> <int>1</int> </value>
-                </item>
-                <item>
-                    <key> <string>enabled</string> </key>
-                    <value> <int>1</int> </value>
-                </item>
-                <item>
-                    <key> <string>end</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>external_validator</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>extra</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>hidden</string> </key>
-                    <value> <int>0</int> </value>
-                </item>
-                <item>
-                    <key> <string>required</string> </key>
-                    <value> <int>0</int> </value>
-                </item>
-                <item>
-                    <key> <string>start</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>title</string> </key>
-                    <value> <string>Year</string> </value>
-                </item>
-                <item>
-                    <key> <string>whitespace_preserve</string> </key>
-                    <value> <int>0</int> </value>
-                </item>
-              </dictionary>
-            </value>
-        </item>
-      </dictionary>
-    </pickle>
-  </record>
 </ZopeData>
diff --git a/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountingTransactionModule_viewSearchDialog/your_reference.xml b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountingTransactionModule_viewSearchDialog/your_reference.xml
index 2e37708a74..6b6303e70c 100644
--- a/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountingTransactionModule_viewSearchDialog/your_reference.xml
+++ b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountingTransactionModule_viewSearchDialog/your_reference.xml
@@ -242,7 +242,7 @@
                 </item>
                 <item>
                     <key> <string>title</string> </key>
-                    <value> <string>Reference</string> </value>
+                    <value> <string>Document Reference</string> </value>
                 </item>
                 <item>
                     <key> <string>truncate</string> </key>
diff --git a/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountingTransactionModule_viewSearchDialog/your_to_date.xml b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountingTransactionModule_viewSearchDialog/your_to_date.xml
index 04cd1683f2..b6bba47f61 100644
--- a/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountingTransactionModule_viewSearchDialog/your_to_date.xml
+++ b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountingTransactionModule_viewSearchDialog/your_to_date.xml
@@ -3,12 +3,22 @@
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
       <tuple>
-        <global name="DateTimeField" module="Products.Formulator.StandardFields"/>
+        <global name="ProxyField" module="Products.ERP5Form.ProxyField"/>
         <tuple/>
       </tuple>
     </pickle>
     <pickle>
       <dictionary>
+        <item>
+            <key> <string>delegated_list</string> </key>
+            <value>
+              <list>
+                <string>default</string>
+                <string>description</string>
+                <string>title</string>
+              </list>
+            </value>
+        </item>
         <item>
             <key> <string>id</string> </key>
             <value> <string>your_to_date</string> </value>
@@ -17,22 +27,10 @@
             <key> <string>message_values</string> </key>
             <value>
               <dictionary>
-                <item>
-                    <key> <string>datetime_out_of_range</string> </key>
-                    <value> <string>The date and time you entered were out of range.</string> </value>
-                </item>
                 <item>
                     <key> <string>external_validator_failed</string> </key>
                     <value> <string>The input failed the external validator.</string> </value>
                 </item>
-                <item>
-                    <key> <string>not_datetime</string> </key>
-                    <value> <string>You did not enter a valid date and time.</string> </value>
-                </item>
-                <item>
-                    <key> <string>required_not_found</string> </key>
-                    <value> <string>Input is required but no input given.</string> </value>
-                </item>
               </dictionary>
             </value>
         </item>
@@ -41,188 +39,40 @@
             <value>
               <dictionary>
                 <item>
-                    <key> <string>allow_empty_time</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>alternate_name</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>ampm_time_style</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>css_class</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>date_only</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>date_separator</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>default</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>default_now</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>description</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>editable</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>enabled</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>end_datetime</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>external_validator</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>hidden</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>input_order</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>input_style</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>required</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>start_datetime</string> </key>
+                    <key> <string>field_id</string> </key>
                     <value> <string></string> </value>
                 </item>
                 <item>
-                    <key> <string>time_separator</string> </key>
+                    <key> <string>form_id</string> </key>
                     <value> <string></string> </value>
                 </item>
                 <item>
-                    <key> <string>title</string> </key>
+                    <key> <string>target</string> </key>
                     <value> <string></string> </value>
                 </item>
               </dictionary>
             </value>
         </item>
-        <item>
-            <key> <string>sub_form</string> </key>
-            <value>
-              <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
-            </value>
-        </item>
         <item>
             <key> <string>tales</string> </key>
             <value>
               <dictionary>
-                <item>
-                    <key> <string>allow_empty_time</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>alternate_name</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>ampm_time_style</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>css_class</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>date_only</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>date_separator</string> </key>
-                    <value> <string></string> </value>
-                </item>
                 <item>
                     <key> <string>default</string> </key>
                     <value>
-                      <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
-                    </value>
-                </item>
-                <item>
-                    <key> <string>default_now</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>description</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>editable</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>enabled</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>end_datetime</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>external_validator</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>hidden</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>hidden_day_is_last_day</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>hide_day</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>input_order</string> </key>
-                    <value>
-                      <persistent> <string encoding="base64">AAAAAAAAAAQ=</string> </persistent>
+                      <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
                     </value>
                 </item>
                 <item>
-                    <key> <string>input_style</string> </key>
+                    <key> <string>field_id</string> </key>
                     <value> <string></string> </value>
                 </item>
                 <item>
-                    <key> <string>required</string> </key>
+                    <key> <string>form_id</string> </key>
                     <value> <string></string> </value>
                 </item>
                 <item>
-                    <key> <string>start_datetime</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>time_separator</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>title</string> </key>
+                    <key> <string>target</string> </key>
                     <value> <string></string> </value>
                 </item>
               </dictionary>
@@ -232,87 +82,27 @@
             <key> <string>values</string> </key>
             <value>
               <dictionary>
-                <item>
-                    <key> <string>allow_empty_time</string> </key>
-                    <value> <int>0</int> </value>
-                </item>
-                <item>
-                    <key> <string>alternate_name</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>ampm_time_style</string> </key>
-                    <value> <int>0</int> </value>
-                </item>
-                <item>
-                    <key> <string>css_class</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>date_only</string> </key>
-                    <value> <int>1</int> </value>
-                </item>
-                <item>
-                    <key> <string>date_separator</string> </key>
-                    <value> <string>/</string> </value>
-                </item>
                 <item>
                     <key> <string>default</string> </key>
                     <value>
                       <none/>
                     </value>
                 </item>
-                <item>
-                    <key> <string>default_now</string> </key>
-                    <value> <int>0</int> </value>
-                </item>
                 <item>
                     <key> <string>description</string> </key>
                     <value> <string></string> </value>
                 </item>
                 <item>
-                    <key> <string>editable</string> </key>
-                    <value> <int>1</int> </value>
-                </item>
-                <item>
-                    <key> <string>enabled</string> </key>
-                    <value> <int>1</int> </value>
-                </item>
-                <item>
-                    <key> <string>end_datetime</string> </key>
-                    <value>
-                      <none/>
-                    </value>
-                </item>
-                <item>
-                    <key> <string>external_validator</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>hidden</string> </key>
-                    <value> <int>0</int> </value>
-                </item>
-                <item>
-                    <key> <string>input_order</string> </key>
-                    <value> <string>ymd</string> </value>
-                </item>
-                <item>
-                    <key> <string>input_style</string> </key>
-                    <value> <string>text</string> </value>
-                </item>
-                <item>
-                    <key> <string>required</string> </key>
-                    <value> <int>0</int> </value>
+                    <key> <string>field_id</string> </key>
+                    <value> <string>your_date</string> </value>
                 </item>
                 <item>
-                    <key> <string>start_datetime</string> </key>
-                    <value>
-                      <none/>
-                    </value>
+                    <key> <string>form_id</string> </key>
+                    <value> <string>Base_viewDialogFieldLibrary</string> </value>
                 </item>
                 <item>
-                    <key> <string>time_separator</string> </key>
-                    <value> <string>:</string> </value>
+                    <key> <string>target</string> </key>
+                    <value> <string>Click to edit the target</string> </value>
                 </item>
                 <item>
                     <key> <string>title</string> </key>
@@ -327,144 +117,8 @@
   <record id="2" aka="AAAAAAAAAAI=">
     <pickle>
       <tuple>
-        <tuple>
-          <string>Products.Formulator.Form</string>
-          <string>BasicForm</string>
-        </tuple>
-        <none/>
-      </tuple>
-    </pickle>
-    <pickle>
-      <dictionary>
-        <item>
-            <key> <string>action</string> </key>
-            <value> <string></string> </value>
-        </item>
-        <item>
-            <key> <string>encoding</string> </key>
-            <value> <string>UTF-8</string> </value>
-        </item>
-        <item>
-            <key> <string>enctype</string> </key>
-            <value> <string></string> </value>
-        </item>
-        <item>
-            <key> <string>fields</string> </key>
-            <value>
-              <dictionary>
-                <item>
-                    <key> <string>ampm</string> </key>
-                    <value>
-                      <persistent> <string encoding="base64">AAAAAAAAAAU=</string> </persistent>
-                    </value>
-                </item>
-                <item>
-                    <key> <string>day</string> </key>
-                    <value>
-                      <persistent> <string encoding="base64">AAAAAAAAAAY=</string> </persistent>
-                    </value>
-                </item>
-                <item>
-                    <key> <string>hour</string> </key>
-                    <value>
-                      <persistent> <string encoding="base64">AAAAAAAAAAc=</string> </persistent>
-                    </value>
-                </item>
-                <item>
-                    <key> <string>minute</string> </key>
-                    <value>
-                      <persistent> <string encoding="base64">AAAAAAAAAAg=</string> </persistent>
-                    </value>
-                </item>
-                <item>
-                    <key> <string>month</string> </key>
-                    <value>
-                      <persistent> <string encoding="base64">AAAAAAAAAAk=</string> </persistent>
-                    </value>
-                </item>
-                <item>
-                    <key> <string>year</string> </key>
-                    <value>
-                      <persistent> <string encoding="base64">AAAAAAAAAAo=</string> </persistent>
-                    </value>
-                </item>
-              </dictionary>
-            </value>
-        </item>
-        <item>
-            <key> <string>group_list</string> </key>
-            <value>
-              <list>
-                <string>Default</string>
-                <string>date</string>
-                <string>time</string>
-              </list>
-            </value>
-        </item>
-        <item>
-            <key> <string>groups</string> </key>
-            <value>
-              <dictionary>
-                <item>
-                    <key> <string>Default</string> </key>
-                    <value>
-                      <list/>
-                    </value>
-                </item>
-                <item>
-                    <key> <string>date</string> </key>
-                    <value>
-                      <list>
-                        <string>year</string>
-                        <string>month</string>
-                        <string>day</string>
-                      </list>
-                    </value>
-                </item>
-                <item>
-                    <key> <string>time</string> </key>
-                    <value>
-                      <list>
-                        <string>hour</string>
-                        <string>minute</string>
-                        <string>ampm</string>
-                      </list>
-                    </value>
-                </item>
-              </dictionary>
-            </value>
-        </item>
-        <item>
-            <key> <string>method</string> </key>
-            <value> <string>POST</string> </value>
-        </item>
-        <item>
-            <key> <string>name</string> </key>
-            <value> <string></string> </value>
-        </item>
-        <item>
-            <key> <string>stored_encoding</string> </key>
-            <value> <string>ISO-8859-1</string> </value>
-        </item>
-        <item>
-            <key> <string>title</string> </key>
-            <value> <string>Basic Form</string> </value>
-        </item>
-        <item>
-            <key> <string>unicode_mode</string> </key>
-            <value> <int>0</int> </value>
-        </item>
-      </dictionary>
-    </pickle>
-  </record>
-  <record id="3" aka="AAAAAAAAAAM=">
-    <pickle>
-      <tuple>
-        <tuple>
-          <string>Products.Formulator.TALESField</string>
-          <string>TALESMethod</string>
-        </tuple>
-        <none/>
+        <global name="TALESMethod" module="Products.Formulator.TALESField"/>
+        <tuple/>
       </tuple>
     </pickle>
     <pickle>
@@ -476,1561 +130,4 @@
       </dictionary>
     </pickle>
   </record>
-  <record id="4" aka="AAAAAAAAAAQ=">
-    <pickle>
-      <tuple>
-        <tuple>
-          <string>Products.Formulator.TALESField</string>
-          <string>TALESMethod</string>
-        </tuple>
-        <none/>
-      </tuple>
-    </pickle>
-    <pickle>
-      <dictionary>
-        <item>
-            <key> <string>_text</string> </key>
-            <value> <string>preferences/getPreferredDateOrder | string:ymd</string> </value>
-        </item>
-      </dictionary>
-    </pickle>
-  </record>
-  <record id="5" aka="AAAAAAAAAAU=">
-    <pickle>
-      <tuple>
-        <tuple>
-          <string>Products.Formulator.StandardFields</string>
-          <string>StringField</string>
-        </tuple>
-        <none/>
-      </tuple>
-    </pickle>
-    <pickle>
-      <dictionary>
-        <item>
-            <key> <string>id</string> </key>
-            <value> <string>ampm</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>
-                <item>
-                    <key> <string>required_not_found</string> </key>
-                    <value> <string>Input is required but no input given.</string> </value>
-                </item>
-                <item>
-                    <key> <string>too_long</string> </key>
-                    <value> <string>Too much input was given.</string> </value>
-                </item>
-              </dictionary>
-            </value>
-        </item>
-        <item>
-            <key> <string>overrides</string> </key>
-            <value>
-              <dictionary>
-                <item>
-                    <key> <string>alternate_name</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>css_class</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>default</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>description</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>display_maxwidth</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>display_width</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>editable</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>enabled</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>external_validator</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>extra</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>hidden</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>max_length</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>required</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>title</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>truncate</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>unicode</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>whitespace_preserve</string> </key>
-                    <value> <string></string> </value>
-                </item>
-              </dictionary>
-            </value>
-        </item>
-        <item>
-            <key> <string>tales</string> </key>
-            <value>
-              <dictionary>
-                <item>
-                    <key> <string>alternate_name</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>css_class</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>default</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>description</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>display_maxwidth</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>display_width</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>editable</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>enabled</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>external_validator</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>extra</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>hidden</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>max_length</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>required</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>title</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>truncate</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>unicode</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>whitespace_preserve</string> </key>
-                    <value> <string></string> </value>
-                </item>
-              </dictionary>
-            </value>
-        </item>
-        <item>
-            <key> <string>values</string> </key>
-            <value>
-              <dictionary>
-                <item>
-                    <key> <string>alternate_name</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>css_class</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>default</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>description</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>display_maxwidth</string> </key>
-                    <value> <int>2</int> </value>
-                </item>
-                <item>
-                    <key> <string>display_width</string> </key>
-                    <value> <int>2</int> </value>
-                </item>
-                <item>
-                    <key> <string>editable</string> </key>
-                    <value> <int>1</int> </value>
-                </item>
-                <item>
-                    <key> <string>enabled</string> </key>
-                    <value> <int>1</int> </value>
-                </item>
-                <item>
-                    <key> <string>external_validator</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>extra</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>hidden</string> </key>
-                    <value> <int>0</int> </value>
-                </item>
-                <item>
-                    <key> <string>max_length</string> </key>
-                    <value> <int>2</int> </value>
-                </item>
-                <item>
-                    <key> <string>required</string> </key>
-                    <value> <int>0</int> </value>
-                </item>
-                <item>
-                    <key> <string>title</string> </key>
-                    <value> <string>am/pm</string> </value>
-                </item>
-                <item>
-                    <key> <string>truncate</string> </key>
-                    <value> <int>0</int> </value>
-                </item>
-                <item>
-                    <key> <string>unicode</string> </key>
-                    <value> <int>0</int> </value>
-                </item>
-                <item>
-                    <key> <string>whitespace_preserve</string> </key>
-                    <value> <int>0</int> </value>
-                </item>
-              </dictionary>
-            </value>
-        </item>
-      </dictionary>
-    </pickle>
-  </record>
-  <record id="6" aka="AAAAAAAAAAY=">
-    <pickle>
-      <tuple>
-        <tuple>
-          <string>Products.Formulator.StandardFields</string>
-          <string>IntegerField</string>
-        </tuple>
-        <none/>
-      </tuple>
-    </pickle>
-    <pickle>
-      <dictionary>
-        <item>
-            <key> <string>id</string> </key>
-            <value> <string>day</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>
-                <item>
-                    <key> <string>integer_out_of_range</string> </key>
-                    <value> <string>The integer you entered was out of range.</string> </value>
-                </item>
-                <item>
-                    <key> <string>not_integer</string> </key>
-                    <value> <string>You did not enter an integer.</string> </value>
-                </item>
-                <item>
-                    <key> <string>required_not_found</string> </key>
-                    <value> <string>Input is required but no input given.</string> </value>
-                </item>
-              </dictionary>
-            </value>
-        </item>
-        <item>
-            <key> <string>overrides</string> </key>
-            <value>
-              <dictionary>
-                <item>
-                    <key> <string>alternate_name</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>css_class</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>default</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>description</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>display_maxwidth</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>display_width</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>editable</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>enabled</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>end</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>external_validator</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>extra</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>hidden</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>required</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>start</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>title</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>whitespace_preserve</string> </key>
-                    <value> <string></string> </value>
-                </item>
-              </dictionary>
-            </value>
-        </item>
-        <item>
-            <key> <string>tales</string> </key>
-            <value>
-              <dictionary>
-                <item>
-                    <key> <string>alternate_name</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>css_class</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>default</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>description</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>display_maxwidth</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>display_width</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>editable</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>enabled</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>end</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>external_validator</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>extra</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>hidden</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>required</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>start</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>title</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>whitespace_preserve</string> </key>
-                    <value> <string></string> </value>
-                </item>
-              </dictionary>
-            </value>
-        </item>
-        <item>
-            <key> <string>values</string> </key>
-            <value>
-              <dictionary>
-                <item>
-                    <key> <string>alternate_name</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>css_class</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>default</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>description</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>display_maxwidth</string> </key>
-                    <value> <int>2</int> </value>
-                </item>
-                <item>
-                    <key> <string>display_width</string> </key>
-                    <value> <int>2</int> </value>
-                </item>
-                <item>
-                    <key> <string>editable</string> </key>
-                    <value> <int>1</int> </value>
-                </item>
-                <item>
-                    <key> <string>enabled</string> </key>
-                    <value> <int>1</int> </value>
-                </item>
-                <item>
-                    <key> <string>end</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>external_validator</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>extra</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>hidden</string> </key>
-                    <value> <int>0</int> </value>
-                </item>
-                <item>
-                    <key> <string>required</string> </key>
-                    <value> <int>0</int> </value>
-                </item>
-                <item>
-                    <key> <string>start</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>title</string> </key>
-                    <value> <string>Day</string> </value>
-                </item>
-                <item>
-                    <key> <string>whitespace_preserve</string> </key>
-                    <value> <int>0</int> </value>
-                </item>
-              </dictionary>
-            </value>
-        </item>
-      </dictionary>
-    </pickle>
-  </record>
-  <record id="7" aka="AAAAAAAAAAc=">
-    <pickle>
-      <tuple>
-        <tuple>
-          <string>Products.Formulator.StandardFields</string>
-          <string>IntegerField</string>
-        </tuple>
-        <none/>
-      </tuple>
-    </pickle>
-    <pickle>
-      <dictionary>
-        <item>
-            <key> <string>id</string> </key>
-            <value> <string>hour</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>
-                <item>
-                    <key> <string>integer_out_of_range</string> </key>
-                    <value> <string>The integer you entered was out of range.</string> </value>
-                </item>
-                <item>
-                    <key> <string>not_integer</string> </key>
-                    <value> <string>You did not enter an integer.</string> </value>
-                </item>
-                <item>
-                    <key> <string>required_not_found</string> </key>
-                    <value> <string>Input is required but no input given.</string> </value>
-                </item>
-              </dictionary>
-            </value>
-        </item>
-        <item>
-            <key> <string>overrides</string> </key>
-            <value>
-              <dictionary>
-                <item>
-                    <key> <string>alternate_name</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>css_class</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>default</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>description</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>display_maxwidth</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>display_width</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>editable</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>enabled</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>end</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>external_validator</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>extra</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>hidden</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>required</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>start</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>title</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>whitespace_preserve</string> </key>
-                    <value> <string></string> </value>
-                </item>
-              </dictionary>
-            </value>
-        </item>
-        <item>
-            <key> <string>tales</string> </key>
-            <value>
-              <dictionary>
-                <item>
-                    <key> <string>alternate_name</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>css_class</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>default</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>description</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>display_maxwidth</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>display_width</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>editable</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>enabled</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>end</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>external_validator</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>extra</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>hidden</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>required</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>start</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>title</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>whitespace_preserve</string> </key>
-                    <value> <string></string> </value>
-                </item>
-              </dictionary>
-            </value>
-        </item>
-        <item>
-            <key> <string>values</string> </key>
-            <value>
-              <dictionary>
-                <item>
-                    <key> <string>alternate_name</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>css_class</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>default</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>description</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>display_maxwidth</string> </key>
-                    <value> <int>2</int> </value>
-                </item>
-                <item>
-                    <key> <string>display_width</string> </key>
-                    <value> <int>2</int> </value>
-                </item>
-                <item>
-                    <key> <string>editable</string> </key>
-                    <value> <int>1</int> </value>
-                </item>
-                <item>
-                    <key> <string>enabled</string> </key>
-                    <value> <int>1</int> </value>
-                </item>
-                <item>
-                    <key> <string>end</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>external_validator</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>extra</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>hidden</string> </key>
-                    <value> <int>0</int> </value>
-                </item>
-                <item>
-                    <key> <string>required</string> </key>
-                    <value> <int>0</int> </value>
-                </item>
-                <item>
-                    <key> <string>start</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>title</string> </key>
-                    <value> <string>Hour</string> </value>
-                </item>
-                <item>
-                    <key> <string>whitespace_preserve</string> </key>
-                    <value> <int>0</int> </value>
-                </item>
-              </dictionary>
-            </value>
-        </item>
-      </dictionary>
-    </pickle>
-  </record>
-  <record id="8" aka="AAAAAAAAAAg=">
-    <pickle>
-      <tuple>
-        <tuple>
-          <string>Products.Formulator.StandardFields</string>
-          <string>IntegerField</string>
-        </tuple>
-        <none/>
-      </tuple>
-    </pickle>
-    <pickle>
-      <dictionary>
-        <item>
-            <key> <string>id</string> </key>
-            <value> <string>minute</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>
-                <item>
-                    <key> <string>integer_out_of_range</string> </key>
-                    <value> <string>The integer you entered was out of range.</string> </value>
-                </item>
-                <item>
-                    <key> <string>not_integer</string> </key>
-                    <value> <string>You did not enter an integer.</string> </value>
-                </item>
-                <item>
-                    <key> <string>required_not_found</string> </key>
-                    <value> <string>Input is required but no input given.</string> </value>
-                </item>
-              </dictionary>
-            </value>
-        </item>
-        <item>
-            <key> <string>overrides</string> </key>
-            <value>
-              <dictionary>
-                <item>
-                    <key> <string>alternate_name</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>css_class</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>default</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>description</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>display_maxwidth</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>display_width</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>editable</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>enabled</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>end</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>external_validator</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>extra</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>hidden</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>required</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>start</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>title</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>whitespace_preserve</string> </key>
-                    <value> <string></string> </value>
-                </item>
-              </dictionary>
-            </value>
-        </item>
-        <item>
-            <key> <string>tales</string> </key>
-            <value>
-              <dictionary>
-                <item>
-                    <key> <string>alternate_name</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>css_class</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>default</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>description</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>display_maxwidth</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>display_width</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>editable</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>enabled</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>end</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>external_validator</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>extra</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>hidden</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>required</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>start</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>title</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>whitespace_preserve</string> </key>
-                    <value> <string></string> </value>
-                </item>
-              </dictionary>
-            </value>
-        </item>
-        <item>
-            <key> <string>values</string> </key>
-            <value>
-              <dictionary>
-                <item>
-                    <key> <string>alternate_name</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>css_class</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>default</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>description</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>display_maxwidth</string> </key>
-                    <value> <int>2</int> </value>
-                </item>
-                <item>
-                    <key> <string>display_width</string> </key>
-                    <value> <int>2</int> </value>
-                </item>
-                <item>
-                    <key> <string>editable</string> </key>
-                    <value> <int>1</int> </value>
-                </item>
-                <item>
-                    <key> <string>enabled</string> </key>
-                    <value> <int>1</int> </value>
-                </item>
-                <item>
-                    <key> <string>end</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>external_validator</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>extra</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>hidden</string> </key>
-                    <value> <int>0</int> </value>
-                </item>
-                <item>
-                    <key> <string>required</string> </key>
-                    <value> <int>0</int> </value>
-                </item>
-                <item>
-                    <key> <string>start</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>title</string> </key>
-                    <value> <string>Minute</string> </value>
-                </item>
-                <item>
-                    <key> <string>whitespace_preserve</string> </key>
-                    <value> <int>0</int> </value>
-                </item>
-              </dictionary>
-            </value>
-        </item>
-      </dictionary>
-    </pickle>
-  </record>
-  <record id="9" aka="AAAAAAAAAAk=">
-    <pickle>
-      <tuple>
-        <tuple>
-          <string>Products.Formulator.StandardFields</string>
-          <string>IntegerField</string>
-        </tuple>
-        <none/>
-      </tuple>
-    </pickle>
-    <pickle>
-      <dictionary>
-        <item>
-            <key> <string>id</string> </key>
-            <value> <string>month</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>
-                <item>
-                    <key> <string>integer_out_of_range</string> </key>
-                    <value> <string>The integer you entered was out of range.</string> </value>
-                </item>
-                <item>
-                    <key> <string>not_integer</string> </key>
-                    <value> <string>You did not enter an integer.</string> </value>
-                </item>
-                <item>
-                    <key> <string>required_not_found</string> </key>
-                    <value> <string>Input is required but no input given.</string> </value>
-                </item>
-              </dictionary>
-            </value>
-        </item>
-        <item>
-            <key> <string>overrides</string> </key>
-            <value>
-              <dictionary>
-                <item>
-                    <key> <string>alternate_name</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>css_class</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>default</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>description</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>display_maxwidth</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>display_width</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>editable</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>enabled</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>end</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>external_validator</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>extra</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>hidden</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>required</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>start</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>title</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>whitespace_preserve</string> </key>
-                    <value> <string></string> </value>
-                </item>
-              </dictionary>
-            </value>
-        </item>
-        <item>
-            <key> <string>tales</string> </key>
-            <value>
-              <dictionary>
-                <item>
-                    <key> <string>alternate_name</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>css_class</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>default</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>description</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>display_maxwidth</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>display_width</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>editable</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>enabled</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>end</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>external_validator</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>extra</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>hidden</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>required</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>start</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>title</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>whitespace_preserve</string> </key>
-                    <value> <string></string> </value>
-                </item>
-              </dictionary>
-            </value>
-        </item>
-        <item>
-            <key> <string>values</string> </key>
-            <value>
-              <dictionary>
-                <item>
-                    <key> <string>alternate_name</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>css_class</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>default</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>description</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>display_maxwidth</string> </key>
-                    <value> <int>2</int> </value>
-                </item>
-                <item>
-                    <key> <string>display_width</string> </key>
-                    <value> <int>2</int> </value>
-                </item>
-                <item>
-                    <key> <string>editable</string> </key>
-                    <value> <int>1</int> </value>
-                </item>
-                <item>
-                    <key> <string>enabled</string> </key>
-                    <value> <int>1</int> </value>
-                </item>
-                <item>
-                    <key> <string>end</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>external_validator</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>extra</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>hidden</string> </key>
-                    <value> <int>0</int> </value>
-                </item>
-                <item>
-                    <key> <string>required</string> </key>
-                    <value> <int>0</int> </value>
-                </item>
-                <item>
-                    <key> <string>start</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>title</string> </key>
-                    <value> <string>Month</string> </value>
-                </item>
-                <item>
-                    <key> <string>whitespace_preserve</string> </key>
-                    <value> <int>0</int> </value>
-                </item>
-              </dictionary>
-            </value>
-        </item>
-      </dictionary>
-    </pickle>
-  </record>
-  <record id="10" aka="AAAAAAAAAAo=">
-    <pickle>
-      <tuple>
-        <tuple>
-          <string>Products.Formulator.StandardFields</string>
-          <string>IntegerField</string>
-        </tuple>
-        <none/>
-      </tuple>
-    </pickle>
-    <pickle>
-      <dictionary>
-        <item>
-            <key> <string>id</string> </key>
-            <value> <string>year</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>
-                <item>
-                    <key> <string>integer_out_of_range</string> </key>
-                    <value> <string>The integer you entered was out of range.</string> </value>
-                </item>
-                <item>
-                    <key> <string>not_integer</string> </key>
-                    <value> <string>You did not enter an integer.</string> </value>
-                </item>
-                <item>
-                    <key> <string>required_not_found</string> </key>
-                    <value> <string>Input is required but no input given.</string> </value>
-                </item>
-              </dictionary>
-            </value>
-        </item>
-        <item>
-            <key> <string>overrides</string> </key>
-            <value>
-              <dictionary>
-                <item>
-                    <key> <string>alternate_name</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>css_class</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>default</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>description</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>display_maxwidth</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>display_width</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>editable</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>enabled</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>end</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>external_validator</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>extra</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>hidden</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>required</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>start</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>title</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>whitespace_preserve</string> </key>
-                    <value> <string></string> </value>
-                </item>
-              </dictionary>
-            </value>
-        </item>
-        <item>
-            <key> <string>tales</string> </key>
-            <value>
-              <dictionary>
-                <item>
-                    <key> <string>alternate_name</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>css_class</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>default</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>description</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>display_maxwidth</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>display_width</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>editable</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>enabled</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>end</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>external_validator</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>extra</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>hidden</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>required</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>start</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>title</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>whitespace_preserve</string> </key>
-                    <value> <string></string> </value>
-                </item>
-              </dictionary>
-            </value>
-        </item>
-        <item>
-            <key> <string>values</string> </key>
-            <value>
-              <dictionary>
-                <item>
-                    <key> <string>alternate_name</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>css_class</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>default</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>description</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>display_maxwidth</string> </key>
-                    <value> <int>4</int> </value>
-                </item>
-                <item>
-                    <key> <string>display_width</string> </key>
-                    <value> <int>4</int> </value>
-                </item>
-                <item>
-                    <key> <string>editable</string> </key>
-                    <value> <int>1</int> </value>
-                </item>
-                <item>
-                    <key> <string>enabled</string> </key>
-                    <value> <int>1</int> </value>
-                </item>
-                <item>
-                    <key> <string>end</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>external_validator</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>extra</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>hidden</string> </key>
-                    <value> <int>0</int> </value>
-                </item>
-                <item>
-                    <key> <string>required</string> </key>
-                    <value> <int>0</int> </value>
-                </item>
-                <item>
-                    <key> <string>start</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>title</string> </key>
-                    <value> <string>Year</string> </value>
-                </item>
-                <item>
-                    <key> <string>whitespace_preserve</string> </key>
-                    <value> <int>0</int> </value>
-                </item>
-              </dictionary>
-            </value>
-        </item>
-      </dictionary>
-    </pickle>
-  </record>
 </ZopeData>
diff --git a/bt5/erp5_accounting/bt/revision b/bt5/erp5_accounting/bt/revision
index 44cf1a6c0a..b5089da9fd 100644
--- a/bt5/erp5_accounting/bt/revision
+++ b/bt5/erp5_accounting/bt/revision
@@ -1 +1 @@
-1322
\ No newline at end of file
+1323
\ No newline at end of file
-- 
2.30.9


From dbb7386db01c6350bc6c94d0352893ba6af4954a Mon Sep 17 00:00:00 2001
From: Kazuhiko Shiozaki <kazuhiko@nexedi.com>
Date: Fri, 30 Jul 2010 08:56:25 +0000
Subject: [PATCH 205/270] fix a mistake in path argument and sort_on argument.

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@37374 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 .../portal_skins/erp5_toolbox/Base_getSimulationTree.xml      | 4 ++--
 bt5/erp5_forge/bt/revision                                    | 2 +-
 2 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_toolbox/Base_getSimulationTree.xml b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_toolbox/Base_getSimulationTree.xml
index 8dea31427b..922477e84e 100644
--- a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_toolbox/Base_getSimulationTree.xml
+++ b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_toolbox/Base_getSimulationTree.xml
@@ -72,8 +72,8 @@ def getByRecurse(obj,rv=[]):\n
 def getFromCatalog(start_path):\n
   return [x.getObject() for x in context.portal_catalog(\n
     portal_type=(\'Applied Rule\',\'Simulation Movement\',),\n
-    path=start_path+\'%%\',\n
-    sort_on=((\'path\',\'ascending\',\'string\'),)\n
+    path=[start_path, start_path+\'/%\'],\n
+    sort_on=((\'path\',\'ascending\',\'char\'),)\n
   )]\n
 \n
 if start_path is None:\n
diff --git a/bt5/erp5_forge/bt/revision b/bt5/erp5_forge/bt/revision
index fb4abc5b58..0c7f592376 100644
--- a/bt5/erp5_forge/bt/revision
+++ b/bt5/erp5_forge/bt/revision
@@ -1 +1 @@
-603
\ No newline at end of file
+604
\ No newline at end of file
-- 
2.30.9


From 2baa1feb0a9a61bfb897fc2586f3aae36d66b1ed Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?J=C3=A9rome=20Perrin?= <jerome@nexedi.com>
Date: Fri, 30 Jul 2010 08:58:19 +0000
Subject: [PATCH 206/270] use different forms for profile tab, to have non
 editable source and destination reference and appropriate glossary terms

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@37375 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 .../Accounting%20Transaction/profile_view.xml |   6 +-
 .../profile_view.xml                          |   2 +-
 .../profile_view_destination.xml              |   6 +-
 .../profile_view_source.xml                   |   6 +-
 .../profile_view.xml                          |   6 +-
 .../profile_view.xml                          |   6 +-
 ...PurchaseInvoiceTransaction_viewProfile.xml | 150 ++++
 .../my_destination_administration_title.xml   | 631 +++++++++++++++++
 .../my_destination_carrier_title.xml          | 631 +++++++++++++++++
 .../my_destination_decision_title.xml         | 656 ++++++++++++++++++
 .../my_destination_payment.xml                | 283 ++++++++
 .../my_destination_project_title.xml          | 640 +++++++++++++++++
 .../my_destination_reference.xml              | 281 ++++++++
 .../my_destination_section_title.xml          | 656 ++++++++++++++++++
 .../my_destination_title.xml                  | 656 ++++++++++++++++++
 .../my_source_administration_title.xml        | 656 ++++++++++++++++++
 .../my_source_carrier_title.xml               | 631 +++++++++++++++++
 .../my_source_decision_title.xml              | 656 ++++++++++++++++++
 .../my_source_payment.xml                     | 283 ++++++++
 .../my_source_project_title.xml               | 640 +++++++++++++++++
 .../my_source_reference.xml                   | 281 ++++++++
 .../my_source_section_title.xml               | 656 ++++++++++++++++++
 .../my_source_title.xml                       | 656 ++++++++++++++++++
 .../SaleInvoiceTransaction_viewProfile.xml    | 150 ++++
 .../my_destination_administration_title.xml   | 631 +++++++++++++++++
 .../my_destination_carrier_title.xml          | 631 +++++++++++++++++
 .../my_destination_decision_title.xml         | 656 ++++++++++++++++++
 .../my_destination_payment.xml                | 283 ++++++++
 .../my_destination_project_title.xml          | 640 +++++++++++++++++
 .../my_destination_reference.xml              | 281 ++++++++
 .../my_destination_section_title.xml          | 656 ++++++++++++++++++
 .../my_destination_title.xml                  | 656 ++++++++++++++++++
 .../my_source_administration_title.xml        | 656 ++++++++++++++++++
 .../my_source_carrier_title.xml               | 631 +++++++++++++++++
 .../my_source_decision_title.xml              | 656 ++++++++++++++++++
 .../my_source_payment.xml                     | 283 ++++++++
 .../my_source_project_title.xml               | 640 +++++++++++++++++
 .../my_source_reference.xml                   | 281 ++++++++
 .../my_source_section_title.xml               | 656 ++++++++++++++++++
 .../my_source_title.xml                       | 656 ++++++++++++++++++
 bt5/erp5_accounting/bt/revision               |   2 +-
 41 files changed, 18108 insertions(+), 12 deletions(-)
 create mode 100644 bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/PurchaseInvoiceTransaction_viewProfile.xml
 create mode 100644 bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/PurchaseInvoiceTransaction_viewProfile/my_destination_administration_title.xml
 create mode 100644 bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/PurchaseInvoiceTransaction_viewProfile/my_destination_carrier_title.xml
 create mode 100644 bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/PurchaseInvoiceTransaction_viewProfile/my_destination_decision_title.xml
 create mode 100644 bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/PurchaseInvoiceTransaction_viewProfile/my_destination_payment.xml
 create mode 100644 bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/PurchaseInvoiceTransaction_viewProfile/my_destination_project_title.xml
 create mode 100644 bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/PurchaseInvoiceTransaction_viewProfile/my_destination_reference.xml
 create mode 100644 bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/PurchaseInvoiceTransaction_viewProfile/my_destination_section_title.xml
 create mode 100644 bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/PurchaseInvoiceTransaction_viewProfile/my_destination_title.xml
 create mode 100644 bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/PurchaseInvoiceTransaction_viewProfile/my_source_administration_title.xml
 create mode 100644 bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/PurchaseInvoiceTransaction_viewProfile/my_source_carrier_title.xml
 create mode 100644 bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/PurchaseInvoiceTransaction_viewProfile/my_source_decision_title.xml
 create mode 100644 bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/PurchaseInvoiceTransaction_viewProfile/my_source_payment.xml
 create mode 100644 bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/PurchaseInvoiceTransaction_viewProfile/my_source_project_title.xml
 create mode 100644 bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/PurchaseInvoiceTransaction_viewProfile/my_source_reference.xml
 create mode 100644 bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/PurchaseInvoiceTransaction_viewProfile/my_source_section_title.xml
 create mode 100644 bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/PurchaseInvoiceTransaction_viewProfile/my_source_title.xml
 create mode 100644 bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/SaleInvoiceTransaction_viewProfile.xml
 create mode 100644 bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/SaleInvoiceTransaction_viewProfile/my_destination_administration_title.xml
 create mode 100644 bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/SaleInvoiceTransaction_viewProfile/my_destination_carrier_title.xml
 create mode 100644 bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/SaleInvoiceTransaction_viewProfile/my_destination_decision_title.xml
 create mode 100644 bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/SaleInvoiceTransaction_viewProfile/my_destination_payment.xml
 create mode 100644 bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/SaleInvoiceTransaction_viewProfile/my_destination_project_title.xml
 create mode 100644 bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/SaleInvoiceTransaction_viewProfile/my_destination_reference.xml
 create mode 100644 bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/SaleInvoiceTransaction_viewProfile/my_destination_section_title.xml
 create mode 100644 bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/SaleInvoiceTransaction_viewProfile/my_destination_title.xml
 create mode 100644 bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/SaleInvoiceTransaction_viewProfile/my_source_administration_title.xml
 create mode 100644 bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/SaleInvoiceTransaction_viewProfile/my_source_carrier_title.xml
 create mode 100644 bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/SaleInvoiceTransaction_viewProfile/my_source_decision_title.xml
 create mode 100644 bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/SaleInvoiceTransaction_viewProfile/my_source_payment.xml
 create mode 100644 bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/SaleInvoiceTransaction_viewProfile/my_source_project_title.xml
 create mode 100644 bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/SaleInvoiceTransaction_viewProfile/my_source_reference.xml
 create mode 100644 bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/SaleInvoiceTransaction_viewProfile/my_source_section_title.xml
 create mode 100644 bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/SaleInvoiceTransaction_viewProfile/my_source_title.xml

diff --git a/bt5/erp5_accounting/ActionTemplateItem/portal_types/Accounting%20Transaction/profile_view.xml b/bt5/erp5_accounting/ActionTemplateItem/portal_types/Accounting%20Transaction/profile_view.xml
index 03e93645cf..68a286bffb 100644
--- a/bt5/erp5_accounting/ActionTemplateItem/portal_types/Accounting%20Transaction/profile_view.xml
+++ b/bt5/erp5_accounting/ActionTemplateItem/portal_types/Accounting%20Transaction/profile_view.xml
@@ -33,7 +33,9 @@
         </item>
         <item>
             <key> <string>description</string> </key>
-            <value> <string></string> </value>
+            <value>
+              <none/>
+            </value>
         </item>
         <item>
             <key> <string>icon</string> </key>
@@ -77,7 +79,7 @@
       <dictionary>
         <item>
             <key> <string>text</string> </key>
-            <value> <string>string:${object_url}/SaleTradeCondition_viewProfile</string> </value>
+            <value> <string>string:${object_url}/SaleInvoiceTransaction_viewProfile</string> </value>
         </item>
       </dictionary>
     </pickle>
diff --git a/bt5/erp5_accounting/ActionTemplateItem/portal_types/Internal%20Invoice%20Transaction/profile_view.xml b/bt5/erp5_accounting/ActionTemplateItem/portal_types/Internal%20Invoice%20Transaction/profile_view.xml
index a2217effb9..c7741eac0e 100644
--- a/bt5/erp5_accounting/ActionTemplateItem/portal_types/Internal%20Invoice%20Transaction/profile_view.xml
+++ b/bt5/erp5_accounting/ActionTemplateItem/portal_types/Internal%20Invoice%20Transaction/profile_view.xml
@@ -79,7 +79,7 @@
       <dictionary>
         <item>
             <key> <string>text</string> </key>
-            <value> <string>string:${object_url}/SaleTradeCondition_viewProfile</string> </value>
+            <value> <string>string:${object_url}/SaleInvoiceTransaction_viewProfile</string> </value>
         </item>
       </dictionary>
     </pickle>
diff --git a/bt5/erp5_accounting/ActionTemplateItem/portal_types/Payment%20Transaction/profile_view_destination.xml b/bt5/erp5_accounting/ActionTemplateItem/portal_types/Payment%20Transaction/profile_view_destination.xml
index e17b1397b4..3c05efbe20 100644
--- a/bt5/erp5_accounting/ActionTemplateItem/portal_types/Payment%20Transaction/profile_view_destination.xml
+++ b/bt5/erp5_accounting/ActionTemplateItem/portal_types/Payment%20Transaction/profile_view_destination.xml
@@ -35,7 +35,9 @@
         </item>
         <item>
             <key> <string>description</string> </key>
-            <value> <string></string> </value>
+            <value>
+              <none/>
+            </value>
         </item>
         <item>
             <key> <string>icon</string> </key>
@@ -79,7 +81,7 @@
       <dictionary>
         <item>
             <key> <string>text</string> </key>
-            <value> <string>string:${object_url}/PurchaseTradeCondition_viewProfile</string> </value>
+            <value> <string>string:${object_url}/PurchaseInvoiceTransaction_viewProfile</string> </value>
         </item>
       </dictionary>
     </pickle>
diff --git a/bt5/erp5_accounting/ActionTemplateItem/portal_types/Payment%20Transaction/profile_view_source.xml b/bt5/erp5_accounting/ActionTemplateItem/portal_types/Payment%20Transaction/profile_view_source.xml
index 4fc7ff20ab..6021f069af 100644
--- a/bt5/erp5_accounting/ActionTemplateItem/portal_types/Payment%20Transaction/profile_view_source.xml
+++ b/bt5/erp5_accounting/ActionTemplateItem/portal_types/Payment%20Transaction/profile_view_source.xml
@@ -35,7 +35,9 @@
         </item>
         <item>
             <key> <string>description</string> </key>
-            <value> <string></string> </value>
+            <value>
+              <none/>
+            </value>
         </item>
         <item>
             <key> <string>icon</string> </key>
@@ -79,7 +81,7 @@
       <dictionary>
         <item>
             <key> <string>text</string> </key>
-            <value> <string>string:${object_url}/SaleTradeCondition_viewProfile</string> </value>
+            <value> <string>string:${object_url}/SaleInvoiceTransaction_viewProfile</string> </value>
         </item>
       </dictionary>
     </pickle>
diff --git a/bt5/erp5_accounting/ActionTemplateItem/portal_types/Purchase%20Invoice%20Transaction/profile_view.xml b/bt5/erp5_accounting/ActionTemplateItem/portal_types/Purchase%20Invoice%20Transaction/profile_view.xml
index 2da2375baa..709bbd4796 100644
--- a/bt5/erp5_accounting/ActionTemplateItem/portal_types/Purchase%20Invoice%20Transaction/profile_view.xml
+++ b/bt5/erp5_accounting/ActionTemplateItem/portal_types/Purchase%20Invoice%20Transaction/profile_view.xml
@@ -33,7 +33,9 @@
         </item>
         <item>
             <key> <string>description</string> </key>
-            <value> <string></string> </value>
+            <value>
+              <none/>
+            </value>
         </item>
         <item>
             <key> <string>icon</string> </key>
@@ -77,7 +79,7 @@
       <dictionary>
         <item>
             <key> <string>text</string> </key>
-            <value> <string>string:${object_url}/PurchaseTradeCondition_viewProfile</string> </value>
+            <value> <string>string:${object_url}/PurchaseInvoiceTransaction_viewProfile</string> </value>
         </item>
       </dictionary>
     </pickle>
diff --git a/bt5/erp5_accounting/ActionTemplateItem/portal_types/Sale%20Invoice%20Transaction/profile_view.xml b/bt5/erp5_accounting/ActionTemplateItem/portal_types/Sale%20Invoice%20Transaction/profile_view.xml
index 66d60804d2..b2e7cca68b 100644
--- a/bt5/erp5_accounting/ActionTemplateItem/portal_types/Sale%20Invoice%20Transaction/profile_view.xml
+++ b/bt5/erp5_accounting/ActionTemplateItem/portal_types/Sale%20Invoice%20Transaction/profile_view.xml
@@ -33,7 +33,9 @@
         </item>
         <item>
             <key> <string>description</string> </key>
-            <value> <string></string> </value>
+            <value>
+              <none/>
+            </value>
         </item>
         <item>
             <key> <string>icon</string> </key>
@@ -77,7 +79,7 @@
       <dictionary>
         <item>
             <key> <string>text</string> </key>
-            <value> <string>string:${object_url}/SaleTradeCondition_viewProfile</string> </value>
+            <value> <string>string:${object_url}/SaleInvoiceTransaction_viewProfile</string> </value>
         </item>
       </dictionary>
     </pickle>
diff --git a/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/PurchaseInvoiceTransaction_viewProfile.xml b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/PurchaseInvoiceTransaction_viewProfile.xml
new file mode 100644
index 0000000000..c07fb442ac
--- /dev/null
+++ b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/PurchaseInvoiceTransaction_viewProfile.xml
@@ -0,0 +1,150 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="ERP5Form" module="Products.ERP5Form.Form"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_bind_names</string> </key>
+            <value>
+              <object>
+                <klass>
+                  <global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/>
+                </klass>
+                <tuple/>
+                <state>
+                  <dictionary>
+                    <item>
+                        <key> <string>_asgns</string> </key>
+                        <value>
+                          <dictionary/>
+                        </value>
+                    </item>
+                  </dictionary>
+                </state>
+              </object>
+            </value>
+        </item>
+        <item>
+            <key> <string>_objects</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+        <item>
+            <key> <string>action</string> </key>
+            <value> <string>Base_edit</string> </value>
+        </item>
+        <item>
+            <key> <string>description</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>edit_order</string> </key>
+            <value>
+              <list/>
+            </value>
+        </item>
+        <item>
+            <key> <string>encoding</string> </key>
+            <value> <string>UTF-8</string> </value>
+        </item>
+        <item>
+            <key> <string>enctype</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>group_list</string> </key>
+            <value>
+              <list>
+                <string>left</string>
+                <string>right</string>
+              </list>
+            </value>
+        </item>
+        <item>
+            <key> <string>groups</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>left</string> </key>
+                    <value>
+                      <list>
+                        <string>my_destination_section_title</string>
+                        <string>my_destination_title</string>
+                        <string>my_destination_decision_title</string>
+                        <string>my_destination_administration_title</string>
+                        <string>my_destination_payment</string>
+                        <string>my_destination_project_title</string>
+                        <string>my_destination_reference</string>
+                        <string>my_destination_carrier_title</string>
+                      </list>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>right</string> </key>
+                    <value>
+                      <list>
+                        <string>my_source_section_title</string>
+                        <string>my_source_title</string>
+                        <string>my_source_decision_title</string>
+                        <string>my_source_administration_title</string>
+                        <string>my_source_payment</string>
+                        <string>my_source_project_title</string>
+                        <string>my_source_reference</string>
+                        <string>my_source_carrier_title</string>
+                      </list>
+                    </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>PurchaseInvoiceTransaction_viewProfile</string> </value>
+        </item>
+        <item>
+            <key> <string>method</string> </key>
+            <value> <string>POST</string> </value>
+        </item>
+        <item>
+            <key> <string>name</string> </key>
+            <value> <string>PurchaseTradeCondition_viewProfile</string> </value>
+        </item>
+        <item>
+            <key> <string>pt</string> </key>
+            <value> <string>form_view</string> </value>
+        </item>
+        <item>
+            <key> <string>row_length</string> </key>
+            <value> <int>4</int> </value>
+        </item>
+        <item>
+            <key> <string>stored_encoding</string> </key>
+            <value> <string>UTF-8</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>Profile</string> </value>
+        </item>
+        <item>
+            <key> <string>unicode_mode</string> </key>
+            <value> <int>0</int> </value>
+        </item>
+        <item>
+            <key> <string>update_action</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>update_action_title</string> </key>
+            <value> <string></string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/PurchaseInvoiceTransaction_viewProfile/my_destination_administration_title.xml b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/PurchaseInvoiceTransaction_viewProfile/my_destination_administration_title.xml
new file mode 100644
index 0000000000..89a0d87335
--- /dev/null
+++ b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/PurchaseInvoiceTransaction_viewProfile/my_destination_administration_title.xml
@@ -0,0 +1,631 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="RelationStringField" module="Products.ERP5Form.RelationField"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>my_destination_administration_title</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>
+                <item>
+                    <key> <string>line_too_long</string> </key>
+                    <value> <string>A line was too long.</string> </value>
+                </item>
+                <item>
+                    <key> <string>relation_result_ambiguous</string> </key>
+                    <value> <string>Select appropriate document in the list.</string> </value>
+                </item>
+                <item>
+                    <key> <string>relation_result_empty</string> </key>
+                    <value> <string>No such document was found.</string> </value>
+                </item>
+                <item>
+                    <key> <string>relation_result_too_long</string> </key>
+                    <value> <string>Too many documents were found.</string> </value>
+                </item>
+                <item>
+                    <key> <string>required_not_found</string> </key>
+                    <value> <string>Input is required but no input given.</string> </value>
+                </item>
+                <item>
+                    <key> <string>too_long</string> </key>
+                    <value> <string>You entered too many characters.</string> </value>
+                </item>
+                <item>
+                    <key> <string>too_many_lines</string> </key>
+                    <value> <string>You entered too many lines.</string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>overrides</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>allow_creation</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>allow_jump</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>alternate_name</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>base_category</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>catalog_index</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>columns</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>container_getter_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>css_class</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>default</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>description</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>display_maxwidth</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>display_width</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>editable</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>enabled</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>external_validator</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>extra</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>extra_item</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>first_item</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>hidden</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>items</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>jump_method</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>list_method</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>max_length</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>max_linelength</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>max_lines</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>parameter_list</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>portal_type</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>proxy_listbox_ids</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>relation_form_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>relation_setter_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>required</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>size</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>sort</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>title</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>truncate</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>unicode</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>update_method</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>whitespace_preserve</string> </key>
+                    <value> <string></string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>tales</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>allow_creation</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>allow_jump</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>alternate_name</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>base_category</string> </key>
+                    <value>
+                      <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>catalog_index</string> </key>
+                    <value>
+                      <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>columns</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>container_getter_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>css_class</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>default</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>description</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>display_maxwidth</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>display_width</string> </key>
+                    <value>
+                      <persistent> <string encoding="base64">AAAAAAAAAAQ=</string> </persistent>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>editable</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>enabled</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>external_validator</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>extra</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>extra_item</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>first_item</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>hidden</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>items</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>jump_method</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>list_method</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>max_length</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>max_linelength</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>max_lines</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>parameter_list</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>portal_type</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>proxy_listbox_ids</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>relation_form_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>relation_setter_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>required</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>size</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>sort</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>title</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>truncate</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>unicode</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>update_method</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>whitespace_preserve</string> </key>
+                    <value> <string></string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>values</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>allow_creation</string> </key>
+                    <value> <int>1</int> </value>
+                </item>
+                <item>
+                    <key> <string>allow_jump</string> </key>
+                    <value> <int>1</int> </value>
+                </item>
+                <item>
+                    <key> <string>alternate_name</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>base_category</string> </key>
+                    <value> <string>(tales)</string> </value>
+                </item>
+                <item>
+                    <key> <string>catalog_index</string> </key>
+                    <value> <string>(tales)</string> </value>
+                </item>
+                <item>
+                    <key> <string>columns</string> </key>
+                    <value>
+                      <list/>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>container_getter_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>css_class</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>default</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>description</string> </key>
+                    <value> <string>The person or organisation which the invoice should be sent to and who is in charge of handling administrative paperwork for the client.</string> </value>
+                </item>
+                <item>
+                    <key> <string>display_maxwidth</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>display_width</string> </key>
+                    <value> <int>20</int> </value>
+                </item>
+                <item>
+                    <key> <string>editable</string> </key>
+                    <value> <int>1</int> </value>
+                </item>
+                <item>
+                    <key> <string>enabled</string> </key>
+                    <value> <int>1</int> </value>
+                </item>
+                <item>
+                    <key> <string>external_validator</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>extra</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>extra_item</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>first_item</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+                <item>
+                    <key> <string>hidden</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+                <item>
+                    <key> <string>items</string> </key>
+                    <value>
+                      <list/>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>jump_method</string> </key>
+                    <value> <string>Base_jumpToRelatedDocument</string> </value>
+                </item>
+                <item>
+                    <key> <string>list_method</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>max_length</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>max_linelength</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>max_lines</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>parameter_list</string> </key>
+                    <value>
+                      <list/>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>portal_type</string> </key>
+                    <value>
+                      <list>
+                        <tuple>
+                          <string>Organisation</string>
+                          <string>Organisation</string>
+                        </tuple>
+                        <tuple>
+                          <string>Person</string>
+                          <string>Person</string>
+                        </tuple>
+                      </list>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>proxy_listbox_ids</string> </key>
+                    <value>
+                      <list>
+                        <tuple>
+                          <string>Base_viewRelatedObjectListBase/listbox</string>
+                          <string>All</string>
+                        </tuple>
+                        <tuple>
+                          <string>ERP5Site_viewClientNodeList/listbox</string>
+                          <string>Clients</string>
+                        </tuple>
+                        <tuple>
+                          <string>ERP5Site_viewSupplierNodeList/listbox</string>
+                          <string>Suppliers</string>
+                        </tuple>
+                        <tuple>
+                          <string>OrganisationModule_viewOrganisationList/listbox</string>
+                          <string>Organisations</string>
+                        </tuple>
+                        <tuple>
+                          <string>PersonModule_viewPersonList/listbox</string>
+                          <string>Persons</string>
+                        </tuple>
+                      </list>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>relation_form_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>relation_setter_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>required</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+                <item>
+                    <key> <string>size</string> </key>
+                    <value> <int>1</int> </value>
+                </item>
+                <item>
+                    <key> <string>sort</string> </key>
+                    <value>
+                      <list/>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>title</string> </key>
+                    <value> <string>Invoice Recipient</string> </value>
+                </item>
+                <item>
+                    <key> <string>truncate</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+                <item>
+                    <key> <string>unicode</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+                <item>
+                    <key> <string>update_method</string> </key>
+                    <value> <string>Base_validateRelation</string> </value>
+                </item>
+                <item>
+                    <key> <string>whitespace_preserve</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+      </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: field.Base_getFieldParameterDict()[\'base_category\']</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="3" aka="AAAAAAAAAAM=">
+    <pickle>
+      <tuple>
+        <global name="TALESMethod" module="Products.Formulator.TALESField"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_text</string> </key>
+            <value> <string>python: field.Base_getFieldParameterDict()[\'catalog_index\']</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="4" aka="AAAAAAAAAAQ=">
+    <pickle>
+      <tuple>
+        <global name="TALESMethod" module="Products.Formulator.TALESField"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_text</string> </key>
+            <value> <string>python: preferences.getPreference(\'preferred_string_field_width\', 30)</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/PurchaseInvoiceTransaction_viewProfile/my_destination_carrier_title.xml b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/PurchaseInvoiceTransaction_viewProfile/my_destination_carrier_title.xml
new file mode 100644
index 0000000000..18a6bcbb93
--- /dev/null
+++ b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/PurchaseInvoiceTransaction_viewProfile/my_destination_carrier_title.xml
@@ -0,0 +1,631 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="RelationStringField" module="Products.ERP5Form.RelationField"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>my_destination_carrier_title</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>
+                <item>
+                    <key> <string>line_too_long</string> </key>
+                    <value> <string>A line was too long.</string> </value>
+                </item>
+                <item>
+                    <key> <string>relation_result_ambiguous</string> </key>
+                    <value> <string>Select appropriate document in the list.</string> </value>
+                </item>
+                <item>
+                    <key> <string>relation_result_empty</string> </key>
+                    <value> <string>No such document was found.</string> </value>
+                </item>
+                <item>
+                    <key> <string>relation_result_too_long</string> </key>
+                    <value> <string>Too many documents were found.</string> </value>
+                </item>
+                <item>
+                    <key> <string>required_not_found</string> </key>
+                    <value> <string>Input is required but no input given.</string> </value>
+                </item>
+                <item>
+                    <key> <string>too_long</string> </key>
+                    <value> <string>You entered too many characters.</string> </value>
+                </item>
+                <item>
+                    <key> <string>too_many_lines</string> </key>
+                    <value> <string>You entered too many lines.</string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>overrides</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>allow_creation</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>allow_jump</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>alternate_name</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>base_category</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>catalog_index</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>columns</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>container_getter_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>css_class</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>default</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>description</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>display_maxwidth</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>display_width</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>editable</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>enabled</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>external_validator</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>extra</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>extra_item</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>first_item</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>hidden</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>items</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>jump_method</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>list_method</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>max_length</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>max_linelength</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>max_lines</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>parameter_list</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>portal_type</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>proxy_listbox_ids</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>relation_form_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>relation_setter_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>required</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>size</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>sort</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>title</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>truncate</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>unicode</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>update_method</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>whitespace_preserve</string> </key>
+                    <value> <string></string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>tales</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>allow_creation</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>allow_jump</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>alternate_name</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>base_category</string> </key>
+                    <value>
+                      <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>catalog_index</string> </key>
+                    <value>
+                      <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>columns</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>container_getter_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>css_class</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>default</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>description</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>display_maxwidth</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>display_width</string> </key>
+                    <value>
+                      <persistent> <string encoding="base64">AAAAAAAAAAQ=</string> </persistent>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>editable</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>enabled</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>external_validator</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>extra</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>extra_item</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>first_item</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>hidden</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>items</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>jump_method</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>list_method</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>max_length</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>max_linelength</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>max_lines</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>parameter_list</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>portal_type</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>proxy_listbox_ids</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>relation_form_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>relation_setter_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>required</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>size</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>sort</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>title</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>truncate</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>unicode</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>update_method</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>whitespace_preserve</string> </key>
+                    <value> <string></string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>values</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>allow_creation</string> </key>
+                    <value> <int>1</int> </value>
+                </item>
+                <item>
+                    <key> <string>allow_jump</string> </key>
+                    <value> <int>1</int> </value>
+                </item>
+                <item>
+                    <key> <string>alternate_name</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>base_category</string> </key>
+                    <value> <string>(tales)</string> </value>
+                </item>
+                <item>
+                    <key> <string>catalog_index</string> </key>
+                    <value> <string>(tales)</string> </value>
+                </item>
+                <item>
+                    <key> <string>columns</string> </key>
+                    <value>
+                      <list/>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>container_getter_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>css_class</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>default</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>description</string> </key>
+                    <value> <string>The logistic company in charge of delivering goods at the destination warehouse.</string> </value>
+                </item>
+                <item>
+                    <key> <string>display_maxwidth</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>display_width</string> </key>
+                    <value> <int>20</int> </value>
+                </item>
+                <item>
+                    <key> <string>editable</string> </key>
+                    <value> <int>1</int> </value>
+                </item>
+                <item>
+                    <key> <string>enabled</string> </key>
+                    <value> <int>1</int> </value>
+                </item>
+                <item>
+                    <key> <string>external_validator</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>extra</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>extra_item</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>first_item</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+                <item>
+                    <key> <string>hidden</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+                <item>
+                    <key> <string>items</string> </key>
+                    <value>
+                      <list/>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>jump_method</string> </key>
+                    <value> <string>Base_jumpToRelatedDocument</string> </value>
+                </item>
+                <item>
+                    <key> <string>list_method</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>max_length</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>max_linelength</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>max_lines</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>parameter_list</string> </key>
+                    <value>
+                      <list/>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>portal_type</string> </key>
+                    <value>
+                      <list>
+                        <tuple>
+                          <string>Organisation</string>
+                          <string>Organisation</string>
+                        </tuple>
+                        <tuple>
+                          <string>Person</string>
+                          <string>Person</string>
+                        </tuple>
+                      </list>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>proxy_listbox_ids</string> </key>
+                    <value>
+                      <list>
+                        <tuple>
+                          <string>Base_viewRelatedObjectListBase/listbox</string>
+                          <string>All</string>
+                        </tuple>
+                        <tuple>
+                          <string>ERP5Site_viewClientNodeList/listbox</string>
+                          <string>Clients</string>
+                        </tuple>
+                        <tuple>
+                          <string>ERP5Site_viewSupplierNodeList/listbox</string>
+                          <string>Suppliers</string>
+                        </tuple>
+                        <tuple>
+                          <string>OrganisationModule_viewOrganisationList/listbox</string>
+                          <string>Organisations</string>
+                        </tuple>
+                        <tuple>
+                          <string>PersonModule_viewPersonList/listbox</string>
+                          <string>Persons</string>
+                        </tuple>
+                      </list>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>relation_form_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>relation_setter_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>required</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+                <item>
+                    <key> <string>size</string> </key>
+                    <value> <int>1</int> </value>
+                </item>
+                <item>
+                    <key> <string>sort</string> </key>
+                    <value>
+                      <list/>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>title</string> </key>
+                    <value> <string>Destination Carrier</string> </value>
+                </item>
+                <item>
+                    <key> <string>truncate</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+                <item>
+                    <key> <string>unicode</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+                <item>
+                    <key> <string>update_method</string> </key>
+                    <value> <string>Base_validateRelation</string> </value>
+                </item>
+                <item>
+                    <key> <string>whitespace_preserve</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+      </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: field.Base_getFieldParameterDict()[\'base_category\']</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="3" aka="AAAAAAAAAAM=">
+    <pickle>
+      <tuple>
+        <global name="TALESMethod" module="Products.Formulator.TALESField"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_text</string> </key>
+            <value> <string>python: field.Base_getFieldParameterDict()[\'catalog_index\']</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="4" aka="AAAAAAAAAAQ=">
+    <pickle>
+      <tuple>
+        <global name="TALESMethod" module="Products.Formulator.TALESField"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_text</string> </key>
+            <value> <string>python: preferences.getPreference(\'preferred_string_field_width\', 30)</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/PurchaseInvoiceTransaction_viewProfile/my_destination_decision_title.xml b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/PurchaseInvoiceTransaction_viewProfile/my_destination_decision_title.xml
new file mode 100644
index 0000000000..fb5d01d1cc
--- /dev/null
+++ b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/PurchaseInvoiceTransaction_viewProfile/my_destination_decision_title.xml
@@ -0,0 +1,656 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="RelationStringField" module="Products.ERP5Form.RelationField"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>my_destination_decision_title</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>
+                <item>
+                    <key> <string>line_too_long</string> </key>
+                    <value> <string>A line was too long.</string> </value>
+                </item>
+                <item>
+                    <key> <string>relation_result_ambiguous</string> </key>
+                    <value> <string>Select appropriate document in the list.</string> </value>
+                </item>
+                <item>
+                    <key> <string>relation_result_empty</string> </key>
+                    <value> <string>No such document was found.</string> </value>
+                </item>
+                <item>
+                    <key> <string>relation_result_too_long</string> </key>
+                    <value> <string>Too many documents were found.</string> </value>
+                </item>
+                <item>
+                    <key> <string>required_not_found</string> </key>
+                    <value> <string>Input is required but no input given.</string> </value>
+                </item>
+                <item>
+                    <key> <string>too_long</string> </key>
+                    <value> <string>You entered too many characters.</string> </value>
+                </item>
+                <item>
+                    <key> <string>too_many_lines</string> </key>
+                    <value> <string>You entered too many lines.</string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>overrides</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>allow_creation</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>allow_jump</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>alternate_name</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>base_category</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>catalog_index</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>columns</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>container_getter_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>css_class</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>default</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>description</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>display_maxwidth</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>display_width</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>editable</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>enabled</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>external_validator</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>extra</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>extra_item</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>first_item</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>hidden</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>items</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>jump_method</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>list_method</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>max_length</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>max_linelength</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>max_lines</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>parameter_list</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>portal_type</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>proxy_listbox_ids</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>relation_form_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>relation_setter_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>required</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>size</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>sort</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>title</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>truncate</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>unicode</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>update_method</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>whitespace_preserve</string> </key>
+                    <value> <string></string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>tales</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>allow_creation</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>allow_jump</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>alternate_name</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>base_category</string> </key>
+                    <value>
+                      <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>catalog_index</string> </key>
+                    <value>
+                      <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>columns</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>container_getter_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>css_class</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>default</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>description</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>display_maxwidth</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>display_width</string> </key>
+                    <value>
+                      <persistent> <string encoding="base64">AAAAAAAAAAQ=</string> </persistent>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>editable</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>enabled</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>external_validator</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>extra</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>extra_item</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>first_item</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>hidden</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>items</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>jump_method</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>list_method</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>max_length</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>max_linelength</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>max_lines</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>parameter_list</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>portal_type</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>proxy_listbox_ids</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>relation_form_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>relation_setter_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>required</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>size</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>sort</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>title</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>truncate</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>unicode</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>update_method</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>whitespace_preserve</string> </key>
+                    <value> <string></string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>values</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>allow_creation</string> </key>
+                    <value> <int>1</int> </value>
+                </item>
+                <item>
+                    <key> <string>allow_jump</string> </key>
+                    <value> <int>1</int> </value>
+                </item>
+                <item>
+                    <key> <string>alternate_name</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>base_category</string> </key>
+                    <value> <string>(tales)</string> </value>
+                </item>
+                <item>
+                    <key> <string>catalog_index</string> </key>
+                    <value> <string>(tales)</string> </value>
+                </item>
+                <item>
+                    <key> <string>columns</string> </key>
+                    <value>
+                      <list>
+                        <tuple>
+                          <string>title</string>
+                          <string>Usual Name</string>
+                        </tuple>
+                        <tuple>
+                          <string>description</string>
+                          <string>Description</string>
+                        </tuple>
+                        <tuple>
+                          <string>getDefaultTelephoneText</string>
+                          <string>Telephone</string>
+                        </tuple>
+                        <tuple>
+                          <string>getDefaultAddressText</string>
+                          <string>Address</string>
+                        </tuple>
+                        <tuple>
+                          <string>translated_portal_type</string>
+                          <string>Type</string>
+                        </tuple>
+                        <tuple>
+                          <string>translated_validation_state_title</string>
+                          <string>State</string>
+                        </tuple>
+                      </list>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>container_getter_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>css_class</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>default</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>description</string> </key>
+                    <value> <string>The person or organisation in charge of selecting the supplier or taking the decision to place the order.</string> </value>
+                </item>
+                <item>
+                    <key> <string>display_maxwidth</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>display_width</string> </key>
+                    <value> <int>20</int> </value>
+                </item>
+                <item>
+                    <key> <string>editable</string> </key>
+                    <value> <int>1</int> </value>
+                </item>
+                <item>
+                    <key> <string>enabled</string> </key>
+                    <value> <int>1</int> </value>
+                </item>
+                <item>
+                    <key> <string>external_validator</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>extra</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>extra_item</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>first_item</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+                <item>
+                    <key> <string>hidden</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+                <item>
+                    <key> <string>items</string> </key>
+                    <value>
+                      <list/>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>jump_method</string> </key>
+                    <value> <string>Base_jumpToRelatedDocument</string> </value>
+                </item>
+                <item>
+                    <key> <string>list_method</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>max_length</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>max_linelength</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>max_lines</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>parameter_list</string> </key>
+                    <value>
+                      <list/>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>portal_type</string> </key>
+                    <value>
+                      <list>
+                        <tuple>
+                          <string>Organisation</string>
+                          <string>Organisation</string>
+                        </tuple>
+                        <tuple>
+                          <string>Person</string>
+                          <string>Person</string>
+                        </tuple>
+                      </list>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>proxy_listbox_ids</string> </key>
+                    <value>
+                      <list>
+                        <tuple>
+                          <string>Base_viewRelatedObjectListBase/listbox</string>
+                          <string>All</string>
+                        </tuple>
+                        <tuple>
+                          <string>ERP5Site_viewClientNodeList/listbox</string>
+                          <string>Clients</string>
+                        </tuple>
+                        <tuple>
+                          <string>ERP5Site_viewSupplierNodeList/listbox</string>
+                          <string>Suppliers</string>
+                        </tuple>
+                        <tuple>
+                          <string>OrganisationModule_viewOrganisationList/listbox</string>
+                          <string>Organisations</string>
+                        </tuple>
+                        <tuple>
+                          <string>PersonModule_viewPersonList/listbox</string>
+                          <string>Persons</string>
+                        </tuple>
+                      </list>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>relation_form_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>relation_setter_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>required</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+                <item>
+                    <key> <string>size</string> </key>
+                    <value> <int>1</int> </value>
+                </item>
+                <item>
+                    <key> <string>sort</string> </key>
+                    <value>
+                      <list/>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>title</string> </key>
+                    <value> <string>Buyer</string> </value>
+                </item>
+                <item>
+                    <key> <string>truncate</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+                <item>
+                    <key> <string>unicode</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+                <item>
+                    <key> <string>update_method</string> </key>
+                    <value> <string>Base_validateRelation</string> </value>
+                </item>
+                <item>
+                    <key> <string>whitespace_preserve</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+      </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: field.Base_getFieldParameterDict()[\'base_category\']</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="3" aka="AAAAAAAAAAM=">
+    <pickle>
+      <tuple>
+        <global name="TALESMethod" module="Products.Formulator.TALESField"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_text</string> </key>
+            <value> <string>python: field.Base_getFieldParameterDict()[\'catalog_index\']</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="4" aka="AAAAAAAAAAQ=">
+    <pickle>
+      <tuple>
+        <global name="TALESMethod" module="Products.Formulator.TALESField"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_text</string> </key>
+            <value> <string>python: preferences.getPreference(\'preferred_string_field_width\', 30)</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/PurchaseInvoiceTransaction_viewProfile/my_destination_payment.xml b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/PurchaseInvoiceTransaction_viewProfile/my_destination_payment.xml
new file mode 100644
index 0000000000..dc56d44e39
--- /dev/null
+++ b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/PurchaseInvoiceTransaction_viewProfile/my_destination_payment.xml
@@ -0,0 +1,283 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="ListField" module="Products.Formulator.StandardFields"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>my_destination_payment</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>
+                <item>
+                    <key> <string>required_not_found</string> </key>
+                    <value> <string>Input is required but no input given.</string> </value>
+                </item>
+                <item>
+                    <key> <string>unknown_selection</string> </key>
+                    <value> <string>You selected an item that was not in the list.</string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>overrides</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>alternate_name</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>css_class</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>default</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>description</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>editable</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>enabled</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>external_validator</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>extra</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>extra_item</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>first_item</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>hidden</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>items</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>required</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>size</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>title</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>unicode</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>whitespace_preserve</string> </key>
+                    <value> <string></string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>tales</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>alternate_name</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>css_class</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>default</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>description</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>editable</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>enabled</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>external_validator</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>extra</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>extra_item</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>first_item</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>hidden</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>items</string> </key>
+                    <value>
+                      <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>required</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>size</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>title</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>unicode</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>whitespace_preserve</string> </key>
+                    <value> <string></string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>values</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>alternate_name</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>css_class</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>default</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>description</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>editable</string> </key>
+                    <value> <int>1</int> </value>
+                </item>
+                <item>
+                    <key> <string>enabled</string> </key>
+                    <value> <int>1</int> </value>
+                </item>
+                <item>
+                    <key> <string>external_validator</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>extra</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>extra_item</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>first_item</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+                <item>
+                    <key> <string>hidden</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+                <item>
+                    <key> <string>items</string> </key>
+                    <value>
+                      <list/>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>required</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+                <item>
+                    <key> <string>size</string> </key>
+                    <value> <int>1</int> </value>
+                </item>
+                <item>
+                    <key> <string>title</string> </key>
+                    <value> <string>Client Bank Account</string> </value>
+                </item>
+                <item>
+                    <key> <string>unicode</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+                <item>
+                    <key> <string>whitespace_preserve</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+      </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: here.AccountingTransaction_getDestinationPaymentItemList()</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/PurchaseInvoiceTransaction_viewProfile/my_destination_project_title.xml b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/PurchaseInvoiceTransaction_viewProfile/my_destination_project_title.xml
new file mode 100644
index 0000000000..1e4b175cb7
--- /dev/null
+++ b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/PurchaseInvoiceTransaction_viewProfile/my_destination_project_title.xml
@@ -0,0 +1,640 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="RelationStringField" module="Products.ERP5Form.RelationField"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>my_destination_project_title</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>
+                <item>
+                    <key> <string>line_too_long</string> </key>
+                    <value> <string>A line was too long.</string> </value>
+                </item>
+                <item>
+                    <key> <string>relation_result_ambiguous</string> </key>
+                    <value> <string>Select appropriate document in the list.</string> </value>
+                </item>
+                <item>
+                    <key> <string>relation_result_empty</string> </key>
+                    <value> <string>No such document was found.</string> </value>
+                </item>
+                <item>
+                    <key> <string>relation_result_too_long</string> </key>
+                    <value> <string>Too many documents were found.</string> </value>
+                </item>
+                <item>
+                    <key> <string>required_not_found</string> </key>
+                    <value> <string>Input is required but no input given.</string> </value>
+                </item>
+                <item>
+                    <key> <string>too_long</string> </key>
+                    <value> <string>You entered too many characters.</string> </value>
+                </item>
+                <item>
+                    <key> <string>too_many_lines</string> </key>
+                    <value> <string>You entered too many lines.</string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>overrides</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>allow_creation</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>allow_jump</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>alternate_name</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>base_category</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>catalog_index</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>columns</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>container_getter_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>css_class</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>default</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>description</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>display_maxwidth</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>display_width</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>editable</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>enabled</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>external_validator</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>extra</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>extra_item</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>first_item</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>hidden</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>items</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>jump_method</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>list_method</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>max_length</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>max_linelength</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>max_lines</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>parameter_list</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>portal_type</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>proxy_listbox_ids</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>relation_form_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>relation_setter_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>required</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>size</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>sort</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>title</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>truncate</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>unicode</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>update_method</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>whitespace_preserve</string> </key>
+                    <value> <string></string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>tales</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>allow_creation</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>allow_jump</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>alternate_name</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>base_category</string> </key>
+                    <value>
+                      <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>catalog_index</string> </key>
+                    <value>
+                      <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>columns</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>container_getter_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>css_class</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>default</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>description</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>display_maxwidth</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>display_width</string> </key>
+                    <value>
+                      <persistent> <string encoding="base64">AAAAAAAAAAQ=</string> </persistent>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>editable</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>enabled</string> </key>
+                    <value>
+                      <persistent> <string encoding="base64">AAAAAAAAAAU=</string> </persistent>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>external_validator</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>extra</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>extra_item</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>first_item</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>hidden</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>items</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>jump_method</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>list_method</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>max_length</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>max_linelength</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>max_lines</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>parameter_list</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>portal_type</string> </key>
+                    <value>
+                      <persistent> <string encoding="base64">AAAAAAAAAAY=</string> </persistent>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>proxy_listbox_ids</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>relation_form_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>relation_setter_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>required</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>size</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>sort</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>title</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>truncate</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>unicode</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>update_method</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>whitespace_preserve</string> </key>
+                    <value> <string></string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>values</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>allow_creation</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+                <item>
+                    <key> <string>allow_jump</string> </key>
+                    <value> <int>1</int> </value>
+                </item>
+                <item>
+                    <key> <string>alternate_name</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>base_category</string> </key>
+                    <value> <string>(tales)</string> </value>
+                </item>
+                <item>
+                    <key> <string>catalog_index</string> </key>
+                    <value> <string>(tales)</string> </value>
+                </item>
+                <item>
+                    <key> <string>columns</string> </key>
+                    <value>
+                      <list/>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>container_getter_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>css_class</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>default</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>description</string> </key>
+                    <value> <string>The project to which this transaction is related to on the client side.</string> </value>
+                </item>
+                <item>
+                    <key> <string>display_maxwidth</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>display_width</string> </key>
+                    <value> <int>20</int> </value>
+                </item>
+                <item>
+                    <key> <string>editable</string> </key>
+                    <value> <int>1</int> </value>
+                </item>
+                <item>
+                    <key> <string>enabled</string> </key>
+                    <value> <int>1</int> </value>
+                </item>
+                <item>
+                    <key> <string>external_validator</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>extra</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>extra_item</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>first_item</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+                <item>
+                    <key> <string>hidden</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+                <item>
+                    <key> <string>items</string> </key>
+                    <value>
+                      <list/>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>jump_method</string> </key>
+                    <value> <string>Base_jumpToRelatedDocument</string> </value>
+                </item>
+                <item>
+                    <key> <string>list_method</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>max_length</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>max_linelength</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>max_lines</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>parameter_list</string> </key>
+                    <value>
+                      <list/>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>portal_type</string> </key>
+                    <value>
+                      <list>
+                        <tuple>
+                          <string>(tales)</string>
+                          <string>(tales)</string>
+                        </tuple>
+                      </list>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>proxy_listbox_ids</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>relation_form_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>relation_setter_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>required</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+                <item>
+                    <key> <string>size</string> </key>
+                    <value> <int>1</int> </value>
+                </item>
+                <item>
+                    <key> <string>sort</string> </key>
+                    <value>
+                      <list/>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>title</string> </key>
+                    <value> <string>Client Project</string> </value>
+                </item>
+                <item>
+                    <key> <string>truncate</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+                <item>
+                    <key> <string>unicode</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+                <item>
+                    <key> <string>update_method</string> </key>
+                    <value> <string>Base_validateRelation</string> </value>
+                </item>
+                <item>
+                    <key> <string>whitespace_preserve</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+      </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: field.Base_getFieldParameterDict()[\'base_category\']</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="3" aka="AAAAAAAAAAM=">
+    <pickle>
+      <tuple>
+        <global name="TALESMethod" module="Products.Formulator.TALESField"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_text</string> </key>
+            <value> <string>python: field.Base_getFieldParameterDict()[\'catalog_index\']</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="4" aka="AAAAAAAAAAQ=">
+    <pickle>
+      <tuple>
+        <global name="TALESMethod" module="Products.Formulator.TALESField"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_text</string> </key>
+            <value> <string>python: preferences.getPreference(\'preferred_string_field_width\', 30)</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="5" aka="AAAAAAAAAAU=">
+    <pickle>
+      <tuple>
+        <global name="TALESMethod" module="Products.Formulator.TALESField"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_text</string> </key>
+            <value> <string>context/getPortalProjectTypeList</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="6" aka="AAAAAAAAAAY=">
+    <pickle>
+      <tuple>
+        <global name="TALESMethod" module="Products.Formulator.TALESField"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_text</string> </key>
+            <value> <string>python: [(x, x) for x in context.getPortalProjectTypeList()]</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/PurchaseInvoiceTransaction_viewProfile/my_destination_reference.xml b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/PurchaseInvoiceTransaction_viewProfile/my_destination_reference.xml
new file mode 100644
index 0000000000..15f4b740e8
--- /dev/null
+++ b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/PurchaseInvoiceTransaction_viewProfile/my_destination_reference.xml
@@ -0,0 +1,281 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="StringField" module="Products.Formulator.StandardFields"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>my_destination_reference</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>
+                <item>
+                    <key> <string>required_not_found</string> </key>
+                    <value> <string>Input is required but no input given.</string> </value>
+                </item>
+                <item>
+                    <key> <string>too_long</string> </key>
+                    <value> <string>Too much input was given.</string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>overrides</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>alternate_name</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>css_class</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>default</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>description</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>display_maxwidth</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>display_width</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>editable</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>enabled</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>external_validator</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>extra</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>hidden</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>max_length</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>required</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>title</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>truncate</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>unicode</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>whitespace_preserve</string> </key>
+                    <value> <string></string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>tales</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>alternate_name</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>css_class</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>default</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>description</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>display_maxwidth</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>display_width</string> </key>
+                    <value>
+                      <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>editable</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>enabled</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>external_validator</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>extra</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>hidden</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>max_length</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>required</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>title</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>truncate</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>unicode</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>whitespace_preserve</string> </key>
+                    <value> <string></string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>values</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>alternate_name</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>css_class</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>default</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>description</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>display_maxwidth</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>display_width</string> </key>
+                    <value> <int>30</int> </value>
+                </item>
+                <item>
+                    <key> <string>editable</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+                <item>
+                    <key> <string>enabled</string> </key>
+                    <value> <int>1</int> </value>
+                </item>
+                <item>
+                    <key> <string>external_validator</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>extra</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>hidden</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+                <item>
+                    <key> <string>max_length</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>required</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+                <item>
+                    <key> <string>title</string> </key>
+                    <value> <string>Client Transaction Reference</string> </value>
+                </item>
+                <item>
+                    <key> <string>truncate</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+                <item>
+                    <key> <string>unicode</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+                <item>
+                    <key> <string>whitespace_preserve</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+      </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: preferences.getPreference(\'preferred_string_field_width\', 30)</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/PurchaseInvoiceTransaction_viewProfile/my_destination_section_title.xml b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/PurchaseInvoiceTransaction_viewProfile/my_destination_section_title.xml
new file mode 100644
index 0000000000..1bb655dec2
--- /dev/null
+++ b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/PurchaseInvoiceTransaction_viewProfile/my_destination_section_title.xml
@@ -0,0 +1,656 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="RelationStringField" module="Products.ERP5Form.RelationField"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>my_destination_section_title</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>
+                <item>
+                    <key> <string>line_too_long</string> </key>
+                    <value> <string>A line was too long.</string> </value>
+                </item>
+                <item>
+                    <key> <string>relation_result_ambiguous</string> </key>
+                    <value> <string>Select appropriate document in the list.</string> </value>
+                </item>
+                <item>
+                    <key> <string>relation_result_empty</string> </key>
+                    <value> <string>No such document was found.</string> </value>
+                </item>
+                <item>
+                    <key> <string>relation_result_too_long</string> </key>
+                    <value> <string>Too many documents were found.</string> </value>
+                </item>
+                <item>
+                    <key> <string>required_not_found</string> </key>
+                    <value> <string>Input is required but no input given.</string> </value>
+                </item>
+                <item>
+                    <key> <string>too_long</string> </key>
+                    <value> <string>You entered too many characters.</string> </value>
+                </item>
+                <item>
+                    <key> <string>too_many_lines</string> </key>
+                    <value> <string>You entered too many lines.</string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>overrides</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>allow_creation</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>allow_jump</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>alternate_name</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>base_category</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>catalog_index</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>columns</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>container_getter_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>css_class</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>default</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>description</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>display_maxwidth</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>display_width</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>editable</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>enabled</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>external_validator</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>extra</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>extra_item</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>first_item</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>hidden</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>items</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>jump_method</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>list_method</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>max_length</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>max_linelength</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>max_lines</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>parameter_list</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>portal_type</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>proxy_listbox_ids</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>relation_form_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>relation_setter_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>required</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>size</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>sort</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>title</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>truncate</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>unicode</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>update_method</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>whitespace_preserve</string> </key>
+                    <value> <string></string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>tales</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>allow_creation</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>allow_jump</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>alternate_name</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>base_category</string> </key>
+                    <value>
+                      <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>catalog_index</string> </key>
+                    <value>
+                      <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>columns</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>container_getter_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>css_class</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>default</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>description</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>display_maxwidth</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>display_width</string> </key>
+                    <value>
+                      <persistent> <string encoding="base64">AAAAAAAAAAQ=</string> </persistent>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>editable</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>enabled</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>external_validator</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>extra</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>extra_item</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>first_item</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>hidden</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>items</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>jump_method</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>list_method</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>max_length</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>max_linelength</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>max_lines</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>parameter_list</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>portal_type</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>proxy_listbox_ids</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>relation_form_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>relation_setter_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>required</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>size</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>sort</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>title</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>truncate</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>unicode</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>update_method</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>whitespace_preserve</string> </key>
+                    <value> <string></string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>values</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>allow_creation</string> </key>
+                    <value> <int>1</int> </value>
+                </item>
+                <item>
+                    <key> <string>allow_jump</string> </key>
+                    <value> <int>1</int> </value>
+                </item>
+                <item>
+                    <key> <string>alternate_name</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>base_category</string> </key>
+                    <value> <string>(tales)</string> </value>
+                </item>
+                <item>
+                    <key> <string>catalog_index</string> </key>
+                    <value> <string>(tales)</string> </value>
+                </item>
+                <item>
+                    <key> <string>columns</string> </key>
+                    <value>
+                      <list>
+                        <tuple>
+                          <string>title</string>
+                          <string>Usual Name</string>
+                        </tuple>
+                        <tuple>
+                          <string>description</string>
+                          <string>Description</string>
+                        </tuple>
+                        <tuple>
+                          <string>getDefaultTelephoneText</string>
+                          <string>Telephone</string>
+                        </tuple>
+                        <tuple>
+                          <string>getDefaultAddressText</string>
+                          <string>Address</string>
+                        </tuple>
+                        <tuple>
+                          <string>translated_portal_type</string>
+                          <string>Type</string>
+                        </tuple>
+                        <tuple>
+                          <string>translated_validation_state_title</string>
+                          <string>State</string>
+                        </tuple>
+                      </list>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>container_getter_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>css_class</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>default</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>description</string> </key>
+                    <value> <string>The invoiced person or organisation.</string> </value>
+                </item>
+                <item>
+                    <key> <string>display_maxwidth</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>display_width</string> </key>
+                    <value> <int>20</int> </value>
+                </item>
+                <item>
+                    <key> <string>editable</string> </key>
+                    <value> <int>1</int> </value>
+                </item>
+                <item>
+                    <key> <string>enabled</string> </key>
+                    <value> <int>1</int> </value>
+                </item>
+                <item>
+                    <key> <string>external_validator</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>extra</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>extra_item</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>first_item</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+                <item>
+                    <key> <string>hidden</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+                <item>
+                    <key> <string>items</string> </key>
+                    <value>
+                      <list/>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>jump_method</string> </key>
+                    <value> <string>Base_jumpToRelatedDocument</string> </value>
+                </item>
+                <item>
+                    <key> <string>list_method</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>max_length</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>max_linelength</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>max_lines</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>parameter_list</string> </key>
+                    <value>
+                      <list/>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>portal_type</string> </key>
+                    <value>
+                      <list>
+                        <tuple>
+                          <string>Organisation</string>
+                          <string>Organisation</string>
+                        </tuple>
+                        <tuple>
+                          <string>Person</string>
+                          <string>Person</string>
+                        </tuple>
+                      </list>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>proxy_listbox_ids</string> </key>
+                    <value>
+                      <list>
+                        <tuple>
+                          <string>Base_viewRelatedObjectListBase/listbox</string>
+                          <string>All</string>
+                        </tuple>
+                        <tuple>
+                          <string>ERP5Site_viewClientNodeList/listbox</string>
+                          <string>Clients</string>
+                        </tuple>
+                        <tuple>
+                          <string>ERP5Site_viewSupplierNodeList/listbox</string>
+                          <string>Suppliers</string>
+                        </tuple>
+                        <tuple>
+                          <string>OrganisationModule_viewOrganisationList/listbox</string>
+                          <string>Organisations</string>
+                        </tuple>
+                        <tuple>
+                          <string>PersonModule_viewPersonList/listbox</string>
+                          <string>Persons</string>
+                        </tuple>
+                      </list>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>relation_form_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>relation_setter_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>required</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+                <item>
+                    <key> <string>size</string> </key>
+                    <value> <int>1</int> </value>
+                </item>
+                <item>
+                    <key> <string>sort</string> </key>
+                    <value>
+                      <list/>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>title</string> </key>
+                    <value> <string>Client</string> </value>
+                </item>
+                <item>
+                    <key> <string>truncate</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+                <item>
+                    <key> <string>unicode</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+                <item>
+                    <key> <string>update_method</string> </key>
+                    <value> <string>Base_validateRelation</string> </value>
+                </item>
+                <item>
+                    <key> <string>whitespace_preserve</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+      </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: field.Base_getFieldParameterDict()[\'base_category\']</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="3" aka="AAAAAAAAAAM=">
+    <pickle>
+      <tuple>
+        <global name="TALESMethod" module="Products.Formulator.TALESField"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_text</string> </key>
+            <value> <string>python: field.Base_getFieldParameterDict()[\'catalog_index\']</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="4" aka="AAAAAAAAAAQ=">
+    <pickle>
+      <tuple>
+        <global name="TALESMethod" module="Products.Formulator.TALESField"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_text</string> </key>
+            <value> <string>python: preferences.getPreference(\'preferred_string_field_width\', 30)</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/PurchaseInvoiceTransaction_viewProfile/my_destination_title.xml b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/PurchaseInvoiceTransaction_viewProfile/my_destination_title.xml
new file mode 100644
index 0000000000..31c360f201
--- /dev/null
+++ b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/PurchaseInvoiceTransaction_viewProfile/my_destination_title.xml
@@ -0,0 +1,656 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="RelationStringField" module="Products.ERP5Form.RelationField"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>my_destination_title</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>
+                <item>
+                    <key> <string>line_too_long</string> </key>
+                    <value> <string>A line was too long.</string> </value>
+                </item>
+                <item>
+                    <key> <string>relation_result_ambiguous</string> </key>
+                    <value> <string>Select appropriate document in the list.</string> </value>
+                </item>
+                <item>
+                    <key> <string>relation_result_empty</string> </key>
+                    <value> <string>No such document was found.</string> </value>
+                </item>
+                <item>
+                    <key> <string>relation_result_too_long</string> </key>
+                    <value> <string>Too many documents were found.</string> </value>
+                </item>
+                <item>
+                    <key> <string>required_not_found</string> </key>
+                    <value> <string>Input is required but no input given.</string> </value>
+                </item>
+                <item>
+                    <key> <string>too_long</string> </key>
+                    <value> <string>You entered too many characters.</string> </value>
+                </item>
+                <item>
+                    <key> <string>too_many_lines</string> </key>
+                    <value> <string>You entered too many lines.</string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>overrides</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>allow_creation</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>allow_jump</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>alternate_name</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>base_category</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>catalog_index</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>columns</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>container_getter_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>css_class</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>default</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>description</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>display_maxwidth</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>display_width</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>editable</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>enabled</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>external_validator</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>extra</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>extra_item</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>first_item</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>hidden</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>items</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>jump_method</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>list_method</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>max_length</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>max_linelength</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>max_lines</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>parameter_list</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>portal_type</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>proxy_listbox_ids</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>relation_form_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>relation_setter_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>required</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>size</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>sort</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>title</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>truncate</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>unicode</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>update_method</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>whitespace_preserve</string> </key>
+                    <value> <string></string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>tales</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>allow_creation</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>allow_jump</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>alternate_name</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>base_category</string> </key>
+                    <value>
+                      <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>catalog_index</string> </key>
+                    <value>
+                      <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>columns</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>container_getter_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>css_class</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>default</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>description</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>display_maxwidth</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>display_width</string> </key>
+                    <value>
+                      <persistent> <string encoding="base64">AAAAAAAAAAQ=</string> </persistent>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>editable</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>enabled</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>external_validator</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>extra</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>extra_item</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>first_item</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>hidden</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>items</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>jump_method</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>list_method</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>max_length</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>max_linelength</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>max_lines</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>parameter_list</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>portal_type</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>proxy_listbox_ids</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>relation_form_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>relation_setter_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>required</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>size</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>sort</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>title</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>truncate</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>unicode</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>update_method</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>whitespace_preserve</string> </key>
+                    <value> <string></string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>values</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>allow_creation</string> </key>
+                    <value> <int>1</int> </value>
+                </item>
+                <item>
+                    <key> <string>allow_jump</string> </key>
+                    <value> <int>1</int> </value>
+                </item>
+                <item>
+                    <key> <string>alternate_name</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>base_category</string> </key>
+                    <value> <string>(tales)</string> </value>
+                </item>
+                <item>
+                    <key> <string>catalog_index</string> </key>
+                    <value> <string>(tales)</string> </value>
+                </item>
+                <item>
+                    <key> <string>columns</string> </key>
+                    <value>
+                      <list>
+                        <tuple>
+                          <string>title</string>
+                          <string>Usual Name</string>
+                        </tuple>
+                        <tuple>
+                          <string>description</string>
+                          <string>Description</string>
+                        </tuple>
+                        <tuple>
+                          <string>getDefaultTelephoneText</string>
+                          <string>Telephone</string>
+                        </tuple>
+                        <tuple>
+                          <string>getDefaultAddressText</string>
+                          <string>Address</string>
+                        </tuple>
+                        <tuple>
+                          <string>translated_portal_type</string>
+                          <string>Type</string>
+                        </tuple>
+                        <tuple>
+                          <string>translated_validation_state_title</string>
+                          <string>State</string>
+                        </tuple>
+                      </list>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>container_getter_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>css_class</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>default</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>description</string> </key>
+                    <value> <string>The organisation or person who is delivered goods or services in this operation</string> </value>
+                </item>
+                <item>
+                    <key> <string>display_maxwidth</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>display_width</string> </key>
+                    <value> <int>20</int> </value>
+                </item>
+                <item>
+                    <key> <string>editable</string> </key>
+                    <value> <int>1</int> </value>
+                </item>
+                <item>
+                    <key> <string>enabled</string> </key>
+                    <value> <int>1</int> </value>
+                </item>
+                <item>
+                    <key> <string>external_validator</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>extra</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>extra_item</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>first_item</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+                <item>
+                    <key> <string>hidden</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+                <item>
+                    <key> <string>items</string> </key>
+                    <value>
+                      <list/>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>jump_method</string> </key>
+                    <value> <string>Base_jumpToRelatedDocument</string> </value>
+                </item>
+                <item>
+                    <key> <string>list_method</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>max_length</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>max_linelength</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>max_lines</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>parameter_list</string> </key>
+                    <value>
+                      <list/>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>portal_type</string> </key>
+                    <value>
+                      <list>
+                        <tuple>
+                          <string>Organisation</string>
+                          <string>Organisation</string>
+                        </tuple>
+                        <tuple>
+                          <string>Person</string>
+                          <string>Person</string>
+                        </tuple>
+                      </list>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>proxy_listbox_ids</string> </key>
+                    <value>
+                      <list>
+                        <tuple>
+                          <string>Base_viewRelatedObjectListBase/listbox</string>
+                          <string>All</string>
+                        </tuple>
+                        <tuple>
+                          <string>ERP5Site_viewClientNodeList/listbox</string>
+                          <string>Clients</string>
+                        </tuple>
+                        <tuple>
+                          <string>ERP5Site_viewSupplierNodeList/listbox</string>
+                          <string>Suppliers</string>
+                        </tuple>
+                        <tuple>
+                          <string>OrganisationModule_viewOrganisationList/listbox</string>
+                          <string>Organisations</string>
+                        </tuple>
+                        <tuple>
+                          <string>PersonModule_viewPersonList/listbox</string>
+                          <string>Persons</string>
+                        </tuple>
+                      </list>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>relation_form_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>relation_setter_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>required</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+                <item>
+                    <key> <string>size</string> </key>
+                    <value> <int>1</int> </value>
+                </item>
+                <item>
+                    <key> <string>sort</string> </key>
+                    <value>
+                      <list/>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>title</string> </key>
+                    <value> <string>Recipient or Beneficiary</string> </value>
+                </item>
+                <item>
+                    <key> <string>truncate</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+                <item>
+                    <key> <string>unicode</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+                <item>
+                    <key> <string>update_method</string> </key>
+                    <value> <string>Base_validateRelation</string> </value>
+                </item>
+                <item>
+                    <key> <string>whitespace_preserve</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+      </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: field.Base_getFieldParameterDict()[\'base_category\']</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="3" aka="AAAAAAAAAAM=">
+    <pickle>
+      <tuple>
+        <global name="TALESMethod" module="Products.Formulator.TALESField"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_text</string> </key>
+            <value> <string>python: field.Base_getFieldParameterDict()[\'catalog_index\']</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="4" aka="AAAAAAAAAAQ=">
+    <pickle>
+      <tuple>
+        <global name="TALESMethod" module="Products.Formulator.TALESField"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_text</string> </key>
+            <value> <string>python: preferences.getPreference(\'preferred_string_field_width\', 30)</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/PurchaseInvoiceTransaction_viewProfile/my_source_administration_title.xml b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/PurchaseInvoiceTransaction_viewProfile/my_source_administration_title.xml
new file mode 100644
index 0000000000..56278a902b
--- /dev/null
+++ b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/PurchaseInvoiceTransaction_viewProfile/my_source_administration_title.xml
@@ -0,0 +1,656 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="RelationStringField" module="Products.ERP5Form.RelationField"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>my_source_administration_title</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>
+                <item>
+                    <key> <string>line_too_long</string> </key>
+                    <value> <string>A line was too long.</string> </value>
+                </item>
+                <item>
+                    <key> <string>relation_result_ambiguous</string> </key>
+                    <value> <string>Select appropriate document in the list.</string> </value>
+                </item>
+                <item>
+                    <key> <string>relation_result_empty</string> </key>
+                    <value> <string>No such document was found.</string> </value>
+                </item>
+                <item>
+                    <key> <string>relation_result_too_long</string> </key>
+                    <value> <string>Too many documents were found.</string> </value>
+                </item>
+                <item>
+                    <key> <string>required_not_found</string> </key>
+                    <value> <string>Input is required but no input given.</string> </value>
+                </item>
+                <item>
+                    <key> <string>too_long</string> </key>
+                    <value> <string>You entered too many characters.</string> </value>
+                </item>
+                <item>
+                    <key> <string>too_many_lines</string> </key>
+                    <value> <string>You entered too many lines.</string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>overrides</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>allow_creation</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>allow_jump</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>alternate_name</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>base_category</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>catalog_index</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>columns</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>container_getter_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>css_class</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>default</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>description</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>display_maxwidth</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>display_width</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>editable</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>enabled</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>external_validator</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>extra</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>extra_item</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>first_item</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>hidden</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>items</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>jump_method</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>list_method</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>max_length</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>max_linelength</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>max_lines</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>parameter_list</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>portal_type</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>proxy_listbox_ids</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>relation_form_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>relation_setter_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>required</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>size</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>sort</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>title</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>truncate</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>unicode</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>update_method</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>whitespace_preserve</string> </key>
+                    <value> <string></string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>tales</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>allow_creation</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>allow_jump</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>alternate_name</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>base_category</string> </key>
+                    <value>
+                      <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>catalog_index</string> </key>
+                    <value>
+                      <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>columns</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>container_getter_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>css_class</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>default</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>description</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>display_maxwidth</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>display_width</string> </key>
+                    <value>
+                      <persistent> <string encoding="base64">AAAAAAAAAAQ=</string> </persistent>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>editable</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>enabled</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>external_validator</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>extra</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>extra_item</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>first_item</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>hidden</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>items</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>jump_method</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>list_method</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>max_length</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>max_linelength</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>max_lines</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>parameter_list</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>portal_type</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>proxy_listbox_ids</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>relation_form_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>relation_setter_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>required</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>size</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>sort</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>title</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>truncate</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>unicode</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>update_method</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>whitespace_preserve</string> </key>
+                    <value> <string></string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>values</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>allow_creation</string> </key>
+                    <value> <int>1</int> </value>
+                </item>
+                <item>
+                    <key> <string>allow_jump</string> </key>
+                    <value> <int>1</int> </value>
+                </item>
+                <item>
+                    <key> <string>alternate_name</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>base_category</string> </key>
+                    <value> <string>(tales)</string> </value>
+                </item>
+                <item>
+                    <key> <string>catalog_index</string> </key>
+                    <value> <string>(tales)</string> </value>
+                </item>
+                <item>
+                    <key> <string>columns</string> </key>
+                    <value>
+                      <list>
+                        <tuple>
+                          <string>title</string>
+                          <string>Usual Name</string>
+                        </tuple>
+                        <tuple>
+                          <string>description</string>
+                          <string>Description</string>
+                        </tuple>
+                        <tuple>
+                          <string>getDefaultTelephoneText</string>
+                          <string>Telephone</string>
+                        </tuple>
+                        <tuple>
+                          <string>getDefaultAddressText</string>
+                          <string>Address</string>
+                        </tuple>
+                        <tuple>
+                          <string>translated_portal_type</string>
+                          <string>Type</string>
+                        </tuple>
+                        <tuple>
+                          <string>translated_validation_state_title</string>
+                          <string>State</string>
+                        </tuple>
+                      </list>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>container_getter_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>css_class</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>default</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>description</string> </key>
+                    <value> <string>The person or organisation in charge of sending the invoice or handling administrative paperwork for the supplier.</string> </value>
+                </item>
+                <item>
+                    <key> <string>display_maxwidth</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>display_width</string> </key>
+                    <value> <int>20</int> </value>
+                </item>
+                <item>
+                    <key> <string>editable</string> </key>
+                    <value> <int>1</int> </value>
+                </item>
+                <item>
+                    <key> <string>enabled</string> </key>
+                    <value> <int>1</int> </value>
+                </item>
+                <item>
+                    <key> <string>external_validator</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>extra</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>extra_item</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>first_item</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+                <item>
+                    <key> <string>hidden</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+                <item>
+                    <key> <string>items</string> </key>
+                    <value>
+                      <list/>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>jump_method</string> </key>
+                    <value> <string>Base_jumpToRelatedDocument</string> </value>
+                </item>
+                <item>
+                    <key> <string>list_method</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>max_length</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>max_linelength</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>max_lines</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>parameter_list</string> </key>
+                    <value>
+                      <list/>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>portal_type</string> </key>
+                    <value>
+                      <list>
+                        <tuple>
+                          <string>Organisation</string>
+                          <string>Organisation</string>
+                        </tuple>
+                        <tuple>
+                          <string>Person</string>
+                          <string>Person</string>
+                        </tuple>
+                      </list>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>proxy_listbox_ids</string> </key>
+                    <value>
+                      <list>
+                        <tuple>
+                          <string>Base_viewRelatedObjectListBase/listbox</string>
+                          <string>All</string>
+                        </tuple>
+                        <tuple>
+                          <string>ERP5Site_viewSupplierNodeList/listbox</string>
+                          <string>Suppliers</string>
+                        </tuple>
+                        <tuple>
+                          <string>ERP5Site_viewClientNodeList/listbox</string>
+                          <string>Clients</string>
+                        </tuple>
+                        <tuple>
+                          <string>OrganisationModule_viewOrganisationList/listbox</string>
+                          <string>Organisations</string>
+                        </tuple>
+                        <tuple>
+                          <string>PersonModule_viewPersonList/listbox</string>
+                          <string>Persons</string>
+                        </tuple>
+                      </list>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>relation_form_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>relation_setter_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>required</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+                <item>
+                    <key> <string>size</string> </key>
+                    <value> <int>1</int> </value>
+                </item>
+                <item>
+                    <key> <string>sort</string> </key>
+                    <value>
+                      <list/>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>title</string> </key>
+                    <value> <string>Invoice Sender</string> </value>
+                </item>
+                <item>
+                    <key> <string>truncate</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+                <item>
+                    <key> <string>unicode</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+                <item>
+                    <key> <string>update_method</string> </key>
+                    <value> <string>Base_validateRelation</string> </value>
+                </item>
+                <item>
+                    <key> <string>whitespace_preserve</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+      </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: field.Base_getFieldParameterDict()[\'base_category\']</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="3" aka="AAAAAAAAAAM=">
+    <pickle>
+      <tuple>
+        <global name="TALESMethod" module="Products.Formulator.TALESField"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_text</string> </key>
+            <value> <string>python: field.Base_getFieldParameterDict()[\'catalog_index\']</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="4" aka="AAAAAAAAAAQ=">
+    <pickle>
+      <tuple>
+        <global name="TALESMethod" module="Products.Formulator.TALESField"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_text</string> </key>
+            <value> <string>python: preferences.getPreference(\'preferred_string_field_width\', 30)</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/PurchaseInvoiceTransaction_viewProfile/my_source_carrier_title.xml b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/PurchaseInvoiceTransaction_viewProfile/my_source_carrier_title.xml
new file mode 100644
index 0000000000..432cb41f94
--- /dev/null
+++ b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/PurchaseInvoiceTransaction_viewProfile/my_source_carrier_title.xml
@@ -0,0 +1,631 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="RelationStringField" module="Products.ERP5Form.RelationField"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>my_source_carrier_title</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>
+                <item>
+                    <key> <string>line_too_long</string> </key>
+                    <value> <string>A line was too long.</string> </value>
+                </item>
+                <item>
+                    <key> <string>relation_result_ambiguous</string> </key>
+                    <value> <string>Select appropriate document in the list.</string> </value>
+                </item>
+                <item>
+                    <key> <string>relation_result_empty</string> </key>
+                    <value> <string>No such document was found.</string> </value>
+                </item>
+                <item>
+                    <key> <string>relation_result_too_long</string> </key>
+                    <value> <string>Too many documents were found.</string> </value>
+                </item>
+                <item>
+                    <key> <string>required_not_found</string> </key>
+                    <value> <string>Input is required but no input given.</string> </value>
+                </item>
+                <item>
+                    <key> <string>too_long</string> </key>
+                    <value> <string>You entered too many characters.</string> </value>
+                </item>
+                <item>
+                    <key> <string>too_many_lines</string> </key>
+                    <value> <string>You entered too many lines.</string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>overrides</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>allow_creation</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>allow_jump</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>alternate_name</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>base_category</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>catalog_index</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>columns</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>container_getter_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>css_class</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>default</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>description</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>display_maxwidth</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>display_width</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>editable</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>enabled</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>external_validator</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>extra</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>extra_item</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>first_item</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>hidden</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>items</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>jump_method</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>list_method</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>max_length</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>max_linelength</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>max_lines</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>parameter_list</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>portal_type</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>proxy_listbox_ids</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>relation_form_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>relation_setter_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>required</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>size</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>sort</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>title</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>truncate</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>unicode</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>update_method</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>whitespace_preserve</string> </key>
+                    <value> <string></string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>tales</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>allow_creation</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>allow_jump</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>alternate_name</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>base_category</string> </key>
+                    <value>
+                      <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>catalog_index</string> </key>
+                    <value>
+                      <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>columns</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>container_getter_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>css_class</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>default</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>description</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>display_maxwidth</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>display_width</string> </key>
+                    <value>
+                      <persistent> <string encoding="base64">AAAAAAAAAAQ=</string> </persistent>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>editable</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>enabled</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>external_validator</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>extra</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>extra_item</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>first_item</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>hidden</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>items</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>jump_method</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>list_method</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>max_length</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>max_linelength</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>max_lines</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>parameter_list</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>portal_type</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>proxy_listbox_ids</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>relation_form_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>relation_setter_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>required</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>size</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>sort</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>title</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>truncate</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>unicode</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>update_method</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>whitespace_preserve</string> </key>
+                    <value> <string></string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>values</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>allow_creation</string> </key>
+                    <value> <int>1</int> </value>
+                </item>
+                <item>
+                    <key> <string>allow_jump</string> </key>
+                    <value> <int>1</int> </value>
+                </item>
+                <item>
+                    <key> <string>alternate_name</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>base_category</string> </key>
+                    <value> <string>(tales)</string> </value>
+                </item>
+                <item>
+                    <key> <string>catalog_index</string> </key>
+                    <value> <string>(tales)</string> </value>
+                </item>
+                <item>
+                    <key> <string>columns</string> </key>
+                    <value>
+                      <list/>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>container_getter_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>css_class</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>default</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>description</string> </key>
+                    <value> <string>The logistic company in charge of taking goods at the source warehouse.</string> </value>
+                </item>
+                <item>
+                    <key> <string>display_maxwidth</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>display_width</string> </key>
+                    <value> <int>20</int> </value>
+                </item>
+                <item>
+                    <key> <string>editable</string> </key>
+                    <value> <int>1</int> </value>
+                </item>
+                <item>
+                    <key> <string>enabled</string> </key>
+                    <value> <int>1</int> </value>
+                </item>
+                <item>
+                    <key> <string>external_validator</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>extra</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>extra_item</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>first_item</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+                <item>
+                    <key> <string>hidden</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+                <item>
+                    <key> <string>items</string> </key>
+                    <value>
+                      <list/>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>jump_method</string> </key>
+                    <value> <string>Base_jumpToRelatedDocument</string> </value>
+                </item>
+                <item>
+                    <key> <string>list_method</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>max_length</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>max_linelength</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>max_lines</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>parameter_list</string> </key>
+                    <value>
+                      <list/>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>portal_type</string> </key>
+                    <value>
+                      <list>
+                        <tuple>
+                          <string>Organisation</string>
+                          <string>Organisation</string>
+                        </tuple>
+                        <tuple>
+                          <string>Person</string>
+                          <string>Person</string>
+                        </tuple>
+                      </list>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>proxy_listbox_ids</string> </key>
+                    <value>
+                      <list>
+                        <tuple>
+                          <string>Base_viewRelatedObjectListBase/listbox</string>
+                          <string>All</string>
+                        </tuple>
+                        <tuple>
+                          <string>ERP5Site_viewSupplierNodeList/listbox</string>
+                          <string>Suppliers</string>
+                        </tuple>
+                        <tuple>
+                          <string>ERP5Site_viewClientNodeList/listbox</string>
+                          <string>Clients</string>
+                        </tuple>
+                        <tuple>
+                          <string>OrganisationModule_viewOrganisationList/listbox</string>
+                          <string>Organisations</string>
+                        </tuple>
+                        <tuple>
+                          <string>PersonModule_viewPersonList/listbox</string>
+                          <string>Persons</string>
+                        </tuple>
+                      </list>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>relation_form_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>relation_setter_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>required</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+                <item>
+                    <key> <string>size</string> </key>
+                    <value> <int>1</int> </value>
+                </item>
+                <item>
+                    <key> <string>sort</string> </key>
+                    <value>
+                      <list/>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>title</string> </key>
+                    <value> <string>Source Carrier</string> </value>
+                </item>
+                <item>
+                    <key> <string>truncate</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+                <item>
+                    <key> <string>unicode</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+                <item>
+                    <key> <string>update_method</string> </key>
+                    <value> <string>Base_validateRelation</string> </value>
+                </item>
+                <item>
+                    <key> <string>whitespace_preserve</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+      </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: field.Base_getFieldParameterDict()[\'base_category\']</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="3" aka="AAAAAAAAAAM=">
+    <pickle>
+      <tuple>
+        <global name="TALESMethod" module="Products.Formulator.TALESField"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_text</string> </key>
+            <value> <string>python: field.Base_getFieldParameterDict()[\'catalog_index\']</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="4" aka="AAAAAAAAAAQ=">
+    <pickle>
+      <tuple>
+        <global name="TALESMethod" module="Products.Formulator.TALESField"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_text</string> </key>
+            <value> <string>python: preferences.getPreference(\'preferred_string_field_width\', 30)</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/PurchaseInvoiceTransaction_viewProfile/my_source_decision_title.xml b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/PurchaseInvoiceTransaction_viewProfile/my_source_decision_title.xml
new file mode 100644
index 0000000000..060ab9b305
--- /dev/null
+++ b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/PurchaseInvoiceTransaction_viewProfile/my_source_decision_title.xml
@@ -0,0 +1,656 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="RelationStringField" module="Products.ERP5Form.RelationField"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>my_source_decision_title</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>
+                <item>
+                    <key> <string>line_too_long</string> </key>
+                    <value> <string>A line was too long.</string> </value>
+                </item>
+                <item>
+                    <key> <string>relation_result_ambiguous</string> </key>
+                    <value> <string>Select appropriate document in the list.</string> </value>
+                </item>
+                <item>
+                    <key> <string>relation_result_empty</string> </key>
+                    <value> <string>No such document was found.</string> </value>
+                </item>
+                <item>
+                    <key> <string>relation_result_too_long</string> </key>
+                    <value> <string>Too many documents were found.</string> </value>
+                </item>
+                <item>
+                    <key> <string>required_not_found</string> </key>
+                    <value> <string>Input is required but no input given.</string> </value>
+                </item>
+                <item>
+                    <key> <string>too_long</string> </key>
+                    <value> <string>You entered too many characters.</string> </value>
+                </item>
+                <item>
+                    <key> <string>too_many_lines</string> </key>
+                    <value> <string>You entered too many lines.</string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>overrides</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>allow_creation</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>allow_jump</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>alternate_name</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>base_category</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>catalog_index</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>columns</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>container_getter_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>css_class</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>default</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>description</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>display_maxwidth</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>display_width</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>editable</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>enabled</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>external_validator</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>extra</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>extra_item</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>first_item</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>hidden</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>items</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>jump_method</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>list_method</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>max_length</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>max_linelength</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>max_lines</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>parameter_list</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>portal_type</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>proxy_listbox_ids</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>relation_form_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>relation_setter_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>required</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>size</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>sort</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>title</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>truncate</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>unicode</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>update_method</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>whitespace_preserve</string> </key>
+                    <value> <string></string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>tales</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>allow_creation</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>allow_jump</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>alternate_name</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>base_category</string> </key>
+                    <value>
+                      <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>catalog_index</string> </key>
+                    <value>
+                      <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>columns</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>container_getter_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>css_class</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>default</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>description</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>display_maxwidth</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>display_width</string> </key>
+                    <value>
+                      <persistent> <string encoding="base64">AAAAAAAAAAQ=</string> </persistent>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>editable</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>enabled</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>external_validator</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>extra</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>extra_item</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>first_item</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>hidden</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>items</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>jump_method</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>list_method</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>max_length</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>max_linelength</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>max_lines</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>parameter_list</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>portal_type</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>proxy_listbox_ids</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>relation_form_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>relation_setter_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>required</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>size</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>sort</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>title</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>truncate</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>unicode</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>update_method</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>whitespace_preserve</string> </key>
+                    <value> <string></string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>values</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>allow_creation</string> </key>
+                    <value> <int>1</int> </value>
+                </item>
+                <item>
+                    <key> <string>allow_jump</string> </key>
+                    <value> <int>1</int> </value>
+                </item>
+                <item>
+                    <key> <string>alternate_name</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>base_category</string> </key>
+                    <value> <string>(tales)</string> </value>
+                </item>
+                <item>
+                    <key> <string>catalog_index</string> </key>
+                    <value> <string>(tales)</string> </value>
+                </item>
+                <item>
+                    <key> <string>columns</string> </key>
+                    <value>
+                      <list>
+                        <tuple>
+                          <string>title</string>
+                          <string>Usual Name</string>
+                        </tuple>
+                        <tuple>
+                          <string>description</string>
+                          <string>Description</string>
+                        </tuple>
+                        <tuple>
+                          <string>getDefaultTelephoneText</string>
+                          <string>Telephone</string>
+                        </tuple>
+                        <tuple>
+                          <string>getDefaultAddressText</string>
+                          <string>Address</string>
+                        </tuple>
+                        <tuple>
+                          <string>translated_portal_type</string>
+                          <string>Type</string>
+                        </tuple>
+                        <tuple>
+                          <string>translated_validation_state_title</string>
+                          <string>State</string>
+                        </tuple>
+                      </list>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>container_getter_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>css_class</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>default</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>description</string> </key>
+                    <value> <string>The person or organisation in charge of handling the sales process or of taking the sales decision.</string> </value>
+                </item>
+                <item>
+                    <key> <string>display_maxwidth</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>display_width</string> </key>
+                    <value> <int>20</int> </value>
+                </item>
+                <item>
+                    <key> <string>editable</string> </key>
+                    <value> <int>1</int> </value>
+                </item>
+                <item>
+                    <key> <string>enabled</string> </key>
+                    <value> <int>1</int> </value>
+                </item>
+                <item>
+                    <key> <string>external_validator</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>extra</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>extra_item</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>first_item</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+                <item>
+                    <key> <string>hidden</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+                <item>
+                    <key> <string>items</string> </key>
+                    <value>
+                      <list/>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>jump_method</string> </key>
+                    <value> <string>Base_jumpToRelatedDocument</string> </value>
+                </item>
+                <item>
+                    <key> <string>list_method</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>max_length</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>max_linelength</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>max_lines</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>parameter_list</string> </key>
+                    <value>
+                      <list/>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>portal_type</string> </key>
+                    <value>
+                      <list>
+                        <tuple>
+                          <string>Organisation</string>
+                          <string>Organisation</string>
+                        </tuple>
+                        <tuple>
+                          <string>Person</string>
+                          <string>Person</string>
+                        </tuple>
+                      </list>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>proxy_listbox_ids</string> </key>
+                    <value>
+                      <list>
+                        <tuple>
+                          <string>Base_viewRelatedObjectListBase/listbox</string>
+                          <string>All</string>
+                        </tuple>
+                        <tuple>
+                          <string>ERP5Site_viewSupplierNodeList/listbox</string>
+                          <string>Suppliers</string>
+                        </tuple>
+                        <tuple>
+                          <string>ERP5Site_viewClientNodeList/listbox</string>
+                          <string>Clients</string>
+                        </tuple>
+                        <tuple>
+                          <string>OrganisationModule_viewOrganisationList/listbox</string>
+                          <string>Organisations</string>
+                        </tuple>
+                        <tuple>
+                          <string>PersonModule_viewPersonList/listbox</string>
+                          <string>Persons</string>
+                        </tuple>
+                      </list>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>relation_form_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>relation_setter_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>required</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+                <item>
+                    <key> <string>size</string> </key>
+                    <value> <int>1</int> </value>
+                </item>
+                <item>
+                    <key> <string>sort</string> </key>
+                    <value>
+                      <list/>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>title</string> </key>
+                    <value> <string>Seller</string> </value>
+                </item>
+                <item>
+                    <key> <string>truncate</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+                <item>
+                    <key> <string>unicode</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+                <item>
+                    <key> <string>update_method</string> </key>
+                    <value> <string>Base_validateRelation</string> </value>
+                </item>
+                <item>
+                    <key> <string>whitespace_preserve</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+      </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: field.Base_getFieldParameterDict()[\'base_category\']</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="3" aka="AAAAAAAAAAM=">
+    <pickle>
+      <tuple>
+        <global name="TALESMethod" module="Products.Formulator.TALESField"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_text</string> </key>
+            <value> <string>python: field.Base_getFieldParameterDict()[\'catalog_index\']</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="4" aka="AAAAAAAAAAQ=">
+    <pickle>
+      <tuple>
+        <global name="TALESMethod" module="Products.Formulator.TALESField"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_text</string> </key>
+            <value> <string>python: preferences.getPreference(\'preferred_string_field_width\', 30)</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/PurchaseInvoiceTransaction_viewProfile/my_source_payment.xml b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/PurchaseInvoiceTransaction_viewProfile/my_source_payment.xml
new file mode 100644
index 0000000000..972b643a36
--- /dev/null
+++ b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/PurchaseInvoiceTransaction_viewProfile/my_source_payment.xml
@@ -0,0 +1,283 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="ListField" module="Products.Formulator.StandardFields"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>my_source_payment</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>
+                <item>
+                    <key> <string>required_not_found</string> </key>
+                    <value> <string>Input is required but no input given.</string> </value>
+                </item>
+                <item>
+                    <key> <string>unknown_selection</string> </key>
+                    <value> <string>You selected an item that was not in the list.</string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>overrides</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>alternate_name</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>css_class</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>default</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>description</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>editable</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>enabled</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>external_validator</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>extra</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>extra_item</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>first_item</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>hidden</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>items</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>required</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>size</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>title</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>unicode</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>whitespace_preserve</string> </key>
+                    <value> <string></string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>tales</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>alternate_name</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>css_class</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>default</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>description</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>editable</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>enabled</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>external_validator</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>extra</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>extra_item</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>first_item</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>hidden</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>items</string> </key>
+                    <value>
+                      <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>required</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>size</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>title</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>unicode</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>whitespace_preserve</string> </key>
+                    <value> <string></string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>values</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>alternate_name</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>css_class</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>default</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>description</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>editable</string> </key>
+                    <value> <int>1</int> </value>
+                </item>
+                <item>
+                    <key> <string>enabled</string> </key>
+                    <value> <int>1</int> </value>
+                </item>
+                <item>
+                    <key> <string>external_validator</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>extra</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>extra_item</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>first_item</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+                <item>
+                    <key> <string>hidden</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+                <item>
+                    <key> <string>items</string> </key>
+                    <value>
+                      <list/>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>required</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+                <item>
+                    <key> <string>size</string> </key>
+                    <value> <int>1</int> </value>
+                </item>
+                <item>
+                    <key> <string>title</string> </key>
+                    <value> <string>Supplier Bank Account</string> </value>
+                </item>
+                <item>
+                    <key> <string>unicode</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+                <item>
+                    <key> <string>whitespace_preserve</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+      </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:here.AccountingTransaction_getSourcePaymentItemList()</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/PurchaseInvoiceTransaction_viewProfile/my_source_project_title.xml b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/PurchaseInvoiceTransaction_viewProfile/my_source_project_title.xml
new file mode 100644
index 0000000000..fe0445cd71
--- /dev/null
+++ b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/PurchaseInvoiceTransaction_viewProfile/my_source_project_title.xml
@@ -0,0 +1,640 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="RelationStringField" module="Products.ERP5Form.RelationField"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>my_source_project_title</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>
+                <item>
+                    <key> <string>line_too_long</string> </key>
+                    <value> <string>A line was too long.</string> </value>
+                </item>
+                <item>
+                    <key> <string>relation_result_ambiguous</string> </key>
+                    <value> <string>Select appropriate document in the list.</string> </value>
+                </item>
+                <item>
+                    <key> <string>relation_result_empty</string> </key>
+                    <value> <string>No such document was found.</string> </value>
+                </item>
+                <item>
+                    <key> <string>relation_result_too_long</string> </key>
+                    <value> <string>Too many documents were found.</string> </value>
+                </item>
+                <item>
+                    <key> <string>required_not_found</string> </key>
+                    <value> <string>Input is required but no input given.</string> </value>
+                </item>
+                <item>
+                    <key> <string>too_long</string> </key>
+                    <value> <string>You entered too many characters.</string> </value>
+                </item>
+                <item>
+                    <key> <string>too_many_lines</string> </key>
+                    <value> <string>You entered too many lines.</string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>overrides</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>allow_creation</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>allow_jump</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>alternate_name</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>base_category</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>catalog_index</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>columns</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>container_getter_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>css_class</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>default</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>description</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>display_maxwidth</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>display_width</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>editable</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>enabled</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>external_validator</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>extra</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>extra_item</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>first_item</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>hidden</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>items</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>jump_method</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>list_method</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>max_length</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>max_linelength</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>max_lines</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>parameter_list</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>portal_type</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>proxy_listbox_ids</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>relation_form_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>relation_setter_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>required</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>size</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>sort</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>title</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>truncate</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>unicode</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>update_method</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>whitespace_preserve</string> </key>
+                    <value> <string></string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>tales</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>allow_creation</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>allow_jump</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>alternate_name</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>base_category</string> </key>
+                    <value>
+                      <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>catalog_index</string> </key>
+                    <value>
+                      <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>columns</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>container_getter_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>css_class</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>default</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>description</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>display_maxwidth</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>display_width</string> </key>
+                    <value>
+                      <persistent> <string encoding="base64">AAAAAAAAAAQ=</string> </persistent>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>editable</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>enabled</string> </key>
+                    <value>
+                      <persistent> <string encoding="base64">AAAAAAAAAAU=</string> </persistent>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>external_validator</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>extra</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>extra_item</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>first_item</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>hidden</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>items</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>jump_method</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>list_method</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>max_length</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>max_linelength</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>max_lines</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>parameter_list</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>portal_type</string> </key>
+                    <value>
+                      <persistent> <string encoding="base64">AAAAAAAAAAY=</string> </persistent>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>proxy_listbox_ids</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>relation_form_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>relation_setter_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>required</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>size</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>sort</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>title</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>truncate</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>unicode</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>update_method</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>whitespace_preserve</string> </key>
+                    <value> <string></string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>values</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>allow_creation</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+                <item>
+                    <key> <string>allow_jump</string> </key>
+                    <value> <int>1</int> </value>
+                </item>
+                <item>
+                    <key> <string>alternate_name</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>base_category</string> </key>
+                    <value> <string>(tales)</string> </value>
+                </item>
+                <item>
+                    <key> <string>catalog_index</string> </key>
+                    <value> <string>(tales)</string> </value>
+                </item>
+                <item>
+                    <key> <string>columns</string> </key>
+                    <value>
+                      <list/>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>container_getter_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>css_class</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>default</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>description</string> </key>
+                    <value> <string>The project to which this transaction is related to on the supplier side.</string> </value>
+                </item>
+                <item>
+                    <key> <string>display_maxwidth</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>display_width</string> </key>
+                    <value> <int>20</int> </value>
+                </item>
+                <item>
+                    <key> <string>editable</string> </key>
+                    <value> <int>1</int> </value>
+                </item>
+                <item>
+                    <key> <string>enabled</string> </key>
+                    <value> <int>1</int> </value>
+                </item>
+                <item>
+                    <key> <string>external_validator</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>extra</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>extra_item</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>first_item</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+                <item>
+                    <key> <string>hidden</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+                <item>
+                    <key> <string>items</string> </key>
+                    <value>
+                      <list/>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>jump_method</string> </key>
+                    <value> <string>Base_jumpToRelatedDocument</string> </value>
+                </item>
+                <item>
+                    <key> <string>list_method</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>max_length</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>max_linelength</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>max_lines</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>parameter_list</string> </key>
+                    <value>
+                      <list/>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>portal_type</string> </key>
+                    <value>
+                      <list>
+                        <tuple>
+                          <string>(tales)</string>
+                          <string>(tales)</string>
+                        </tuple>
+                      </list>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>proxy_listbox_ids</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>relation_form_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>relation_setter_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>required</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+                <item>
+                    <key> <string>size</string> </key>
+                    <value> <int>1</int> </value>
+                </item>
+                <item>
+                    <key> <string>sort</string> </key>
+                    <value>
+                      <list/>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>title</string> </key>
+                    <value> <string>Supplier Project</string> </value>
+                </item>
+                <item>
+                    <key> <string>truncate</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+                <item>
+                    <key> <string>unicode</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+                <item>
+                    <key> <string>update_method</string> </key>
+                    <value> <string>Base_validateRelation</string> </value>
+                </item>
+                <item>
+                    <key> <string>whitespace_preserve</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+      </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: field.Base_getFieldParameterDict()[\'base_category\']</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="3" aka="AAAAAAAAAAM=">
+    <pickle>
+      <tuple>
+        <global name="TALESMethod" module="Products.Formulator.TALESField"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_text</string> </key>
+            <value> <string>python: field.Base_getFieldParameterDict()[\'catalog_index\']</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="4" aka="AAAAAAAAAAQ=">
+    <pickle>
+      <tuple>
+        <global name="TALESMethod" module="Products.Formulator.TALESField"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_text</string> </key>
+            <value> <string>python: preferences.getPreference(\'preferred_string_field_width\', 30)</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="5" aka="AAAAAAAAAAU=">
+    <pickle>
+      <tuple>
+        <global name="TALESMethod" module="Products.Formulator.TALESField"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_text</string> </key>
+            <value> <string>context/getPortalProjectTypeList</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="6" aka="AAAAAAAAAAY=">
+    <pickle>
+      <tuple>
+        <global name="TALESMethod" module="Products.Formulator.TALESField"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_text</string> </key>
+            <value> <string>python: [(x, x) for x in context.getPortalProjectTypeList()]</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/PurchaseInvoiceTransaction_viewProfile/my_source_reference.xml b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/PurchaseInvoiceTransaction_viewProfile/my_source_reference.xml
new file mode 100644
index 0000000000..1722e1a0bd
--- /dev/null
+++ b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/PurchaseInvoiceTransaction_viewProfile/my_source_reference.xml
@@ -0,0 +1,281 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="StringField" module="Products.Formulator.StandardFields"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>my_source_reference</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>
+                <item>
+                    <key> <string>required_not_found</string> </key>
+                    <value> <string>Input is required but no input given.</string> </value>
+                </item>
+                <item>
+                    <key> <string>too_long</string> </key>
+                    <value> <string>Too much input was given.</string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>overrides</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>alternate_name</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>css_class</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>default</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>description</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>display_maxwidth</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>display_width</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>editable</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>enabled</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>external_validator</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>extra</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>hidden</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>max_length</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>required</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>title</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>truncate</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>unicode</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>whitespace_preserve</string> </key>
+                    <value> <string></string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>tales</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>alternate_name</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>css_class</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>default</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>description</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>display_maxwidth</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>display_width</string> </key>
+                    <value>
+                      <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>editable</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>enabled</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>external_validator</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>extra</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>hidden</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>max_length</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>required</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>title</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>truncate</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>unicode</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>whitespace_preserve</string> </key>
+                    <value> <string></string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>values</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>alternate_name</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>css_class</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>default</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>description</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>display_maxwidth</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>display_width</string> </key>
+                    <value> <int>30</int> </value>
+                </item>
+                <item>
+                    <key> <string>editable</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+                <item>
+                    <key> <string>enabled</string> </key>
+                    <value> <int>1</int> </value>
+                </item>
+                <item>
+                    <key> <string>external_validator</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>extra</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>hidden</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+                <item>
+                    <key> <string>max_length</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>required</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+                <item>
+                    <key> <string>title</string> </key>
+                    <value> <string>Supplier Transaction Reference</string> </value>
+                </item>
+                <item>
+                    <key> <string>truncate</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+                <item>
+                    <key> <string>unicode</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+                <item>
+                    <key> <string>whitespace_preserve</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+      </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: preferences.getPreference(\'preferred_string_field_width\', 30)</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/PurchaseInvoiceTransaction_viewProfile/my_source_section_title.xml b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/PurchaseInvoiceTransaction_viewProfile/my_source_section_title.xml
new file mode 100644
index 0000000000..1971fd5b43
--- /dev/null
+++ b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/PurchaseInvoiceTransaction_viewProfile/my_source_section_title.xml
@@ -0,0 +1,656 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="RelationStringField" module="Products.ERP5Form.RelationField"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>my_source_section_title</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>
+                <item>
+                    <key> <string>line_too_long</string> </key>
+                    <value> <string>A line was too long.</string> </value>
+                </item>
+                <item>
+                    <key> <string>relation_result_ambiguous</string> </key>
+                    <value> <string>Select appropriate document in the list.</string> </value>
+                </item>
+                <item>
+                    <key> <string>relation_result_empty</string> </key>
+                    <value> <string>No such document was found.</string> </value>
+                </item>
+                <item>
+                    <key> <string>relation_result_too_long</string> </key>
+                    <value> <string>Too many documents were found.</string> </value>
+                </item>
+                <item>
+                    <key> <string>required_not_found</string> </key>
+                    <value> <string>Input is required but no input given.</string> </value>
+                </item>
+                <item>
+                    <key> <string>too_long</string> </key>
+                    <value> <string>You entered too many characters.</string> </value>
+                </item>
+                <item>
+                    <key> <string>too_many_lines</string> </key>
+                    <value> <string>You entered too many lines.</string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>overrides</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>allow_creation</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>allow_jump</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>alternate_name</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>base_category</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>catalog_index</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>columns</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>container_getter_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>css_class</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>default</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>description</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>display_maxwidth</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>display_width</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>editable</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>enabled</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>external_validator</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>extra</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>extra_item</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>first_item</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>hidden</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>items</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>jump_method</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>list_method</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>max_length</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>max_linelength</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>max_lines</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>parameter_list</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>portal_type</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>proxy_listbox_ids</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>relation_form_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>relation_setter_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>required</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>size</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>sort</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>title</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>truncate</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>unicode</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>update_method</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>whitespace_preserve</string> </key>
+                    <value> <string></string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>tales</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>allow_creation</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>allow_jump</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>alternate_name</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>base_category</string> </key>
+                    <value>
+                      <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>catalog_index</string> </key>
+                    <value>
+                      <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>columns</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>container_getter_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>css_class</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>default</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>description</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>display_maxwidth</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>display_width</string> </key>
+                    <value>
+                      <persistent> <string encoding="base64">AAAAAAAAAAQ=</string> </persistent>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>editable</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>enabled</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>external_validator</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>extra</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>extra_item</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>first_item</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>hidden</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>items</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>jump_method</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>list_method</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>max_length</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>max_linelength</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>max_lines</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>parameter_list</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>portal_type</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>proxy_listbox_ids</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>relation_form_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>relation_setter_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>required</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>size</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>sort</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>title</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>truncate</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>unicode</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>update_method</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>whitespace_preserve</string> </key>
+                    <value> <string></string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>values</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>allow_creation</string> </key>
+                    <value> <int>1</int> </value>
+                </item>
+                <item>
+                    <key> <string>allow_jump</string> </key>
+                    <value> <int>1</int> </value>
+                </item>
+                <item>
+                    <key> <string>alternate_name</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>base_category</string> </key>
+                    <value> <string>(tales)</string> </value>
+                </item>
+                <item>
+                    <key> <string>catalog_index</string> </key>
+                    <value> <string>(tales)</string> </value>
+                </item>
+                <item>
+                    <key> <string>columns</string> </key>
+                    <value>
+                      <list>
+                        <tuple>
+                          <string>title</string>
+                          <string>Usual Name</string>
+                        </tuple>
+                        <tuple>
+                          <string>description</string>
+                          <string>Description</string>
+                        </tuple>
+                        <tuple>
+                          <string>getDefaultTelephoneText</string>
+                          <string>Telephone</string>
+                        </tuple>
+                        <tuple>
+                          <string>getDefaultAddressText</string>
+                          <string>Address</string>
+                        </tuple>
+                        <tuple>
+                          <string>translated_portal_type</string>
+                          <string>Type</string>
+                        </tuple>
+                        <tuple>
+                          <string>translated_validation_state_title</string>
+                          <string>State</string>
+                        </tuple>
+                      </list>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>container_getter_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>css_class</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>default</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>description</string> </key>
+                    <value> <string>The invoicing person or organisation.</string> </value>
+                </item>
+                <item>
+                    <key> <string>display_maxwidth</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>display_width</string> </key>
+                    <value> <int>20</int> </value>
+                </item>
+                <item>
+                    <key> <string>editable</string> </key>
+                    <value> <int>1</int> </value>
+                </item>
+                <item>
+                    <key> <string>enabled</string> </key>
+                    <value> <int>1</int> </value>
+                </item>
+                <item>
+                    <key> <string>external_validator</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>extra</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>extra_item</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>first_item</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+                <item>
+                    <key> <string>hidden</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+                <item>
+                    <key> <string>items</string> </key>
+                    <value>
+                      <list/>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>jump_method</string> </key>
+                    <value> <string>Base_jumpToRelatedDocument</string> </value>
+                </item>
+                <item>
+                    <key> <string>list_method</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>max_length</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>max_linelength</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>max_lines</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>parameter_list</string> </key>
+                    <value>
+                      <list/>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>portal_type</string> </key>
+                    <value>
+                      <list>
+                        <tuple>
+                          <string>Organisation</string>
+                          <string>Organisation</string>
+                        </tuple>
+                        <tuple>
+                          <string>Person</string>
+                          <string>Person</string>
+                        </tuple>
+                      </list>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>proxy_listbox_ids</string> </key>
+                    <value>
+                      <list>
+                        <tuple>
+                          <string>Base_viewRelatedObjectListBase/listbox</string>
+                          <string>All</string>
+                        </tuple>
+                        <tuple>
+                          <string>ERP5Site_viewSupplierNodeList/listbox</string>
+                          <string>Suppliers</string>
+                        </tuple>
+                        <tuple>
+                          <string>ERP5Site_viewClientNodeList/listbox</string>
+                          <string>Clients</string>
+                        </tuple>
+                        <tuple>
+                          <string>OrganisationModule_viewOrganisationList/listbox</string>
+                          <string>Organisations</string>
+                        </tuple>
+                        <tuple>
+                          <string>PersonModule_viewPersonList/listbox</string>
+                          <string>Persons</string>
+                        </tuple>
+                      </list>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>relation_form_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>relation_setter_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>required</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+                <item>
+                    <key> <string>size</string> </key>
+                    <value> <int>1</int> </value>
+                </item>
+                <item>
+                    <key> <string>sort</string> </key>
+                    <value>
+                      <list/>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>title</string> </key>
+                    <value> <string>Supplier</string> </value>
+                </item>
+                <item>
+                    <key> <string>truncate</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+                <item>
+                    <key> <string>unicode</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+                <item>
+                    <key> <string>update_method</string> </key>
+                    <value> <string>Base_validateRelation</string> </value>
+                </item>
+                <item>
+                    <key> <string>whitespace_preserve</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+      </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: field.Base_getFieldParameterDict()[\'base_category\']</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="3" aka="AAAAAAAAAAM=">
+    <pickle>
+      <tuple>
+        <global name="TALESMethod" module="Products.Formulator.TALESField"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_text</string> </key>
+            <value> <string>python: field.Base_getFieldParameterDict()[\'catalog_index\']</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="4" aka="AAAAAAAAAAQ=">
+    <pickle>
+      <tuple>
+        <global name="TALESMethod" module="Products.Formulator.TALESField"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_text</string> </key>
+            <value> <string>python: preferences.getPreference(\'preferred_string_field_width\', 30)</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/PurchaseInvoiceTransaction_viewProfile/my_source_title.xml b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/PurchaseInvoiceTransaction_viewProfile/my_source_title.xml
new file mode 100644
index 0000000000..8ee609c199
--- /dev/null
+++ b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/PurchaseInvoiceTransaction_viewProfile/my_source_title.xml
@@ -0,0 +1,656 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="RelationStringField" module="Products.ERP5Form.RelationField"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>my_source_title</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>
+                <item>
+                    <key> <string>line_too_long</string> </key>
+                    <value> <string>A line was too long.</string> </value>
+                </item>
+                <item>
+                    <key> <string>relation_result_ambiguous</string> </key>
+                    <value> <string>Select appropriate document in the list.</string> </value>
+                </item>
+                <item>
+                    <key> <string>relation_result_empty</string> </key>
+                    <value> <string>No such document was found.</string> </value>
+                </item>
+                <item>
+                    <key> <string>relation_result_too_long</string> </key>
+                    <value> <string>Too many documents were found.</string> </value>
+                </item>
+                <item>
+                    <key> <string>required_not_found</string> </key>
+                    <value> <string>Input is required but no input given.</string> </value>
+                </item>
+                <item>
+                    <key> <string>too_long</string> </key>
+                    <value> <string>You entered too many characters.</string> </value>
+                </item>
+                <item>
+                    <key> <string>too_many_lines</string> </key>
+                    <value> <string>You entered too many lines.</string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>overrides</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>allow_creation</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>allow_jump</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>alternate_name</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>base_category</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>catalog_index</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>columns</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>container_getter_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>css_class</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>default</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>description</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>display_maxwidth</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>display_width</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>editable</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>enabled</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>external_validator</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>extra</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>extra_item</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>first_item</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>hidden</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>items</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>jump_method</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>list_method</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>max_length</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>max_linelength</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>max_lines</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>parameter_list</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>portal_type</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>proxy_listbox_ids</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>relation_form_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>relation_setter_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>required</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>size</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>sort</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>title</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>truncate</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>unicode</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>update_method</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>whitespace_preserve</string> </key>
+                    <value> <string></string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>tales</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>allow_creation</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>allow_jump</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>alternate_name</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>base_category</string> </key>
+                    <value>
+                      <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>catalog_index</string> </key>
+                    <value>
+                      <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>columns</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>container_getter_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>css_class</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>default</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>description</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>display_maxwidth</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>display_width</string> </key>
+                    <value>
+                      <persistent> <string encoding="base64">AAAAAAAAAAQ=</string> </persistent>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>editable</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>enabled</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>external_validator</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>extra</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>extra_item</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>first_item</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>hidden</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>items</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>jump_method</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>list_method</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>max_length</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>max_linelength</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>max_lines</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>parameter_list</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>portal_type</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>proxy_listbox_ids</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>relation_form_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>relation_setter_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>required</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>size</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>sort</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>title</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>truncate</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>unicode</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>update_method</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>whitespace_preserve</string> </key>
+                    <value> <string></string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>values</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>allow_creation</string> </key>
+                    <value> <int>1</int> </value>
+                </item>
+                <item>
+                    <key> <string>allow_jump</string> </key>
+                    <value> <int>1</int> </value>
+                </item>
+                <item>
+                    <key> <string>alternate_name</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>base_category</string> </key>
+                    <value> <string>(tales)</string> </value>
+                </item>
+                <item>
+                    <key> <string>catalog_index</string> </key>
+                    <value> <string>(tales)</string> </value>
+                </item>
+                <item>
+                    <key> <string>columns</string> </key>
+                    <value>
+                      <list>
+                        <tuple>
+                          <string>title</string>
+                          <string>Usual Name</string>
+                        </tuple>
+                        <tuple>
+                          <string>description</string>
+                          <string>Description</string>
+                        </tuple>
+                        <tuple>
+                          <string>getDefaultTelephoneText</string>
+                          <string>Telephone</string>
+                        </tuple>
+                        <tuple>
+                          <string>getDefaultAddressText</string>
+                          <string>Address</string>
+                        </tuple>
+                        <tuple>
+                          <string>translated_portal_type</string>
+                          <string>Type</string>
+                        </tuple>
+                        <tuple>
+                          <string>translated_validation_state_title</string>
+                          <string>State</string>
+                        </tuple>
+                      </list>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>container_getter_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>css_class</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>default</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>description</string> </key>
+                    <value> <string>The organisation or person who sends merchandise or provides service.</string> </value>
+                </item>
+                <item>
+                    <key> <string>display_maxwidth</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>display_width</string> </key>
+                    <value> <int>20</int> </value>
+                </item>
+                <item>
+                    <key> <string>editable</string> </key>
+                    <value> <int>1</int> </value>
+                </item>
+                <item>
+                    <key> <string>enabled</string> </key>
+                    <value> <int>1</int> </value>
+                </item>
+                <item>
+                    <key> <string>external_validator</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>extra</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>extra_item</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>first_item</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+                <item>
+                    <key> <string>hidden</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+                <item>
+                    <key> <string>items</string> </key>
+                    <value>
+                      <list/>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>jump_method</string> </key>
+                    <value> <string>Base_jumpToRelatedDocument</string> </value>
+                </item>
+                <item>
+                    <key> <string>list_method</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>max_length</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>max_linelength</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>max_lines</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>parameter_list</string> </key>
+                    <value>
+                      <list/>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>portal_type</string> </key>
+                    <value>
+                      <list>
+                        <tuple>
+                          <string>Organisation</string>
+                          <string>Organisation</string>
+                        </tuple>
+                        <tuple>
+                          <string>Person</string>
+                          <string>Person</string>
+                        </tuple>
+                      </list>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>proxy_listbox_ids</string> </key>
+                    <value>
+                      <list>
+                        <tuple>
+                          <string>Base_viewRelatedObjectListBase/listbox</string>
+                          <string>All</string>
+                        </tuple>
+                        <tuple>
+                          <string>ERP5Site_viewSupplierNodeList/listbox</string>
+                          <string>Suppliers</string>
+                        </tuple>
+                        <tuple>
+                          <string>ERP5Site_viewClientNodeList/listbox</string>
+                          <string>Clients</string>
+                        </tuple>
+                        <tuple>
+                          <string>OrganisationModule_viewOrganisationList/listbox</string>
+                          <string>Organisations</string>
+                        </tuple>
+                        <tuple>
+                          <string>PersonModule_viewPersonList/listbox</string>
+                          <string>Persons</string>
+                        </tuple>
+                      </list>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>relation_form_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>relation_setter_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>required</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+                <item>
+                    <key> <string>size</string> </key>
+                    <value> <int>1</int> </value>
+                </item>
+                <item>
+                    <key> <string>sort</string> </key>
+                    <value>
+                      <list/>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>title</string> </key>
+                    <value> <string>Sender or Provider</string> </value>
+                </item>
+                <item>
+                    <key> <string>truncate</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+                <item>
+                    <key> <string>unicode</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+                <item>
+                    <key> <string>update_method</string> </key>
+                    <value> <string>Base_validateRelation</string> </value>
+                </item>
+                <item>
+                    <key> <string>whitespace_preserve</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+      </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: field.Base_getFieldParameterDict()[\'base_category\']</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="3" aka="AAAAAAAAAAM=">
+    <pickle>
+      <tuple>
+        <global name="TALESMethod" module="Products.Formulator.TALESField"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_text</string> </key>
+            <value> <string>python: field.Base_getFieldParameterDict()[\'catalog_index\']</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="4" aka="AAAAAAAAAAQ=">
+    <pickle>
+      <tuple>
+        <global name="TALESMethod" module="Products.Formulator.TALESField"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_text</string> </key>
+            <value> <string>python: preferences.getPreference(\'preferred_string_field_width\', 30)</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/SaleInvoiceTransaction_viewProfile.xml b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/SaleInvoiceTransaction_viewProfile.xml
new file mode 100644
index 0000000000..450de807a5
--- /dev/null
+++ b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/SaleInvoiceTransaction_viewProfile.xml
@@ -0,0 +1,150 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="ERP5Form" module="Products.ERP5Form.Form"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_bind_names</string> </key>
+            <value>
+              <object>
+                <klass>
+                  <global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/>
+                </klass>
+                <tuple/>
+                <state>
+                  <dictionary>
+                    <item>
+                        <key> <string>_asgns</string> </key>
+                        <value>
+                          <dictionary/>
+                        </value>
+                    </item>
+                  </dictionary>
+                </state>
+              </object>
+            </value>
+        </item>
+        <item>
+            <key> <string>_objects</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+        <item>
+            <key> <string>action</string> </key>
+            <value> <string>Base_edit</string> </value>
+        </item>
+        <item>
+            <key> <string>description</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>edit_order</string> </key>
+            <value>
+              <list/>
+            </value>
+        </item>
+        <item>
+            <key> <string>encoding</string> </key>
+            <value> <string>UTF-8</string> </value>
+        </item>
+        <item>
+            <key> <string>enctype</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>group_list</string> </key>
+            <value>
+              <list>
+                <string>left</string>
+                <string>right</string>
+              </list>
+            </value>
+        </item>
+        <item>
+            <key> <string>groups</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>left</string> </key>
+                    <value>
+                      <list>
+                        <string>my_source_section_title</string>
+                        <string>my_source_title</string>
+                        <string>my_source_decision_title</string>
+                        <string>my_source_administration_title</string>
+                        <string>my_source_payment</string>
+                        <string>my_source_project_title</string>
+                        <string>my_source_reference</string>
+                        <string>my_source_carrier_title</string>
+                      </list>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>right</string> </key>
+                    <value>
+                      <list>
+                        <string>my_destination_section_title</string>
+                        <string>my_destination_title</string>
+                        <string>my_destination_decision_title</string>
+                        <string>my_destination_administration_title</string>
+                        <string>my_destination_payment</string>
+                        <string>my_destination_project_title</string>
+                        <string>my_destination_reference</string>
+                        <string>my_destination_carrier_title</string>
+                      </list>
+                    </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>SaleInvoiceTransaction_viewProfile</string> </value>
+        </item>
+        <item>
+            <key> <string>method</string> </key>
+            <value> <string>POST</string> </value>
+        </item>
+        <item>
+            <key> <string>name</string> </key>
+            <value> <string>SaleTradeCondition_viewProfile</string> </value>
+        </item>
+        <item>
+            <key> <string>pt</string> </key>
+            <value> <string>form_view</string> </value>
+        </item>
+        <item>
+            <key> <string>row_length</string> </key>
+            <value> <int>4</int> </value>
+        </item>
+        <item>
+            <key> <string>stored_encoding</string> </key>
+            <value> <string>UTF-8</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>Profile</string> </value>
+        </item>
+        <item>
+            <key> <string>unicode_mode</string> </key>
+            <value> <int>0</int> </value>
+        </item>
+        <item>
+            <key> <string>update_action</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>update_action_title</string> </key>
+            <value> <string></string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/SaleInvoiceTransaction_viewProfile/my_destination_administration_title.xml b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/SaleInvoiceTransaction_viewProfile/my_destination_administration_title.xml
new file mode 100644
index 0000000000..89a0d87335
--- /dev/null
+++ b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/SaleInvoiceTransaction_viewProfile/my_destination_administration_title.xml
@@ -0,0 +1,631 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="RelationStringField" module="Products.ERP5Form.RelationField"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>my_destination_administration_title</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>
+                <item>
+                    <key> <string>line_too_long</string> </key>
+                    <value> <string>A line was too long.</string> </value>
+                </item>
+                <item>
+                    <key> <string>relation_result_ambiguous</string> </key>
+                    <value> <string>Select appropriate document in the list.</string> </value>
+                </item>
+                <item>
+                    <key> <string>relation_result_empty</string> </key>
+                    <value> <string>No such document was found.</string> </value>
+                </item>
+                <item>
+                    <key> <string>relation_result_too_long</string> </key>
+                    <value> <string>Too many documents were found.</string> </value>
+                </item>
+                <item>
+                    <key> <string>required_not_found</string> </key>
+                    <value> <string>Input is required but no input given.</string> </value>
+                </item>
+                <item>
+                    <key> <string>too_long</string> </key>
+                    <value> <string>You entered too many characters.</string> </value>
+                </item>
+                <item>
+                    <key> <string>too_many_lines</string> </key>
+                    <value> <string>You entered too many lines.</string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>overrides</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>allow_creation</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>allow_jump</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>alternate_name</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>base_category</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>catalog_index</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>columns</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>container_getter_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>css_class</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>default</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>description</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>display_maxwidth</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>display_width</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>editable</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>enabled</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>external_validator</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>extra</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>extra_item</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>first_item</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>hidden</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>items</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>jump_method</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>list_method</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>max_length</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>max_linelength</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>max_lines</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>parameter_list</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>portal_type</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>proxy_listbox_ids</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>relation_form_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>relation_setter_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>required</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>size</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>sort</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>title</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>truncate</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>unicode</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>update_method</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>whitespace_preserve</string> </key>
+                    <value> <string></string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>tales</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>allow_creation</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>allow_jump</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>alternate_name</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>base_category</string> </key>
+                    <value>
+                      <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>catalog_index</string> </key>
+                    <value>
+                      <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>columns</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>container_getter_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>css_class</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>default</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>description</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>display_maxwidth</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>display_width</string> </key>
+                    <value>
+                      <persistent> <string encoding="base64">AAAAAAAAAAQ=</string> </persistent>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>editable</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>enabled</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>external_validator</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>extra</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>extra_item</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>first_item</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>hidden</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>items</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>jump_method</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>list_method</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>max_length</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>max_linelength</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>max_lines</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>parameter_list</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>portal_type</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>proxy_listbox_ids</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>relation_form_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>relation_setter_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>required</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>size</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>sort</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>title</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>truncate</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>unicode</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>update_method</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>whitespace_preserve</string> </key>
+                    <value> <string></string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>values</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>allow_creation</string> </key>
+                    <value> <int>1</int> </value>
+                </item>
+                <item>
+                    <key> <string>allow_jump</string> </key>
+                    <value> <int>1</int> </value>
+                </item>
+                <item>
+                    <key> <string>alternate_name</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>base_category</string> </key>
+                    <value> <string>(tales)</string> </value>
+                </item>
+                <item>
+                    <key> <string>catalog_index</string> </key>
+                    <value> <string>(tales)</string> </value>
+                </item>
+                <item>
+                    <key> <string>columns</string> </key>
+                    <value>
+                      <list/>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>container_getter_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>css_class</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>default</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>description</string> </key>
+                    <value> <string>The person or organisation which the invoice should be sent to and who is in charge of handling administrative paperwork for the client.</string> </value>
+                </item>
+                <item>
+                    <key> <string>display_maxwidth</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>display_width</string> </key>
+                    <value> <int>20</int> </value>
+                </item>
+                <item>
+                    <key> <string>editable</string> </key>
+                    <value> <int>1</int> </value>
+                </item>
+                <item>
+                    <key> <string>enabled</string> </key>
+                    <value> <int>1</int> </value>
+                </item>
+                <item>
+                    <key> <string>external_validator</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>extra</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>extra_item</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>first_item</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+                <item>
+                    <key> <string>hidden</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+                <item>
+                    <key> <string>items</string> </key>
+                    <value>
+                      <list/>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>jump_method</string> </key>
+                    <value> <string>Base_jumpToRelatedDocument</string> </value>
+                </item>
+                <item>
+                    <key> <string>list_method</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>max_length</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>max_linelength</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>max_lines</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>parameter_list</string> </key>
+                    <value>
+                      <list/>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>portal_type</string> </key>
+                    <value>
+                      <list>
+                        <tuple>
+                          <string>Organisation</string>
+                          <string>Organisation</string>
+                        </tuple>
+                        <tuple>
+                          <string>Person</string>
+                          <string>Person</string>
+                        </tuple>
+                      </list>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>proxy_listbox_ids</string> </key>
+                    <value>
+                      <list>
+                        <tuple>
+                          <string>Base_viewRelatedObjectListBase/listbox</string>
+                          <string>All</string>
+                        </tuple>
+                        <tuple>
+                          <string>ERP5Site_viewClientNodeList/listbox</string>
+                          <string>Clients</string>
+                        </tuple>
+                        <tuple>
+                          <string>ERP5Site_viewSupplierNodeList/listbox</string>
+                          <string>Suppliers</string>
+                        </tuple>
+                        <tuple>
+                          <string>OrganisationModule_viewOrganisationList/listbox</string>
+                          <string>Organisations</string>
+                        </tuple>
+                        <tuple>
+                          <string>PersonModule_viewPersonList/listbox</string>
+                          <string>Persons</string>
+                        </tuple>
+                      </list>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>relation_form_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>relation_setter_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>required</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+                <item>
+                    <key> <string>size</string> </key>
+                    <value> <int>1</int> </value>
+                </item>
+                <item>
+                    <key> <string>sort</string> </key>
+                    <value>
+                      <list/>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>title</string> </key>
+                    <value> <string>Invoice Recipient</string> </value>
+                </item>
+                <item>
+                    <key> <string>truncate</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+                <item>
+                    <key> <string>unicode</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+                <item>
+                    <key> <string>update_method</string> </key>
+                    <value> <string>Base_validateRelation</string> </value>
+                </item>
+                <item>
+                    <key> <string>whitespace_preserve</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+      </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: field.Base_getFieldParameterDict()[\'base_category\']</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="3" aka="AAAAAAAAAAM=">
+    <pickle>
+      <tuple>
+        <global name="TALESMethod" module="Products.Formulator.TALESField"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_text</string> </key>
+            <value> <string>python: field.Base_getFieldParameterDict()[\'catalog_index\']</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="4" aka="AAAAAAAAAAQ=">
+    <pickle>
+      <tuple>
+        <global name="TALESMethod" module="Products.Formulator.TALESField"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_text</string> </key>
+            <value> <string>python: preferences.getPreference(\'preferred_string_field_width\', 30)</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/SaleInvoiceTransaction_viewProfile/my_destination_carrier_title.xml b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/SaleInvoiceTransaction_viewProfile/my_destination_carrier_title.xml
new file mode 100644
index 0000000000..18a6bcbb93
--- /dev/null
+++ b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/SaleInvoiceTransaction_viewProfile/my_destination_carrier_title.xml
@@ -0,0 +1,631 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="RelationStringField" module="Products.ERP5Form.RelationField"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>my_destination_carrier_title</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>
+                <item>
+                    <key> <string>line_too_long</string> </key>
+                    <value> <string>A line was too long.</string> </value>
+                </item>
+                <item>
+                    <key> <string>relation_result_ambiguous</string> </key>
+                    <value> <string>Select appropriate document in the list.</string> </value>
+                </item>
+                <item>
+                    <key> <string>relation_result_empty</string> </key>
+                    <value> <string>No such document was found.</string> </value>
+                </item>
+                <item>
+                    <key> <string>relation_result_too_long</string> </key>
+                    <value> <string>Too many documents were found.</string> </value>
+                </item>
+                <item>
+                    <key> <string>required_not_found</string> </key>
+                    <value> <string>Input is required but no input given.</string> </value>
+                </item>
+                <item>
+                    <key> <string>too_long</string> </key>
+                    <value> <string>You entered too many characters.</string> </value>
+                </item>
+                <item>
+                    <key> <string>too_many_lines</string> </key>
+                    <value> <string>You entered too many lines.</string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>overrides</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>allow_creation</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>allow_jump</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>alternate_name</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>base_category</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>catalog_index</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>columns</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>container_getter_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>css_class</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>default</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>description</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>display_maxwidth</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>display_width</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>editable</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>enabled</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>external_validator</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>extra</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>extra_item</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>first_item</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>hidden</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>items</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>jump_method</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>list_method</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>max_length</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>max_linelength</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>max_lines</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>parameter_list</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>portal_type</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>proxy_listbox_ids</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>relation_form_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>relation_setter_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>required</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>size</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>sort</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>title</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>truncate</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>unicode</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>update_method</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>whitespace_preserve</string> </key>
+                    <value> <string></string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>tales</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>allow_creation</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>allow_jump</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>alternate_name</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>base_category</string> </key>
+                    <value>
+                      <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>catalog_index</string> </key>
+                    <value>
+                      <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>columns</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>container_getter_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>css_class</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>default</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>description</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>display_maxwidth</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>display_width</string> </key>
+                    <value>
+                      <persistent> <string encoding="base64">AAAAAAAAAAQ=</string> </persistent>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>editable</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>enabled</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>external_validator</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>extra</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>extra_item</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>first_item</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>hidden</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>items</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>jump_method</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>list_method</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>max_length</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>max_linelength</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>max_lines</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>parameter_list</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>portal_type</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>proxy_listbox_ids</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>relation_form_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>relation_setter_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>required</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>size</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>sort</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>title</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>truncate</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>unicode</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>update_method</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>whitespace_preserve</string> </key>
+                    <value> <string></string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>values</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>allow_creation</string> </key>
+                    <value> <int>1</int> </value>
+                </item>
+                <item>
+                    <key> <string>allow_jump</string> </key>
+                    <value> <int>1</int> </value>
+                </item>
+                <item>
+                    <key> <string>alternate_name</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>base_category</string> </key>
+                    <value> <string>(tales)</string> </value>
+                </item>
+                <item>
+                    <key> <string>catalog_index</string> </key>
+                    <value> <string>(tales)</string> </value>
+                </item>
+                <item>
+                    <key> <string>columns</string> </key>
+                    <value>
+                      <list/>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>container_getter_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>css_class</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>default</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>description</string> </key>
+                    <value> <string>The logistic company in charge of delivering goods at the destination warehouse.</string> </value>
+                </item>
+                <item>
+                    <key> <string>display_maxwidth</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>display_width</string> </key>
+                    <value> <int>20</int> </value>
+                </item>
+                <item>
+                    <key> <string>editable</string> </key>
+                    <value> <int>1</int> </value>
+                </item>
+                <item>
+                    <key> <string>enabled</string> </key>
+                    <value> <int>1</int> </value>
+                </item>
+                <item>
+                    <key> <string>external_validator</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>extra</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>extra_item</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>first_item</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+                <item>
+                    <key> <string>hidden</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+                <item>
+                    <key> <string>items</string> </key>
+                    <value>
+                      <list/>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>jump_method</string> </key>
+                    <value> <string>Base_jumpToRelatedDocument</string> </value>
+                </item>
+                <item>
+                    <key> <string>list_method</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>max_length</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>max_linelength</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>max_lines</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>parameter_list</string> </key>
+                    <value>
+                      <list/>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>portal_type</string> </key>
+                    <value>
+                      <list>
+                        <tuple>
+                          <string>Organisation</string>
+                          <string>Organisation</string>
+                        </tuple>
+                        <tuple>
+                          <string>Person</string>
+                          <string>Person</string>
+                        </tuple>
+                      </list>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>proxy_listbox_ids</string> </key>
+                    <value>
+                      <list>
+                        <tuple>
+                          <string>Base_viewRelatedObjectListBase/listbox</string>
+                          <string>All</string>
+                        </tuple>
+                        <tuple>
+                          <string>ERP5Site_viewClientNodeList/listbox</string>
+                          <string>Clients</string>
+                        </tuple>
+                        <tuple>
+                          <string>ERP5Site_viewSupplierNodeList/listbox</string>
+                          <string>Suppliers</string>
+                        </tuple>
+                        <tuple>
+                          <string>OrganisationModule_viewOrganisationList/listbox</string>
+                          <string>Organisations</string>
+                        </tuple>
+                        <tuple>
+                          <string>PersonModule_viewPersonList/listbox</string>
+                          <string>Persons</string>
+                        </tuple>
+                      </list>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>relation_form_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>relation_setter_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>required</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+                <item>
+                    <key> <string>size</string> </key>
+                    <value> <int>1</int> </value>
+                </item>
+                <item>
+                    <key> <string>sort</string> </key>
+                    <value>
+                      <list/>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>title</string> </key>
+                    <value> <string>Destination Carrier</string> </value>
+                </item>
+                <item>
+                    <key> <string>truncate</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+                <item>
+                    <key> <string>unicode</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+                <item>
+                    <key> <string>update_method</string> </key>
+                    <value> <string>Base_validateRelation</string> </value>
+                </item>
+                <item>
+                    <key> <string>whitespace_preserve</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+      </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: field.Base_getFieldParameterDict()[\'base_category\']</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="3" aka="AAAAAAAAAAM=">
+    <pickle>
+      <tuple>
+        <global name="TALESMethod" module="Products.Formulator.TALESField"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_text</string> </key>
+            <value> <string>python: field.Base_getFieldParameterDict()[\'catalog_index\']</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="4" aka="AAAAAAAAAAQ=">
+    <pickle>
+      <tuple>
+        <global name="TALESMethod" module="Products.Formulator.TALESField"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_text</string> </key>
+            <value> <string>python: preferences.getPreference(\'preferred_string_field_width\', 30)</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/SaleInvoiceTransaction_viewProfile/my_destination_decision_title.xml b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/SaleInvoiceTransaction_viewProfile/my_destination_decision_title.xml
new file mode 100644
index 0000000000..fb5d01d1cc
--- /dev/null
+++ b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/SaleInvoiceTransaction_viewProfile/my_destination_decision_title.xml
@@ -0,0 +1,656 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="RelationStringField" module="Products.ERP5Form.RelationField"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>my_destination_decision_title</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>
+                <item>
+                    <key> <string>line_too_long</string> </key>
+                    <value> <string>A line was too long.</string> </value>
+                </item>
+                <item>
+                    <key> <string>relation_result_ambiguous</string> </key>
+                    <value> <string>Select appropriate document in the list.</string> </value>
+                </item>
+                <item>
+                    <key> <string>relation_result_empty</string> </key>
+                    <value> <string>No such document was found.</string> </value>
+                </item>
+                <item>
+                    <key> <string>relation_result_too_long</string> </key>
+                    <value> <string>Too many documents were found.</string> </value>
+                </item>
+                <item>
+                    <key> <string>required_not_found</string> </key>
+                    <value> <string>Input is required but no input given.</string> </value>
+                </item>
+                <item>
+                    <key> <string>too_long</string> </key>
+                    <value> <string>You entered too many characters.</string> </value>
+                </item>
+                <item>
+                    <key> <string>too_many_lines</string> </key>
+                    <value> <string>You entered too many lines.</string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>overrides</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>allow_creation</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>allow_jump</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>alternate_name</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>base_category</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>catalog_index</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>columns</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>container_getter_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>css_class</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>default</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>description</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>display_maxwidth</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>display_width</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>editable</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>enabled</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>external_validator</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>extra</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>extra_item</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>first_item</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>hidden</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>items</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>jump_method</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>list_method</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>max_length</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>max_linelength</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>max_lines</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>parameter_list</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>portal_type</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>proxy_listbox_ids</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>relation_form_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>relation_setter_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>required</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>size</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>sort</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>title</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>truncate</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>unicode</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>update_method</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>whitespace_preserve</string> </key>
+                    <value> <string></string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>tales</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>allow_creation</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>allow_jump</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>alternate_name</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>base_category</string> </key>
+                    <value>
+                      <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>catalog_index</string> </key>
+                    <value>
+                      <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>columns</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>container_getter_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>css_class</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>default</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>description</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>display_maxwidth</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>display_width</string> </key>
+                    <value>
+                      <persistent> <string encoding="base64">AAAAAAAAAAQ=</string> </persistent>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>editable</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>enabled</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>external_validator</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>extra</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>extra_item</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>first_item</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>hidden</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>items</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>jump_method</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>list_method</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>max_length</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>max_linelength</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>max_lines</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>parameter_list</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>portal_type</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>proxy_listbox_ids</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>relation_form_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>relation_setter_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>required</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>size</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>sort</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>title</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>truncate</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>unicode</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>update_method</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>whitespace_preserve</string> </key>
+                    <value> <string></string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>values</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>allow_creation</string> </key>
+                    <value> <int>1</int> </value>
+                </item>
+                <item>
+                    <key> <string>allow_jump</string> </key>
+                    <value> <int>1</int> </value>
+                </item>
+                <item>
+                    <key> <string>alternate_name</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>base_category</string> </key>
+                    <value> <string>(tales)</string> </value>
+                </item>
+                <item>
+                    <key> <string>catalog_index</string> </key>
+                    <value> <string>(tales)</string> </value>
+                </item>
+                <item>
+                    <key> <string>columns</string> </key>
+                    <value>
+                      <list>
+                        <tuple>
+                          <string>title</string>
+                          <string>Usual Name</string>
+                        </tuple>
+                        <tuple>
+                          <string>description</string>
+                          <string>Description</string>
+                        </tuple>
+                        <tuple>
+                          <string>getDefaultTelephoneText</string>
+                          <string>Telephone</string>
+                        </tuple>
+                        <tuple>
+                          <string>getDefaultAddressText</string>
+                          <string>Address</string>
+                        </tuple>
+                        <tuple>
+                          <string>translated_portal_type</string>
+                          <string>Type</string>
+                        </tuple>
+                        <tuple>
+                          <string>translated_validation_state_title</string>
+                          <string>State</string>
+                        </tuple>
+                      </list>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>container_getter_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>css_class</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>default</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>description</string> </key>
+                    <value> <string>The person or organisation in charge of selecting the supplier or taking the decision to place the order.</string> </value>
+                </item>
+                <item>
+                    <key> <string>display_maxwidth</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>display_width</string> </key>
+                    <value> <int>20</int> </value>
+                </item>
+                <item>
+                    <key> <string>editable</string> </key>
+                    <value> <int>1</int> </value>
+                </item>
+                <item>
+                    <key> <string>enabled</string> </key>
+                    <value> <int>1</int> </value>
+                </item>
+                <item>
+                    <key> <string>external_validator</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>extra</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>extra_item</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>first_item</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+                <item>
+                    <key> <string>hidden</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+                <item>
+                    <key> <string>items</string> </key>
+                    <value>
+                      <list/>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>jump_method</string> </key>
+                    <value> <string>Base_jumpToRelatedDocument</string> </value>
+                </item>
+                <item>
+                    <key> <string>list_method</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>max_length</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>max_linelength</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>max_lines</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>parameter_list</string> </key>
+                    <value>
+                      <list/>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>portal_type</string> </key>
+                    <value>
+                      <list>
+                        <tuple>
+                          <string>Organisation</string>
+                          <string>Organisation</string>
+                        </tuple>
+                        <tuple>
+                          <string>Person</string>
+                          <string>Person</string>
+                        </tuple>
+                      </list>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>proxy_listbox_ids</string> </key>
+                    <value>
+                      <list>
+                        <tuple>
+                          <string>Base_viewRelatedObjectListBase/listbox</string>
+                          <string>All</string>
+                        </tuple>
+                        <tuple>
+                          <string>ERP5Site_viewClientNodeList/listbox</string>
+                          <string>Clients</string>
+                        </tuple>
+                        <tuple>
+                          <string>ERP5Site_viewSupplierNodeList/listbox</string>
+                          <string>Suppliers</string>
+                        </tuple>
+                        <tuple>
+                          <string>OrganisationModule_viewOrganisationList/listbox</string>
+                          <string>Organisations</string>
+                        </tuple>
+                        <tuple>
+                          <string>PersonModule_viewPersonList/listbox</string>
+                          <string>Persons</string>
+                        </tuple>
+                      </list>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>relation_form_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>relation_setter_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>required</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+                <item>
+                    <key> <string>size</string> </key>
+                    <value> <int>1</int> </value>
+                </item>
+                <item>
+                    <key> <string>sort</string> </key>
+                    <value>
+                      <list/>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>title</string> </key>
+                    <value> <string>Buyer</string> </value>
+                </item>
+                <item>
+                    <key> <string>truncate</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+                <item>
+                    <key> <string>unicode</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+                <item>
+                    <key> <string>update_method</string> </key>
+                    <value> <string>Base_validateRelation</string> </value>
+                </item>
+                <item>
+                    <key> <string>whitespace_preserve</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+      </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: field.Base_getFieldParameterDict()[\'base_category\']</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="3" aka="AAAAAAAAAAM=">
+    <pickle>
+      <tuple>
+        <global name="TALESMethod" module="Products.Formulator.TALESField"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_text</string> </key>
+            <value> <string>python: field.Base_getFieldParameterDict()[\'catalog_index\']</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="4" aka="AAAAAAAAAAQ=">
+    <pickle>
+      <tuple>
+        <global name="TALESMethod" module="Products.Formulator.TALESField"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_text</string> </key>
+            <value> <string>python: preferences.getPreference(\'preferred_string_field_width\', 30)</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/SaleInvoiceTransaction_viewProfile/my_destination_payment.xml b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/SaleInvoiceTransaction_viewProfile/my_destination_payment.xml
new file mode 100644
index 0000000000..dc56d44e39
--- /dev/null
+++ b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/SaleInvoiceTransaction_viewProfile/my_destination_payment.xml
@@ -0,0 +1,283 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="ListField" module="Products.Formulator.StandardFields"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>my_destination_payment</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>
+                <item>
+                    <key> <string>required_not_found</string> </key>
+                    <value> <string>Input is required but no input given.</string> </value>
+                </item>
+                <item>
+                    <key> <string>unknown_selection</string> </key>
+                    <value> <string>You selected an item that was not in the list.</string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>overrides</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>alternate_name</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>css_class</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>default</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>description</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>editable</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>enabled</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>external_validator</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>extra</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>extra_item</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>first_item</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>hidden</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>items</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>required</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>size</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>title</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>unicode</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>whitespace_preserve</string> </key>
+                    <value> <string></string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>tales</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>alternate_name</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>css_class</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>default</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>description</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>editable</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>enabled</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>external_validator</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>extra</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>extra_item</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>first_item</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>hidden</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>items</string> </key>
+                    <value>
+                      <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>required</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>size</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>title</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>unicode</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>whitespace_preserve</string> </key>
+                    <value> <string></string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>values</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>alternate_name</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>css_class</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>default</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>description</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>editable</string> </key>
+                    <value> <int>1</int> </value>
+                </item>
+                <item>
+                    <key> <string>enabled</string> </key>
+                    <value> <int>1</int> </value>
+                </item>
+                <item>
+                    <key> <string>external_validator</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>extra</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>extra_item</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>first_item</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+                <item>
+                    <key> <string>hidden</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+                <item>
+                    <key> <string>items</string> </key>
+                    <value>
+                      <list/>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>required</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+                <item>
+                    <key> <string>size</string> </key>
+                    <value> <int>1</int> </value>
+                </item>
+                <item>
+                    <key> <string>title</string> </key>
+                    <value> <string>Client Bank Account</string> </value>
+                </item>
+                <item>
+                    <key> <string>unicode</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+                <item>
+                    <key> <string>whitespace_preserve</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+      </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: here.AccountingTransaction_getDestinationPaymentItemList()</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/SaleInvoiceTransaction_viewProfile/my_destination_project_title.xml b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/SaleInvoiceTransaction_viewProfile/my_destination_project_title.xml
new file mode 100644
index 0000000000..1e4b175cb7
--- /dev/null
+++ b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/SaleInvoiceTransaction_viewProfile/my_destination_project_title.xml
@@ -0,0 +1,640 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="RelationStringField" module="Products.ERP5Form.RelationField"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>my_destination_project_title</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>
+                <item>
+                    <key> <string>line_too_long</string> </key>
+                    <value> <string>A line was too long.</string> </value>
+                </item>
+                <item>
+                    <key> <string>relation_result_ambiguous</string> </key>
+                    <value> <string>Select appropriate document in the list.</string> </value>
+                </item>
+                <item>
+                    <key> <string>relation_result_empty</string> </key>
+                    <value> <string>No such document was found.</string> </value>
+                </item>
+                <item>
+                    <key> <string>relation_result_too_long</string> </key>
+                    <value> <string>Too many documents were found.</string> </value>
+                </item>
+                <item>
+                    <key> <string>required_not_found</string> </key>
+                    <value> <string>Input is required but no input given.</string> </value>
+                </item>
+                <item>
+                    <key> <string>too_long</string> </key>
+                    <value> <string>You entered too many characters.</string> </value>
+                </item>
+                <item>
+                    <key> <string>too_many_lines</string> </key>
+                    <value> <string>You entered too many lines.</string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>overrides</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>allow_creation</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>allow_jump</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>alternate_name</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>base_category</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>catalog_index</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>columns</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>container_getter_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>css_class</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>default</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>description</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>display_maxwidth</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>display_width</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>editable</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>enabled</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>external_validator</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>extra</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>extra_item</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>first_item</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>hidden</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>items</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>jump_method</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>list_method</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>max_length</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>max_linelength</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>max_lines</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>parameter_list</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>portal_type</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>proxy_listbox_ids</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>relation_form_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>relation_setter_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>required</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>size</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>sort</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>title</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>truncate</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>unicode</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>update_method</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>whitespace_preserve</string> </key>
+                    <value> <string></string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>tales</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>allow_creation</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>allow_jump</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>alternate_name</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>base_category</string> </key>
+                    <value>
+                      <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>catalog_index</string> </key>
+                    <value>
+                      <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>columns</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>container_getter_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>css_class</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>default</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>description</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>display_maxwidth</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>display_width</string> </key>
+                    <value>
+                      <persistent> <string encoding="base64">AAAAAAAAAAQ=</string> </persistent>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>editable</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>enabled</string> </key>
+                    <value>
+                      <persistent> <string encoding="base64">AAAAAAAAAAU=</string> </persistent>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>external_validator</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>extra</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>extra_item</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>first_item</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>hidden</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>items</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>jump_method</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>list_method</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>max_length</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>max_linelength</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>max_lines</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>parameter_list</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>portal_type</string> </key>
+                    <value>
+                      <persistent> <string encoding="base64">AAAAAAAAAAY=</string> </persistent>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>proxy_listbox_ids</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>relation_form_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>relation_setter_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>required</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>size</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>sort</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>title</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>truncate</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>unicode</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>update_method</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>whitespace_preserve</string> </key>
+                    <value> <string></string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>values</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>allow_creation</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+                <item>
+                    <key> <string>allow_jump</string> </key>
+                    <value> <int>1</int> </value>
+                </item>
+                <item>
+                    <key> <string>alternate_name</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>base_category</string> </key>
+                    <value> <string>(tales)</string> </value>
+                </item>
+                <item>
+                    <key> <string>catalog_index</string> </key>
+                    <value> <string>(tales)</string> </value>
+                </item>
+                <item>
+                    <key> <string>columns</string> </key>
+                    <value>
+                      <list/>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>container_getter_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>css_class</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>default</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>description</string> </key>
+                    <value> <string>The project to which this transaction is related to on the client side.</string> </value>
+                </item>
+                <item>
+                    <key> <string>display_maxwidth</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>display_width</string> </key>
+                    <value> <int>20</int> </value>
+                </item>
+                <item>
+                    <key> <string>editable</string> </key>
+                    <value> <int>1</int> </value>
+                </item>
+                <item>
+                    <key> <string>enabled</string> </key>
+                    <value> <int>1</int> </value>
+                </item>
+                <item>
+                    <key> <string>external_validator</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>extra</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>extra_item</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>first_item</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+                <item>
+                    <key> <string>hidden</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+                <item>
+                    <key> <string>items</string> </key>
+                    <value>
+                      <list/>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>jump_method</string> </key>
+                    <value> <string>Base_jumpToRelatedDocument</string> </value>
+                </item>
+                <item>
+                    <key> <string>list_method</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>max_length</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>max_linelength</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>max_lines</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>parameter_list</string> </key>
+                    <value>
+                      <list/>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>portal_type</string> </key>
+                    <value>
+                      <list>
+                        <tuple>
+                          <string>(tales)</string>
+                          <string>(tales)</string>
+                        </tuple>
+                      </list>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>proxy_listbox_ids</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>relation_form_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>relation_setter_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>required</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+                <item>
+                    <key> <string>size</string> </key>
+                    <value> <int>1</int> </value>
+                </item>
+                <item>
+                    <key> <string>sort</string> </key>
+                    <value>
+                      <list/>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>title</string> </key>
+                    <value> <string>Client Project</string> </value>
+                </item>
+                <item>
+                    <key> <string>truncate</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+                <item>
+                    <key> <string>unicode</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+                <item>
+                    <key> <string>update_method</string> </key>
+                    <value> <string>Base_validateRelation</string> </value>
+                </item>
+                <item>
+                    <key> <string>whitespace_preserve</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+      </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: field.Base_getFieldParameterDict()[\'base_category\']</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="3" aka="AAAAAAAAAAM=">
+    <pickle>
+      <tuple>
+        <global name="TALESMethod" module="Products.Formulator.TALESField"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_text</string> </key>
+            <value> <string>python: field.Base_getFieldParameterDict()[\'catalog_index\']</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="4" aka="AAAAAAAAAAQ=">
+    <pickle>
+      <tuple>
+        <global name="TALESMethod" module="Products.Formulator.TALESField"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_text</string> </key>
+            <value> <string>python: preferences.getPreference(\'preferred_string_field_width\', 30)</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="5" aka="AAAAAAAAAAU=">
+    <pickle>
+      <tuple>
+        <global name="TALESMethod" module="Products.Formulator.TALESField"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_text</string> </key>
+            <value> <string>context/getPortalProjectTypeList</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="6" aka="AAAAAAAAAAY=">
+    <pickle>
+      <tuple>
+        <global name="TALESMethod" module="Products.Formulator.TALESField"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_text</string> </key>
+            <value> <string>python: [(x, x) for x in context.getPortalProjectTypeList()]</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/SaleInvoiceTransaction_viewProfile/my_destination_reference.xml b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/SaleInvoiceTransaction_viewProfile/my_destination_reference.xml
new file mode 100644
index 0000000000..15f4b740e8
--- /dev/null
+++ b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/SaleInvoiceTransaction_viewProfile/my_destination_reference.xml
@@ -0,0 +1,281 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="StringField" module="Products.Formulator.StandardFields"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>my_destination_reference</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>
+                <item>
+                    <key> <string>required_not_found</string> </key>
+                    <value> <string>Input is required but no input given.</string> </value>
+                </item>
+                <item>
+                    <key> <string>too_long</string> </key>
+                    <value> <string>Too much input was given.</string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>overrides</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>alternate_name</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>css_class</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>default</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>description</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>display_maxwidth</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>display_width</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>editable</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>enabled</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>external_validator</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>extra</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>hidden</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>max_length</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>required</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>title</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>truncate</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>unicode</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>whitespace_preserve</string> </key>
+                    <value> <string></string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>tales</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>alternate_name</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>css_class</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>default</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>description</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>display_maxwidth</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>display_width</string> </key>
+                    <value>
+                      <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>editable</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>enabled</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>external_validator</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>extra</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>hidden</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>max_length</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>required</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>title</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>truncate</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>unicode</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>whitespace_preserve</string> </key>
+                    <value> <string></string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>values</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>alternate_name</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>css_class</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>default</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>description</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>display_maxwidth</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>display_width</string> </key>
+                    <value> <int>30</int> </value>
+                </item>
+                <item>
+                    <key> <string>editable</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+                <item>
+                    <key> <string>enabled</string> </key>
+                    <value> <int>1</int> </value>
+                </item>
+                <item>
+                    <key> <string>external_validator</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>extra</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>hidden</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+                <item>
+                    <key> <string>max_length</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>required</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+                <item>
+                    <key> <string>title</string> </key>
+                    <value> <string>Client Transaction Reference</string> </value>
+                </item>
+                <item>
+                    <key> <string>truncate</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+                <item>
+                    <key> <string>unicode</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+                <item>
+                    <key> <string>whitespace_preserve</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+      </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: preferences.getPreference(\'preferred_string_field_width\', 30)</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/SaleInvoiceTransaction_viewProfile/my_destination_section_title.xml b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/SaleInvoiceTransaction_viewProfile/my_destination_section_title.xml
new file mode 100644
index 0000000000..1bb655dec2
--- /dev/null
+++ b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/SaleInvoiceTransaction_viewProfile/my_destination_section_title.xml
@@ -0,0 +1,656 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="RelationStringField" module="Products.ERP5Form.RelationField"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>my_destination_section_title</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>
+                <item>
+                    <key> <string>line_too_long</string> </key>
+                    <value> <string>A line was too long.</string> </value>
+                </item>
+                <item>
+                    <key> <string>relation_result_ambiguous</string> </key>
+                    <value> <string>Select appropriate document in the list.</string> </value>
+                </item>
+                <item>
+                    <key> <string>relation_result_empty</string> </key>
+                    <value> <string>No such document was found.</string> </value>
+                </item>
+                <item>
+                    <key> <string>relation_result_too_long</string> </key>
+                    <value> <string>Too many documents were found.</string> </value>
+                </item>
+                <item>
+                    <key> <string>required_not_found</string> </key>
+                    <value> <string>Input is required but no input given.</string> </value>
+                </item>
+                <item>
+                    <key> <string>too_long</string> </key>
+                    <value> <string>You entered too many characters.</string> </value>
+                </item>
+                <item>
+                    <key> <string>too_many_lines</string> </key>
+                    <value> <string>You entered too many lines.</string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>overrides</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>allow_creation</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>allow_jump</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>alternate_name</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>base_category</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>catalog_index</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>columns</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>container_getter_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>css_class</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>default</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>description</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>display_maxwidth</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>display_width</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>editable</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>enabled</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>external_validator</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>extra</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>extra_item</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>first_item</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>hidden</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>items</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>jump_method</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>list_method</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>max_length</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>max_linelength</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>max_lines</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>parameter_list</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>portal_type</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>proxy_listbox_ids</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>relation_form_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>relation_setter_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>required</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>size</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>sort</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>title</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>truncate</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>unicode</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>update_method</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>whitespace_preserve</string> </key>
+                    <value> <string></string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>tales</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>allow_creation</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>allow_jump</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>alternate_name</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>base_category</string> </key>
+                    <value>
+                      <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>catalog_index</string> </key>
+                    <value>
+                      <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>columns</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>container_getter_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>css_class</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>default</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>description</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>display_maxwidth</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>display_width</string> </key>
+                    <value>
+                      <persistent> <string encoding="base64">AAAAAAAAAAQ=</string> </persistent>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>editable</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>enabled</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>external_validator</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>extra</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>extra_item</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>first_item</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>hidden</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>items</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>jump_method</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>list_method</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>max_length</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>max_linelength</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>max_lines</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>parameter_list</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>portal_type</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>proxy_listbox_ids</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>relation_form_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>relation_setter_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>required</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>size</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>sort</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>title</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>truncate</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>unicode</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>update_method</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>whitespace_preserve</string> </key>
+                    <value> <string></string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>values</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>allow_creation</string> </key>
+                    <value> <int>1</int> </value>
+                </item>
+                <item>
+                    <key> <string>allow_jump</string> </key>
+                    <value> <int>1</int> </value>
+                </item>
+                <item>
+                    <key> <string>alternate_name</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>base_category</string> </key>
+                    <value> <string>(tales)</string> </value>
+                </item>
+                <item>
+                    <key> <string>catalog_index</string> </key>
+                    <value> <string>(tales)</string> </value>
+                </item>
+                <item>
+                    <key> <string>columns</string> </key>
+                    <value>
+                      <list>
+                        <tuple>
+                          <string>title</string>
+                          <string>Usual Name</string>
+                        </tuple>
+                        <tuple>
+                          <string>description</string>
+                          <string>Description</string>
+                        </tuple>
+                        <tuple>
+                          <string>getDefaultTelephoneText</string>
+                          <string>Telephone</string>
+                        </tuple>
+                        <tuple>
+                          <string>getDefaultAddressText</string>
+                          <string>Address</string>
+                        </tuple>
+                        <tuple>
+                          <string>translated_portal_type</string>
+                          <string>Type</string>
+                        </tuple>
+                        <tuple>
+                          <string>translated_validation_state_title</string>
+                          <string>State</string>
+                        </tuple>
+                      </list>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>container_getter_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>css_class</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>default</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>description</string> </key>
+                    <value> <string>The invoiced person or organisation.</string> </value>
+                </item>
+                <item>
+                    <key> <string>display_maxwidth</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>display_width</string> </key>
+                    <value> <int>20</int> </value>
+                </item>
+                <item>
+                    <key> <string>editable</string> </key>
+                    <value> <int>1</int> </value>
+                </item>
+                <item>
+                    <key> <string>enabled</string> </key>
+                    <value> <int>1</int> </value>
+                </item>
+                <item>
+                    <key> <string>external_validator</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>extra</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>extra_item</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>first_item</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+                <item>
+                    <key> <string>hidden</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+                <item>
+                    <key> <string>items</string> </key>
+                    <value>
+                      <list/>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>jump_method</string> </key>
+                    <value> <string>Base_jumpToRelatedDocument</string> </value>
+                </item>
+                <item>
+                    <key> <string>list_method</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>max_length</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>max_linelength</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>max_lines</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>parameter_list</string> </key>
+                    <value>
+                      <list/>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>portal_type</string> </key>
+                    <value>
+                      <list>
+                        <tuple>
+                          <string>Organisation</string>
+                          <string>Organisation</string>
+                        </tuple>
+                        <tuple>
+                          <string>Person</string>
+                          <string>Person</string>
+                        </tuple>
+                      </list>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>proxy_listbox_ids</string> </key>
+                    <value>
+                      <list>
+                        <tuple>
+                          <string>Base_viewRelatedObjectListBase/listbox</string>
+                          <string>All</string>
+                        </tuple>
+                        <tuple>
+                          <string>ERP5Site_viewClientNodeList/listbox</string>
+                          <string>Clients</string>
+                        </tuple>
+                        <tuple>
+                          <string>ERP5Site_viewSupplierNodeList/listbox</string>
+                          <string>Suppliers</string>
+                        </tuple>
+                        <tuple>
+                          <string>OrganisationModule_viewOrganisationList/listbox</string>
+                          <string>Organisations</string>
+                        </tuple>
+                        <tuple>
+                          <string>PersonModule_viewPersonList/listbox</string>
+                          <string>Persons</string>
+                        </tuple>
+                      </list>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>relation_form_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>relation_setter_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>required</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+                <item>
+                    <key> <string>size</string> </key>
+                    <value> <int>1</int> </value>
+                </item>
+                <item>
+                    <key> <string>sort</string> </key>
+                    <value>
+                      <list/>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>title</string> </key>
+                    <value> <string>Client</string> </value>
+                </item>
+                <item>
+                    <key> <string>truncate</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+                <item>
+                    <key> <string>unicode</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+                <item>
+                    <key> <string>update_method</string> </key>
+                    <value> <string>Base_validateRelation</string> </value>
+                </item>
+                <item>
+                    <key> <string>whitespace_preserve</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+      </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: field.Base_getFieldParameterDict()[\'base_category\']</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="3" aka="AAAAAAAAAAM=">
+    <pickle>
+      <tuple>
+        <global name="TALESMethod" module="Products.Formulator.TALESField"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_text</string> </key>
+            <value> <string>python: field.Base_getFieldParameterDict()[\'catalog_index\']</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="4" aka="AAAAAAAAAAQ=">
+    <pickle>
+      <tuple>
+        <global name="TALESMethod" module="Products.Formulator.TALESField"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_text</string> </key>
+            <value> <string>python: preferences.getPreference(\'preferred_string_field_width\', 30)</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/SaleInvoiceTransaction_viewProfile/my_destination_title.xml b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/SaleInvoiceTransaction_viewProfile/my_destination_title.xml
new file mode 100644
index 0000000000..31c360f201
--- /dev/null
+++ b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/SaleInvoiceTransaction_viewProfile/my_destination_title.xml
@@ -0,0 +1,656 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="RelationStringField" module="Products.ERP5Form.RelationField"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>my_destination_title</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>
+                <item>
+                    <key> <string>line_too_long</string> </key>
+                    <value> <string>A line was too long.</string> </value>
+                </item>
+                <item>
+                    <key> <string>relation_result_ambiguous</string> </key>
+                    <value> <string>Select appropriate document in the list.</string> </value>
+                </item>
+                <item>
+                    <key> <string>relation_result_empty</string> </key>
+                    <value> <string>No such document was found.</string> </value>
+                </item>
+                <item>
+                    <key> <string>relation_result_too_long</string> </key>
+                    <value> <string>Too many documents were found.</string> </value>
+                </item>
+                <item>
+                    <key> <string>required_not_found</string> </key>
+                    <value> <string>Input is required but no input given.</string> </value>
+                </item>
+                <item>
+                    <key> <string>too_long</string> </key>
+                    <value> <string>You entered too many characters.</string> </value>
+                </item>
+                <item>
+                    <key> <string>too_many_lines</string> </key>
+                    <value> <string>You entered too many lines.</string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>overrides</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>allow_creation</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>allow_jump</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>alternate_name</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>base_category</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>catalog_index</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>columns</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>container_getter_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>css_class</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>default</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>description</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>display_maxwidth</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>display_width</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>editable</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>enabled</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>external_validator</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>extra</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>extra_item</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>first_item</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>hidden</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>items</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>jump_method</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>list_method</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>max_length</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>max_linelength</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>max_lines</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>parameter_list</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>portal_type</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>proxy_listbox_ids</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>relation_form_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>relation_setter_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>required</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>size</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>sort</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>title</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>truncate</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>unicode</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>update_method</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>whitespace_preserve</string> </key>
+                    <value> <string></string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>tales</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>allow_creation</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>allow_jump</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>alternate_name</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>base_category</string> </key>
+                    <value>
+                      <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>catalog_index</string> </key>
+                    <value>
+                      <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>columns</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>container_getter_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>css_class</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>default</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>description</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>display_maxwidth</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>display_width</string> </key>
+                    <value>
+                      <persistent> <string encoding="base64">AAAAAAAAAAQ=</string> </persistent>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>editable</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>enabled</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>external_validator</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>extra</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>extra_item</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>first_item</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>hidden</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>items</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>jump_method</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>list_method</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>max_length</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>max_linelength</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>max_lines</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>parameter_list</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>portal_type</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>proxy_listbox_ids</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>relation_form_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>relation_setter_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>required</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>size</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>sort</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>title</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>truncate</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>unicode</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>update_method</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>whitespace_preserve</string> </key>
+                    <value> <string></string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>values</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>allow_creation</string> </key>
+                    <value> <int>1</int> </value>
+                </item>
+                <item>
+                    <key> <string>allow_jump</string> </key>
+                    <value> <int>1</int> </value>
+                </item>
+                <item>
+                    <key> <string>alternate_name</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>base_category</string> </key>
+                    <value> <string>(tales)</string> </value>
+                </item>
+                <item>
+                    <key> <string>catalog_index</string> </key>
+                    <value> <string>(tales)</string> </value>
+                </item>
+                <item>
+                    <key> <string>columns</string> </key>
+                    <value>
+                      <list>
+                        <tuple>
+                          <string>title</string>
+                          <string>Usual Name</string>
+                        </tuple>
+                        <tuple>
+                          <string>description</string>
+                          <string>Description</string>
+                        </tuple>
+                        <tuple>
+                          <string>getDefaultTelephoneText</string>
+                          <string>Telephone</string>
+                        </tuple>
+                        <tuple>
+                          <string>getDefaultAddressText</string>
+                          <string>Address</string>
+                        </tuple>
+                        <tuple>
+                          <string>translated_portal_type</string>
+                          <string>Type</string>
+                        </tuple>
+                        <tuple>
+                          <string>translated_validation_state_title</string>
+                          <string>State</string>
+                        </tuple>
+                      </list>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>container_getter_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>css_class</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>default</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>description</string> </key>
+                    <value> <string>The organisation or person who is delivered goods or services in this operation</string> </value>
+                </item>
+                <item>
+                    <key> <string>display_maxwidth</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>display_width</string> </key>
+                    <value> <int>20</int> </value>
+                </item>
+                <item>
+                    <key> <string>editable</string> </key>
+                    <value> <int>1</int> </value>
+                </item>
+                <item>
+                    <key> <string>enabled</string> </key>
+                    <value> <int>1</int> </value>
+                </item>
+                <item>
+                    <key> <string>external_validator</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>extra</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>extra_item</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>first_item</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+                <item>
+                    <key> <string>hidden</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+                <item>
+                    <key> <string>items</string> </key>
+                    <value>
+                      <list/>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>jump_method</string> </key>
+                    <value> <string>Base_jumpToRelatedDocument</string> </value>
+                </item>
+                <item>
+                    <key> <string>list_method</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>max_length</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>max_linelength</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>max_lines</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>parameter_list</string> </key>
+                    <value>
+                      <list/>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>portal_type</string> </key>
+                    <value>
+                      <list>
+                        <tuple>
+                          <string>Organisation</string>
+                          <string>Organisation</string>
+                        </tuple>
+                        <tuple>
+                          <string>Person</string>
+                          <string>Person</string>
+                        </tuple>
+                      </list>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>proxy_listbox_ids</string> </key>
+                    <value>
+                      <list>
+                        <tuple>
+                          <string>Base_viewRelatedObjectListBase/listbox</string>
+                          <string>All</string>
+                        </tuple>
+                        <tuple>
+                          <string>ERP5Site_viewClientNodeList/listbox</string>
+                          <string>Clients</string>
+                        </tuple>
+                        <tuple>
+                          <string>ERP5Site_viewSupplierNodeList/listbox</string>
+                          <string>Suppliers</string>
+                        </tuple>
+                        <tuple>
+                          <string>OrganisationModule_viewOrganisationList/listbox</string>
+                          <string>Organisations</string>
+                        </tuple>
+                        <tuple>
+                          <string>PersonModule_viewPersonList/listbox</string>
+                          <string>Persons</string>
+                        </tuple>
+                      </list>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>relation_form_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>relation_setter_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>required</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+                <item>
+                    <key> <string>size</string> </key>
+                    <value> <int>1</int> </value>
+                </item>
+                <item>
+                    <key> <string>sort</string> </key>
+                    <value>
+                      <list/>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>title</string> </key>
+                    <value> <string>Recipient or Beneficiary</string> </value>
+                </item>
+                <item>
+                    <key> <string>truncate</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+                <item>
+                    <key> <string>unicode</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+                <item>
+                    <key> <string>update_method</string> </key>
+                    <value> <string>Base_validateRelation</string> </value>
+                </item>
+                <item>
+                    <key> <string>whitespace_preserve</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+      </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: field.Base_getFieldParameterDict()[\'base_category\']</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="3" aka="AAAAAAAAAAM=">
+    <pickle>
+      <tuple>
+        <global name="TALESMethod" module="Products.Formulator.TALESField"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_text</string> </key>
+            <value> <string>python: field.Base_getFieldParameterDict()[\'catalog_index\']</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="4" aka="AAAAAAAAAAQ=">
+    <pickle>
+      <tuple>
+        <global name="TALESMethod" module="Products.Formulator.TALESField"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_text</string> </key>
+            <value> <string>python: preferences.getPreference(\'preferred_string_field_width\', 30)</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/SaleInvoiceTransaction_viewProfile/my_source_administration_title.xml b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/SaleInvoiceTransaction_viewProfile/my_source_administration_title.xml
new file mode 100644
index 0000000000..56278a902b
--- /dev/null
+++ b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/SaleInvoiceTransaction_viewProfile/my_source_administration_title.xml
@@ -0,0 +1,656 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="RelationStringField" module="Products.ERP5Form.RelationField"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>my_source_administration_title</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>
+                <item>
+                    <key> <string>line_too_long</string> </key>
+                    <value> <string>A line was too long.</string> </value>
+                </item>
+                <item>
+                    <key> <string>relation_result_ambiguous</string> </key>
+                    <value> <string>Select appropriate document in the list.</string> </value>
+                </item>
+                <item>
+                    <key> <string>relation_result_empty</string> </key>
+                    <value> <string>No such document was found.</string> </value>
+                </item>
+                <item>
+                    <key> <string>relation_result_too_long</string> </key>
+                    <value> <string>Too many documents were found.</string> </value>
+                </item>
+                <item>
+                    <key> <string>required_not_found</string> </key>
+                    <value> <string>Input is required but no input given.</string> </value>
+                </item>
+                <item>
+                    <key> <string>too_long</string> </key>
+                    <value> <string>You entered too many characters.</string> </value>
+                </item>
+                <item>
+                    <key> <string>too_many_lines</string> </key>
+                    <value> <string>You entered too many lines.</string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>overrides</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>allow_creation</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>allow_jump</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>alternate_name</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>base_category</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>catalog_index</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>columns</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>container_getter_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>css_class</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>default</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>description</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>display_maxwidth</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>display_width</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>editable</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>enabled</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>external_validator</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>extra</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>extra_item</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>first_item</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>hidden</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>items</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>jump_method</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>list_method</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>max_length</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>max_linelength</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>max_lines</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>parameter_list</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>portal_type</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>proxy_listbox_ids</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>relation_form_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>relation_setter_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>required</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>size</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>sort</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>title</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>truncate</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>unicode</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>update_method</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>whitespace_preserve</string> </key>
+                    <value> <string></string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>tales</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>allow_creation</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>allow_jump</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>alternate_name</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>base_category</string> </key>
+                    <value>
+                      <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>catalog_index</string> </key>
+                    <value>
+                      <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>columns</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>container_getter_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>css_class</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>default</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>description</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>display_maxwidth</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>display_width</string> </key>
+                    <value>
+                      <persistent> <string encoding="base64">AAAAAAAAAAQ=</string> </persistent>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>editable</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>enabled</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>external_validator</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>extra</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>extra_item</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>first_item</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>hidden</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>items</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>jump_method</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>list_method</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>max_length</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>max_linelength</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>max_lines</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>parameter_list</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>portal_type</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>proxy_listbox_ids</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>relation_form_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>relation_setter_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>required</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>size</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>sort</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>title</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>truncate</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>unicode</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>update_method</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>whitespace_preserve</string> </key>
+                    <value> <string></string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>values</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>allow_creation</string> </key>
+                    <value> <int>1</int> </value>
+                </item>
+                <item>
+                    <key> <string>allow_jump</string> </key>
+                    <value> <int>1</int> </value>
+                </item>
+                <item>
+                    <key> <string>alternate_name</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>base_category</string> </key>
+                    <value> <string>(tales)</string> </value>
+                </item>
+                <item>
+                    <key> <string>catalog_index</string> </key>
+                    <value> <string>(tales)</string> </value>
+                </item>
+                <item>
+                    <key> <string>columns</string> </key>
+                    <value>
+                      <list>
+                        <tuple>
+                          <string>title</string>
+                          <string>Usual Name</string>
+                        </tuple>
+                        <tuple>
+                          <string>description</string>
+                          <string>Description</string>
+                        </tuple>
+                        <tuple>
+                          <string>getDefaultTelephoneText</string>
+                          <string>Telephone</string>
+                        </tuple>
+                        <tuple>
+                          <string>getDefaultAddressText</string>
+                          <string>Address</string>
+                        </tuple>
+                        <tuple>
+                          <string>translated_portal_type</string>
+                          <string>Type</string>
+                        </tuple>
+                        <tuple>
+                          <string>translated_validation_state_title</string>
+                          <string>State</string>
+                        </tuple>
+                      </list>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>container_getter_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>css_class</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>default</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>description</string> </key>
+                    <value> <string>The person or organisation in charge of sending the invoice or handling administrative paperwork for the supplier.</string> </value>
+                </item>
+                <item>
+                    <key> <string>display_maxwidth</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>display_width</string> </key>
+                    <value> <int>20</int> </value>
+                </item>
+                <item>
+                    <key> <string>editable</string> </key>
+                    <value> <int>1</int> </value>
+                </item>
+                <item>
+                    <key> <string>enabled</string> </key>
+                    <value> <int>1</int> </value>
+                </item>
+                <item>
+                    <key> <string>external_validator</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>extra</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>extra_item</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>first_item</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+                <item>
+                    <key> <string>hidden</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+                <item>
+                    <key> <string>items</string> </key>
+                    <value>
+                      <list/>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>jump_method</string> </key>
+                    <value> <string>Base_jumpToRelatedDocument</string> </value>
+                </item>
+                <item>
+                    <key> <string>list_method</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>max_length</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>max_linelength</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>max_lines</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>parameter_list</string> </key>
+                    <value>
+                      <list/>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>portal_type</string> </key>
+                    <value>
+                      <list>
+                        <tuple>
+                          <string>Organisation</string>
+                          <string>Organisation</string>
+                        </tuple>
+                        <tuple>
+                          <string>Person</string>
+                          <string>Person</string>
+                        </tuple>
+                      </list>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>proxy_listbox_ids</string> </key>
+                    <value>
+                      <list>
+                        <tuple>
+                          <string>Base_viewRelatedObjectListBase/listbox</string>
+                          <string>All</string>
+                        </tuple>
+                        <tuple>
+                          <string>ERP5Site_viewSupplierNodeList/listbox</string>
+                          <string>Suppliers</string>
+                        </tuple>
+                        <tuple>
+                          <string>ERP5Site_viewClientNodeList/listbox</string>
+                          <string>Clients</string>
+                        </tuple>
+                        <tuple>
+                          <string>OrganisationModule_viewOrganisationList/listbox</string>
+                          <string>Organisations</string>
+                        </tuple>
+                        <tuple>
+                          <string>PersonModule_viewPersonList/listbox</string>
+                          <string>Persons</string>
+                        </tuple>
+                      </list>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>relation_form_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>relation_setter_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>required</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+                <item>
+                    <key> <string>size</string> </key>
+                    <value> <int>1</int> </value>
+                </item>
+                <item>
+                    <key> <string>sort</string> </key>
+                    <value>
+                      <list/>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>title</string> </key>
+                    <value> <string>Invoice Sender</string> </value>
+                </item>
+                <item>
+                    <key> <string>truncate</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+                <item>
+                    <key> <string>unicode</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+                <item>
+                    <key> <string>update_method</string> </key>
+                    <value> <string>Base_validateRelation</string> </value>
+                </item>
+                <item>
+                    <key> <string>whitespace_preserve</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+      </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: field.Base_getFieldParameterDict()[\'base_category\']</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="3" aka="AAAAAAAAAAM=">
+    <pickle>
+      <tuple>
+        <global name="TALESMethod" module="Products.Formulator.TALESField"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_text</string> </key>
+            <value> <string>python: field.Base_getFieldParameterDict()[\'catalog_index\']</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="4" aka="AAAAAAAAAAQ=">
+    <pickle>
+      <tuple>
+        <global name="TALESMethod" module="Products.Formulator.TALESField"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_text</string> </key>
+            <value> <string>python: preferences.getPreference(\'preferred_string_field_width\', 30)</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/SaleInvoiceTransaction_viewProfile/my_source_carrier_title.xml b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/SaleInvoiceTransaction_viewProfile/my_source_carrier_title.xml
new file mode 100644
index 0000000000..432cb41f94
--- /dev/null
+++ b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/SaleInvoiceTransaction_viewProfile/my_source_carrier_title.xml
@@ -0,0 +1,631 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="RelationStringField" module="Products.ERP5Form.RelationField"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>my_source_carrier_title</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>
+                <item>
+                    <key> <string>line_too_long</string> </key>
+                    <value> <string>A line was too long.</string> </value>
+                </item>
+                <item>
+                    <key> <string>relation_result_ambiguous</string> </key>
+                    <value> <string>Select appropriate document in the list.</string> </value>
+                </item>
+                <item>
+                    <key> <string>relation_result_empty</string> </key>
+                    <value> <string>No such document was found.</string> </value>
+                </item>
+                <item>
+                    <key> <string>relation_result_too_long</string> </key>
+                    <value> <string>Too many documents were found.</string> </value>
+                </item>
+                <item>
+                    <key> <string>required_not_found</string> </key>
+                    <value> <string>Input is required but no input given.</string> </value>
+                </item>
+                <item>
+                    <key> <string>too_long</string> </key>
+                    <value> <string>You entered too many characters.</string> </value>
+                </item>
+                <item>
+                    <key> <string>too_many_lines</string> </key>
+                    <value> <string>You entered too many lines.</string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>overrides</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>allow_creation</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>allow_jump</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>alternate_name</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>base_category</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>catalog_index</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>columns</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>container_getter_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>css_class</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>default</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>description</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>display_maxwidth</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>display_width</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>editable</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>enabled</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>external_validator</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>extra</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>extra_item</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>first_item</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>hidden</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>items</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>jump_method</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>list_method</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>max_length</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>max_linelength</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>max_lines</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>parameter_list</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>portal_type</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>proxy_listbox_ids</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>relation_form_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>relation_setter_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>required</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>size</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>sort</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>title</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>truncate</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>unicode</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>update_method</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>whitespace_preserve</string> </key>
+                    <value> <string></string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>tales</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>allow_creation</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>allow_jump</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>alternate_name</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>base_category</string> </key>
+                    <value>
+                      <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>catalog_index</string> </key>
+                    <value>
+                      <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>columns</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>container_getter_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>css_class</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>default</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>description</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>display_maxwidth</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>display_width</string> </key>
+                    <value>
+                      <persistent> <string encoding="base64">AAAAAAAAAAQ=</string> </persistent>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>editable</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>enabled</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>external_validator</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>extra</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>extra_item</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>first_item</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>hidden</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>items</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>jump_method</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>list_method</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>max_length</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>max_linelength</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>max_lines</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>parameter_list</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>portal_type</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>proxy_listbox_ids</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>relation_form_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>relation_setter_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>required</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>size</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>sort</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>title</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>truncate</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>unicode</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>update_method</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>whitespace_preserve</string> </key>
+                    <value> <string></string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>values</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>allow_creation</string> </key>
+                    <value> <int>1</int> </value>
+                </item>
+                <item>
+                    <key> <string>allow_jump</string> </key>
+                    <value> <int>1</int> </value>
+                </item>
+                <item>
+                    <key> <string>alternate_name</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>base_category</string> </key>
+                    <value> <string>(tales)</string> </value>
+                </item>
+                <item>
+                    <key> <string>catalog_index</string> </key>
+                    <value> <string>(tales)</string> </value>
+                </item>
+                <item>
+                    <key> <string>columns</string> </key>
+                    <value>
+                      <list/>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>container_getter_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>css_class</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>default</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>description</string> </key>
+                    <value> <string>The logistic company in charge of taking goods at the source warehouse.</string> </value>
+                </item>
+                <item>
+                    <key> <string>display_maxwidth</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>display_width</string> </key>
+                    <value> <int>20</int> </value>
+                </item>
+                <item>
+                    <key> <string>editable</string> </key>
+                    <value> <int>1</int> </value>
+                </item>
+                <item>
+                    <key> <string>enabled</string> </key>
+                    <value> <int>1</int> </value>
+                </item>
+                <item>
+                    <key> <string>external_validator</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>extra</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>extra_item</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>first_item</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+                <item>
+                    <key> <string>hidden</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+                <item>
+                    <key> <string>items</string> </key>
+                    <value>
+                      <list/>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>jump_method</string> </key>
+                    <value> <string>Base_jumpToRelatedDocument</string> </value>
+                </item>
+                <item>
+                    <key> <string>list_method</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>max_length</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>max_linelength</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>max_lines</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>parameter_list</string> </key>
+                    <value>
+                      <list/>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>portal_type</string> </key>
+                    <value>
+                      <list>
+                        <tuple>
+                          <string>Organisation</string>
+                          <string>Organisation</string>
+                        </tuple>
+                        <tuple>
+                          <string>Person</string>
+                          <string>Person</string>
+                        </tuple>
+                      </list>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>proxy_listbox_ids</string> </key>
+                    <value>
+                      <list>
+                        <tuple>
+                          <string>Base_viewRelatedObjectListBase/listbox</string>
+                          <string>All</string>
+                        </tuple>
+                        <tuple>
+                          <string>ERP5Site_viewSupplierNodeList/listbox</string>
+                          <string>Suppliers</string>
+                        </tuple>
+                        <tuple>
+                          <string>ERP5Site_viewClientNodeList/listbox</string>
+                          <string>Clients</string>
+                        </tuple>
+                        <tuple>
+                          <string>OrganisationModule_viewOrganisationList/listbox</string>
+                          <string>Organisations</string>
+                        </tuple>
+                        <tuple>
+                          <string>PersonModule_viewPersonList/listbox</string>
+                          <string>Persons</string>
+                        </tuple>
+                      </list>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>relation_form_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>relation_setter_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>required</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+                <item>
+                    <key> <string>size</string> </key>
+                    <value> <int>1</int> </value>
+                </item>
+                <item>
+                    <key> <string>sort</string> </key>
+                    <value>
+                      <list/>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>title</string> </key>
+                    <value> <string>Source Carrier</string> </value>
+                </item>
+                <item>
+                    <key> <string>truncate</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+                <item>
+                    <key> <string>unicode</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+                <item>
+                    <key> <string>update_method</string> </key>
+                    <value> <string>Base_validateRelation</string> </value>
+                </item>
+                <item>
+                    <key> <string>whitespace_preserve</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+      </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: field.Base_getFieldParameterDict()[\'base_category\']</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="3" aka="AAAAAAAAAAM=">
+    <pickle>
+      <tuple>
+        <global name="TALESMethod" module="Products.Formulator.TALESField"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_text</string> </key>
+            <value> <string>python: field.Base_getFieldParameterDict()[\'catalog_index\']</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="4" aka="AAAAAAAAAAQ=">
+    <pickle>
+      <tuple>
+        <global name="TALESMethod" module="Products.Formulator.TALESField"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_text</string> </key>
+            <value> <string>python: preferences.getPreference(\'preferred_string_field_width\', 30)</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/SaleInvoiceTransaction_viewProfile/my_source_decision_title.xml b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/SaleInvoiceTransaction_viewProfile/my_source_decision_title.xml
new file mode 100644
index 0000000000..060ab9b305
--- /dev/null
+++ b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/SaleInvoiceTransaction_viewProfile/my_source_decision_title.xml
@@ -0,0 +1,656 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="RelationStringField" module="Products.ERP5Form.RelationField"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>my_source_decision_title</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>
+                <item>
+                    <key> <string>line_too_long</string> </key>
+                    <value> <string>A line was too long.</string> </value>
+                </item>
+                <item>
+                    <key> <string>relation_result_ambiguous</string> </key>
+                    <value> <string>Select appropriate document in the list.</string> </value>
+                </item>
+                <item>
+                    <key> <string>relation_result_empty</string> </key>
+                    <value> <string>No such document was found.</string> </value>
+                </item>
+                <item>
+                    <key> <string>relation_result_too_long</string> </key>
+                    <value> <string>Too many documents were found.</string> </value>
+                </item>
+                <item>
+                    <key> <string>required_not_found</string> </key>
+                    <value> <string>Input is required but no input given.</string> </value>
+                </item>
+                <item>
+                    <key> <string>too_long</string> </key>
+                    <value> <string>You entered too many characters.</string> </value>
+                </item>
+                <item>
+                    <key> <string>too_many_lines</string> </key>
+                    <value> <string>You entered too many lines.</string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>overrides</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>allow_creation</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>allow_jump</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>alternate_name</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>base_category</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>catalog_index</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>columns</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>container_getter_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>css_class</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>default</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>description</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>display_maxwidth</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>display_width</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>editable</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>enabled</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>external_validator</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>extra</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>extra_item</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>first_item</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>hidden</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>items</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>jump_method</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>list_method</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>max_length</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>max_linelength</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>max_lines</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>parameter_list</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>portal_type</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>proxy_listbox_ids</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>relation_form_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>relation_setter_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>required</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>size</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>sort</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>title</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>truncate</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>unicode</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>update_method</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>whitespace_preserve</string> </key>
+                    <value> <string></string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>tales</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>allow_creation</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>allow_jump</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>alternate_name</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>base_category</string> </key>
+                    <value>
+                      <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>catalog_index</string> </key>
+                    <value>
+                      <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>columns</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>container_getter_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>css_class</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>default</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>description</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>display_maxwidth</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>display_width</string> </key>
+                    <value>
+                      <persistent> <string encoding="base64">AAAAAAAAAAQ=</string> </persistent>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>editable</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>enabled</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>external_validator</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>extra</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>extra_item</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>first_item</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>hidden</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>items</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>jump_method</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>list_method</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>max_length</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>max_linelength</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>max_lines</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>parameter_list</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>portal_type</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>proxy_listbox_ids</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>relation_form_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>relation_setter_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>required</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>size</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>sort</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>title</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>truncate</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>unicode</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>update_method</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>whitespace_preserve</string> </key>
+                    <value> <string></string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>values</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>allow_creation</string> </key>
+                    <value> <int>1</int> </value>
+                </item>
+                <item>
+                    <key> <string>allow_jump</string> </key>
+                    <value> <int>1</int> </value>
+                </item>
+                <item>
+                    <key> <string>alternate_name</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>base_category</string> </key>
+                    <value> <string>(tales)</string> </value>
+                </item>
+                <item>
+                    <key> <string>catalog_index</string> </key>
+                    <value> <string>(tales)</string> </value>
+                </item>
+                <item>
+                    <key> <string>columns</string> </key>
+                    <value>
+                      <list>
+                        <tuple>
+                          <string>title</string>
+                          <string>Usual Name</string>
+                        </tuple>
+                        <tuple>
+                          <string>description</string>
+                          <string>Description</string>
+                        </tuple>
+                        <tuple>
+                          <string>getDefaultTelephoneText</string>
+                          <string>Telephone</string>
+                        </tuple>
+                        <tuple>
+                          <string>getDefaultAddressText</string>
+                          <string>Address</string>
+                        </tuple>
+                        <tuple>
+                          <string>translated_portal_type</string>
+                          <string>Type</string>
+                        </tuple>
+                        <tuple>
+                          <string>translated_validation_state_title</string>
+                          <string>State</string>
+                        </tuple>
+                      </list>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>container_getter_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>css_class</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>default</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>description</string> </key>
+                    <value> <string>The person or organisation in charge of handling the sales process or of taking the sales decision.</string> </value>
+                </item>
+                <item>
+                    <key> <string>display_maxwidth</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>display_width</string> </key>
+                    <value> <int>20</int> </value>
+                </item>
+                <item>
+                    <key> <string>editable</string> </key>
+                    <value> <int>1</int> </value>
+                </item>
+                <item>
+                    <key> <string>enabled</string> </key>
+                    <value> <int>1</int> </value>
+                </item>
+                <item>
+                    <key> <string>external_validator</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>extra</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>extra_item</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>first_item</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+                <item>
+                    <key> <string>hidden</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+                <item>
+                    <key> <string>items</string> </key>
+                    <value>
+                      <list/>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>jump_method</string> </key>
+                    <value> <string>Base_jumpToRelatedDocument</string> </value>
+                </item>
+                <item>
+                    <key> <string>list_method</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>max_length</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>max_linelength</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>max_lines</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>parameter_list</string> </key>
+                    <value>
+                      <list/>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>portal_type</string> </key>
+                    <value>
+                      <list>
+                        <tuple>
+                          <string>Organisation</string>
+                          <string>Organisation</string>
+                        </tuple>
+                        <tuple>
+                          <string>Person</string>
+                          <string>Person</string>
+                        </tuple>
+                      </list>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>proxy_listbox_ids</string> </key>
+                    <value>
+                      <list>
+                        <tuple>
+                          <string>Base_viewRelatedObjectListBase/listbox</string>
+                          <string>All</string>
+                        </tuple>
+                        <tuple>
+                          <string>ERP5Site_viewSupplierNodeList/listbox</string>
+                          <string>Suppliers</string>
+                        </tuple>
+                        <tuple>
+                          <string>ERP5Site_viewClientNodeList/listbox</string>
+                          <string>Clients</string>
+                        </tuple>
+                        <tuple>
+                          <string>OrganisationModule_viewOrganisationList/listbox</string>
+                          <string>Organisations</string>
+                        </tuple>
+                        <tuple>
+                          <string>PersonModule_viewPersonList/listbox</string>
+                          <string>Persons</string>
+                        </tuple>
+                      </list>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>relation_form_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>relation_setter_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>required</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+                <item>
+                    <key> <string>size</string> </key>
+                    <value> <int>1</int> </value>
+                </item>
+                <item>
+                    <key> <string>sort</string> </key>
+                    <value>
+                      <list/>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>title</string> </key>
+                    <value> <string>Seller</string> </value>
+                </item>
+                <item>
+                    <key> <string>truncate</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+                <item>
+                    <key> <string>unicode</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+                <item>
+                    <key> <string>update_method</string> </key>
+                    <value> <string>Base_validateRelation</string> </value>
+                </item>
+                <item>
+                    <key> <string>whitespace_preserve</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+      </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: field.Base_getFieldParameterDict()[\'base_category\']</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="3" aka="AAAAAAAAAAM=">
+    <pickle>
+      <tuple>
+        <global name="TALESMethod" module="Products.Formulator.TALESField"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_text</string> </key>
+            <value> <string>python: field.Base_getFieldParameterDict()[\'catalog_index\']</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="4" aka="AAAAAAAAAAQ=">
+    <pickle>
+      <tuple>
+        <global name="TALESMethod" module="Products.Formulator.TALESField"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_text</string> </key>
+            <value> <string>python: preferences.getPreference(\'preferred_string_field_width\', 30)</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/SaleInvoiceTransaction_viewProfile/my_source_payment.xml b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/SaleInvoiceTransaction_viewProfile/my_source_payment.xml
new file mode 100644
index 0000000000..972b643a36
--- /dev/null
+++ b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/SaleInvoiceTransaction_viewProfile/my_source_payment.xml
@@ -0,0 +1,283 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="ListField" module="Products.Formulator.StandardFields"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>my_source_payment</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>
+                <item>
+                    <key> <string>required_not_found</string> </key>
+                    <value> <string>Input is required but no input given.</string> </value>
+                </item>
+                <item>
+                    <key> <string>unknown_selection</string> </key>
+                    <value> <string>You selected an item that was not in the list.</string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>overrides</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>alternate_name</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>css_class</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>default</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>description</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>editable</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>enabled</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>external_validator</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>extra</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>extra_item</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>first_item</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>hidden</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>items</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>required</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>size</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>title</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>unicode</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>whitespace_preserve</string> </key>
+                    <value> <string></string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>tales</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>alternate_name</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>css_class</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>default</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>description</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>editable</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>enabled</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>external_validator</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>extra</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>extra_item</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>first_item</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>hidden</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>items</string> </key>
+                    <value>
+                      <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>required</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>size</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>title</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>unicode</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>whitespace_preserve</string> </key>
+                    <value> <string></string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>values</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>alternate_name</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>css_class</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>default</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>description</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>editable</string> </key>
+                    <value> <int>1</int> </value>
+                </item>
+                <item>
+                    <key> <string>enabled</string> </key>
+                    <value> <int>1</int> </value>
+                </item>
+                <item>
+                    <key> <string>external_validator</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>extra</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>extra_item</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>first_item</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+                <item>
+                    <key> <string>hidden</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+                <item>
+                    <key> <string>items</string> </key>
+                    <value>
+                      <list/>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>required</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+                <item>
+                    <key> <string>size</string> </key>
+                    <value> <int>1</int> </value>
+                </item>
+                <item>
+                    <key> <string>title</string> </key>
+                    <value> <string>Supplier Bank Account</string> </value>
+                </item>
+                <item>
+                    <key> <string>unicode</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+                <item>
+                    <key> <string>whitespace_preserve</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+      </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:here.AccountingTransaction_getSourcePaymentItemList()</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/SaleInvoiceTransaction_viewProfile/my_source_project_title.xml b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/SaleInvoiceTransaction_viewProfile/my_source_project_title.xml
new file mode 100644
index 0000000000..fe0445cd71
--- /dev/null
+++ b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/SaleInvoiceTransaction_viewProfile/my_source_project_title.xml
@@ -0,0 +1,640 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="RelationStringField" module="Products.ERP5Form.RelationField"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>my_source_project_title</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>
+                <item>
+                    <key> <string>line_too_long</string> </key>
+                    <value> <string>A line was too long.</string> </value>
+                </item>
+                <item>
+                    <key> <string>relation_result_ambiguous</string> </key>
+                    <value> <string>Select appropriate document in the list.</string> </value>
+                </item>
+                <item>
+                    <key> <string>relation_result_empty</string> </key>
+                    <value> <string>No such document was found.</string> </value>
+                </item>
+                <item>
+                    <key> <string>relation_result_too_long</string> </key>
+                    <value> <string>Too many documents were found.</string> </value>
+                </item>
+                <item>
+                    <key> <string>required_not_found</string> </key>
+                    <value> <string>Input is required but no input given.</string> </value>
+                </item>
+                <item>
+                    <key> <string>too_long</string> </key>
+                    <value> <string>You entered too many characters.</string> </value>
+                </item>
+                <item>
+                    <key> <string>too_many_lines</string> </key>
+                    <value> <string>You entered too many lines.</string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>overrides</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>allow_creation</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>allow_jump</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>alternate_name</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>base_category</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>catalog_index</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>columns</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>container_getter_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>css_class</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>default</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>description</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>display_maxwidth</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>display_width</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>editable</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>enabled</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>external_validator</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>extra</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>extra_item</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>first_item</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>hidden</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>items</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>jump_method</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>list_method</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>max_length</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>max_linelength</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>max_lines</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>parameter_list</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>portal_type</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>proxy_listbox_ids</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>relation_form_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>relation_setter_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>required</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>size</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>sort</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>title</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>truncate</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>unicode</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>update_method</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>whitespace_preserve</string> </key>
+                    <value> <string></string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>tales</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>allow_creation</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>allow_jump</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>alternate_name</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>base_category</string> </key>
+                    <value>
+                      <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>catalog_index</string> </key>
+                    <value>
+                      <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>columns</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>container_getter_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>css_class</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>default</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>description</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>display_maxwidth</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>display_width</string> </key>
+                    <value>
+                      <persistent> <string encoding="base64">AAAAAAAAAAQ=</string> </persistent>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>editable</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>enabled</string> </key>
+                    <value>
+                      <persistent> <string encoding="base64">AAAAAAAAAAU=</string> </persistent>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>external_validator</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>extra</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>extra_item</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>first_item</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>hidden</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>items</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>jump_method</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>list_method</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>max_length</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>max_linelength</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>max_lines</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>parameter_list</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>portal_type</string> </key>
+                    <value>
+                      <persistent> <string encoding="base64">AAAAAAAAAAY=</string> </persistent>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>proxy_listbox_ids</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>relation_form_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>relation_setter_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>required</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>size</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>sort</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>title</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>truncate</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>unicode</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>update_method</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>whitespace_preserve</string> </key>
+                    <value> <string></string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>values</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>allow_creation</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+                <item>
+                    <key> <string>allow_jump</string> </key>
+                    <value> <int>1</int> </value>
+                </item>
+                <item>
+                    <key> <string>alternate_name</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>base_category</string> </key>
+                    <value> <string>(tales)</string> </value>
+                </item>
+                <item>
+                    <key> <string>catalog_index</string> </key>
+                    <value> <string>(tales)</string> </value>
+                </item>
+                <item>
+                    <key> <string>columns</string> </key>
+                    <value>
+                      <list/>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>container_getter_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>css_class</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>default</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>description</string> </key>
+                    <value> <string>The project to which this transaction is related to on the supplier side.</string> </value>
+                </item>
+                <item>
+                    <key> <string>display_maxwidth</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>display_width</string> </key>
+                    <value> <int>20</int> </value>
+                </item>
+                <item>
+                    <key> <string>editable</string> </key>
+                    <value> <int>1</int> </value>
+                </item>
+                <item>
+                    <key> <string>enabled</string> </key>
+                    <value> <int>1</int> </value>
+                </item>
+                <item>
+                    <key> <string>external_validator</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>extra</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>extra_item</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>first_item</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+                <item>
+                    <key> <string>hidden</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+                <item>
+                    <key> <string>items</string> </key>
+                    <value>
+                      <list/>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>jump_method</string> </key>
+                    <value> <string>Base_jumpToRelatedDocument</string> </value>
+                </item>
+                <item>
+                    <key> <string>list_method</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>max_length</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>max_linelength</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>max_lines</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>parameter_list</string> </key>
+                    <value>
+                      <list/>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>portal_type</string> </key>
+                    <value>
+                      <list>
+                        <tuple>
+                          <string>(tales)</string>
+                          <string>(tales)</string>
+                        </tuple>
+                      </list>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>proxy_listbox_ids</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>relation_form_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>relation_setter_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>required</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+                <item>
+                    <key> <string>size</string> </key>
+                    <value> <int>1</int> </value>
+                </item>
+                <item>
+                    <key> <string>sort</string> </key>
+                    <value>
+                      <list/>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>title</string> </key>
+                    <value> <string>Supplier Project</string> </value>
+                </item>
+                <item>
+                    <key> <string>truncate</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+                <item>
+                    <key> <string>unicode</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+                <item>
+                    <key> <string>update_method</string> </key>
+                    <value> <string>Base_validateRelation</string> </value>
+                </item>
+                <item>
+                    <key> <string>whitespace_preserve</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+      </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: field.Base_getFieldParameterDict()[\'base_category\']</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="3" aka="AAAAAAAAAAM=">
+    <pickle>
+      <tuple>
+        <global name="TALESMethod" module="Products.Formulator.TALESField"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_text</string> </key>
+            <value> <string>python: field.Base_getFieldParameterDict()[\'catalog_index\']</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="4" aka="AAAAAAAAAAQ=">
+    <pickle>
+      <tuple>
+        <global name="TALESMethod" module="Products.Formulator.TALESField"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_text</string> </key>
+            <value> <string>python: preferences.getPreference(\'preferred_string_field_width\', 30)</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="5" aka="AAAAAAAAAAU=">
+    <pickle>
+      <tuple>
+        <global name="TALESMethod" module="Products.Formulator.TALESField"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_text</string> </key>
+            <value> <string>context/getPortalProjectTypeList</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="6" aka="AAAAAAAAAAY=">
+    <pickle>
+      <tuple>
+        <global name="TALESMethod" module="Products.Formulator.TALESField"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_text</string> </key>
+            <value> <string>python: [(x, x) for x in context.getPortalProjectTypeList()]</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/SaleInvoiceTransaction_viewProfile/my_source_reference.xml b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/SaleInvoiceTransaction_viewProfile/my_source_reference.xml
new file mode 100644
index 0000000000..1722e1a0bd
--- /dev/null
+++ b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/SaleInvoiceTransaction_viewProfile/my_source_reference.xml
@@ -0,0 +1,281 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="StringField" module="Products.Formulator.StandardFields"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>my_source_reference</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>
+                <item>
+                    <key> <string>required_not_found</string> </key>
+                    <value> <string>Input is required but no input given.</string> </value>
+                </item>
+                <item>
+                    <key> <string>too_long</string> </key>
+                    <value> <string>Too much input was given.</string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>overrides</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>alternate_name</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>css_class</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>default</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>description</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>display_maxwidth</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>display_width</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>editable</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>enabled</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>external_validator</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>extra</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>hidden</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>max_length</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>required</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>title</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>truncate</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>unicode</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>whitespace_preserve</string> </key>
+                    <value> <string></string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>tales</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>alternate_name</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>css_class</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>default</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>description</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>display_maxwidth</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>display_width</string> </key>
+                    <value>
+                      <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>editable</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>enabled</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>external_validator</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>extra</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>hidden</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>max_length</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>required</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>title</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>truncate</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>unicode</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>whitespace_preserve</string> </key>
+                    <value> <string></string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>values</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>alternate_name</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>css_class</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>default</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>description</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>display_maxwidth</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>display_width</string> </key>
+                    <value> <int>30</int> </value>
+                </item>
+                <item>
+                    <key> <string>editable</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+                <item>
+                    <key> <string>enabled</string> </key>
+                    <value> <int>1</int> </value>
+                </item>
+                <item>
+                    <key> <string>external_validator</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>extra</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>hidden</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+                <item>
+                    <key> <string>max_length</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>required</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+                <item>
+                    <key> <string>title</string> </key>
+                    <value> <string>Supplier Transaction Reference</string> </value>
+                </item>
+                <item>
+                    <key> <string>truncate</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+                <item>
+                    <key> <string>unicode</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+                <item>
+                    <key> <string>whitespace_preserve</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+      </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: preferences.getPreference(\'preferred_string_field_width\', 30)</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/SaleInvoiceTransaction_viewProfile/my_source_section_title.xml b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/SaleInvoiceTransaction_viewProfile/my_source_section_title.xml
new file mode 100644
index 0000000000..1971fd5b43
--- /dev/null
+++ b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/SaleInvoiceTransaction_viewProfile/my_source_section_title.xml
@@ -0,0 +1,656 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="RelationStringField" module="Products.ERP5Form.RelationField"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>my_source_section_title</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>
+                <item>
+                    <key> <string>line_too_long</string> </key>
+                    <value> <string>A line was too long.</string> </value>
+                </item>
+                <item>
+                    <key> <string>relation_result_ambiguous</string> </key>
+                    <value> <string>Select appropriate document in the list.</string> </value>
+                </item>
+                <item>
+                    <key> <string>relation_result_empty</string> </key>
+                    <value> <string>No such document was found.</string> </value>
+                </item>
+                <item>
+                    <key> <string>relation_result_too_long</string> </key>
+                    <value> <string>Too many documents were found.</string> </value>
+                </item>
+                <item>
+                    <key> <string>required_not_found</string> </key>
+                    <value> <string>Input is required but no input given.</string> </value>
+                </item>
+                <item>
+                    <key> <string>too_long</string> </key>
+                    <value> <string>You entered too many characters.</string> </value>
+                </item>
+                <item>
+                    <key> <string>too_many_lines</string> </key>
+                    <value> <string>You entered too many lines.</string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>overrides</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>allow_creation</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>allow_jump</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>alternate_name</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>base_category</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>catalog_index</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>columns</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>container_getter_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>css_class</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>default</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>description</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>display_maxwidth</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>display_width</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>editable</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>enabled</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>external_validator</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>extra</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>extra_item</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>first_item</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>hidden</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>items</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>jump_method</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>list_method</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>max_length</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>max_linelength</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>max_lines</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>parameter_list</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>portal_type</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>proxy_listbox_ids</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>relation_form_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>relation_setter_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>required</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>size</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>sort</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>title</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>truncate</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>unicode</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>update_method</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>whitespace_preserve</string> </key>
+                    <value> <string></string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>tales</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>allow_creation</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>allow_jump</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>alternate_name</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>base_category</string> </key>
+                    <value>
+                      <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>catalog_index</string> </key>
+                    <value>
+                      <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>columns</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>container_getter_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>css_class</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>default</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>description</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>display_maxwidth</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>display_width</string> </key>
+                    <value>
+                      <persistent> <string encoding="base64">AAAAAAAAAAQ=</string> </persistent>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>editable</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>enabled</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>external_validator</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>extra</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>extra_item</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>first_item</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>hidden</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>items</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>jump_method</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>list_method</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>max_length</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>max_linelength</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>max_lines</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>parameter_list</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>portal_type</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>proxy_listbox_ids</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>relation_form_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>relation_setter_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>required</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>size</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>sort</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>title</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>truncate</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>unicode</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>update_method</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>whitespace_preserve</string> </key>
+                    <value> <string></string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>values</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>allow_creation</string> </key>
+                    <value> <int>1</int> </value>
+                </item>
+                <item>
+                    <key> <string>allow_jump</string> </key>
+                    <value> <int>1</int> </value>
+                </item>
+                <item>
+                    <key> <string>alternate_name</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>base_category</string> </key>
+                    <value> <string>(tales)</string> </value>
+                </item>
+                <item>
+                    <key> <string>catalog_index</string> </key>
+                    <value> <string>(tales)</string> </value>
+                </item>
+                <item>
+                    <key> <string>columns</string> </key>
+                    <value>
+                      <list>
+                        <tuple>
+                          <string>title</string>
+                          <string>Usual Name</string>
+                        </tuple>
+                        <tuple>
+                          <string>description</string>
+                          <string>Description</string>
+                        </tuple>
+                        <tuple>
+                          <string>getDefaultTelephoneText</string>
+                          <string>Telephone</string>
+                        </tuple>
+                        <tuple>
+                          <string>getDefaultAddressText</string>
+                          <string>Address</string>
+                        </tuple>
+                        <tuple>
+                          <string>translated_portal_type</string>
+                          <string>Type</string>
+                        </tuple>
+                        <tuple>
+                          <string>translated_validation_state_title</string>
+                          <string>State</string>
+                        </tuple>
+                      </list>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>container_getter_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>css_class</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>default</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>description</string> </key>
+                    <value> <string>The invoicing person or organisation.</string> </value>
+                </item>
+                <item>
+                    <key> <string>display_maxwidth</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>display_width</string> </key>
+                    <value> <int>20</int> </value>
+                </item>
+                <item>
+                    <key> <string>editable</string> </key>
+                    <value> <int>1</int> </value>
+                </item>
+                <item>
+                    <key> <string>enabled</string> </key>
+                    <value> <int>1</int> </value>
+                </item>
+                <item>
+                    <key> <string>external_validator</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>extra</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>extra_item</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>first_item</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+                <item>
+                    <key> <string>hidden</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+                <item>
+                    <key> <string>items</string> </key>
+                    <value>
+                      <list/>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>jump_method</string> </key>
+                    <value> <string>Base_jumpToRelatedDocument</string> </value>
+                </item>
+                <item>
+                    <key> <string>list_method</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>max_length</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>max_linelength</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>max_lines</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>parameter_list</string> </key>
+                    <value>
+                      <list/>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>portal_type</string> </key>
+                    <value>
+                      <list>
+                        <tuple>
+                          <string>Organisation</string>
+                          <string>Organisation</string>
+                        </tuple>
+                        <tuple>
+                          <string>Person</string>
+                          <string>Person</string>
+                        </tuple>
+                      </list>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>proxy_listbox_ids</string> </key>
+                    <value>
+                      <list>
+                        <tuple>
+                          <string>Base_viewRelatedObjectListBase/listbox</string>
+                          <string>All</string>
+                        </tuple>
+                        <tuple>
+                          <string>ERP5Site_viewSupplierNodeList/listbox</string>
+                          <string>Suppliers</string>
+                        </tuple>
+                        <tuple>
+                          <string>ERP5Site_viewClientNodeList/listbox</string>
+                          <string>Clients</string>
+                        </tuple>
+                        <tuple>
+                          <string>OrganisationModule_viewOrganisationList/listbox</string>
+                          <string>Organisations</string>
+                        </tuple>
+                        <tuple>
+                          <string>PersonModule_viewPersonList/listbox</string>
+                          <string>Persons</string>
+                        </tuple>
+                      </list>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>relation_form_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>relation_setter_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>required</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+                <item>
+                    <key> <string>size</string> </key>
+                    <value> <int>1</int> </value>
+                </item>
+                <item>
+                    <key> <string>sort</string> </key>
+                    <value>
+                      <list/>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>title</string> </key>
+                    <value> <string>Supplier</string> </value>
+                </item>
+                <item>
+                    <key> <string>truncate</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+                <item>
+                    <key> <string>unicode</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+                <item>
+                    <key> <string>update_method</string> </key>
+                    <value> <string>Base_validateRelation</string> </value>
+                </item>
+                <item>
+                    <key> <string>whitespace_preserve</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+      </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: field.Base_getFieldParameterDict()[\'base_category\']</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="3" aka="AAAAAAAAAAM=">
+    <pickle>
+      <tuple>
+        <global name="TALESMethod" module="Products.Formulator.TALESField"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_text</string> </key>
+            <value> <string>python: field.Base_getFieldParameterDict()[\'catalog_index\']</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="4" aka="AAAAAAAAAAQ=">
+    <pickle>
+      <tuple>
+        <global name="TALESMethod" module="Products.Formulator.TALESField"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_text</string> </key>
+            <value> <string>python: preferences.getPreference(\'preferred_string_field_width\', 30)</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/SaleInvoiceTransaction_viewProfile/my_source_title.xml b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/SaleInvoiceTransaction_viewProfile/my_source_title.xml
new file mode 100644
index 0000000000..8ee609c199
--- /dev/null
+++ b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/SaleInvoiceTransaction_viewProfile/my_source_title.xml
@@ -0,0 +1,656 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="RelationStringField" module="Products.ERP5Form.RelationField"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>my_source_title</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>
+                <item>
+                    <key> <string>line_too_long</string> </key>
+                    <value> <string>A line was too long.</string> </value>
+                </item>
+                <item>
+                    <key> <string>relation_result_ambiguous</string> </key>
+                    <value> <string>Select appropriate document in the list.</string> </value>
+                </item>
+                <item>
+                    <key> <string>relation_result_empty</string> </key>
+                    <value> <string>No such document was found.</string> </value>
+                </item>
+                <item>
+                    <key> <string>relation_result_too_long</string> </key>
+                    <value> <string>Too many documents were found.</string> </value>
+                </item>
+                <item>
+                    <key> <string>required_not_found</string> </key>
+                    <value> <string>Input is required but no input given.</string> </value>
+                </item>
+                <item>
+                    <key> <string>too_long</string> </key>
+                    <value> <string>You entered too many characters.</string> </value>
+                </item>
+                <item>
+                    <key> <string>too_many_lines</string> </key>
+                    <value> <string>You entered too many lines.</string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>overrides</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>allow_creation</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>allow_jump</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>alternate_name</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>base_category</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>catalog_index</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>columns</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>container_getter_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>css_class</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>default</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>description</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>display_maxwidth</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>display_width</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>editable</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>enabled</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>external_validator</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>extra</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>extra_item</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>first_item</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>hidden</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>items</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>jump_method</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>list_method</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>max_length</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>max_linelength</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>max_lines</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>parameter_list</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>portal_type</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>proxy_listbox_ids</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>relation_form_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>relation_setter_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>required</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>size</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>sort</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>title</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>truncate</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>unicode</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>update_method</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>whitespace_preserve</string> </key>
+                    <value> <string></string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>tales</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>allow_creation</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>allow_jump</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>alternate_name</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>base_category</string> </key>
+                    <value>
+                      <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>catalog_index</string> </key>
+                    <value>
+                      <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>columns</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>container_getter_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>css_class</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>default</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>description</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>display_maxwidth</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>display_width</string> </key>
+                    <value>
+                      <persistent> <string encoding="base64">AAAAAAAAAAQ=</string> </persistent>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>editable</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>enabled</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>external_validator</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>extra</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>extra_item</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>first_item</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>hidden</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>items</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>jump_method</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>list_method</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>max_length</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>max_linelength</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>max_lines</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>parameter_list</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>portal_type</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>proxy_listbox_ids</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>relation_form_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>relation_setter_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>required</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>size</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>sort</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>title</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>truncate</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>unicode</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>update_method</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>whitespace_preserve</string> </key>
+                    <value> <string></string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>values</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>allow_creation</string> </key>
+                    <value> <int>1</int> </value>
+                </item>
+                <item>
+                    <key> <string>allow_jump</string> </key>
+                    <value> <int>1</int> </value>
+                </item>
+                <item>
+                    <key> <string>alternate_name</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>base_category</string> </key>
+                    <value> <string>(tales)</string> </value>
+                </item>
+                <item>
+                    <key> <string>catalog_index</string> </key>
+                    <value> <string>(tales)</string> </value>
+                </item>
+                <item>
+                    <key> <string>columns</string> </key>
+                    <value>
+                      <list>
+                        <tuple>
+                          <string>title</string>
+                          <string>Usual Name</string>
+                        </tuple>
+                        <tuple>
+                          <string>description</string>
+                          <string>Description</string>
+                        </tuple>
+                        <tuple>
+                          <string>getDefaultTelephoneText</string>
+                          <string>Telephone</string>
+                        </tuple>
+                        <tuple>
+                          <string>getDefaultAddressText</string>
+                          <string>Address</string>
+                        </tuple>
+                        <tuple>
+                          <string>translated_portal_type</string>
+                          <string>Type</string>
+                        </tuple>
+                        <tuple>
+                          <string>translated_validation_state_title</string>
+                          <string>State</string>
+                        </tuple>
+                      </list>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>container_getter_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>css_class</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>default</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>description</string> </key>
+                    <value> <string>The organisation or person who sends merchandise or provides service.</string> </value>
+                </item>
+                <item>
+                    <key> <string>display_maxwidth</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>display_width</string> </key>
+                    <value> <int>20</int> </value>
+                </item>
+                <item>
+                    <key> <string>editable</string> </key>
+                    <value> <int>1</int> </value>
+                </item>
+                <item>
+                    <key> <string>enabled</string> </key>
+                    <value> <int>1</int> </value>
+                </item>
+                <item>
+                    <key> <string>external_validator</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>extra</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>extra_item</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>first_item</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+                <item>
+                    <key> <string>hidden</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+                <item>
+                    <key> <string>items</string> </key>
+                    <value>
+                      <list/>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>jump_method</string> </key>
+                    <value> <string>Base_jumpToRelatedDocument</string> </value>
+                </item>
+                <item>
+                    <key> <string>list_method</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>max_length</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>max_linelength</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>max_lines</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>parameter_list</string> </key>
+                    <value>
+                      <list/>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>portal_type</string> </key>
+                    <value>
+                      <list>
+                        <tuple>
+                          <string>Organisation</string>
+                          <string>Organisation</string>
+                        </tuple>
+                        <tuple>
+                          <string>Person</string>
+                          <string>Person</string>
+                        </tuple>
+                      </list>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>proxy_listbox_ids</string> </key>
+                    <value>
+                      <list>
+                        <tuple>
+                          <string>Base_viewRelatedObjectListBase/listbox</string>
+                          <string>All</string>
+                        </tuple>
+                        <tuple>
+                          <string>ERP5Site_viewSupplierNodeList/listbox</string>
+                          <string>Suppliers</string>
+                        </tuple>
+                        <tuple>
+                          <string>ERP5Site_viewClientNodeList/listbox</string>
+                          <string>Clients</string>
+                        </tuple>
+                        <tuple>
+                          <string>OrganisationModule_viewOrganisationList/listbox</string>
+                          <string>Organisations</string>
+                        </tuple>
+                        <tuple>
+                          <string>PersonModule_viewPersonList/listbox</string>
+                          <string>Persons</string>
+                        </tuple>
+                      </list>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>relation_form_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>relation_setter_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>required</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+                <item>
+                    <key> <string>size</string> </key>
+                    <value> <int>1</int> </value>
+                </item>
+                <item>
+                    <key> <string>sort</string> </key>
+                    <value>
+                      <list/>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>title</string> </key>
+                    <value> <string>Sender or Provider</string> </value>
+                </item>
+                <item>
+                    <key> <string>truncate</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+                <item>
+                    <key> <string>unicode</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+                <item>
+                    <key> <string>update_method</string> </key>
+                    <value> <string>Base_validateRelation</string> </value>
+                </item>
+                <item>
+                    <key> <string>whitespace_preserve</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+      </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: field.Base_getFieldParameterDict()[\'base_category\']</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="3" aka="AAAAAAAAAAM=">
+    <pickle>
+      <tuple>
+        <global name="TALESMethod" module="Products.Formulator.TALESField"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_text</string> </key>
+            <value> <string>python: field.Base_getFieldParameterDict()[\'catalog_index\']</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="4" aka="AAAAAAAAAAQ=">
+    <pickle>
+      <tuple>
+        <global name="TALESMethod" module="Products.Formulator.TALESField"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_text</string> </key>
+            <value> <string>python: preferences.getPreference(\'preferred_string_field_width\', 30)</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_accounting/bt/revision b/bt5/erp5_accounting/bt/revision
index b5089da9fd..57a2e3e33f 100644
--- a/bt5/erp5_accounting/bt/revision
+++ b/bt5/erp5_accounting/bt/revision
@@ -1 +1 @@
-1323
\ No newline at end of file
+1325
\ No newline at end of file
-- 
2.30.9


From 85026e75dee4678eedc0f5a639de0133f1cdf7c7 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?J=C3=A9rome=20Perrin?= <jerome@nexedi.com>
Date: Fri, 30 Jul 2010 09:03:52 +0000
Subject: [PATCH 207/270] use "Supplier" term everywhere ("Vendor" was used in
 some places)

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@37376 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 .../my_source_section_title.xml                      | 10 +---------
 .../listbox.xml                                      |  2 +-
 .../my_source_section_title.xml                      | 12 ++----------
 .../my_destination_section_title.xml                 |  6 +++---
 .../my_source_section_title.xml                      | 10 +---------
 bt5/erp5_accounting/bt/revision                      |  2 +-
 6 files changed, 9 insertions(+), 33 deletions(-)

diff --git a/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/PurchaseInvoiceTransaction_viewAccounting/my_source_section_title.xml b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/PurchaseInvoiceTransaction_viewAccounting/my_source_section_title.xml
index c1de651ebd..3b1d26a7cc 100644
--- a/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/PurchaseInvoiceTransaction_viewAccounting/my_source_section_title.xml
+++ b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/PurchaseInvoiceTransaction_viewAccounting/my_source_section_title.xml
@@ -13,9 +13,9 @@
             <key> <string>delegated_list</string> </key>
             <value>
               <list>
+                <string>base_category</string>
                 <string>catalog_index</string>
                 <string>parameter_list</string>
-                <string>base_category</string>
               </list>
             </value>
         </item>
@@ -84,10 +84,6 @@
                     <key> <string>catalog_index</string> </key>
                     <value> <string>title</string> </value>
                 </item>
-                <item>
-                    <key> <string>description</string> </key>
-                    <value> <string>Vendor of the transaction</string> </value>
-                </item>
                 <item>
                     <key> <string>field_id</string> </key>
                     <value> <string>my_source_section_title</string> </value>
@@ -106,10 +102,6 @@
                     <key> <string>target</string> </key>
                     <value> <string>Click to edit the target</string> </value>
                 </item>
-                <item>
-                    <key> <string>title</string> </key>
-                    <value> <string>Vendor</string> </value>
-                </item>
               </dictionary>
             </value>
         </item>
diff --git a/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/PurchaseInvoiceTransaction_viewDetails/listbox.xml b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/PurchaseInvoiceTransaction_viewDetails/listbox.xml
index 7044865b3e..1c7cae59da 100644
--- a/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/PurchaseInvoiceTransaction_viewDetails/listbox.xml
+++ b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/PurchaseInvoiceTransaction_viewDetails/listbox.xml
@@ -88,7 +88,7 @@
                         </tuple>
                         <tuple>
                           <string>destination</string>
-                          <string>Vendor Account</string>
+                          <string>Supplier Account</string>
                         </tuple>
                         <tuple>
                           <string>destination_debit</string>
diff --git a/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/PurchaseInvoiceTransaction_viewDetails/my_source_section_title.xml b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/PurchaseInvoiceTransaction_viewDetails/my_source_section_title.xml
index d84613cd3a..14e0d29541 100644
--- a/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/PurchaseInvoiceTransaction_viewDetails/my_source_section_title.xml
+++ b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/PurchaseInvoiceTransaction_viewDetails/my_source_section_title.xml
@@ -13,10 +13,10 @@
             <key> <string>delegated_list</string> </key>
             <value>
               <list>
+                <string>base_category</string>
                 <string>catalog_index</string>
-                <string>portal_type</string>
                 <string>parameter_list</string>
-                <string>base_category</string>
+                <string>portal_type</string>
               </list>
             </value>
         </item>
@@ -85,10 +85,6 @@
                     <key> <string>catalog_index</string> </key>
                     <value> <string>title</string> </value>
                 </item>
-                <item>
-                    <key> <string>description</string> </key>
-                    <value> <string>Vendor of the transaction</string> </value>
-                </item>
                 <item>
                     <key> <string>field_id</string> </key>
                     <value> <string>my_source_section_title</string> </value>
@@ -126,10 +122,6 @@
                     <key> <string>target</string> </key>
                     <value> <string>Click to edit the target</string> </value>
                 </item>
-                <item>
-                    <key> <string>title</string> </key>
-                    <value> <string>Vendor</string> </value>
-                </item>
               </dictionary>
             </value>
         </item>
diff --git a/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/PurchaseInvoiceTransaction_viewSourceAccounting/my_destination_section_title.xml b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/PurchaseInvoiceTransaction_viewSourceAccounting/my_destination_section_title.xml
index 16552999e4..d44083f0c4 100644
--- a/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/PurchaseInvoiceTransaction_viewSourceAccounting/my_destination_section_title.xml
+++ b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/PurchaseInvoiceTransaction_viewSourceAccounting/my_destination_section_title.xml
@@ -13,10 +13,10 @@
             <key> <string>delegated_list</string> </key>
             <value>
               <list>
+                <string>base_category</string>
                 <string>catalog_index</string>
-                <string>title</string>
                 <string>parameter_list</string>
-                <string>base_category</string>
+                <string>title</string>
               </list>
             </value>
         </item>
@@ -105,7 +105,7 @@
                 </item>
                 <item>
                     <key> <string>title</string> </key>
-                    <value> <string>Vendor</string> </value>
+                    <value> <string>Supplier</string> </value>
                 </item>
               </dictionary>
             </value>
diff --git a/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/SaleInvoiceTransaction_viewDetails/my_source_section_title.xml b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/SaleInvoiceTransaction_viewDetails/my_source_section_title.xml
index 1a327b4826..e16a68a861 100644
--- a/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/SaleInvoiceTransaction_viewDetails/my_source_section_title.xml
+++ b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/SaleInvoiceTransaction_viewDetails/my_source_section_title.xml
@@ -13,8 +13,8 @@
             <key> <string>delegated_list</string> </key>
             <value>
               <list>
-                <string>catalog_index</string>
                 <string>base_category</string>
+                <string>catalog_index</string>
               </list>
             </value>
         </item>
@@ -83,10 +83,6 @@
                     <key> <string>catalog_index</string> </key>
                     <value> <string>title</string> </value>
                 </item>
-                <item>
-                    <key> <string>description</string> </key>
-                    <value> <string>Vendor of the transaction</string> </value>
-                </item>
                 <item>
                     <key> <string>field_id</string> </key>
                     <value> <string>my_source_section_title</string> </value>
@@ -99,10 +95,6 @@
                     <key> <string>target</string> </key>
                     <value> <string>Click to edit the target</string> </value>
                 </item>
-                <item>
-                    <key> <string>title</string> </key>
-                    <value> <string>Vendor</string> </value>
-                </item>
               </dictionary>
             </value>
         </item>
diff --git a/bt5/erp5_accounting/bt/revision b/bt5/erp5_accounting/bt/revision
index 57a2e3e33f..9711409cbc 100644
--- a/bt5/erp5_accounting/bt/revision
+++ b/bt5/erp5_accounting/bt/revision
@@ -1 +1 @@
-1325
\ No newline at end of file
+1326
\ No newline at end of file
-- 
2.30.9


From 92167e79d46242dc3469dd27f6aa38d93f51e2bf Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?J=C3=A9rome=20Perrin?= <jerome@nexedi.com>
Date: Fri, 30 Jul 2010 09:04:41 +0000
Subject: [PATCH 208/270] update translations

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@37377 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 .../fr/erp5_ui/translation.po                 | 25 +++++++++++--------
 bt5/erp5_l10n_fr/bt/revision                  |  2 +-
 2 files changed, 15 insertions(+), 12 deletions(-)

diff --git a/bt5/erp5_l10n_fr/MessageTranslationTemplateItem/fr/erp5_ui/translation.po b/bt5/erp5_l10n_fr/MessageTranslationTemplateItem/fr/erp5_ui/translation.po
index 86e73a2367..a757320985 100644
--- a/bt5/erp5_l10n_fr/MessageTranslationTemplateItem/fr/erp5_ui/translation.po
+++ b/bt5/erp5_l10n_fr/MessageTranslationTemplateItem/fr/erp5_ui/translation.po
@@ -2224,12 +2224,18 @@ msgstr "Compte pour le client"
 msgid "Client Administrator"
 msgstr "Responsable des tâches administratives pour le client"
 
+msgid "Client Bank Account"
+msgstr "Compte en banque chez le client"
+
 msgid "Client Project"
 msgstr "Projet client"
 
 msgid "Client Reference"
 msgstr "Référence client"
 
+msgid "Client Transaction Reference"
+msgstr "N° d'écriture pour le client"
+
 msgid "Client must be defined"
 msgstr "Le client doit être défini"
 
@@ -3070,9 +3076,6 @@ msgstr "Référence client"
 msgid "Customer Size"
 msgstr "Correspondance"
 
-msgid "Customer Transaction Reference"
-msgstr "Référence du client"
-
 msgid "Customer reference"
 msgstr "Réf. client"
 
@@ -10253,6 +10256,9 @@ msgstr "Compte pour le fournisseur"
 msgid "Supplier Administrator"
 msgstr "Responsable des tâches administratives pour le fournisseur"
 
+msgid "Supplier Bank Account"
+msgstr "Compte en banque chez le fournisseur"
+
 msgid "Supplier Colour"
 msgstr "Coloris Fournisseur"
 
@@ -10268,6 +10274,9 @@ msgstr "Réf Fournisseur"
 msgid "Supplier Reference"
 msgstr "Référence fournisseur"
 
+msgid "Supplier Transaction Reference"
+msgstr "N° d'écriture pour le fournisseur"
+
 msgid "Supplier must be defined"
 msgstr "Le fournisseur doit être défini"
 
@@ -11517,7 +11526,7 @@ msgid "Third Party Region"
 msgstr "Région du tiers"
 
 msgid "Third Party Transaction Reference"
-msgstr "Référence pour le tiers"
+msgstr "N° d'écriture pour le tiers"
 
 msgid "Third party ${third_party_name} is invalid."
 msgstr "Le tiers ${third_party_name} est invalidé."
@@ -12346,14 +12355,8 @@ msgstr "Variantes prises en compte."
 msgid "Vendor"
 msgstr "Vendeur"
 
-msgid "Vendor Account"
-msgstr "Compte fournisseur"
-
-msgid "Vendor Transaction Reference"
-msgstr "Référence du vendeur"
-
 msgid "Vendor of the transaction"
-msgstr "Le vendeur."
+msgstr "Le vendeur"
 
 msgid "Vendor reference of the sale transaction"
 msgstr "La référence de la transaction selon le vendeur."
diff --git a/bt5/erp5_l10n_fr/bt/revision b/bt5/erp5_l10n_fr/bt/revision
index aa59885c83..70e1a64c23 100644
--- a/bt5/erp5_l10n_fr/bt/revision
+++ b/bt5/erp5_l10n_fr/bt/revision
@@ -1 +1 @@
-143
\ No newline at end of file
+144
\ No newline at end of file
-- 
2.30.9


From 8d979613f695d0edb0fe4fa38b245d8c5e239a96 Mon Sep 17 00:00:00 2001
From: Ivan Tyagov <ivan@nexedi.com>
Date: Fri, 30 Jul 2010 10:31:17 +0000
Subject: [PATCH 209/270] HTML DOM structure changed so test have to be
 adjusted as well.

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@37378 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 .../portal_tests/erp5_km_zuite/testAdvancedSearch.xml         | 2 +-
 .../portal_tests/erp5_km_zuite/testTopSearchBoxClicking.xml   | 4 ++--
 .../erp5_km_zuite/testTopSearchBoxHittingEnter.xml            | 4 ++--
 bt5/erp5_km_ui_test/bt/revision                               | 2 +-
 4 files changed, 6 insertions(+), 6 deletions(-)

diff --git a/bt5/erp5_km_ui_test/PathTemplateItem/portal_tests/erp5_km_zuite/testAdvancedSearch.xml b/bt5/erp5_km_ui_test/PathTemplateItem/portal_tests/erp5_km_zuite/testAdvancedSearch.xml
index 296cb14a07..7c3290c306 100644
--- a/bt5/erp5_km_ui_test/PathTemplateItem/portal_tests/erp5_km_zuite/testAdvancedSearch.xml
+++ b/bt5/erp5_km_ui_test/PathTemplateItem/portal_tests/erp5_km_zuite/testAdvancedSearch.xml
@@ -93,7 +93,7 @@
 </tr>\n
 <tr>\n
   <td>verifyText</td>\n
-  <td>//tr[@id=\'listbox_data_line_0\']//span[@class=\'search_result_title\']</td>\n
+  <td>//tr[@id=\'listbox-data-line-0\']//span[@class=\'search_result_title\']</td>\n
   <td>test_km_web_site_page</td>\n
 </tr>\n
 <tr>\n
diff --git a/bt5/erp5_km_ui_test/PathTemplateItem/portal_tests/erp5_km_zuite/testTopSearchBoxClicking.xml b/bt5/erp5_km_ui_test/PathTemplateItem/portal_tests/erp5_km_zuite/testTopSearchBoxClicking.xml
index 5bc18b5c63..1daaa37f74 100644
--- a/bt5/erp5_km_ui_test/PathTemplateItem/portal_tests/erp5_km_zuite/testTopSearchBoxClicking.xml
+++ b/bt5/erp5_km_ui_test/PathTemplateItem/portal_tests/erp5_km_zuite/testTopSearchBoxClicking.xml
@@ -82,7 +82,7 @@
 </tr>\n
 <tr>\n
   <td>verifyText</td>\n
-  <td>//tr[@id=\'listbox_data_line_0\']//span[@class=\'search_result_title\']</td>\n
+  <td>//tr[@id=\'listbox-data-line-0\']//span[@class=\'search_result_title\']</td>\n
   <td>test_km_web_site_page</td>\n
 </tr>\n
 <!-- Test listbox sub search -->\n
@@ -133,7 +133,7 @@
 </tr>\n
 <tr>\n
   <td>verifyText</td>\n
-  <td>//tr[@id=\'listbox_data_line_0\']//span[@class=\'search_result_title\']</td>\n
+  <td>//tr[@id=\'listbox-data-line-0\']//span[@class=\'search_result_title\']</td>\n
   <td>test_km_web_site_page</td>\n
 </tr>\n
 \n
diff --git a/bt5/erp5_km_ui_test/PathTemplateItem/portal_tests/erp5_km_zuite/testTopSearchBoxHittingEnter.xml b/bt5/erp5_km_ui_test/PathTemplateItem/portal_tests/erp5_km_zuite/testTopSearchBoxHittingEnter.xml
index dafb6534ed..171f51f139 100644
--- a/bt5/erp5_km_ui_test/PathTemplateItem/portal_tests/erp5_km_zuite/testTopSearchBoxHittingEnter.xml
+++ b/bt5/erp5_km_ui_test/PathTemplateItem/portal_tests/erp5_km_zuite/testTopSearchBoxHittingEnter.xml
@@ -90,12 +90,12 @@
 </tr>\n
 <tr>\n
   <td>verifyText</td>\n
-  <td>//tr[@id=\'listbox_data_line_0\']//span[@class=\'search_result_title\']</td>\n
+  <td>//tr[@id=\'listbox-data-line-0\']//span[@class=\'search_result_title\']</td>\n
   <td>test_km_web_site_page</td>\n
 </tr>\n
 <tr>\n
   <td>clickAndWait</td>\n
-  <td>//tr[@id=\'listbox_data_line_0\']//a</td>\n
+  <td>//tr[@id=\'listbox-data-line-0\']//a</td>\n
   <td></td>\n
 </tr>\n
 <tr>\n
diff --git a/bt5/erp5_km_ui_test/bt/revision b/bt5/erp5_km_ui_test/bt/revision
index 0fa6a7b088..a46c9d2265 100644
--- a/bt5/erp5_km_ui_test/bt/revision
+++ b/bt5/erp5_km_ui_test/bt/revision
@@ -1 +1 @@
-90
\ No newline at end of file
+91
\ No newline at end of file
-- 
2.30.9


From 50be8725114ea9b201d0a82ca730f409eeee987b Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?J=C3=A9rome=20Perrin?= <jerome@nexedi.com>
Date: Fri, 30 Jul 2010 12:04:53 +0000
Subject: [PATCH 210/270] form_id should be the id, not title_or_id. This was
 the cause of strange redirections in erp5_subversion

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@37379 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 .../portal_skins/erp5_xhtml_style/view_main.xml                 | 2 +-
 product/ERP5/bootstrap/erp5_xhtml_style/bt/revision             | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/product/ERP5/bootstrap/erp5_xhtml_style/SkinTemplateItem/portal_skins/erp5_xhtml_style/view_main.xml b/product/ERP5/bootstrap/erp5_xhtml_style/SkinTemplateItem/portal_skins/erp5_xhtml_style/view_main.xml
index afdc2e348b..0887831511 100644
--- a/product/ERP5/bootstrap/erp5_xhtml_style/SkinTemplateItem/portal_skins/erp5_xhtml_style/view_main.xml
+++ b/product/ERP5/bootstrap/erp5_xhtml_style/SkinTemplateItem/portal_skins/erp5_xhtml_style/view_main.xml
@@ -47,7 +47,7 @@
               tal:define="object_uid           here/getUid | nothing;\n
               object_path          here/getPath | nothing;\n
               form                 nocall: form | nothing;\n
-              form_id              form/id | template/title_or_id | nothing;\n
+              form_id              form/id | template/id | nothing;\n
               portal               here/getPortalObject;\n
               form_action          python: form and form.action not in (\'\', None) and portal.portal_membership.checkPermission(\'Modify portal content\', here) and form.action or nothing;\n
               local_parameter_list local_parameter_list | python: {};\n
diff --git a/product/ERP5/bootstrap/erp5_xhtml_style/bt/revision b/product/ERP5/bootstrap/erp5_xhtml_style/bt/revision
index 011b5d3457..4832075b37 100644
--- a/product/ERP5/bootstrap/erp5_xhtml_style/bt/revision
+++ b/product/ERP5/bootstrap/erp5_xhtml_style/bt/revision
@@ -1 +1 @@
-961
\ No newline at end of file
+967
\ No newline at end of file
-- 
2.30.9


From 2e3305ace8caa498be5b9c23b29f533177f9336f Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?J=C3=A9rome=20Perrin?= <jerome@nexedi.com>
Date: Fri, 30 Jul 2010 12:41:53 +0000
Subject: [PATCH 211/270] always use dialog actions from
 REQUEST['object_path'], this way when an action is based on another context,
 we still have other dialog actions from the original context

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@37380 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 .../erp5_xhtml_style/Base_doDialog.xml            | 15 ++++++++++++---
 .../portal_skins/erp5_xhtml_style/dialog_main.xml |  2 +-
 .../erp5_xhtml_style/global_definitions.xml       |  5 +++--
 .../ERP5/bootstrap/erp5_xhtml_style/bt/revision   |  2 +-
 4 files changed, 17 insertions(+), 7 deletions(-)

diff --git a/product/ERP5/bootstrap/erp5_xhtml_style/SkinTemplateItem/portal_skins/erp5_xhtml_style/Base_doDialog.xml b/product/ERP5/bootstrap/erp5_xhtml_style/SkinTemplateItem/portal_skins/erp5_xhtml_style/Base_doDialog.xml
index 34f1e3a508..c898c0a533 100644
--- a/product/ERP5/bootstrap/erp5_xhtml_style/SkinTemplateItem/portal_skins/erp5_xhtml_style/Base_doDialog.xml
+++ b/product/ERP5/bootstrap/erp5_xhtml_style/SkinTemplateItem/portal_skins/erp5_xhtml_style/Base_doDialog.xml
@@ -61,7 +61,13 @@ if Base_updateListboxSelection is not None:\n
   Base_updateListboxSelection()\n
 \n
 kw.update(context.REQUEST.form)\n
-return context.ERP5Site_redirect(select_dialog.split()[0], keep_items={\'dialog_category\': dialog_category, \'form_id\': form_id, \'cancel_url\': cancel_url}, **kw)\n
+keep_items=dict(\n
+    dialog_category=dialog_category,\n
+    form_id=form_id,\n
+    cancel_url=cancel_url,\n
+    object_path=object_path)\n
+\n
+return context.ERP5Site_redirect(select_dialog.split()[0], keep_items=keep_items, **kw)\n
 </string> </value>
         </item>
         <item>
@@ -72,7 +78,7 @@ return context.ERP5Site_redirect(select_dialog.split()[0], keep_items={\'dialog_
         </item>
         <item>
             <key> <string>_params</string> </key>
-            <value> <string>select_dialog, dialog_category, form_id, cancel_url, **kw</string> </value>
+            <value> <string>select_dialog, dialog_category, form_id, cancel_url, object_path, **kw</string> </value>
         </item>
         <item>
             <key> <string>errors</string> </key>
@@ -92,7 +98,7 @@ return context.ERP5Site_redirect(select_dialog.split()[0], keep_items={\'dialog_
                   <dictionary>
                     <item>
                         <key> <string>co_argcount</string> </key>
-                        <value> <int>4</int> </value>
+                        <value> <int>5</int> </value>
                     </item>
                     <item>
                         <key> <string>co_varnames</string> </key>
@@ -102,12 +108,15 @@ return context.ERP5Site_redirect(select_dialog.split()[0], keep_items={\'dialog_
                             <string>dialog_category</string>
                             <string>form_id</string>
                             <string>cancel_url</string>
+                            <string>object_path</string>
                             <string>kw</string>
                             <string>getattr</string>
                             <string>context</string>
                             <string>None</string>
                             <string>Base_updateListboxSelection</string>
                             <string>_getattr_</string>
+                            <string>dict</string>
+                            <string>keep_items</string>
                             <string>_apply_</string>
                             <string>_getitem_</string>
                           </tuple>
diff --git a/product/ERP5/bootstrap/erp5_xhtml_style/SkinTemplateItem/portal_skins/erp5_xhtml_style/dialog_main.xml b/product/ERP5/bootstrap/erp5_xhtml_style/SkinTemplateItem/portal_skins/erp5_xhtml_style/dialog_main.xml
index 489e2381d3..9b254a56a9 100644
--- a/product/ERP5/bootstrap/erp5_xhtml_style/SkinTemplateItem/portal_skins/erp5_xhtml_style/dialog_main.xml
+++ b/product/ERP5/bootstrap/erp5_xhtml_style/SkinTemplateItem/portal_skins/erp5_xhtml_style/dialog_main.xml
@@ -51,7 +51,7 @@
                global dialog_category request/dialog_category | nothing;\n
 \n
                local_parameter_list local_parameter_list | python: {};\n
-               dummy python: local_parameter_list.update({\'dialog_id\': dialog_id, \'dialog_method\': dialog_method, \'update_method\': update_action, \'dialog_category\': dialog_category, \'cancel_url\': request.get(\'cancel_url\'), \'form_id\': form_id});\n
+               dummy python: local_parameter_list.update({\'dialog_id\': dialog_id, \'dialog_method\': dialog_method, \'update_method\': update_action, \'dialog_category\': dialog_category, \'cancel_url\': request.get(\'cancel_url\'), \'form_id\': form_id, \'object_path\': request.get(\'object_path\', context.getPath())});\n
                title python: here.Base_translateString(here.Base_getFormViewDialogActionButtonTitle(form))">\n
       <tal:block metal:use-macro="here/main_template/macros/master">\n
         <tal:block metal:fill-slot="main">\n
diff --git a/product/ERP5/bootstrap/erp5_xhtml_style/SkinTemplateItem/portal_skins/erp5_xhtml_style/global_definitions.xml b/product/ERP5/bootstrap/erp5_xhtml_style/SkinTemplateItem/portal_skins/erp5_xhtml_style/global_definitions.xml
index 18eb1c9eb9..a39b8ae647 100644
--- a/product/ERP5/bootstrap/erp5_xhtml_style/SkinTemplateItem/portal_skins/erp5_xhtml_style/global_definitions.xml
+++ b/product/ERP5/bootstrap/erp5_xhtml_style/SkinTemplateItem/portal_skins/erp5_xhtml_style/global_definitions.xml
@@ -47,8 +47,9 @@
     <tal:block tal:define="\n
       global portal              here/portal_url/getPortalObject;\n
       global portal_path         portal/absolute_url;\n
-            local_parameter_list  local_parameter_list | python: {};\n
-      global actions          python: here.Base_filterDuplicateActions(portal.portal_actions.listFilteredActionsFor(here));\n
+             local_parameter_list  local_parameter_list | python: {};\n
+             action_context    python: portal.restrictedTraverse(request.get(\'object_path\', \'?\'), here);\n
+      global actions          python: here.Base_filterDuplicateActions(portal.portal_actions.listFilteredActionsFor(action_context));\n
       global url              here/absolute_url;\n
       global current_form_id  python: local_parameter_list.get(\'dialog_id\', local_parameter_list.get(\'form_id\', \'view\'));\n
            dummy            python: request.set(\'current_form_id\', current_form_id);\n
diff --git a/product/ERP5/bootstrap/erp5_xhtml_style/bt/revision b/product/ERP5/bootstrap/erp5_xhtml_style/bt/revision
index 4832075b37..25c83294f5 100644
--- a/product/ERP5/bootstrap/erp5_xhtml_style/bt/revision
+++ b/product/ERP5/bootstrap/erp5_xhtml_style/bt/revision
@@ -1 +1 @@
-967
\ No newline at end of file
+968
\ No newline at end of file
-- 
2.30.9


From 7bdefd0a1a85284e88220c624eea15b0712dc46f Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?J=C3=A9rome=20Perrin?= <jerome@nexedi.com>
Date: Fri, 30 Jul 2010 12:42:51 +0000
Subject: [PATCH 212/270] apply r37380 in this copy of global_definitions

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@37381 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 .../portal_skins/erp5_knowledge_pad/global_definitions.xml   | 5 +++--
 bt5/erp5_knowledge_pad/bt/revision                           | 2 +-
 2 files changed, 4 insertions(+), 3 deletions(-)

diff --git a/bt5/erp5_knowledge_pad/SkinTemplateItem/portal_skins/erp5_knowledge_pad/global_definitions.xml b/bt5/erp5_knowledge_pad/SkinTemplateItem/portal_skins/erp5_knowledge_pad/global_definitions.xml
index f68f6ba21b..3b3951075d 100644
--- a/bt5/erp5_knowledge_pad/SkinTemplateItem/portal_skins/erp5_knowledge_pad/global_definitions.xml
+++ b/bt5/erp5_knowledge_pad/SkinTemplateItem/portal_skins/erp5_knowledge_pad/global_definitions.xml
@@ -47,8 +47,9 @@
     <tal:block tal:define="\n
       global portal              here/portal_url/getPortalObject;\n
       global portal_path         portal/absolute_url;\n
-            local_parameter_list  local_parameter_list | python: {};\n
-      global actions          python: here.Base_filterDuplicateActions(portal.portal_actions.listFilteredActionsFor(here));\n
+             local_parameter_list  local_parameter_list | python: {};\n
+             action_context    python: portal.restrictedTraverse(request.get(\'object_path\', \'?\'), here);\n
+      global actions          python: here.Base_filterDuplicateActions(portal.portal_actions.listFilteredActionsFor(action_context));\n
       global url              here/absolute_url;\n
       global current_form_id  python: local_parameter_list.get(\'dialog_id\', local_parameter_list.get(\'form_id\', \'view\'));\n
            dummy            python: request.set(\'current_form_id\', current_form_id);\n
diff --git a/bt5/erp5_knowledge_pad/bt/revision b/bt5/erp5_knowledge_pad/bt/revision
index f520b6ed4c..1bc902939e 100644
--- a/bt5/erp5_knowledge_pad/bt/revision
+++ b/bt5/erp5_knowledge_pad/bt/revision
@@ -1 +1 @@
-530
\ No newline at end of file
+531
\ No newline at end of file
-- 
2.30.9


From 87c919999766f170e92dc1a2f6cc5e83f56c8e74 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?J=C3=A9rome=20Perrin?= <jerome@nexedi.com>
Date: Fri, 30 Jul 2010 13:08:02 +0000
Subject: [PATCH 213/270] object_path must be taken from "here", not "context"

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@37382 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 .../portal_skins/erp5_xhtml_style/dialog_main.xml               | 2 +-
 product/ERP5/bootstrap/erp5_xhtml_style/bt/revision             | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/product/ERP5/bootstrap/erp5_xhtml_style/SkinTemplateItem/portal_skins/erp5_xhtml_style/dialog_main.xml b/product/ERP5/bootstrap/erp5_xhtml_style/SkinTemplateItem/portal_skins/erp5_xhtml_style/dialog_main.xml
index 9b254a56a9..9f8cd7792e 100644
--- a/product/ERP5/bootstrap/erp5_xhtml_style/SkinTemplateItem/portal_skins/erp5_xhtml_style/dialog_main.xml
+++ b/product/ERP5/bootstrap/erp5_xhtml_style/SkinTemplateItem/portal_skins/erp5_xhtml_style/dialog_main.xml
@@ -51,7 +51,7 @@
                global dialog_category request/dialog_category | nothing;\n
 \n
                local_parameter_list local_parameter_list | python: {};\n
-               dummy python: local_parameter_list.update({\'dialog_id\': dialog_id, \'dialog_method\': dialog_method, \'update_method\': update_action, \'dialog_category\': dialog_category, \'cancel_url\': request.get(\'cancel_url\'), \'form_id\': form_id, \'object_path\': request.get(\'object_path\', context.getPath())});\n
+               dummy python: local_parameter_list.update({\'dialog_id\': dialog_id, \'dialog_method\': dialog_method, \'update_method\': update_action, \'dialog_category\': dialog_category, \'cancel_url\': request.get(\'cancel_url\'), \'form_id\': form_id, \'object_path\': request.get(\'object_path\', here.getPath())});\n
                title python: here.Base_translateString(here.Base_getFormViewDialogActionButtonTitle(form))">\n
       <tal:block metal:use-macro="here/main_template/macros/master">\n
         <tal:block metal:fill-slot="main">\n
diff --git a/product/ERP5/bootstrap/erp5_xhtml_style/bt/revision b/product/ERP5/bootstrap/erp5_xhtml_style/bt/revision
index 25c83294f5..8f32b0ba57 100644
--- a/product/ERP5/bootstrap/erp5_xhtml_style/bt/revision
+++ b/product/ERP5/bootstrap/erp5_xhtml_style/bt/revision
@@ -1 +1 @@
-968
\ No newline at end of file
+969
\ No newline at end of file
-- 
2.30.9


From f2418548f16a0f99f7376be5eaaddb0ec9d7bda1 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?J=C3=A9rome=20Perrin?= <jerome@nexedi.com>
Date: Fri, 30 Jul 2010 13:09:08 +0000
Subject: [PATCH 214/270] add an action on Person and Organisation to have
 General Ledger for this third party

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@37383 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 .../Organisation/general_ledger_export.xml    | 109 +++++++
 .../Organisation/general_ledger_report.xml    | 105 ++++++
 .../Person/general_ledger_export.xml          | 109 +++++++
 .../Person/general_ledger_report.xml          | 105 ++++++
 ...dule_getGeneralLedgerReportSectionList.xml |  19 +-
 .../AccountModule_getGeneralLedgerSummary.xml |   8 +-
 ...ntModule_viewGeneralLedgerReportDialog.xml |   1 +
 .../your_mirror_section.xml                   | 299 ++++++++++++++++++
 bt5/erp5_accounting/bt/revision               |   2 +-
 .../bt/template_action_path_list              |   4 +
 10 files changed, 752 insertions(+), 9 deletions(-)
 create mode 100644 bt5/erp5_accounting/ActionTemplateItem/portal_types/Organisation/general_ledger_export.xml
 create mode 100644 bt5/erp5_accounting/ActionTemplateItem/portal_types/Organisation/general_ledger_report.xml
 create mode 100644 bt5/erp5_accounting/ActionTemplateItem/portal_types/Person/general_ledger_export.xml
 create mode 100644 bt5/erp5_accounting/ActionTemplateItem/portal_types/Person/general_ledger_report.xml
 create mode 100644 bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountModule_viewGeneralLedgerReportDialog/your_mirror_section.xml

diff --git a/bt5/erp5_accounting/ActionTemplateItem/portal_types/Organisation/general_ledger_export.xml b/bt5/erp5_accounting/ActionTemplateItem/portal_types/Organisation/general_ledger_export.xml
new file mode 100644
index 0000000000..027da7c2d9
--- /dev/null
+++ b/bt5/erp5_accounting/ActionTemplateItem/portal_types/Organisation/general_ledger_export.xml
@@ -0,0 +1,109 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="ActionInformation" module="Products.CMFCore.ActionInformation"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>action</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>categories</string> </key>
+            <value>
+              <tuple>
+                <string>action_type/object_exchange</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>category</string> </key>
+            <value> <string>object_exchange</string> </value>
+        </item>
+        <item>
+            <key> <string>condition</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>description</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>icon</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>general_ledger_export</string> </value>
+        </item>
+        <item>
+            <key> <string>permissions</string> </key>
+            <value>
+              <tuple>
+                <string>View</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>priority</string> </key>
+            <value> <float>2.0</float> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>General Ledger</string> </value>
+        </item>
+        <item>
+            <key> <string>visible</string> </key>
+            <value> <int>1</int> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="2" aka="AAAAAAAAAAI=">
+    <pickle>
+      <tuple>
+        <global name="Expression" module="Products.CMFCore.Expression"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>text</string> </key>
+            <value> <string encoding="cdata"><![CDATA[
+
+string:accounting_module/AccountModule_viewGeneralLedgerReportDialog?mirror_section=${object/getRelativeUrl}&your_portal_skin=ODS
+
+]]></string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="3" aka="AAAAAAAAAAM=">
+    <pickle>
+      <tuple>
+        <global name="Expression" module="Products.CMFCore.Expression"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>text</string> </key>
+            <value> <string>python:portal.Base_checkPermission(\'accounting_module\', \'View\')</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_accounting/ActionTemplateItem/portal_types/Organisation/general_ledger_report.xml b/bt5/erp5_accounting/ActionTemplateItem/portal_types/Organisation/general_ledger_report.xml
new file mode 100644
index 0000000000..9aa5f175e4
--- /dev/null
+++ b/bt5/erp5_accounting/ActionTemplateItem/portal_types/Organisation/general_ledger_report.xml
@@ -0,0 +1,105 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="ActionInformation" module="Products.CMFCore.ActionInformation"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>action</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>categories</string> </key>
+            <value>
+              <tuple>
+                <string>action_type/object_report</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>category</string> </key>
+            <value> <string>object_report</string> </value>
+        </item>
+        <item>
+            <key> <string>condition</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>description</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>icon</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>general_ledger_report</string> </value>
+        </item>
+        <item>
+            <key> <string>permissions</string> </key>
+            <value>
+              <tuple>
+                <string>View</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>priority</string> </key>
+            <value> <float>2.0</float> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>General Ledger</string> </value>
+        </item>
+        <item>
+            <key> <string>visible</string> </key>
+            <value> <int>1</int> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="2" aka="AAAAAAAAAAI=">
+    <pickle>
+      <tuple>
+        <global name="Expression" module="Products.CMFCore.Expression"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>text</string> </key>
+            <value> <string>string:accounting_module/AccountModule_viewGeneralLedgerReportDialog?mirror_section=${object/getRelativeUrl}</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="3" aka="AAAAAAAAAAM=">
+    <pickle>
+      <tuple>
+        <global name="Expression" module="Products.CMFCore.Expression"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>text</string> </key>
+            <value> <string>python:portal.Base_checkPermission(\'accounting_module\', \'View\')</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_accounting/ActionTemplateItem/portal_types/Person/general_ledger_export.xml b/bt5/erp5_accounting/ActionTemplateItem/portal_types/Person/general_ledger_export.xml
new file mode 100644
index 0000000000..027da7c2d9
--- /dev/null
+++ b/bt5/erp5_accounting/ActionTemplateItem/portal_types/Person/general_ledger_export.xml
@@ -0,0 +1,109 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="ActionInformation" module="Products.CMFCore.ActionInformation"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>action</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>categories</string> </key>
+            <value>
+              <tuple>
+                <string>action_type/object_exchange</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>category</string> </key>
+            <value> <string>object_exchange</string> </value>
+        </item>
+        <item>
+            <key> <string>condition</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>description</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>icon</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>general_ledger_export</string> </value>
+        </item>
+        <item>
+            <key> <string>permissions</string> </key>
+            <value>
+              <tuple>
+                <string>View</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>priority</string> </key>
+            <value> <float>2.0</float> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>General Ledger</string> </value>
+        </item>
+        <item>
+            <key> <string>visible</string> </key>
+            <value> <int>1</int> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="2" aka="AAAAAAAAAAI=">
+    <pickle>
+      <tuple>
+        <global name="Expression" module="Products.CMFCore.Expression"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>text</string> </key>
+            <value> <string encoding="cdata"><![CDATA[
+
+string:accounting_module/AccountModule_viewGeneralLedgerReportDialog?mirror_section=${object/getRelativeUrl}&your_portal_skin=ODS
+
+]]></string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="3" aka="AAAAAAAAAAM=">
+    <pickle>
+      <tuple>
+        <global name="Expression" module="Products.CMFCore.Expression"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>text</string> </key>
+            <value> <string>python:portal.Base_checkPermission(\'accounting_module\', \'View\')</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_accounting/ActionTemplateItem/portal_types/Person/general_ledger_report.xml b/bt5/erp5_accounting/ActionTemplateItem/portal_types/Person/general_ledger_report.xml
new file mode 100644
index 0000000000..9aa5f175e4
--- /dev/null
+++ b/bt5/erp5_accounting/ActionTemplateItem/portal_types/Person/general_ledger_report.xml
@@ -0,0 +1,105 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="ActionInformation" module="Products.CMFCore.ActionInformation"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>action</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>categories</string> </key>
+            <value>
+              <tuple>
+                <string>action_type/object_report</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>category</string> </key>
+            <value> <string>object_report</string> </value>
+        </item>
+        <item>
+            <key> <string>condition</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>description</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>icon</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>general_ledger_report</string> </value>
+        </item>
+        <item>
+            <key> <string>permissions</string> </key>
+            <value>
+              <tuple>
+                <string>View</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>priority</string> </key>
+            <value> <float>2.0</float> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>General Ledger</string> </value>
+        </item>
+        <item>
+            <key> <string>visible</string> </key>
+            <value> <int>1</int> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="2" aka="AAAAAAAAAAI=">
+    <pickle>
+      <tuple>
+        <global name="Expression" module="Products.CMFCore.Expression"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>text</string> </key>
+            <value> <string>string:accounting_module/AccountModule_viewGeneralLedgerReportDialog?mirror_section=${object/getRelativeUrl}</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="3" aka="AAAAAAAAAAM=">
+    <pickle>
+      <tuple>
+        <global name="Expression" module="Products.CMFCore.Expression"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>text</string> </key>
+            <value> <string>python:portal.Base_checkPermission(\'accounting_module\', \'View\')</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountModule_getGeneralLedgerReportSectionList.xml b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountModule_getGeneralLedgerReportSectionList.xml
index 1f1664cfa7..e3b3f523cf 100644
--- a/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountModule_getGeneralLedgerReportSectionList.xml
+++ b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountModule_getGeneralLedgerReportSectionList.xml
@@ -74,9 +74,11 @@ hide_analytic  = request[\'hide_analytic\']\n
 from_date           = request.get(\'from_date\', None)\n
 mirror_section_category_list = request.get(\'mirror_section_category_list\',\n
                                             None)\n
+mirror_section = request.get(\'mirror_section\', None)\n
+\n
 gap_list = []\n
 for gap in request.get(\'gap_list\', ()):\n
-  # XXX the field should maybe use base=1 on the category...\n
+  # XXX the field should maybe use base=1 on the category, but it is also used in other contexts\n
   gap_list.append(\'gap/%s\' % gap)\n
 \n
 display_categories  = request.get(\'display_categories\', False)\n
@@ -112,6 +114,9 @@ if function:\n
     params[\'function_uid\'] = Query(function_uid=None)\n
   else:\n
     params[\'function_uid\'] = portal.portal_categories.restrictedTraverse(function).getUid()\n
+if mirror_section:\n
+  mirror_section_uid = portal.restrictedTraverse(mirror_section).getUid()\n
+  params[\'mirror_section_uid\'] = mirror_section_uid\n
 \n
 default_selection_params = params.copy()\n
 \n
@@ -234,7 +239,7 @@ for inventory in portal.portal_simulation.getInventoryList(\n
   selection_params[\'at_date\'] = at_date\n
   selection_params[\'node_uid\'] = inventory.node_uid\n
   selection_params[\'payment_uid\'] = None\n
-  selection_params[\'mirror_section_uid\'] = None\n
+  selection_params.setdefault(\'mirror_section_uid\', None)\n
   report_section_list.append(\n
               ReportSection(\n
                       path=inventory.node_relative_url,\n
@@ -267,7 +272,7 @@ for inventory in portal.portal_simulation.getInventoryList(\n
   selection_params[\'at_date\'] = at_date\n
   selection_params[\'node_uid\'] = inventory.node_uid\n
   selection_params[\'payment_uid\'] = None\n
-  selection_params[\'mirror_section_uid\'] = None\n
+  selection_params.setdefault(\'mirror_section_uid\', None)\n
   report_section_list.append(\n
               ReportSection(\n
                       path=inventory.node_relative_url,\n
@@ -297,7 +302,7 @@ for inventory in portal.portal_simulation.getInventoryList(\n
   selection_params[\'period_start_date\'] = max(from_date, period_start_date)\n
   selection_params[\'node_uid\'] = inventory.node_uid\n
   selection_params[\'payment_uid\'] = None\n
-  selection_params[\'mirror_section_uid\'] = None\n
+  selection_params.setdefault(\'mirror_section_uid\', None)\n
   report_section_list.append(\n
               ReportSection(\n
                       path=inventory.node_relative_url,\n
@@ -394,7 +399,7 @@ for inventory in portal.portal_simulation.getInventoryList(\n
   selection_params[\'at_date\'] = at_date\n
   selection_params[\'node_uid\'] = inventory.node_uid\n
   selection_params[\'payment_uid\'] = inventory.payment_uid\n
-  selection_params[\'mirror_section_uid\'] = None\n
+  selection_params.setdefault(\'mirror_section_uid\', None)\n
   report_section_list.append(\n
               ReportSection(\n
                       path=inventory.node_relative_url,\n
@@ -427,7 +432,7 @@ for inventory in portal.portal_simulation.getInventoryList(\n
   selection_params[\'at_date\'] = at_date\n
   selection_params[\'node_uid\'] = inventory.node_uid\n
   selection_params[\'payment_uid\'] = inventory.payment_uid\n
-  selection_params[\'mirror_section_uid\'] = None\n
+  selection_params.setdefault(\'mirror_section_uid\', None)\n
   report_section_list.append(\n
               ReportSection(\n
                       path=inventory.node_relative_url,\n
@@ -508,6 +513,7 @@ return report_section_list\n
                             <string>None</string>
                             <string>from_date</string>
                             <string>mirror_section_category_list</string>
+                            <string>mirror_section</string>
                             <string>gap_list</string>
                             <string>_getiter_</string>
                             <string>gap</string>
@@ -523,6 +529,7 @@ return report_section_list\n
                             <string>params</string>
                             <string>project</string>
                             <string>function</string>
+                            <string>mirror_section_uid</string>
                             <string>default_selection_params</string>
                             <string>analytic_column_list</string>
                             <string>account_columns</string>
diff --git a/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountModule_getGeneralLedgerSummary.xml b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountModule_getGeneralLedgerSummary.xml
index eb736321b2..aa8b3c79ce 100644
--- a/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountModule_getGeneralLedgerSummary.xml
+++ b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountModule_getGeneralLedgerSummary.xml
@@ -67,6 +67,8 @@ if project_uid:\n
   inventory_kw[\'project_uid\'] = project_uid\n
 if mirror_section_category:\n
   inventory_kw[\'mirror_section_category\'] = mirror_section_category\n
+if mirror_section_uid:\n
+  inventory_kw[\'mirror_section_uid\'] = mirror_section_uid\n
 \n
 if node_category:\n
   # XXX if node category is passed, income or balance accounts are not\n
@@ -119,7 +121,7 @@ return [Object(debit_price=debit, credit_price=credit)]\n
         </item>
         <item>
             <key> <string>_params</string> </key>
-            <value> <string>section_uid, simulation_state, at_date, period_start_date, precision, node_category=None, function_uid=None, project_uid=None, from_date=\'ignored\', mirror_section_category=None, **kw</string> </value>
+            <value> <string>section_uid, simulation_state, at_date, period_start_date, precision, node_category=None, function_uid=None, project_uid=None, from_date=\'ignored\', mirror_section_category=None, mirror_section_uid=None, **kw</string> </value>
         </item>
         <item>
             <key> <string>errors</string> </key>
@@ -139,7 +141,7 @@ return [Object(debit_price=debit, credit_price=credit)]\n
                   <dictionary>
                     <item>
                         <key> <string>co_argcount</string> </key>
-                        <value> <int>10</int> </value>
+                        <value> <int>11</int> </value>
                     </item>
                     <item>
                         <key> <string>co_varnames</string> </key>
@@ -155,6 +157,7 @@ return [Object(debit_price=debit, credit_price=credit)]\n
                             <string>project_uid</string>
                             <string>from_date</string>
                             <string>mirror_section_category</string>
+                            <string>mirror_section_uid</string>
                             <string>kw</string>
                             <string>Products.PythonScripts.standard</string>
                             <string>Object</string>
@@ -187,6 +190,7 @@ return [Object(debit_price=debit, credit_price=credit)]\n
                 <none/>
                 <string>ignored</string>
                 <none/>
+                <none/>
               </tuple>
             </value>
         </item>
diff --git a/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountModule_viewGeneralLedgerReportDialog.xml b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountModule_viewGeneralLedgerReportDialog.xml
index 6ce4e2ebbc..0d193a2ea9 100644
--- a/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountModule_viewGeneralLedgerReportDialog.xml
+++ b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountModule_viewGeneralLedgerReportDialog.xml
@@ -94,6 +94,7 @@
                         <string>your_format</string>
                         <string>your_deferred_style</string>
                         <string>your_landscape</string>
+                        <string>your_mirror_section</string>
                       </list>
                     </value>
                 </item>
diff --git a/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountModule_viewGeneralLedgerReportDialog/your_mirror_section.xml b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountModule_viewGeneralLedgerReportDialog/your_mirror_section.xml
new file mode 100644
index 0000000000..07737f8fec
--- /dev/null
+++ b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountModule_viewGeneralLedgerReportDialog/your_mirror_section.xml
@@ -0,0 +1,299 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="StringField" module="Products.Formulator.StandardFields"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>your_mirror_section</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>
+                <item>
+                    <key> <string>required_not_found</string> </key>
+                    <value> <string>Input is required but no input given.</string> </value>
+                </item>
+                <item>
+                    <key> <string>too_long</string> </key>
+                    <value> <string>Too much input was given.</string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>overrides</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>alternate_name</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>css_class</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>default</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>description</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>display_maxwidth</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>display_width</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>editable</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>enabled</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>external_validator</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>extra</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>hidden</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>max_length</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>required</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>title</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>truncate</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>unicode</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>whitespace_preserve</string> </key>
+                    <value> <string></string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>tales</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>alternate_name</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>css_class</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <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>display_maxwidth</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>display_width</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>editable</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>enabled</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>external_validator</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>extra</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>hidden</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>max_length</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>required</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>title</string> </key>
+                    <value>
+                      <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>truncate</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>unicode</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>whitespace_preserve</string> </key>
+                    <value> <string></string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>values</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>alternate_name</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>css_class</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>default</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>description</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>display_maxwidth</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>display_width</string> </key>
+                    <value> <int>20</int> </value>
+                </item>
+                <item>
+                    <key> <string>editable</string> </key>
+                    <value> <int>1</int> </value>
+                </item>
+                <item>
+                    <key> <string>enabled</string> </key>
+                    <value> <int>1</int> </value>
+                </item>
+                <item>
+                    <key> <string>external_validator</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>extra</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>hidden</string> </key>
+                    <value> <int>1</int> </value>
+                </item>
+                <item>
+                    <key> <string>max_length</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>required</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+                <item>
+                    <key> <string>title</string> </key>
+                    <value> <string>(tales)</string> </value>
+                </item>
+                <item>
+                    <key> <string>truncate</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+                <item>
+                    <key> <string>unicode</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+                <item>
+                    <key> <string>whitespace_preserve</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+      </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>request/mirror_section | nothing</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="3" aka="AAAAAAAAAAM=">
+    <pickle>
+      <tuple>
+        <global name="TALESMethod" module="Products.Formulator.TALESField"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_text</string> </key>
+            <value> <string>string:</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_accounting/bt/revision b/bt5/erp5_accounting/bt/revision
index 9711409cbc..4db8f571c2 100644
--- a/bt5/erp5_accounting/bt/revision
+++ b/bt5/erp5_accounting/bt/revision
@@ -1 +1 @@
-1326
\ No newline at end of file
+1327
\ No newline at end of file
diff --git a/bt5/erp5_accounting/bt/template_action_path_list b/bt5/erp5_accounting/bt/template_action_path_list
index cc1ecb2a78..661f363f81 100644
--- a/bt5/erp5_accounting/bt/template_action_path_list
+++ b/bt5/erp5_accounting/bt/template_action_path_list
@@ -72,6 +72,8 @@ Internal Invoice Transaction | source_asset
 Internal Invoice Transaction | view
 Invoice Root Simulation Rule | view
 Invoice Rule | view
+Organisation | general_ledger_export
+Organisation | general_ledger_report
 Organisation | grouping_reference_fast_input
 Organisation | jump_active_accounting_pref
 Organisation | jump_to_accounting
@@ -93,6 +95,8 @@ Payment Transaction | profile_view_source
 Payment Transaction | related_invoice
 Payment Transaction | source_asset
 Payment Transaction | view
+Person | general_ledger_export
+Person | general_ledger_report
 Person | grouping_reference_fast_input
 Person | jump_to_accounting
 Person | transactions
-- 
2.30.9


From 60fc88101fac72791f497efc5db70c39ba9d8bad Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?J=C3=A9rome=20Perrin?= <jerome@nexedi.com>
Date: Fri, 30 Jul 2010 13:25:12 +0000
Subject: [PATCH 215/270] don't iterate in all actions, only object_view

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@37384 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 .../erp5_core/ERP5Site_getCurrentAction.xml   | 24 ++++++-------------
 product/ERP5/bootstrap/erp5_core/bt/revision  |  2 +-
 2 files changed, 8 insertions(+), 18 deletions(-)

diff --git a/product/ERP5/bootstrap/erp5_core/SkinTemplateItem/portal_skins/erp5_core/ERP5Site_getCurrentAction.xml b/product/ERP5/bootstrap/erp5_core/SkinTemplateItem/portal_skins/erp5_core/ERP5Site_getCurrentAction.xml
index 6776ed10c0..7c7deadfe6 100644
--- a/product/ERP5/bootstrap/erp5_core/SkinTemplateItem/portal_skins/erp5_core/ERP5Site_getCurrentAction.xml
+++ b/product/ERP5/bootstrap/erp5_core/SkinTemplateItem/portal_skins/erp5_core/ERP5Site_getCurrentAction.xml
@@ -53,20 +53,12 @@
         </item>
         <item>
             <key> <string>_body</string> </key>
-            <value> <string encoding="cdata"><![CDATA[
-
-# Return the current action to know which tab we should select\n
-# Christophe Dumez <christophe@nexedi.com>\n
+            <value> <string># Return the current action to know which tab is selected\n
 \n
-for action_list in actions.values():\n
-  for action in action_list:\n
-   if action[\'category\'] in (\'object_view\', \'object_button\') and \\\n
-       current_url == action[\'url\'].split(\'?\')[0]:\n
-     return action\n
-return None\n
-
-
-]]></string> </value>
+for action in actions[\'object_view\']:\n
+  if current_url == action[\'url\'].split(\'?\')[0]:\n
+    return action\n
+</string> </value>
         </item>
         <item>
             <key> <string>_code</string> </key>
@@ -105,11 +97,9 @@ return None\n
                             <string>current_url</string>
                             <string>actions</string>
                             <string>_getiter_</string>
-                            <string>_getattr_</string>
-                            <string>action_list</string>
-                            <string>action</string>
                             <string>_getitem_</string>
-                            <string>None</string>
+                            <string>action</string>
+                            <string>_getattr_</string>
                           </tuple>
                         </value>
                     </item>
diff --git a/product/ERP5/bootstrap/erp5_core/bt/revision b/product/ERP5/bootstrap/erp5_core/bt/revision
index dfac53b0c4..7fc5e9be95 100644
--- a/product/ERP5/bootstrap/erp5_core/bt/revision
+++ b/product/ERP5/bootstrap/erp5_core/bt/revision
@@ -1 +1 @@
-1641
\ No newline at end of file
+1642
\ No newline at end of file
-- 
2.30.9


From 740470c83e714cb8b7ecf104e6bfd0e92d364925 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?J=C3=A9rome=20Perrin?= <jerome@nexedi.com>
Date: Fri, 30 Jul 2010 14:19:51 +0000
Subject: [PATCH 216/270] Add Account Statement action on Person and Documents.
 It's no longer possible to select the third party in a drop down list when
 doing this report from accounting module, because using a drop down list is
 too limited.

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@37385 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 .../Organisation/account_statement_export.xml | 109 +++++++
 .../Organisation/account_statement_report.xml | 105 ++++++
 .../Organisation/general_ledger_export.xml    |   2 +-
 .../Organisation/general_ledger_report.xml    |   2 +-
 .../Person/account_statement_export.xml       | 109 +++++++
 .../Person/account_statement_report.xml       | 105 ++++++
 .../Person/general_ledger_export.xml          |   2 +-
 .../Person/general_ledger_report.xml          |   2 +-
 ...odule_viewAccountStatementReportDialog.xml |   2 +-
 .../your_mirror_section.xml                   |  86 +++--
 .../your_mirror_section.xml                   | 305 ++++++++++++++++++
 bt5/erp5_accounting/bt/revision               |   2 +-
 .../bt/template_action_path_list              |   4 +
 13 files changed, 785 insertions(+), 50 deletions(-)
 create mode 100644 bt5/erp5_accounting/ActionTemplateItem/portal_types/Organisation/account_statement_export.xml
 create mode 100644 bt5/erp5_accounting/ActionTemplateItem/portal_types/Organisation/account_statement_report.xml
 create mode 100644 bt5/erp5_accounting/ActionTemplateItem/portal_types/Person/account_statement_export.xml
 create mode 100644 bt5/erp5_accounting/ActionTemplateItem/portal_types/Person/account_statement_report.xml
 create mode 100644 bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountModule_viewGeneralLedgerReport/your_mirror_section.xml

diff --git a/bt5/erp5_accounting/ActionTemplateItem/portal_types/Organisation/account_statement_export.xml b/bt5/erp5_accounting/ActionTemplateItem/portal_types/Organisation/account_statement_export.xml
new file mode 100644
index 0000000000..bf6d4657cf
--- /dev/null
+++ b/bt5/erp5_accounting/ActionTemplateItem/portal_types/Organisation/account_statement_export.xml
@@ -0,0 +1,109 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="ActionInformation" module="Products.CMFCore.ActionInformation"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>action</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>categories</string> </key>
+            <value>
+              <tuple>
+                <string>action_type/object_exchange</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>category</string> </key>
+            <value> <string>object_exchange</string> </value>
+        </item>
+        <item>
+            <key> <string>condition</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>description</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>icon</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>account_statement_export</string> </value>
+        </item>
+        <item>
+            <key> <string>permissions</string> </key>
+            <value>
+              <tuple>
+                <string>View</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>priority</string> </key>
+            <value> <float>3.0</float> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>Account Statement</string> </value>
+        </item>
+        <item>
+            <key> <string>visible</string> </key>
+            <value> <int>1</int> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="2" aka="AAAAAAAAAAI=">
+    <pickle>
+      <tuple>
+        <global name="Expression" module="Products.CMFCore.Expression"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>text</string> </key>
+            <value> <string encoding="cdata"><![CDATA[
+
+string:${object_url}/accounting_module/AccountModule_viewAccountStatementReportDialog?mirror_section=${object/getRelativeUrl}&your_portal_skin=ODS&your_format=
+
+]]></string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="3" aka="AAAAAAAAAAM=">
+    <pickle>
+      <tuple>
+        <global name="Expression" module="Products.CMFCore.Expression"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>text</string> </key>
+            <value> <string>python:portal.Base_checkPermission(\'accounting_module\', \'View\')</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_accounting/ActionTemplateItem/portal_types/Organisation/account_statement_report.xml b/bt5/erp5_accounting/ActionTemplateItem/portal_types/Organisation/account_statement_report.xml
new file mode 100644
index 0000000000..cee8838aef
--- /dev/null
+++ b/bt5/erp5_accounting/ActionTemplateItem/portal_types/Organisation/account_statement_report.xml
@@ -0,0 +1,105 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="ActionInformation" module="Products.CMFCore.ActionInformation"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>action</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>categories</string> </key>
+            <value>
+              <tuple>
+                <string>action_type/object_report</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>category</string> </key>
+            <value> <string>object_report</string> </value>
+        </item>
+        <item>
+            <key> <string>condition</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>description</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>icon</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>account_statement_report</string> </value>
+        </item>
+        <item>
+            <key> <string>permissions</string> </key>
+            <value>
+              <tuple>
+                <string>View</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>priority</string> </key>
+            <value> <float>3.0</float> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>Account Statement</string> </value>
+        </item>
+        <item>
+            <key> <string>visible</string> </key>
+            <value> <int>1</int> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="2" aka="AAAAAAAAAAI=">
+    <pickle>
+      <tuple>
+        <global name="Expression" module="Products.CMFCore.Expression"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>text</string> </key>
+            <value> <string>string:${object_url}/accounting_module/AccountModule_viewAccountStatementReportDialog?mirror_section=${object/getRelativeUrl}</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="3" aka="AAAAAAAAAAM=">
+    <pickle>
+      <tuple>
+        <global name="Expression" module="Products.CMFCore.Expression"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>text</string> </key>
+            <value> <string>python:portal.Base_checkPermission(\'accounting_module\', \'View\')</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_accounting/ActionTemplateItem/portal_types/Organisation/general_ledger_export.xml b/bt5/erp5_accounting/ActionTemplateItem/portal_types/Organisation/general_ledger_export.xml
index 027da7c2d9..2c982f7a09 100644
--- a/bt5/erp5_accounting/ActionTemplateItem/portal_types/Organisation/general_ledger_export.xml
+++ b/bt5/erp5_accounting/ActionTemplateItem/portal_types/Organisation/general_ledger_export.xml
@@ -83,7 +83,7 @@
             <key> <string>text</string> </key>
             <value> <string encoding="cdata"><![CDATA[
 
-string:accounting_module/AccountModule_viewGeneralLedgerReportDialog?mirror_section=${object/getRelativeUrl}&your_portal_skin=ODS
+string:${object_url}/accounting_module/AccountModule_viewGeneralLedgerReportDialog?mirror_section=${object/getRelativeUrl}&your_portal_skin=ODS&your_format=
 
 ]]></string> </value>
         </item>
diff --git a/bt5/erp5_accounting/ActionTemplateItem/portal_types/Organisation/general_ledger_report.xml b/bt5/erp5_accounting/ActionTemplateItem/portal_types/Organisation/general_ledger_report.xml
index 9aa5f175e4..4e98b7a634 100644
--- a/bt5/erp5_accounting/ActionTemplateItem/portal_types/Organisation/general_ledger_report.xml
+++ b/bt5/erp5_accounting/ActionTemplateItem/portal_types/Organisation/general_ledger_report.xml
@@ -81,7 +81,7 @@
       <dictionary>
         <item>
             <key> <string>text</string> </key>
-            <value> <string>string:accounting_module/AccountModule_viewGeneralLedgerReportDialog?mirror_section=${object/getRelativeUrl}</string> </value>
+            <value> <string>string:${object_url}/accounting_module/AccountModule_viewGeneralLedgerReportDialog?mirror_section=${object/getRelativeUrl}</string> </value>
         </item>
       </dictionary>
     </pickle>
diff --git a/bt5/erp5_accounting/ActionTemplateItem/portal_types/Person/account_statement_export.xml b/bt5/erp5_accounting/ActionTemplateItem/portal_types/Person/account_statement_export.xml
new file mode 100644
index 0000000000..bf6d4657cf
--- /dev/null
+++ b/bt5/erp5_accounting/ActionTemplateItem/portal_types/Person/account_statement_export.xml
@@ -0,0 +1,109 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="ActionInformation" module="Products.CMFCore.ActionInformation"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>action</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>categories</string> </key>
+            <value>
+              <tuple>
+                <string>action_type/object_exchange</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>category</string> </key>
+            <value> <string>object_exchange</string> </value>
+        </item>
+        <item>
+            <key> <string>condition</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>description</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>icon</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>account_statement_export</string> </value>
+        </item>
+        <item>
+            <key> <string>permissions</string> </key>
+            <value>
+              <tuple>
+                <string>View</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>priority</string> </key>
+            <value> <float>3.0</float> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>Account Statement</string> </value>
+        </item>
+        <item>
+            <key> <string>visible</string> </key>
+            <value> <int>1</int> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="2" aka="AAAAAAAAAAI=">
+    <pickle>
+      <tuple>
+        <global name="Expression" module="Products.CMFCore.Expression"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>text</string> </key>
+            <value> <string encoding="cdata"><![CDATA[
+
+string:${object_url}/accounting_module/AccountModule_viewAccountStatementReportDialog?mirror_section=${object/getRelativeUrl}&your_portal_skin=ODS&your_format=
+
+]]></string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="3" aka="AAAAAAAAAAM=">
+    <pickle>
+      <tuple>
+        <global name="Expression" module="Products.CMFCore.Expression"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>text</string> </key>
+            <value> <string>python:portal.Base_checkPermission(\'accounting_module\', \'View\')</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_accounting/ActionTemplateItem/portal_types/Person/account_statement_report.xml b/bt5/erp5_accounting/ActionTemplateItem/portal_types/Person/account_statement_report.xml
new file mode 100644
index 0000000000..cee8838aef
--- /dev/null
+++ b/bt5/erp5_accounting/ActionTemplateItem/portal_types/Person/account_statement_report.xml
@@ -0,0 +1,105 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="ActionInformation" module="Products.CMFCore.ActionInformation"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>action</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>categories</string> </key>
+            <value>
+              <tuple>
+                <string>action_type/object_report</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>category</string> </key>
+            <value> <string>object_report</string> </value>
+        </item>
+        <item>
+            <key> <string>condition</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>description</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>icon</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>account_statement_report</string> </value>
+        </item>
+        <item>
+            <key> <string>permissions</string> </key>
+            <value>
+              <tuple>
+                <string>View</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>priority</string> </key>
+            <value> <float>3.0</float> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>Account Statement</string> </value>
+        </item>
+        <item>
+            <key> <string>visible</string> </key>
+            <value> <int>1</int> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="2" aka="AAAAAAAAAAI=">
+    <pickle>
+      <tuple>
+        <global name="Expression" module="Products.CMFCore.Expression"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>text</string> </key>
+            <value> <string>string:${object_url}/accounting_module/AccountModule_viewAccountStatementReportDialog?mirror_section=${object/getRelativeUrl}</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="3" aka="AAAAAAAAAAM=">
+    <pickle>
+      <tuple>
+        <global name="Expression" module="Products.CMFCore.Expression"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>text</string> </key>
+            <value> <string>python:portal.Base_checkPermission(\'accounting_module\', \'View\')</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_accounting/ActionTemplateItem/portal_types/Person/general_ledger_export.xml b/bt5/erp5_accounting/ActionTemplateItem/portal_types/Person/general_ledger_export.xml
index 027da7c2d9..2c982f7a09 100644
--- a/bt5/erp5_accounting/ActionTemplateItem/portal_types/Person/general_ledger_export.xml
+++ b/bt5/erp5_accounting/ActionTemplateItem/portal_types/Person/general_ledger_export.xml
@@ -83,7 +83,7 @@
             <key> <string>text</string> </key>
             <value> <string encoding="cdata"><![CDATA[
 
-string:accounting_module/AccountModule_viewGeneralLedgerReportDialog?mirror_section=${object/getRelativeUrl}&your_portal_skin=ODS
+string:${object_url}/accounting_module/AccountModule_viewGeneralLedgerReportDialog?mirror_section=${object/getRelativeUrl}&your_portal_skin=ODS&your_format=
 
 ]]></string> </value>
         </item>
diff --git a/bt5/erp5_accounting/ActionTemplateItem/portal_types/Person/general_ledger_report.xml b/bt5/erp5_accounting/ActionTemplateItem/portal_types/Person/general_ledger_report.xml
index 9aa5f175e4..4e98b7a634 100644
--- a/bt5/erp5_accounting/ActionTemplateItem/portal_types/Person/general_ledger_report.xml
+++ b/bt5/erp5_accounting/ActionTemplateItem/portal_types/Person/general_ledger_report.xml
@@ -81,7 +81,7 @@
       <dictionary>
         <item>
             <key> <string>text</string> </key>
-            <value> <string>string:accounting_module/AccountModule_viewGeneralLedgerReportDialog?mirror_section=${object/getRelativeUrl}</string> </value>
+            <value> <string>string:${object_url}/accounting_module/AccountModule_viewGeneralLedgerReportDialog?mirror_section=${object/getRelativeUrl}</string> </value>
         </item>
       </dictionary>
     </pickle>
diff --git a/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountModule_viewAccountStatementReportDialog.xml b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountModule_viewAccountStatementReportDialog.xml
index e535498758..f536ecfe62 100644
--- a/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountModule_viewAccountStatementReportDialog.xml
+++ b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountModule_viewAccountStatementReportDialog.xml
@@ -78,7 +78,6 @@
                     <value>
                       <list>
                         <string>your_node</string>
-                        <string>your_mirror_section</string>
                         <string>your_payment</string>
                       </list>
                     </value>
@@ -105,6 +104,7 @@
                         <string>your_portal_skin</string>
                         <string>your_format</string>
                         <string>your_deferred_style</string>
+                        <string>your_mirror_section</string>
                       </list>
                     </value>
                 </item>
diff --git a/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountModule_viewAccountStatementReportDialog/your_mirror_section.xml b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountModule_viewAccountStatementReportDialog/your_mirror_section.xml
index 9962eafeff..07737f8fec 100644
--- a/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountModule_viewAccountStatementReportDialog/your_mirror_section.xml
+++ b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountModule_viewAccountStatementReportDialog/your_mirror_section.xml
@@ -3,7 +3,7 @@
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
       <tuple>
-        <global name="ListField" module="Products.Formulator.StandardFields"/>
+        <global name="StringField" module="Products.Formulator.StandardFields"/>
         <tuple/>
       </tuple>
     </pickle>
@@ -26,8 +26,8 @@
                     <value> <string>Input is required but no input given.</string> </value>
                 </item>
                 <item>
-                    <key> <string>unknown_selection</string> </key>
-                    <value> <string>You selected an item that was not in the list.</string> </value>
+                    <key> <string>too_long</string> </key>
+                    <value> <string>Too much input was given.</string> </value>
                 </item>
               </dictionary>
             </value>
@@ -53,27 +53,27 @@
                     <value> <string></string> </value>
                 </item>
                 <item>
-                    <key> <string>editable</string> </key>
+                    <key> <string>display_maxwidth</string> </key>
                     <value> <string></string> </value>
                 </item>
                 <item>
-                    <key> <string>enabled</string> </key>
+                    <key> <string>display_width</string> </key>
                     <value> <string></string> </value>
                 </item>
                 <item>
-                    <key> <string>external_validator</string> </key>
+                    <key> <string>editable</string> </key>
                     <value> <string></string> </value>
                 </item>
                 <item>
-                    <key> <string>extra</string> </key>
+                    <key> <string>enabled</string> </key>
                     <value> <string></string> </value>
                 </item>
                 <item>
-                    <key> <string>extra_item</string> </key>
+                    <key> <string>external_validator</string> </key>
                     <value> <string></string> </value>
                 </item>
                 <item>
-                    <key> <string>first_item</string> </key>
+                    <key> <string>extra</string> </key>
                     <value> <string></string> </value>
                 </item>
                 <item>
@@ -81,7 +81,7 @@
                     <value> <string></string> </value>
                 </item>
                 <item>
-                    <key> <string>items</string> </key>
+                    <key> <string>max_length</string> </key>
                     <value> <string></string> </value>
                 </item>
                 <item>
@@ -89,11 +89,11 @@
                     <value> <string></string> </value>
                 </item>
                 <item>
-                    <key> <string>size</string> </key>
+                    <key> <string>title</string> </key>
                     <value> <string></string> </value>
                 </item>
                 <item>
-                    <key> <string>title</string> </key>
+                    <key> <string>truncate</string> </key>
                     <value> <string></string> </value>
                 </item>
                 <item>
@@ -130,27 +130,27 @@
                     <value> <string></string> </value>
                 </item>
                 <item>
-                    <key> <string>editable</string> </key>
+                    <key> <string>display_maxwidth</string> </key>
                     <value> <string></string> </value>
                 </item>
                 <item>
-                    <key> <string>enabled</string> </key>
+                    <key> <string>display_width</string> </key>
                     <value> <string></string> </value>
                 </item>
                 <item>
-                    <key> <string>external_validator</string> </key>
+                    <key> <string>editable</string> </key>
                     <value> <string></string> </value>
                 </item>
                 <item>
-                    <key> <string>extra</string> </key>
+                    <key> <string>enabled</string> </key>
                     <value> <string></string> </value>
                 </item>
                 <item>
-                    <key> <string>extra_item</string> </key>
+                    <key> <string>external_validator</string> </key>
                     <value> <string></string> </value>
                 </item>
                 <item>
-                    <key> <string>first_item</string> </key>
+                    <key> <string>extra</string> </key>
                     <value> <string></string> </value>
                 </item>
                 <item>
@@ -158,21 +158,21 @@
                     <value> <string></string> </value>
                 </item>
                 <item>
-                    <key> <string>items</string> </key>
-                    <value>
-                      <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
-                    </value>
+                    <key> <string>max_length</string> </key>
+                    <value> <string></string> </value>
                 </item>
                 <item>
                     <key> <string>required</string> </key>
                     <value> <string></string> </value>
                 </item>
                 <item>
-                    <key> <string>size</string> </key>
-                    <value> <string></string> </value>
+                    <key> <string>title</string> </key>
+                    <value>
+                      <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
+                    </value>
                 </item>
                 <item>
-                    <key> <string>title</string> </key>
+                    <key> <string>truncate</string> </key>
                     <value> <string></string> </value>
                 </item>
                 <item>
@@ -206,6 +206,14 @@
                     <key> <string>description</string> </key>
                     <value> <string></string> </value>
                 </item>
+                <item>
+                    <key> <string>display_maxwidth</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>display_width</string> </key>
+                    <value> <int>20</int> </value>
+                </item>
                 <item>
                     <key> <string>editable</string> </key>
                     <value> <int>1</int> </value>
@@ -222,35 +230,25 @@
                     <key> <string>extra</string> </key>
                     <value> <string></string> </value>
                 </item>
-                <item>
-                    <key> <string>extra_item</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>first_item</string> </key>
-                    <value> <int>0</int> </value>
-                </item>
                 <item>
                     <key> <string>hidden</string> </key>
-                    <value> <int>0</int> </value>
+                    <value> <int>1</int> </value>
                 </item>
                 <item>
-                    <key> <string>items</string> </key>
-                    <value>
-                      <list/>
-                    </value>
+                    <key> <string>max_length</string> </key>
+                    <value> <string></string> </value>
                 </item>
                 <item>
                     <key> <string>required</string> </key>
                     <value> <int>0</int> </value>
                 </item>
                 <item>
-                    <key> <string>size</string> </key>
-                    <value> <int>1</int> </value>
+                    <key> <string>title</string> </key>
+                    <value> <string>(tales)</string> </value>
                 </item>
                 <item>
-                    <key> <string>title</string> </key>
-                    <value> <string>Third Party</string> </value>
+                    <key> <string>truncate</string> </key>
+                    <value> <int>0</int> </value>
                 </item>
                 <item>
                     <key> <string>unicode</string> </key>
@@ -277,7 +275,7 @@
       <dictionary>
         <item>
             <key> <string>_text</string> </key>
-            <value> <string>python:request.get(\'destination_section\', \'\')</string> </value>
+            <value> <string>request/mirror_section | nothing</string> </value>
         </item>
       </dictionary>
     </pickle>
@@ -293,7 +291,7 @@
       <dictionary>
         <item>
             <key> <string>_text</string> </key>
-            <value> <string>python:here.Account_getDestinationSectionItemList(account=request.get(\'your_node\', \'\'), section_category=request.get(\'your_section_category\', preferences.getPreferredAccountingTransactionSectionCategory()), section_category_strict_membership=request.get(\'your_section_category_strict\'))</string> </value>
+            <value> <string>string:</string> </value>
         </item>
       </dictionary>
     </pickle>
diff --git a/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountModule_viewGeneralLedgerReport/your_mirror_section.xml b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountModule_viewGeneralLedgerReport/your_mirror_section.xml
new file mode 100644
index 0000000000..a9bc6638d8
--- /dev/null
+++ b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountModule_viewGeneralLedgerReport/your_mirror_section.xml
@@ -0,0 +1,305 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="StringField" module="Products.Formulator.StandardFields"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>your_mirror_section</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>
+                <item>
+                    <key> <string>required_not_found</string> </key>
+                    <value> <string>Input is required but no input given.</string> </value>
+                </item>
+                <item>
+                    <key> <string>too_long</string> </key>
+                    <value> <string>Too much input was given.</string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>overrides</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>alternate_name</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>css_class</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>default</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>description</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>display_maxwidth</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>display_width</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>editable</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>enabled</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>external_validator</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>extra</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>hidden</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>max_length</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>required</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>title</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>truncate</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>unicode</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>whitespace_preserve</string> </key>
+                    <value> <string></string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>tales</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>alternate_name</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>css_class</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <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>display_maxwidth</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>display_width</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>editable</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>enabled</string> </key>
+                    <value>
+                      <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>external_validator</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>extra</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>hidden</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>max_length</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>required</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>title</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>truncate</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>unicode</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>whitespace_preserve</string> </key>
+                    <value> <string></string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>values</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>alternate_name</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>css_class</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>default</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>description</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>display_maxwidth</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>display_width</string> </key>
+                    <value> <int>20</int> </value>
+                </item>
+                <item>
+                    <key> <string>editable</string> </key>
+                    <value> <int>1</int> </value>
+                </item>
+                <item>
+                    <key> <string>enabled</string> </key>
+                    <value> <int>1</int> </value>
+                </item>
+                <item>
+                    <key> <string>external_validator</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>extra</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>hidden</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+                <item>
+                    <key> <string>max_length</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>required</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+                <item>
+                    <key> <string>title</string> </key>
+                    <value> <string>Third Party</string> </value>
+                </item>
+                <item>
+                    <key> <string>truncate</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+                <item>
+                    <key> <string>unicode</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+                <item>
+                    <key> <string>whitespace_preserve</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="2" aka="AAAAAAAAAAI=">
+    <pickle>
+      <tuple>
+        <tuple>
+          <string>Products.Formulator.TALESField</string>
+          <string>TALESMethod</string>
+        </tuple>
+        <none/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_text</string> </key>
+            <value> <string>python: here.restrictedTraverse(request.get(\'mirror_section\', \'\')).getTitle()</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="3" aka="AAAAAAAAAAM=">
+    <pickle>
+      <tuple>
+        <tuple>
+          <string>Products.Formulator.TALESField</string>
+          <string>TALESMethod</string>
+        </tuple>
+        <none/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_text</string> </key>
+            <value> <string>request/mirror_section | nothing</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_accounting/bt/revision b/bt5/erp5_accounting/bt/revision
index 4db8f571c2..0ef1886d20 100644
--- a/bt5/erp5_accounting/bt/revision
+++ b/bt5/erp5_accounting/bt/revision
@@ -1 +1 @@
-1327
\ No newline at end of file
+1330
\ No newline at end of file
diff --git a/bt5/erp5_accounting/bt/template_action_path_list b/bt5/erp5_accounting/bt/template_action_path_list
index 661f363f81..ab82397ff2 100644
--- a/bt5/erp5_accounting/bt/template_action_path_list
+++ b/bt5/erp5_accounting/bt/template_action_path_list
@@ -72,6 +72,8 @@ Internal Invoice Transaction | source_asset
 Internal Invoice Transaction | view
 Invoice Root Simulation Rule | view
 Invoice Rule | view
+Organisation | account_statement_export
+Organisation | account_statement_report
 Organisation | general_ledger_export
 Organisation | general_ledger_report
 Organisation | grouping_reference_fast_input
@@ -95,6 +97,8 @@ Payment Transaction | profile_view_source
 Payment Transaction | related_invoice
 Payment Transaction | source_asset
 Payment Transaction | view
+Person | account_statement_export
+Person | account_statement_report
 Person | general_ledger_export
 Person | general_ledger_report
 Person | grouping_reference_fast_input
-- 
2.30.9


From 5b8b95548ba8031fcebfb02e2c5b2244e501eb34 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C5=81ukasz=20Nowak?= <luke@nexedi.com>
Date: Sat, 31 Jul 2010 17:10:19 +0000
Subject: [PATCH 217/270]  - create profile to install python2.7

Note: Unfortunately current way of compiling python is not compatible
with python versions without minor suffix, so this profile does not use
common parts of python compilation. This is minor issue, which shall be
fixed in future.


git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@37387 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 buildout/software-profiles/python-2.7.cfg | 29 +++++++++++++++++++++++
 1 file changed, 29 insertions(+)
 create mode 100644 buildout/software-profiles/python-2.7.cfg

diff --git a/buildout/software-profiles/python-2.7.cfg b/buildout/software-profiles/python-2.7.cfg
new file mode 100644
index 0000000000..88036af644
--- /dev/null
+++ b/buildout/software-profiles/python-2.7.cfg
@@ -0,0 +1,29 @@
+[buildout]
+parts =
+    python2.7
+
+[python2.7]
+# This is actually the default setting for prefix, but we can't use it in
+# other settings in this part if we don't set it explicitly here.
+prefix = ${buildout:parts-directory}/${:_buildout_section_name_}
+version = 2.7
+executable = ${:prefix}/bin/python${:version}
+
+recipe = hexagonit.recipe.cmmi
+python_version_full = ${:python_version_major}
+url =
+  http://python.org/ftp/python/2.7/Python-2.7.tgz
+md5sum = 35f56b092ecf39a6bd59d64f142aae0f
+configure-options =
+  --enable-unicode=ucs4
+  --with-threads
+
+python_version_major = 2.7
+
+[bootstrap2.7]
+recipe = zc.recipe.egg
+eggs = zc.buildout
+python = python2.7
+scripts =
+    buildout=bootstrap2.7
+arguments = ["bootstrap"]
-- 
2.30.9


From 9eee8647eb80028073910dbdf5697e6ded9ba24c Mon Sep 17 00:00:00 2001
From: Rafael Monnerat <rafael@nexedi.com>
Date: Sat, 31 Jul 2010 19:13:56 +0000
Subject: [PATCH 218/270] When mysq_host is 0.0.0.0 it broken the site
 creation, because instance cannot connect on mysql (due user@localhost
 connection). This commit fixes tutorial.

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@37388 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 buildout/profiles/development.cfg | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/buildout/profiles/development.cfg b/buildout/profiles/development.cfg
index 1ebf23e85c..56b090964b 100644
--- a/buildout/profiles/development.cfg
+++ b/buildout/profiles/development.cfg
@@ -20,6 +20,8 @@ development_site_products =
   ${software_definition:products-cmf15}
 
 development_site_instancehome = ${buildout:var-directory}/development-site
+# Use 0.0.0.0 makes site get broken.
+mysql_host = 127.0.0.1
 
 [runUnitTest]
 <= test-runner-template
-- 
2.30.9


From 7188e1e3606fef277a5239546cdb05371ace4a0b Mon Sep 17 00:00:00 2001
From: Rafael Monnerat <rafael@nexedi.com>
Date: Sat, 31 Jul 2010 19:16:42 +0000
Subject: [PATCH 219/270] Revert 37325 until published eggs got fixed.

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@37389 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 buildout/software-profiles/python-2.4.cfg | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/buildout/software-profiles/python-2.4.cfg b/buildout/software-profiles/python-2.4.cfg
index 0a6c3a098a..4e7207f2f7 100644
--- a/buildout/software-profiles/python-2.4.cfg
+++ b/buildout/software-profiles/python-2.4.cfg
@@ -3,6 +3,8 @@ extends = ../software-profiles/python-common.cfg
 parts =
     pythonbin2.4
 
+develop += local-eggs/localbin
+
 [python2.4-dbm-patch]
 recipe = hexagonit.recipe.download
 # original patch from http://bugs.gentoo.org/attachment.cgi?id=109117
-- 
2.30.9


From 99190845baeec6197cfc743a18a8922c24d75d08 Mon Sep 17 00:00:00 2001
From: Rafael Monnerat <rafael@nexedi.com>
Date: Mon, 2 Aug 2010 01:00:46 +0000
Subject: [PATCH 220/270] Apache 2.2.15 is not available anymore, use 2.2.16
 instead

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@37390 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 buildout/software-profiles/apache.cfg | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/buildout/software-profiles/apache.cfg b/buildout/software-profiles/apache.cfg
index acef5a9999..5c22a9ebb9 100644
--- a/buildout/software-profiles/apache.cfg
+++ b/buildout/software-profiles/apache.cfg
@@ -4,8 +4,8 @@ parts = apache
 [apache]
 # inspired on http://old.aclark.net/team/aclark/blog/a-lamp-buildout-for-wordpress-and-other-php-apps/
 recipe = hexagonit.recipe.cmmi
-url = http://apache.multidist.com/httpd/httpd-2.2.15.tar.gz
-md5sum = 31fa022dc3c0908c6eaafe73c81c65df
+url = http://apache.multidist.com/httpd/httpd-2.2.16.tar.gz
+md5sum = 7f33f2c8b213ad758c009ae46d2795ed
 configure-options = --enable-authn-alias
                     --enable-bucketeer
                     --enable-cache
-- 
2.30.9


From b5c7ce5ce9304c673af571f29f6d4bce7e0cbbd4 Mon Sep 17 00:00:00 2001
From: Yoshinori Okuji <yo@nexedi.com>
Date: Mon, 2 Aug 2010 05:10:58 +0000
Subject: [PATCH 221/270] Re-connect if _v_database_connection disappears in
 sql_quote__.

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@37392 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 product/ZMySQLDA/DA.py | 12 +++++++++++-
 1 file changed, 11 insertions(+), 1 deletion(-)

diff --git a/product/ZMySQLDA/DA.py b/product/ZMySQLDA/DA.py
index 615545a3cf..95079ceb52 100644
--- a/product/ZMySQLDA/DA.py
+++ b/product/ZMySQLDA/DA.py
@@ -155,7 +155,17 @@ class Connection(DABase.Connection):
       return self
 
     def sql_quote__(self, v, escapes={}):
-        return self._v_database_connection.string_literal(v)
+        try:
+            connection = self._v_database_connection
+        except AttributeError:
+            # The volatile attribute sometimes disappears.
+            # In this case, re-assign it by calling the connect method.
+            # Note that we don't call sql_quote__ recursively by intention,
+            # because if connect fails to assign the volatile attribute for
+            # any reason, that would generate an infinite loop.
+            self.connect(self.connection_string)
+            connection = self._v_database_connection
+        return connection.string_literal(v)
 
 
 classes=('DA.Connection',)
-- 
2.30.9


From e350822564325c80ce7315237ac003978d2b434d Mon Sep 17 00:00:00 2001
From: Yoshinori Okuji <yo@nexedi.com>
Date: Mon, 2 Aug 2010 09:04:02 +0000
Subject: [PATCH 222/270] Fix the comparison method. With the previous one, a
 mirror mapping was always applied, which is simply useless.

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@37393 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 product/ERP5/Document/MirrorMovementGroup.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/product/ERP5/Document/MirrorMovementGroup.py b/product/ERP5/Document/MirrorMovementGroup.py
index 21bd85f791..50003b80f9 100644
--- a/product/ERP5/Document/MirrorMovementGroup.py
+++ b/product/ERP5/Document/MirrorMovementGroup.py
@@ -71,4 +71,4 @@ def _isMirrored(document):
   # reverse or not by just comparing its source_section's id and
   # destination_section's id, whose result should be consistent for each
   # document.
-  return document.getDestinationSectionId() <> document.getSourceSectionId()
+  return document.getDestinationSectionId() > document.getSourceSectionId()
-- 
2.30.9


From 858f9c99d78386980288529404c791f364265231 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?J=C3=A9rome=20Perrin?= <jerome@nexedi.com>
Date: Mon, 2 Aug 2010 10:07:48 +0000
Subject: [PATCH 223/270] support importing id

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@37395 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 .../Base_getModulePortalTypeDefaultProperty.xml          | 2 +-
 .../Base_getModulePortalTypeSortedPropertyList.xml       | 2 +-
 .../erp5_ooo_import/Base_importFileLineDefaultScript.xml | 9 ++++-----
 bt5/erp5_ooo_import/bt/revision                          | 2 +-
 .../bt/template_registered_skin_selection_list           | 0
 5 files changed, 7 insertions(+), 8 deletions(-)
 create mode 100644 bt5/erp5_ooo_import/bt/template_registered_skin_selection_list

diff --git a/bt5/erp5_ooo_import/SkinTemplateItem/portal_skins/erp5_ooo_import/Base_getModulePortalTypeDefaultProperty.xml b/bt5/erp5_ooo_import/SkinTemplateItem/portal_skins/erp5_ooo_import/Base_getModulePortalTypeDefaultProperty.xml
index 469562db81..076be3be66 100644
--- a/bt5/erp5_ooo_import/SkinTemplateItem/portal_skins/erp5_ooo_import/Base_getModulePortalTypeDefaultProperty.xml
+++ b/bt5/erp5_ooo_import/SkinTemplateItem/portal_skins/erp5_ooo_import/Base_getModulePortalTypeDefaultProperty.xml
@@ -55,7 +55,7 @@
             <key> <string>_body</string> </key>
             <value> <string encoding="cdata"><![CDATA[
 
-forbidden_property = (\'uid\', \'id\', \'portal_type\',)\n
+forbidden_property = (\'uid\', \'portal_type\',)\n
 match_property_list = []\n
 \n
 \n
diff --git a/bt5/erp5_ooo_import/SkinTemplateItem/portal_skins/erp5_ooo_import/Base_getModulePortalTypeSortedPropertyList.xml b/bt5/erp5_ooo_import/SkinTemplateItem/portal_skins/erp5_ooo_import/Base_getModulePortalTypeSortedPropertyList.xml
index ab8a101189..ff15cff304 100644
--- a/bt5/erp5_ooo_import/SkinTemplateItem/portal_skins/erp5_ooo_import/Base_getModulePortalTypeSortedPropertyList.xml
+++ b/bt5/erp5_ooo_import/SkinTemplateItem/portal_skins/erp5_ooo_import/Base_getModulePortalTypeSortedPropertyList.xml
@@ -55,7 +55,7 @@
             <key> <string>_body</string> </key>
             <value> <string>module = context\n
 \n
-forbidden_property = [\'uid\', \'id\', \'portal_type\']\n
+forbidden_property = [\'uid\', \'portal_type\']\n
 property_list = []\n
 \n
 for portal_type in module.allowedContentTypes():\n
diff --git a/bt5/erp5_ooo_import/SkinTemplateItem/portal_skins/erp5_ooo_import/Base_importFileLineDefaultScript.xml b/bt5/erp5_ooo_import/SkinTemplateItem/portal_skins/erp5_ooo_import/Base_importFileLineDefaultScript.xml
index 3626cd749b..84f7be557d 100644
--- a/bt5/erp5_ooo_import/SkinTemplateItem/portal_skins/erp5_ooo_import/Base_importFileLineDefaultScript.xml
+++ b/bt5/erp5_ooo_import/SkinTemplateItem/portal_skins/erp5_ooo_import/Base_importFileLineDefaultScript.xml
@@ -101,18 +101,17 @@ else:\n
   # Get portal type objects\n
   base_category_list = portal_type_object.getInstanceBaseCategoryList()\n
   \n
-  # Create the object\n
-  new_object = container.newContent(portal_type=portal_type)\n
-\n
   # Separate categories from properties\n
   imported_line_category_dict = {}\n
   for prop_key in imported_line_property_dict.keys():\n
     if prop_key in base_category_list:\n
       imported_line_category_dict[prop_key] = imported_line_property_dict.pop(prop_key)\n
 \n
+  new_object = None\n
   # Save properties on object\n
   try:\n
-    new_object.edit(**imported_line_property_dict)\n
+    new_object = container.newContent(portal_type=portal_type,\n
+                                      **imported_line_property_dict)\n
   except ConflictError:\n
     raise\n
   except Exception, error:\n
@@ -239,10 +238,10 @@ else:\n
                             <string>dict</string>
                             <string>translated_msg</string>
                             <string>base_category_list</string>
-                            <string>new_object</string>
                             <string>imported_line_category_dict</string>
                             <string>prop_key</string>
                             <string>_write_</string>
+                            <string>new_object</string>
                             <string>_apply_</string>
                             <string>Exception</string>
                             <string>error</string>
diff --git a/bt5/erp5_ooo_import/bt/revision b/bt5/erp5_ooo_import/bt/revision
index 57db2e9786..5587802b4e 100644
--- a/bt5/erp5_ooo_import/bt/revision
+++ b/bt5/erp5_ooo_import/bt/revision
@@ -1 +1 @@
-404
\ No newline at end of file
+405
\ No newline at end of file
diff --git a/bt5/erp5_ooo_import/bt/template_registered_skin_selection_list b/bt5/erp5_ooo_import/bt/template_registered_skin_selection_list
new file mode 100644
index 0000000000..e69de29bb2
-- 
2.30.9


From 2866d9adb78e5c934ff3eefb6e5d1562b3377239 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?J=C3=A9rome=20Perrin?= <jerome@nexedi.com>
Date: Mon, 2 Aug 2010 11:08:30 +0000
Subject: [PATCH 224/270] erp5_xhtml_appearance.js depends on MochiKit, so it
 should be listed after

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@37396 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 .../portal_skins/erp5_xhtml_style/global_definitions.xml      | 4 ++--
 .../portal_skins/erp5_xhtml_style/planning_coordinates.xml    | 4 ----
 product/ERP5/bootstrap/erp5_xhtml_style/bt/revision           | 2 +-
 3 files changed, 3 insertions(+), 7 deletions(-)

diff --git a/product/ERP5/bootstrap/erp5_xhtml_style/SkinTemplateItem/portal_skins/erp5_xhtml_style/global_definitions.xml b/product/ERP5/bootstrap/erp5_xhtml_style/SkinTemplateItem/portal_skins/erp5_xhtml_style/global_definitions.xml
index a39b8ae647..afa8a5b37d 100644
--- a/product/ERP5/bootstrap/erp5_xhtml_style/SkinTemplateItem/portal_skins/erp5_xhtml_style/global_definitions.xml
+++ b/product/ERP5/bootstrap/erp5_xhtml_style/SkinTemplateItem/portal_skins/erp5_xhtml_style/global_definitions.xml
@@ -63,8 +63,8 @@
            dummy       python:css_list.extend([\'%s/%s\' % (portal_path, x) for x in portal.ERP5Site_getCssRelativeUrlList()]);\n
            css_list_template css_list_template | python:[\'%s/erp5.css\' % (portal_path,)];\n
            dummy     python:css_list.extend(css_list_template);\n
-           global js_list   js_list | python:[\'%s/erp5_xhtml_appearance.js\' % (portal_path,)];\n
-           dummy     python:js_list.extend([\'%s/%s\' % (portal_path, x) for x in portal.ERP5Site_getJavaScriptRelativeUrlList()]);\n
+           global js_list   js_list | python:[];\n
+           dummy     python:js_list.extend([\'%s/%s\' % (portal_path, x) for x in portal.ERP5Site_getJavaScriptRelativeUrlList() + (\'erp5_xhtml_appearance.js\',)]);\n
            global http_parameter_list  python: portal.ERP5Site_filterParameterList(request.form);\n
            dummy                python: http_parameter_list.update(local_parameter_list);\n
            global http_parameters      python: portal.ERP5Site_renderHTTPParameterList(http_parameter_list);\n
diff --git a/product/ERP5/bootstrap/erp5_xhtml_style/SkinTemplateItem/portal_skins/erp5_xhtml_style/planning_coordinates.xml b/product/ERP5/bootstrap/erp5_xhtml_style/SkinTemplateItem/portal_skins/erp5_xhtml_style/planning_coordinates.xml
index f0814b5b26..18632d6a19 100644
--- a/product/ERP5/bootstrap/erp5_xhtml_style/SkinTemplateItem/portal_skins/erp5_xhtml_style/planning_coordinates.xml
+++ b/product/ERP5/bootstrap/erp5_xhtml_style/SkinTemplateItem/portal_skins/erp5_xhtml_style/planning_coordinates.xml
@@ -854,10 +854,6 @@ return properties_structure\n
             <key> <string>id</string> </key>
             <value> <string>planning_coordinates</string> </value>
         </item>
-        <item>
-            <key> <string>isIndexable</string> </key>
-            <value> <int>0</int> </value>
-        </item>
         <item>
             <key> <string>warnings</string> </key>
             <value>
diff --git a/product/ERP5/bootstrap/erp5_xhtml_style/bt/revision b/product/ERP5/bootstrap/erp5_xhtml_style/bt/revision
index 8f32b0ba57..7ada46f0a2 100644
--- a/product/ERP5/bootstrap/erp5_xhtml_style/bt/revision
+++ b/product/ERP5/bootstrap/erp5_xhtml_style/bt/revision
@@ -1 +1 @@
-969
\ No newline at end of file
+970
\ No newline at end of file
-- 
2.30.9


From b63860249f8a50b04fda73fae1d04d1fbbcc03a2 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Aur=C3=A9lien=20Calonne?= <aurel@nexedi.com>
Date: Mon, 2 Aug 2010 11:36:19 +0000
Subject: [PATCH 225/270] add a new property on catalog so that developer can
 decide if he wants to have error raised on UID check or not

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@37397 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 product/ZSQLCatalog/SQLCatalog.py | 30 +++++++++++++++++++++++-------
 1 file changed, 23 insertions(+), 7 deletions(-)

diff --git a/product/ZSQLCatalog/SQLCatalog.py b/product/ZSQLCatalog/SQLCatalog.py
index f7fe966559..5ae254830c 100644
--- a/product/ZSQLCatalog/SQLCatalog.py
+++ b/product/ZSQLCatalog/SQLCatalog.py
@@ -512,6 +512,12 @@ class Catalog(Folder,
       'type': 'multiple selection',
       'select_variable' : 'getPythonMethodIds',
       'mode': 'w' },
+    { 'id': 'sql_catalog_raise_error_on_uid_check',
+      'title': 'Raise error on UID check',
+      'description': 'Boolean used to tell if we raise error when uid check fail',
+      'type': 'boolean',
+      'default' : True,
+      'mode': 'w' },
 
   )
 
@@ -551,6 +557,7 @@ class Catalog(Folder,
   sql_catalog_role_keys = ()
   sql_catalog_local_role_keys = ()
   sql_catalog_table_vote_scripts = ()
+  sql_catalog_raise_error_on_uid_check = True
 
   # These are ZODB variables, so shared by multiple Zope instances.
   # This is set to the last logical time when clearReserved is called.
@@ -1318,9 +1325,13 @@ class Catalog(Folder,
           raise RuntimeError, 'could not set missing uid for %r' % (object,)
       elif check_uid:
         if uid in assigned_uid_dict:
-          raise ValueError('uid of %r is %r and '
-              'is already assigned to %s in catalog !!! This can be fatal.' %
-              (object, uid, assigned_uid_dict[uid]))
+            error_message = 'uid of %r is %r and ' \
+                  'is already assigned to %s in catalog !!! This can be fatal.' % \
+                  (object, uid, assigned_uid_dict[uid])
+            if not self.sql_catalog_raise_error_on_uid_check:
+                LOG("SQLCatalog.catalogObjectList", ERROR, error_message)
+            else:
+                raise ValueError(error_message)
 
         path = object.getPath()
         index = path_uid_dict.get(path)
@@ -1370,10 +1381,15 @@ class Catalog(Folder,
             LOG('SQLCatalog', ERROR,
                 'uid of %r changed from %r to %r as old one is assigned'
                 ' to %s in catalog !!! This can be fatal.' % (
-                  object, uid, object.uid, catalog_path))
-            raise ValueError('uid of %r is %r and '
-                'is already assigned to %s in catalog !!! This can be fatal.' %
-                (object, uid, catalog_path))
+                object, uid, object.uid, catalog_path))
+
+            error_message = 'uid of %r is %r and ' \
+                            'is already assigned to %s in catalog !!! This can be fatal.' \
+                            % (object, uid, catalog_path)
+            if not self.sql_catalog_raise_error_on_uid_check:
+                LOG('SQLCatalog', ERROR, error_message)
+            else:
+                raise ValueError(error_message)
             uid = object.uid
 
         assigned_uid_dict[uid] = object
-- 
2.30.9


From ec838be200704e5ee620883930d4c39006ad24b4 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?J=C3=A9rome=20Perrin?= <jerome@nexedi.com>
Date: Mon, 2 Aug 2010 12:45:02 +0000
Subject: [PATCH 226/270] capitalize, use 'Type' term for portal_type

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@37398 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 .../portal_skins/erp5_simulation/Rule_view/listbox.xml        | 4 ++--
 bt5/erp5_simulation/bt/revision                               | 2 +-
 2 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/bt5/erp5_simulation/SkinTemplateItem/portal_skins/erp5_simulation/Rule_view/listbox.xml b/bt5/erp5_simulation/SkinTemplateItem/portal_skins/erp5_simulation/Rule_view/listbox.xml
index 2db6ad3170..e9c280af1b 100644
--- a/bt5/erp5_simulation/SkinTemplateItem/portal_skins/erp5_simulation/Rule_view/listbox.xml
+++ b/bt5/erp5_simulation/SkinTemplateItem/portal_skins/erp5_simulation/Rule_view/listbox.xml
@@ -94,11 +94,11 @@
                         </tuple>
                         <tuple>
                           <string>tested_property_list</string>
-                          <string>Tested properties</string>
+                          <string>Tested Properties</string>
                         </tuple>
                         <tuple>
                           <string>translated_portal_type</string>
-                          <string>Portal Type</string>
+                          <string>Type</string>
                         </tuple>
                         <tuple>
                           <string>updating_provider</string>
diff --git a/bt5/erp5_simulation/bt/revision b/bt5/erp5_simulation/bt/revision
index af2132305d..fa59ff276d 100644
--- a/bt5/erp5_simulation/bt/revision
+++ b/bt5/erp5_simulation/bt/revision
@@ -1 +1 @@
-133
\ No newline at end of file
+134
\ No newline at end of file
-- 
2.30.9


From cc2c7ae90bae2c571224c5e7e7130747f771410b Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?J=C3=A9rome=20Perrin?= <jerome@nexedi.com>
Date: Mon, 2 Aug 2010 14:28:09 +0000
Subject: [PATCH 227/270] r37396 was not enough for front page tabs, generally
 we include ERP5Site_getJavaScriptRelativeUrlList before js_list defined in
 the page templates

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@37401 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 .../portal_skins/erp5_xhtml_style/global_definitions.xml      | 4 ++--
 product/ERP5/bootstrap/erp5_xhtml_style/bt/revision           | 2 +-
 2 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/product/ERP5/bootstrap/erp5_xhtml_style/SkinTemplateItem/portal_skins/erp5_xhtml_style/global_definitions.xml b/product/ERP5/bootstrap/erp5_xhtml_style/SkinTemplateItem/portal_skins/erp5_xhtml_style/global_definitions.xml
index afa8a5b37d..e4e76fa827 100644
--- a/product/ERP5/bootstrap/erp5_xhtml_style/SkinTemplateItem/portal_skins/erp5_xhtml_style/global_definitions.xml
+++ b/product/ERP5/bootstrap/erp5_xhtml_style/SkinTemplateItem/portal_skins/erp5_xhtml_style/global_definitions.xml
@@ -63,8 +63,8 @@
            dummy       python:css_list.extend([\'%s/%s\' % (portal_path, x) for x in portal.ERP5Site_getCssRelativeUrlList()]);\n
            css_list_template css_list_template | python:[\'%s/erp5.css\' % (portal_path,)];\n
            dummy     python:css_list.extend(css_list_template);\n
-           global js_list   js_list | python:[];\n
-           dummy     python:js_list.extend([\'%s/%s\' % (portal_path, x) for x in portal.ERP5Site_getJavaScriptRelativeUrlList() + (\'erp5_xhtml_appearance.js\',)]);\n
+           global js_list   js_list | python:[\'%s/erp5_xhtml_appearance.js\' % portal_path];\n
+           global js_list python: [\'%s/%s\' % (portal_path, x) for x in portal.ERP5Site_getJavaScriptRelativeUrlList()] + js_list;\n
            global http_parameter_list  python: portal.ERP5Site_filterParameterList(request.form);\n
            dummy                python: http_parameter_list.update(local_parameter_list);\n
            global http_parameters      python: portal.ERP5Site_renderHTTPParameterList(http_parameter_list);\n
diff --git a/product/ERP5/bootstrap/erp5_xhtml_style/bt/revision b/product/ERP5/bootstrap/erp5_xhtml_style/bt/revision
index 7ada46f0a2..8ea0a3e6f1 100644
--- a/product/ERP5/bootstrap/erp5_xhtml_style/bt/revision
+++ b/product/ERP5/bootstrap/erp5_xhtml_style/bt/revision
@@ -1 +1 @@
-970
\ No newline at end of file
+971
\ No newline at end of file
-- 
2.30.9


From 001ce8ead7866868f7043d07834eb4f2036e2171 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?J=C3=A9rome=20Perrin?= <jerome@nexedi.com>
Date: Mon, 2 Aug 2010 14:44:11 +0000
Subject: [PATCH 228/270] resource title is always enabled on trade model line

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@37404 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 .../erp5_trade/TradeModelLine_view/my_resource_title.xml  | 8 +++++++-
 bt5/erp5_trade/bt/revision                                | 2 +-
 2 files changed, 8 insertions(+), 2 deletions(-)

diff --git a/bt5/erp5_trade/SkinTemplateItem/portal_skins/erp5_trade/TradeModelLine_view/my_resource_title.xml b/bt5/erp5_trade/SkinTemplateItem/portal_skins/erp5_trade/TradeModelLine_view/my_resource_title.xml
index 9dcdef0d35..c6881bf6fa 100644
--- a/bt5/erp5_trade/SkinTemplateItem/portal_skins/erp5_trade/TradeModelLine_view/my_resource_title.xml
+++ b/bt5/erp5_trade/SkinTemplateItem/portal_skins/erp5_trade/TradeModelLine_view/my_resource_title.xml
@@ -12,7 +12,9 @@
         <item>
             <key> <string>delegated_list</string> </key>
             <value>
-              <list/>
+              <list>
+                <string>enabled</string>
+              </list>
             </value>
         </item>
         <item>
@@ -72,6 +74,10 @@
             <key> <string>values</string> </key>
             <value>
               <dictionary>
+                <item>
+                    <key> <string>enabled</string> </key>
+                    <value> <int>1</int> </value>
+                </item>
                 <item>
                     <key> <string>field_id</string> </key>
                     <value> <string>my_view_mode_resource_title</string> </value>
diff --git a/bt5/erp5_trade/bt/revision b/bt5/erp5_trade/bt/revision
index 218241b578..4832075b37 100644
--- a/bt5/erp5_trade/bt/revision
+++ b/bt5/erp5_trade/bt/revision
@@ -1 +1 @@
-966
\ No newline at end of file
+967
\ No newline at end of file
-- 
2.30.9


From 1a84d03dd3130f6c4e84a1bdd1af2140a0868265 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?J=C3=A9rome=20Perrin?= <jerome@nexedi.com>
Date: Mon, 2 Aug 2010 15:49:45 +0000
Subject: [PATCH 229/270] Missing from
 http://svn.erp5.org/?view=revision&revision=36863

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@37411 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 bt5/erp5_simulation/bt/revision                     | 2 +-
 bt5/erp5_simulation/bt/template_portal_type_id_list | 3 +++
 2 files changed, 4 insertions(+), 1 deletion(-)

diff --git a/bt5/erp5_simulation/bt/revision b/bt5/erp5_simulation/bt/revision
index fa59ff276d..0973804c41 100644
--- a/bt5/erp5_simulation/bt/revision
+++ b/bt5/erp5_simulation/bt/revision
@@ -1 +1 @@
-134
\ No newline at end of file
+137
\ No newline at end of file
diff --git a/bt5/erp5_simulation/bt/template_portal_type_id_list b/bt5/erp5_simulation/bt/template_portal_type_id_list
index 927ce63cc4..7587222d72 100644
--- a/bt5/erp5_simulation/bt/template_portal_type_id_list
+++ b/bt5/erp5_simulation/bt/template_portal_type_id_list
@@ -2,7 +2,10 @@ Accept Solver
 Adopt Solver
 Category Membership Divergence Tester
 DateTime Divergence Tester
+FIFO Delivery Solver
 Float Divergence Tester
+LIFO Delivery Solver
+Minimise Price Delivery Solver
 Net Converted Quantity Divergence Tester
 Production Reduction Solver
 Quantity Cancel Solver
-- 
2.30.9


From f2fe551d4c2d656d032bdacf9f1ba9c2285919d7 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?J=C3=A9rome=20Perrin?= <jerome@nexedi.com>
Date: Mon, 2 Aug 2010 15:50:05 +0000
Subject: [PATCH 230/270] make RulesTool inherit from BaseTool

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@37412 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 product/ERP5/Tool/RuleTool.py          | 46 ++++----------------------
 product/ERP5/dtml/explainRuleTool.dtml |  2 +-
 2 files changed, 7 insertions(+), 41 deletions(-)

diff --git a/product/ERP5/Tool/RuleTool.py b/product/ERP5/Tool/RuleTool.py
index 51857d8e48..33c075b5a7 100644
--- a/product/ERP5/Tool/RuleTool.py
+++ b/product/ERP5/Tool/RuleTool.py
@@ -26,19 +26,15 @@
 #
 ##############################################################################
 
-from Products.CMFCore.utils import UniqueObject
-
+from Products.ERP5Type.Tool.BaseTool import BaseTool
 from AccessControl import ClassSecurityInfo
 from Products.ERP5Type.Globals import InitializeClass, DTMLFile
-from Products.ERP5Type.Core.Folder import Folder
 from Products.ERP5Type import Permissions
 from Products.CMFCore.utils import getToolByName
 
 from Products.ERP5 import _dtmldir
 
-from zLOG import LOG
-
-class RuleTool (UniqueObject, Folder):
+class RuleTool(BaseTool):
     """
     The RulesTool implements portal object
     transformation policies.
@@ -76,52 +72,22 @@ class RuleTool (UniqueObject, Folder):
     according to templates. Allows to parametrize modules
     such as payroll.
 
-    Try to mimic: XSL semantics
-
-    Status : OK
-
-    NEW NAME : Rules Tool
-
-    TODO: XXX Please use BaseTool
     """
     id = 'portal_rules'
     meta_type = 'ERP5 Rule Tool'
     portal_type = 'Rule Tool'
-    allowed_types = ( 'ERP5 Order Rule', 'ERP5 Transformation Rule', 'ERP5 Zero Stock Rule', 'ERP5 Delivery Rule', 'ERP5 Amortisation Rule')
+    allowed_types = ( 'ERP5 Order Rule', 'ERP5 Transformation Rule',
+                      'ERP5 Zero Stock Rule', 'ERP5 Delivery Rule',
+                      'ERP5 Amortisation Rule')
 
     # Declarative Security
     security = ClassSecurityInfo()
 
-    #
-    #   ZMI methods
-    #
-    manage_options = ( ( { 'label'      : 'Overview'
-                         , 'action'     : 'manage_overview'
-                         }
-                        ,
-                        )
-                     + Folder.manage_options
-                     )
-
     security.declareProtected( Permissions.ManagePortal, 'manage_overview' )
     manage_overview = DTMLFile( 'explainRuleTool', _dtmldir )
 
-    # Filter content (ZMI))
-    def __init__(self):
-        return Folder.__init__(self, RuleTool.id)
-
-    # Filter content (ZMI))
-    def filtered_meta_types(self, user=None):
-        # Filters the list of available meta types.
-        all = RuleTool.inheritedAttribute('filtered_meta_types')(self)
-        meta_types = []
-        for meta_type in self.all_meta_types():
-            if meta_type['name'] in self.allowed_types:
-                meta_types.append(meta_type)
-        return meta_types
-
     security.declareProtected(Permissions.AccessContentsInformation,
-        'searchRuleList')
+                              'searchRuleList')
     def searchRuleList(self, movement, tested_base_category_list=None, **kw):
       """
       this method searches for rules, as predicates against movement
diff --git a/product/ERP5/dtml/explainRuleTool.dtml b/product/ERP5/dtml/explainRuleTool.dtml
index fbaf851e74..225487631f 100644
--- a/product/ERP5/dtml/explainRuleTool.dtml
+++ b/product/ERP5/dtml/explainRuleTool.dtml
@@ -1,6 +1,6 @@
 <dtml-var manage_page_header>
 <dtml-var manage_tabs>
 
-<p>Explain SumulationTool</p>
+<p>Rule Tool contains Rules</p>
 
 <dtml-var manage_page_footer>
-- 
2.30.9


From 198bbea8326e827438a7032052814cbc88a9eeb7 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?J=C3=A9rome=20Perrin?= <jerome@nexedi.com>
Date: Mon, 2 Aug 2010 15:53:25 +0000
Subject: [PATCH 231/270] add an equivalence tester to propagate use category

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@37413 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 .../use_tester.xml                            | 93 +++++++++++++++++++
 .../use_tester.xml                            | 93 +++++++++++++++++++
 .../use_tester.xml                            | 93 +++++++++++++++++++
 .../use_tester.xml                            | 93 +++++++++++++++++++
 .../use_tester.xml                            | 93 +++++++++++++++++++
 .../use_tester.xml                            | 93 +++++++++++++++++++
 bt5/erp5_simulation/bt/revision               |  2 +-
 7 files changed, 559 insertions(+), 1 deletion(-)
 create mode 100644 bt5/erp5_simulation/PathTemplateItem/portal_rules/new_delivery_root_simulation_rule/use_tester.xml
 create mode 100644 bt5/erp5_simulation/PathTemplateItem/portal_rules/new_delivery_simulation_rule/use_tester.xml
 create mode 100644 bt5/erp5_simulation/PathTemplateItem/portal_rules/new_invoice_root_simulation_rule/use_tester.xml
 create mode 100644 bt5/erp5_simulation/PathTemplateItem/portal_rules/new_invoice_simulation_rule/use_tester.xml
 create mode 100644 bt5/erp5_simulation/PathTemplateItem/portal_rules/new_order_root_simulation_rule/use_tester.xml
 create mode 100644 bt5/erp5_simulation/PathTemplateItem/portal_rules/new_trade_model_simulation_rule/use_tester.xml

diff --git a/bt5/erp5_simulation/PathTemplateItem/portal_rules/new_delivery_root_simulation_rule/use_tester.xml b/bt5/erp5_simulation/PathTemplateItem/portal_rules/new_delivery_root_simulation_rule/use_tester.xml
new file mode 100644
index 0000000000..82d259d615
--- /dev/null
+++ b/bt5/erp5_simulation/PathTemplateItem/portal_rules/new_delivery_root_simulation_rule/use_tester.xml
@@ -0,0 +1,93 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="CategoryMembershipEquivalenceTester" module="Products.ERP5Type.Document.CategoryMembershipEquivalenceTester"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_identity_criterion</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>_range_criterion</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>description</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>divergence_provider</string> </key>
+            <value> <int>0</int> </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>use_tester</string> </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Category Membership Divergence Tester</string> </value>
+        </item>
+        <item>
+            <key> <string>tested_property</string> </key>
+            <value>
+              <tuple>
+                <string>use</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>use divergence tester</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="2" aka="AAAAAAAAAAI=">
+    <pickle>
+      <tuple>
+        <global name="PersistentMapping" module="Persistence.mapping"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>data</string> </key>
+            <value>
+              <dictionary/>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="3" aka="AAAAAAAAAAM=">
+    <pickle>
+      <tuple>
+        <global name="PersistentMapping" module="Persistence.mapping"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>data</string> </key>
+            <value>
+              <dictionary/>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_simulation/PathTemplateItem/portal_rules/new_delivery_simulation_rule/use_tester.xml b/bt5/erp5_simulation/PathTemplateItem/portal_rules/new_delivery_simulation_rule/use_tester.xml
new file mode 100644
index 0000000000..82d259d615
--- /dev/null
+++ b/bt5/erp5_simulation/PathTemplateItem/portal_rules/new_delivery_simulation_rule/use_tester.xml
@@ -0,0 +1,93 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="CategoryMembershipEquivalenceTester" module="Products.ERP5Type.Document.CategoryMembershipEquivalenceTester"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_identity_criterion</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>_range_criterion</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>description</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>divergence_provider</string> </key>
+            <value> <int>0</int> </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>use_tester</string> </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Category Membership Divergence Tester</string> </value>
+        </item>
+        <item>
+            <key> <string>tested_property</string> </key>
+            <value>
+              <tuple>
+                <string>use</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>use divergence tester</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="2" aka="AAAAAAAAAAI=">
+    <pickle>
+      <tuple>
+        <global name="PersistentMapping" module="Persistence.mapping"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>data</string> </key>
+            <value>
+              <dictionary/>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="3" aka="AAAAAAAAAAM=">
+    <pickle>
+      <tuple>
+        <global name="PersistentMapping" module="Persistence.mapping"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>data</string> </key>
+            <value>
+              <dictionary/>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_simulation/PathTemplateItem/portal_rules/new_invoice_root_simulation_rule/use_tester.xml b/bt5/erp5_simulation/PathTemplateItem/portal_rules/new_invoice_root_simulation_rule/use_tester.xml
new file mode 100644
index 0000000000..82d259d615
--- /dev/null
+++ b/bt5/erp5_simulation/PathTemplateItem/portal_rules/new_invoice_root_simulation_rule/use_tester.xml
@@ -0,0 +1,93 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="CategoryMembershipEquivalenceTester" module="Products.ERP5Type.Document.CategoryMembershipEquivalenceTester"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_identity_criterion</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>_range_criterion</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>description</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>divergence_provider</string> </key>
+            <value> <int>0</int> </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>use_tester</string> </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Category Membership Divergence Tester</string> </value>
+        </item>
+        <item>
+            <key> <string>tested_property</string> </key>
+            <value>
+              <tuple>
+                <string>use</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>use divergence tester</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="2" aka="AAAAAAAAAAI=">
+    <pickle>
+      <tuple>
+        <global name="PersistentMapping" module="Persistence.mapping"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>data</string> </key>
+            <value>
+              <dictionary/>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="3" aka="AAAAAAAAAAM=">
+    <pickle>
+      <tuple>
+        <global name="PersistentMapping" module="Persistence.mapping"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>data</string> </key>
+            <value>
+              <dictionary/>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_simulation/PathTemplateItem/portal_rules/new_invoice_simulation_rule/use_tester.xml b/bt5/erp5_simulation/PathTemplateItem/portal_rules/new_invoice_simulation_rule/use_tester.xml
new file mode 100644
index 0000000000..82d259d615
--- /dev/null
+++ b/bt5/erp5_simulation/PathTemplateItem/portal_rules/new_invoice_simulation_rule/use_tester.xml
@@ -0,0 +1,93 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="CategoryMembershipEquivalenceTester" module="Products.ERP5Type.Document.CategoryMembershipEquivalenceTester"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_identity_criterion</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>_range_criterion</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>description</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>divergence_provider</string> </key>
+            <value> <int>0</int> </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>use_tester</string> </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Category Membership Divergence Tester</string> </value>
+        </item>
+        <item>
+            <key> <string>tested_property</string> </key>
+            <value>
+              <tuple>
+                <string>use</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>use divergence tester</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="2" aka="AAAAAAAAAAI=">
+    <pickle>
+      <tuple>
+        <global name="PersistentMapping" module="Persistence.mapping"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>data</string> </key>
+            <value>
+              <dictionary/>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="3" aka="AAAAAAAAAAM=">
+    <pickle>
+      <tuple>
+        <global name="PersistentMapping" module="Persistence.mapping"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>data</string> </key>
+            <value>
+              <dictionary/>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_simulation/PathTemplateItem/portal_rules/new_order_root_simulation_rule/use_tester.xml b/bt5/erp5_simulation/PathTemplateItem/portal_rules/new_order_root_simulation_rule/use_tester.xml
new file mode 100644
index 0000000000..82d259d615
--- /dev/null
+++ b/bt5/erp5_simulation/PathTemplateItem/portal_rules/new_order_root_simulation_rule/use_tester.xml
@@ -0,0 +1,93 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="CategoryMembershipEquivalenceTester" module="Products.ERP5Type.Document.CategoryMembershipEquivalenceTester"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_identity_criterion</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>_range_criterion</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>description</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>divergence_provider</string> </key>
+            <value> <int>0</int> </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>use_tester</string> </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Category Membership Divergence Tester</string> </value>
+        </item>
+        <item>
+            <key> <string>tested_property</string> </key>
+            <value>
+              <tuple>
+                <string>use</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>use divergence tester</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="2" aka="AAAAAAAAAAI=">
+    <pickle>
+      <tuple>
+        <global name="PersistentMapping" module="Persistence.mapping"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>data</string> </key>
+            <value>
+              <dictionary/>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="3" aka="AAAAAAAAAAM=">
+    <pickle>
+      <tuple>
+        <global name="PersistentMapping" module="Persistence.mapping"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>data</string> </key>
+            <value>
+              <dictionary/>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_simulation/PathTemplateItem/portal_rules/new_trade_model_simulation_rule/use_tester.xml b/bt5/erp5_simulation/PathTemplateItem/portal_rules/new_trade_model_simulation_rule/use_tester.xml
new file mode 100644
index 0000000000..82d259d615
--- /dev/null
+++ b/bt5/erp5_simulation/PathTemplateItem/portal_rules/new_trade_model_simulation_rule/use_tester.xml
@@ -0,0 +1,93 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="CategoryMembershipEquivalenceTester" module="Products.ERP5Type.Document.CategoryMembershipEquivalenceTester"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_identity_criterion</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>_range_criterion</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>description</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>divergence_provider</string> </key>
+            <value> <int>0</int> </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>use_tester</string> </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Category Membership Divergence Tester</string> </value>
+        </item>
+        <item>
+            <key> <string>tested_property</string> </key>
+            <value>
+              <tuple>
+                <string>use</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>use divergence tester</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="2" aka="AAAAAAAAAAI=">
+    <pickle>
+      <tuple>
+        <global name="PersistentMapping" module="Persistence.mapping"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>data</string> </key>
+            <value>
+              <dictionary/>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="3" aka="AAAAAAAAAAM=">
+    <pickle>
+      <tuple>
+        <global name="PersistentMapping" module="Persistence.mapping"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>data</string> </key>
+            <value>
+              <dictionary/>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_simulation/bt/revision b/bt5/erp5_simulation/bt/revision
index 0973804c41..eafdfb06c5 100644
--- a/bt5/erp5_simulation/bt/revision
+++ b/bt5/erp5_simulation/bt/revision
@@ -1 +1 @@
-137
\ No newline at end of file
+138
\ No newline at end of file
-- 
2.30.9


From 501a852f02ce3a507a79402f6906aab03fc8e7aa Mon Sep 17 00:00:00 2001
From: Yoshinori Okuji <yo@nexedi.com>
Date: Tue, 3 Aug 2010 07:36:18 +0000
Subject: [PATCH 232/270] Stop rewriting _identity_criterion and
 _range_criterion unnecessarily. This caused a lot of conflicts only by
 viewing objects.

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@37425 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 product/ERP5/Document/Predicate.py | 17 +++++++++++++++--
 1 file changed, 15 insertions(+), 2 deletions(-)

diff --git a/product/ERP5/Document/Predicate.py b/product/ERP5/Document/Predicate.py
index 20cfbf22ca..aac1d0c437 100644
--- a/product/ERP5/Document/Predicate.py
+++ b/product/ERP5/Document/Predicate.py
@@ -543,8 +543,21 @@ class Predicate(XMLObject):
           new_membership_criterion_base_category_list.append(base_category)
 
     new_criterion_property_list =  list(self.getCriterionPropertyList())
-    identity_criterion = getattr(self,'_identity_criterion',{})
-    range_criterion = getattr(self,'_range_criterion',{})
+
+    # We need to build new criteria for asContext, and we should not
+    # modify the original, so we always make copies. Since the usage is
+    # temporary, use dicts instead of persistent mappings.
+    identity_criterion = getattr(self, '_identity_criterion', None)
+    if identity_criterion is None:
+      identity_criterion = {}
+    else:
+      identity_criterion = dict(identity_criterion)
+    range_criterion = getattr(self, '_range_criterion', None)
+    if range_criterion is None:
+      range_criterion = {}
+    else:
+      range_criterion = dict(range_criterion)
+
     # Look at local properties and make it criterion properties
     for property in criterion_property_list:
       if property not in self.getCriterionPropertyList() \
-- 
2.30.9


From c2463ea5678f5dc925dc455fae3118c7dd282b33 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?J=C3=A9rome=20Perrin?= <jerome@nexedi.com>
Date: Tue, 3 Aug 2010 07:46:39 +0000
Subject: [PATCH 233/270] add comment field on solver decision, and proxify
 fields

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@37426 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 .../erp5_base/SolverDecision_view.xml         |   1 +
 .../my_causality_title.xml                    | 475 +----------------
 .../SolverDecision_view/my_comment.xml        |  93 ++++
 .../my_delivery_title_list.xml                | 499 +-----------------
 .../SolverDecision_view/my_description.xml    | 228 +-------
 .../SolverDecision_view/my_solver.xml         | 205 +------
 bt5/erp5_base/bt/revision                     |   2 +-
 7 files changed, 186 insertions(+), 1317 deletions(-)
 create mode 100644 bt5/erp5_base/SkinTemplateItem/portal_skins/erp5_base/SolverDecision_view/my_comment.xml

diff --git a/bt5/erp5_base/SkinTemplateItem/portal_skins/erp5_base/SolverDecision_view.xml b/bt5/erp5_base/SkinTemplateItem/portal_skins/erp5_base/SolverDecision_view.xml
index 60ea36f754..d861ab3a7d 100644
--- a/bt5/erp5_base/SkinTemplateItem/portal_skins/erp5_base/SolverDecision_view.xml
+++ b/bt5/erp5_base/SkinTemplateItem/portal_skins/erp5_base/SolverDecision_view.xml
@@ -108,6 +108,7 @@
                     <value>
                       <list>
                         <string>my_solver</string>
+                        <string>my_comment</string>
                       </list>
                     </value>
                 </item>
diff --git a/bt5/erp5_base/SkinTemplateItem/portal_skins/erp5_base/SolverDecision_view/my_causality_title.xml b/bt5/erp5_base/SkinTemplateItem/portal_skins/erp5_base/SolverDecision_view/my_causality_title.xml
index 21e9270bc9..ed5b49f72a 100644
--- a/bt5/erp5_base/SkinTemplateItem/portal_skins/erp5_base/SolverDecision_view/my_causality_title.xml
+++ b/bt5/erp5_base/SkinTemplateItem/portal_skins/erp5_base/SolverDecision_view/my_causality_title.xml
@@ -3,12 +3,23 @@
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
       <tuple>
-        <global name="RelationStringField" module="Products.ERP5Form.RelationField"/>
+        <global name="ProxyField" module="Products.ERP5Form.ProxyField"/>
         <tuple/>
       </tuple>
     </pickle>
     <pickle>
       <dictionary>
+        <item>
+            <key> <string>delegated_list</string> </key>
+            <value>
+              <list>
+                <string>title</string>
+                <string>catalog_index</string>
+                <string>portal_type</string>
+                <string>base_category</string>
+              </list>
+            </value>
+        </item>
         <item>
             <key> <string>id</string> </key>
             <value> <string>my_causality_title</string> </value>
@@ -21,34 +32,6 @@
                     <key> <string>external_validator_failed</string> </key>
                     <value> <string>The input failed the external validator.</string> </value>
                 </item>
-                <item>
-                    <key> <string>line_too_long</string> </key>
-                    <value> <string>A line was too long.</string> </value>
-                </item>
-                <item>
-                    <key> <string>relation_result_ambiguous</string> </key>
-                    <value> <string>Select appropriate document in the list.</string> </value>
-                </item>
-                <item>
-                    <key> <string>relation_result_empty</string> </key>
-                    <value> <string>No such document was found.</string> </value>
-                </item>
-                <item>
-                    <key> <string>relation_result_too_long</string> </key>
-                    <value> <string>Too many documents were found.</string> </value>
-                </item>
-                <item>
-                    <key> <string>required_not_found</string> </key>
-                    <value> <string>Input is required but no input given.</string> </value>
-                </item>
-                <item>
-                    <key> <string>too_long</string> </key>
-                    <value> <string>You entered too many characters.</string> </value>
-                </item>
-                <item>
-                    <key> <string>too_many_lines</string> </key>
-                    <value> <string>You entered too many lines.</string> </value>
-                </item>
               </dictionary>
             </value>
         </item>
@@ -57,155 +40,15 @@
             <value>
               <dictionary>
                 <item>
-                    <key> <string>allow_creation</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>allow_jump</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>alternate_name</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>base_category</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>catalog_index</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>columns</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>container_getter_id</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>css_class</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>default</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>description</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>display_maxwidth</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>display_width</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>editable</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>enabled</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>external_validator</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>extra</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>extra_item</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>first_item</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>hidden</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>items</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>jump_method</string> </key>
+                    <key> <string>field_id</string> </key>
                     <value> <string></string> </value>
                 </item>
                 <item>
-                    <key> <string>list_method</string> </key>
+                    <key> <string>form_id</string> </key>
                     <value> <string></string> </value>
                 </item>
                 <item>
-                    <key> <string>max_length</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>max_linelength</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>max_lines</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>parameter_list</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>portal_type</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>proxy_listbox_ids</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>relation_form_id</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>relation_setter_id</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>required</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>size</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>sort</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>title</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>truncate</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>unicode</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>update_method</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>whitespace_preserve</string> </key>
+                    <key> <string>target</string> </key>
                     <value> <string></string> </value>
                 </item>
               </dictionary>
@@ -216,107 +59,11 @@
             <value>
               <dictionary>
                 <item>
-                    <key> <string>allow_creation</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>allow_jump</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>alternate_name</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>base_category</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>catalog_index</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>columns</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>container_getter_id</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>css_class</string> </key>
+                    <key> <string>field_id</string> </key>
                     <value> <string></string> </value>
                 </item>
                 <item>
-                    <key> <string>default</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>description</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>display_maxwidth</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>display_width</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>editable</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>enabled</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>external_validator</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>extra</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>extra_item</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>first_item</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>hidden</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>items</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>jump_method</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>list_method</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>max_length</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>max_linelength</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>max_lines</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>parameter_list</string> </key>
+                    <key> <string>form_id</string> </key>
                     <value> <string></string> </value>
                 </item>
                 <item>
@@ -326,47 +73,7 @@
                     </value>
                 </item>
                 <item>
-                    <key> <string>proxy_listbox_ids</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>relation_form_id</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>relation_setter_id</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>required</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>size</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>sort</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>title</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>truncate</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>unicode</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>update_method</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>whitespace_preserve</string> </key>
+                    <key> <string>target</string> </key>
                     <value> <string></string> </value>
                 </item>
               </dictionary>
@@ -376,18 +83,6 @@
             <key> <string>values</string> </key>
             <value>
               <dictionary>
-                <item>
-                    <key> <string>allow_creation</string> </key>
-                    <value> <int>1</int> </value>
-                </item>
-                <item>
-                    <key> <string>allow_jump</string> </key>
-                    <value> <int>1</int> </value>
-                </item>
-                <item>
-                    <key> <string>alternate_name</string> </key>
-                    <value> <string></string> </value>
-                </item>
                 <item>
                     <key> <string>base_category</string> </key>
                     <value> <string>causality</string> </value>
@@ -397,94 +92,12 @@
                     <value> <string>title</string> </value>
                 </item>
                 <item>
-                    <key> <string>columns</string> </key>
-                    <value>
-                      <list/>
-                    </value>
-                </item>
-                <item>
-                    <key> <string>container_getter_id</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>css_class</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>default</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>description</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>display_maxwidth</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>display_width</string> </key>
-                    <value> <int>20</int> </value>
-                </item>
-                <item>
-                    <key> <string>editable</string> </key>
-                    <value> <int>1</int> </value>
+                    <key> <string>field_id</string> </key>
+                    <value> <string>my_relation_field</string> </value>
                 </item>
                 <item>
-                    <key> <string>enabled</string> </key>
-                    <value> <int>1</int> </value>
-                </item>
-                <item>
-                    <key> <string>external_validator</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>extra</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>extra_item</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>first_item</string> </key>
-                    <value> <int>0</int> </value>
-                </item>
-                <item>
-                    <key> <string>hidden</string> </key>
-                    <value> <int>0</int> </value>
-                </item>
-                <item>
-                    <key> <string>items</string> </key>
-                    <value>
-                      <list/>
-                    </value>
-                </item>
-                <item>
-                    <key> <string>jump_method</string> </key>
-                    <value> <string>Base_jumpToRelatedDocument</string> </value>
-                </item>
-                <item>
-                    <key> <string>list_method</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>max_length</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>max_linelength</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>max_lines</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>parameter_list</string> </key>
-                    <value>
-                      <list/>
-                    </value>
+                    <key> <string>form_id</string> </key>
+                    <value> <string>Base_viewFieldLibrary</string> </value>
                 </item>
                 <item>
                     <key> <string>portal_type</string> </key>
@@ -498,53 +111,13 @@
                     </value>
                 </item>
                 <item>
-                    <key> <string>proxy_listbox_ids</string> </key>
-                    <value>
-                      <list/>
-                    </value>
-                </item>
-                <item>
-                    <key> <string>relation_form_id</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>relation_setter_id</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>required</string> </key>
-                    <value> <int>0</int> </value>
-                </item>
-                <item>
-                    <key> <string>size</string> </key>
-                    <value> <int>1</int> </value>
-                </item>
-                <item>
-                    <key> <string>sort</string> </key>
-                    <value>
-                      <list/>
-                    </value>
+                    <key> <string>target</string> </key>
+                    <value> <string>Click to edit the target</string> </value>
                 </item>
                 <item>
                     <key> <string>title</string> </key>
                     <value> <string>Divergence Tester</string> </value>
                 </item>
-                <item>
-                    <key> <string>truncate</string> </key>
-                    <value> <int>0</int> </value>
-                </item>
-                <item>
-                    <key> <string>unicode</string> </key>
-                    <value> <int>0</int> </value>
-                </item>
-                <item>
-                    <key> <string>update_method</string> </key>
-                    <value> <string>Base_validateRelation</string> </value>
-                </item>
-                <item>
-                    <key> <string>whitespace_preserve</string> </key>
-                    <value> <int>0</int> </value>
-                </item>
               </dictionary>
             </value>
         </item>
diff --git a/bt5/erp5_base/SkinTemplateItem/portal_skins/erp5_base/SolverDecision_view/my_comment.xml b/bt5/erp5_base/SkinTemplateItem/portal_skins/erp5_base/SolverDecision_view/my_comment.xml
new file mode 100644
index 0000000000..06555dcada
--- /dev/null
+++ b/bt5/erp5_base/SkinTemplateItem/portal_skins/erp5_base/SolverDecision_view/my_comment.xml
@@ -0,0 +1,93 @@
+<?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/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>my_comment</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>field_id</string> </key>
+                    <value> <string>my_comment</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>
+              </dictionary>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_base/SkinTemplateItem/portal_skins/erp5_base/SolverDecision_view/my_delivery_title_list.xml b/bt5/erp5_base/SkinTemplateItem/portal_skins/erp5_base/SolverDecision_view/my_delivery_title_list.xml
index 5c8cd1b471..239eeef671 100644
--- a/bt5/erp5_base/SkinTemplateItem/portal_skins/erp5_base/SolverDecision_view/my_delivery_title_list.xml
+++ b/bt5/erp5_base/SkinTemplateItem/portal_skins/erp5_base/SolverDecision_view/my_delivery_title_list.xml
@@ -3,12 +3,25 @@
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
       <tuple>
-        <global name="MultiRelationStringField" module="Products.ERP5Form.MultiRelationField"/>
+        <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>
+                <string>catalog_index</string>
+                <string>portal_type</string>
+                <string>height</string>
+                <string>base_category</string>
+              </list>
+            </value>
+        </item>
         <item>
             <key> <string>id</string> </key>
             <value> <string>my_delivery_title_list</string> </value>
@@ -21,34 +34,6 @@
                     <key> <string>external_validator_failed</string> </key>
                     <value> <string>The input failed the external validator.</string> </value>
                 </item>
-                <item>
-                    <key> <string>line_too_long</string> </key>
-                    <value> <string>A line was too long.</string> </value>
-                </item>
-                <item>
-                    <key> <string>relation_result_ambiguous</string> </key>
-                    <value> <string>Select appropriate document in the list.</string> </value>
-                </item>
-                <item>
-                    <key> <string>relation_result_empty</string> </key>
-                    <value> <string>No such document was found.</string> </value>
-                </item>
-                <item>
-                    <key> <string>relation_result_too_long</string> </key>
-                    <value> <string>Too many documents were found.</string> </value>
-                </item>
-                <item>
-                    <key> <string>required_not_found</string> </key>
-                    <value> <string>Input is required but no input given.</string> </value>
-                </item>
-                <item>
-                    <key> <string>too_long</string> </key>
-                    <value> <string>You entered too many characters.</string> </value>
-                </item>
-                <item>
-                    <key> <string>too_many_lines</string> </key>
-                    <value> <string>You entered too many lines.</string> </value>
-                </item>
               </dictionary>
             </value>
         </item>
@@ -57,163 +42,15 @@
             <value>
               <dictionary>
                 <item>
-                    <key> <string>allow_creation</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>allow_jump</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>alternate_name</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>base_category</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>catalog_index</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>columns</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>container_getter_id</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>css_class</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>default</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>description</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>display_maxwidth</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>display_width</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>editable</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>enabled</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>external_validator</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>extra</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>extra_item</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>first_item</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>height</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>hidden</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>items</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>jump_method</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>list_method</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>max_length</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>max_linelength</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>max_lines</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>parameter_list</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>portal_type</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>proxy_listbox_ids</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>relation_form_id</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>relation_setter_id</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>required</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>size</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>sort</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>title</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>unicode</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>update_method</string> </key>
+                    <key> <string>field_id</string> </key>
                     <value> <string></string> </value>
                 </item>
                 <item>
-                    <key> <string>view_separator</string> </key>
+                    <key> <string>form_id</string> </key>
                     <value> <string></string> </value>
                 </item>
                 <item>
-                    <key> <string>whitespace_preserve</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>width</string> </key>
+                    <key> <string>target</string> </key>
                     <value> <string></string> </value>
                 </item>
               </dictionary>
@@ -224,111 +61,11 @@
             <value>
               <dictionary>
                 <item>
-                    <key> <string>allow_creation</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>allow_jump</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>alternate_name</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>base_category</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>catalog_index</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>columns</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>container_getter_id</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>css_class</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>default</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>description</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>display_maxwidth</string> </key>
+                    <key> <string>field_id</string> </key>
                     <value> <string></string> </value>
                 </item>
                 <item>
-                    <key> <string>display_width</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>editable</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>enabled</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>external_validator</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>extra</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>extra_item</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>first_item</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>height</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>hidden</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>items</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>jump_method</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>list_method</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>max_length</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>max_linelength</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>max_lines</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>parameter_list</string> </key>
+                    <key> <string>form_id</string> </key>
                     <value> <string></string> </value>
                 </item>
                 <item>
@@ -338,51 +75,7 @@
                     </value>
                 </item>
                 <item>
-                    <key> <string>proxy_listbox_ids</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>relation_form_id</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>relation_setter_id</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>required</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>size</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>sort</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>title</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>unicode</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>update_method</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>view_separator</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>whitespace_preserve</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>width</string> </key>
+                    <key> <string>target</string> </key>
                     <value> <string></string> </value>
                 </item>
               </dictionary>
@@ -392,18 +85,6 @@
             <key> <string>values</string> </key>
             <value>
               <dictionary>
-                <item>
-                    <key> <string>allow_creation</string> </key>
-                    <value> <int>1</int> </value>
-                </item>
-                <item>
-                    <key> <string>allow_jump</string> </key>
-                    <value> <int>1</int> </value>
-                </item>
-                <item>
-                    <key> <string>alternate_name</string> </key>
-                    <value> <string></string> </value>
-                </item>
                 <item>
                     <key> <string>base_category</string> </key>
                     <value> <string>delivery</string> </value>
@@ -412,102 +93,22 @@
                     <key> <string>catalog_index</string> </key>
                     <value> <string>title</string> </value>
                 </item>
-                <item>
-                    <key> <string>columns</string> </key>
-                    <value>
-                      <list/>
-                    </value>
-                </item>
-                <item>
-                    <key> <string>container_getter_id</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>css_class</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>default</string> </key>
-                    <value>
-                      <list/>
-                    </value>
-                </item>
                 <item>
                     <key> <string>description</string> </key>
                     <value> <string>The lines which are impacted by the solver.</string> </value>
                 </item>
                 <item>
-                    <key> <string>display_maxwidth</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>display_width</string> </key>
-                    <value> <int>20</int> </value>
-                </item>
-                <item>
-                    <key> <string>editable</string> </key>
-                    <value> <int>1</int> </value>
-                </item>
-                <item>
-                    <key> <string>enabled</string> </key>
-                    <value> <int>1</int> </value>
+                    <key> <string>field_id</string> </key>
+                    <value> <string>my_multi_relation_field</string> </value>
                 </item>
                 <item>
-                    <key> <string>external_validator</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>extra</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>extra_item</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>first_item</string> </key>
-                    <value> <int>0</int> </value>
+                    <key> <string>form_id</string> </key>
+                    <value> <string>Base_viewFieldLibrary</string> </value>
                 </item>
                 <item>
                     <key> <string>height</string> </key>
                     <value> <int>5</int> </value>
                 </item>
-                <item>
-                    <key> <string>hidden</string> </key>
-                    <value> <int>0</int> </value>
-                </item>
-                <item>
-                    <key> <string>items</string> </key>
-                    <value>
-                      <list/>
-                    </value>
-                </item>
-                <item>
-                    <key> <string>jump_method</string> </key>
-                    <value> <string>Base_jumpToRelatedDocument</string> </value>
-                </item>
-                <item>
-                    <key> <string>list_method</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>max_length</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>max_linelength</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>max_lines</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>parameter_list</string> </key>
-                    <value>
-                      <list/>
-                    </value>
-                </item>
                 <item>
                     <key> <string>portal_type</string> </key>
                     <value>
@@ -520,61 +121,13 @@
                     </value>
                 </item>
                 <item>
-                    <key> <string>proxy_listbox_ids</string> </key>
-                    <value>
-                      <list/>
-                    </value>
-                </item>
-                <item>
-                    <key> <string>relation_form_id</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>relation_setter_id</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>required</string> </key>
-                    <value> <int>0</int> </value>
-                </item>
-                <item>
-                    <key> <string>size</string> </key>
-                    <value> <int>1</int> </value>
-                </item>
-                <item>
-                    <key> <string>sort</string> </key>
-                    <value>
-                      <list/>
-                    </value>
+                    <key> <string>target</string> </key>
+                    <value> <string>Click to edit the target</string> </value>
                 </item>
                 <item>
                     <key> <string>title</string> </key>
                     <value> <string>Delivery Lines</string> </value>
                 </item>
-                <item>
-                    <key> <string>unicode</string> </key>
-                    <value> <int>0</int> </value>
-                </item>
-                <item>
-                    <key> <string>update_method</string> </key>
-                    <value> <string>Base_validateRelation</string> </value>
-                </item>
-                <item>
-                    <key> <string>view_separator</string> </key>
-                    <value> <string encoding="cdata"><![CDATA[
-
-<br />
-
-]]></string> </value>
-                </item>
-                <item>
-                    <key> <string>whitespace_preserve</string> </key>
-                    <value> <int>0</int> </value>
-                </item>
-                <item>
-                    <key> <string>width</string> </key>
-                    <value> <int>40</int> </value>
-                </item>
               </dictionary>
             </value>
         </item>
diff --git a/bt5/erp5_base/SkinTemplateItem/portal_skins/erp5_base/SolverDecision_view/my_description.xml b/bt5/erp5_base/SkinTemplateItem/portal_skins/erp5_base/SolverDecision_view/my_description.xml
index c3b8b71670..07dc3bb171 100644
--- a/bt5/erp5_base/SkinTemplateItem/portal_skins/erp5_base/SolverDecision_view/my_description.xml
+++ b/bt5/erp5_base/SkinTemplateItem/portal_skins/erp5_base/SolverDecision_view/my_description.xml
@@ -3,12 +3,18 @@
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
       <tuple>
-        <global name="TextAreaField" module="Products.Formulator.StandardFields"/>
+        <global name="ProxyField" module="Products.ERP5Form.ProxyField"/>
         <tuple/>
       </tuple>
     </pickle>
     <pickle>
       <dictionary>
+        <item>
+            <key> <string>delegated_list</string> </key>
+            <value>
+              <list/>
+            </value>
+        </item>
         <item>
             <key> <string>id</string> </key>
             <value> <string>my_description</string> </value>
@@ -21,22 +27,6 @@
                     <key> <string>external_validator_failed</string> </key>
                     <value> <string>The input failed the external validator.</string> </value>
                 </item>
-                <item>
-                    <key> <string>line_too_long</string> </key>
-                    <value> <string>A line was too long.</string> </value>
-                </item>
-                <item>
-                    <key> <string>required_not_found</string> </key>
-                    <value> <string>Input is required but no input given.</string> </value>
-                </item>
-                <item>
-                    <key> <string>too_long</string> </key>
-                    <value> <string>You entered too many characters.</string> </value>
-                </item>
-                <item>
-                    <key> <string>too_many_lines</string> </key>
-                    <value> <string>You entered too many lines.</string> </value>
-                </item>
               </dictionary>
             </value>
         </item>
@@ -45,75 +35,15 @@
             <value>
               <dictionary>
                 <item>
-                    <key> <string>alternate_name</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>css_class</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>default</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>description</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>editable</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>enabled</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>external_validator</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>extra</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>height</string> </key>
+                    <key> <string>field_id</string> </key>
                     <value> <string></string> </value>
                 </item>
                 <item>
-                    <key> <string>hidden</string> </key>
+                    <key> <string>form_id</string> </key>
                     <value> <string></string> </value>
                 </item>
                 <item>
-                    <key> <string>max_length</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>max_linelength</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>max_lines</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>required</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>title</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>unicode</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>whitespace_preserve</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>width</string> </key>
+                    <key> <string>target</string> </key>
                     <value> <string></string> </value>
                 </item>
               </dictionary>
@@ -124,75 +54,15 @@
             <value>
               <dictionary>
                 <item>
-                    <key> <string>alternate_name</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>css_class</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>default</string> </key>
+                    <key> <string>field_id</string> </key>
                     <value> <string></string> </value>
                 </item>
                 <item>
-                    <key> <string>description</string> </key>
+                    <key> <string>form_id</string> </key>
                     <value> <string></string> </value>
                 </item>
                 <item>
-                    <key> <string>editable</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>enabled</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>external_validator</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>extra</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>height</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>hidden</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>max_length</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>max_linelength</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>max_lines</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>required</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>title</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>unicode</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>whitespace_preserve</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>width</string> </key>
+                    <key> <string>target</string> </key>
                     <value> <string></string> </value>
                 </item>
               </dictionary>
@@ -203,76 +73,16 @@
             <value>
               <dictionary>
                 <item>
-                    <key> <string>alternate_name</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>css_class</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>default</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>description</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>editable</string> </key>
-                    <value> <int>1</int> </value>
-                </item>
-                <item>
-                    <key> <string>enabled</string> </key>
-                    <value> <int>1</int> </value>
-                </item>
-                <item>
-                    <key> <string>external_validator</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>extra</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>height</string> </key>
-                    <value> <int>5</int> </value>
-                </item>
-                <item>
-                    <key> <string>hidden</string> </key>
-                    <value> <int>0</int> </value>
-                </item>
-                <item>
-                    <key> <string>max_length</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>max_linelength</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>max_lines</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>required</string> </key>
-                    <value> <int>0</int> </value>
-                </item>
-                <item>
-                    <key> <string>title</string> </key>
-                    <value> <string>Description</string> </value>
-                </item>
-                <item>
-                    <key> <string>unicode</string> </key>
-                    <value> <int>0</int> </value>
+                    <key> <string>field_id</string> </key>
+                    <value> <string>my_description</string> </value>
                 </item>
                 <item>
-                    <key> <string>whitespace_preserve</string> </key>
-                    <value> <int>0</int> </value>
+                    <key> <string>form_id</string> </key>
+                    <value> <string>Base_viewFieldLibrary</string> </value>
                 </item>
                 <item>
-                    <key> <string>width</string> </key>
-                    <value> <int>40</int> </value>
+                    <key> <string>target</string> </key>
+                    <value> <string>Click to edit the target</string> </value>
                 </item>
               </dictionary>
             </value>
diff --git a/bt5/erp5_base/SkinTemplateItem/portal_skins/erp5_base/SolverDecision_view/my_solver.xml b/bt5/erp5_base/SkinTemplateItem/portal_skins/erp5_base/SolverDecision_view/my_solver.xml
index 9d88678f12..d1e79c740f 100644
--- a/bt5/erp5_base/SkinTemplateItem/portal_skins/erp5_base/SolverDecision_view/my_solver.xml
+++ b/bt5/erp5_base/SkinTemplateItem/portal_skins/erp5_base/SolverDecision_view/my_solver.xml
@@ -3,12 +3,21 @@
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
       <tuple>
-        <global name="ListField" module="Products.Formulator.StandardFields"/>
+        <global name="ProxyField" module="Products.ERP5Form.ProxyField"/>
         <tuple/>
       </tuple>
     </pickle>
     <pickle>
       <dictionary>
+        <item>
+            <key> <string>delegated_list</string> </key>
+            <value>
+              <list>
+                <string>title</string>
+                <string>items</string>
+              </list>
+            </value>
+        </item>
         <item>
             <key> <string>id</string> </key>
             <value> <string>my_solver</string> </value>
@@ -21,14 +30,6 @@
                     <key> <string>external_validator_failed</string> </key>
                     <value> <string>The input failed the external validator.</string> </value>
                 </item>
-                <item>
-                    <key> <string>required_not_found</string> </key>
-                    <value> <string>Input is required but no input given.</string> </value>
-                </item>
-                <item>
-                    <key> <string>unknown_selection</string> </key>
-                    <value> <string>You selected an item that was not in the list.</string> </value>
-                </item>
               </dictionary>
             </value>
         </item>
@@ -37,71 +38,15 @@
             <value>
               <dictionary>
                 <item>
-                    <key> <string>alternate_name</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>css_class</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>default</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>description</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>editable</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>enabled</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>external_validator</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>extra</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>extra_item</string> </key>
+                    <key> <string>field_id</string> </key>
                     <value> <string></string> </value>
                 </item>
                 <item>
-                    <key> <string>first_item</string> </key>
+                    <key> <string>form_id</string> </key>
                     <value> <string></string> </value>
                 </item>
                 <item>
-                    <key> <string>hidden</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>items</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>required</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>size</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>title</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>unicode</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>whitespace_preserve</string> </key>
+                    <key> <string>target</string> </key>
                     <value> <string></string> </value>
                 </item>
               </dictionary>
@@ -112,47 +57,11 @@
             <value>
               <dictionary>
                 <item>
-                    <key> <string>alternate_name</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>css_class</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>default</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>description</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>editable</string> </key>
+                    <key> <string>field_id</string> </key>
                     <value> <string></string> </value>
                 </item>
                 <item>
-                    <key> <string>enabled</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>external_validator</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>extra</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>extra_item</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>first_item</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>hidden</string> </key>
+                    <key> <string>form_id</string> </key>
                     <value> <string></string> </value>
                 </item>
                 <item>
@@ -162,23 +71,7 @@
                     </value>
                 </item>
                 <item>
-                    <key> <string>required</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>size</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>title</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>unicode</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>whitespace_preserve</string> </key>
+                    <key> <string>target</string> </key>
                     <value> <string></string> </value>
                 </item>
               </dictionary>
@@ -189,75 +82,21 @@
             <value>
               <dictionary>
                 <item>
-                    <key> <string>alternate_name</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>css_class</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>default</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>description</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>editable</string> </key>
-                    <value> <int>1</int> </value>
-                </item>
-                <item>
-                    <key> <string>enabled</string> </key>
-                    <value> <int>1</int> </value>
-                </item>
-                <item>
-                    <key> <string>external_validator</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>extra</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>extra_item</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>first_item</string> </key>
-                    <value> <int>0</int> </value>
-                </item>
-                <item>
-                    <key> <string>hidden</string> </key>
-                    <value> <int>0</int> </value>
-                </item>
-                <item>
-                    <key> <string>items</string> </key>
-                    <value>
-                      <list/>
-                    </value>
+                    <key> <string>field_id</string> </key>
+                    <value> <string>my_list_field</string> </value>
                 </item>
                 <item>
-                    <key> <string>required</string> </key>
-                    <value> <int>0</int> </value>
+                    <key> <string>form_id</string> </key>
+                    <value> <string>Base_viewFieldLibrary</string> </value>
                 </item>
                 <item>
-                    <key> <string>size</string> </key>
-                    <value> <int>1</int> </value>
+                    <key> <string>target</string> </key>
+                    <value> <string>Click to edit the target</string> </value>
                 </item>
                 <item>
                     <key> <string>title</string> </key>
                     <value> <string>Target Solver</string> </value>
                 </item>
-                <item>
-                    <key> <string>unicode</string> </key>
-                    <value> <int>0</int> </value>
-                </item>
-                <item>
-                    <key> <string>whitespace_preserve</string> </key>
-                    <value> <int>0</int> </value>
-                </item>
               </dictionary>
             </value>
         </item>
diff --git a/bt5/erp5_base/bt/revision b/bt5/erp5_base/bt/revision
index b3fa96d20f..2cc8905634 100644
--- a/bt5/erp5_base/bt/revision
+++ b/bt5/erp5_base/bt/revision
@@ -1 +1 @@
-819
+820
\ No newline at end of file
-- 
2.30.9


From 5e85a221ee1589d28831a0a52c44ddce1c25589d Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?J=C3=A9rome=20Perrin?= <jerome@nexedi.com>
Date: Tue, 3 Aug 2010 07:51:51 +0000
Subject: [PATCH 234/270] sometimes we do not have object_view actions

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@37427 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 .../portal_skins/erp5_core/ERP5Site_getCurrentAction.xml    | 6 +++---
 product/ERP5/bootstrap/erp5_core/bt/revision                | 2 +-
 2 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/product/ERP5/bootstrap/erp5_core/SkinTemplateItem/portal_skins/erp5_core/ERP5Site_getCurrentAction.xml b/product/ERP5/bootstrap/erp5_core/SkinTemplateItem/portal_skins/erp5_core/ERP5Site_getCurrentAction.xml
index 7c7deadfe6..aa1030bd12 100644
--- a/product/ERP5/bootstrap/erp5_core/SkinTemplateItem/portal_skins/erp5_core/ERP5Site_getCurrentAction.xml
+++ b/product/ERP5/bootstrap/erp5_core/SkinTemplateItem/portal_skins/erp5_core/ERP5Site_getCurrentAction.xml
@@ -55,7 +55,7 @@
             <key> <string>_body</string> </key>
             <value> <string># Return the current action to know which tab is selected\n
 \n
-for action in actions[\'object_view\']:\n
+for action in actions.get(\'object_view\', []):\n
   if current_url == action[\'url\'].split(\'?\')[0]:\n
     return action\n
 </string> </value>
@@ -97,9 +97,9 @@ for action in actions[\'object_view\']:\n
                             <string>current_url</string>
                             <string>actions</string>
                             <string>_getiter_</string>
-                            <string>_getitem_</string>
-                            <string>action</string>
                             <string>_getattr_</string>
+                            <string>action</string>
+                            <string>_getitem_</string>
                           </tuple>
                         </value>
                     </item>
diff --git a/product/ERP5/bootstrap/erp5_core/bt/revision b/product/ERP5/bootstrap/erp5_core/bt/revision
index 7fc5e9be95..7c4d9d12ed 100644
--- a/product/ERP5/bootstrap/erp5_core/bt/revision
+++ b/product/ERP5/bootstrap/erp5_core/bt/revision
@@ -1 +1 @@
-1642
\ No newline at end of file
+1643
\ No newline at end of file
-- 
2.30.9


From e5cb4639d8d40772dedb326a39b39f53d0b39806 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?J=C3=A9rome=20Perrin?= <jerome@nexedi.com>
Date: Tue, 3 Aug 2010 07:54:33 +0000
Subject: [PATCH 235/270] missing in r36393

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@37429 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 .../workflow_chain_type.xml                                   | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/product/ERP5/bootstrap/erp5_core/PortalTypeWorkflowChainTemplateItem/workflow_chain_type.xml b/product/ERP5/bootstrap/erp5_core/PortalTypeWorkflowChainTemplateItem/workflow_chain_type.xml
index 7cf0fb0b13..166e61d89a 100644
--- a/product/ERP5/bootstrap/erp5_core/PortalTypeWorkflowChainTemplateItem/workflow_chain_type.xml
+++ b/product/ERP5/bootstrap/erp5_core/PortalTypeWorkflowChainTemplateItem/workflow_chain_type.xml
@@ -3,6 +3,10 @@
   <type>Action Information</type>
   <workflow>base_type_interaction_workflow</workflow>
  </chain>
+ <chain>
+  <type>Alarm</type>
+  <workflow>edit_workflow</workflow>
+ </chain>
  <chain>
   <type>Base Category</type>
   <workflow>edit_workflow</workflow>
-- 
2.30.9


From b8a45dd38aae60d292430d0c14d1256e4d2abe57 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?J=C3=A9rome=20Perrin?= <jerome@nexedi.com>
Date: Tue, 3 Aug 2010 08:10:05 +0000
Subject: [PATCH 236/270] remove portal type filter

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@37431 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 .../interactions/setBaseContribution.xml          | 12 +-----------
 .../interactions/setQuantityUnit.xml              | 15 ++-------------
 bt5/erp5_base/bt/revision                         |  2 +-
 3 files changed, 4 insertions(+), 25 deletions(-)

diff --git a/bt5/erp5_base/WorkflowTemplateItem/portal_workflow/movement_resource_interaction_workflow/interactions/setBaseContribution.xml b/bt5/erp5_base/WorkflowTemplateItem/portal_workflow/movement_resource_interaction_workflow/interactions/setBaseContribution.xml
index a432c9f76c..8a5e0a4e6e 100644
--- a/bt5/erp5_base/WorkflowTemplateItem/portal_workflow/movement_resource_interaction_workflow/interactions/setBaseContribution.xml
+++ b/bt5/erp5_base/WorkflowTemplateItem/portal_workflow/movement_resource_interaction_workflow/interactions/setBaseContribution.xml
@@ -70,17 +70,7 @@
         <item>
             <key> <string>portal_type_filter</string> </key>
             <value>
-              <list>
-                <string>Internal Order Line</string>
-                <string>Internal Packing List Line</string>
-                <string>Invoice Line</string>
-                <string>Purchase Order Line</string>
-                <string>Purchase Packing List Line</string>
-                <string>Returned Purchase Packing List Line</string>
-                <string>Returned Sale Packing List Line</string>
-                <string>Sale Order Line</string>
-                <string>Sale Packing List Line</string>
-              </list>
+              <none/>
             </value>
         </item>
         <item>
diff --git a/bt5/erp5_base/WorkflowTemplateItem/portal_workflow/movement_resource_interaction_workflow/interactions/setQuantityUnit.xml b/bt5/erp5_base/WorkflowTemplateItem/portal_workflow/movement_resource_interaction_workflow/interactions/setQuantityUnit.xml
index 57e8f953d5..705a2786e1 100644
--- a/bt5/erp5_base/WorkflowTemplateItem/portal_workflow/movement_resource_interaction_workflow/interactions/setQuantityUnit.xml
+++ b/bt5/erp5_base/WorkflowTemplateItem/portal_workflow/movement_resource_interaction_workflow/interactions/setQuantityUnit.xml
@@ -65,23 +65,12 @@
         </item>
         <item>
             <key> <string>once_per_transaction</string> </key>
-            <value> <int>0</int> </value>
+            <value> <int>1</int> </value>
         </item>
         <item>
             <key> <string>portal_type_filter</string> </key>
             <value>
-              <list>
-                <string>Accounting Transaction Line</string>
-                <string>Internal Order Line</string>
-                <string>Internal Packing List Line</string>
-                <string>Invoice Line</string>
-                <string>Purchase Order Line</string>
-                <string>Purchase Packing List Line</string>
-                <string>Returned Purchase Packing List Line</string>
-                <string>Returned Sale Packing List Line</string>
-                <string>Sale Order Line</string>
-                <string>Sale Packing List Line</string>
-              </list>
+              <none/>
             </value>
         </item>
         <item>
diff --git a/bt5/erp5_base/bt/revision b/bt5/erp5_base/bt/revision
index 2cc8905634..e458f1411c 100644
--- a/bt5/erp5_base/bt/revision
+++ b/bt5/erp5_base/bt/revision
@@ -1 +1 @@
-820
\ No newline at end of file
+821
\ No newline at end of file
-- 
2.30.9


From c2525f4ace9e8b4f7f3848ded129acc8f902a20e Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?J=C3=A9rome=20Perrin?= <jerome@nexedi.com>
Date: Tue, 3 Aug 2010 08:14:45 +0000
Subject: [PATCH 237/270] also copy the default use from the resource

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@37433 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 .../interactions/setUse.xml                   |  93 ++++++++++++
 .../scripts/Movement_copyUseFromResource.xml  | 138 ++++++++++++++++++
 bt5/erp5_base/bt/revision                     |   2 +-
 3 files changed, 232 insertions(+), 1 deletion(-)
 create mode 100644 bt5/erp5_base/WorkflowTemplateItem/portal_workflow/movement_resource_interaction_workflow/interactions/setUse.xml
 create mode 100644 bt5/erp5_base/WorkflowTemplateItem/portal_workflow/movement_resource_interaction_workflow/scripts/Movement_copyUseFromResource.xml

diff --git a/bt5/erp5_base/WorkflowTemplateItem/portal_workflow/movement_resource_interaction_workflow/interactions/setUse.xml b/bt5/erp5_base/WorkflowTemplateItem/portal_workflow/movement_resource_interaction_workflow/interactions/setUse.xml
new file mode 100644
index 0000000000..c2397a4a39
--- /dev/null
+++ b/bt5/erp5_base/WorkflowTemplateItem/portal_workflow/movement_resource_interaction_workflow/interactions/setUse.xml
@@ -0,0 +1,93 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="InteractionDefinition" module="Products.ERP5.Interaction"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>actbox_category</string> </key>
+            <value> <string>workflow</string> </value>
+        </item>
+        <item>
+            <key> <string>actbox_name</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>actbox_url</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>activate_script_name</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+        <item>
+            <key> <string>after_script_name</string> </key>
+            <value>
+              <list>
+                <string>Movement_copyUseFromResource</string>
+              </list>
+            </value>
+        </item>
+        <item>
+            <key> <string>before_commit_script_name</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+        <item>
+            <key> <string>description</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>guard</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>setUse</string> </value>
+        </item>
+        <item>
+            <key> <string>method_id</string> </key>
+            <value>
+              <list>
+                <string>_setResource.*</string>
+              </list>
+            </value>
+        </item>
+        <item>
+            <key> <string>once_per_transaction</string> </key>
+            <value> <int>1</int> </value>
+        </item>
+        <item>
+            <key> <string>portal_type_filter</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>script_name</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>trigger_type</string> </key>
+            <value> <int>2</int> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_base/WorkflowTemplateItem/portal_workflow/movement_resource_interaction_workflow/scripts/Movement_copyUseFromResource.xml b/bt5/erp5_base/WorkflowTemplateItem/portal_workflow/movement_resource_interaction_workflow/scripts/Movement_copyUseFromResource.xml
new file mode 100644
index 0000000000..22c0e9a3ef
--- /dev/null
+++ b/bt5/erp5_base/WorkflowTemplateItem/portal_workflow/movement_resource_interaction_workflow/scripts/Movement_copyUseFromResource.xml
@@ -0,0 +1,138 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>Script_magic</string> </key>
+            <value> <int>3</int> </value>
+        </item>
+        <item>
+            <key> <string>_bind_names</string> </key>
+            <value>
+              <object>
+                <klass>
+                  <global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/>
+                </klass>
+                <tuple/>
+                <state>
+                  <dictionary>
+                    <item>
+                        <key> <string>_asgns</string> </key>
+                        <value>
+                          <dictionary>
+                            <item>
+                                <key> <string>name_container</string> </key>
+                                <value> <string>container</string> </value>
+                            </item>
+                            <item>
+                                <key> <string>name_context</string> </key>
+                                <value> <string>context</string> </value>
+                            </item>
+                            <item>
+                                <key> <string>name_m_self</string> </key>
+                                <value> <string>script</string> </value>
+                            </item>
+                            <item>
+                                <key> <string>name_subpath</string> </key>
+                                <value> <string>traverse_subpath</string> </value>
+                            </item>
+                          </dictionary>
+                        </value>
+                    </item>
+                  </dictionary>
+                </state>
+              </object>
+            </value>
+        </item>
+        <item>
+            <key> <string>_body</string> </key>
+            <value> <string>movement = state_change[\'object\']\n
+\n
+resource = movement.getResourceValue()\n
+if resource is not None:\n
+  movement.setUse(resource.getDefaultUse())\n
+</string> </value>
+        </item>
+        <item>
+            <key> <string>_code</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>_params</string> </key>
+            <value> <string>state_change</string> </value>
+        </item>
+        <item>
+            <key> <string>_proxy_roles</string> </key>
+            <value>
+              <tuple>
+                <string>Manager</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>errors</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+        <item>
+            <key> <string>func_code</string> </key>
+            <value>
+              <object>
+                <klass>
+                  <global name="FuncCode" module="Shared.DC.Scripts.Signature"/>
+                </klass>
+                <tuple/>
+                <state>
+                  <dictionary>
+                    <item>
+                        <key> <string>co_argcount</string> </key>
+                        <value> <int>1</int> </value>
+                    </item>
+                    <item>
+                        <key> <string>co_varnames</string> </key>
+                        <value>
+                          <tuple>
+                            <string>state_change</string>
+                            <string>_getitem_</string>
+                            <string>movement</string>
+                            <string>_getattr_</string>
+                            <string>resource</string>
+                            <string>None</string>
+                          </tuple>
+                        </value>
+                    </item>
+                  </dictionary>
+                </state>
+              </object>
+            </value>
+        </item>
+        <item>
+            <key> <string>func_defaults</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>Movement_copyUseFromResource</string> </value>
+        </item>
+        <item>
+            <key> <string>warnings</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_base/bt/revision b/bt5/erp5_base/bt/revision
index e458f1411c..035d0f0c1d 100644
--- a/bt5/erp5_base/bt/revision
+++ b/bt5/erp5_base/bt/revision
@@ -1 +1 @@
-821
\ No newline at end of file
+822
\ No newline at end of file
-- 
2.30.9


From f1c02c4c898cabd44d35dfafb524456c441c54bb Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?J=C3=A9rome=20Perrin?= <jerome@nexedi.com>
Date: Tue, 3 Aug 2010 09:17:24 +0000
Subject: [PATCH 238/270] movement_resource_interaction_workflow is not needed
 on Accounting Lines

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@37436 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 .../PortalTypeWorkflowChainTemplateItem/workflow_chain_type.xml | 2 +-
 bt5/erp5_accounting/bt/revision                                 | 2 +-
 bt5/erp5_accounting/bt/template_portal_type_workflow_chain_list | 1 -
 3 files changed, 2 insertions(+), 3 deletions(-)

diff --git a/bt5/erp5_accounting/PortalTypeWorkflowChainTemplateItem/workflow_chain_type.xml b/bt5/erp5_accounting/PortalTypeWorkflowChainTemplateItem/workflow_chain_type.xml
index c2f0a86bda..99a4d2d1fa 100644
--- a/bt5/erp5_accounting/PortalTypeWorkflowChainTemplateItem/workflow_chain_type.xml
+++ b/bt5/erp5_accounting/PortalTypeWorkflowChainTemplateItem/workflow_chain_type.xml
@@ -13,7 +13,7 @@
  </chain>
  <chain>
   <type>Accounting Transaction Line</type>
-  <workflow>delivery_movement_causality_interaction_workflow, delivery_movement_simulation_interaction_workflow, edit_workflow, movement_resource_interaction_workflow</workflow>
+  <workflow>delivery_movement_causality_interaction_workflow, delivery_movement_simulation_interaction_workflow, edit_workflow</workflow>
  </chain>
  <chain>
   <type>Accounting Transaction Root Simulation Rule</type>
diff --git a/bt5/erp5_accounting/bt/revision b/bt5/erp5_accounting/bt/revision
index 0ef1886d20..db7ad20dcd 100644
--- a/bt5/erp5_accounting/bt/revision
+++ b/bt5/erp5_accounting/bt/revision
@@ -1 +1 @@
-1330
\ No newline at end of file
+1331
\ No newline at end of file
diff --git a/bt5/erp5_accounting/bt/template_portal_type_workflow_chain_list b/bt5/erp5_accounting/bt/template_portal_type_workflow_chain_list
index 6656e55b6a..0d23df8d50 100644
--- a/bt5/erp5_accounting/bt/template_portal_type_workflow_chain_list
+++ b/bt5/erp5_accounting/bt/template_portal_type_workflow_chain_list
@@ -5,7 +5,6 @@ Accounting Period | edit_workflow
 Accounting Transaction Line | delivery_movement_causality_interaction_workflow
 Accounting Transaction Line | delivery_movement_simulation_interaction_workflow
 Accounting Transaction Line | edit_workflow
-Accounting Transaction Line | movement_resource_interaction_workflow
 Accounting Transaction Root Simulation Rule | edit_workflow
 Accounting Transaction Root Simulation Rule | rule_validation_workflow
 Accounting Transaction | accounting_workflow
-- 
2.30.9


From 1f247520e31bffe163d713a1ec83d0e26ced128b Mon Sep 17 00:00:00 2001
From: Yusuke Muraoka <yusuke@nexedi.com>
Date: Tue, 3 Aug 2010 14:11:12 +0000
Subject: [PATCH 239/270] 2010-08-03 yusuke * Add revised version of japanese
 gap category tree which is rather according to pcg.

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@37440 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 .../balance_sheet_report_l10n_jp.xml          |  87 ++
 .../portal_categories/gap/jp/afbe2.xml        |  77 ++
 .../portal_categories/gap/jp/afbe2/1.xml      |  77 ++
 .../portal_categories/gap/jp/afbe2/1/10.xml   |  77 ++
 .../gap/jp/afbe2/1/10/101.xml                 |  37 +
 .../gap/jp/afbe2/1/10/102.xml                 |  37 +
 .../gap/jp/afbe2/1/10/103.xml                 |  77 ++
 .../gap/jp/afbe2/1/10/103/1031.xml            |  37 +
 .../gap/jp/afbe2/1/10/103/1032.xml            |  37 +
 .../gap/jp/afbe2/1/10/104.xml                 |  77 ++
 .../gap/jp/afbe2/1/10/104/1041.xml            |  37 +
 .../gap/jp/afbe2/1/10/104/1042.xml            |  77 ++
 .../gap/jp/afbe2/1/10/104/1042/10421.xml      |  37 +
 .../gap/jp/afbe2/1/10/104/1042/10422.xml      |  37 +
 .../gap/jp/afbe2/1/10/105.xml                 |  37 +
 .../gap/jp/afbe2/1/10/106.xml                 |  37 +
 .../portal_categories/gap/jp/afbe2/1/11.xml   |  77 ++
 .../gap/jp/afbe2/1/11/111.xml                 |  37 +
 .../gap/jp/afbe2/1/11/112.xml                 |  37 +
 .../gap/jp/afbe2/1/11/113.xml                 |  37 +
 .../gap/jp/afbe2/1/11/114.xml                 |  37 +
 .../portal_categories/gap/jp/afbe2/1/12.xml   |  37 +
 .../portal_categories/gap/jp/afbe2/1/13.xml   |  37 +
 .../portal_categories/gap/jp/afbe2/1/14.xml   |  37 +
 .../portal_categories/gap/jp/afbe2/2.xml      |  77 ++
 .../portal_categories/gap/jp/afbe2/2/20.xml   |  77 ++
 .../gap/jp/afbe2/2/20/201.xml                 |  77 ++
 .../gap/jp/afbe2/2/20/201/2011.xml            |  77 ++
 .../gap/jp/afbe2/2/20/201/2011/20111.xml      |  37 +
 .../gap/jp/afbe2/2/20/201/2011/20112.xml      |  37 +
 .../gap/jp/afbe2/2/20/201/2011/20113.xml      |  37 +
 .../gap/jp/afbe2/2/20/201/2012.xml            |  77 ++
 .../gap/jp/afbe2/2/20/201/2012/20123.xml      |  37 +
 .../gap/jp/afbe2/2/20/201/2012/20124.xml      |  37 +
 .../gap/jp/afbe2/2/20/203.xml                 |  37 +
 .../gap/jp/afbe2/2/20/205.xml                 |  77 ++
 .../gap/jp/afbe2/2/20/205/2051.xml            |  37 +
 .../gap/jp/afbe2/2/20/205/2052.xml            |  37 +
 .../gap/jp/afbe2/2/20/205/2053.xml            |  37 +
 .../gap/jp/afbe2/2/20/205/2054.xml            |  37 +
 .../gap/jp/afbe2/2/20/206.xml                 |  77 ++
 .../gap/jp/afbe2/2/20/206/2061.xml            |  37 +
 .../gap/jp/afbe2/2/20/206/2062.xml            |  37 +
 .../gap/jp/afbe2/2/20/207.xml                 |  77 ++
 .../gap/jp/afbe2/2/20/207/2071.xml            |  37 +
 .../gap/jp/afbe2/2/20/207/2072.xml            |  37 +
 .../gap/jp/afbe2/2/20/208.xml                 |  77 ++
 .../gap/jp/afbe2/2/20/208/2081.xml            |  37 +
 .../gap/jp/afbe2/2/20/208/2082.xml            |  37 +
 .../portal_categories/gap/jp/afbe2/2/21.xml   |  77 ++
 .../gap/jp/afbe2/2/21/211.xml                 |  37 +
 .../gap/jp/afbe2/2/21/212.xml                 |  37 +
 .../gap/jp/afbe2/2/21/213.xml                 |  77 ++
 .../gap/jp/afbe2/2/21/213/2131.xml            |  37 +
 .../gap/jp/afbe2/2/21/213/2138.xml            |  37 +
 .../gap/jp/afbe2/2/21/215.xml                 |  37 +
 .../gap/jp/afbe2/2/21/218.xml                 |  77 ++
 .../gap/jp/afbe2/2/21/218/2182.xml            |  77 ++
 .../gap/jp/afbe2/2/21/218/2182/21821.xml      |  37 +
 .../gap/jp/afbe2/2/21/218/2182/21822.xml      |  37 +
 .../portal_categories/gap/jp/afbe2/2/27.xml   |  77 ++
 .../gap/jp/afbe2/2/27/271.xml                 |  77 ++
 .../gap/jp/afbe2/2/27/271/2711.xml            |  37 +
 .../gap/jp/afbe2/2/27/271/2712.xml            |  37 +
 .../gap/jp/afbe2/2/27/271/2718.xml            |  77 ++
 .../gap/jp/afbe2/2/27/271/2718/27181.xml      |  37 +
 .../gap/jp/afbe2/2/27/271/2718/27182.xml      |  37 +
 .../gap/jp/afbe2/2/27/271/2718/27183.xml      |  77 ++
 .../jp/afbe2/2/27/271/2718/27183/271831.xml   |  37 +
 .../jp/afbe2/2/27/271/2718/27183/271832.xml   |  37 +
 .../jp/afbe2/2/27/271/2718/27183/271833.xml   |  37 +
 .../gap/jp/afbe2/2/27/272.xml                 |  77 ++
 .../gap/jp/afbe2/2/27/272/2728.xml            |  77 ++
 .../gap/jp/afbe2/2/27/272/2728/27281.xml      |  37 +
 .../gap/jp/afbe2/2/27/272/2728/27282.xml      |  37 +
 .../gap/jp/afbe2/2/27/272/2728/27283.xml      |  77 ++
 .../jp/afbe2/2/27/272/2728/27283/272831.xml   |  37 +
 .../jp/afbe2/2/27/272/2728/27283/272832.xml   |  37 +
 .../jp/afbe2/2/27/272/2728/27283/272833.xml   |  37 +
 .../portal_categories/gap/jp/afbe2/2/28.xml   |  37 +
 .../portal_categories/gap/jp/afbe2/3.xml      |  77 ++
 .../portal_categories/gap/jp/afbe2/3/31.xml   |  37 +
 .../portal_categories/gap/jp/afbe2/3/32.xml   |  37 +
 .../portal_categories/gap/jp/afbe2/3/33.xml   |  37 +
 .../portal_categories/gap/jp/afbe2/3/34.xml   |  37 +
 .../portal_categories/gap/jp/afbe2/3/35.xml   |  37 +
 .../portal_categories/gap/jp/afbe2/3/36.xml   |  37 +
 .../portal_categories/gap/jp/afbe2/3/39.xml   |  37 +
 .../portal_categories/gap/jp/afbe2/4.xml      |  77 ++
 .../portal_categories/gap/jp/afbe2/4/40.xml   |  77 ++
 .../gap/jp/afbe2/4/40/401.xml                 |  37 +
 .../gap/jp/afbe2/4/40/402.xml                 |  37 +
 .../gap/jp/afbe2/4/40/403.xml                 |  37 +
 .../gap/jp/afbe2/4/40/404.xml                 |  37 +
 .../gap/jp/afbe2/4/40/405.xml                 |  37 +
 .../gap/jp/afbe2/4/40/406.xml                 |  77 ++
 .../gap/jp/afbe2/4/40/406/4061.xml            |  37 +
 .../gap/jp/afbe2/4/40/406/4062.xml            |  37 +
 .../gap/jp/afbe2/4/40/406/4063.xml            |  37 +
 .../gap/jp/afbe2/4/40/407.xml                 |  37 +
 .../gap/jp/afbe2/4/40/408.xml                 |  37 +
 .../portal_categories/gap/jp/afbe2/4/41.xml   |  83 ++
 .../gap/jp/afbe2/4/41/411.xml                 |  49 +
 .../gap/jp/afbe2/4/41/412.xml                 |  89 ++
 .../gap/jp/afbe2/4/41/412/4121.xml            |  37 +
 .../gap/jp/afbe2/4/41/412/4122.xml            |  37 +
 .../gap/jp/afbe2/4/41/412/4123.xml            |  37 +
 .../gap/jp/afbe2/4/41/413.xml                 |  49 +
 .../gap/jp/afbe2/4/41/414.xml                 |  49 +
 .../gap/jp/afbe2/4/41/415.xml                 |  49 +
 .../gap/jp/afbe2/4/41/416.xml                 |  89 ++
 .../gap/jp/afbe2/4/41/416/4161.xml            |  37 +
 .../gap/jp/afbe2/4/41/416/4162.xml            |  37 +
 .../gap/jp/afbe2/4/41/417.xml                 |  49 +
 .../gap/jp/afbe2/4/41/418.xml                 |  49 +
 .../portal_categories/gap/jp/afbe2/4/42.xml   |  77 ++
 .../gap/jp/afbe2/4/42/421.xml                 |  37 +
 .../gap/jp/afbe2/4/42/422.xml                 |  37 +
 .../gap/jp/afbe2/4/42/423.xml                 |  37 +
 .../portal_categories/gap/jp/afbe2/4/44.xml   |  77 ++
 .../gap/jp/afbe2/4/44/441.xml                 |  83 ++
 .../gap/jp/afbe2/4/44/441/4411.xml            |  95 ++
 .../gap/jp/afbe2/4/44/441/4411/44111.xml      |  49 +
 .../gap/jp/afbe2/4/44/441/4411/44112.xml      |  49 +
 .../gap/jp/afbe2/4/44/441/4412.xml            |  95 ++
 .../gap/jp/afbe2/4/44/441/4412/44121.xml      |  57 ++
 .../gap/jp/afbe2/4/44/441/4412/44122.xml      |  57 ++
 .../gap/jp/afbe2/4/44/443.xml                 |  77 ++
 .../gap/jp/afbe2/4/44/443/4431.xml            |  37 +
 .../gap/jp/afbe2/4/44/443/4432.xml            |  37 +
 .../portal_categories/gap/jp/afbe2/4/46.xml   |  83 ++
 .../gap/jp/afbe2/4/46/461.xml                 |  93 ++
 .../gap/jp/afbe2/4/46/461/4611.xml            |  37 +
 .../gap/jp/afbe2/4/46/461/4612.xml            |  37 +
 .../gap/jp/afbe2/4/46/462.xml                 |  95 ++
 .../gap/jp/afbe2/4/46/462/4621.xml            |  49 +
 .../gap/jp/afbe2/4/46/462/4622.xml            |  49 +
 .../gap/jp/afbe2/4/46/462/4623.xml            |  49 +
 .../gap/jp/afbe2/4/46/462/4624.xml            |  49 +
 .../gap/jp/afbe2/4/46/463.xml                 |  49 +
 .../portal_categories/gap/jp/afbe2/4/49.xml   |  37 +
 .../portal_categories/gap/jp/afbe2/5.xml      |  77 ++
 .../portal_categories/gap/jp/afbe2/5/50.xml   |  77 ++
 .../gap/jp/afbe2/5/50/502.xml                 |  37 +
 .../gap/jp/afbe2/5/50/503.xml                 |  37 +
 .../gap/jp/afbe2/5/50/505.xml                 |  37 +
 .../portal_categories/gap/jp/afbe2/5/51.xml   |  37 +
 .../portal_categories/gap/jp/afbe2/5/53.xml   |  77 ++
 .../gap/jp/afbe2/5/53/531.xml                 |  37 +
 .../gap/jp/afbe2/5/53/532.xml                 |  37 +
 .../portal_categories/gap/jp/afbe2/6.xml      |  77 ++
 .../portal_categories/gap/jp/afbe2/6/60.xml   |  77 ++
 .../gap/jp/afbe2/6/60/601.xml                 |  37 +
 .../gap/jp/afbe2/6/60/602.xml                 |  77 ++
 .../gap/jp/afbe2/6/60/602/6021.xml            |  77 ++
 .../gap/jp/afbe2/6/60/602/6021/60211.xml      |  37 +
 .../gap/jp/afbe2/6/60/602/6021/60212.xml      |  37 +
 .../gap/jp/afbe2/6/60/602/6021/60213.xml      |  37 +
 .../gap/jp/afbe2/6/60/603.xml                 |  77 ++
 .../gap/jp/afbe2/6/60/603/6031.xml            |  37 +
 .../gap/jp/afbe2/6/60/603/6032.xml            |  77 ++
 .../gap/jp/afbe2/6/60/603/6032/60321.xml      |  37 +
 .../gap/jp/afbe2/6/60/603/6032/60322.xml      |  37 +
 .../gap/jp/afbe2/6/60/603/6032/60323.xml      |  37 +
 .../gap/jp/afbe2/6/60/603/6032/60324.xml      |  37 +
 .../gap/jp/afbe2/6/60/603/6032/60325.xml      |  77 ++
 .../jp/afbe2/6/60/603/6032/60325/603251.xml   |  37 +
 .../jp/afbe2/6/60/603/6032/60325/603252.xml   |  37 +
 .../gap/jp/afbe2/6/60/603/6033.xml            |  37 +
 .../gap/jp/afbe2/6/60/604.xml                 |  37 +
 .../portal_categories/gap/jp/afbe2/6/61.xml   |  77 ++
 .../gap/jp/afbe2/6/61/611.xml                 |  37 +
 .../gap/jp/afbe2/6/61/612.xml                 |  77 ++
 .../gap/jp/afbe2/6/61/612/6121.xml            |  37 +
 .../gap/jp/afbe2/6/61/612/6122.xml            |  37 +
 .../gap/jp/afbe2/6/61/613.xml                 |  37 +
 .../gap/jp/afbe2/6/61/614.xml                 |  37 +
 .../gap/jp/afbe2/6/61/615.xml                 |  37 +
 .../gap/jp/afbe2/6/61/616.xml                 |  37 +
 .../gap/jp/afbe2/6/61/619.xml                 |  77 ++
 .../gap/jp/afbe2/6/61/619/6191.xml            |  37 +
 .../gap/jp/afbe2/6/61/619/6192.xml            |  37 +
 .../gap/jp/afbe2/6/61/619/6193.xml            |  37 +
 .../gap/jp/afbe2/6/61/619/6194.xml            |  37 +
 .../gap/jp/afbe2/6/61/619/6195.xml            |  37 +
 .../portal_categories/gap/jp/afbe2/6/62.xml   |  77 ++
 .../gap/jp/afbe2/6/62/622.xml                 |  37 +
 .../gap/jp/afbe2/6/62/623.xml                 |  37 +
 .../gap/jp/afbe2/6/62/624.xml                 |  37 +
 .../gap/jp/afbe2/6/62/625.xml                 |  37 +
 .../gap/jp/afbe2/6/62/626.xml                 |  37 +
 .../gap/jp/afbe2/6/62/628.xml                 |  77 ++
 .../gap/jp/afbe2/6/62/628/6281.xml            |  37 +
 .../gap/jp/afbe2/6/62/628/6282.xml            |  37 +
 .../gap/jp/afbe2/6/62/629.xml                 |  77 ++
 .../gap/jp/afbe2/6/62/629/6291.xml            |  37 +
 .../gap/jp/afbe2/6/62/629/6292.xml            |  37 +
 .../gap/jp/afbe2/6/62/629/6293.xml            |  37 +
 .../gap/jp/afbe2/6/62/629/6294.xml            |  37 +
 .../gap/jp/afbe2/6/62/629/6295.xml            |  37 +
 .../gap/jp/afbe2/6/62/629/6296.xml            |  37 +
 .../portal_categories/gap/jp/afbe2/6/63.xml   |  77 ++
 .../gap/jp/afbe2/6/63/635.xml                 |  37 +
 .../gap/jp/afbe2/6/63/636.xml                 |  37 +
 .../portal_categories/gap/jp/afbe2/6/64.xml   |  77 ++
 .../gap/jp/afbe2/6/64/641.xml                 |  37 +
 .../gap/jp/afbe2/6/64/642.xml                 |  37 +
 .../gap/jp/afbe2/6/64/643.xml                 |  37 +
 .../gap/jp/afbe2/6/64/644.xml                 |  37 +
 .../gap/jp/afbe2/6/64/645.xml                 |  37 +
 .../gap/jp/afbe2/6/64/646.xml                 |  77 ++
 .../gap/jp/afbe2/6/64/646/6461.xml            |  37 +
 .../gap/jp/afbe2/6/64/646/6462.xml            |  37 +
 .../gap/jp/afbe2/6/64/646/6463.xml            |  37 +
 .../gap/jp/afbe2/6/64/646/6464.xml            |  37 +
 .../portal_categories/gap/jp/afbe2/6/65.xml   |  37 +
 .../portal_categories/gap/jp/afbe2/6/66.xml   |  77 ++
 .../gap/jp/afbe2/6/66/661.xml                 |  37 +
 .../gap/jp/afbe2/6/66/666.xml                 |  37 +
 .../gap/jp/afbe2/6/66/668.xml                 |  77 ++
 .../gap/jp/afbe2/6/66/668/6681.xml            |  37 +
 .../gap/jp/afbe2/6/66/668/6682.xml            |  37 +
 .../gap/jp/afbe2/6/66/668/6683.xml            |  37 +
 .../gap/jp/afbe2/6/66/668/6684.xml            |  37 +
 .../gap/jp/afbe2/6/66/668/6685.xml            |  37 +
 .../portal_categories/gap/jp/afbe2/6/67.xml   |  77 ++
 .../gap/jp/afbe2/6/67/671.xml                 |  37 +
 .../gap/jp/afbe2/6/67/672.xml                 |  37 +
 .../gap/jp/afbe2/6/67/673.xml                 |  37 +
 .../gap/jp/afbe2/6/67/674.xml                 |  37 +
 .../gap/jp/afbe2/6/67/675.xml                 |  37 +
 .../gap/jp/afbe2/6/67/676.xml                 |  37 +
 .../gap/jp/afbe2/6/67/677.xml                 |  37 +
 .../gap/jp/afbe2/6/67/678.xml                 |  77 ++
 .../gap/jp/afbe2/6/67/678/6781.xml            |  37 +
 .../gap/jp/afbe2/6/67/678/6782.xml            |  37 +
 .../gap/jp/afbe2/6/67/678/6783.xml            |  37 +
 .../portal_categories/gap/jp/afbe2/6/68.xml   |  77 ++
 .../gap/jp/afbe2/6/68/681.xml                 |  37 +
 .../gap/jp/afbe2/6/68/682.xml                 |  37 +
 .../portal_categories/gap/jp/afbe2/7.xml      |  77 ++
 .../portal_categories/gap/jp/afbe2/7/70.xml   |  77 ++
 .../gap/jp/afbe2/7/70/701.xml                 |  37 +
 .../gap/jp/afbe2/7/70/702.xml                 |  37 +
 .../gap/jp/afbe2/7/70/703.xml                 |  37 +
 .../gap/jp/afbe2/7/70/704.xml                 |  37 +
 .../gap/jp/afbe2/7/70/705.xml                 |  77 ++
 .../gap/jp/afbe2/7/70/705/7051.xml            |  37 +
 .../gap/jp/afbe2/7/70/705/7052.xml            |  37 +
 .../gap/jp/afbe2/7/70/705/7053.xml            |  37 +
 .../gap/jp/afbe2/7/70/705/7054.xml            |  37 +
 .../portal_categories/gap/jp/afbe2/7/75.xml   |  77 ++
 .../gap/jp/afbe2/7/75/751.xml                 |  37 +
 .../gap/jp/afbe2/7/75/752.xml                 |  37 +
 .../portal_categories/gap/jp/afbe2/7/76.xml   |  77 ++
 .../gap/jp/afbe2/7/76/763.xml                 |  37 +
 .../gap/jp/afbe2/7/76/764.xml                 |  37 +
 .../gap/jp/afbe2/7/76/766.xml                 |  37 +
 .../gap/jp/afbe2/7/76/768.xml                 |  77 ++
 .../gap/jp/afbe2/7/76/768/7681.xml            |  37 +
 .../gap/jp/afbe2/7/76/768/7682.xml            |  37 +
 .../gap/jp/afbe2/7/76/768/7683.xml            |  37 +
 .../gap/jp/afbe2/7/76/768/7684.xml            |  37 +
 .../gap/jp/afbe2/7/76/768/7685.xml            |  37 +
 .../gap/jp/afbe2/7/76/768/7686.xml            |  37 +
 .../portal_categories/gap/jp/afbe2/7/77.xml   |  77 ++
 .../gap/jp/afbe2/7/77/771.xml                 |  37 +
 .../gap/jp/afbe2/7/77/772.xml                 |  37 +
 .../gap/jp/afbe2/7/77/773.xml                 |  37 +
 .../gap/jp/afbe2/7/77/774.xml                 |  37 +
 .../gap/jp/afbe2/7/77/775.xml                 |  37 +
 .../gap/jp/afbe2/7/77/778.xml                 |  77 ++
 .../gap/jp/afbe2/7/77/778/7781.xml            |  37 +
 .../portal_categories/gap/jp/afbe2/7/78.xml   |  37 +
 .../portal_categories/gap/jp/afbe2/8.xml      |  77 ++
 .../portal_categories/gap/jp/afbe2/8/81.xml   |  37 +
 .../portal_categories/gap/jp/afbe2/8/82.xml   |  37 +
 .../portal_skins/erp5_accounting_l10n_jp.xml  |  29 +
 ...tInventoryJapaneseOutOfSaleExpenseList.xml | 137 +++
 ...etInventoryJapaneseOutOfSaleIncomeList.xml | 137 +++
 ...le_getInventoryJapaneseSaleExpenseList.xml | 137 +++
 ...ule_getInventoryJapaneseSaleIncomeList.xml | 137 +++
 ...getInventoryJapaneseSpecialExpenseList.xml | 137 +++
 ..._getInventoryJapaneseSpecialIncomeList.xml | 137 +++
 ...ountModule_getInventoryJapaneseTaxList.xml | 137 +++
 ...Module_getJapaneseGapAssetCategoryList.xml | 142 +++
 ...dule_getJapaneseGapCapitalCategoryList.xml | 115 +++
 ...tModule_getJapaneseGapDebtCategoryList.xml | 115 +++
 ...tModule_viewJapaneseBalanceSheetReport.xml | 670 +++++++++++++
 ...e_viewJapaneseBalanceSheetReportDialog.xml | 155 +++
 .../your_at_date.xml                          |  93 ++
 .../your_format.xml                           | 278 ++++++
 .../your_function.xml                         |  87 ++
 .../your_project.xml                          |  93 ++
 .../your_section_category.xml                 | 137 +++
 .../your_section_category_strict.xml          |  93 ++
 .../your_simulation_state.xml                 | 115 +++
 ...Module_viewJapaneseProfitAndLossReport.xml | 919 ++++++++++++++++++
 ..._viewJapaneseProfitAndLossReportDialog.xml | 141 +++
 .../your_at_date.xml                          |  93 ++
 .../your_format.xml                           | 278 ++++++
 .../your_function.xml                         |  87 ++
 .../your_project.xml                          |  93 ++
 .../your_section_category.xml                 | 137 +++
 .../your_section_category_strict.xml          |  93 ++
 .../your_simulation_state.xml                 | 115 +++
 bt5/erp5_accounting_l10n_jp/bt/change_log     |   3 +
 bt5/erp5_accounting_l10n_jp/bt/revision       |   2 +-
 .../bt/template_action_path_list              |   1 +
 .../bt/template_local_role_list               |   0
 .../bt/template_portal_type_role_list         |   0
 .../template_registered_skin_selection_list   |   0
 .../bt/template_skin_id_list                  |   1 +
 313 files changed, 18690 insertions(+), 1 deletion(-)
 create mode 100644 bt5/erp5_accounting_l10n_jp/ActionTemplateItem/portal_types/Accounting%20Transaction%20Module/balance_sheet_report_l10n_jp.xml
 create mode 100644 bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2.xml
 create mode 100644 bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/1.xml
 create mode 100644 bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/1/10.xml
 create mode 100644 bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/1/10/101.xml
 create mode 100644 bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/1/10/102.xml
 create mode 100644 bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/1/10/103.xml
 create mode 100644 bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/1/10/103/1031.xml
 create mode 100644 bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/1/10/103/1032.xml
 create mode 100644 bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/1/10/104.xml
 create mode 100644 bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/1/10/104/1041.xml
 create mode 100644 bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/1/10/104/1042.xml
 create mode 100644 bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/1/10/104/1042/10421.xml
 create mode 100644 bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/1/10/104/1042/10422.xml
 create mode 100644 bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/1/10/105.xml
 create mode 100644 bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/1/10/106.xml
 create mode 100644 bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/1/11.xml
 create mode 100644 bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/1/11/111.xml
 create mode 100644 bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/1/11/112.xml
 create mode 100644 bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/1/11/113.xml
 create mode 100644 bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/1/11/114.xml
 create mode 100644 bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/1/12.xml
 create mode 100644 bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/1/13.xml
 create mode 100644 bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/1/14.xml
 create mode 100644 bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/2.xml
 create mode 100644 bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/2/20.xml
 create mode 100644 bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/2/20/201.xml
 create mode 100644 bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/2/20/201/2011.xml
 create mode 100644 bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/2/20/201/2011/20111.xml
 create mode 100644 bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/2/20/201/2011/20112.xml
 create mode 100644 bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/2/20/201/2011/20113.xml
 create mode 100644 bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/2/20/201/2012.xml
 create mode 100644 bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/2/20/201/2012/20123.xml
 create mode 100644 bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/2/20/201/2012/20124.xml
 create mode 100644 bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/2/20/203.xml
 create mode 100644 bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/2/20/205.xml
 create mode 100644 bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/2/20/205/2051.xml
 create mode 100644 bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/2/20/205/2052.xml
 create mode 100644 bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/2/20/205/2053.xml
 create mode 100644 bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/2/20/205/2054.xml
 create mode 100644 bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/2/20/206.xml
 create mode 100644 bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/2/20/206/2061.xml
 create mode 100644 bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/2/20/206/2062.xml
 create mode 100644 bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/2/20/207.xml
 create mode 100644 bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/2/20/207/2071.xml
 create mode 100644 bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/2/20/207/2072.xml
 create mode 100644 bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/2/20/208.xml
 create mode 100644 bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/2/20/208/2081.xml
 create mode 100644 bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/2/20/208/2082.xml
 create mode 100644 bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/2/21.xml
 create mode 100644 bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/2/21/211.xml
 create mode 100644 bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/2/21/212.xml
 create mode 100644 bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/2/21/213.xml
 create mode 100644 bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/2/21/213/2131.xml
 create mode 100644 bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/2/21/213/2138.xml
 create mode 100644 bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/2/21/215.xml
 create mode 100644 bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/2/21/218.xml
 create mode 100644 bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/2/21/218/2182.xml
 create mode 100644 bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/2/21/218/2182/21821.xml
 create mode 100644 bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/2/21/218/2182/21822.xml
 create mode 100644 bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/2/27.xml
 create mode 100644 bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/2/27/271.xml
 create mode 100644 bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/2/27/271/2711.xml
 create mode 100644 bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/2/27/271/2712.xml
 create mode 100644 bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/2/27/271/2718.xml
 create mode 100644 bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/2/27/271/2718/27181.xml
 create mode 100644 bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/2/27/271/2718/27182.xml
 create mode 100644 bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/2/27/271/2718/27183.xml
 create mode 100644 bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/2/27/271/2718/27183/271831.xml
 create mode 100644 bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/2/27/271/2718/27183/271832.xml
 create mode 100644 bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/2/27/271/2718/27183/271833.xml
 create mode 100644 bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/2/27/272.xml
 create mode 100644 bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/2/27/272/2728.xml
 create mode 100644 bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/2/27/272/2728/27281.xml
 create mode 100644 bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/2/27/272/2728/27282.xml
 create mode 100644 bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/2/27/272/2728/27283.xml
 create mode 100644 bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/2/27/272/2728/27283/272831.xml
 create mode 100644 bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/2/27/272/2728/27283/272832.xml
 create mode 100644 bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/2/27/272/2728/27283/272833.xml
 create mode 100644 bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/2/28.xml
 create mode 100644 bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/3.xml
 create mode 100644 bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/3/31.xml
 create mode 100644 bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/3/32.xml
 create mode 100644 bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/3/33.xml
 create mode 100644 bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/3/34.xml
 create mode 100644 bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/3/35.xml
 create mode 100644 bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/3/36.xml
 create mode 100644 bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/3/39.xml
 create mode 100644 bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/4.xml
 create mode 100644 bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/4/40.xml
 create mode 100644 bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/4/40/401.xml
 create mode 100644 bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/4/40/402.xml
 create mode 100644 bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/4/40/403.xml
 create mode 100644 bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/4/40/404.xml
 create mode 100644 bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/4/40/405.xml
 create mode 100644 bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/4/40/406.xml
 create mode 100644 bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/4/40/406/4061.xml
 create mode 100644 bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/4/40/406/4062.xml
 create mode 100644 bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/4/40/406/4063.xml
 create mode 100644 bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/4/40/407.xml
 create mode 100644 bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/4/40/408.xml
 create mode 100644 bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/4/41.xml
 create mode 100644 bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/4/41/411.xml
 create mode 100644 bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/4/41/412.xml
 create mode 100644 bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/4/41/412/4121.xml
 create mode 100644 bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/4/41/412/4122.xml
 create mode 100644 bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/4/41/412/4123.xml
 create mode 100644 bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/4/41/413.xml
 create mode 100644 bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/4/41/414.xml
 create mode 100644 bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/4/41/415.xml
 create mode 100644 bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/4/41/416.xml
 create mode 100644 bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/4/41/416/4161.xml
 create mode 100644 bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/4/41/416/4162.xml
 create mode 100644 bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/4/41/417.xml
 create mode 100644 bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/4/41/418.xml
 create mode 100644 bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/4/42.xml
 create mode 100644 bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/4/42/421.xml
 create mode 100644 bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/4/42/422.xml
 create mode 100644 bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/4/42/423.xml
 create mode 100644 bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/4/44.xml
 create mode 100644 bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/4/44/441.xml
 create mode 100644 bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/4/44/441/4411.xml
 create mode 100644 bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/4/44/441/4411/44111.xml
 create mode 100644 bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/4/44/441/4411/44112.xml
 create mode 100644 bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/4/44/441/4412.xml
 create mode 100644 bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/4/44/441/4412/44121.xml
 create mode 100644 bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/4/44/441/4412/44122.xml
 create mode 100644 bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/4/44/443.xml
 create mode 100644 bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/4/44/443/4431.xml
 create mode 100644 bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/4/44/443/4432.xml
 create mode 100644 bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/4/46.xml
 create mode 100644 bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/4/46/461.xml
 create mode 100644 bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/4/46/461/4611.xml
 create mode 100644 bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/4/46/461/4612.xml
 create mode 100644 bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/4/46/462.xml
 create mode 100644 bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/4/46/462/4621.xml
 create mode 100644 bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/4/46/462/4622.xml
 create mode 100644 bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/4/46/462/4623.xml
 create mode 100644 bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/4/46/462/4624.xml
 create mode 100644 bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/4/46/463.xml
 create mode 100644 bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/4/49.xml
 create mode 100644 bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/5.xml
 create mode 100644 bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/5/50.xml
 create mode 100644 bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/5/50/502.xml
 create mode 100644 bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/5/50/503.xml
 create mode 100644 bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/5/50/505.xml
 create mode 100644 bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/5/51.xml
 create mode 100644 bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/5/53.xml
 create mode 100644 bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/5/53/531.xml
 create mode 100644 bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/5/53/532.xml
 create mode 100644 bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/6.xml
 create mode 100644 bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/6/60.xml
 create mode 100644 bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/6/60/601.xml
 create mode 100644 bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/6/60/602.xml
 create mode 100644 bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/6/60/602/6021.xml
 create mode 100644 bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/6/60/602/6021/60211.xml
 create mode 100644 bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/6/60/602/6021/60212.xml
 create mode 100644 bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/6/60/602/6021/60213.xml
 create mode 100644 bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/6/60/603.xml
 create mode 100644 bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/6/60/603/6031.xml
 create mode 100644 bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/6/60/603/6032.xml
 create mode 100644 bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/6/60/603/6032/60321.xml
 create mode 100644 bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/6/60/603/6032/60322.xml
 create mode 100644 bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/6/60/603/6032/60323.xml
 create mode 100644 bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/6/60/603/6032/60324.xml
 create mode 100644 bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/6/60/603/6032/60325.xml
 create mode 100644 bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/6/60/603/6032/60325/603251.xml
 create mode 100644 bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/6/60/603/6032/60325/603252.xml
 create mode 100644 bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/6/60/603/6033.xml
 create mode 100644 bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/6/60/604.xml
 create mode 100644 bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/6/61.xml
 create mode 100644 bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/6/61/611.xml
 create mode 100644 bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/6/61/612.xml
 create mode 100644 bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/6/61/612/6121.xml
 create mode 100644 bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/6/61/612/6122.xml
 create mode 100644 bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/6/61/613.xml
 create mode 100644 bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/6/61/614.xml
 create mode 100644 bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/6/61/615.xml
 create mode 100644 bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/6/61/616.xml
 create mode 100644 bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/6/61/619.xml
 create mode 100644 bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/6/61/619/6191.xml
 create mode 100644 bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/6/61/619/6192.xml
 create mode 100644 bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/6/61/619/6193.xml
 create mode 100644 bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/6/61/619/6194.xml
 create mode 100644 bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/6/61/619/6195.xml
 create mode 100644 bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/6/62.xml
 create mode 100644 bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/6/62/622.xml
 create mode 100644 bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/6/62/623.xml
 create mode 100644 bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/6/62/624.xml
 create mode 100644 bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/6/62/625.xml
 create mode 100644 bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/6/62/626.xml
 create mode 100644 bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/6/62/628.xml
 create mode 100644 bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/6/62/628/6281.xml
 create mode 100644 bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/6/62/628/6282.xml
 create mode 100644 bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/6/62/629.xml
 create mode 100644 bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/6/62/629/6291.xml
 create mode 100644 bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/6/62/629/6292.xml
 create mode 100644 bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/6/62/629/6293.xml
 create mode 100644 bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/6/62/629/6294.xml
 create mode 100644 bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/6/62/629/6295.xml
 create mode 100644 bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/6/62/629/6296.xml
 create mode 100644 bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/6/63.xml
 create mode 100644 bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/6/63/635.xml
 create mode 100644 bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/6/63/636.xml
 create mode 100644 bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/6/64.xml
 create mode 100644 bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/6/64/641.xml
 create mode 100644 bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/6/64/642.xml
 create mode 100644 bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/6/64/643.xml
 create mode 100644 bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/6/64/644.xml
 create mode 100644 bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/6/64/645.xml
 create mode 100644 bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/6/64/646.xml
 create mode 100644 bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/6/64/646/6461.xml
 create mode 100644 bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/6/64/646/6462.xml
 create mode 100644 bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/6/64/646/6463.xml
 create mode 100644 bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/6/64/646/6464.xml
 create mode 100644 bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/6/65.xml
 create mode 100644 bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/6/66.xml
 create mode 100644 bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/6/66/661.xml
 create mode 100644 bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/6/66/666.xml
 create mode 100644 bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/6/66/668.xml
 create mode 100644 bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/6/66/668/6681.xml
 create mode 100644 bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/6/66/668/6682.xml
 create mode 100644 bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/6/66/668/6683.xml
 create mode 100644 bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/6/66/668/6684.xml
 create mode 100644 bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/6/66/668/6685.xml
 create mode 100644 bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/6/67.xml
 create mode 100644 bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/6/67/671.xml
 create mode 100644 bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/6/67/672.xml
 create mode 100644 bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/6/67/673.xml
 create mode 100644 bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/6/67/674.xml
 create mode 100644 bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/6/67/675.xml
 create mode 100644 bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/6/67/676.xml
 create mode 100644 bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/6/67/677.xml
 create mode 100644 bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/6/67/678.xml
 create mode 100644 bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/6/67/678/6781.xml
 create mode 100644 bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/6/67/678/6782.xml
 create mode 100644 bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/6/67/678/6783.xml
 create mode 100644 bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/6/68.xml
 create mode 100644 bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/6/68/681.xml
 create mode 100644 bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/6/68/682.xml
 create mode 100644 bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/7.xml
 create mode 100644 bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/7/70.xml
 create mode 100644 bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/7/70/701.xml
 create mode 100644 bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/7/70/702.xml
 create mode 100644 bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/7/70/703.xml
 create mode 100644 bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/7/70/704.xml
 create mode 100644 bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/7/70/705.xml
 create mode 100644 bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/7/70/705/7051.xml
 create mode 100644 bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/7/70/705/7052.xml
 create mode 100644 bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/7/70/705/7053.xml
 create mode 100644 bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/7/70/705/7054.xml
 create mode 100644 bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/7/75.xml
 create mode 100644 bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/7/75/751.xml
 create mode 100644 bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/7/75/752.xml
 create mode 100644 bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/7/76.xml
 create mode 100644 bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/7/76/763.xml
 create mode 100644 bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/7/76/764.xml
 create mode 100644 bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/7/76/766.xml
 create mode 100644 bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/7/76/768.xml
 create mode 100644 bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/7/76/768/7681.xml
 create mode 100644 bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/7/76/768/7682.xml
 create mode 100644 bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/7/76/768/7683.xml
 create mode 100644 bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/7/76/768/7684.xml
 create mode 100644 bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/7/76/768/7685.xml
 create mode 100644 bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/7/76/768/7686.xml
 create mode 100644 bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/7/77.xml
 create mode 100644 bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/7/77/771.xml
 create mode 100644 bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/7/77/772.xml
 create mode 100644 bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/7/77/773.xml
 create mode 100644 bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/7/77/774.xml
 create mode 100644 bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/7/77/775.xml
 create mode 100644 bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/7/77/778.xml
 create mode 100644 bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/7/77/778/7781.xml
 create mode 100644 bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/7/78.xml
 create mode 100644 bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/8.xml
 create mode 100644 bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/8/81.xml
 create mode 100644 bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/8/82.xml
 create mode 100644 bt5/erp5_accounting_l10n_jp/SkinTemplateItem/portal_skins/erp5_accounting_l10n_jp.xml
 create mode 100644 bt5/erp5_accounting_l10n_jp/SkinTemplateItem/portal_skins/erp5_accounting_l10n_jp/AccountModule_getInventoryJapaneseOutOfSaleExpenseList.xml
 create mode 100644 bt5/erp5_accounting_l10n_jp/SkinTemplateItem/portal_skins/erp5_accounting_l10n_jp/AccountModule_getInventoryJapaneseOutOfSaleIncomeList.xml
 create mode 100644 bt5/erp5_accounting_l10n_jp/SkinTemplateItem/portal_skins/erp5_accounting_l10n_jp/AccountModule_getInventoryJapaneseSaleExpenseList.xml
 create mode 100644 bt5/erp5_accounting_l10n_jp/SkinTemplateItem/portal_skins/erp5_accounting_l10n_jp/AccountModule_getInventoryJapaneseSaleIncomeList.xml
 create mode 100644 bt5/erp5_accounting_l10n_jp/SkinTemplateItem/portal_skins/erp5_accounting_l10n_jp/AccountModule_getInventoryJapaneseSpecialExpenseList.xml
 create mode 100644 bt5/erp5_accounting_l10n_jp/SkinTemplateItem/portal_skins/erp5_accounting_l10n_jp/AccountModule_getInventoryJapaneseSpecialIncomeList.xml
 create mode 100644 bt5/erp5_accounting_l10n_jp/SkinTemplateItem/portal_skins/erp5_accounting_l10n_jp/AccountModule_getInventoryJapaneseTaxList.xml
 create mode 100644 bt5/erp5_accounting_l10n_jp/SkinTemplateItem/portal_skins/erp5_accounting_l10n_jp/AccountModule_getJapaneseGapAssetCategoryList.xml
 create mode 100644 bt5/erp5_accounting_l10n_jp/SkinTemplateItem/portal_skins/erp5_accounting_l10n_jp/AccountModule_getJapaneseGapCapitalCategoryList.xml
 create mode 100644 bt5/erp5_accounting_l10n_jp/SkinTemplateItem/portal_skins/erp5_accounting_l10n_jp/AccountModule_getJapaneseGapDebtCategoryList.xml
 create mode 100644 bt5/erp5_accounting_l10n_jp/SkinTemplateItem/portal_skins/erp5_accounting_l10n_jp/AccountModule_viewJapaneseBalanceSheetReport.xml
 create mode 100644 bt5/erp5_accounting_l10n_jp/SkinTemplateItem/portal_skins/erp5_accounting_l10n_jp/AccountModule_viewJapaneseBalanceSheetReportDialog.xml
 create mode 100644 bt5/erp5_accounting_l10n_jp/SkinTemplateItem/portal_skins/erp5_accounting_l10n_jp/AccountModule_viewJapaneseBalanceSheetReportDialog/your_at_date.xml
 create mode 100644 bt5/erp5_accounting_l10n_jp/SkinTemplateItem/portal_skins/erp5_accounting_l10n_jp/AccountModule_viewJapaneseBalanceSheetReportDialog/your_format.xml
 create mode 100644 bt5/erp5_accounting_l10n_jp/SkinTemplateItem/portal_skins/erp5_accounting_l10n_jp/AccountModule_viewJapaneseBalanceSheetReportDialog/your_function.xml
 create mode 100644 bt5/erp5_accounting_l10n_jp/SkinTemplateItem/portal_skins/erp5_accounting_l10n_jp/AccountModule_viewJapaneseBalanceSheetReportDialog/your_project.xml
 create mode 100644 bt5/erp5_accounting_l10n_jp/SkinTemplateItem/portal_skins/erp5_accounting_l10n_jp/AccountModule_viewJapaneseBalanceSheetReportDialog/your_section_category.xml
 create mode 100644 bt5/erp5_accounting_l10n_jp/SkinTemplateItem/portal_skins/erp5_accounting_l10n_jp/AccountModule_viewJapaneseBalanceSheetReportDialog/your_section_category_strict.xml
 create mode 100644 bt5/erp5_accounting_l10n_jp/SkinTemplateItem/portal_skins/erp5_accounting_l10n_jp/AccountModule_viewJapaneseBalanceSheetReportDialog/your_simulation_state.xml
 create mode 100644 bt5/erp5_accounting_l10n_jp/SkinTemplateItem/portal_skins/erp5_accounting_l10n_jp/AccountModule_viewJapaneseProfitAndLossReport.xml
 create mode 100644 bt5/erp5_accounting_l10n_jp/SkinTemplateItem/portal_skins/erp5_accounting_l10n_jp/AccountModule_viewJapaneseProfitAndLossReportDialog.xml
 create mode 100644 bt5/erp5_accounting_l10n_jp/SkinTemplateItem/portal_skins/erp5_accounting_l10n_jp/AccountModule_viewJapaneseProfitAndLossReportDialog/your_at_date.xml
 create mode 100644 bt5/erp5_accounting_l10n_jp/SkinTemplateItem/portal_skins/erp5_accounting_l10n_jp/AccountModule_viewJapaneseProfitAndLossReportDialog/your_format.xml
 create mode 100644 bt5/erp5_accounting_l10n_jp/SkinTemplateItem/portal_skins/erp5_accounting_l10n_jp/AccountModule_viewJapaneseProfitAndLossReportDialog/your_function.xml
 create mode 100644 bt5/erp5_accounting_l10n_jp/SkinTemplateItem/portal_skins/erp5_accounting_l10n_jp/AccountModule_viewJapaneseProfitAndLossReportDialog/your_project.xml
 create mode 100644 bt5/erp5_accounting_l10n_jp/SkinTemplateItem/portal_skins/erp5_accounting_l10n_jp/AccountModule_viewJapaneseProfitAndLossReportDialog/your_section_category.xml
 create mode 100644 bt5/erp5_accounting_l10n_jp/SkinTemplateItem/portal_skins/erp5_accounting_l10n_jp/AccountModule_viewJapaneseProfitAndLossReportDialog/your_section_category_strict.xml
 create mode 100644 bt5/erp5_accounting_l10n_jp/SkinTemplateItem/portal_skins/erp5_accounting_l10n_jp/AccountModule_viewJapaneseProfitAndLossReportDialog/your_simulation_state.xml
 create mode 100644 bt5/erp5_accounting_l10n_jp/bt/template_local_role_list
 create mode 100644 bt5/erp5_accounting_l10n_jp/bt/template_portal_type_role_list
 create mode 100644 bt5/erp5_accounting_l10n_jp/bt/template_registered_skin_selection_list

diff --git a/bt5/erp5_accounting_l10n_jp/ActionTemplateItem/portal_types/Accounting%20Transaction%20Module/balance_sheet_report_l10n_jp.xml b/bt5/erp5_accounting_l10n_jp/ActionTemplateItem/portal_types/Accounting%20Transaction%20Module/balance_sheet_report_l10n_jp.xml
new file mode 100644
index 0000000000..76be43bdd2
--- /dev/null
+++ b/bt5/erp5_accounting_l10n_jp/ActionTemplateItem/portal_types/Accounting%20Transaction%20Module/balance_sheet_report_l10n_jp.xml
@@ -0,0 +1,87 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="ActionInformation" module="Products.CMFCore.ActionInformation"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>action</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>categories</string> </key>
+            <value>
+              <tuple>
+                <string>action_type/object_report</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>category</string> </key>
+            <value> <string>object_report</string> </value>
+        </item>
+        <item>
+            <key> <string>condition</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>description</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>icon</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>balance_sheet_report_l10n_jp</string> </value>
+        </item>
+        <item>
+            <key> <string>permissions</string> </key>
+            <value>
+              <tuple>
+                <string>View</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>priority</string> </key>
+            <value> <float>25.0</float> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>Japanese Balance Sheet</string> </value>
+        </item>
+        <item>
+            <key> <string>visible</string> </key>
+            <value> <int>1</int> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="2" aka="AAAAAAAAAAI=">
+    <pickle>
+      <tuple>
+        <global name="Expression" module="Products.CMFCore.Expression"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>text</string> </key>
+            <value> <string>string:${object_url}/AccountModule_viewJapaneseBalanceSheetReportDialog</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2.xml b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2.xml
new file mode 100644
index 0000000000..019e262d50
--- /dev/null
+++ b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2.xml
@@ -0,0 +1,77 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="Category" module="Products.ERP5Type.Document.Category"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_count</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>_mt_index</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>_tree</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAQ=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>effective_date</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>afbe2</string> </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Category</string> </value>
+        </item>
+        <item>
+            <key> <string>short_title</string> </key>
+            <value> <string>企業会計</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>企業会計</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="2" aka="AAAAAAAAAAI=">
+    <pickle>
+      <global name="Length" module="BTrees.Length"/>
+    </pickle>
+    <pickle> <int>0</int> </pickle>
+  </record>
+  <record id="3" aka="AAAAAAAAAAM=">
+    <pickle>
+      <global name="OOBTree" module="BTrees._OOBTree"/>
+    </pickle>
+    <pickle>
+      <none/>
+    </pickle>
+  </record>
+  <record id="4" aka="AAAAAAAAAAQ=">
+    <pickle>
+      <global name="OOBTree" module="BTrees._OOBTree"/>
+    </pickle>
+    <pickle>
+      <none/>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/1.xml b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/1.xml
new file mode 100644
index 0000000000..a4e2440d9c
--- /dev/null
+++ b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/1.xml
@@ -0,0 +1,77 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="Category" module="Products.ERP5Type.Document.Category"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_count</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>_mt_index</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>_tree</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAQ=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>effective_date</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>1</string> </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Category</string> </value>
+        </item>
+        <item>
+            <key> <string>short_title</string> </key>
+            <value> <string>純資産</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>純資産</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="2" aka="AAAAAAAAAAI=">
+    <pickle>
+      <global name="Length" module="BTrees.Length"/>
+    </pickle>
+    <pickle> <int>0</int> </pickle>
+  </record>
+  <record id="3" aka="AAAAAAAAAAM=">
+    <pickle>
+      <global name="OOBTree" module="BTrees._OOBTree"/>
+    </pickle>
+    <pickle>
+      <none/>
+    </pickle>
+  </record>
+  <record id="4" aka="AAAAAAAAAAQ=">
+    <pickle>
+      <global name="OOBTree" module="BTrees._OOBTree"/>
+    </pickle>
+    <pickle>
+      <none/>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/1/10.xml b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/1/10.xml
new file mode 100644
index 0000000000..34bac6f7cf
--- /dev/null
+++ b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/1/10.xml
@@ -0,0 +1,77 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="Category" module="Products.ERP5Type.Document.Category"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_count</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>_mt_index</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>_tree</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAQ=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>effective_date</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>10</string> </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Category</string> </value>
+        </item>
+        <item>
+            <key> <string>short_title</string> </key>
+            <value> <string>株主資本</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>株主資本</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="2" aka="AAAAAAAAAAI=">
+    <pickle>
+      <global name="Length" module="BTrees.Length"/>
+    </pickle>
+    <pickle> <int>0</int> </pickle>
+  </record>
+  <record id="3" aka="AAAAAAAAAAM=">
+    <pickle>
+      <global name="OOBTree" module="BTrees._OOBTree"/>
+    </pickle>
+    <pickle>
+      <none/>
+    </pickle>
+  </record>
+  <record id="4" aka="AAAAAAAAAAQ=">
+    <pickle>
+      <global name="OOBTree" module="BTrees._OOBTree"/>
+    </pickle>
+    <pickle>
+      <none/>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/1/10/101.xml b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/1/10/101.xml
new file mode 100644
index 0000000000..ba4111350c
--- /dev/null
+++ b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/1/10/101.xml
@@ -0,0 +1,37 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="Category" module="Products.ERP5Type.Document.Category"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>effective_date</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>101</string> </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Category</string> </value>
+        </item>
+        <item>
+            <key> <string>short_title</string> </key>
+            <value> <string>資本金</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>資本金</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/1/10/102.xml b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/1/10/102.xml
new file mode 100644
index 0000000000..617ed917f1
--- /dev/null
+++ b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/1/10/102.xml
@@ -0,0 +1,37 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="Category" module="Products.ERP5Type.Document.Category"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>effective_date</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>102</string> </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Category</string> </value>
+        </item>
+        <item>
+            <key> <string>short_title</string> </key>
+            <value> <string>新株申込証拠金</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>新株申込証拠金</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/1/10/103.xml b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/1/10/103.xml
new file mode 100644
index 0000000000..ce49da9114
--- /dev/null
+++ b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/1/10/103.xml
@@ -0,0 +1,77 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="Category" module="Products.ERP5Type.Document.Category"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_count</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>_mt_index</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>_tree</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAQ=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>effective_date</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>103</string> </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Category</string> </value>
+        </item>
+        <item>
+            <key> <string>short_title</string> </key>
+            <value> <string>資本剰余金</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>資本剰余金</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="2" aka="AAAAAAAAAAI=">
+    <pickle>
+      <global name="Length" module="BTrees.Length"/>
+    </pickle>
+    <pickle> <int>0</int> </pickle>
+  </record>
+  <record id="3" aka="AAAAAAAAAAM=">
+    <pickle>
+      <global name="OOBTree" module="BTrees._OOBTree"/>
+    </pickle>
+    <pickle>
+      <none/>
+    </pickle>
+  </record>
+  <record id="4" aka="AAAAAAAAAAQ=">
+    <pickle>
+      <global name="OOBTree" module="BTrees._OOBTree"/>
+    </pickle>
+    <pickle>
+      <none/>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/1/10/103/1031.xml b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/1/10/103/1031.xml
new file mode 100644
index 0000000000..df1625a171
--- /dev/null
+++ b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/1/10/103/1031.xml
@@ -0,0 +1,37 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="Category" module="Products.ERP5Type.Document.Category"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>effective_date</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>1031</string> </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Category</string> </value>
+        </item>
+        <item>
+            <key> <string>short_title</string> </key>
+            <value> <string>資本準備金</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>資本準備金</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/1/10/103/1032.xml b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/1/10/103/1032.xml
new file mode 100644
index 0000000000..184eef81d0
--- /dev/null
+++ b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/1/10/103/1032.xml
@@ -0,0 +1,37 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="Category" module="Products.ERP5Type.Document.Category"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>effective_date</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>1032</string> </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Category</string> </value>
+        </item>
+        <item>
+            <key> <string>short_title</string> </key>
+            <value> <string>その他資本剰余金</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>その他資本剰余金</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/1/10/104.xml b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/1/10/104.xml
new file mode 100644
index 0000000000..b18886698c
--- /dev/null
+++ b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/1/10/104.xml
@@ -0,0 +1,77 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="Category" module="Products.ERP5Type.Document.Category"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_count</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>_mt_index</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>_tree</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAQ=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>effective_date</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>104</string> </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Category</string> </value>
+        </item>
+        <item>
+            <key> <string>short_title</string> </key>
+            <value> <string>利益剰余金</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>利益剰余金</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="2" aka="AAAAAAAAAAI=">
+    <pickle>
+      <global name="Length" module="BTrees.Length"/>
+    </pickle>
+    <pickle> <int>0</int> </pickle>
+  </record>
+  <record id="3" aka="AAAAAAAAAAM=">
+    <pickle>
+      <global name="OOBTree" module="BTrees._OOBTree"/>
+    </pickle>
+    <pickle>
+      <none/>
+    </pickle>
+  </record>
+  <record id="4" aka="AAAAAAAAAAQ=">
+    <pickle>
+      <global name="OOBTree" module="BTrees._OOBTree"/>
+    </pickle>
+    <pickle>
+      <none/>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/1/10/104/1041.xml b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/1/10/104/1041.xml
new file mode 100644
index 0000000000..35a494dc20
--- /dev/null
+++ b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/1/10/104/1041.xml
@@ -0,0 +1,37 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="Category" module="Products.ERP5Type.Document.Category"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>effective_date</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>1041</string> </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Category</string> </value>
+        </item>
+        <item>
+            <key> <string>short_title</string> </key>
+            <value> <string>利益準備金</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>利益準備金</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/1/10/104/1042.xml b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/1/10/104/1042.xml
new file mode 100644
index 0000000000..a234ab6d4c
--- /dev/null
+++ b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/1/10/104/1042.xml
@@ -0,0 +1,77 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="Category" module="Products.ERP5Type.Document.Category"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_count</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>_mt_index</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>_tree</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAQ=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>effective_date</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>1042</string> </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Category</string> </value>
+        </item>
+        <item>
+            <key> <string>short_title</string> </key>
+            <value> <string>その他の利益剰余金</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>その他の利益剰余金</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="2" aka="AAAAAAAAAAI=">
+    <pickle>
+      <global name="Length" module="BTrees.Length"/>
+    </pickle>
+    <pickle> <int>0</int> </pickle>
+  </record>
+  <record id="3" aka="AAAAAAAAAAM=">
+    <pickle>
+      <global name="OOBTree" module="BTrees._OOBTree"/>
+    </pickle>
+    <pickle>
+      <none/>
+    </pickle>
+  </record>
+  <record id="4" aka="AAAAAAAAAAQ=">
+    <pickle>
+      <global name="OOBTree" module="BTrees._OOBTree"/>
+    </pickle>
+    <pickle>
+      <none/>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/1/10/104/1042/10421.xml b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/1/10/104/1042/10421.xml
new file mode 100644
index 0000000000..bd2bb219d7
--- /dev/null
+++ b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/1/10/104/1042/10421.xml
@@ -0,0 +1,37 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="Category" module="Products.ERP5Type.Document.Category"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>effective_date</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>10421</string> </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Category</string> </value>
+        </item>
+        <item>
+            <key> <string>short_title</string> </key>
+            <value> <string>任意積立金</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>任意積立金</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/1/10/104/1042/10422.xml b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/1/10/104/1042/10422.xml
new file mode 100644
index 0000000000..9017f6e687
--- /dev/null
+++ b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/1/10/104/1042/10422.xml
@@ -0,0 +1,37 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="Category" module="Products.ERP5Type.Document.Category"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>effective_date</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>10422</string> </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Category</string> </value>
+        </item>
+        <item>
+            <key> <string>short_title</string> </key>
+            <value> <string>繰越利益剰余金</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>繰越利益剰余金</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/1/10/105.xml b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/1/10/105.xml
new file mode 100644
index 0000000000..0a8c975fb9
--- /dev/null
+++ b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/1/10/105.xml
@@ -0,0 +1,37 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="Category" module="Products.ERP5Type.Document.Category"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>effective_date</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>105</string> </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Category</string> </value>
+        </item>
+        <item>
+            <key> <string>short_title</string> </key>
+            <value> <string>自己株式</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>自己株式</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/1/10/106.xml b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/1/10/106.xml
new file mode 100644
index 0000000000..2b9e76f408
--- /dev/null
+++ b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/1/10/106.xml
@@ -0,0 +1,37 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="Category" module="Products.ERP5Type.Document.Category"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>effective_date</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>106</string> </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Category</string> </value>
+        </item>
+        <item>
+            <key> <string>short_title</string> </key>
+            <value> <string>自己株式申込証拠金</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>自己株式申込証拠金</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/1/11.xml b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/1/11.xml
new file mode 100644
index 0000000000..a26b06ec93
--- /dev/null
+++ b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/1/11.xml
@@ -0,0 +1,77 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="Category" module="Products.ERP5Type.Document.Category"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_count</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>_mt_index</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>_tree</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAQ=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>effective_date</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>11</string> </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Category</string> </value>
+        </item>
+        <item>
+            <key> <string>short_title</string> </key>
+            <value> <string>評価・換算差額</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>評価・換算差額</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="2" aka="AAAAAAAAAAI=">
+    <pickle>
+      <global name="Length" module="BTrees.Length"/>
+    </pickle>
+    <pickle> <int>0</int> </pickle>
+  </record>
+  <record id="3" aka="AAAAAAAAAAM=">
+    <pickle>
+      <global name="OOBTree" module="BTrees._OOBTree"/>
+    </pickle>
+    <pickle>
+      <none/>
+    </pickle>
+  </record>
+  <record id="4" aka="AAAAAAAAAAQ=">
+    <pickle>
+      <global name="OOBTree" module="BTrees._OOBTree"/>
+    </pickle>
+    <pickle>
+      <none/>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/1/11/111.xml b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/1/11/111.xml
new file mode 100644
index 0000000000..86eb761d63
--- /dev/null
+++ b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/1/11/111.xml
@@ -0,0 +1,37 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="Category" module="Products.ERP5Type.Document.Category"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>effective_date</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>111</string> </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Category</string> </value>
+        </item>
+        <item>
+            <key> <string>short_title</string> </key>
+            <value> <string>繰延ヘッジ損益</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>繰延ヘッジ損益</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/1/11/112.xml b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/1/11/112.xml
new file mode 100644
index 0000000000..57de653f66
--- /dev/null
+++ b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/1/11/112.xml
@@ -0,0 +1,37 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="Category" module="Products.ERP5Type.Document.Category"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>effective_date</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>112</string> </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Category</string> </value>
+        </item>
+        <item>
+            <key> <string>short_title</string> </key>
+            <value> <string>土地再評価差額金</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>土地再評価差額金</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/1/11/113.xml b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/1/11/113.xml
new file mode 100644
index 0000000000..e1d805d4a3
--- /dev/null
+++ b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/1/11/113.xml
@@ -0,0 +1,37 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="Category" module="Products.ERP5Type.Document.Category"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>effective_date</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>113</string> </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Category</string> </value>
+        </item>
+        <item>
+            <key> <string>short_title</string> </key>
+            <value> <string>為替換算調整勘定</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>為替換算調整勘定</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/1/11/114.xml b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/1/11/114.xml
new file mode 100644
index 0000000000..35c710ab02
--- /dev/null
+++ b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/1/11/114.xml
@@ -0,0 +1,37 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="Category" module="Products.ERP5Type.Document.Category"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>effective_date</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>114</string> </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Category</string> </value>
+        </item>
+        <item>
+            <key> <string>short_title</string> </key>
+            <value> <string>その他有価証券評価差額金</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>その他有価証券評価差額金</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/1/12.xml b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/1/12.xml
new file mode 100644
index 0000000000..9e2f036ba7
--- /dev/null
+++ b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/1/12.xml
@@ -0,0 +1,37 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="Category" module="Products.ERP5Type.Document.Category"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>effective_date</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>12</string> </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Category</string> </value>
+        </item>
+        <item>
+            <key> <string>short_title</string> </key>
+            <value> <string>新株予約権</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>新株予約権</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/1/13.xml b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/1/13.xml
new file mode 100644
index 0000000000..b45a76bdfd
--- /dev/null
+++ b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/1/13.xml
@@ -0,0 +1,37 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="Category" module="Products.ERP5Type.Document.Category"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>effective_date</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>13</string> </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Category</string> </value>
+        </item>
+        <item>
+            <key> <string>short_title</string> </key>
+            <value> <string>少数株主持分</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>少数株主持分</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/1/14.xml b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/1/14.xml
new file mode 100644
index 0000000000..1b5614c398
--- /dev/null
+++ b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/1/14.xml
@@ -0,0 +1,37 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="Category" module="Products.ERP5Type.Document.Category"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>effective_date</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>14</string> </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Category</string> </value>
+        </item>
+        <item>
+            <key> <string>short_title</string> </key>
+            <value> <string>法人税等調整額</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>法人税等調整額</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/2.xml b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/2.xml
new file mode 100644
index 0000000000..e79891fec4
--- /dev/null
+++ b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/2.xml
@@ -0,0 +1,77 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="Category" module="Products.ERP5Type.Document.Category"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_count</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>_mt_index</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>_tree</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAQ=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>effective_date</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>2</string> </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Category</string> </value>
+        </item>
+        <item>
+            <key> <string>short_title</string> </key>
+            <value> <string>固定資産</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>固定資産</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="2" aka="AAAAAAAAAAI=">
+    <pickle>
+      <global name="Length" module="BTrees.Length"/>
+    </pickle>
+    <pickle> <int>0</int> </pickle>
+  </record>
+  <record id="3" aka="AAAAAAAAAAM=">
+    <pickle>
+      <global name="OOBTree" module="BTrees._OOBTree"/>
+    </pickle>
+    <pickle>
+      <none/>
+    </pickle>
+  </record>
+  <record id="4" aka="AAAAAAAAAAQ=">
+    <pickle>
+      <global name="OOBTree" module="BTrees._OOBTree"/>
+    </pickle>
+    <pickle>
+      <none/>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/2/20.xml b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/2/20.xml
new file mode 100644
index 0000000000..c78a0f8350
--- /dev/null
+++ b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/2/20.xml
@@ -0,0 +1,77 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="Category" module="Products.ERP5Type.Document.Category"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_count</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>_mt_index</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>_tree</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAQ=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>effective_date</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>20</string> </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Category</string> </value>
+        </item>
+        <item>
+            <key> <string>short_title</string> </key>
+            <value> <string>無形固定資産</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>無形固定資産</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="2" aka="AAAAAAAAAAI=">
+    <pickle>
+      <global name="Length" module="BTrees.Length"/>
+    </pickle>
+    <pickle> <int>0</int> </pickle>
+  </record>
+  <record id="3" aka="AAAAAAAAAAM=">
+    <pickle>
+      <global name="OOBTree" module="BTrees._OOBTree"/>
+    </pickle>
+    <pickle>
+      <none/>
+    </pickle>
+  </record>
+  <record id="4" aka="AAAAAAAAAAQ=">
+    <pickle>
+      <global name="OOBTree" module="BTrees._OOBTree"/>
+    </pickle>
+    <pickle>
+      <none/>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/2/20/201.xml b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/2/20/201.xml
new file mode 100644
index 0000000000..5854d69c36
--- /dev/null
+++ b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/2/20/201.xml
@@ -0,0 +1,77 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="Category" module="Products.ERP5Type.Document.Category"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_count</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>_mt_index</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>_tree</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAQ=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>effective_date</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>201</string> </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Category</string> </value>
+        </item>
+        <item>
+            <key> <string>short_title</string> </key>
+            <value> <string>繰延資産</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>繰延資産</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="2" aka="AAAAAAAAAAI=">
+    <pickle>
+      <global name="Length" module="BTrees.Length"/>
+    </pickle>
+    <pickle> <int>0</int> </pickle>
+  </record>
+  <record id="3" aka="AAAAAAAAAAM=">
+    <pickle>
+      <global name="OOBTree" module="BTrees._OOBTree"/>
+    </pickle>
+    <pickle>
+      <none/>
+    </pickle>
+  </record>
+  <record id="4" aka="AAAAAAAAAAQ=">
+    <pickle>
+      <global name="OOBTree" module="BTrees._OOBTree"/>
+    </pickle>
+    <pickle>
+      <none/>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/2/20/201/2011.xml b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/2/20/201/2011.xml
new file mode 100644
index 0000000000..8fdc6a5c8c
--- /dev/null
+++ b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/2/20/201/2011.xml
@@ -0,0 +1,77 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="Category" module="Products.ERP5Type.Document.Category"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_count</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>_mt_index</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>_tree</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAQ=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>effective_date</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>2011</string> </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Category</string> </value>
+        </item>
+        <item>
+            <key> <string>short_title</string> </key>
+            <value> <string>資金取得に関する費用</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>資金取得に関する費用</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="2" aka="AAAAAAAAAAI=">
+    <pickle>
+      <global name="Length" module="BTrees.Length"/>
+    </pickle>
+    <pickle> <int>0</int> </pickle>
+  </record>
+  <record id="3" aka="AAAAAAAAAAM=">
+    <pickle>
+      <global name="OOBTree" module="BTrees._OOBTree"/>
+    </pickle>
+    <pickle>
+      <none/>
+    </pickle>
+  </record>
+  <record id="4" aka="AAAAAAAAAAQ=">
+    <pickle>
+      <global name="OOBTree" module="BTrees._OOBTree"/>
+    </pickle>
+    <pickle>
+      <none/>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/2/20/201/2011/20111.xml b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/2/20/201/2011/20111.xml
new file mode 100644
index 0000000000..72da61e404
--- /dev/null
+++ b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/2/20/201/2011/20111.xml
@@ -0,0 +1,37 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="Category" module="Products.ERP5Type.Document.Category"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>effective_date</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>20111</string> </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Category</string> </value>
+        </item>
+        <item>
+            <key> <string>short_title</string> </key>
+            <value> <string>株式交付費</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>株式交付費</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/2/20/201/2011/20112.xml b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/2/20/201/2011/20112.xml
new file mode 100644
index 0000000000..09eeafa767
--- /dev/null
+++ b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/2/20/201/2011/20112.xml
@@ -0,0 +1,37 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="Category" module="Products.ERP5Type.Document.Category"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>effective_date</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>20112</string> </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Category</string> </value>
+        </item>
+        <item>
+            <key> <string>short_title</string> </key>
+            <value> <string>社債発行費</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>社債発行費</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/2/20/201/2011/20113.xml b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/2/20/201/2011/20113.xml
new file mode 100644
index 0000000000..da02dd1640
--- /dev/null
+++ b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/2/20/201/2011/20113.xml
@@ -0,0 +1,37 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="Category" module="Products.ERP5Type.Document.Category"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>effective_date</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>20113</string> </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Category</string> </value>
+        </item>
+        <item>
+            <key> <string>short_title</string> </key>
+            <value> <string>社債発行差金</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>社債発行差金</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/2/20/201/2012.xml b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/2/20/201/2012.xml
new file mode 100644
index 0000000000..b458191b4f
--- /dev/null
+++ b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/2/20/201/2012.xml
@@ -0,0 +1,77 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="Category" module="Products.ERP5Type.Document.Category"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_count</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>_mt_index</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>_tree</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAQ=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>effective_date</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>2012</string> </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Category</string> </value>
+        </item>
+        <item>
+            <key> <string>short_title</string> </key>
+            <value> <string>創設時費用</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>創設時費用</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="2" aka="AAAAAAAAAAI=">
+    <pickle>
+      <global name="Length" module="BTrees.Length"/>
+    </pickle>
+    <pickle> <int>0</int> </pickle>
+  </record>
+  <record id="3" aka="AAAAAAAAAAM=">
+    <pickle>
+      <global name="OOBTree" module="BTrees._OOBTree"/>
+    </pickle>
+    <pickle>
+      <none/>
+    </pickle>
+  </record>
+  <record id="4" aka="AAAAAAAAAAQ=">
+    <pickle>
+      <global name="OOBTree" module="BTrees._OOBTree"/>
+    </pickle>
+    <pickle>
+      <none/>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/2/20/201/2012/20123.xml b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/2/20/201/2012/20123.xml
new file mode 100644
index 0000000000..e286d6f11a
--- /dev/null
+++ b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/2/20/201/2012/20123.xml
@@ -0,0 +1,37 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="Category" module="Products.ERP5Type.Document.Category"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>effective_date</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>20123</string> </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Category</string> </value>
+        </item>
+        <item>
+            <key> <string>short_title</string> </key>
+            <value> <string>創立費</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>創立費</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/2/20/201/2012/20124.xml b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/2/20/201/2012/20124.xml
new file mode 100644
index 0000000000..ba4dbb2638
--- /dev/null
+++ b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/2/20/201/2012/20124.xml
@@ -0,0 +1,37 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="Category" module="Products.ERP5Type.Document.Category"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>effective_date</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>20124</string> </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Category</string> </value>
+        </item>
+        <item>
+            <key> <string>short_title</string> </key>
+            <value> <string>開業費</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>開業費</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/2/20/203.xml b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/2/20/203.xml
new file mode 100644
index 0000000000..956a37e383
--- /dev/null
+++ b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/2/20/203.xml
@@ -0,0 +1,37 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="Category" module="Products.ERP5Type.Document.Category"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>effective_date</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>203</string> </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Category</string> </value>
+        </item>
+        <item>
+            <key> <string>short_title</string> </key>
+            <value> <string>繰越研究開発費</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>繰越研究開発費</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/2/20/205.xml b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/2/20/205.xml
new file mode 100644
index 0000000000..cb6cdcd9ac
--- /dev/null
+++ b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/2/20/205.xml
@@ -0,0 +1,77 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="Category" module="Products.ERP5Type.Document.Category"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_count</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>_mt_index</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>_tree</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAQ=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>effective_date</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>205</string> </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Category</string> </value>
+        </item>
+        <item>
+            <key> <string>short_title</string> </key>
+            <value> <string>営業権利</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>営業権利</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="2" aka="AAAAAAAAAAI=">
+    <pickle>
+      <global name="Length" module="BTrees.Length"/>
+    </pickle>
+    <pickle> <int>0</int> </pickle>
+  </record>
+  <record id="3" aka="AAAAAAAAAAM=">
+    <pickle>
+      <global name="OOBTree" module="BTrees._OOBTree"/>
+    </pickle>
+    <pickle>
+      <none/>
+    </pickle>
+  </record>
+  <record id="4" aka="AAAAAAAAAAQ=">
+    <pickle>
+      <global name="OOBTree" module="BTrees._OOBTree"/>
+    </pickle>
+    <pickle>
+      <none/>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/2/20/205/2051.xml b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/2/20/205/2051.xml
new file mode 100644
index 0000000000..eb4a1eb360
--- /dev/null
+++ b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/2/20/205/2051.xml
@@ -0,0 +1,37 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="Category" module="Products.ERP5Type.Document.Category"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>effective_date</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>2051</string> </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Category</string> </value>
+        </item>
+        <item>
+            <key> <string>short_title</string> </key>
+            <value> <string>特許権</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>特許権</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/2/20/205/2052.xml b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/2/20/205/2052.xml
new file mode 100644
index 0000000000..6fe0015e16
--- /dev/null
+++ b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/2/20/205/2052.xml
@@ -0,0 +1,37 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="Category" module="Products.ERP5Type.Document.Category"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>effective_date</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>2052</string> </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Category</string> </value>
+        </item>
+        <item>
+            <key> <string>short_title</string> </key>
+            <value> <string>借地権</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>借地権</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/2/20/205/2053.xml b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/2/20/205/2053.xml
new file mode 100644
index 0000000000..c61a09e37e
--- /dev/null
+++ b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/2/20/205/2053.xml
@@ -0,0 +1,37 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="Category" module="Products.ERP5Type.Document.Category"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>effective_date</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>2053</string> </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Category</string> </value>
+        </item>
+        <item>
+            <key> <string>short_title</string> </key>
+            <value> <string>電話加入権</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>電話加入権</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/2/20/205/2054.xml b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/2/20/205/2054.xml
new file mode 100644
index 0000000000..4c55d0ef42
--- /dev/null
+++ b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/2/20/205/2054.xml
@@ -0,0 +1,37 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="Category" module="Products.ERP5Type.Document.Category"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>effective_date</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>2054</string> </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Category</string> </value>
+        </item>
+        <item>
+            <key> <string>short_title</string> </key>
+            <value> <string>ソフトウェア</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>ソフトウェア</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/2/20/206.xml b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/2/20/206.xml
new file mode 100644
index 0000000000..fb4abdcf26
--- /dev/null
+++ b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/2/20/206.xml
@@ -0,0 +1,77 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="Category" module="Products.ERP5Type.Document.Category"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_count</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>_mt_index</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>_tree</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAQ=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>effective_date</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>206</string> </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Category</string> </value>
+        </item>
+        <item>
+            <key> <string>short_title</string> </key>
+            <value> <string>リース</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>リース</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="2" aka="AAAAAAAAAAI=">
+    <pickle>
+      <global name="Length" module="BTrees.Length"/>
+    </pickle>
+    <pickle> <int>0</int> </pickle>
+  </record>
+  <record id="3" aka="AAAAAAAAAAM=">
+    <pickle>
+      <global name="OOBTree" module="BTrees._OOBTree"/>
+    </pickle>
+    <pickle>
+      <none/>
+    </pickle>
+  </record>
+  <record id="4" aka="AAAAAAAAAAQ=">
+    <pickle>
+      <global name="OOBTree" module="BTrees._OOBTree"/>
+    </pickle>
+    <pickle>
+      <none/>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/2/20/206/2061.xml b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/2/20/206/2061.xml
new file mode 100644
index 0000000000..18596302b0
--- /dev/null
+++ b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/2/20/206/2061.xml
@@ -0,0 +1,37 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="Category" module="Products.ERP5Type.Document.Category"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>effective_date</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>2061</string> </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Category</string> </value>
+        </item>
+        <item>
+            <key> <string>short_title</string> </key>
+            <value> <string>リース債権</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>リース債権</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/2/20/206/2062.xml b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/2/20/206/2062.xml
new file mode 100644
index 0000000000..c12f41dda3
--- /dev/null
+++ b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/2/20/206/2062.xml
@@ -0,0 +1,37 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="Category" module="Products.ERP5Type.Document.Category"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>effective_date</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>2062</string> </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Category</string> </value>
+        </item>
+        <item>
+            <key> <string>short_title</string> </key>
+            <value> <string>リース債務</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>リース債務</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/2/20/207.xml b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/2/20/207.xml
new file mode 100644
index 0000000000..597f11a0c3
--- /dev/null
+++ b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/2/20/207.xml
@@ -0,0 +1,77 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="Category" module="Products.ERP5Type.Document.Category"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_count</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>_mt_index</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>_tree</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAQ=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>effective_date</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>207</string> </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Category</string> </value>
+        </item>
+        <item>
+            <key> <string>short_title</string> </key>
+            <value> <string>のれん</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>のれん</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="2" aka="AAAAAAAAAAI=">
+    <pickle>
+      <global name="Length" module="BTrees.Length"/>
+    </pickle>
+    <pickle> <int>0</int> </pickle>
+  </record>
+  <record id="3" aka="AAAAAAAAAAM=">
+    <pickle>
+      <global name="OOBTree" module="BTrees._OOBTree"/>
+    </pickle>
+    <pickle>
+      <none/>
+    </pickle>
+  </record>
+  <record id="4" aka="AAAAAAAAAAQ=">
+    <pickle>
+      <global name="OOBTree" module="BTrees._OOBTree"/>
+    </pickle>
+    <pickle>
+      <none/>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/2/20/207/2071.xml b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/2/20/207/2071.xml
new file mode 100644
index 0000000000..e905b02cf9
--- /dev/null
+++ b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/2/20/207/2071.xml
@@ -0,0 +1,37 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="Category" module="Products.ERP5Type.Document.Category"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>effective_date</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>2071</string> </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Category</string> </value>
+        </item>
+        <item>
+            <key> <string>short_title</string> </key>
+            <value> <string>のれん</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>のれん</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/2/20/207/2072.xml b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/2/20/207/2072.xml
new file mode 100644
index 0000000000..8ac7415f90
--- /dev/null
+++ b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/2/20/207/2072.xml
@@ -0,0 +1,37 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="Category" module="Products.ERP5Type.Document.Category"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>effective_date</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>2072</string> </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Category</string> </value>
+        </item>
+        <item>
+            <key> <string>short_title</string> </key>
+            <value> <string>負ののれん</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>負ののれん</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/2/20/208.xml b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/2/20/208.xml
new file mode 100644
index 0000000000..2d1bca017c
--- /dev/null
+++ b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/2/20/208.xml
@@ -0,0 +1,77 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="Category" module="Products.ERP5Type.Document.Category"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_count</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>_mt_index</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>_tree</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAQ=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>effective_date</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>208</string> </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Category</string> </value>
+        </item>
+        <item>
+            <key> <string>short_title</string> </key>
+            <value> <string>その他無形固定資産</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>その他無形固定資産</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="2" aka="AAAAAAAAAAI=">
+    <pickle>
+      <global name="Length" module="BTrees.Length"/>
+    </pickle>
+    <pickle> <int>0</int> </pickle>
+  </record>
+  <record id="3" aka="AAAAAAAAAAM=">
+    <pickle>
+      <global name="OOBTree" module="BTrees._OOBTree"/>
+    </pickle>
+    <pickle>
+      <none/>
+    </pickle>
+  </record>
+  <record id="4" aka="AAAAAAAAAAQ=">
+    <pickle>
+      <global name="OOBTree" module="BTrees._OOBTree"/>
+    </pickle>
+    <pickle>
+      <none/>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/2/20/208/2081.xml b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/2/20/208/2081.xml
new file mode 100644
index 0000000000..8114d4c266
--- /dev/null
+++ b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/2/20/208/2081.xml
@@ -0,0 +1,37 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="Category" module="Products.ERP5Type.Document.Category"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>effective_date</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>2081</string> </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Category</string> </value>
+        </item>
+        <item>
+            <key> <string>short_title</string> </key>
+            <value> <string>繰延税金資産</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>繰延税金資産</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/2/20/208/2082.xml b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/2/20/208/2082.xml
new file mode 100644
index 0000000000..b8e48c17f7
--- /dev/null
+++ b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/2/20/208/2082.xml
@@ -0,0 +1,37 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="Category" module="Products.ERP5Type.Document.Category"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>effective_date</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>2082</string> </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Category</string> </value>
+        </item>
+        <item>
+            <key> <string>short_title</string> </key>
+            <value> <string>繰延税金負債</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>繰延税金負債</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/2/21.xml b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/2/21.xml
new file mode 100644
index 0000000000..5e297ba90e
--- /dev/null
+++ b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/2/21.xml
@@ -0,0 +1,77 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="Category" module="Products.ERP5Type.Document.Category"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_count</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>_mt_index</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>_tree</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAQ=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>effective_date</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>21</string> </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Category</string> </value>
+        </item>
+        <item>
+            <key> <string>short_title</string> </key>
+            <value> <string>有形固定資産</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>有形固定資産</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="2" aka="AAAAAAAAAAI=">
+    <pickle>
+      <global name="Length" module="BTrees.Length"/>
+    </pickle>
+    <pickle> <int>0</int> </pickle>
+  </record>
+  <record id="3" aka="AAAAAAAAAAM=">
+    <pickle>
+      <global name="OOBTree" module="BTrees._OOBTree"/>
+    </pickle>
+    <pickle>
+      <none/>
+    </pickle>
+  </record>
+  <record id="4" aka="AAAAAAAAAAQ=">
+    <pickle>
+      <global name="OOBTree" module="BTrees._OOBTree"/>
+    </pickle>
+    <pickle>
+      <none/>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/2/21/211.xml b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/2/21/211.xml
new file mode 100644
index 0000000000..2edf6a6113
--- /dev/null
+++ b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/2/21/211.xml
@@ -0,0 +1,37 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="Category" module="Products.ERP5Type.Document.Category"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>effective_date</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>211</string> </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Category</string> </value>
+        </item>
+        <item>
+            <key> <string>short_title</string> </key>
+            <value> <string>土地</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>土地</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/2/21/212.xml b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/2/21/212.xml
new file mode 100644
index 0000000000..0594b49d74
--- /dev/null
+++ b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/2/21/212.xml
@@ -0,0 +1,37 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="Category" module="Products.ERP5Type.Document.Category"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>effective_date</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>212</string> </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Category</string> </value>
+        </item>
+        <item>
+            <key> <string>short_title</string> </key>
+            <value> <string>建設仮勘定</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>建設仮勘定</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/2/21/213.xml b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/2/21/213.xml
new file mode 100644
index 0000000000..f4c46d63f2
--- /dev/null
+++ b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/2/21/213.xml
@@ -0,0 +1,77 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="Category" module="Products.ERP5Type.Document.Category"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_count</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>_mt_index</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>_tree</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAQ=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>effective_date</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>213</string> </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Category</string> </value>
+        </item>
+        <item>
+            <key> <string>short_title</string> </key>
+            <value> <string>建造物</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>建造物</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="2" aka="AAAAAAAAAAI=">
+    <pickle>
+      <global name="Length" module="BTrees.Length"/>
+    </pickle>
+    <pickle> <int>0</int> </pickle>
+  </record>
+  <record id="3" aka="AAAAAAAAAAM=">
+    <pickle>
+      <global name="OOBTree" module="BTrees._OOBTree"/>
+    </pickle>
+    <pickle>
+      <none/>
+    </pickle>
+  </record>
+  <record id="4" aka="AAAAAAAAAAQ=">
+    <pickle>
+      <global name="OOBTree" module="BTrees._OOBTree"/>
+    </pickle>
+    <pickle>
+      <none/>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/2/21/213/2131.xml b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/2/21/213/2131.xml
new file mode 100644
index 0000000000..f4d561c11e
--- /dev/null
+++ b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/2/21/213/2131.xml
@@ -0,0 +1,37 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="Category" module="Products.ERP5Type.Document.Category"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>effective_date</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>2131</string> </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Category</string> </value>
+        </item>
+        <item>
+            <key> <string>short_title</string> </key>
+            <value> <string>建物</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>建物</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/2/21/213/2138.xml b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/2/21/213/2138.xml
new file mode 100644
index 0000000000..7dbb4e7027
--- /dev/null
+++ b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/2/21/213/2138.xml
@@ -0,0 +1,37 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="Category" module="Products.ERP5Type.Document.Category"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>effective_date</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>2138</string> </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Category</string> </value>
+        </item>
+        <item>
+            <key> <string>short_title</string> </key>
+            <value> <string>構築物</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>構築物</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/2/21/215.xml b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/2/21/215.xml
new file mode 100644
index 0000000000..dd76a9694a
--- /dev/null
+++ b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/2/21/215.xml
@@ -0,0 +1,37 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="Category" module="Products.ERP5Type.Document.Category"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>effective_date</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>215</string> </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Category</string> </value>
+        </item>
+        <item>
+            <key> <string>short_title</string> </key>
+            <value> <string>備品</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>備品</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/2/21/218.xml b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/2/21/218.xml
new file mode 100644
index 0000000000..2c8af86ea7
--- /dev/null
+++ b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/2/21/218.xml
@@ -0,0 +1,77 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="Category" module="Products.ERP5Type.Document.Category"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_count</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>_mt_index</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>_tree</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAQ=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>effective_date</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>218</string> </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Category</string> </value>
+        </item>
+        <item>
+            <key> <string>short_title</string> </key>
+            <value> <string>その他有形固定資産</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>その他有形固定資産</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="2" aka="AAAAAAAAAAI=">
+    <pickle>
+      <global name="Length" module="BTrees.Length"/>
+    </pickle>
+    <pickle> <int>0</int> </pickle>
+  </record>
+  <record id="3" aka="AAAAAAAAAAM=">
+    <pickle>
+      <global name="OOBTree" module="BTrees._OOBTree"/>
+    </pickle>
+    <pickle>
+      <none/>
+    </pickle>
+  </record>
+  <record id="4" aka="AAAAAAAAAAQ=">
+    <pickle>
+      <global name="OOBTree" module="BTrees._OOBTree"/>
+    </pickle>
+    <pickle>
+      <none/>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/2/21/218/2182.xml b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/2/21/218/2182.xml
new file mode 100644
index 0000000000..121ce1324f
--- /dev/null
+++ b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/2/21/218/2182.xml
@@ -0,0 +1,77 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="Category" module="Products.ERP5Type.Document.Category"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_count</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>_mt_index</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>_tree</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAQ=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>effective_date</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>2182</string> </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Category</string> </value>
+        </item>
+        <item>
+            <key> <string>short_title</string> </key>
+            <value> <string>運搬具</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>運搬具</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="2" aka="AAAAAAAAAAI=">
+    <pickle>
+      <global name="Length" module="BTrees.Length"/>
+    </pickle>
+    <pickle> <int>0</int> </pickle>
+  </record>
+  <record id="3" aka="AAAAAAAAAAM=">
+    <pickle>
+      <global name="OOBTree" module="BTrees._OOBTree"/>
+    </pickle>
+    <pickle>
+      <none/>
+    </pickle>
+  </record>
+  <record id="4" aka="AAAAAAAAAAQ=">
+    <pickle>
+      <global name="OOBTree" module="BTrees._OOBTree"/>
+    </pickle>
+    <pickle>
+      <none/>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/2/21/218/2182/21821.xml b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/2/21/218/2182/21821.xml
new file mode 100644
index 0000000000..66db7e5592
--- /dev/null
+++ b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/2/21/218/2182/21821.xml
@@ -0,0 +1,37 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="Category" module="Products.ERP5Type.Document.Category"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>effective_date</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>21821</string> </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Category</string> </value>
+        </item>
+        <item>
+            <key> <string>short_title</string> </key>
+            <value> <string>船舶・航空機</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>船舶・航空機</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/2/21/218/2182/21822.xml b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/2/21/218/2182/21822.xml
new file mode 100644
index 0000000000..21a6f1f8bd
--- /dev/null
+++ b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/2/21/218/2182/21822.xml
@@ -0,0 +1,37 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="Category" module="Products.ERP5Type.Document.Category"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>effective_date</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>21822</string> </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Category</string> </value>
+        </item>
+        <item>
+            <key> <string>short_title</string> </key>
+            <value> <string>車両運搬具</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>車両運搬具</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/2/27.xml b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/2/27.xml
new file mode 100644
index 0000000000..6a62c5107c
--- /dev/null
+++ b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/2/27.xml
@@ -0,0 +1,77 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="Category" module="Products.ERP5Type.Document.Category"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_count</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>_mt_index</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>_tree</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAQ=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>effective_date</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>27</string> </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Category</string> </value>
+        </item>
+        <item>
+            <key> <string>short_title</string> </key>
+            <value> <string>投資</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>投資</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="2" aka="AAAAAAAAAAI=">
+    <pickle>
+      <global name="Length" module="BTrees.Length"/>
+    </pickle>
+    <pickle> <int>0</int> </pickle>
+  </record>
+  <record id="3" aka="AAAAAAAAAAM=">
+    <pickle>
+      <global name="OOBTree" module="BTrees._OOBTree"/>
+    </pickle>
+    <pickle>
+      <none/>
+    </pickle>
+  </record>
+  <record id="4" aka="AAAAAAAAAAQ=">
+    <pickle>
+      <global name="OOBTree" module="BTrees._OOBTree"/>
+    </pickle>
+    <pickle>
+      <none/>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/2/27/271.xml b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/2/27/271.xml
new file mode 100644
index 0000000000..218d8adb89
--- /dev/null
+++ b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/2/27/271.xml
@@ -0,0 +1,77 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="Category" module="Products.ERP5Type.Document.Category"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_count</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>_mt_index</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>_tree</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAQ=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>effective_date</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>271</string> </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Category</string> </value>
+        </item>
+        <item>
+            <key> <string>short_title</string> </key>
+            <value> <string>長期投資資産</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>長期投資資産</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="2" aka="AAAAAAAAAAI=">
+    <pickle>
+      <global name="Length" module="BTrees.Length"/>
+    </pickle>
+    <pickle> <int>0</int> </pickle>
+  </record>
+  <record id="3" aka="AAAAAAAAAAM=">
+    <pickle>
+      <global name="OOBTree" module="BTrees._OOBTree"/>
+    </pickle>
+    <pickle>
+      <none/>
+    </pickle>
+  </record>
+  <record id="4" aka="AAAAAAAAAAQ=">
+    <pickle>
+      <global name="OOBTree" module="BTrees._OOBTree"/>
+    </pickle>
+    <pickle>
+      <none/>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/2/27/271/2711.xml b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/2/27/271/2711.xml
new file mode 100644
index 0000000000..cb52e566e8
--- /dev/null
+++ b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/2/27/271/2711.xml
@@ -0,0 +1,37 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="Category" module="Products.ERP5Type.Document.Category"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>effective_date</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>2711</string> </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Category</string> </value>
+        </item>
+        <item>
+            <key> <string>short_title</string> </key>
+            <value> <string>投資有価証券</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>投資有価証券</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/2/27/271/2712.xml b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/2/27/271/2712.xml
new file mode 100644
index 0000000000..30ac0c1376
--- /dev/null
+++ b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/2/27/271/2712.xml
@@ -0,0 +1,37 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="Category" module="Products.ERP5Type.Document.Category"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>effective_date</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>2712</string> </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Category</string> </value>
+        </item>
+        <item>
+            <key> <string>short_title</string> </key>
+            <value> <string>投資不動産</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>投資不動産</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/2/27/271/2718.xml b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/2/27/271/2718.xml
new file mode 100644
index 0000000000..0cb6aae27c
--- /dev/null
+++ b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/2/27/271/2718.xml
@@ -0,0 +1,77 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="Category" module="Products.ERP5Type.Document.Category"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_count</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>_mt_index</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>_tree</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAQ=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>effective_date</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>2718</string> </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Category</string> </value>
+        </item>
+        <item>
+            <key> <string>short_title</string> </key>
+            <value> <string>長期営業債権</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>長期営業債権</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="2" aka="AAAAAAAAAAI=">
+    <pickle>
+      <global name="Length" module="BTrees.Length"/>
+    </pickle>
+    <pickle> <int>0</int> </pickle>
+  </record>
+  <record id="3" aka="AAAAAAAAAAM=">
+    <pickle>
+      <global name="OOBTree" module="BTrees._OOBTree"/>
+    </pickle>
+    <pickle>
+      <none/>
+    </pickle>
+  </record>
+  <record id="4" aka="AAAAAAAAAAQ=">
+    <pickle>
+      <global name="OOBTree" module="BTrees._OOBTree"/>
+    </pickle>
+    <pickle>
+      <none/>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/2/27/271/2718/27181.xml b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/2/27/271/2718/27181.xml
new file mode 100644
index 0000000000..d361b00eb1
--- /dev/null
+++ b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/2/27/271/2718/27181.xml
@@ -0,0 +1,37 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="Category" module="Products.ERP5Type.Document.Category"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>effective_date</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>27181</string> </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Category</string> </value>
+        </item>
+        <item>
+            <key> <string>short_title</string> </key>
+            <value> <string>長期未収入金</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>長期未収入金</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/2/27/271/2718/27182.xml b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/2/27/271/2718/27182.xml
new file mode 100644
index 0000000000..98e692eda5
--- /dev/null
+++ b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/2/27/271/2718/27182.xml
@@ -0,0 +1,37 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="Category" module="Products.ERP5Type.Document.Category"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>effective_date</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>27182</string> </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Category</string> </value>
+        </item>
+        <item>
+            <key> <string>short_title</string> </key>
+            <value> <string>長期貸付金</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>長期貸付金</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/2/27/271/2718/27183.xml b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/2/27/271/2718/27183.xml
new file mode 100644
index 0000000000..018015dbac
--- /dev/null
+++ b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/2/27/271/2718/27183.xml
@@ -0,0 +1,77 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="Category" module="Products.ERP5Type.Document.Category"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_count</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>_mt_index</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>_tree</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAQ=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>effective_date</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>27183</string> </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Category</string> </value>
+        </item>
+        <item>
+            <key> <string>short_title</string> </key>
+            <value> <string>長期預け金</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>長期預け金</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="2" aka="AAAAAAAAAAI=">
+    <pickle>
+      <global name="Length" module="BTrees.Length"/>
+    </pickle>
+    <pickle> <int>0</int> </pickle>
+  </record>
+  <record id="3" aka="AAAAAAAAAAM=">
+    <pickle>
+      <global name="OOBTree" module="BTrees._OOBTree"/>
+    </pickle>
+    <pickle>
+      <none/>
+    </pickle>
+  </record>
+  <record id="4" aka="AAAAAAAAAAQ=">
+    <pickle>
+      <global name="OOBTree" module="BTrees._OOBTree"/>
+    </pickle>
+    <pickle>
+      <none/>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/2/27/271/2718/27183/271831.xml b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/2/27/271/2718/27183/271831.xml
new file mode 100644
index 0000000000..b2fa8420be
--- /dev/null
+++ b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/2/27/271/2718/27183/271831.xml
@@ -0,0 +1,37 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="Category" module="Products.ERP5Type.Document.Category"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>effective_date</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>271831</string> </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Category</string> </value>
+        </item>
+        <item>
+            <key> <string>short_title</string> </key>
+            <value> <string>長期前払金</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>長期前払金</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/2/27/271/2718/27183/271832.xml b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/2/27/271/2718/27183/271832.xml
new file mode 100644
index 0000000000..0187c42c6f
--- /dev/null
+++ b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/2/27/271/2718/27183/271832.xml
@@ -0,0 +1,37 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="Category" module="Products.ERP5Type.Document.Category"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>effective_date</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>271832</string> </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Category</string> </value>
+        </item>
+        <item>
+            <key> <string>short_title</string> </key>
+            <value> <string>長期前払費用</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>長期前払費用</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/2/27/271/2718/27183/271833.xml b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/2/27/271/2718/27183/271833.xml
new file mode 100644
index 0000000000..a6f39394f5
--- /dev/null
+++ b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/2/27/271/2718/27183/271833.xml
@@ -0,0 +1,37 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="Category" module="Products.ERP5Type.Document.Category"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>effective_date</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>271833</string> </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Category</string> </value>
+        </item>
+        <item>
+            <key> <string>short_title</string> </key>
+            <value> <string>差入保証金</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>差入保証金</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/2/27/272.xml b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/2/27/272.xml
new file mode 100644
index 0000000000..10da47ad7b
--- /dev/null
+++ b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/2/27/272.xml
@@ -0,0 +1,77 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="Category" module="Products.ERP5Type.Document.Category"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_count</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>_mt_index</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>_tree</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAQ=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>effective_date</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>272</string> </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Category</string> </value>
+        </item>
+        <item>
+            <key> <string>short_title</string> </key>
+            <value> <string>長期投資負債</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>長期投資負債</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="2" aka="AAAAAAAAAAI=">
+    <pickle>
+      <global name="Length" module="BTrees.Length"/>
+    </pickle>
+    <pickle> <int>0</int> </pickle>
+  </record>
+  <record id="3" aka="AAAAAAAAAAM=">
+    <pickle>
+      <global name="OOBTree" module="BTrees._OOBTree"/>
+    </pickle>
+    <pickle>
+      <none/>
+    </pickle>
+  </record>
+  <record id="4" aka="AAAAAAAAAAQ=">
+    <pickle>
+      <global name="OOBTree" module="BTrees._OOBTree"/>
+    </pickle>
+    <pickle>
+      <none/>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/2/27/272/2728.xml b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/2/27/272/2728.xml
new file mode 100644
index 0000000000..0c79aee6ab
--- /dev/null
+++ b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/2/27/272/2728.xml
@@ -0,0 +1,77 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="Category" module="Products.ERP5Type.Document.Category"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_count</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>_mt_index</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>_tree</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAQ=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>effective_date</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>2728</string> </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Category</string> </value>
+        </item>
+        <item>
+            <key> <string>short_title</string> </key>
+            <value> <string>長期営業債務</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>長期営業債務</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="2" aka="AAAAAAAAAAI=">
+    <pickle>
+      <global name="Length" module="BTrees.Length"/>
+    </pickle>
+    <pickle> <int>0</int> </pickle>
+  </record>
+  <record id="3" aka="AAAAAAAAAAM=">
+    <pickle>
+      <global name="OOBTree" module="BTrees._OOBTree"/>
+    </pickle>
+    <pickle>
+      <none/>
+    </pickle>
+  </record>
+  <record id="4" aka="AAAAAAAAAAQ=">
+    <pickle>
+      <global name="OOBTree" module="BTrees._OOBTree"/>
+    </pickle>
+    <pickle>
+      <none/>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/2/27/272/2728/27281.xml b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/2/27/272/2728/27281.xml
new file mode 100644
index 0000000000..0331a4f007
--- /dev/null
+++ b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/2/27/272/2728/27281.xml
@@ -0,0 +1,37 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="Category" module="Products.ERP5Type.Document.Category"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>effective_date</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>27281</string> </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Category</string> </value>
+        </item>
+        <item>
+            <key> <string>short_title</string> </key>
+            <value> <string>長期未払金</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>長期未払金</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/2/27/272/2728/27282.xml b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/2/27/272/2728/27282.xml
new file mode 100644
index 0000000000..78e6088fc8
--- /dev/null
+++ b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/2/27/272/2728/27282.xml
@@ -0,0 +1,37 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="Category" module="Products.ERP5Type.Document.Category"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>effective_date</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>27282</string> </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Category</string> </value>
+        </item>
+        <item>
+            <key> <string>short_title</string> </key>
+            <value> <string>長期借入金</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>長期借入金</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/2/27/272/2728/27283.xml b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/2/27/272/2728/27283.xml
new file mode 100644
index 0000000000..050eae37b2
--- /dev/null
+++ b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/2/27/272/2728/27283.xml
@@ -0,0 +1,77 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="Category" module="Products.ERP5Type.Document.Category"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_count</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>_mt_index</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>_tree</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAQ=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>effective_date</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>27283</string> </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Category</string> </value>
+        </item>
+        <item>
+            <key> <string>short_title</string> </key>
+            <value> <string>長期預り金</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>長期預り金</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="2" aka="AAAAAAAAAAI=">
+    <pickle>
+      <global name="Length" module="BTrees.Length"/>
+    </pickle>
+    <pickle> <int>0</int> </pickle>
+  </record>
+  <record id="3" aka="AAAAAAAAAAM=">
+    <pickle>
+      <global name="OOBTree" module="BTrees._OOBTree"/>
+    </pickle>
+    <pickle>
+      <none/>
+    </pickle>
+  </record>
+  <record id="4" aka="AAAAAAAAAAQ=">
+    <pickle>
+      <global name="OOBTree" module="BTrees._OOBTree"/>
+    </pickle>
+    <pickle>
+      <none/>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/2/27/272/2728/27283/272831.xml b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/2/27/272/2728/27283/272831.xml
new file mode 100644
index 0000000000..67ee0a0f31
--- /dev/null
+++ b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/2/27/272/2728/27283/272831.xml
@@ -0,0 +1,37 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="Category" module="Products.ERP5Type.Document.Category"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>effective_date</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>272831</string> </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Category</string> </value>
+        </item>
+        <item>
+            <key> <string>short_title</string> </key>
+            <value> <string>長期前受金</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>長期前受金</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/2/27/272/2728/27283/272832.xml b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/2/27/272/2728/27283/272832.xml
new file mode 100644
index 0000000000..91cd1f3041
--- /dev/null
+++ b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/2/27/272/2728/27283/272832.xml
@@ -0,0 +1,37 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="Category" module="Products.ERP5Type.Document.Category"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>effective_date</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>272832</string> </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Category</string> </value>
+        </item>
+        <item>
+            <key> <string>short_title</string> </key>
+            <value> <string>長期前受収益</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>長期前受収益</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/2/27/272/2728/27283/272833.xml b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/2/27/272/2728/27283/272833.xml
new file mode 100644
index 0000000000..26a9604b16
--- /dev/null
+++ b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/2/27/272/2728/27283/272833.xml
@@ -0,0 +1,37 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="Category" module="Products.ERP5Type.Document.Category"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>effective_date</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>272833</string> </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Category</string> </value>
+        </item>
+        <item>
+            <key> <string>short_title</string> </key>
+            <value> <string>長期預り保証金</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>長期預り保証金</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/2/28.xml b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/2/28.xml
new file mode 100644
index 0000000000..91c2b5c569
--- /dev/null
+++ b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/2/28.xml
@@ -0,0 +1,37 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="Category" module="Products.ERP5Type.Document.Category"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>effective_date</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>28</string> </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Category</string> </value>
+        </item>
+        <item>
+            <key> <string>short_title</string> </key>
+            <value> <string>減価償却累計額</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>減価償却累計額</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/3.xml b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/3.xml
new file mode 100644
index 0000000000..e7b9dbadbd
--- /dev/null
+++ b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/3.xml
@@ -0,0 +1,77 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="Category" module="Products.ERP5Type.Document.Category"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_count</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>_mt_index</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>_tree</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAQ=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>effective_date</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>3</string> </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Category</string> </value>
+        </item>
+        <item>
+            <key> <string>short_title</string> </key>
+            <value> <string>棚卸資産</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>棚卸資産</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="2" aka="AAAAAAAAAAI=">
+    <pickle>
+      <global name="Length" module="BTrees.Length"/>
+    </pickle>
+    <pickle> <int>0</int> </pickle>
+  </record>
+  <record id="3" aka="AAAAAAAAAAM=">
+    <pickle>
+      <global name="OOBTree" module="BTrees._OOBTree"/>
+    </pickle>
+    <pickle>
+      <none/>
+    </pickle>
+  </record>
+  <record id="4" aka="AAAAAAAAAAQ=">
+    <pickle>
+      <global name="OOBTree" module="BTrees._OOBTree"/>
+    </pickle>
+    <pickle>
+      <none/>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/3/31.xml b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/3/31.xml
new file mode 100644
index 0000000000..46a7b3d00a
--- /dev/null
+++ b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/3/31.xml
@@ -0,0 +1,37 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="Category" module="Products.ERP5Type.Document.Category"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>effective_date</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>31</string> </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Category</string> </value>
+        </item>
+        <item>
+            <key> <string>short_title</string> </key>
+            <value> <string>原材料</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>原材料</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/3/32.xml b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/3/32.xml
new file mode 100644
index 0000000000..944c693cd6
--- /dev/null
+++ b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/3/32.xml
@@ -0,0 +1,37 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="Category" module="Products.ERP5Type.Document.Category"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>effective_date</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>32</string> </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Category</string> </value>
+        </item>
+        <item>
+            <key> <string>short_title</string> </key>
+            <value> <string>仕掛品</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>仕掛品</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/3/33.xml b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/3/33.xml
new file mode 100644
index 0000000000..e3314c12a1
--- /dev/null
+++ b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/3/33.xml
@@ -0,0 +1,37 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="Category" module="Products.ERP5Type.Document.Category"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>effective_date</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>33</string> </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Category</string> </value>
+        </item>
+        <item>
+            <key> <string>short_title</string> </key>
+            <value> <string>半製品</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>半製品</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/3/34.xml b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/3/34.xml
new file mode 100644
index 0000000000..1cba5223a4
--- /dev/null
+++ b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/3/34.xml
@@ -0,0 +1,37 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="Category" module="Products.ERP5Type.Document.Category"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>effective_date</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>34</string> </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Category</string> </value>
+        </item>
+        <item>
+            <key> <string>short_title</string> </key>
+            <value> <string>製品</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>製品</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/3/35.xml b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/3/35.xml
new file mode 100644
index 0000000000..d83998879f
--- /dev/null
+++ b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/3/35.xml
@@ -0,0 +1,37 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="Category" module="Products.ERP5Type.Document.Category"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>effective_date</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>35</string> </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Category</string> </value>
+        </item>
+        <item>
+            <key> <string>short_title</string> </key>
+            <value> <string>貯蔵品</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>貯蔵品</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/3/36.xml b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/3/36.xml
new file mode 100644
index 0000000000..76464073a9
--- /dev/null
+++ b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/3/36.xml
@@ -0,0 +1,37 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="Category" module="Products.ERP5Type.Document.Category"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>effective_date</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>36</string> </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Category</string> </value>
+        </item>
+        <item>
+            <key> <string>short_title</string> </key>
+            <value> <string>商品</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>商品</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/3/39.xml b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/3/39.xml
new file mode 100644
index 0000000000..598ed5f2dd
--- /dev/null
+++ b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/3/39.xml
@@ -0,0 +1,37 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="Category" module="Products.ERP5Type.Document.Category"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>effective_date</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>39</string> </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Category</string> </value>
+        </item>
+        <item>
+            <key> <string>short_title</string> </key>
+            <value> <string>棚卸引当金</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>棚卸引当金</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/4.xml b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/4.xml
new file mode 100644
index 0000000000..50774ad517
--- /dev/null
+++ b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/4.xml
@@ -0,0 +1,77 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="Category" module="Products.ERP5Type.Document.Category"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_count</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>_mt_index</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>_tree</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAQ=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>effective_date</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>4</string> </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Category</string> </value>
+        </item>
+        <item>
+            <key> <string>short_title</string> </key>
+            <value> <string>流動資産及び流動負債</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>流動資産及び流動負債</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="2" aka="AAAAAAAAAAI=">
+    <pickle>
+      <global name="Length" module="BTrees.Length"/>
+    </pickle>
+    <pickle> <int>0</int> </pickle>
+  </record>
+  <record id="3" aka="AAAAAAAAAAM=">
+    <pickle>
+      <global name="OOBTree" module="BTrees._OOBTree"/>
+    </pickle>
+    <pickle>
+      <none/>
+    </pickle>
+  </record>
+  <record id="4" aka="AAAAAAAAAAQ=">
+    <pickle>
+      <global name="OOBTree" module="BTrees._OOBTree"/>
+    </pickle>
+    <pickle>
+      <none/>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/4/40.xml b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/4/40.xml
new file mode 100644
index 0000000000..e86959206f
--- /dev/null
+++ b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/4/40.xml
@@ -0,0 +1,77 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="Category" module="Products.ERP5Type.Document.Category"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_count</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>_mt_index</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>_tree</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAQ=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>effective_date</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>40</string> </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Category</string> </value>
+        </item>
+        <item>
+            <key> <string>short_title</string> </key>
+            <value> <string>営業債務</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>営業債務</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="2" aka="AAAAAAAAAAI=">
+    <pickle>
+      <global name="Length" module="BTrees.Length"/>
+    </pickle>
+    <pickle> <int>0</int> </pickle>
+  </record>
+  <record id="3" aka="AAAAAAAAAAM=">
+    <pickle>
+      <global name="OOBTree" module="BTrees._OOBTree"/>
+    </pickle>
+    <pickle>
+      <none/>
+    </pickle>
+  </record>
+  <record id="4" aka="AAAAAAAAAAQ=">
+    <pickle>
+      <global name="OOBTree" module="BTrees._OOBTree"/>
+    </pickle>
+    <pickle>
+      <none/>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/4/40/401.xml b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/4/40/401.xml
new file mode 100644
index 0000000000..65cff5a581
--- /dev/null
+++ b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/4/40/401.xml
@@ -0,0 +1,37 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="Category" module="Products.ERP5Type.Document.Category"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>effective_date</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>401</string> </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Category</string> </value>
+        </item>
+        <item>
+            <key> <string>short_title</string> </key>
+            <value> <string>支払手形</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>支払手形</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/4/40/402.xml b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/4/40/402.xml
new file mode 100644
index 0000000000..7113758df5
--- /dev/null
+++ b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/4/40/402.xml
@@ -0,0 +1,37 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="Category" module="Products.ERP5Type.Document.Category"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>effective_date</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>402</string> </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Category</string> </value>
+        </item>
+        <item>
+            <key> <string>short_title</string> </key>
+            <value> <string>買掛金</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>買掛金</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/4/40/403.xml b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/4/40/403.xml
new file mode 100644
index 0000000000..0f99f96ca1
--- /dev/null
+++ b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/4/40/403.xml
@@ -0,0 +1,37 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="Category" module="Products.ERP5Type.Document.Category"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>effective_date</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>403</string> </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Category</string> </value>
+        </item>
+        <item>
+            <key> <string>short_title</string> </key>
+            <value> <string>未払費用</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>未払費用</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/4/40/404.xml b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/4/40/404.xml
new file mode 100644
index 0000000000..40608ebc19
--- /dev/null
+++ b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/4/40/404.xml
@@ -0,0 +1,37 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="Category" module="Products.ERP5Type.Document.Category"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>effective_date</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>404</string> </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Category</string> </value>
+        </item>
+        <item>
+            <key> <string>short_title</string> </key>
+            <value> <string>未払金</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>未払金</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/4/40/405.xml b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/4/40/405.xml
new file mode 100644
index 0000000000..f41d61b407
--- /dev/null
+++ b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/4/40/405.xml
@@ -0,0 +1,37 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="Category" module="Products.ERP5Type.Document.Category"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>effective_date</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>405</string> </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Category</string> </value>
+        </item>
+        <item>
+            <key> <string>short_title</string> </key>
+            <value> <string>借入金</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>借入金</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/4/40/406.xml b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/4/40/406.xml
new file mode 100644
index 0000000000..f78e9e30f5
--- /dev/null
+++ b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/4/40/406.xml
@@ -0,0 +1,77 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="Category" module="Products.ERP5Type.Document.Category"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_count</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>_mt_index</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>_tree</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAQ=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>effective_date</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>406</string> </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Category</string> </value>
+        </item>
+        <item>
+            <key> <string>short_title</string> </key>
+            <value> <string>預り金</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>預り金</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="2" aka="AAAAAAAAAAI=">
+    <pickle>
+      <global name="Length" module="BTrees.Length"/>
+    </pickle>
+    <pickle> <int>0</int> </pickle>
+  </record>
+  <record id="3" aka="AAAAAAAAAAM=">
+    <pickle>
+      <global name="OOBTree" module="BTrees._OOBTree"/>
+    </pickle>
+    <pickle>
+      <none/>
+    </pickle>
+  </record>
+  <record id="4" aka="AAAAAAAAAAQ=">
+    <pickle>
+      <global name="OOBTree" module="BTrees._OOBTree"/>
+    </pickle>
+    <pickle>
+      <none/>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/4/40/406/4061.xml b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/4/40/406/4061.xml
new file mode 100644
index 0000000000..e0c70f5b79
--- /dev/null
+++ b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/4/40/406/4061.xml
@@ -0,0 +1,37 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="Category" module="Products.ERP5Type.Document.Category"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>effective_date</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>4061</string> </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Category</string> </value>
+        </item>
+        <item>
+            <key> <string>short_title</string> </key>
+            <value> <string>前受収益</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>前受収益</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/4/40/406/4062.xml b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/4/40/406/4062.xml
new file mode 100644
index 0000000000..cc50ec2127
--- /dev/null
+++ b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/4/40/406/4062.xml
@@ -0,0 +1,37 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="Category" module="Products.ERP5Type.Document.Category"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>effective_date</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>4062</string> </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Category</string> </value>
+        </item>
+        <item>
+            <key> <string>short_title</string> </key>
+            <value> <string>前受金</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>前受金</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/4/40/406/4063.xml b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/4/40/406/4063.xml
new file mode 100644
index 0000000000..1fbc17fa3b
--- /dev/null
+++ b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/4/40/406/4063.xml
@@ -0,0 +1,37 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="Category" module="Products.ERP5Type.Document.Category"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>effective_date</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>4063</string> </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Category</string> </value>
+        </item>
+        <item>
+            <key> <string>short_title</string> </key>
+            <value> <string>預り保証金</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>預り保証金</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/4/40/407.xml b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/4/40/407.xml
new file mode 100644
index 0000000000..03e82f6469
--- /dev/null
+++ b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/4/40/407.xml
@@ -0,0 +1,37 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="Category" module="Products.ERP5Type.Document.Category"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>effective_date</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>407</string> </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Category</string> </value>
+        </item>
+        <item>
+            <key> <string>short_title</string> </key>
+            <value> <string>繰延割賦売上利益</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>繰延割賦売上利益</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/4/40/408.xml b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/4/40/408.xml
new file mode 100644
index 0000000000..a61a8d1cdf
--- /dev/null
+++ b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/4/40/408.xml
@@ -0,0 +1,37 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="Category" module="Products.ERP5Type.Document.Category"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>effective_date</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>408</string> </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Category</string> </value>
+        </item>
+        <item>
+            <key> <string>short_title</string> </key>
+            <value> <string>仮受金</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>仮受金</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/4/41.xml b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/4/41.xml
new file mode 100644
index 0000000000..9dc80f64d2
--- /dev/null
+++ b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/4/41.xml
@@ -0,0 +1,83 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="Category" module="Products.ERP5Type.Document.Category"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_count</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>_mt_index</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>_tree</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAQ=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>description</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>effective_date</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>41</string> </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Category</string> </value>
+        </item>
+        <item>
+            <key> <string>short_title</string> </key>
+            <value> <string>営業債権</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>営業債権</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="2" aka="AAAAAAAAAAI=">
+    <pickle>
+      <global name="Length" module="BTrees.Length"/>
+    </pickle>
+    <pickle> <int>0</int> </pickle>
+  </record>
+  <record id="3" aka="AAAAAAAAAAM=">
+    <pickle>
+      <global name="OOBTree" module="BTrees._OOBTree"/>
+    </pickle>
+    <pickle>
+      <none/>
+    </pickle>
+  </record>
+  <record id="4" aka="AAAAAAAAAAQ=">
+    <pickle>
+      <global name="OOBTree" module="BTrees._OOBTree"/>
+    </pickle>
+    <pickle>
+      <none/>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/4/41/411.xml b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/4/41/411.xml
new file mode 100644
index 0000000000..a6234cf41f
--- /dev/null
+++ b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/4/41/411.xml
@@ -0,0 +1,49 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="Category" module="Products.ERP5Type.Document.Category"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>codification</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>effective_date</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>411</string> </value>
+        </item>
+        <item>
+            <key> <string>int_index</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Category</string> </value>
+        </item>
+        <item>
+            <key> <string>short_title</string> </key>
+            <value> <string>受取手形</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>受取手形</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/4/41/412.xml b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/4/41/412.xml
new file mode 100644
index 0000000000..412ad18d95
--- /dev/null
+++ b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/4/41/412.xml
@@ -0,0 +1,89 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="Category" module="Products.ERP5Type.Document.Category"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_count</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>_mt_index</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>_tree</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAQ=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>codification</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>effective_date</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>412</string> </value>
+        </item>
+        <item>
+            <key> <string>int_index</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Category</string> </value>
+        </item>
+        <item>
+            <key> <string>short_title</string> </key>
+            <value> <string>売掛金等</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>売掛金等</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="2" aka="AAAAAAAAAAI=">
+    <pickle>
+      <global name="Length" module="BTrees.Length"/>
+    </pickle>
+    <pickle> <int>0</int> </pickle>
+  </record>
+  <record id="3" aka="AAAAAAAAAAM=">
+    <pickle>
+      <global name="OOBTree" module="BTrees._OOBTree"/>
+    </pickle>
+    <pickle>
+      <none/>
+    </pickle>
+  </record>
+  <record id="4" aka="AAAAAAAAAAQ=">
+    <pickle>
+      <global name="OOBTree" module="BTrees._OOBTree"/>
+    </pickle>
+    <pickle>
+      <none/>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/4/41/412/4121.xml b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/4/41/412/4121.xml
new file mode 100644
index 0000000000..0def67d92a
--- /dev/null
+++ b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/4/41/412/4121.xml
@@ -0,0 +1,37 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="Category" module="Products.ERP5Type.Document.Category"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>effective_date</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>4121</string> </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Category</string> </value>
+        </item>
+        <item>
+            <key> <string>short_title</string> </key>
+            <value> <string>売掛金</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>売掛金</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/4/41/412/4122.xml b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/4/41/412/4122.xml
new file mode 100644
index 0000000000..2d221ecc64
--- /dev/null
+++ b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/4/41/412/4122.xml
@@ -0,0 +1,37 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="Category" module="Products.ERP5Type.Document.Category"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>effective_date</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>4122</string> </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Category</string> </value>
+        </item>
+        <item>
+            <key> <string>short_title</string> </key>
+            <value> <string>完成工事未収入金</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>完成工事未収入金</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/4/41/412/4123.xml b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/4/41/412/4123.xml
new file mode 100644
index 0000000000..89abd4b090
--- /dev/null
+++ b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/4/41/412/4123.xml
@@ -0,0 +1,37 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="Category" module="Products.ERP5Type.Document.Category"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>effective_date</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>4123</string> </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Category</string> </value>
+        </item>
+        <item>
+            <key> <string>short_title</string> </key>
+            <value> <string>割賦売掛金</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>割賦売掛金</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/4/41/413.xml b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/4/41/413.xml
new file mode 100644
index 0000000000..5974bdfca9
--- /dev/null
+++ b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/4/41/413.xml
@@ -0,0 +1,49 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="Category" module="Products.ERP5Type.Document.Category"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>codification</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>effective_date</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>413</string> </value>
+        </item>
+        <item>
+            <key> <string>int_index</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Category</string> </value>
+        </item>
+        <item>
+            <key> <string>short_title</string> </key>
+            <value> <string>未収収益</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>未収収益</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/4/41/414.xml b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/4/41/414.xml
new file mode 100644
index 0000000000..5e8117e2c5
--- /dev/null
+++ b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/4/41/414.xml
@@ -0,0 +1,49 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="Category" module="Products.ERP5Type.Document.Category"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>codification</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>effective_date</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>414</string> </value>
+        </item>
+        <item>
+            <key> <string>int_index</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Category</string> </value>
+        </item>
+        <item>
+            <key> <string>short_title</string> </key>
+            <value> <string>未収入金</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>未収入金</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/4/41/415.xml b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/4/41/415.xml
new file mode 100644
index 0000000000..338fe024ad
--- /dev/null
+++ b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/4/41/415.xml
@@ -0,0 +1,49 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="Category" module="Products.ERP5Type.Document.Category"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>codification</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>effective_date</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>415</string> </value>
+        </item>
+        <item>
+            <key> <string>int_index</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Category</string> </value>
+        </item>
+        <item>
+            <key> <string>short_title</string> </key>
+            <value> <string>貸付金</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>貸付金</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/4/41/416.xml b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/4/41/416.xml
new file mode 100644
index 0000000000..f8d4d063ba
--- /dev/null
+++ b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/4/41/416.xml
@@ -0,0 +1,89 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="Category" module="Products.ERP5Type.Document.Category"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_count</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>_mt_index</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>_tree</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAQ=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>codification</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>effective_date</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>416</string> </value>
+        </item>
+        <item>
+            <key> <string>int_index</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Category</string> </value>
+        </item>
+        <item>
+            <key> <string>short_title</string> </key>
+            <value> <string>預け金</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>預け金</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="2" aka="AAAAAAAAAAI=">
+    <pickle>
+      <global name="Length" module="BTrees.Length"/>
+    </pickle>
+    <pickle> <int>0</int> </pickle>
+  </record>
+  <record id="3" aka="AAAAAAAAAAM=">
+    <pickle>
+      <global name="OOBTree" module="BTrees._OOBTree"/>
+    </pickle>
+    <pickle>
+      <none/>
+    </pickle>
+  </record>
+  <record id="4" aka="AAAAAAAAAAQ=">
+    <pickle>
+      <global name="OOBTree" module="BTrees._OOBTree"/>
+    </pickle>
+    <pickle>
+      <none/>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/4/41/416/4161.xml b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/4/41/416/4161.xml
new file mode 100644
index 0000000000..bcd4e069f7
--- /dev/null
+++ b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/4/41/416/4161.xml
@@ -0,0 +1,37 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="Category" module="Products.ERP5Type.Document.Category"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>effective_date</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>4161</string> </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Category</string> </value>
+        </item>
+        <item>
+            <key> <string>short_title</string> </key>
+            <value> <string>前払金</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>前払金</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/4/41/416/4162.xml b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/4/41/416/4162.xml
new file mode 100644
index 0000000000..ec810847db
--- /dev/null
+++ b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/4/41/416/4162.xml
@@ -0,0 +1,37 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="Category" module="Products.ERP5Type.Document.Category"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>effective_date</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>4162</string> </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Category</string> </value>
+        </item>
+        <item>
+            <key> <string>short_title</string> </key>
+            <value> <string>前払費用</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>前払費用</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/4/41/417.xml b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/4/41/417.xml
new file mode 100644
index 0000000000..a3499807d2
--- /dev/null
+++ b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/4/41/417.xml
@@ -0,0 +1,49 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="Category" module="Products.ERP5Type.Document.Category"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>codification</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>effective_date</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>417</string> </value>
+        </item>
+        <item>
+            <key> <string>int_index</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Category</string> </value>
+        </item>
+        <item>
+            <key> <string>short_title</string> </key>
+            <value> <string>立替金</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>立替金</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/4/41/418.xml b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/4/41/418.xml
new file mode 100644
index 0000000000..c1a399d994
--- /dev/null
+++ b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/4/41/418.xml
@@ -0,0 +1,49 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="Category" module="Products.ERP5Type.Document.Category"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>codification</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>effective_date</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>418</string> </value>
+        </item>
+        <item>
+            <key> <string>int_index</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Category</string> </value>
+        </item>
+        <item>
+            <key> <string>short_title</string> </key>
+            <value> <string>仮払金</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>仮払金</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/4/42.xml b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/4/42.xml
new file mode 100644
index 0000000000..969d2a83a9
--- /dev/null
+++ b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/4/42.xml
@@ -0,0 +1,77 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="Category" module="Products.ERP5Type.Document.Category"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_count</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>_mt_index</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>_tree</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAQ=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>effective_date</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>42</string> </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Category</string> </value>
+        </item>
+        <item>
+            <key> <string>short_title</string> </key>
+            <value> <string>未払人件費</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>未払人件費</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="2" aka="AAAAAAAAAAI=">
+    <pickle>
+      <global name="Length" module="BTrees.Length"/>
+    </pickle>
+    <pickle> <int>0</int> </pickle>
+  </record>
+  <record id="3" aka="AAAAAAAAAAM=">
+    <pickle>
+      <global name="OOBTree" module="BTrees._OOBTree"/>
+    </pickle>
+    <pickle>
+      <none/>
+    </pickle>
+  </record>
+  <record id="4" aka="AAAAAAAAAAQ=">
+    <pickle>
+      <global name="OOBTree" module="BTrees._OOBTree"/>
+    </pickle>
+    <pickle>
+      <none/>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/4/42/421.xml b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/4/42/421.xml
new file mode 100644
index 0000000000..073c80bfdb
--- /dev/null
+++ b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/4/42/421.xml
@@ -0,0 +1,37 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="Category" module="Products.ERP5Type.Document.Category"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>effective_date</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>421</string> </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Category</string> </value>
+        </item>
+        <item>
+            <key> <string>short_title</string> </key>
+            <value> <string>未払給料</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>未払給料</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/4/42/422.xml b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/4/42/422.xml
new file mode 100644
index 0000000000..c1f7dfeef1
--- /dev/null
+++ b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/4/42/422.xml
@@ -0,0 +1,37 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="Category" module="Products.ERP5Type.Document.Category"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>effective_date</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>422</string> </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Category</string> </value>
+        </item>
+        <item>
+            <key> <string>short_title</string> </key>
+            <value> <string>賞与引当金</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>賞与引当金</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/4/42/423.xml b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/4/42/423.xml
new file mode 100644
index 0000000000..ddd8249fee
--- /dev/null
+++ b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/4/42/423.xml
@@ -0,0 +1,37 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="Category" module="Products.ERP5Type.Document.Category"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>effective_date</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>423</string> </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Category</string> </value>
+        </item>
+        <item>
+            <key> <string>short_title</string> </key>
+            <value> <string>退職給付引当金</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>退職給付引当金</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/4/44.xml b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/4/44.xml
new file mode 100644
index 0000000000..ba8d2fc6ee
--- /dev/null
+++ b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/4/44.xml
@@ -0,0 +1,77 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="Category" module="Products.ERP5Type.Document.Category"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_count</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>_mt_index</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>_tree</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAQ=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>effective_date</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>44</string> </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Category</string> </value>
+        </item>
+        <item>
+            <key> <string>short_title</string> </key>
+            <value> <string>税金等</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>税金等</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="2" aka="AAAAAAAAAAI=">
+    <pickle>
+      <global name="Length" module="BTrees.Length"/>
+    </pickle>
+    <pickle> <int>0</int> </pickle>
+  </record>
+  <record id="3" aka="AAAAAAAAAAM=">
+    <pickle>
+      <global name="OOBTree" module="BTrees._OOBTree"/>
+    </pickle>
+    <pickle>
+      <none/>
+    </pickle>
+  </record>
+  <record id="4" aka="AAAAAAAAAAQ=">
+    <pickle>
+      <global name="OOBTree" module="BTrees._OOBTree"/>
+    </pickle>
+    <pickle>
+      <none/>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/4/44/441.xml b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/4/44/441.xml
new file mode 100644
index 0000000000..ebe1cd0398
--- /dev/null
+++ b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/4/44/441.xml
@@ -0,0 +1,83 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="Category" module="Products.ERP5Type.Document.Category"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_count</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>_mt_index</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>_tree</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAQ=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>description</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>effective_date</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>441</string> </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Category</string> </value>
+        </item>
+        <item>
+            <key> <string>short_title</string> </key>
+            <value> <string>消費税</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>消費税</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="2" aka="AAAAAAAAAAI=">
+    <pickle>
+      <global name="Length" module="BTrees.Length"/>
+    </pickle>
+    <pickle> <int>0</int> </pickle>
+  </record>
+  <record id="3" aka="AAAAAAAAAAM=">
+    <pickle>
+      <global name="OOBTree" module="BTrees._OOBTree"/>
+    </pickle>
+    <pickle>
+      <none/>
+    </pickle>
+  </record>
+  <record id="4" aka="AAAAAAAAAAQ=">
+    <pickle>
+      <global name="OOBTree" module="BTrees._OOBTree"/>
+    </pickle>
+    <pickle>
+      <none/>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/4/44/441/4411.xml b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/4/44/441/4411.xml
new file mode 100644
index 0000000000..b169e1c8f2
--- /dev/null
+++ b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/4/44/441/4411.xml
@@ -0,0 +1,95 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="Category" module="Products.ERP5Type.Document.Category"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_count</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>_mt_index</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>_tree</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAQ=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>codification</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>description</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>effective_date</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>4411</string> </value>
+        </item>
+        <item>
+            <key> <string>int_index</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Category</string> </value>
+        </item>
+        <item>
+            <key> <string>short_title</string> </key>
+            <value> <string>債務性消費税</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>債務性消費税</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="2" aka="AAAAAAAAAAI=">
+    <pickle>
+      <global name="Length" module="BTrees.Length"/>
+    </pickle>
+    <pickle> <int>0</int> </pickle>
+  </record>
+  <record id="3" aka="AAAAAAAAAAM=">
+    <pickle>
+      <global name="OOBTree" module="BTrees._OOBTree"/>
+    </pickle>
+    <pickle>
+      <none/>
+    </pickle>
+  </record>
+  <record id="4" aka="AAAAAAAAAAQ=">
+    <pickle>
+      <global name="OOBTree" module="BTrees._OOBTree"/>
+    </pickle>
+    <pickle>
+      <none/>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/4/44/441/4411/44111.xml b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/4/44/441/4411/44111.xml
new file mode 100644
index 0000000000..c5b1b7d589
--- /dev/null
+++ b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/4/44/441/4411/44111.xml
@@ -0,0 +1,49 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="Category" module="Products.ERP5Type.Document.Category"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>codification</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>effective_date</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>44111</string> </value>
+        </item>
+        <item>
+            <key> <string>int_index</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Category</string> </value>
+        </item>
+        <item>
+            <key> <string>short_title</string> </key>
+            <value> <string>未払消費税</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>未払消費税</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/4/44/441/4411/44112.xml b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/4/44/441/4411/44112.xml
new file mode 100644
index 0000000000..096d9b3831
--- /dev/null
+++ b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/4/44/441/4411/44112.xml
@@ -0,0 +1,49 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="Category" module="Products.ERP5Type.Document.Category"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>codification</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>effective_date</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>44112</string> </value>
+        </item>
+        <item>
+            <key> <string>int_index</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Category</string> </value>
+        </item>
+        <item>
+            <key> <string>short_title</string> </key>
+            <value> <string>仮受消費税</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>仮受消費税</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/4/44/441/4412.xml b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/4/44/441/4412.xml
new file mode 100644
index 0000000000..89ed692d09
--- /dev/null
+++ b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/4/44/441/4412.xml
@@ -0,0 +1,95 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="Category" module="Products.ERP5Type.Document.Category"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_count</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>_mt_index</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>_tree</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAQ=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>codification</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>description</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>effective_date</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>4412</string> </value>
+        </item>
+        <item>
+            <key> <string>int_index</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Category</string> </value>
+        </item>
+        <item>
+            <key> <string>short_title</string> </key>
+            <value> <string>債権性消費税</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>債権性消費税</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="2" aka="AAAAAAAAAAI=">
+    <pickle>
+      <global name="Length" module="BTrees.Length"/>
+    </pickle>
+    <pickle> <int>0</int> </pickle>
+  </record>
+  <record id="3" aka="AAAAAAAAAAM=">
+    <pickle>
+      <global name="OOBTree" module="BTrees._OOBTree"/>
+    </pickle>
+    <pickle>
+      <none/>
+    </pickle>
+  </record>
+  <record id="4" aka="AAAAAAAAAAQ=">
+    <pickle>
+      <global name="OOBTree" module="BTrees._OOBTree"/>
+    </pickle>
+    <pickle>
+      <none/>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/4/44/441/4412/44121.xml b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/4/44/441/4412/44121.xml
new file mode 100644
index 0000000000..cb6d22df91
--- /dev/null
+++ b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/4/44/441/4412/44121.xml
@@ -0,0 +1,57 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="Category" module="Products.ERP5Type.Document.Category"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>categories</string> </key>
+            <value>
+              <tuple>
+                <string>gap/jp/afbe2/4/44/441/4412/44121</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>codification</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>effective_date</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>44121</string> </value>
+        </item>
+        <item>
+            <key> <string>int_index</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Category</string> </value>
+        </item>
+        <item>
+            <key> <string>short_title</string> </key>
+            <value> <string>未収消費税</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>未収消費税</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/4/44/441/4412/44122.xml b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/4/44/441/4412/44122.xml
new file mode 100644
index 0000000000..19e531ab90
--- /dev/null
+++ b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/4/44/441/4412/44122.xml
@@ -0,0 +1,57 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="Category" module="Products.ERP5Type.Document.Category"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>categories</string> </key>
+            <value>
+              <tuple>
+                <string>gap/jp/afbe2/4/44/441/4412/44122</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>codification</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>effective_date</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>44122</string> </value>
+        </item>
+        <item>
+            <key> <string>int_index</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Category</string> </value>
+        </item>
+        <item>
+            <key> <string>short_title</string> </key>
+            <value> <string>仮払消費税</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>仮払消費税</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/4/44/443.xml b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/4/44/443.xml
new file mode 100644
index 0000000000..34772d4f6a
--- /dev/null
+++ b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/4/44/443.xml
@@ -0,0 +1,77 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="Category" module="Products.ERP5Type.Document.Category"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_count</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>_mt_index</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>_tree</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAQ=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>effective_date</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>443</string> </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Category</string> </value>
+        </item>
+        <item>
+            <key> <string>short_title</string> </key>
+            <value> <string>法人税等</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>法人税等</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="2" aka="AAAAAAAAAAI=">
+    <pickle>
+      <global name="Length" module="BTrees.Length"/>
+    </pickle>
+    <pickle> <int>0</int> </pickle>
+  </record>
+  <record id="3" aka="AAAAAAAAAAM=">
+    <pickle>
+      <global name="OOBTree" module="BTrees._OOBTree"/>
+    </pickle>
+    <pickle>
+      <none/>
+    </pickle>
+  </record>
+  <record id="4" aka="AAAAAAAAAAQ=">
+    <pickle>
+      <global name="OOBTree" module="BTrees._OOBTree"/>
+    </pickle>
+    <pickle>
+      <none/>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/4/44/443/4431.xml b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/4/44/443/4431.xml
new file mode 100644
index 0000000000..5cefa309aa
--- /dev/null
+++ b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/4/44/443/4431.xml
@@ -0,0 +1,37 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="Category" module="Products.ERP5Type.Document.Category"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>effective_date</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>4431</string> </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Category</string> </value>
+        </item>
+        <item>
+            <key> <string>short_title</string> </key>
+            <value> <string>未払法人税等</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>未払法人税等</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/4/44/443/4432.xml b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/4/44/443/4432.xml
new file mode 100644
index 0000000000..b43b5185c1
--- /dev/null
+++ b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/4/44/443/4432.xml
@@ -0,0 +1,37 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="Category" module="Products.ERP5Type.Document.Category"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>effective_date</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>4432</string> </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Category</string> </value>
+        </item>
+        <item>
+            <key> <string>short_title</string> </key>
+            <value> <string>仮払法人税等</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>仮払法人税等</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/4/46.xml b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/4/46.xml
new file mode 100644
index 0000000000..9414163d9b
--- /dev/null
+++ b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/4/46.xml
@@ -0,0 +1,83 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="Category" module="Products.ERP5Type.Document.Category"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_count</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>_mt_index</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>_tree</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAQ=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>description</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>effective_date</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>46</string> </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Category</string> </value>
+        </item>
+        <item>
+            <key> <string>short_title</string> </key>
+            <value> <string>その他の流動資産及び流動負債</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>その他の流動資産及び流動負債</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="2" aka="AAAAAAAAAAI=">
+    <pickle>
+      <global name="Length" module="BTrees.Length"/>
+    </pickle>
+    <pickle> <int>0</int> </pickle>
+  </record>
+  <record id="3" aka="AAAAAAAAAAM=">
+    <pickle>
+      <global name="OOBTree" module="BTrees._OOBTree"/>
+    </pickle>
+    <pickle>
+      <none/>
+    </pickle>
+  </record>
+  <record id="4" aka="AAAAAAAAAAQ=">
+    <pickle>
+      <global name="OOBTree" module="BTrees._OOBTree"/>
+    </pickle>
+    <pickle>
+      <none/>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/4/46/461.xml b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/4/46/461.xml
new file mode 100644
index 0000000000..9b3c5e8914
--- /dev/null
+++ b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/4/46/461.xml
@@ -0,0 +1,93 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="Category" module="Products.ERP5Type.Document.Category"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_count</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>_mt_index</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>_tree</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAQ=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>codification</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>effective_date</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>461</string> </value>
+        </item>
+        <item>
+            <key> <string>int_index</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>last_id</string> </key>
+            <value> <string>1</string> </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Category</string> </value>
+        </item>
+        <item>
+            <key> <string>short_title</string> </key>
+            <value> <string>その他の流動負債</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>その他の流動負債</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="2" aka="AAAAAAAAAAI=">
+    <pickle>
+      <global name="Length" module="BTrees.Length"/>
+    </pickle>
+    <pickle> <int>0</int> </pickle>
+  </record>
+  <record id="3" aka="AAAAAAAAAAM=">
+    <pickle>
+      <global name="OOBTree" module="BTrees._OOBTree"/>
+    </pickle>
+    <pickle>
+      <none/>
+    </pickle>
+  </record>
+  <record id="4" aka="AAAAAAAAAAQ=">
+    <pickle>
+      <global name="OOBTree" module="BTrees._OOBTree"/>
+    </pickle>
+    <pickle>
+      <none/>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/4/46/461/4611.xml b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/4/46/461/4611.xml
new file mode 100644
index 0000000000..d87216fb7a
--- /dev/null
+++ b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/4/46/461/4611.xml
@@ -0,0 +1,37 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="Category" module="Products.ERP5Type.Document.Category"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>effective_date</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>4611</string> </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Category</string> </value>
+        </item>
+        <item>
+            <key> <string>short_title</string> </key>
+            <value> <string>営業外支払手形</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>営業外支払手形</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/4/46/461/4612.xml b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/4/46/461/4612.xml
new file mode 100644
index 0000000000..2b3f519851
--- /dev/null
+++ b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/4/46/461/4612.xml
@@ -0,0 +1,37 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="Category" module="Products.ERP5Type.Document.Category"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>description</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>4612</string> </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Category</string> </value>
+        </item>
+        <item>
+            <key> <string>short_title</string> </key>
+            <value> <string>未払配当金</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>未払配当金</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/4/46/462.xml b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/4/46/462.xml
new file mode 100644
index 0000000000..a0e66f6917
--- /dev/null
+++ b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/4/46/462.xml
@@ -0,0 +1,95 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="Category" module="Products.ERP5Type.Document.Category"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_count</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>_mt_index</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>_tree</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAQ=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>codification</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>description</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>effective_date</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>462</string> </value>
+        </item>
+        <item>
+            <key> <string>int_index</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Category</string> </value>
+        </item>
+        <item>
+            <key> <string>short_title</string> </key>
+            <value> <string>その他の流動資産</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>その他の流動資産</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="2" aka="AAAAAAAAAAI=">
+    <pickle>
+      <global name="Length" module="BTrees.Length"/>
+    </pickle>
+    <pickle> <int>0</int> </pickle>
+  </record>
+  <record id="3" aka="AAAAAAAAAAM=">
+    <pickle>
+      <global name="OOBTree" module="BTrees._OOBTree"/>
+    </pickle>
+    <pickle>
+      <none/>
+    </pickle>
+  </record>
+  <record id="4" aka="AAAAAAAAAAQ=">
+    <pickle>
+      <global name="OOBTree" module="BTrees._OOBTree"/>
+    </pickle>
+    <pickle>
+      <none/>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/4/46/462/4621.xml b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/4/46/462/4621.xml
new file mode 100644
index 0000000000..43ec7836ad
--- /dev/null
+++ b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/4/46/462/4621.xml
@@ -0,0 +1,49 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="Category" module="Products.ERP5Type.Document.Category"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>codification</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>effective_date</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>4621</string> </value>
+        </item>
+        <item>
+            <key> <string>int_index</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Category</string> </value>
+        </item>
+        <item>
+            <key> <string>short_title</string> </key>
+            <value> <string>営業外受取手形</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>営業外受取手形</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/4/46/462/4622.xml b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/4/46/462/4622.xml
new file mode 100644
index 0000000000..d6661e8a8f
--- /dev/null
+++ b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/4/46/462/4622.xml
@@ -0,0 +1,49 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="Category" module="Products.ERP5Type.Document.Category"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>codification</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>effective_date</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>4622</string> </value>
+        </item>
+        <item>
+            <key> <string>int_index</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Category</string> </value>
+        </item>
+        <item>
+            <key> <string>short_title</string> </key>
+            <value> <string>不渡手形</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>不渡手形</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/4/46/462/4623.xml b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/4/46/462/4623.xml
new file mode 100644
index 0000000000..9c8c88bdce
--- /dev/null
+++ b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/4/46/462/4623.xml
@@ -0,0 +1,49 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="Category" module="Products.ERP5Type.Document.Category"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>codification</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>effective_date</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>4623</string> </value>
+        </item>
+        <item>
+            <key> <string>int_index</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Category</string> </value>
+        </item>
+        <item>
+            <key> <string>short_title</string> </key>
+            <value> <string>割引手形</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>割引手形</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/4/46/462/4624.xml b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/4/46/462/4624.xml
new file mode 100644
index 0000000000..b113a5b580
--- /dev/null
+++ b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/4/46/462/4624.xml
@@ -0,0 +1,49 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="Category" module="Products.ERP5Type.Document.Category"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>codification</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>effective_date</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>4624</string> </value>
+        </item>
+        <item>
+            <key> <string>int_index</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Category</string> </value>
+        </item>
+        <item>
+            <key> <string>short_title</string> </key>
+            <value> <string>裏書譲渡手形</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>裏書譲渡手形</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/4/46/463.xml b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/4/46/463.xml
new file mode 100644
index 0000000000..d4c395a6fc
--- /dev/null
+++ b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/4/46/463.xml
@@ -0,0 +1,49 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="Category" module="Products.ERP5Type.Document.Category"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>codification</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>effective_date</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>463</string> </value>
+        </item>
+        <item>
+            <key> <string>int_index</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Category</string> </value>
+        </item>
+        <item>
+            <key> <string>short_title</string> </key>
+            <value> <string>現金過不足</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>現金過不足</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/4/49.xml b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/4/49.xml
new file mode 100644
index 0000000000..88b4296e1e
--- /dev/null
+++ b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/4/49.xml
@@ -0,0 +1,37 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="Category" module="Products.ERP5Type.Document.Category"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>effective_date</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>49</string> </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Category</string> </value>
+        </item>
+        <item>
+            <key> <string>short_title</string> </key>
+            <value> <string>貸倒引当金</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>貸倒引当金</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/5.xml b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/5.xml
new file mode 100644
index 0000000000..62225c072f
--- /dev/null
+++ b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/5.xml
@@ -0,0 +1,77 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="Category" module="Products.ERP5Type.Document.Category"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_count</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>_mt_index</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>_tree</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAQ=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>effective_date</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>5</string> </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Category</string> </value>
+        </item>
+        <item>
+            <key> <string>short_title</string> </key>
+            <value> <string>財務</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>財務</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="2" aka="AAAAAAAAAAI=">
+    <pickle>
+      <global name="Length" module="BTrees.Length"/>
+    </pickle>
+    <pickle> <int>0</int> </pickle>
+  </record>
+  <record id="3" aka="AAAAAAAAAAM=">
+    <pickle>
+      <global name="OOBTree" module="BTrees._OOBTree"/>
+    </pickle>
+    <pickle>
+      <none/>
+    </pickle>
+  </record>
+  <record id="4" aka="AAAAAAAAAAQ=">
+    <pickle>
+      <global name="OOBTree" module="BTrees._OOBTree"/>
+    </pickle>
+    <pickle>
+      <none/>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/5/50.xml b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/5/50.xml
new file mode 100644
index 0000000000..153124add4
--- /dev/null
+++ b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/5/50.xml
@@ -0,0 +1,77 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="Category" module="Products.ERP5Type.Document.Category"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_count</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>_mt_index</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>_tree</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAQ=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>effective_date</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>50</string> </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Category</string> </value>
+        </item>
+        <item>
+            <key> <string>short_title</string> </key>
+            <value> <string>出資</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>出資</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="2" aka="AAAAAAAAAAI=">
+    <pickle>
+      <global name="Length" module="BTrees.Length"/>
+    </pickle>
+    <pickle> <int>0</int> </pickle>
+  </record>
+  <record id="3" aka="AAAAAAAAAAM=">
+    <pickle>
+      <global name="OOBTree" module="BTrees._OOBTree"/>
+    </pickle>
+    <pickle>
+      <none/>
+    </pickle>
+  </record>
+  <record id="4" aka="AAAAAAAAAAQ=">
+    <pickle>
+      <global name="OOBTree" module="BTrees._OOBTree"/>
+    </pickle>
+    <pickle>
+      <none/>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/5/50/502.xml b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/5/50/502.xml
new file mode 100644
index 0000000000..c956a1645e
--- /dev/null
+++ b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/5/50/502.xml
@@ -0,0 +1,37 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="Category" module="Products.ERP5Type.Document.Category"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>effective_date</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>502</string> </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Category</string> </value>
+        </item>
+        <item>
+            <key> <string>short_title</string> </key>
+            <value> <string>自己株式</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>自己株式</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/5/50/503.xml b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/5/50/503.xml
new file mode 100644
index 0000000000..b82cfb18d4
--- /dev/null
+++ b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/5/50/503.xml
@@ -0,0 +1,37 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="Category" module="Products.ERP5Type.Document.Category"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>effective_date</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>503</string> </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Category</string> </value>
+        </item>
+        <item>
+            <key> <string>short_title</string> </key>
+            <value> <string>有価証券</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>有価証券</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/5/50/505.xml b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/5/50/505.xml
new file mode 100644
index 0000000000..b93e7dd05a
--- /dev/null
+++ b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/5/50/505.xml
@@ -0,0 +1,37 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="Category" module="Products.ERP5Type.Document.Category"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>effective_date</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>505</string> </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Category</string> </value>
+        </item>
+        <item>
+            <key> <string>short_title</string> </key>
+            <value> <string>社債</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>社債</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/5/51.xml b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/5/51.xml
new file mode 100644
index 0000000000..18eaf225bd
--- /dev/null
+++ b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/5/51.xml
@@ -0,0 +1,37 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="Category" module="Products.ERP5Type.Document.Category"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>effective_date</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>51</string> </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Category</string> </value>
+        </item>
+        <item>
+            <key> <string>short_title</string> </key>
+            <value> <string>預金</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>預金</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/5/53.xml b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/5/53.xml
new file mode 100644
index 0000000000..d7c7afcc86
--- /dev/null
+++ b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/5/53.xml
@@ -0,0 +1,77 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="Category" module="Products.ERP5Type.Document.Category"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_count</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>_mt_index</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>_tree</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAQ=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>effective_date</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>53</string> </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Category</string> </value>
+        </item>
+        <item>
+            <key> <string>short_title</string> </key>
+            <value> <string>現金など</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>現金など</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="2" aka="AAAAAAAAAAI=">
+    <pickle>
+      <global name="Length" module="BTrees.Length"/>
+    </pickle>
+    <pickle> <int>0</int> </pickle>
+  </record>
+  <record id="3" aka="AAAAAAAAAAM=">
+    <pickle>
+      <global name="OOBTree" module="BTrees._OOBTree"/>
+    </pickle>
+    <pickle>
+      <none/>
+    </pickle>
+  </record>
+  <record id="4" aka="AAAAAAAAAAQ=">
+    <pickle>
+      <global name="OOBTree" module="BTrees._OOBTree"/>
+    </pickle>
+    <pickle>
+      <none/>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/5/53/531.xml b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/5/53/531.xml
new file mode 100644
index 0000000000..f4632d19dd
--- /dev/null
+++ b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/5/53/531.xml
@@ -0,0 +1,37 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="Category" module="Products.ERP5Type.Document.Category"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>effective_date</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>531</string> </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Category</string> </value>
+        </item>
+        <item>
+            <key> <string>short_title</string> </key>
+            <value> <string>現金</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>現金</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/5/53/532.xml b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/5/53/532.xml
new file mode 100644
index 0000000000..454b4a5744
--- /dev/null
+++ b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/5/53/532.xml
@@ -0,0 +1,37 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="Category" module="Products.ERP5Type.Document.Category"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>effective_date</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>532</string> </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Category</string> </value>
+        </item>
+        <item>
+            <key> <string>short_title</string> </key>
+            <value> <string>小口現金</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>小口現金</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/6.xml b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/6.xml
new file mode 100644
index 0000000000..34eac0d39d
--- /dev/null
+++ b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/6.xml
@@ -0,0 +1,77 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="Category" module="Products.ERP5Type.Document.Category"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_count</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>_mt_index</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>_tree</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAQ=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>effective_date</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>6</string> </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Category</string> </value>
+        </item>
+        <item>
+            <key> <string>short_title</string> </key>
+            <value> <string>費用</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>費用</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="2" aka="AAAAAAAAAAI=">
+    <pickle>
+      <global name="Length" module="BTrees.Length"/>
+    </pickle>
+    <pickle> <int>0</int> </pickle>
+  </record>
+  <record id="3" aka="AAAAAAAAAAM=">
+    <pickle>
+      <global name="OOBTree" module="BTrees._OOBTree"/>
+    </pickle>
+    <pickle>
+      <none/>
+    </pickle>
+  </record>
+  <record id="4" aka="AAAAAAAAAAQ=">
+    <pickle>
+      <global name="OOBTree" module="BTrees._OOBTree"/>
+    </pickle>
+    <pickle>
+      <none/>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/6/60.xml b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/6/60.xml
new file mode 100644
index 0000000000..a8d4ca7f65
--- /dev/null
+++ b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/6/60.xml
@@ -0,0 +1,77 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="Category" module="Products.ERP5Type.Document.Category"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_count</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>_mt_index</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>_tree</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAQ=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>effective_date</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>60</string> </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Category</string> </value>
+        </item>
+        <item>
+            <key> <string>short_title</string> </key>
+            <value> <string>売上原価</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>売上原価</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="2" aka="AAAAAAAAAAI=">
+    <pickle>
+      <global name="Length" module="BTrees.Length"/>
+    </pickle>
+    <pickle> <int>0</int> </pickle>
+  </record>
+  <record id="3" aka="AAAAAAAAAAM=">
+    <pickle>
+      <global name="OOBTree" module="BTrees._OOBTree"/>
+    </pickle>
+    <pickle>
+      <none/>
+    </pickle>
+  </record>
+  <record id="4" aka="AAAAAAAAAAQ=">
+    <pickle>
+      <global name="OOBTree" module="BTrees._OOBTree"/>
+    </pickle>
+    <pickle>
+      <none/>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/6/60/601.xml b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/6/60/601.xml
new file mode 100644
index 0000000000..221ff765b4
--- /dev/null
+++ b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/6/60/601.xml
@@ -0,0 +1,37 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="Category" module="Products.ERP5Type.Document.Category"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>effective_date</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>601</string> </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Category</string> </value>
+        </item>
+        <item>
+            <key> <string>short_title</string> </key>
+            <value> <string>期首商品製品棚卸高</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>期首商品製品棚卸高</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/6/60/602.xml b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/6/60/602.xml
new file mode 100644
index 0000000000..94ce7ab8d8
--- /dev/null
+++ b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/6/60/602.xml
@@ -0,0 +1,77 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="Category" module="Products.ERP5Type.Document.Category"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_count</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>_mt_index</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>_tree</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAQ=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>effective_date</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>602</string> </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Category</string> </value>
+        </item>
+        <item>
+            <key> <string>short_title</string> </key>
+            <value> <string>当期商品仕入高</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>当期商品仕入高</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="2" aka="AAAAAAAAAAI=">
+    <pickle>
+      <global name="Length" module="BTrees.Length"/>
+    </pickle>
+    <pickle> <int>0</int> </pickle>
+  </record>
+  <record id="3" aka="AAAAAAAAAAM=">
+    <pickle>
+      <global name="OOBTree" module="BTrees._OOBTree"/>
+    </pickle>
+    <pickle>
+      <none/>
+    </pickle>
+  </record>
+  <record id="4" aka="AAAAAAAAAAQ=">
+    <pickle>
+      <global name="OOBTree" module="BTrees._OOBTree"/>
+    </pickle>
+    <pickle>
+      <none/>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/6/60/602/6021.xml b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/6/60/602/6021.xml
new file mode 100644
index 0000000000..610e5c97ad
--- /dev/null
+++ b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/6/60/602/6021.xml
@@ -0,0 +1,77 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="Category" module="Products.ERP5Type.Document.Category"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_count</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>_mt_index</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>_tree</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAQ=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>effective_date</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>6021</string> </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Category</string> </value>
+        </item>
+        <item>
+            <key> <string>short_title</string> </key>
+            <value> <string>仕入控除項目</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>仕入控除項目</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="2" aka="AAAAAAAAAAI=">
+    <pickle>
+      <global name="Length" module="BTrees.Length"/>
+    </pickle>
+    <pickle> <int>0</int> </pickle>
+  </record>
+  <record id="3" aka="AAAAAAAAAAM=">
+    <pickle>
+      <global name="OOBTree" module="BTrees._OOBTree"/>
+    </pickle>
+    <pickle>
+      <none/>
+    </pickle>
+  </record>
+  <record id="4" aka="AAAAAAAAAAQ=">
+    <pickle>
+      <global name="OOBTree" module="BTrees._OOBTree"/>
+    </pickle>
+    <pickle>
+      <none/>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/6/60/602/6021/60211.xml b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/6/60/602/6021/60211.xml
new file mode 100644
index 0000000000..4399a0001e
--- /dev/null
+++ b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/6/60/602/6021/60211.xml
@@ -0,0 +1,37 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="Category" module="Products.ERP5Type.Document.Category"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>effective_date</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>60211</string> </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Category</string> </value>
+        </item>
+        <item>
+            <key> <string>short_title</string> </key>
+            <value> <string>仕入戻し高</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>仕入戻し高</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/6/60/602/6021/60212.xml b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/6/60/602/6021/60212.xml
new file mode 100644
index 0000000000..8e15063d7b
--- /dev/null
+++ b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/6/60/602/6021/60212.xml
@@ -0,0 +1,37 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="Category" module="Products.ERP5Type.Document.Category"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>effective_date</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>60212</string> </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Category</string> </value>
+        </item>
+        <item>
+            <key> <string>short_title</string> </key>
+            <value> <string>仕入値引高</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>仕入値引高</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/6/60/602/6021/60213.xml b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/6/60/602/6021/60213.xml
new file mode 100644
index 0000000000..ab736b6b07
--- /dev/null
+++ b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/6/60/602/6021/60213.xml
@@ -0,0 +1,37 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="Category" module="Products.ERP5Type.Document.Category"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>effective_date</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>60213</string> </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Category</string> </value>
+        </item>
+        <item>
+            <key> <string>short_title</string> </key>
+            <value> <string>仕入割戻し高</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>仕入割戻し高</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/6/60/603.xml b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/6/60/603.xml
new file mode 100644
index 0000000000..97e2fd8fa5
--- /dev/null
+++ b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/6/60/603.xml
@@ -0,0 +1,77 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="Category" module="Products.ERP5Type.Document.Category"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_count</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>_mt_index</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>_tree</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAQ=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>effective_date</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>603</string> </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Category</string> </value>
+        </item>
+        <item>
+            <key> <string>short_title</string> </key>
+            <value> <string>当期製品製造原価</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>当期製品製造原価</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="2" aka="AAAAAAAAAAI=">
+    <pickle>
+      <global name="Length" module="BTrees.Length"/>
+    </pickle>
+    <pickle> <int>0</int> </pickle>
+  </record>
+  <record id="3" aka="AAAAAAAAAAM=">
+    <pickle>
+      <global name="OOBTree" module="BTrees._OOBTree"/>
+    </pickle>
+    <pickle>
+      <none/>
+    </pickle>
+  </record>
+  <record id="4" aka="AAAAAAAAAAQ=">
+    <pickle>
+      <global name="OOBTree" module="BTrees._OOBTree"/>
+    </pickle>
+    <pickle>
+      <none/>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/6/60/603/6031.xml b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/6/60/603/6031.xml
new file mode 100644
index 0000000000..38a6b660fc
--- /dev/null
+++ b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/6/60/603/6031.xml
@@ -0,0 +1,37 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="Category" module="Products.ERP5Type.Document.Category"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>effective_date</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>6031</string> </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Category</string> </value>
+        </item>
+        <item>
+            <key> <string>short_title</string> </key>
+            <value> <string>期首仕掛品原価</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>期首仕掛品原価</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/6/60/603/6032.xml b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/6/60/603/6032.xml
new file mode 100644
index 0000000000..12a04b2811
--- /dev/null
+++ b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/6/60/603/6032.xml
@@ -0,0 +1,77 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="Category" module="Products.ERP5Type.Document.Category"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_count</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>_mt_index</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>_tree</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAQ=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>effective_date</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>6032</string> </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Category</string> </value>
+        </item>
+        <item>
+            <key> <string>short_title</string> </key>
+            <value> <string>製造費用</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>製造費用</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="2" aka="AAAAAAAAAAI=">
+    <pickle>
+      <global name="Length" module="BTrees.Length"/>
+    </pickle>
+    <pickle> <int>0</int> </pickle>
+  </record>
+  <record id="3" aka="AAAAAAAAAAM=">
+    <pickle>
+      <global name="OOBTree" module="BTrees._OOBTree"/>
+    </pickle>
+    <pickle>
+      <none/>
+    </pickle>
+  </record>
+  <record id="4" aka="AAAAAAAAAAQ=">
+    <pickle>
+      <global name="OOBTree" module="BTrees._OOBTree"/>
+    </pickle>
+    <pickle>
+      <none/>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/6/60/603/6032/60321.xml b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/6/60/603/6032/60321.xml
new file mode 100644
index 0000000000..cdd257f62d
--- /dev/null
+++ b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/6/60/603/6032/60321.xml
@@ -0,0 +1,37 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="Category" module="Products.ERP5Type.Document.Category"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>effective_date</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>60321</string> </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Category</string> </value>
+        </item>
+        <item>
+            <key> <string>short_title</string> </key>
+            <value> <string>材料費</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>材料費</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/6/60/603/6032/60322.xml b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/6/60/603/6032/60322.xml
new file mode 100644
index 0000000000..b5e6103557
--- /dev/null
+++ b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/6/60/603/6032/60322.xml
@@ -0,0 +1,37 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="Category" module="Products.ERP5Type.Document.Category"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>effective_date</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>60322</string> </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Category</string> </value>
+        </item>
+        <item>
+            <key> <string>short_title</string> </key>
+            <value> <string>製造諸経費</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>製造諸経費</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/6/60/603/6032/60323.xml b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/6/60/603/6032/60323.xml
new file mode 100644
index 0000000000..ca26f46138
--- /dev/null
+++ b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/6/60/603/6032/60323.xml
@@ -0,0 +1,37 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="Category" module="Products.ERP5Type.Document.Category"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>effective_date</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>60323</string> </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Category</string> </value>
+        </item>
+        <item>
+            <key> <string>short_title</string> </key>
+            <value> <string>労務費</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>労務費</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/6/60/603/6032/60324.xml b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/6/60/603/6032/60324.xml
new file mode 100644
index 0000000000..6f39762bb6
--- /dev/null
+++ b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/6/60/603/6032/60324.xml
@@ -0,0 +1,37 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="Category" module="Products.ERP5Type.Document.Category"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>effective_date</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>60324</string> </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Category</string> </value>
+        </item>
+        <item>
+            <key> <string>short_title</string> </key>
+            <value> <string>外注加工費</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>外注加工費</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/6/60/603/6032/60325.xml b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/6/60/603/6032/60325.xml
new file mode 100644
index 0000000000..cf2d0c023f
--- /dev/null
+++ b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/6/60/603/6032/60325.xml
@@ -0,0 +1,77 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="Category" module="Products.ERP5Type.Document.Category"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_count</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>_mt_index</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>_tree</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAQ=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>effective_date</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>60325</string> </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Category</string> </value>
+        </item>
+        <item>
+            <key> <string>short_title</string> </key>
+            <value> <string>研究開発費など</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>研究開発費など</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="2" aka="AAAAAAAAAAI=">
+    <pickle>
+      <global name="Length" module="BTrees.Length"/>
+    </pickle>
+    <pickle> <int>0</int> </pickle>
+  </record>
+  <record id="3" aka="AAAAAAAAAAM=">
+    <pickle>
+      <global name="OOBTree" module="BTrees._OOBTree"/>
+    </pickle>
+    <pickle>
+      <none/>
+    </pickle>
+  </record>
+  <record id="4" aka="AAAAAAAAAAQ=">
+    <pickle>
+      <global name="OOBTree" module="BTrees._OOBTree"/>
+    </pickle>
+    <pickle>
+      <none/>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/6/60/603/6032/60325/603251.xml b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/6/60/603/6032/60325/603251.xml
new file mode 100644
index 0000000000..86def25ebc
--- /dev/null
+++ b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/6/60/603/6032/60325/603251.xml
@@ -0,0 +1,37 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="Category" module="Products.ERP5Type.Document.Category"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>effective_date</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>603251</string> </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Category</string> </value>
+        </item>
+        <item>
+            <key> <string>short_title</string> </key>
+            <value> <string>研究開発費</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>研究開発費</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/6/60/603/6032/60325/603252.xml b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/6/60/603/6032/60325/603252.xml
new file mode 100644
index 0000000000..e5cd57837e
--- /dev/null
+++ b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/6/60/603/6032/60325/603252.xml
@@ -0,0 +1,37 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="Category" module="Products.ERP5Type.Document.Category"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>effective_date</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>603252</string> </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Category</string> </value>
+        </item>
+        <item>
+            <key> <string>short_title</string> </key>
+            <value> <string>試験研究費</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>試験研究費</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/6/60/603/6033.xml b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/6/60/603/6033.xml
new file mode 100644
index 0000000000..41024207e4
--- /dev/null
+++ b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/6/60/603/6033.xml
@@ -0,0 +1,37 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="Category" module="Products.ERP5Type.Document.Category"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>effective_date</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>6033</string> </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Category</string> </value>
+        </item>
+        <item>
+            <key> <string>short_title</string> </key>
+            <value> <string>期末仕掛品原価</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>期末仕掛品原価</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/6/60/604.xml b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/6/60/604.xml
new file mode 100644
index 0000000000..8a2de1c3b9
--- /dev/null
+++ b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/6/60/604.xml
@@ -0,0 +1,37 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="Category" module="Products.ERP5Type.Document.Category"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>effective_date</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>604</string> </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Category</string> </value>
+        </item>
+        <item>
+            <key> <string>short_title</string> </key>
+            <value> <string>期末商品製品棚卸高</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>期末商品製品棚卸高</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/6/61.xml b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/6/61.xml
new file mode 100644
index 0000000000..57fd711c5b
--- /dev/null
+++ b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/6/61.xml
@@ -0,0 +1,77 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="Category" module="Products.ERP5Type.Document.Category"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_count</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>_mt_index</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>_tree</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAQ=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>effective_date</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>61</string> </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Category</string> </value>
+        </item>
+        <item>
+            <key> <string>short_title</string> </key>
+            <value> <string>一般管理費</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>一般管理費</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="2" aka="AAAAAAAAAAI=">
+    <pickle>
+      <global name="Length" module="BTrees.Length"/>
+    </pickle>
+    <pickle> <int>0</int> </pickle>
+  </record>
+  <record id="3" aka="AAAAAAAAAAM=">
+    <pickle>
+      <global name="OOBTree" module="BTrees._OOBTree"/>
+    </pickle>
+    <pickle>
+      <none/>
+    </pickle>
+  </record>
+  <record id="4" aka="AAAAAAAAAAQ=">
+    <pickle>
+      <global name="OOBTree" module="BTrees._OOBTree"/>
+    </pickle>
+    <pickle>
+      <none/>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/6/61/611.xml b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/6/61/611.xml
new file mode 100644
index 0000000000..adafe51dc7
--- /dev/null
+++ b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/6/61/611.xml
@@ -0,0 +1,37 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="Category" module="Products.ERP5Type.Document.Category"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>effective_date</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>611</string> </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Category</string> </value>
+        </item>
+        <item>
+            <key> <string>short_title</string> </key>
+            <value> <string>水道光熱費</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>水道光熱費</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/6/61/612.xml b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/6/61/612.xml
new file mode 100644
index 0000000000..0ca859ace8
--- /dev/null
+++ b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/6/61/612.xml
@@ -0,0 +1,77 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="Category" module="Products.ERP5Type.Document.Category"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_count</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>_mt_index</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>_tree</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAQ=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>effective_date</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>612</string> </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Category</string> </value>
+        </item>
+        <item>
+            <key> <string>short_title</string> </key>
+            <value> <string>消耗品費など</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>消耗品費など</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="2" aka="AAAAAAAAAAI=">
+    <pickle>
+      <global name="Length" module="BTrees.Length"/>
+    </pickle>
+    <pickle> <int>0</int> </pickle>
+  </record>
+  <record id="3" aka="AAAAAAAAAAM=">
+    <pickle>
+      <global name="OOBTree" module="BTrees._OOBTree"/>
+    </pickle>
+    <pickle>
+      <none/>
+    </pickle>
+  </record>
+  <record id="4" aka="AAAAAAAAAAQ=">
+    <pickle>
+      <global name="OOBTree" module="BTrees._OOBTree"/>
+    </pickle>
+    <pickle>
+      <none/>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/6/61/612/6121.xml b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/6/61/612/6121.xml
new file mode 100644
index 0000000000..e08d663492
--- /dev/null
+++ b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/6/61/612/6121.xml
@@ -0,0 +1,37 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="Category" module="Products.ERP5Type.Document.Category"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>effective_date</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>6121</string> </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Category</string> </value>
+        </item>
+        <item>
+            <key> <string>short_title</string> </key>
+            <value> <string>消耗品費</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>消耗品費</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/6/61/612/6122.xml b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/6/61/612/6122.xml
new file mode 100644
index 0000000000..e5f9b791c7
--- /dev/null
+++ b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/6/61/612/6122.xml
@@ -0,0 +1,37 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="Category" module="Products.ERP5Type.Document.Category"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>effective_date</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>6122</string> </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Category</string> </value>
+        </item>
+        <item>
+            <key> <string>short_title</string> </key>
+            <value> <string>事務用品費</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>事務用品費</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/6/61/613.xml b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/6/61/613.xml
new file mode 100644
index 0000000000..328115aefb
--- /dev/null
+++ b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/6/61/613.xml
@@ -0,0 +1,37 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="Category" module="Products.ERP5Type.Document.Category"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>effective_date</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>613</string> </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Category</string> </value>
+        </item>
+        <item>
+            <key> <string>short_title</string> </key>
+            <value> <string>賃貸料</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>賃貸料</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/6/61/614.xml b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/6/61/614.xml
new file mode 100644
index 0000000000..bf064c6eb8
--- /dev/null
+++ b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/6/61/614.xml
@@ -0,0 +1,37 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="Category" module="Products.ERP5Type.Document.Category"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>effective_date</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>614</string> </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Category</string> </value>
+        </item>
+        <item>
+            <key> <string>short_title</string> </key>
+            <value> <string>修繕費</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>修繕費</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/6/61/615.xml b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/6/61/615.xml
new file mode 100644
index 0000000000..592c04367c
--- /dev/null
+++ b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/6/61/615.xml
@@ -0,0 +1,37 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="Category" module="Products.ERP5Type.Document.Category"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>effective_date</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>615</string> </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Category</string> </value>
+        </item>
+        <item>
+            <key> <string>short_title</string> </key>
+            <value> <string>保険料</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>保険料</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/6/61/616.xml b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/6/61/616.xml
new file mode 100644
index 0000000000..0100370c9e
--- /dev/null
+++ b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/6/61/616.xml
@@ -0,0 +1,37 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="Category" module="Products.ERP5Type.Document.Category"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>effective_date</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>616</string> </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Category</string> </value>
+        </item>
+        <item>
+            <key> <string>short_title</string> </key>
+            <value> <string>支払手数料</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>支払手数料</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/6/61/619.xml b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/6/61/619.xml
new file mode 100644
index 0000000000..a7cd3c616a
--- /dev/null
+++ b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/6/61/619.xml
@@ -0,0 +1,77 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="Category" module="Products.ERP5Type.Document.Category"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_count</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>_mt_index</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>_tree</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAQ=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>effective_date</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>619</string> </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Category</string> </value>
+        </item>
+        <item>
+            <key> <string>short_title</string> </key>
+            <value> <string>その他一般管理費</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>その他一般管理費</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="2" aka="AAAAAAAAAAI=">
+    <pickle>
+      <global name="Length" module="BTrees.Length"/>
+    </pickle>
+    <pickle> <int>0</int> </pickle>
+  </record>
+  <record id="3" aka="AAAAAAAAAAM=">
+    <pickle>
+      <global name="OOBTree" module="BTrees._OOBTree"/>
+    </pickle>
+    <pickle>
+      <none/>
+    </pickle>
+  </record>
+  <record id="4" aka="AAAAAAAAAAQ=">
+    <pickle>
+      <global name="OOBTree" module="BTrees._OOBTree"/>
+    </pickle>
+    <pickle>
+      <none/>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/6/61/619/6191.xml b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/6/61/619/6191.xml
new file mode 100644
index 0000000000..726f1f5a70
--- /dev/null
+++ b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/6/61/619/6191.xml
@@ -0,0 +1,37 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="Category" module="Products.ERP5Type.Document.Category"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>effective_date</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>6191</string> </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Category</string> </value>
+        </item>
+        <item>
+            <key> <string>short_title</string> </key>
+            <value> <string>寄付金</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>寄付金</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/6/61/619/6192.xml b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/6/61/619/6192.xml
new file mode 100644
index 0000000000..5fc721893a
--- /dev/null
+++ b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/6/61/619/6192.xml
@@ -0,0 +1,37 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="Category" module="Products.ERP5Type.Document.Category"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>effective_date</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>6192</string> </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Category</string> </value>
+        </item>
+        <item>
+            <key> <string>short_title</string> </key>
+            <value> <string>新聞図書費</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>新聞図書費</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/6/61/619/6193.xml b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/6/61/619/6193.xml
new file mode 100644
index 0000000000..66ad320276
--- /dev/null
+++ b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/6/61/619/6193.xml
@@ -0,0 +1,37 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="Category" module="Products.ERP5Type.Document.Category"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>effective_date</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>6193</string> </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Category</string> </value>
+        </item>
+        <item>
+            <key> <string>short_title</string> </key>
+            <value> <string>棚卸資産評価損</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>棚卸資産評価損</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/6/61/619/6194.xml b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/6/61/619/6194.xml
new file mode 100644
index 0000000000..66c9e72604
--- /dev/null
+++ b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/6/61/619/6194.xml
@@ -0,0 +1,37 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="Category" module="Products.ERP5Type.Document.Category"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>effective_date</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>6194</string> </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Category</string> </value>
+        </item>
+        <item>
+            <key> <string>short_title</string> </key>
+            <value> <string>諸会費</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>諸会費</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/6/61/619/6195.xml b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/6/61/619/6195.xml
new file mode 100644
index 0000000000..643c9dafac
--- /dev/null
+++ b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/6/61/619/6195.xml
@@ -0,0 +1,37 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="Category" module="Products.ERP5Type.Document.Category"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>effective_date</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>6195</string> </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Category</string> </value>
+        </item>
+        <item>
+            <key> <string>short_title</string> </key>
+            <value> <string>荷造運賃</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>荷造運賃</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/6/62.xml b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/6/62.xml
new file mode 100644
index 0000000000..e6f5d80814
--- /dev/null
+++ b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/6/62.xml
@@ -0,0 +1,77 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="Category" module="Products.ERP5Type.Document.Category"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_count</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>_mt_index</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>_tree</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAQ=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>effective_date</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>62</string> </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Category</string> </value>
+        </item>
+        <item>
+            <key> <string>short_title</string> </key>
+            <value> <string>販売費</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>販売費</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="2" aka="AAAAAAAAAAI=">
+    <pickle>
+      <global name="Length" module="BTrees.Length"/>
+    </pickle>
+    <pickle> <int>0</int> </pickle>
+  </record>
+  <record id="3" aka="AAAAAAAAAAM=">
+    <pickle>
+      <global name="OOBTree" module="BTrees._OOBTree"/>
+    </pickle>
+    <pickle>
+      <none/>
+    </pickle>
+  </record>
+  <record id="4" aka="AAAAAAAAAAQ=">
+    <pickle>
+      <global name="OOBTree" module="BTrees._OOBTree"/>
+    </pickle>
+    <pickle>
+      <none/>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/6/62/622.xml b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/6/62/622.xml
new file mode 100644
index 0000000000..2650e8df17
--- /dev/null
+++ b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/6/62/622.xml
@@ -0,0 +1,37 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="Category" module="Products.ERP5Type.Document.Category"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>effective_date</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>622</string> </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Category</string> </value>
+        </item>
+        <item>
+            <key> <string>short_title</string> </key>
+            <value> <string>広告宣伝費</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>広告宣伝費</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/6/62/623.xml b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/6/62/623.xml
new file mode 100644
index 0000000000..241279aedb
--- /dev/null
+++ b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/6/62/623.xml
@@ -0,0 +1,37 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="Category" module="Products.ERP5Type.Document.Category"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>effective_date</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>623</string> </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Category</string> </value>
+        </item>
+        <item>
+            <key> <string>short_title</string> </key>
+            <value> <string>荷造運賃</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>荷造運賃</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/6/62/624.xml b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/6/62/624.xml
new file mode 100644
index 0000000000..fbf61688a3
--- /dev/null
+++ b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/6/62/624.xml
@@ -0,0 +1,37 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="Category" module="Products.ERP5Type.Document.Category"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>effective_date</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>624</string> </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Category</string> </value>
+        </item>
+        <item>
+            <key> <string>short_title</string> </key>
+            <value> <string>旅費交通費</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>旅費交通費</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/6/62/625.xml b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/6/62/625.xml
new file mode 100644
index 0000000000..8622f6b5e3
--- /dev/null
+++ b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/6/62/625.xml
@@ -0,0 +1,37 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="Category" module="Products.ERP5Type.Document.Category"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>effective_date</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>625</string> </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Category</string> </value>
+        </item>
+        <item>
+            <key> <string>short_title</string> </key>
+            <value> <string>交際費</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>交際費</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/6/62/626.xml b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/6/62/626.xml
new file mode 100644
index 0000000000..1577ed7749
--- /dev/null
+++ b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/6/62/626.xml
@@ -0,0 +1,37 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="Category" module="Products.ERP5Type.Document.Category"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>effective_date</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>626</string> </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Category</string> </value>
+        </item>
+        <item>
+            <key> <string>short_title</string> </key>
+            <value> <string>通信費</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>通信費</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/6/62/628.xml b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/6/62/628.xml
new file mode 100644
index 0000000000..6835aa99e9
--- /dev/null
+++ b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/6/62/628.xml
@@ -0,0 +1,77 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="Category" module="Products.ERP5Type.Document.Category"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_count</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>_mt_index</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>_tree</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAQ=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>effective_date</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>628</string> </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Category</string> </value>
+        </item>
+        <item>
+            <key> <string>short_title</string> </key>
+            <value> <string>貸倒費</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>貸倒費</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="2" aka="AAAAAAAAAAI=">
+    <pickle>
+      <global name="Length" module="BTrees.Length"/>
+    </pickle>
+    <pickle> <int>0</int> </pickle>
+  </record>
+  <record id="3" aka="AAAAAAAAAAM=">
+    <pickle>
+      <global name="OOBTree" module="BTrees._OOBTree"/>
+    </pickle>
+    <pickle>
+      <none/>
+    </pickle>
+  </record>
+  <record id="4" aka="AAAAAAAAAAQ=">
+    <pickle>
+      <global name="OOBTree" module="BTrees._OOBTree"/>
+    </pickle>
+    <pickle>
+      <none/>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/6/62/628/6281.xml b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/6/62/628/6281.xml
new file mode 100644
index 0000000000..e6f86178ed
--- /dev/null
+++ b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/6/62/628/6281.xml
@@ -0,0 +1,37 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="Category" module="Products.ERP5Type.Document.Category"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>effective_date</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>6281</string> </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Category</string> </value>
+        </item>
+        <item>
+            <key> <string>short_title</string> </key>
+            <value> <string>貸倒引当金繰入</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>貸倒引当金繰入</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/6/62/628/6282.xml b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/6/62/628/6282.xml
new file mode 100644
index 0000000000..f31a794d02
--- /dev/null
+++ b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/6/62/628/6282.xml
@@ -0,0 +1,37 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="Category" module="Products.ERP5Type.Document.Category"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>effective_date</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>6282</string> </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Category</string> </value>
+        </item>
+        <item>
+            <key> <string>short_title</string> </key>
+            <value> <string>貸倒損失</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>貸倒損失</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/6/62/629.xml b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/6/62/629.xml
new file mode 100644
index 0000000000..17ff2d0b36
--- /dev/null
+++ b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/6/62/629.xml
@@ -0,0 +1,77 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="Category" module="Products.ERP5Type.Document.Category"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_count</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>_mt_index</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>_tree</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAQ=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>effective_date</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>629</string> </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Category</string> </value>
+        </item>
+        <item>
+            <key> <string>short_title</string> </key>
+            <value> <string>その他販売費</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>その他販売費</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="2" aka="AAAAAAAAAAI=">
+    <pickle>
+      <global name="Length" module="BTrees.Length"/>
+    </pickle>
+    <pickle> <int>0</int> </pickle>
+  </record>
+  <record id="3" aka="AAAAAAAAAAM=">
+    <pickle>
+      <global name="OOBTree" module="BTrees._OOBTree"/>
+    </pickle>
+    <pickle>
+      <none/>
+    </pickle>
+  </record>
+  <record id="4" aka="AAAAAAAAAAQ=">
+    <pickle>
+      <global name="OOBTree" module="BTrees._OOBTree"/>
+    </pickle>
+    <pickle>
+      <none/>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/6/62/629/6291.xml b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/6/62/629/6291.xml
new file mode 100644
index 0000000000..3e0acb7581
--- /dev/null
+++ b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/6/62/629/6291.xml
@@ -0,0 +1,37 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="Category" module="Products.ERP5Type.Document.Category"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>effective_date</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>6291</string> </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Category</string> </value>
+        </item>
+        <item>
+            <key> <string>short_title</string> </key>
+            <value> <string>会議費</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>会議費</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/6/62/629/6292.xml b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/6/62/629/6292.xml
new file mode 100644
index 0000000000..357839c9ae
--- /dev/null
+++ b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/6/62/629/6292.xml
@@ -0,0 +1,37 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="Category" module="Products.ERP5Type.Document.Category"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>effective_date</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>6292</string> </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Category</string> </value>
+        </item>
+        <item>
+            <key> <string>short_title</string> </key>
+            <value> <string>保証債務費用</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>保証債務費用</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/6/62/629/6293.xml b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/6/62/629/6293.xml
new file mode 100644
index 0000000000..ddd7b1c90e
--- /dev/null
+++ b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/6/62/629/6293.xml
@@ -0,0 +1,37 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="Category" module="Products.ERP5Type.Document.Category"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>effective_date</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>6293</string> </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Category</string> </value>
+        </item>
+        <item>
+            <key> <string>short_title</string> </key>
+            <value> <string>販売促進費</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>販売促進費</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/6/62/629/6294.xml b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/6/62/629/6294.xml
new file mode 100644
index 0000000000..1f2d6ad8d1
--- /dev/null
+++ b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/6/62/629/6294.xml
@@ -0,0 +1,37 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="Category" module="Products.ERP5Type.Document.Category"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>effective_date</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>6294</string> </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Category</string> </value>
+        </item>
+        <item>
+            <key> <string>short_title</string> </key>
+            <value> <string>販売手数料</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>販売手数料</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/6/62/629/6295.xml b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/6/62/629/6295.xml
new file mode 100644
index 0000000000..7774eabb52
--- /dev/null
+++ b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/6/62/629/6295.xml
@@ -0,0 +1,37 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="Category" module="Products.ERP5Type.Document.Category"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>effective_date</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>6295</string> </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Category</string> </value>
+        </item>
+        <item>
+            <key> <string>short_title</string> </key>
+            <value> <string>見本費</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>見本費</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/6/62/629/6296.xml b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/6/62/629/6296.xml
new file mode 100644
index 0000000000..997c687b3c
--- /dev/null
+++ b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/6/62/629/6296.xml
@@ -0,0 +1,37 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="Category" module="Products.ERP5Type.Document.Category"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>effective_date</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>6296</string> </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Category</string> </value>
+        </item>
+        <item>
+            <key> <string>short_title</string> </key>
+            <value> <string>雑費</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>雑費</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/6/63.xml b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/6/63.xml
new file mode 100644
index 0000000000..4f03a10e0a
--- /dev/null
+++ b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/6/63.xml
@@ -0,0 +1,77 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="Category" module="Products.ERP5Type.Document.Category"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_count</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>_mt_index</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>_tree</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAQ=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>effective_date</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>63</string> </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Category</string> </value>
+        </item>
+        <item>
+            <key> <string>short_title</string> </key>
+            <value> <string>税金等</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>税金等</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="2" aka="AAAAAAAAAAI=">
+    <pickle>
+      <global name="Length" module="BTrees.Length"/>
+    </pickle>
+    <pickle> <int>0</int> </pickle>
+  </record>
+  <record id="3" aka="AAAAAAAAAAM=">
+    <pickle>
+      <global name="OOBTree" module="BTrees._OOBTree"/>
+    </pickle>
+    <pickle>
+      <none/>
+    </pickle>
+  </record>
+  <record id="4" aka="AAAAAAAAAAQ=">
+    <pickle>
+      <global name="OOBTree" module="BTrees._OOBTree"/>
+    </pickle>
+    <pickle>
+      <none/>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/6/63/635.xml b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/6/63/635.xml
new file mode 100644
index 0000000000..a2a98b013a
--- /dev/null
+++ b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/6/63/635.xml
@@ -0,0 +1,37 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="Category" module="Products.ERP5Type.Document.Category"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>effective_date</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>635</string> </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Category</string> </value>
+        </item>
+        <item>
+            <key> <string>short_title</string> </key>
+            <value> <string>租税公課</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>租税公課</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/6/63/636.xml b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/6/63/636.xml
new file mode 100644
index 0000000000..17bb7ed9c9
--- /dev/null
+++ b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/6/63/636.xml
@@ -0,0 +1,37 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="Category" module="Products.ERP5Type.Document.Category"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>effective_date</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>636</string> </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Category</string> </value>
+        </item>
+        <item>
+            <key> <string>short_title</string> </key>
+            <value> <string>法人税等</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>法人税等</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/6/64.xml b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/6/64.xml
new file mode 100644
index 0000000000..e1eb5025a5
--- /dev/null
+++ b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/6/64.xml
@@ -0,0 +1,77 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="Category" module="Products.ERP5Type.Document.Category"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_count</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>_mt_index</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>_tree</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAQ=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>effective_date</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>64</string> </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Category</string> </value>
+        </item>
+        <item>
+            <key> <string>short_title</string> </key>
+            <value> <string>人件費</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>人件費</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="2" aka="AAAAAAAAAAI=">
+    <pickle>
+      <global name="Length" module="BTrees.Length"/>
+    </pickle>
+    <pickle> <int>0</int> </pickle>
+  </record>
+  <record id="3" aka="AAAAAAAAAAM=">
+    <pickle>
+      <global name="OOBTree" module="BTrees._OOBTree"/>
+    </pickle>
+    <pickle>
+      <none/>
+    </pickle>
+  </record>
+  <record id="4" aka="AAAAAAAAAAQ=">
+    <pickle>
+      <global name="OOBTree" module="BTrees._OOBTree"/>
+    </pickle>
+    <pickle>
+      <none/>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/6/64/641.xml b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/6/64/641.xml
new file mode 100644
index 0000000000..27c2e80378
--- /dev/null
+++ b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/6/64/641.xml
@@ -0,0 +1,37 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="Category" module="Products.ERP5Type.Document.Category"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>effective_date</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>641</string> </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Category</string> </value>
+        </item>
+        <item>
+            <key> <string>short_title</string> </key>
+            <value> <string>従業員給料</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>従業員給料</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/6/64/642.xml b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/6/64/642.xml
new file mode 100644
index 0000000000..559996dff5
--- /dev/null
+++ b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/6/64/642.xml
@@ -0,0 +1,37 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="Category" module="Products.ERP5Type.Document.Category"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>effective_date</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>642</string> </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Category</string> </value>
+        </item>
+        <item>
+            <key> <string>short_title</string> </key>
+            <value> <string>役員報酬</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>役員報酬</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/6/64/643.xml b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/6/64/643.xml
new file mode 100644
index 0000000000..14d46e8f6c
--- /dev/null
+++ b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/6/64/643.xml
@@ -0,0 +1,37 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="Category" module="Products.ERP5Type.Document.Category"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>effective_date</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>643</string> </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Category</string> </value>
+        </item>
+        <item>
+            <key> <string>short_title</string> </key>
+            <value> <string>法定福利費</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>法定福利費</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/6/64/644.xml b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/6/64/644.xml
new file mode 100644
index 0000000000..bc54c5afa3
--- /dev/null
+++ b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/6/64/644.xml
@@ -0,0 +1,37 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="Category" module="Products.ERP5Type.Document.Category"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>effective_date</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>644</string> </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Category</string> </value>
+        </item>
+        <item>
+            <key> <string>short_title</string> </key>
+            <value> <string>福利厚生費</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>福利厚生費</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/6/64/645.xml b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/6/64/645.xml
new file mode 100644
index 0000000000..6fc90f69ca
--- /dev/null
+++ b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/6/64/645.xml
@@ -0,0 +1,37 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="Category" module="Products.ERP5Type.Document.Category"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>effective_date</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>645</string> </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Category</string> </value>
+        </item>
+        <item>
+            <key> <string>short_title</string> </key>
+            <value> <string>通勤費</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>通勤費</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/6/64/646.xml b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/6/64/646.xml
new file mode 100644
index 0000000000..9416c7713d
--- /dev/null
+++ b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/6/64/646.xml
@@ -0,0 +1,77 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="Category" module="Products.ERP5Type.Document.Category"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_count</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>_mt_index</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>_tree</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAQ=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>effective_date</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>646</string> </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Category</string> </value>
+        </item>
+        <item>
+            <key> <string>short_title</string> </key>
+            <value> <string>その他人事費</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>その他人事費</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="2" aka="AAAAAAAAAAI=">
+    <pickle>
+      <global name="Length" module="BTrees.Length"/>
+    </pickle>
+    <pickle> <int>0</int> </pickle>
+  </record>
+  <record id="3" aka="AAAAAAAAAAM=">
+    <pickle>
+      <global name="OOBTree" module="BTrees._OOBTree"/>
+    </pickle>
+    <pickle>
+      <none/>
+    </pickle>
+  </record>
+  <record id="4" aka="AAAAAAAAAAQ=">
+    <pickle>
+      <global name="OOBTree" module="BTrees._OOBTree"/>
+    </pickle>
+    <pickle>
+      <none/>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/6/64/646/6461.xml b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/6/64/646/6461.xml
new file mode 100644
index 0000000000..cf80b2246e
--- /dev/null
+++ b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/6/64/646/6461.xml
@@ -0,0 +1,37 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="Category" module="Products.ERP5Type.Document.Category"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>effective_date</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>6461</string> </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Category</string> </value>
+        </item>
+        <item>
+            <key> <string>short_title</string> </key>
+            <value> <string>賞与</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>賞与</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/6/64/646/6462.xml b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/6/64/646/6462.xml
new file mode 100644
index 0000000000..2569ecfa9b
--- /dev/null
+++ b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/6/64/646/6462.xml
@@ -0,0 +1,37 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="Category" module="Products.ERP5Type.Document.Category"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>effective_date</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>6462</string> </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Category</string> </value>
+        </item>
+        <item>
+            <key> <string>short_title</string> </key>
+            <value> <string>賞与引当金繰入</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>賞与引当金繰入</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/6/64/646/6463.xml b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/6/64/646/6463.xml
new file mode 100644
index 0000000000..8100583225
--- /dev/null
+++ b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/6/64/646/6463.xml
@@ -0,0 +1,37 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="Category" module="Products.ERP5Type.Document.Category"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>effective_date</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>6463</string> </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Category</string> </value>
+        </item>
+        <item>
+            <key> <string>short_title</string> </key>
+            <value> <string>退職金</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>退職金</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/6/64/646/6464.xml b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/6/64/646/6464.xml
new file mode 100644
index 0000000000..b715c3dde7
--- /dev/null
+++ b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/6/64/646/6464.xml
@@ -0,0 +1,37 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="Category" module="Products.ERP5Type.Document.Category"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>effective_date</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>6464</string> </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Category</string> </value>
+        </item>
+        <item>
+            <key> <string>short_title</string> </key>
+            <value> <string>退職給付引当金繰入</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>退職給付引当金繰入</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/6/65.xml b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/6/65.xml
new file mode 100644
index 0000000000..da5303d74d
--- /dev/null
+++ b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/6/65.xml
@@ -0,0 +1,37 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="Category" module="Products.ERP5Type.Document.Category"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>effective_date</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>65</string> </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Category</string> </value>
+        </item>
+        <item>
+            <key> <string>short_title</string> </key>
+            <value> <string>営業外費用</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>営業外費用</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/6/66.xml b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/6/66.xml
new file mode 100644
index 0000000000..fcdce3b3f4
--- /dev/null
+++ b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/6/66.xml
@@ -0,0 +1,77 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="Category" module="Products.ERP5Type.Document.Category"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_count</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>_mt_index</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>_tree</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAQ=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>effective_date</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>66</string> </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Category</string> </value>
+        </item>
+        <item>
+            <key> <string>short_title</string> </key>
+            <value> <string>財務費用</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>財務費用</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="2" aka="AAAAAAAAAAI=">
+    <pickle>
+      <global name="Length" module="BTrees.Length"/>
+    </pickle>
+    <pickle> <int>0</int> </pickle>
+  </record>
+  <record id="3" aka="AAAAAAAAAAM=">
+    <pickle>
+      <global name="OOBTree" module="BTrees._OOBTree"/>
+    </pickle>
+    <pickle>
+      <none/>
+    </pickle>
+  </record>
+  <record id="4" aka="AAAAAAAAAAQ=">
+    <pickle>
+      <global name="OOBTree" module="BTrees._OOBTree"/>
+    </pickle>
+    <pickle>
+      <none/>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/6/66/661.xml b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/6/66/661.xml
new file mode 100644
index 0000000000..3c32141795
--- /dev/null
+++ b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/6/66/661.xml
@@ -0,0 +1,37 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="Category" module="Products.ERP5Type.Document.Category"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>effective_date</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>661</string> </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Category</string> </value>
+        </item>
+        <item>
+            <key> <string>short_title</string> </key>
+            <value> <string>支払利息</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>支払利息</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/6/66/666.xml b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/6/66/666.xml
new file mode 100644
index 0000000000..3436825c9d
--- /dev/null
+++ b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/6/66/666.xml
@@ -0,0 +1,37 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="Category" module="Products.ERP5Type.Document.Category"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>effective_date</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>666</string> </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Category</string> </value>
+        </item>
+        <item>
+            <key> <string>short_title</string> </key>
+            <value> <string>為替差損</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>為替差損</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/6/66/668.xml b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/6/66/668.xml
new file mode 100644
index 0000000000..06ff3cc59b
--- /dev/null
+++ b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/6/66/668.xml
@@ -0,0 +1,77 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="Category" module="Products.ERP5Type.Document.Category"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_count</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>_mt_index</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>_tree</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAQ=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>effective_date</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>668</string> </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Category</string> </value>
+        </item>
+        <item>
+            <key> <string>short_title</string> </key>
+            <value> <string>その他損失</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>その他損失</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="2" aka="AAAAAAAAAAI=">
+    <pickle>
+      <global name="Length" module="BTrees.Length"/>
+    </pickle>
+    <pickle> <int>0</int> </pickle>
+  </record>
+  <record id="3" aka="AAAAAAAAAAM=">
+    <pickle>
+      <global name="OOBTree" module="BTrees._OOBTree"/>
+    </pickle>
+    <pickle>
+      <none/>
+    </pickle>
+  </record>
+  <record id="4" aka="AAAAAAAAAAQ=">
+    <pickle>
+      <global name="OOBTree" module="BTrees._OOBTree"/>
+    </pickle>
+    <pickle>
+      <none/>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/6/66/668/6681.xml b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/6/66/668/6681.xml
new file mode 100644
index 0000000000..ec0d69ac03
--- /dev/null
+++ b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/6/66/668/6681.xml
@@ -0,0 +1,37 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="Category" module="Products.ERP5Type.Document.Category"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>effective_date</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>6681</string> </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Category</string> </value>
+        </item>
+        <item>
+            <key> <string>short_title</string> </key>
+            <value> <string>有価証券売却損</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>有価証券売却損</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/6/66/668/6682.xml b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/6/66/668/6682.xml
new file mode 100644
index 0000000000..987032df5a
--- /dev/null
+++ b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/6/66/668/6682.xml
@@ -0,0 +1,37 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="Category" module="Products.ERP5Type.Document.Category"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>effective_date</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>6682</string> </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Category</string> </value>
+        </item>
+        <item>
+            <key> <string>short_title</string> </key>
+            <value> <string>有価証券評価損</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>有価証券評価損</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/6/66/668/6683.xml b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/6/66/668/6683.xml
new file mode 100644
index 0000000000..ecb52dc7b3
--- /dev/null
+++ b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/6/66/668/6683.xml
@@ -0,0 +1,37 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="Category" module="Products.ERP5Type.Document.Category"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>effective_date</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>6683</string> </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Category</string> </value>
+        </item>
+        <item>
+            <key> <string>short_title</string> </key>
+            <value> <string>手形売却損</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>手形売却損</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/6/66/668/6684.xml b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/6/66/668/6684.xml
new file mode 100644
index 0000000000..92d8ae4570
--- /dev/null
+++ b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/6/66/668/6684.xml
@@ -0,0 +1,37 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="Category" module="Products.ERP5Type.Document.Category"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>effective_date</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>6684</string> </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Category</string> </value>
+        </item>
+        <item>
+            <key> <string>short_title</string> </key>
+            <value> <string>自己株式処分差損</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>自己株式処分差損</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/6/66/668/6685.xml b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/6/66/668/6685.xml
new file mode 100644
index 0000000000..bf0e5b8b35
--- /dev/null
+++ b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/6/66/668/6685.xml
@@ -0,0 +1,37 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="Category" module="Products.ERP5Type.Document.Category"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>effective_date</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>6685</string> </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Category</string> </value>
+        </item>
+        <item>
+            <key> <string>short_title</string> </key>
+            <value> <string>雑損失</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>雑損失</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/6/67.xml b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/6/67.xml
new file mode 100644
index 0000000000..041dd09b99
--- /dev/null
+++ b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/6/67.xml
@@ -0,0 +1,77 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="Category" module="Products.ERP5Type.Document.Category"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_count</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>_mt_index</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>_tree</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAQ=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>effective_date</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>67</string> </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Category</string> </value>
+        </item>
+        <item>
+            <key> <string>short_title</string> </key>
+            <value> <string>特別費用</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>特別費用</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="2" aka="AAAAAAAAAAI=">
+    <pickle>
+      <global name="Length" module="BTrees.Length"/>
+    </pickle>
+    <pickle> <int>0</int> </pickle>
+  </record>
+  <record id="3" aka="AAAAAAAAAAM=">
+    <pickle>
+      <global name="OOBTree" module="BTrees._OOBTree"/>
+    </pickle>
+    <pickle>
+      <none/>
+    </pickle>
+  </record>
+  <record id="4" aka="AAAAAAAAAAQ=">
+    <pickle>
+      <global name="OOBTree" module="BTrees._OOBTree"/>
+    </pickle>
+    <pickle>
+      <none/>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/6/67/671.xml b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/6/67/671.xml
new file mode 100644
index 0000000000..10e1cd2770
--- /dev/null
+++ b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/6/67/671.xml
@@ -0,0 +1,37 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="Category" module="Products.ERP5Type.Document.Category"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>effective_date</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>671</string> </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Category</string> </value>
+        </item>
+        <item>
+            <key> <string>short_title</string> </key>
+            <value> <string>前期損益修正損</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>前期損益修正損</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/6/67/672.xml b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/6/67/672.xml
new file mode 100644
index 0000000000..4bac38d0dd
--- /dev/null
+++ b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/6/67/672.xml
@@ -0,0 +1,37 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="Category" module="Products.ERP5Type.Document.Category"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>effective_date</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>672</string> </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Category</string> </value>
+        </item>
+        <item>
+            <key> <string>short_title</string> </key>
+            <value> <string>固定資産売却損</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>固定資産売却損</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/6/67/673.xml b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/6/67/673.xml
new file mode 100644
index 0000000000..62342b37c8
--- /dev/null
+++ b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/6/67/673.xml
@@ -0,0 +1,37 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="Category" module="Products.ERP5Type.Document.Category"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>effective_date</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>673</string> </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Category</string> </value>
+        </item>
+        <item>
+            <key> <string>short_title</string> </key>
+            <value> <string>固定資産除却損</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>固定資産除却損</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/6/67/674.xml b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/6/67/674.xml
new file mode 100644
index 0000000000..06264272fc
--- /dev/null
+++ b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/6/67/674.xml
@@ -0,0 +1,37 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="Category" module="Products.ERP5Type.Document.Category"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>effective_date</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>674</string> </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Category</string> </value>
+        </item>
+        <item>
+            <key> <string>short_title</string> </key>
+            <value> <string>投資有価証券売却損</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>投資有価証券売却損</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/6/67/675.xml b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/6/67/675.xml
new file mode 100644
index 0000000000..eab431abea
--- /dev/null
+++ b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/6/67/675.xml
@@ -0,0 +1,37 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="Category" module="Products.ERP5Type.Document.Category"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>effective_date</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>675</string> </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Category</string> </value>
+        </item>
+        <item>
+            <key> <string>short_title</string> </key>
+            <value> <string>投資有価証券評価損</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>投資有価証券評価損</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/6/67/676.xml b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/6/67/676.xml
new file mode 100644
index 0000000000..53184c1785
--- /dev/null
+++ b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/6/67/676.xml
@@ -0,0 +1,37 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="Category" module="Products.ERP5Type.Document.Category"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>effective_date</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>676</string> </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Category</string> </value>
+        </item>
+        <item>
+            <key> <string>short_title</string> </key>
+            <value> <string>役員退職金</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>役員退職金</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/6/67/677.xml b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/6/67/677.xml
new file mode 100644
index 0000000000..9e6dc6e0b7
--- /dev/null
+++ b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/6/67/677.xml
@@ -0,0 +1,37 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="Category" module="Products.ERP5Type.Document.Category"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>effective_date</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>677</string> </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Category</string> </value>
+        </item>
+        <item>
+            <key> <string>short_title</string> </key>
+            <value> <string>災害損失</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>災害損失</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/6/67/678.xml b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/6/67/678.xml
new file mode 100644
index 0000000000..752e81ac5f
--- /dev/null
+++ b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/6/67/678.xml
@@ -0,0 +1,77 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="Category" module="Products.ERP5Type.Document.Category"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_count</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>_mt_index</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>_tree</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAQ=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>effective_date</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>678</string> </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Category</string> </value>
+        </item>
+        <item>
+            <key> <string>short_title</string> </key>
+            <value> <string>その他特別費用</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>その他特別費用</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="2" aka="AAAAAAAAAAI=">
+    <pickle>
+      <global name="Length" module="BTrees.Length"/>
+    </pickle>
+    <pickle> <int>0</int> </pickle>
+  </record>
+  <record id="3" aka="AAAAAAAAAAM=">
+    <pickle>
+      <global name="OOBTree" module="BTrees._OOBTree"/>
+    </pickle>
+    <pickle>
+      <none/>
+    </pickle>
+  </record>
+  <record id="4" aka="AAAAAAAAAAQ=">
+    <pickle>
+      <global name="OOBTree" module="BTrees._OOBTree"/>
+    </pickle>
+    <pickle>
+      <none/>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/6/67/678/6781.xml b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/6/67/678/6781.xml
new file mode 100644
index 0000000000..d169a35c8a
--- /dev/null
+++ b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/6/67/678/6781.xml
@@ -0,0 +1,37 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="Category" module="Products.ERP5Type.Document.Category"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>effective_date</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>6781</string> </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Category</string> </value>
+        </item>
+        <item>
+            <key> <string>short_title</string> </key>
+            <value> <string>減損損失</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>減損損失</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/6/67/678/6782.xml b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/6/67/678/6782.xml
new file mode 100644
index 0000000000..4a79ef7cdf
--- /dev/null
+++ b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/6/67/678/6782.xml
@@ -0,0 +1,37 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="Category" module="Products.ERP5Type.Document.Category"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>effective_date</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>6782</string> </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Category</string> </value>
+        </item>
+        <item>
+            <key> <string>short_title</string> </key>
+            <value> <string>所得税</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>所得税</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/6/67/678/6783.xml b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/6/67/678/6783.xml
new file mode 100644
index 0000000000..999d5bc65a
--- /dev/null
+++ b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/6/67/678/6783.xml
@@ -0,0 +1,37 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="Category" module="Products.ERP5Type.Document.Category"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>effective_date</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>6783</string> </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Category</string> </value>
+        </item>
+        <item>
+            <key> <string>short_title</string> </key>
+            <value> <string>雑損失</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>雑損失</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/6/68.xml b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/6/68.xml
new file mode 100644
index 0000000000..ce1ab6e9dd
--- /dev/null
+++ b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/6/68.xml
@@ -0,0 +1,77 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="Category" module="Products.ERP5Type.Document.Category"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_count</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>_mt_index</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>_tree</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAQ=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>effective_date</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>68</string> </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Category</string> </value>
+        </item>
+        <item>
+            <key> <string>short_title</string> </key>
+            <value> <string>減価償却</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>減価償却</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="2" aka="AAAAAAAAAAI=">
+    <pickle>
+      <global name="Length" module="BTrees.Length"/>
+    </pickle>
+    <pickle> <int>0</int> </pickle>
+  </record>
+  <record id="3" aka="AAAAAAAAAAM=">
+    <pickle>
+      <global name="OOBTree" module="BTrees._OOBTree"/>
+    </pickle>
+    <pickle>
+      <none/>
+    </pickle>
+  </record>
+  <record id="4" aka="AAAAAAAAAAQ=">
+    <pickle>
+      <global name="OOBTree" module="BTrees._OOBTree"/>
+    </pickle>
+    <pickle>
+      <none/>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/6/68/681.xml b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/6/68/681.xml
new file mode 100644
index 0000000000..170c68a106
--- /dev/null
+++ b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/6/68/681.xml
@@ -0,0 +1,37 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="Category" module="Products.ERP5Type.Document.Category"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>effective_date</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>681</string> </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Category</string> </value>
+        </item>
+        <item>
+            <key> <string>short_title</string> </key>
+            <value> <string>減価償却費</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>減価償却費</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/6/68/682.xml b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/6/68/682.xml
new file mode 100644
index 0000000000..f4e455d466
--- /dev/null
+++ b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/6/68/682.xml
@@ -0,0 +1,37 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="Category" module="Products.ERP5Type.Document.Category"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>effective_date</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>682</string> </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Category</string> </value>
+        </item>
+        <item>
+            <key> <string>short_title</string> </key>
+            <value> <string>繰延資産償却費</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>繰延資産償却費</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/7.xml b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/7.xml
new file mode 100644
index 0000000000..002646e036
--- /dev/null
+++ b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/7.xml
@@ -0,0 +1,77 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="Category" module="Products.ERP5Type.Document.Category"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_count</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>_mt_index</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>_tree</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAQ=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>effective_date</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>7</string> </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Category</string> </value>
+        </item>
+        <item>
+            <key> <string>short_title</string> </key>
+            <value> <string>収益</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>収益</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="2" aka="AAAAAAAAAAI=">
+    <pickle>
+      <global name="Length" module="BTrees.Length"/>
+    </pickle>
+    <pickle> <int>0</int> </pickle>
+  </record>
+  <record id="3" aka="AAAAAAAAAAM=">
+    <pickle>
+      <global name="OOBTree" module="BTrees._OOBTree"/>
+    </pickle>
+    <pickle>
+      <none/>
+    </pickle>
+  </record>
+  <record id="4" aka="AAAAAAAAAAQ=">
+    <pickle>
+      <global name="OOBTree" module="BTrees._OOBTree"/>
+    </pickle>
+    <pickle>
+      <none/>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/7/70.xml b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/7/70.xml
new file mode 100644
index 0000000000..c50d963bc4
--- /dev/null
+++ b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/7/70.xml
@@ -0,0 +1,77 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="Category" module="Products.ERP5Type.Document.Category"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_count</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>_mt_index</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>_tree</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAQ=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>effective_date</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>70</string> </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Category</string> </value>
+        </item>
+        <item>
+            <key> <string>short_title</string> </key>
+            <value> <string>営業収益</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>営業収益</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="2" aka="AAAAAAAAAAI=">
+    <pickle>
+      <global name="Length" module="BTrees.Length"/>
+    </pickle>
+    <pickle> <int>0</int> </pickle>
+  </record>
+  <record id="3" aka="AAAAAAAAAAM=">
+    <pickle>
+      <global name="OOBTree" module="BTrees._OOBTree"/>
+    </pickle>
+    <pickle>
+      <none/>
+    </pickle>
+  </record>
+  <record id="4" aka="AAAAAAAAAAQ=">
+    <pickle>
+      <global name="OOBTree" module="BTrees._OOBTree"/>
+    </pickle>
+    <pickle>
+      <none/>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/7/70/701.xml b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/7/70/701.xml
new file mode 100644
index 0000000000..8c857ccdde
--- /dev/null
+++ b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/7/70/701.xml
@@ -0,0 +1,37 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="Category" module="Products.ERP5Type.Document.Category"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>effective_date</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>701</string> </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Category</string> </value>
+        </item>
+        <item>
+            <key> <string>short_title</string> </key>
+            <value> <string>製品売上高</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>製品売上高</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/7/70/702.xml b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/7/70/702.xml
new file mode 100644
index 0000000000..ba5f0abd44
--- /dev/null
+++ b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/7/70/702.xml
@@ -0,0 +1,37 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="Category" module="Products.ERP5Type.Document.Category"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>effective_date</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>702</string> </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Category</string> </value>
+        </item>
+        <item>
+            <key> <string>short_title</string> </key>
+            <value> <string>半製品売上高</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>半製品売上高</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/7/70/703.xml b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/7/70/703.xml
new file mode 100644
index 0000000000..8cef6c6bac
--- /dev/null
+++ b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/7/70/703.xml
@@ -0,0 +1,37 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="Category" module="Products.ERP5Type.Document.Category"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>effective_date</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>703</string> </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Category</string> </value>
+        </item>
+        <item>
+            <key> <string>short_title</string> </key>
+            <value> <string>商品売上高</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>商品売上高</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/7/70/704.xml b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/7/70/704.xml
new file mode 100644
index 0000000000..7403dbd3b1
--- /dev/null
+++ b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/7/70/704.xml
@@ -0,0 +1,37 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="Category" module="Products.ERP5Type.Document.Category"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>effective_date</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>704</string> </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Category</string> </value>
+        </item>
+        <item>
+            <key> <string>short_title</string> </key>
+            <value> <string>割賦売上</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>割賦売上</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/7/70/705.xml b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/7/70/705.xml
new file mode 100644
index 0000000000..5f9701624b
--- /dev/null
+++ b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/7/70/705.xml
@@ -0,0 +1,77 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="Category" module="Products.ERP5Type.Document.Category"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_count</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>_mt_index</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>_tree</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAQ=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>effective_date</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>705</string> </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Category</string> </value>
+        </item>
+        <item>
+            <key> <string>short_title</string> </key>
+            <value> <string>売上控除項目</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>売上控除項目</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="2" aka="AAAAAAAAAAI=">
+    <pickle>
+      <global name="Length" module="BTrees.Length"/>
+    </pickle>
+    <pickle> <int>0</int> </pickle>
+  </record>
+  <record id="3" aka="AAAAAAAAAAM=">
+    <pickle>
+      <global name="OOBTree" module="BTrees._OOBTree"/>
+    </pickle>
+    <pickle>
+      <none/>
+    </pickle>
+  </record>
+  <record id="4" aka="AAAAAAAAAAQ=">
+    <pickle>
+      <global name="OOBTree" module="BTrees._OOBTree"/>
+    </pickle>
+    <pickle>
+      <none/>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/7/70/705/7051.xml b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/7/70/705/7051.xml
new file mode 100644
index 0000000000..3abdf07cc0
--- /dev/null
+++ b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/7/70/705/7051.xml
@@ -0,0 +1,37 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="Category" module="Products.ERP5Type.Document.Category"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>effective_date</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>7051</string> </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Category</string> </value>
+        </item>
+        <item>
+            <key> <string>short_title</string> </key>
+            <value> <string>売上戻り高</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>売上戻り高</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/7/70/705/7052.xml b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/7/70/705/7052.xml
new file mode 100644
index 0000000000..a6bc0cb6ae
--- /dev/null
+++ b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/7/70/705/7052.xml
@@ -0,0 +1,37 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="Category" module="Products.ERP5Type.Document.Category"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>effective_date</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>7052</string> </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Category</string> </value>
+        </item>
+        <item>
+            <key> <string>short_title</string> </key>
+            <value> <string>売上値引高</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>売上値引高</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/7/70/705/7053.xml b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/7/70/705/7053.xml
new file mode 100644
index 0000000000..496dd46ff5
--- /dev/null
+++ b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/7/70/705/7053.xml
@@ -0,0 +1,37 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="Category" module="Products.ERP5Type.Document.Category"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>effective_date</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>7053</string> </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Category</string> </value>
+        </item>
+        <item>
+            <key> <string>short_title</string> </key>
+            <value> <string>売上割戻り高</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>売上割戻り高</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/7/70/705/7054.xml b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/7/70/705/7054.xml
new file mode 100644
index 0000000000..fd89ecd02d
--- /dev/null
+++ b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/7/70/705/7054.xml
@@ -0,0 +1,37 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="Category" module="Products.ERP5Type.Document.Category"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>effective_date</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>7054</string> </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Category</string> </value>
+        </item>
+        <item>
+            <key> <string>short_title</string> </key>
+            <value> <string>繰延割賦売上利益控除</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>繰延割賦売上利益控除</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/7/75.xml b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/7/75.xml
new file mode 100644
index 0000000000..856009472f
--- /dev/null
+++ b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/7/75.xml
@@ -0,0 +1,77 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="Category" module="Products.ERP5Type.Document.Category"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_count</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>_mt_index</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>_tree</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAQ=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>effective_date</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>75</string> </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Category</string> </value>
+        </item>
+        <item>
+            <key> <string>short_title</string> </key>
+            <value> <string>営業外収益</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>営業外収益</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="2" aka="AAAAAAAAAAI=">
+    <pickle>
+      <global name="Length" module="BTrees.Length"/>
+    </pickle>
+    <pickle> <int>0</int> </pickle>
+  </record>
+  <record id="3" aka="AAAAAAAAAAM=">
+    <pickle>
+      <global name="OOBTree" module="BTrees._OOBTree"/>
+    </pickle>
+    <pickle>
+      <none/>
+    </pickle>
+  </record>
+  <record id="4" aka="AAAAAAAAAAQ=">
+    <pickle>
+      <global name="OOBTree" module="BTrees._OOBTree"/>
+    </pickle>
+    <pickle>
+      <none/>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/7/75/751.xml b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/7/75/751.xml
new file mode 100644
index 0000000000..86e08f7ccc
--- /dev/null
+++ b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/7/75/751.xml
@@ -0,0 +1,37 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="Category" module="Products.ERP5Type.Document.Category"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>effective_date</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>751</string> </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Category</string> </value>
+        </item>
+        <item>
+            <key> <string>short_title</string> </key>
+            <value> <string>受取手数料</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>受取手数料</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/7/75/752.xml b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/7/75/752.xml
new file mode 100644
index 0000000000..85f4faa4f6
--- /dev/null
+++ b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/7/75/752.xml
@@ -0,0 +1,37 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="Category" module="Products.ERP5Type.Document.Category"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>effective_date</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>752</string> </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Category</string> </value>
+        </item>
+        <item>
+            <key> <string>short_title</string> </key>
+            <value> <string>受取賃貸料</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>受取賃貸料</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/7/76.xml b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/7/76.xml
new file mode 100644
index 0000000000..aaaa2422c9
--- /dev/null
+++ b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/7/76.xml
@@ -0,0 +1,77 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="Category" module="Products.ERP5Type.Document.Category"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_count</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>_mt_index</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>_tree</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAQ=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>effective_date</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>76</string> </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Category</string> </value>
+        </item>
+        <item>
+            <key> <string>short_title</string> </key>
+            <value> <string>財務収益</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>財務収益</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="2" aka="AAAAAAAAAAI=">
+    <pickle>
+      <global name="Length" module="BTrees.Length"/>
+    </pickle>
+    <pickle> <int>0</int> </pickle>
+  </record>
+  <record id="3" aka="AAAAAAAAAAM=">
+    <pickle>
+      <global name="OOBTree" module="BTrees._OOBTree"/>
+    </pickle>
+    <pickle>
+      <none/>
+    </pickle>
+  </record>
+  <record id="4" aka="AAAAAAAAAAQ=">
+    <pickle>
+      <global name="OOBTree" module="BTrees._OOBTree"/>
+    </pickle>
+    <pickle>
+      <none/>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/7/76/763.xml b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/7/76/763.xml
new file mode 100644
index 0000000000..7239e0941d
--- /dev/null
+++ b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/7/76/763.xml
@@ -0,0 +1,37 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="Category" module="Products.ERP5Type.Document.Category"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>effective_date</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>763</string> </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Category</string> </value>
+        </item>
+        <item>
+            <key> <string>short_title</string> </key>
+            <value> <string>受取利息</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>受取利息</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/7/76/764.xml b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/7/76/764.xml
new file mode 100644
index 0000000000..29e5cfb39a
--- /dev/null
+++ b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/7/76/764.xml
@@ -0,0 +1,37 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="Category" module="Products.ERP5Type.Document.Category"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>effective_date</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>764</string> </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Category</string> </value>
+        </item>
+        <item>
+            <key> <string>short_title</string> </key>
+            <value> <string>受取配当金</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>受取配当金</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/7/76/766.xml b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/7/76/766.xml
new file mode 100644
index 0000000000..e6e132692c
--- /dev/null
+++ b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/7/76/766.xml
@@ -0,0 +1,37 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="Category" module="Products.ERP5Type.Document.Category"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>effective_date</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>766</string> </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Category</string> </value>
+        </item>
+        <item>
+            <key> <string>short_title</string> </key>
+            <value> <string>為替差益</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>為替差益</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/7/76/768.xml b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/7/76/768.xml
new file mode 100644
index 0000000000..db6cc40064
--- /dev/null
+++ b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/7/76/768.xml
@@ -0,0 +1,77 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="Category" module="Products.ERP5Type.Document.Category"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_count</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>_mt_index</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>_tree</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAQ=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>effective_date</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>768</string> </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Category</string> </value>
+        </item>
+        <item>
+            <key> <string>short_title</string> </key>
+            <value> <string>その他財務収益</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>その他財務収益</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="2" aka="AAAAAAAAAAI=">
+    <pickle>
+      <global name="Length" module="BTrees.Length"/>
+    </pickle>
+    <pickle> <int>0</int> </pickle>
+  </record>
+  <record id="3" aka="AAAAAAAAAAM=">
+    <pickle>
+      <global name="OOBTree" module="BTrees._OOBTree"/>
+    </pickle>
+    <pickle>
+      <none/>
+    </pickle>
+  </record>
+  <record id="4" aka="AAAAAAAAAAQ=">
+    <pickle>
+      <global name="OOBTree" module="BTrees._OOBTree"/>
+    </pickle>
+    <pickle>
+      <none/>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/7/76/768/7681.xml b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/7/76/768/7681.xml
new file mode 100644
index 0000000000..ecd42c16d0
--- /dev/null
+++ b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/7/76/768/7681.xml
@@ -0,0 +1,37 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="Category" module="Products.ERP5Type.Document.Category"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>effective_date</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>7681</string> </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Category</string> </value>
+        </item>
+        <item>
+            <key> <string>short_title</string> </key>
+            <value> <string>有価証券売却益</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>有価証券売却益</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/7/76/768/7682.xml b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/7/76/768/7682.xml
new file mode 100644
index 0000000000..af5e059bef
--- /dev/null
+++ b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/7/76/768/7682.xml
@@ -0,0 +1,37 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="Category" module="Products.ERP5Type.Document.Category"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>effective_date</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>7682</string> </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Category</string> </value>
+        </item>
+        <item>
+            <key> <string>short_title</string> </key>
+            <value> <string>有価証券評価益</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>有価証券評価益</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/7/76/768/7683.xml b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/7/76/768/7683.xml
new file mode 100644
index 0000000000..966d97c77e
--- /dev/null
+++ b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/7/76/768/7683.xml
@@ -0,0 +1,37 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="Category" module="Products.ERP5Type.Document.Category"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>effective_date</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>7683</string> </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Category</string> </value>
+        </item>
+        <item>
+            <key> <string>short_title</string> </key>
+            <value> <string>貸倒引当金戻入益</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>貸倒引当金戻入益</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/7/76/768/7684.xml b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/7/76/768/7684.xml
new file mode 100644
index 0000000000..bdfbcb6fa9
--- /dev/null
+++ b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/7/76/768/7684.xml
@@ -0,0 +1,37 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="Category" module="Products.ERP5Type.Document.Category"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>effective_date</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>7684</string> </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Category</string> </value>
+        </item>
+        <item>
+            <key> <string>short_title</string> </key>
+            <value> <string>賞与引当金戻入益</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>賞与引当金戻入益</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/7/76/768/7685.xml b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/7/76/768/7685.xml
new file mode 100644
index 0000000000..f6d39ded00
--- /dev/null
+++ b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/7/76/768/7685.xml
@@ -0,0 +1,37 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="Category" module="Products.ERP5Type.Document.Category"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>effective_date</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>7685</string> </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Category</string> </value>
+        </item>
+        <item>
+            <key> <string>short_title</string> </key>
+            <value> <string>自己株式処分差益</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>自己株式処分差益</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/7/76/768/7686.xml b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/7/76/768/7686.xml
new file mode 100644
index 0000000000..55e979b7ff
--- /dev/null
+++ b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/7/76/768/7686.xml
@@ -0,0 +1,37 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="Category" module="Products.ERP5Type.Document.Category"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>effective_date</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>7686</string> </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Category</string> </value>
+        </item>
+        <item>
+            <key> <string>short_title</string> </key>
+            <value> <string>雑収入</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>雑収入</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/7/77.xml b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/7/77.xml
new file mode 100644
index 0000000000..769c76399d
--- /dev/null
+++ b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/7/77.xml
@@ -0,0 +1,77 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="Category" module="Products.ERP5Type.Document.Category"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_count</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>_mt_index</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>_tree</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAQ=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>effective_date</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>77</string> </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Category</string> </value>
+        </item>
+        <item>
+            <key> <string>short_title</string> </key>
+            <value> <string>特別利益</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>特別利益</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="2" aka="AAAAAAAAAAI=">
+    <pickle>
+      <global name="Length" module="BTrees.Length"/>
+    </pickle>
+    <pickle> <int>0</int> </pickle>
+  </record>
+  <record id="3" aka="AAAAAAAAAAM=">
+    <pickle>
+      <global name="OOBTree" module="BTrees._OOBTree"/>
+    </pickle>
+    <pickle>
+      <none/>
+    </pickle>
+  </record>
+  <record id="4" aka="AAAAAAAAAAQ=">
+    <pickle>
+      <global name="OOBTree" module="BTrees._OOBTree"/>
+    </pickle>
+    <pickle>
+      <none/>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/7/77/771.xml b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/7/77/771.xml
new file mode 100644
index 0000000000..60a82769e4
--- /dev/null
+++ b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/7/77/771.xml
@@ -0,0 +1,37 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="Category" module="Products.ERP5Type.Document.Category"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>effective_date</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>771</string> </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Category</string> </value>
+        </item>
+        <item>
+            <key> <string>short_title</string> </key>
+            <value> <string>前期損益修正益</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>前期損益修正益</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/7/77/772.xml b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/7/77/772.xml
new file mode 100644
index 0000000000..2fccf78d7a
--- /dev/null
+++ b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/7/77/772.xml
@@ -0,0 +1,37 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="Category" module="Products.ERP5Type.Document.Category"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>effective_date</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>772</string> </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Category</string> </value>
+        </item>
+        <item>
+            <key> <string>short_title</string> </key>
+            <value> <string>固定資産売却益</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>固定資産売却益</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/7/77/773.xml b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/7/77/773.xml
new file mode 100644
index 0000000000..e86f9949ce
--- /dev/null
+++ b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/7/77/773.xml
@@ -0,0 +1,37 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="Category" module="Products.ERP5Type.Document.Category"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>effective_date</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>773</string> </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Category</string> </value>
+        </item>
+        <item>
+            <key> <string>short_title</string> </key>
+            <value> <string>投資有価証券売却益</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>投資有価証券売却益</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/7/77/774.xml b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/7/77/774.xml
new file mode 100644
index 0000000000..c96e936366
--- /dev/null
+++ b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/7/77/774.xml
@@ -0,0 +1,37 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="Category" module="Products.ERP5Type.Document.Category"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>effective_date</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>774</string> </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Category</string> </value>
+        </item>
+        <item>
+            <key> <string>short_title</string> </key>
+            <value> <string>投資有価証券評価益</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>投資有価証券評価益</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/7/77/775.xml b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/7/77/775.xml
new file mode 100644
index 0000000000..1d95edcd0f
--- /dev/null
+++ b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/7/77/775.xml
@@ -0,0 +1,37 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="Category" module="Products.ERP5Type.Document.Category"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>effective_date</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>775</string> </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Category</string> </value>
+        </item>
+        <item>
+            <key> <string>short_title</string> </key>
+            <value> <string>保険差益</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>保険差益</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/7/77/778.xml b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/7/77/778.xml
new file mode 100644
index 0000000000..5c40544489
--- /dev/null
+++ b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/7/77/778.xml
@@ -0,0 +1,77 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="Category" module="Products.ERP5Type.Document.Category"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_count</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>_mt_index</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>_tree</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAQ=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>effective_date</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>778</string> </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Category</string> </value>
+        </item>
+        <item>
+            <key> <string>short_title</string> </key>
+            <value> <string>その他特別利益</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>その他特別利益</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="2" aka="AAAAAAAAAAI=">
+    <pickle>
+      <global name="Length" module="BTrees.Length"/>
+    </pickle>
+    <pickle> <int>0</int> </pickle>
+  </record>
+  <record id="3" aka="AAAAAAAAAAM=">
+    <pickle>
+      <global name="OOBTree" module="BTrees._OOBTree"/>
+    </pickle>
+    <pickle>
+      <none/>
+    </pickle>
+  </record>
+  <record id="4" aka="AAAAAAAAAAQ=">
+    <pickle>
+      <global name="OOBTree" module="BTrees._OOBTree"/>
+    </pickle>
+    <pickle>
+      <none/>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/7/77/778/7781.xml b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/7/77/778/7781.xml
new file mode 100644
index 0000000000..1b6848c772
--- /dev/null
+++ b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/7/77/778/7781.xml
@@ -0,0 +1,37 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="Category" module="Products.ERP5Type.Document.Category"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>effective_date</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>7781</string> </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Category</string> </value>
+        </item>
+        <item>
+            <key> <string>short_title</string> </key>
+            <value> <string>雑収入</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>雑収入</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/7/78.xml b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/7/78.xml
new file mode 100644
index 0000000000..152ddb2ed4
--- /dev/null
+++ b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/7/78.xml
@@ -0,0 +1,37 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="Category" module="Products.ERP5Type.Document.Category"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>effective_date</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>78</string> </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Category</string> </value>
+        </item>
+        <item>
+            <key> <string>short_title</string> </key>
+            <value> <string>減価償却戻入</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>減価償却戻入</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/8.xml b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/8.xml
new file mode 100644
index 0000000000..0fa2234425
--- /dev/null
+++ b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/8.xml
@@ -0,0 +1,77 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="Category" module="Products.ERP5Type.Document.Category"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_count</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>_mt_index</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>_tree</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAQ=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>effective_date</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>8</string> </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Category</string> </value>
+        </item>
+        <item>
+            <key> <string>short_title</string> </key>
+            <value> <string>決算</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>決算</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="2" aka="AAAAAAAAAAI=">
+    <pickle>
+      <global name="Length" module="BTrees.Length"/>
+    </pickle>
+    <pickle> <int>0</int> </pickle>
+  </record>
+  <record id="3" aka="AAAAAAAAAAM=">
+    <pickle>
+      <global name="OOBTree" module="BTrees._OOBTree"/>
+    </pickle>
+    <pickle>
+      <none/>
+    </pickle>
+  </record>
+  <record id="4" aka="AAAAAAAAAAQ=">
+    <pickle>
+      <global name="OOBTree" module="BTrees._OOBTree"/>
+    </pickle>
+    <pickle>
+      <none/>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/8/81.xml b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/8/81.xml
new file mode 100644
index 0000000000..df91a0082b
--- /dev/null
+++ b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/8/81.xml
@@ -0,0 +1,37 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="Category" module="Products.ERP5Type.Document.Category"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>effective_date</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>81</string> </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Category</string> </value>
+        </item>
+        <item>
+            <key> <string>short_title</string> </key>
+            <value> <string>残高</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>残高</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/8/82.xml b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/8/82.xml
new file mode 100644
index 0000000000..6076fcb01d
--- /dev/null
+++ b/bt5/erp5_accounting_l10n_jp/PathTemplateItem/portal_categories/gap/jp/afbe2/8/82.xml
@@ -0,0 +1,37 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="Category" module="Products.ERP5Type.Document.Category"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>effective_date</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>82</string> </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Category</string> </value>
+        </item>
+        <item>
+            <key> <string>short_title</string> </key>
+            <value> <string>損益</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>損益</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_accounting_l10n_jp/SkinTemplateItem/portal_skins/erp5_accounting_l10n_jp.xml b/bt5/erp5_accounting_l10n_jp/SkinTemplateItem/portal_skins/erp5_accounting_l10n_jp.xml
new file mode 100644
index 0000000000..f9319e8d95
--- /dev/null
+++ b/bt5/erp5_accounting_l10n_jp/SkinTemplateItem/portal_skins/erp5_accounting_l10n_jp.xml
@@ -0,0 +1,29 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="Folder" module="OFS.Folder"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_objects</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>erp5_accounting_l10n_jp</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string></string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_accounting_l10n_jp/SkinTemplateItem/portal_skins/erp5_accounting_l10n_jp/AccountModule_getInventoryJapaneseOutOfSaleExpenseList.xml b/bt5/erp5_accounting_l10n_jp/SkinTemplateItem/portal_skins/erp5_accounting_l10n_jp/AccountModule_getInventoryJapaneseOutOfSaleExpenseList.xml
new file mode 100644
index 0000000000..6357b8aaf7
--- /dev/null
+++ b/bt5/erp5_accounting_l10n_jp/SkinTemplateItem/portal_skins/erp5_accounting_l10n_jp/AccountModule_getInventoryJapaneseOutOfSaleExpenseList.xml
@@ -0,0 +1,137 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>Script_magic</string> </key>
+            <value> <int>3</int> </value>
+        </item>
+        <item>
+            <key> <string>_bind_names</string> </key>
+            <value>
+              <object>
+                <klass>
+                  <global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/>
+                </klass>
+                <tuple/>
+                <state>
+                  <dictionary>
+                    <item>
+                        <key> <string>_asgns</string> </key>
+                        <value>
+                          <dictionary>
+                            <item>
+                                <key> <string>name_container</string> </key>
+                                <value> <string>container</string> </value>
+                            </item>
+                            <item>
+                                <key> <string>name_context</string> </key>
+                                <value> <string>context</string> </value>
+                            </item>
+                            <item>
+                                <key> <string>name_m_self</string> </key>
+                                <value> <string>script</string> </value>
+                            </item>
+                            <item>
+                                <key> <string>name_subpath</string> </key>
+                                <value> <string>traverse_subpath</string> </value>
+                            </item>
+                          </dictionary>
+                        </value>
+                    </item>
+                  </dictionary>
+                </state>
+              </object>
+            </value>
+        </item>
+        <item>
+            <key> <string>_body</string> </key>
+            <value> <string># Example code:\n
+\n
+# Import a standard function, and get the HTML request and response objects.\n
+from Products.PythonScripts.standard import html_quote\n
+request = container.REQUEST\n
+RESPONSE =  request.RESPONSE\n
+\n
+# Return a string identifying this script.\n
+print "This is the", script.meta_type, \'"%s"\' % script.getId(),\n
+if script.title:\n
+    print "(%s)" % html_quote(script.title),\n
+print "in", container.absolute_url()\n
+return printed\n
+</string> </value>
+        </item>
+        <item>
+            <key> <string>_code</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>errors</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+        <item>
+            <key> <string>func_code</string> </key>
+            <value>
+              <object>
+                <klass>
+                  <global name="FuncCode" module="Shared.DC.Scripts.Signature"/>
+                </klass>
+                <tuple/>
+                <state>
+                  <dictionary>
+                    <item>
+                        <key> <string>co_argcount</string> </key>
+                        <value> <int>0</int> </value>
+                    </item>
+                    <item>
+                        <key> <string>co_varnames</string> </key>
+                        <value>
+                          <tuple>
+                            <string>_print_</string>
+                            <string>_print</string>
+                            <string>Products.PythonScripts.standard</string>
+                            <string>html_quote</string>
+                            <string>_getattr_</string>
+                            <string>container</string>
+                            <string>request</string>
+                            <string>RESPONSE</string>
+                            <string>script</string>
+                          </tuple>
+                        </value>
+                    </item>
+                  </dictionary>
+                </state>
+              </object>
+            </value>
+        </item>
+        <item>
+            <key> <string>func_defaults</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>AccountModule_getInventoryJapaneseOutOfSaleExpenseList</string> </value>
+        </item>
+        <item>
+            <key> <string>warnings</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_accounting_l10n_jp/SkinTemplateItem/portal_skins/erp5_accounting_l10n_jp/AccountModule_getInventoryJapaneseOutOfSaleIncomeList.xml b/bt5/erp5_accounting_l10n_jp/SkinTemplateItem/portal_skins/erp5_accounting_l10n_jp/AccountModule_getInventoryJapaneseOutOfSaleIncomeList.xml
new file mode 100644
index 0000000000..33e3fba446
--- /dev/null
+++ b/bt5/erp5_accounting_l10n_jp/SkinTemplateItem/portal_skins/erp5_accounting_l10n_jp/AccountModule_getInventoryJapaneseOutOfSaleIncomeList.xml
@@ -0,0 +1,137 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>Script_magic</string> </key>
+            <value> <int>3</int> </value>
+        </item>
+        <item>
+            <key> <string>_bind_names</string> </key>
+            <value>
+              <object>
+                <klass>
+                  <global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/>
+                </klass>
+                <tuple/>
+                <state>
+                  <dictionary>
+                    <item>
+                        <key> <string>_asgns</string> </key>
+                        <value>
+                          <dictionary>
+                            <item>
+                                <key> <string>name_container</string> </key>
+                                <value> <string>container</string> </value>
+                            </item>
+                            <item>
+                                <key> <string>name_context</string> </key>
+                                <value> <string>context</string> </value>
+                            </item>
+                            <item>
+                                <key> <string>name_m_self</string> </key>
+                                <value> <string>script</string> </value>
+                            </item>
+                            <item>
+                                <key> <string>name_subpath</string> </key>
+                                <value> <string>traverse_subpath</string> </value>
+                            </item>
+                          </dictionary>
+                        </value>
+                    </item>
+                  </dictionary>
+                </state>
+              </object>
+            </value>
+        </item>
+        <item>
+            <key> <string>_body</string> </key>
+            <value> <string># Example code:\n
+\n
+# Import a standard function, and get the HTML request and response objects.\n
+from Products.PythonScripts.standard import html_quote\n
+request = container.REQUEST\n
+RESPONSE =  request.RESPONSE\n
+\n
+# Return a string identifying this script.\n
+print "This is the", script.meta_type, \'"%s"\' % script.getId(),\n
+if script.title:\n
+    print "(%s)" % html_quote(script.title),\n
+print "in", container.absolute_url()\n
+return printed\n
+</string> </value>
+        </item>
+        <item>
+            <key> <string>_code</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>errors</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+        <item>
+            <key> <string>func_code</string> </key>
+            <value>
+              <object>
+                <klass>
+                  <global name="FuncCode" module="Shared.DC.Scripts.Signature"/>
+                </klass>
+                <tuple/>
+                <state>
+                  <dictionary>
+                    <item>
+                        <key> <string>co_argcount</string> </key>
+                        <value> <int>0</int> </value>
+                    </item>
+                    <item>
+                        <key> <string>co_varnames</string> </key>
+                        <value>
+                          <tuple>
+                            <string>_print_</string>
+                            <string>_print</string>
+                            <string>Products.PythonScripts.standard</string>
+                            <string>html_quote</string>
+                            <string>_getattr_</string>
+                            <string>container</string>
+                            <string>request</string>
+                            <string>RESPONSE</string>
+                            <string>script</string>
+                          </tuple>
+                        </value>
+                    </item>
+                  </dictionary>
+                </state>
+              </object>
+            </value>
+        </item>
+        <item>
+            <key> <string>func_defaults</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>AccountModule_getInventoryJapaneseOutOfSaleIncomeList</string> </value>
+        </item>
+        <item>
+            <key> <string>warnings</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_accounting_l10n_jp/SkinTemplateItem/portal_skins/erp5_accounting_l10n_jp/AccountModule_getInventoryJapaneseSaleExpenseList.xml b/bt5/erp5_accounting_l10n_jp/SkinTemplateItem/portal_skins/erp5_accounting_l10n_jp/AccountModule_getInventoryJapaneseSaleExpenseList.xml
new file mode 100644
index 0000000000..ff52d4ea77
--- /dev/null
+++ b/bt5/erp5_accounting_l10n_jp/SkinTemplateItem/portal_skins/erp5_accounting_l10n_jp/AccountModule_getInventoryJapaneseSaleExpenseList.xml
@@ -0,0 +1,137 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>Script_magic</string> </key>
+            <value> <int>3</int> </value>
+        </item>
+        <item>
+            <key> <string>_bind_names</string> </key>
+            <value>
+              <object>
+                <klass>
+                  <global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/>
+                </klass>
+                <tuple/>
+                <state>
+                  <dictionary>
+                    <item>
+                        <key> <string>_asgns</string> </key>
+                        <value>
+                          <dictionary>
+                            <item>
+                                <key> <string>name_container</string> </key>
+                                <value> <string>container</string> </value>
+                            </item>
+                            <item>
+                                <key> <string>name_context</string> </key>
+                                <value> <string>context</string> </value>
+                            </item>
+                            <item>
+                                <key> <string>name_m_self</string> </key>
+                                <value> <string>script</string> </value>
+                            </item>
+                            <item>
+                                <key> <string>name_subpath</string> </key>
+                                <value> <string>traverse_subpath</string> </value>
+                            </item>
+                          </dictionary>
+                        </value>
+                    </item>
+                  </dictionary>
+                </state>
+              </object>
+            </value>
+        </item>
+        <item>
+            <key> <string>_body</string> </key>
+            <value> <string># Example code:\n
+\n
+# Import a standard function, and get the HTML request and response objects.\n
+from Products.PythonScripts.standard import html_quote\n
+request = container.REQUEST\n
+RESPONSE =  request.RESPONSE\n
+\n
+# Return a string identifying this script.\n
+print "This is the", script.meta_type, \'"%s"\' % script.getId(),\n
+if script.title:\n
+    print "(%s)" % html_quote(script.title),\n
+print "in", container.absolute_url()\n
+return printed\n
+</string> </value>
+        </item>
+        <item>
+            <key> <string>_code</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>errors</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+        <item>
+            <key> <string>func_code</string> </key>
+            <value>
+              <object>
+                <klass>
+                  <global name="FuncCode" module="Shared.DC.Scripts.Signature"/>
+                </klass>
+                <tuple/>
+                <state>
+                  <dictionary>
+                    <item>
+                        <key> <string>co_argcount</string> </key>
+                        <value> <int>0</int> </value>
+                    </item>
+                    <item>
+                        <key> <string>co_varnames</string> </key>
+                        <value>
+                          <tuple>
+                            <string>_print_</string>
+                            <string>_print</string>
+                            <string>Products.PythonScripts.standard</string>
+                            <string>html_quote</string>
+                            <string>_getattr_</string>
+                            <string>container</string>
+                            <string>request</string>
+                            <string>RESPONSE</string>
+                            <string>script</string>
+                          </tuple>
+                        </value>
+                    </item>
+                  </dictionary>
+                </state>
+              </object>
+            </value>
+        </item>
+        <item>
+            <key> <string>func_defaults</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>AccountModule_getInventoryJapaneseSaleExpenseList</string> </value>
+        </item>
+        <item>
+            <key> <string>warnings</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_accounting_l10n_jp/SkinTemplateItem/portal_skins/erp5_accounting_l10n_jp/AccountModule_getInventoryJapaneseSaleIncomeList.xml b/bt5/erp5_accounting_l10n_jp/SkinTemplateItem/portal_skins/erp5_accounting_l10n_jp/AccountModule_getInventoryJapaneseSaleIncomeList.xml
new file mode 100644
index 0000000000..99f57fd4a8
--- /dev/null
+++ b/bt5/erp5_accounting_l10n_jp/SkinTemplateItem/portal_skins/erp5_accounting_l10n_jp/AccountModule_getInventoryJapaneseSaleIncomeList.xml
@@ -0,0 +1,137 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>Script_magic</string> </key>
+            <value> <int>3</int> </value>
+        </item>
+        <item>
+            <key> <string>_bind_names</string> </key>
+            <value>
+              <object>
+                <klass>
+                  <global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/>
+                </klass>
+                <tuple/>
+                <state>
+                  <dictionary>
+                    <item>
+                        <key> <string>_asgns</string> </key>
+                        <value>
+                          <dictionary>
+                            <item>
+                                <key> <string>name_container</string> </key>
+                                <value> <string>container</string> </value>
+                            </item>
+                            <item>
+                                <key> <string>name_context</string> </key>
+                                <value> <string>context</string> </value>
+                            </item>
+                            <item>
+                                <key> <string>name_m_self</string> </key>
+                                <value> <string>script</string> </value>
+                            </item>
+                            <item>
+                                <key> <string>name_subpath</string> </key>
+                                <value> <string>traverse_subpath</string> </value>
+                            </item>
+                          </dictionary>
+                        </value>
+                    </item>
+                  </dictionary>
+                </state>
+              </object>
+            </value>
+        </item>
+        <item>
+            <key> <string>_body</string> </key>
+            <value> <string># Example code:\n
+\n
+# Import a standard function, and get the HTML request and response objects.\n
+from Products.PythonScripts.standard import html_quote\n
+request = container.REQUEST\n
+RESPONSE =  request.RESPONSE\n
+\n
+# Return a string identifying this script.\n
+print "This is the", script.meta_type, \'"%s"\' % script.getId(),\n
+if script.title:\n
+    print "(%s)" % html_quote(script.title),\n
+print "in", container.absolute_url()\n
+return printed\n
+</string> </value>
+        </item>
+        <item>
+            <key> <string>_code</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>errors</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+        <item>
+            <key> <string>func_code</string> </key>
+            <value>
+              <object>
+                <klass>
+                  <global name="FuncCode" module="Shared.DC.Scripts.Signature"/>
+                </klass>
+                <tuple/>
+                <state>
+                  <dictionary>
+                    <item>
+                        <key> <string>co_argcount</string> </key>
+                        <value> <int>0</int> </value>
+                    </item>
+                    <item>
+                        <key> <string>co_varnames</string> </key>
+                        <value>
+                          <tuple>
+                            <string>_print_</string>
+                            <string>_print</string>
+                            <string>Products.PythonScripts.standard</string>
+                            <string>html_quote</string>
+                            <string>_getattr_</string>
+                            <string>container</string>
+                            <string>request</string>
+                            <string>RESPONSE</string>
+                            <string>script</string>
+                          </tuple>
+                        </value>
+                    </item>
+                  </dictionary>
+                </state>
+              </object>
+            </value>
+        </item>
+        <item>
+            <key> <string>func_defaults</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>AccountModule_getInventoryJapaneseSaleIncomeList</string> </value>
+        </item>
+        <item>
+            <key> <string>warnings</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_accounting_l10n_jp/SkinTemplateItem/portal_skins/erp5_accounting_l10n_jp/AccountModule_getInventoryJapaneseSpecialExpenseList.xml b/bt5/erp5_accounting_l10n_jp/SkinTemplateItem/portal_skins/erp5_accounting_l10n_jp/AccountModule_getInventoryJapaneseSpecialExpenseList.xml
new file mode 100644
index 0000000000..ec0c87fa4d
--- /dev/null
+++ b/bt5/erp5_accounting_l10n_jp/SkinTemplateItem/portal_skins/erp5_accounting_l10n_jp/AccountModule_getInventoryJapaneseSpecialExpenseList.xml
@@ -0,0 +1,137 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>Script_magic</string> </key>
+            <value> <int>3</int> </value>
+        </item>
+        <item>
+            <key> <string>_bind_names</string> </key>
+            <value>
+              <object>
+                <klass>
+                  <global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/>
+                </klass>
+                <tuple/>
+                <state>
+                  <dictionary>
+                    <item>
+                        <key> <string>_asgns</string> </key>
+                        <value>
+                          <dictionary>
+                            <item>
+                                <key> <string>name_container</string> </key>
+                                <value> <string>container</string> </value>
+                            </item>
+                            <item>
+                                <key> <string>name_context</string> </key>
+                                <value> <string>context</string> </value>
+                            </item>
+                            <item>
+                                <key> <string>name_m_self</string> </key>
+                                <value> <string>script</string> </value>
+                            </item>
+                            <item>
+                                <key> <string>name_subpath</string> </key>
+                                <value> <string>traverse_subpath</string> </value>
+                            </item>
+                          </dictionary>
+                        </value>
+                    </item>
+                  </dictionary>
+                </state>
+              </object>
+            </value>
+        </item>
+        <item>
+            <key> <string>_body</string> </key>
+            <value> <string># Example code:\n
+\n
+# Import a standard function, and get the HTML request and response objects.\n
+from Products.PythonScripts.standard import html_quote\n
+request = container.REQUEST\n
+RESPONSE =  request.RESPONSE\n
+\n
+# Return a string identifying this script.\n
+print "This is the", script.meta_type, \'"%s"\' % script.getId(),\n
+if script.title:\n
+    print "(%s)" % html_quote(script.title),\n
+print "in", container.absolute_url()\n
+return printed\n
+</string> </value>
+        </item>
+        <item>
+            <key> <string>_code</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>errors</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+        <item>
+            <key> <string>func_code</string> </key>
+            <value>
+              <object>
+                <klass>
+                  <global name="FuncCode" module="Shared.DC.Scripts.Signature"/>
+                </klass>
+                <tuple/>
+                <state>
+                  <dictionary>
+                    <item>
+                        <key> <string>co_argcount</string> </key>
+                        <value> <int>0</int> </value>
+                    </item>
+                    <item>
+                        <key> <string>co_varnames</string> </key>
+                        <value>
+                          <tuple>
+                            <string>_print_</string>
+                            <string>_print</string>
+                            <string>Products.PythonScripts.standard</string>
+                            <string>html_quote</string>
+                            <string>_getattr_</string>
+                            <string>container</string>
+                            <string>request</string>
+                            <string>RESPONSE</string>
+                            <string>script</string>
+                          </tuple>
+                        </value>
+                    </item>
+                  </dictionary>
+                </state>
+              </object>
+            </value>
+        </item>
+        <item>
+            <key> <string>func_defaults</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>AccountModule_getInventoryJapaneseSpecialExpenseList</string> </value>
+        </item>
+        <item>
+            <key> <string>warnings</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_accounting_l10n_jp/SkinTemplateItem/portal_skins/erp5_accounting_l10n_jp/AccountModule_getInventoryJapaneseSpecialIncomeList.xml b/bt5/erp5_accounting_l10n_jp/SkinTemplateItem/portal_skins/erp5_accounting_l10n_jp/AccountModule_getInventoryJapaneseSpecialIncomeList.xml
new file mode 100644
index 0000000000..81e3e93df9
--- /dev/null
+++ b/bt5/erp5_accounting_l10n_jp/SkinTemplateItem/portal_skins/erp5_accounting_l10n_jp/AccountModule_getInventoryJapaneseSpecialIncomeList.xml
@@ -0,0 +1,137 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>Script_magic</string> </key>
+            <value> <int>3</int> </value>
+        </item>
+        <item>
+            <key> <string>_bind_names</string> </key>
+            <value>
+              <object>
+                <klass>
+                  <global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/>
+                </klass>
+                <tuple/>
+                <state>
+                  <dictionary>
+                    <item>
+                        <key> <string>_asgns</string> </key>
+                        <value>
+                          <dictionary>
+                            <item>
+                                <key> <string>name_container</string> </key>
+                                <value> <string>container</string> </value>
+                            </item>
+                            <item>
+                                <key> <string>name_context</string> </key>
+                                <value> <string>context</string> </value>
+                            </item>
+                            <item>
+                                <key> <string>name_m_self</string> </key>
+                                <value> <string>script</string> </value>
+                            </item>
+                            <item>
+                                <key> <string>name_subpath</string> </key>
+                                <value> <string>traverse_subpath</string> </value>
+                            </item>
+                          </dictionary>
+                        </value>
+                    </item>
+                  </dictionary>
+                </state>
+              </object>
+            </value>
+        </item>
+        <item>
+            <key> <string>_body</string> </key>
+            <value> <string># Example code:\n
+\n
+# Import a standard function, and get the HTML request and response objects.\n
+from Products.PythonScripts.standard import html_quote\n
+request = container.REQUEST\n
+RESPONSE =  request.RESPONSE\n
+\n
+# Return a string identifying this script.\n
+print "This is the", script.meta_type, \'"%s"\' % script.getId(),\n
+if script.title:\n
+    print "(%s)" % html_quote(script.title),\n
+print "in", container.absolute_url()\n
+return printed\n
+</string> </value>
+        </item>
+        <item>
+            <key> <string>_code</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>errors</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+        <item>
+            <key> <string>func_code</string> </key>
+            <value>
+              <object>
+                <klass>
+                  <global name="FuncCode" module="Shared.DC.Scripts.Signature"/>
+                </klass>
+                <tuple/>
+                <state>
+                  <dictionary>
+                    <item>
+                        <key> <string>co_argcount</string> </key>
+                        <value> <int>0</int> </value>
+                    </item>
+                    <item>
+                        <key> <string>co_varnames</string> </key>
+                        <value>
+                          <tuple>
+                            <string>_print_</string>
+                            <string>_print</string>
+                            <string>Products.PythonScripts.standard</string>
+                            <string>html_quote</string>
+                            <string>_getattr_</string>
+                            <string>container</string>
+                            <string>request</string>
+                            <string>RESPONSE</string>
+                            <string>script</string>
+                          </tuple>
+                        </value>
+                    </item>
+                  </dictionary>
+                </state>
+              </object>
+            </value>
+        </item>
+        <item>
+            <key> <string>func_defaults</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>AccountModule_getInventoryJapaneseSpecialIncomeList</string> </value>
+        </item>
+        <item>
+            <key> <string>warnings</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_accounting_l10n_jp/SkinTemplateItem/portal_skins/erp5_accounting_l10n_jp/AccountModule_getInventoryJapaneseTaxList.xml b/bt5/erp5_accounting_l10n_jp/SkinTemplateItem/portal_skins/erp5_accounting_l10n_jp/AccountModule_getInventoryJapaneseTaxList.xml
new file mode 100644
index 0000000000..7da50f76d1
--- /dev/null
+++ b/bt5/erp5_accounting_l10n_jp/SkinTemplateItem/portal_skins/erp5_accounting_l10n_jp/AccountModule_getInventoryJapaneseTaxList.xml
@@ -0,0 +1,137 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>Script_magic</string> </key>
+            <value> <int>3</int> </value>
+        </item>
+        <item>
+            <key> <string>_bind_names</string> </key>
+            <value>
+              <object>
+                <klass>
+                  <global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/>
+                </klass>
+                <tuple/>
+                <state>
+                  <dictionary>
+                    <item>
+                        <key> <string>_asgns</string> </key>
+                        <value>
+                          <dictionary>
+                            <item>
+                                <key> <string>name_container</string> </key>
+                                <value> <string>container</string> </value>
+                            </item>
+                            <item>
+                                <key> <string>name_context</string> </key>
+                                <value> <string>context</string> </value>
+                            </item>
+                            <item>
+                                <key> <string>name_m_self</string> </key>
+                                <value> <string>script</string> </value>
+                            </item>
+                            <item>
+                                <key> <string>name_subpath</string> </key>
+                                <value> <string>traverse_subpath</string> </value>
+                            </item>
+                          </dictionary>
+                        </value>
+                    </item>
+                  </dictionary>
+                </state>
+              </object>
+            </value>
+        </item>
+        <item>
+            <key> <string>_body</string> </key>
+            <value> <string># Example code:\n
+\n
+# Import a standard function, and get the HTML request and response objects.\n
+from Products.PythonScripts.standard import html_quote\n
+request = container.REQUEST\n
+RESPONSE =  request.RESPONSE\n
+\n
+# Return a string identifying this script.\n
+print "This is the", script.meta_type, \'"%s"\' % script.getId(),\n
+if script.title:\n
+    print "(%s)" % html_quote(script.title),\n
+print "in", container.absolute_url()\n
+return printed\n
+</string> </value>
+        </item>
+        <item>
+            <key> <string>_code</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>errors</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+        <item>
+            <key> <string>func_code</string> </key>
+            <value>
+              <object>
+                <klass>
+                  <global name="FuncCode" module="Shared.DC.Scripts.Signature"/>
+                </klass>
+                <tuple/>
+                <state>
+                  <dictionary>
+                    <item>
+                        <key> <string>co_argcount</string> </key>
+                        <value> <int>0</int> </value>
+                    </item>
+                    <item>
+                        <key> <string>co_varnames</string> </key>
+                        <value>
+                          <tuple>
+                            <string>_print_</string>
+                            <string>_print</string>
+                            <string>Products.PythonScripts.standard</string>
+                            <string>html_quote</string>
+                            <string>_getattr_</string>
+                            <string>container</string>
+                            <string>request</string>
+                            <string>RESPONSE</string>
+                            <string>script</string>
+                          </tuple>
+                        </value>
+                    </item>
+                  </dictionary>
+                </state>
+              </object>
+            </value>
+        </item>
+        <item>
+            <key> <string>func_defaults</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>AccountModule_getInventoryJapaneseTaxList</string> </value>
+        </item>
+        <item>
+            <key> <string>warnings</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_accounting_l10n_jp/SkinTemplateItem/portal_skins/erp5_accounting_l10n_jp/AccountModule_getJapaneseGapAssetCategoryList.xml b/bt5/erp5_accounting_l10n_jp/SkinTemplateItem/portal_skins/erp5_accounting_l10n_jp/AccountModule_getJapaneseGapAssetCategoryList.xml
new file mode 100644
index 0000000000..7367cf390a
--- /dev/null
+++ b/bt5/erp5_accounting_l10n_jp/SkinTemplateItem/portal_skins/erp5_accounting_l10n_jp/AccountModule_getJapaneseGapAssetCategoryList.xml
@@ -0,0 +1,142 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>Script_magic</string> </key>
+            <value> <int>3</int> </value>
+        </item>
+        <item>
+            <key> <string>_bind_names</string> </key>
+            <value>
+              <object>
+                <klass>
+                  <global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/>
+                </klass>
+                <tuple/>
+                <state>
+                  <dictionary>
+                    <item>
+                        <key> <string>_asgns</string> </key>
+                        <value>
+                          <dictionary>
+                            <item>
+                                <key> <string>name_container</string> </key>
+                                <value> <string>container</string> </value>
+                            </item>
+                            <item>
+                                <key> <string>name_context</string> </key>
+                                <value> <string>context</string> </value>
+                            </item>
+                            <item>
+                                <key> <string>name_m_self</string> </key>
+                                <value> <string>script</string> </value>
+                            </item>
+                            <item>
+                                <key> <string>name_subpath</string> </key>
+                                <value> <string>traverse_subpath</string> </value>
+                            </item>
+                          </dictionary>
+                        </value>
+                    </item>
+                  </dictionary>
+                </state>
+              </object>
+            </value>
+        </item>
+        <item>
+            <key> <string>_body</string> </key>
+            <value> <string>root = context.portal_categories.gap.jp.afbe2\n
+\n
+return [\n
+  (depth,\n
+   root.restrictedTraverse(path))\n
+  for depth, path in (\n
+    (2, \'5\'),\n
+    (2, \'4/41\'),\n
+    (2, \'4/44/441/4412\'),\n
+    (1, \'4/44/443/4432\'),\n
+    (1, \'4/46/462\'),\n
+    (1, \'4/49\'),\n
+    (3, \'2\'),\n
+    (2, \'3\'),\n
+  )]\n
+</string> </value>
+        </item>
+        <item>
+            <key> <string>_code</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>_params</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>errors</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+        <item>
+            <key> <string>func_code</string> </key>
+            <value>
+              <object>
+                <klass>
+                  <global name="FuncCode" module="Shared.DC.Scripts.Signature"/>
+                </klass>
+                <tuple/>
+                <state>
+                  <dictionary>
+                    <item>
+                        <key> <string>co_argcount</string> </key>
+                        <value> <int>0</int> </value>
+                    </item>
+                    <item>
+                        <key> <string>co_varnames</string> </key>
+                        <value>
+                          <tuple>
+                            <string>_getattr_</string>
+                            <string>context</string>
+                            <string>root</string>
+                            <string>append</string>
+                            <string>$append0</string>
+                            <string>_getiter_</string>
+                            <string>depth</string>
+                            <string>path</string>
+                          </tuple>
+                        </value>
+                    </item>
+                  </dictionary>
+                </state>
+              </object>
+            </value>
+        </item>
+        <item>
+            <key> <string>func_defaults</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>AccountModule_getJapaneseGapAssetCategoryList</string> </value>
+        </item>
+        <item>
+            <key> <string>warnings</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_accounting_l10n_jp/SkinTemplateItem/portal_skins/erp5_accounting_l10n_jp/AccountModule_getJapaneseGapCapitalCategoryList.xml b/bt5/erp5_accounting_l10n_jp/SkinTemplateItem/portal_skins/erp5_accounting_l10n_jp/AccountModule_getJapaneseGapCapitalCategoryList.xml
new file mode 100644
index 0000000000..332edc711f
--- /dev/null
+++ b/bt5/erp5_accounting_l10n_jp/SkinTemplateItem/portal_skins/erp5_accounting_l10n_jp/AccountModule_getJapaneseGapCapitalCategoryList.xml
@@ -0,0 +1,115 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>Script_magic</string> </key>
+            <value> <int>3</int> </value>
+        </item>
+        <item>
+            <key> <string>_bind_names</string> </key>
+            <value>
+              <object>
+                <klass>
+                  <global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/>
+                </klass>
+                <tuple/>
+                <state>
+                  <dictionary>
+                    <item>
+                        <key> <string>_asgns</string> </key>
+                        <value>
+                          <dictionary>
+                            <item>
+                                <key> <string>name_container</string> </key>
+                                <value> <string>container</string> </value>
+                            </item>
+                            <item>
+                                <key> <string>name_context</string> </key>
+                                <value> <string>context</string> </value>
+                            </item>
+                            <item>
+                                <key> <string>name_m_self</string> </key>
+                                <value> <string>script</string> </value>
+                            </item>
+                            <item>
+                                <key> <string>name_subpath</string> </key>
+                                <value> <string>traverse_subpath</string> </value>
+                            </item>
+                          </dictionary>
+                        </value>
+                    </item>
+                  </dictionary>
+                </state>
+              </object>
+            </value>
+        </item>
+        <item>
+            <key> <string>_body</string> </key>
+            <value> <string>return []\n
+</string> </value>
+        </item>
+        <item>
+            <key> <string>_code</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>errors</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+        <item>
+            <key> <string>func_code</string> </key>
+            <value>
+              <object>
+                <klass>
+                  <global name="FuncCode" module="Shared.DC.Scripts.Signature"/>
+                </klass>
+                <tuple/>
+                <state>
+                  <dictionary>
+                    <item>
+                        <key> <string>co_argcount</string> </key>
+                        <value> <int>0</int> </value>
+                    </item>
+                    <item>
+                        <key> <string>co_varnames</string> </key>
+                        <value>
+                          <tuple/>
+                        </value>
+                    </item>
+                  </dictionary>
+                </state>
+              </object>
+            </value>
+        </item>
+        <item>
+            <key> <string>func_defaults</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>AccountModule_getJapaneseGapCapitalCategoryList</string> </value>
+        </item>
+        <item>
+            <key> <string>warnings</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_accounting_l10n_jp/SkinTemplateItem/portal_skins/erp5_accounting_l10n_jp/AccountModule_getJapaneseGapDebtCategoryList.xml b/bt5/erp5_accounting_l10n_jp/SkinTemplateItem/portal_skins/erp5_accounting_l10n_jp/AccountModule_getJapaneseGapDebtCategoryList.xml
new file mode 100644
index 0000000000..47b0b0b354
--- /dev/null
+++ b/bt5/erp5_accounting_l10n_jp/SkinTemplateItem/portal_skins/erp5_accounting_l10n_jp/AccountModule_getJapaneseGapDebtCategoryList.xml
@@ -0,0 +1,115 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>Script_magic</string> </key>
+            <value> <int>3</int> </value>
+        </item>
+        <item>
+            <key> <string>_bind_names</string> </key>
+            <value>
+              <object>
+                <klass>
+                  <global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/>
+                </klass>
+                <tuple/>
+                <state>
+                  <dictionary>
+                    <item>
+                        <key> <string>_asgns</string> </key>
+                        <value>
+                          <dictionary>
+                            <item>
+                                <key> <string>name_container</string> </key>
+                                <value> <string>container</string> </value>
+                            </item>
+                            <item>
+                                <key> <string>name_context</string> </key>
+                                <value> <string>context</string> </value>
+                            </item>
+                            <item>
+                                <key> <string>name_m_self</string> </key>
+                                <value> <string>script</string> </value>
+                            </item>
+                            <item>
+                                <key> <string>name_subpath</string> </key>
+                                <value> <string>traverse_subpath</string> </value>
+                            </item>
+                          </dictionary>
+                        </value>
+                    </item>
+                  </dictionary>
+                </state>
+              </object>
+            </value>
+        </item>
+        <item>
+            <key> <string>_body</string> </key>
+            <value> <string>return []\n
+</string> </value>
+        </item>
+        <item>
+            <key> <string>_code</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>errors</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+        <item>
+            <key> <string>func_code</string> </key>
+            <value>
+              <object>
+                <klass>
+                  <global name="FuncCode" module="Shared.DC.Scripts.Signature"/>
+                </klass>
+                <tuple/>
+                <state>
+                  <dictionary>
+                    <item>
+                        <key> <string>co_argcount</string> </key>
+                        <value> <int>0</int> </value>
+                    </item>
+                    <item>
+                        <key> <string>co_varnames</string> </key>
+                        <value>
+                          <tuple/>
+                        </value>
+                    </item>
+                  </dictionary>
+                </state>
+              </object>
+            </value>
+        </item>
+        <item>
+            <key> <string>func_defaults</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>AccountModule_getJapaneseGapDebtCategoryList</string> </value>
+        </item>
+        <item>
+            <key> <string>warnings</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_accounting_l10n_jp/SkinTemplateItem/portal_skins/erp5_accounting_l10n_jp/AccountModule_viewJapaneseBalanceSheetReport.xml b/bt5/erp5_accounting_l10n_jp/SkinTemplateItem/portal_skins/erp5_accounting_l10n_jp/AccountModule_viewJapaneseBalanceSheetReport.xml
new file mode 100644
index 0000000000..6098303884
--- /dev/null
+++ b/bt5/erp5_accounting_l10n_jp/SkinTemplateItem/portal_skins/erp5_accounting_l10n_jp/AccountModule_viewJapaneseBalanceSheetReport.xml
@@ -0,0 +1,670 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="OOoTemplate" module="Products.ERP5OOo.OOoTemplate"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>OLE_documents_zipstring</string> </key>
+            <value> <string encoding="base64">UEsDBBQAAAAIAEyHuTbMBk1mQgEAAFEHAAAVAAAATUVUQS1JTkYvbWFuaWZlc3QueG1stZVLasMw
+EED3PYXR3lbbVTFxAi30BOkBJvLYEeiHZhSS21cO5NM2lKZYOw1I741GGmmx2ltT7TCS9q4TT82j
+qNAp32s3duJj/V6/iNXyYWHB6QGJ29OgyuscncNOpOhaD6SpdWCRWlatD+h6r5JFx+3X+e1kWj5U
+F/CgDdZ5YjxUFxn2Gmo+BOwEhGC0As55yp3rm6OruVY0FCJCT1tEFhfIkIypA/C2E1LIu5y3KW/e
+DXpM8ZgLPUti4EQbiGXwoBQazKGPUqUYp53mYhZ3FREMxgNjIXjwIYV8E1IhfPRjRCp30lPqxeDs
+vSkG1xZGJPmq2UKgoo472d+fDUpu6p4m6UZdC/6Ww51yxj3LqVdvwrOf/9fMv3OJDwZpdqxFhtke
+nvU22Y0DbUjyadgEN84Nn7ewyJz/xXNpF/LHt7j8BFBLAQIUABQAAAAIAEyHuTbMBk1mQgEAAFEH
+AAAVAAAAAAAAAAAAAAAAAAAAAABNRVRBLUlORi9tYW5pZmVzdC54bWxQSwUGAAAAAAEAAQBDAAAA
+dQEAAAAA</string> </value>
+        </item>
+        <item>
+            <key> <string>_bind_names</string> </key>
+            <value>
+              <object>
+                <klass>
+                  <global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/>
+                </klass>
+                <tuple/>
+                <state>
+                  <dictionary>
+                    <item>
+                        <key> <string>_asgns</string> </key>
+                        <value>
+                          <dictionary>
+                            <item>
+                                <key> <string>name_subpath</string> </key>
+                                <value> <string>traverse_subpath</string> </value>
+                            </item>
+                          </dictionary>
+                        </value>
+                    </item>
+                  </dictionary>
+                </state>
+              </object>
+            </value>
+        </item>
+        <item>
+            <key> <string>_text</string> </key>
+            <value> <string encoding="cdata"><![CDATA[
+
+<office:document-content\n
+  xmlns:draw=\'urn:oasis:names:tc:opendocument:xmlns:drawing:1.0\'\n
+  xmlns:office=\'urn:oasis:names:tc:opendocument:xmlns:office:1.0\'\n
+  xmlns:text=\'urn:oasis:names:tc:opendocument:xmlns:text:1.0\'\n
+  xmlns:ooo=\'http://openoffice.org/2004/office\'\n
+  xmlns:number=\'urn:oasis:names:tc:opendocument:xmlns:datastyle:1.0\'\n
+  xmlns:dc=\'http://purl.org/dc/elements/1.1/\'\n
+  xmlns:meta=\'urn:oasis:names:tc:opendocument:xmlns:meta:1.0\'\n
+  xmlns:table=\'urn:oasis:names:tc:opendocument:xmlns:table:1.0\'\n
+  xmlns:dr3d=\'urn:oasis:names:tc:opendocument:xmlns:dr3d:1.0\'\n
+  xmlns:fo=\'urn:oasis:names:tc:opendocument:xmlns:xsl-fo-compatible:1.0\'\n
+  xmlns:style=\'urn:oasis:names:tc:opendocument:xmlns:style:1.0\'\n
+  xmlns:xforms=\'http://www.w3.org/2002/xforms\'\n
+  xmlns:form=\'urn:oasis:names:tc:opendocument:xmlns:form:1.0\'\n
+  xmlns:script=\'urn:oasis:names:tc:opendocument:xmlns:script:1.0\'\n
+  xmlns:ooow=\'http://openoffice.org/2004/writer\'\n
+  xmlns:svg=\'urn:oasis:names:tc:opendocument:xmlns:svg-compatible:1.0\'\n
+  xmlns:chart=\'urn:oasis:names:tc:opendocument:xmlns:chart:1.0\'\n
+  xmlns:dom=\'http://www.w3.org/2001/xml-events\'\n
+  xmlns:xlink=\'http://www.w3.org/1999/xlink\'\n
+  xmlns:xsd=\'http://www.w3.org/2001/XMLSchema\'\n
+  xmlns:xsi=\'http://www.w3.org/2001/XMLSchema-instance\'\n
+  xmlns:oooc=\'http://openoffice.org/2004/calc\'\n
+  xmlns:math=\'http://www.w3.org/1998/Math/MathML\'\n
+  xmlns:tal=\'http://xml.zope.org/namespaces/tal\'\n
+  xmlns:i18n=\'http://xml.zope.org/namespaces/i18n\'\n
+  xmlns:metal=\'http://xml.zope.org/namespaces/metal\'\n
+  tal:attributes=\'dummy python:request.RESPONSE.setHeader("Content-Type", "text/html;; charset=utf-8")\'\n
+  tal:define=\'at_date request/at_date/latestTime;\n
+              at_date_previous_period python:modules["DateTime"].DateTime(at_date.year() - 1, at_date.month(), at_date.day()).latestTime();\n
+              date_formatter nocall:here/Base_viewFieldLibrary/my_date/render_pdf;\n
+              from_date python:context.Base_getAccountingPeriodStartDateForSectionCategory(section_category=request["section_category"], date=at_date);\n
+              from_date_previous_period python:context.Base_getAccountingPeriodStartDateForSectionCategory(section_category=request["section_category"], date=at_date_previous_period);\n
+              portal_type here/getPortalAccountingMovementTypeList;\n
+              section_uid python: context.Base_getSectionUidListForSectionCategory(request["section_category"], request["section_category_strict"]);\n
+              getInventory python: lambda **kw: context.portal_simulation.getInventoryAssetPrice(section_uid=section_uid, simulation_state=request["simulation_state"], function=request.get("function") or None, project=request.get("project") or None, at_date=at_date, portal_type=portal_type, **kw);\n
+              getInventoryPreviousPeriod python: lambda **kw:context.portal_simulation.getInventoryAssetPrice(section_uid=section_uid, simulation_state=request["simulation_state"], function=request.get("function") or None, project=request.get("project") or None, at_date=at_date_previous_period, portal_type=portal_type, **kw);\'\n
+  office:version=\'1.0\'>\n
+  <office:scripts/>\n
+  <office:font-face-decls>\n
+    <style:font-face svg:font-family=\'Arial\' style:font-family-generic=\'swiss\' style:name=\'Arial\' style:font-pitch=\'variable\'/>\n
+    <style:font-face svg:font-family="\'DejaVu Sans\'" style:font-family-generic=\'system\' style:name=\'DejaVu Sans\' style:font-pitch=\'variable\'/>\n
+    <style:font-face svg:font-family=\'Lucidasans\' style:font-family-generic=\'system\' style:name=\'Lucidasans\' style:font-pitch=\'variable\'/>\n
+  </office:font-face-decls>\n
+  <office:automatic-styles> <!-- {{{ -->\n
+    <style:style style:family=\'table-column\' style:name=\'co1\'>\n
+      <style:table-column-properties fo:break-before=\'auto\' style:column-width=\'6.21cm\'/>\n
+    </style:style>\n
+    <style:style style:family=\'table-column\' style:name=\'co2\'>\n
+      <style:table-column-properties fo:break-before=\'auto\' style:column-width=\'3.10cm\'/>\n
+    </style:style>\n
+    <style:style style:family=\'table-row\' style:name=\'ro2\'>\n
+      <style:table-row-properties fo:break-before=\'auto\' style:use-optimal-row-height=\'false\' style:row-height=\'0.644cm\'/>\n
+    </style:style>\n
+    <style:style style:family=\'table-row\' style:name=\'ro3\'>\n
+      <style:table-row-properties fo:break-before=\'auto\' style:use-optimal-row-height=\'false\' style:row-height=\'0.951cm\'/>\n
+    </style:style>\n
+    <style:style style:family=\'table-row\' style:name=\'ro4\'>\n
+      <style:table-row-properties fo:break-before=\'auto\' style:use-optimal-row-height=\'true\' style:row-height=\'0.503cm\'/>\n
+    </style:style>\n
+    <style:style style:family=\'table-row\' style:name=\'ro7\'>\n
+      <style:table-row-properties fo:break-before=\'auto\' style:use-optimal-row-height=\'true\' style:row-height=\'0.496cm\'/>\n
+    </style:style>\n
+    <style:style style:family=\'table-row\' style:name=\'ro9\'>\n
+      <style:table-row-properties fo:break-before=\'auto\' style:use-optimal-row-height=\'false\' style:row-height=\'0.279cm\'/>\n
+    </style:style>\n
+    <style:style style:family=\'table-row\' style:name=\'page-break\'>\n
+      <style:table-row-properties fo:break-before=\'page\' style:use-optimal-row-height=\'false\' style:row-height=\'0.279cm\'/>\n
+    </style:style>\n
+    <style:style style:family=\'table\' style:name=\'ta1\' style:master-page-name=\'Default\'>\n
+      <style:table-properties style:writing-mode=\'lr-tb\' table:display=\'true\'/>\n
+    </style:style>\n
+    <style:style style:parent-style-name=\'Default\' style:family=\'table-cell\' style:name=\'ce1\'>\n
+      <style:table-cell-properties style:vertical-align=\'middle\' style:repeat-content=\'false\' style:text-align-source=\'fix\' fo:border=\'none\'/>\n
+      <style:paragraph-properties fo:text-align=\'center\'/>\n
+    </style:style>\n
+    <style:style style:parent-style-name=\'Default\' style:family=\'table-cell\' style:name=\'empty-cell\'>\n
+      <style:table-cell-properties fo:border-left=\'none\' fo:border-bottom=\'none\' fo:border-right=\'none\' fo:border-top=\'none\'/>\n
+    </style:style>\n
+    <style:style style:parent-style-name=\'Default\' style:family=\'table-cell\' style:name=\'bottom_border\'>\n
+      <style:table-cell-properties fo:border-left=\'0.002cm solid #000000\' fo:border-bottom=\'0.002cm solid #000000\' fo:border-right=\'0.002cm solid #000000\' fo:border-top=\'none\'/>\n
+    </style:style>\n
+    <style:style style:parent-style-name=\'Default\' style:family=\'table-cell\' style:name=\'ce7\'>\n
+      <style:table-cell-properties style:vertical-align=\'middle\' style:repeat-content=\'false\' style:text-align-source=\'fix\' fo:border=\'none\'/>\n
+      <style:paragraph-properties fo:text-align=\'center\' fo:margin-left=\'0cm\'/>\n
+      <style:text-properties fo:font-size=\'20pt\'/>\n
+    </style:style>\n
+    <style:style style:parent-style-name=\'Default\' style:family=\'table-cell\' style:name=\'ce8\'>\n
+      <style:table-cell-properties style:vertical-align=\'middle\' style:repeat-content=\'false\' style:text-align-source=\'fix\' fo:border=\'none\'/>\n
+      <style:paragraph-properties fo:text-align=\'center\' fo:margin-left=\'0cm\'/>\n
+    </style:style>\n
+    <style:style style:parent-style-name=\'Default\' style:family=\'table-cell\' style:name=\'ce9\'>\n
+      <style:table-cell-properties style:vertical-align=\'middle\' style:repeat-content=\'false\' style:text-align-source=\'fix\' fo:border=\'0.002cm solid #000000\'/>\n
+      <style:paragraph-properties fo:text-align=\'center\'/>\n
+    </style:style>\n
+    <style:style style:family=\'text\' style:name=\'T1\'>\n
+      <style:text-properties fo:font-size=\'12pt\'/>\n
+    </style:style>\n
+  </office:automatic-styles> <!-- }}} -->\n
+  <office:body>\n
+\n
+    <office:spreadsheet>\n
+      <table:table table:style-name=\'ta1\' table:print=\'false\' table:name=\'Asset\' i18n:domain=\'ui\' i18n:attributes=\'table:name\'>\n
+        <office:forms form:apply-design-mode=\'false\' form:automatic-focus=\'false\'/>\n
+        <table:table-column table:style-name=\'co1\' table:default-cell-style-name=\'report-title\'/>\n
+        <table:table-column table:style-name=\'co2\' table:default-cell-style-name=\'ce7\'/>\n
+        <table:table-column table:style-name=\'co2\' table:default-cell-style-name=\'ce1\'/>\n
+        <table:table-column table:style-name=\'co2\' table:default-cell-style-name=\'report-column-title\'/>\n
+        <table:table-column table:style-name=\'co2\' table:default-cell-style-name=\'report-column-title\'/>\n
+\n
+        <!-- Asset -->\n
+        <tal:block  tal:define="global total_net python: 0;\n
+                                global total_net_prev_period python: 0;\n
+                                ">\n
+          <!-- Header {{{ -->\n
+          <table:table-row table:style-name=\'ro2\'>\n
+            <table:table-cell table:number-rows-spanned=\'2\' table:number-columns-spanned=\'1\'\n
+              office:value-type=\'string\' table:style-name=\'report-title\'>\n
+              <text:p tal:content=\'python: context.portal_categories.restrictedTraverse(request["section_category"]).getTranslatedTitle()\'/>\n
+            </table:table-cell>\n
+            <table:table-cell table:number-rows-spanned=\'1\' table:number-columns-spanned=\'4\'\n
+                              office:value-type=\'string\' table:style-name=\'report-title\'>\n
+              <text:p i18n:translate="" i18n:domain="ui">Balance Sheet</text:p>\n
+            </table:table-cell>\n
+            <table:covered-table-cell table:number-columns-repeated=\'2\'/>\n
+            <table:covered-table-cell table:style-name=\'ce1\' table:number-columns-repeated=\'1\'/>\n
+          </table:table-row>\n
+\n
+          <table:table-row table:style-name=\'ro2\'>\n
+            <table:table-cell table:style-name=\'ce1\'><text:p/></table:table-cell>\n
+            <table:table-cell table:style-name=\'report-title-date\'\n
+                  table:number-rows-spanned=\'1\' table:number-columns-spanned=\'4\'>\n
+              <text:p tal:content="python: date_formatter(at_date)">Date</text:p>\n
+            </table:table-cell>\n
+            <table:covered-table-cell table:number-columns-repeated=\'2\'/>\n
+            <table:covered-table-cell table:style-name=\'ce1\' table:number-columns-repeated=\'1\'/>\n
+          </table:table-row>\n
+\n
+          <table:table-row table:style-name=\'ro2\'>\n
+            <table:table-cell table:style-name=\'ce1\'/>\n
+            <table:table-cell table:style-name=\'ce8\'/>\n
+            <table:table-cell/>\n
+            <table:table-cell table:style-name=\'ce1\' table:number-columns-repeated=\'2\'/>\n
+          </table:table-row>\n
+\n
+          <table:table-header-rows>\n
+            <table:table-row table:style-name=\'ro3\'>\n
+              <table:table-cell\n
+                  table:style-name=\'report-column-title\'\n
+                  office:value-type=\'string\'\n
+                  table:number-rows-spanned=\'1\'\n
+                  table:number-columns-spanned=\'3\'>\n
+                <text:p i18n:translate="" i18n:domain="ui">Asset</text:p>\n
+              </table:table-cell>\n
+              <table:covered-table-cell table:style-name="ce9"/>\n
+              <table:covered-table-cell table:style-name="ce9"/>\n
+              <table:table-cell table:style-name=\'report-column-title\' office:value-type=\'string\'>\n
+                <text:p i18n:translate="" i18n:domain="ui">Current Period</text:p>\n
+              </table:table-cell>\n
+              <table:table-cell office:value-type=\'string\' table:style-name=\'report-column-title\'>\n
+                <text:p i18n:translate="" i18n:domain="ui">Previous Period</text:p>\n
+              </table:table-cell>\n
+            </table:table-row>\n
+          </table:table-header-rows>\n
+          <!-- }}} -->\n
+          <tal:block tal:repeat="pair python: context.AccountModule_getJapaneseGapAssetCategoryList()">\n
+            <tal:block tal:define="depth python: pair[0] - 1;\n
+                                   cat_level_1 python: pair[1]">\n
+              <!-- LEVEL 1 {{{ -->\n
+              <table:table-row table:style-name=\'ro4\' tal:condition=\'python: depth &gt; 0 and len(cat_level_1.contentIds()) &gt; 0\'>\n
+                <table:table-cell table:style-name=\'report-content-heading1\'\n
+                                  table:number-columns-spanned=\'3\'\n
+                                  table:number-rows-spanned=\'1\'\n
+                                  office:value-type=\'string\'>\n
+                 <text:p tal:define=\'global level1_title cat_level_1/getTranslatedTitle\'\n
+                                    tal:content="level1_title">Level 1</text:p>\n
+                </table:table-cell>\n
+\n
+                <table:table-cell table:style-name=\'report-content-currency1\'>\n
+                  <text:p></text:p></table:table-cell>\n
+                <table:table-cell table:style-name=\'report-content-currency1\'>\n
+                  <text:p></text:p></table:table-cell>\n
+                <table:table-cell table:style-name=\'report-content-currency1\'>\n
+                  <text:p></text:p></table:table-cell>\n
+                <table:table-cell table:style-name=\'report-content-currency1\'>\n
+                  <text:p></text:p></table:table-cell>\n
+              </table:table-row>\n
+              <table:table-row table:style-name=\'ro4\' tal:condition=\'python: depth == 0 or len(cat_level_1.contentIds()) == 0\'>\n
+                <tal:block tal:define=\'node_category cat_level_1/getRelativeUrl;\n
+                                       net python: getInventory(node_category=node_category);\n
+                                       net_prev_period python: getInventoryPreviousPeriod(node_category=node_category);\n
+                                       \'>\n
+                  <table:table-cell table:style-name=\'report-content-heading2\'\n
+                                    office:value-type=\'string\'\n
+                                    table:number-columns-spanned=\'3\'\n
+                                    table:number-rows-spanned=\'1\'>\n
+                                    <text:p tal:content="cat_level_1/getTranslatedTitle"\n
+                                      >Level 1</text:p>\n
+                  </table:table-cell>\n
+                  <table:covered-table-cell table:number-columns-repeated=\'2\'/>\n
+                  \n
+                  <!-- net -->\n
+                  <table:table-cell\n
+                    tal:define=\'global total_net python: total_net + net;\'\n
+                    table:style-name=\'report-content-currency1\'\n
+                    tal:attributes=\'office:value net\'\n
+                    office:value=\'123456.56\'\n
+                    office:value-type=\'float\'>\n
+                    <text:p>123 456,56</text:p>\n
+                  </table:table-cell>\n
+\n
+                  <!-- previous year -->\n
+                  <table:table-cell\n
+                    tal:define=\'global total_net_prev_period python: total_net_prev_period + net_prev_period;\'\n
+                    table:style-name=\'report-content-currency1\'\n
+                    tal:attributes=\'office:value net_prev_period\'\n
+                    office:value=\'123456.56\'\n
+                    office:value-type=\'float\'>\n
+                    <text:p>123 456,56</text:p>\n
+                  </table:table-cell>\n
+                </tal:block>\n
+              </table:table-row>\n
+              <!-- }}} -->\n
+              <tal:block tal:define="depth python: depth - 1;"\n
+                         tal:repeat="cat_level_2 python: cat_level_1.contentValues(sort_on=((\'int_index\', \'ascending\'),))">\n
+                <!-- LEVEL 2 {{{ -->\n
+                <table:table-row table:style-name=\'ro4\' tal:condition=\'python: depth &gt; 0 and len(cat_level_2.contentIds()) &gt; 0\'>\n
+                  <table:table-cell table:style-name=\'report-content-heading1\'\n
+                                    table:number-columns-spanned=\'3\'\n
+                                    table:number-rows-spanned=\'1\'\n
+                                    office:value-type=\'string\'>\n
+                   <text:p tal:content="cat_level_2/getTranslatedTitle">Level 2</text:p>\n
+                  </table:table-cell>\n
+\n
+                  <table:table-cell table:style-name=\'report-content-currency1\'>\n
+                    <text:p></text:p></table:table-cell>\n
+                  <table:table-cell table:style-name=\'report-content-currency1\'>\n
+                    <text:p></text:p></table:table-cell>\n
+                  <table:table-cell table:style-name=\'report-content-currency1\'>\n
+                    <text:p></text:p></table:table-cell>\n
+                  <table:table-cell table:style-name=\'report-content-currency1\'>\n
+                    <text:p></text:p></table:table-cell>\n
+                </table:table-row>\n
+                <table:table-row table:style-name=\'ro4\' tal:condition=\'python: depth == 0 or len(cat_level_2.contentIds()) == 0\'>\n
+                  <tal:block tal:define=\'node_category cat_level_2/getRelativeUrl;\n
+                                         net python: getInventory(node_category=node_category);\n
+                                         net_prev_period python: getInventoryPreviousPeriod(node_category=node_category);\n
+                                         \'>\n
+                    <table:table-cell table:style-name=\'report-content-heading2\'\n
+                                      office:value-type=\'string\'\n
+                                      table:number-columns-spanned=\'3\'\n
+                                      table:number-rows-spanned=\'1\'>\n
+                                      <text:p tal:content="cat_level_2/getTranslatedTitle">Level 2</text:p>\n
+                    </table:table-cell>\n
+                    <table:covered-table-cell table:number-columns-repeated=\'2\'/>\n
+                    \n
+                    <!-- net -->\n
+                    <table:table-cell\n
+                      tal:define=\'global total_net python: total_net + net;\'\n
+                      table:style-name=\'report-content-currency1\'\n
+                      tal:attributes=\'office:value net\'\n
+                      office:value=\'123456.56\'\n
+                      office:value-type=\'float\'>\n
+                      <text:p>123 456,56</text:p>\n
+                    </table:table-cell>\n
+\n
+                    <!-- previous year -->\n
+                    <table:table-cell\n
+                      tal:define=\'global total_net_prev_period python: total_net_prev_period + net_prev_period;\'\n
+                      table:style-name=\'report-content-currency1\'\n
+                      tal:attributes=\'office:value net_prev_period\'\n
+                      office:value=\'123456.56\'\n
+                      office:value-type=\'float\'>\n
+                      <text:p>123 456,56</text:p>\n
+                    </table:table-cell>\n
+                  </tal:block>\n
+                </table:table-row>\n
+                <!-- }}} -->\n
+                <tal:block tal:repeat="cat_level_3 python: cat_level_2.contentValues(sort_on=((\'int_index\', \'ascending\'),))">\n
+                  <!-- LEVEL 3 {{{ -->\n
+                  <table:table-row table:style-name=\'ro4\'>\n
+                    <tal:block tal:define=\'node_category cat_level_3/getRelativeUrl;\n
+                                           net python: getInventory(node_category=node_category);\n
+                                           net_prev_period python: getInventoryPreviousPeriod(node_category=node_category);\n
+                                           \'>\n
+                      <table:table-cell table:style-name=\'report-content-heading2\'\n
+                                        office:value-type=\'string\'\n
+                                        table:number-columns-spanned=\'3\'\n
+                                        table:number-rows-spanned=\'1\'>\n
+                                        <text:p tal:content="cat_level_3/getTranslatedTitle">Level 3</text:p>\n
+                      </table:table-cell>\n
+                      <table:covered-table-cell table:number-columns-repeated=\'2\'/>\n
+                      \n
+                      <!-- net -->\n
+                      <table:table-cell\n
+                        tal:define=\'global total_net python: total_net + net;\'\n
+                        table:style-name=\'report-content-currency1\'\n
+                        tal:attributes=\'office:value net\'\n
+                        office:value=\'123456.56\'\n
+                        office:value-type=\'float\'>\n
+                        <text:p>123 456,56</text:p>\n
+                      </table:table-cell>\n
+\n
+                      <!-- previous year -->\n
+                      <table:table-cell\n
+                        tal:define=\'global total_net_prev_period python: total_net_prev_period + net_prev_period;\'\n
+                        table:style-name=\'report-content-currency1\'\n
+                        tal:attributes=\'office:value net_prev_period\'\n
+                        office:value=\'123456.56\'\n
+                        office:value-type=\'float\'>\n
+                        <text:p>123 456,56</text:p>\n
+                      </table:table-cell>\n
+                    </tal:block>\n
+                  </table:table-row>\n
+                  <!-- }}} -->\n
+                </tal:block>\n
+              </tal:block>\n
+            </tal:block>\n
+          </tal:block>\n
+\n
+        <!-- TOTAL LEVEL 1 {{{ -->\n
+        <table:table-row table:style-name=\'ro7\'>\n
+          <table:table-cell table:style-name=\'report-stat1\'\n
+                            office:value-type=\'string\'\n
+                            table:number-rows-spanned=\'1\'\n
+                            table:number-columns-spanned=\'3\'>\n
+            <text:p i18n:translate="" i18n:domain="ui">Total Asset</text:p>\n
+          </table:table-cell>\n
+          <table:covered-table-cell table:number-columns-repeated=\'2\'/>\n
+\n
+          <!-- net -->\n
+          <table:table-cell\n
+              table:style-name=\'report-stat-currency1\'\n
+              tal:attributes="office:value total_net"\n
+              office:value-type=\'float\'\n
+              office:value=\'123456.56\'>\n
+            <text:p>123 456,56</text:p>\n
+          </table:table-cell>\n
+\n
+          <!-- net previous period -->\n
+          <table:table-cell \n
+            table:style-name=\'report-stat-currency1\'\n
+            tal:attributes="office:value total_net_prev_period"\n
+            office:value-type=\'float\'\n
+            office:value=\'123456.56\'>\n
+            <text:p>123 456,56</text:p>\n
+          </table:table-cell>\n
+        </table:table-row>\n
+        <!-- }}} -->\n
+\n
+        </tal:block> \n
+      \n
+        <table:table-row table:style-name=\'page-break\'>\n
+          <table:table-cell table:style-name=\'empty-cell\'/>\n
+        </table:table-row>\n
+\n
+      </table:table>\n
+      <!-- new table -->\n
+      <table:table table:style-name=\'ta1\' table:print=\'false\' table:name=\'Equity + Liability\' i18n:domain=\'ui\' i18n:attributes=\'table:name\'>\n
+        <office:forms form:apply-design-mode=\'false\' form:automatic-focus=\'false\'/>\n
+        <table:table-column table:style-name=\'co1\' table:default-cell-style-name=\'report-title\'/>\n
+        <table:table-column table:style-name=\'co2\' table:default-cell-style-name=\'ce7\'/>\n
+        <table:table-column table:style-name=\'co2\' table:default-cell-style-name=\'ce1\'/>\n
+        <table:table-column table:style-name=\'co2\' table:default-cell-style-name=\'report-column-title\'/>\n
+        <table:table-column table:style-name=\'co2\' table:default-cell-style-name=\'report-column-title\'/>\n
+\n
+\n
+        <!-- Equity + Liabilities -->\n
+        <tal:block  tal:define="global total_net python: 0;\n
+                                global total_net_prev_period python: 0;\n
+                                ">\n
+        <!-- Header {{{ -->\n
+        <table:table-header-rows>\n
+          <table:table-row table:style-name=\'ro3\'>\n
+            <table:table-cell\n
+                table:style-name=\'report-column-title\'\n
+                office:value-type=\'string\'\n
+                table:number-rows-spanned=\'1\'\n
+                table:number-columns-spanned=\'3\'>\n
+              <text:p i18n:translate="" i18n:domain="ui">Equity + Liability</text:p>\n
+            </table:table-cell>\n
+            <table:covered-table-cell table:style-name="ce9"/>\n
+            <table:covered-table-cell table:style-name="ce9"/>\n
+            <table:table-cell table:style-name=\'report-column-title\' office:value-type=\'string\'>\n
+              <text:p i18n:translate="" i18n:domain="ui">Current Period</text:p>\n
+            </table:table-cell>\n
+            <table:table-cell table:style-name="report-column-title" office:value-type=\'string\'>\n
+              <text:p i18n:translate="" i18n:domain="ui">Prev. Period</text:p>\n
+            </table:table-cell>\n
+          </table:table-row>\n
+        </table:table-header-rows>\n
+        <!-- }}} -->\n
+          <tal:block tal:repeat="pair python: context.AccountModule_getJapaneseGapDebtCategoryList() +\n
+                                              context.AccountModule_getJapaneseGapCapitalCategoryList()">\n
+            <tal:block tal:define="depth python: pair[0] - 1;\n
+                                   cat_level_1 python: pair[1]">\n
+              <!-- LEVEL 1 {{{ -->\n
+              <table:table-row table:style-name=\'ro4\' tal:condition=\'python: depth &gt; 0 and len(cat_level_1.contentIds()) &gt; 0\'>\n
+                <table:table-cell table:style-name=\'report-content-heading1\'\n
+                                  table:number-columns-spanned=\'3\'\n
+                                  table:number-rows-spanned=\'1\'\n
+                                  office:value-type=\'string\'>\n
+                 <text:p tal:define=\'global level1_title cat_level_1/getTranslatedTitle\'\n
+                                    tal:content="level1_title">Level 1</text:p>\n
+                </table:table-cell>\n
+\n
+                <table:table-cell table:style-name=\'report-content-currency1\'>\n
+                  <text:p></text:p></table:table-cell>\n
+                <table:table-cell table:style-name=\'report-content-currency1\'>\n
+                  <text:p></text:p></table:table-cell>\n
+                <table:table-cell table:style-name=\'report-content-currency1\'>\n
+                  <text:p></text:p></table:table-cell>\n
+                <table:table-cell table:style-name=\'report-content-currency1\'>\n
+                  <text:p></text:p></table:table-cell>\n
+              </table:table-row>\n
+              <table:table-row table:style-name=\'ro4\' tal:condition=\'python: depth == 0 &gt; 0 or len(cat_level_1.contentIds()) == 0\'>\n
+                <tal:block tal:define=\'node_category cat_level_1/getRelativeUrl;\n
+                                       net python: getInventory(node_category=node_category);\n
+                                       net_prev_period python: getInventoryPreviousPeriod(node_category=node_category);\n
+                                       \'>\n
+                  <table:table-cell table:style-name=\'report-content-heading2\'\n
+                                    office:value-type=\'string\'\n
+                                    table:number-columns-spanned=\'3\'\n
+                                    table:number-rows-spanned=\'1\'>\n
+                                    <text:p tal:content="cat_level_1/getTranslatedTitle"\n
+                                      >Level 1</text:p>\n
+                  </table:table-cell>\n
+                  <table:covered-table-cell table:number-columns-repeated=\'2\'/>\n
+                  \n
+                  <!-- net -->\n
+                  <table:table-cell\n
+                    tal:define=\'global total_net python: total_net + net;\'\n
+                    table:style-name=\'report-content-currency2\'\n
+                    tal:attributes=\'office:value net\'\n
+                    office:value=\'123456.56\'\n
+                    office:value-type=\'float\'>\n
+                    <text:p>123 456,56</text:p>\n
+                  </table:table-cell>\n
+\n
+                  <!-- previous year -->\n
+                  <table:table-cell\n
+                    tal:define=\'global total_net_prev_period python: total_net_prev_period + net_prev_period;\'\n
+                    table:style-name=\'report-content-currency2\'\n
+                    tal:attributes=\'office:value net_prev_period\'\n
+                    office:value=\'123456.56\'\n
+                    office:value-type=\'float\'>\n
+                    <text:p>123 456,56</text:p>\n
+                  </table:table-cell>\n
+                </tal:block>\n
+              </table:table-row>\n
+              <!-- }}} -->\n
+              <tal:block tal:define="depth python: depth - 1;"\n
+                         tal:repeat="cat_level_2 python: cat_level_1.contentValues(sort_on=((\'int_index\', \'ascending\'),))">\n
+                <!-- LEVEL 2 {{{ -->\n
+                <table:table-row table:style-name=\'ro4\' tal:condition=\'python: depth &gt; 0 and len(cat_level_2.contentIds()) &gt; 0\'>\n
+                  <table:table-cell table:style-name=\'report-content-heading1\'\n
+                                    table:number-columns-spanned=\'3\'\n
+                                    table:number-rows-spanned=\'1\'\n
+                                    office:value-type=\'string\'>\n
+                   <text:p tal:content="cat_level_2/getTranslatedTitle">Level 2</text:p>\n
+                  </table:table-cell>\n
+\n
+                  <table:table-cell table:style-name=\'report-content-currency1\'>\n
+                    <text:p></text:p></table:table-cell>\n
+                  <table:table-cell table:style-name=\'report-content-currency1\'>\n
+                    <text:p></text:p></table:table-cell>\n
+                  <table:table-cell table:style-name=\'report-content-currency1\'>\n
+                    <text:p></text:p></table:table-cell>\n
+                  <table:table-cell table:style-name=\'report-content-currency1\'>\n
+                    <text:p></text:p></table:table-cell>\n
+                </table:table-row>\n
+                <table:table-row table:style-name=\'ro4\' tal:condition=\'python: depth == 0 or len(cat_level_2.contentIds()) == 0\'>\n
+                  <tal:block tal:define=\'node_category cat_level_2/getRelativeUrl;\n
+                                         net python: getInventory(node_category=node_category);\n
+                                         net_prev_period python: getInventoryPreviousPeriod(node_category=node_category);\n
+                                         \'>\n
+                    <table:table-cell table:style-name=\'report-content-heading1\'\n
+                                      office:value-type=\'string\'\n
+                                      table:number-columns-spanned=\'3\'\n
+                                      table:number-rows-spanned=\'1\'>\n
+                                      <text:p tal:content="cat_level_2/getTranslatedTitle">Level 2</text:p>\n
+                    </table:table-cell>\n
+                    <table:covered-table-cell table:number-columns-repeated=\'2\'/>\n
+                    \n
+                    <!-- net -->\n
+                    <table:table-cell\n
+                      tal:define=\'global total_net python: total_net + net;\'\n
+                      table:style-name=\'report-content-currency1\'\n
+                      tal:attributes=\'office:value net\'\n
+                      office:value=\'123456.56\'\n
+                      office:value-type=\'float\'>\n
+                      <text:p>123 456,56</text:p>\n
+                    </table:table-cell>\n
+\n
+                    <!-- previous year -->\n
+                    <table:table-cell\n
+                      tal:define=\'global total_net_prev_period python: total_net_prev_period + net_prev_period;\'\n
+                      table:style-name=\'report-content-currency1\'\n
+                      tal:attributes=\'office:value net_prev_period\'\n
+                      office:value=\'123456.56\'\n
+                      office:value-type=\'float\'>\n
+                      <text:p>123 456,56</text:p>\n
+                    </table:table-cell>\n
+                  </tal:block>\n
+                </table:table-row>\n
+                <!-- }}} -->\n
+                <tal:block tal:repeat="cat_level_3 python: cat_level_2.contentValues(sort_on=((\'int_index\', \'ascending\'),))">\n
+                  <!-- LEVEL 3 {{{ -->\n
+                  <table:table-row table:style-name=\'ro4\'>\n
+                    <tal:block tal:define=\'node_category cat_level_3/getRelativeUrl;\n
+                                           net python: getInventory(node_category=node_category);\n
+                                           net_prev_period python: getInventoryPreviousPeriod(node_category=node_category);\n
+                                           \'>\n
+                      <table:table-cell table:style-name=\'report-content-heading2\'\n
+                                        office:value-type=\'string\'\n
+                                        table:number-columns-spanned=\'3\'\n
+                                        table:number-rows-spanned=\'1\'>\n
+                                        <text:p tal:content="cat_level_3/getTranslatedTitle">Level 3</text:p>\n
+                      </table:table-cell>\n
+                      <table:covered-table-cell table:number-columns-repeated=\'2\'/>\n
+                      \n
+                      <!-- net -->\n
+                      <table:table-cell\n
+                        tal:define=\'global total_net python: total_net + net;\'\n
+                        table:style-name=\'report-content-currency1\'\n
+                        tal:attributes=\'office:value net\'\n
+                        office:value=\'123456.56\'\n
+                        office:value-type=\'float\'>\n
+                        <text:p>123 456,56</text:p>\n
+                      </table:table-cell>\n
+\n
+                      <!-- previous year -->\n
+                      <table:table-cell\n
+                        tal:define=\'global total_net_prev_period python: total_net_prev_period + net_prev_period;\'\n
+                        table:style-name=\'report-content-currency1\'\n
+                        tal:attributes=\'office:value net_prev_period\'\n
+                        office:value=\'123456.56\'\n
+                        office:value-type=\'float\'>\n
+                        <text:p>123 456,56</text:p>\n
+                      </table:table-cell>\n
+                    </tal:block>\n
+                  </table:table-row>\n
+                  <!-- }}} -->\n
+                </tal:block>\n
+              </tal:block>\n
+            </tal:block>\n
+          </tal:block>\n
+\n
+        <!-- TOTAL LEVEL 1 {{{ -->\n
+        <table:table-row table:style-name=\'ro7\'>\n
+          <table:table-cell table:style-name=\'report-stat1\'\n
+                            office:value-type=\'string\'\n
+                            table:number-rows-spanned=\'1\'\n
+                            table:number-columns-spanned=\'3\'>\n
+            <text:p i18n:translate="" i18n:domain="ui">Total Equity + Liability</text:p>\n
+          </table:table-cell>\n
+          <table:covered-table-cell table:number-columns-repeated=\'2\'/>\n
+\n
+          <!-- net -->\n
+          <table:table-cell\n
+              table:style-name=\'report-stat-currency1\'\n
+              tal:attributes="office:value total_net"\n
+              office:value-type=\'float\'\n
+              office:value=\'123456.56\'>\n
+            <text:p>123 456,56</text:p>\n
+          </table:table-cell>\n
+\n
+          <!-- net previous period -->\n
+          <table:table-cell \n
+            table:style-name=\'report-stat-currency1\'\n
+            tal:attributes="office:value total_net_prev_period"\n
+            office:value-type=\'float\'\n
+            office:value=\'123456.56\'>\n
+            <text:p>123 456,56</text:p>\n
+          </table:table-cell>\n
+        </table:table-row>\n
+        <!-- }}} -->\n
+\n
+        </tal:block> \n
+      \n
+        <table:table-row table:style-name=\'page-break\'>\n
+          <table:table-cell table:style-name=\'empty-cell\'/>\n
+        </table:table-row>\n
+\n
+      </table:table>\n
+    </office:spreadsheet>\n
+  </office:body>\n
+</office:document-content><!-- vim: filetype=xml tw=1000 foldmethod=marker\n
+-->\n
+
+
+]]></string> </value>
+        </item>
+        <item>
+            <key> <string>content_type</string> </key>
+            <value> <string>application/vnd.oasis.opendocument.spreadsheet</string> </value>
+        </item>
+        <item>
+            <key> <string>expand</string> </key>
+            <value> <int>0</int> </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>AccountModule_viewJapaneseBalanceSheetReport</string> </value>
+        </item>
+        <item>
+            <key> <string>ooo_stylesheet</string> </key>
+            <value> <string>Base_getODSStyleSheet</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>Balance Sheet Report based on Japanese GAP category</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_accounting_l10n_jp/SkinTemplateItem/portal_skins/erp5_accounting_l10n_jp/AccountModule_viewJapaneseBalanceSheetReportDialog.xml b/bt5/erp5_accounting_l10n_jp/SkinTemplateItem/portal_skins/erp5_accounting_l10n_jp/AccountModule_viewJapaneseBalanceSheetReportDialog.xml
new file mode 100644
index 0000000000..5d8239c3e7
--- /dev/null
+++ b/bt5/erp5_accounting_l10n_jp/SkinTemplateItem/portal_skins/erp5_accounting_l10n_jp/AccountModule_viewJapaneseBalanceSheetReportDialog.xml
@@ -0,0 +1,155 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="ERP5Form" module="Products.ERP5Form.Form"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_bind_names</string> </key>
+            <value>
+              <object>
+                <klass>
+                  <global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/>
+                </klass>
+                <tuple/>
+                <state>
+                  <dictionary>
+                    <item>
+                        <key> <string>_asgns</string> </key>
+                        <value>
+                          <dictionary/>
+                        </value>
+                    </item>
+                  </dictionary>
+                </state>
+              </object>
+            </value>
+        </item>
+        <item>
+            <key> <string>_objects</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+        <item>
+            <key> <string>action</string> </key>
+            <value> <string>AccountModule_viewJapaneseBalanceSheetReport</string> </value>
+        </item>
+        <item>
+            <key> <string>description</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>edit_order</string> </key>
+            <value>
+              <list/>
+            </value>
+        </item>
+        <item>
+            <key> <string>encoding</string> </key>
+            <value> <string>UTF-8</string> </value>
+        </item>
+        <item>
+            <key> <string>enctype</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>group_list</string> </key>
+            <value>
+              <list>
+                <string>left</string>
+                <string>right</string>
+                <string>center</string>
+                <string>disabled</string>
+              </list>
+            </value>
+        </item>
+        <item>
+            <key> <string>groups</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>center</string> </key>
+                    <value>
+                      <list/>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>disabled</string> </key>
+                    <value>
+                      <list/>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>left</string> </key>
+                    <value>
+                      <list>
+                        <string>your_section_category</string>
+                        <string>your_section_category_strict</string>
+                        <string>your_function</string>
+                        <string>your_project</string>
+                        <string>your_at_date</string>
+                        <string>your_format</string>
+                      </list>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>right</string> </key>
+                    <value>
+                      <list>
+                        <string>your_simulation_state</string>
+                      </list>
+                    </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>AccountModule_viewJapaneseBalanceSheetReportDialog</string> </value>
+        </item>
+        <item>
+            <key> <string>method</string> </key>
+            <value> <string>POST</string> </value>
+        </item>
+        <item>
+            <key> <string>name</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>pt</string> </key>
+            <value> <string>form_dialog</string> </value>
+        </item>
+        <item>
+            <key> <string>row_length</string> </key>
+            <value> <int>4</int> </value>
+        </item>
+        <item>
+            <key> <string>stored_encoding</string> </key>
+            <value> <string>UTF-8</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>Japanese Balance Sheet</string> </value>
+        </item>
+        <item>
+            <key> <string>unicode_mode</string> </key>
+            <value> <int>0</int> </value>
+        </item>
+        <item>
+            <key> <string>update_action</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>update_action_title</string> </key>
+            <value> <string></string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_accounting_l10n_jp/SkinTemplateItem/portal_skins/erp5_accounting_l10n_jp/AccountModule_viewJapaneseBalanceSheetReportDialog/your_at_date.xml b/bt5/erp5_accounting_l10n_jp/SkinTemplateItem/portal_skins/erp5_accounting_l10n_jp/AccountModule_viewJapaneseBalanceSheetReportDialog/your_at_date.xml
new file mode 100644
index 0000000000..143f6dedd0
--- /dev/null
+++ b/bt5/erp5_accounting_l10n_jp/SkinTemplateItem/portal_skins/erp5_accounting_l10n_jp/AccountModule_viewJapaneseBalanceSheetReportDialog/your_at_date.xml
@@ -0,0 +1,93 @@
+<?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/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>your_at_date</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>field_id</string> </key>
+                    <value> <string>your_at_date</string> </value>
+                </item>
+                <item>
+                    <key> <string>form_id</string> </key>
+                    <value> <string>AccountModule_viewDialogFieldLibrary</string> </value>
+                </item>
+                <item>
+                    <key> <string>target</string> </key>
+                    <value> <string>Click to edit the target</string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_accounting_l10n_jp/SkinTemplateItem/portal_skins/erp5_accounting_l10n_jp/AccountModule_viewJapaneseBalanceSheetReportDialog/your_format.xml b/bt5/erp5_accounting_l10n_jp/SkinTemplateItem/portal_skins/erp5_accounting_l10n_jp/AccountModule_viewJapaneseBalanceSheetReportDialog/your_format.xml
new file mode 100644
index 0000000000..7a3929385b
--- /dev/null
+++ b/bt5/erp5_accounting_l10n_jp/SkinTemplateItem/portal_skins/erp5_accounting_l10n_jp/AccountModule_viewJapaneseBalanceSheetReportDialog/your_format.xml
@@ -0,0 +1,278 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="ListField" module="Products.Formulator.StandardFields"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>your_format</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>
+                <item>
+                    <key> <string>required_not_found</string> </key>
+                    <value> <string>Input is required but no input given.</string> </value>
+                </item>
+                <item>
+                    <key> <string>unknown_selection</string> </key>
+                    <value> <string>You selected an item that was not in the list.</string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>overrides</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>alternate_name</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>css_class</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>default</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>description</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>editable</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>enabled</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>external_validator</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>extra</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>extra_item</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>first_item</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>hidden</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>items</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>required</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>size</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>title</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>unicode</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>whitespace_preserve</string> </key>
+                    <value> <string></string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>tales</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>alternate_name</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>css_class</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>default</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>description</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>editable</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>enabled</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>external_validator</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>extra</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>extra_item</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>first_item</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>hidden</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>items</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>required</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>size</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>title</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>unicode</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>whitespace_preserve</string> </key>
+                    <value> <string></string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>values</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>alternate_name</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>css_class</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>default</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>description</string> </key>
+                    <value> <string>Printing format</string> </value>
+                </item>
+                <item>
+                    <key> <string>editable</string> </key>
+                    <value> <int>1</int> </value>
+                </item>
+                <item>
+                    <key> <string>enabled</string> </key>
+                    <value> <int>1</int> </value>
+                </item>
+                <item>
+                    <key> <string>external_validator</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>extra</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>extra_item</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>first_item</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+                <item>
+                    <key> <string>hidden</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+                <item>
+                    <key> <string>items</string> </key>
+                    <value>
+                      <list>
+                        <tuple>
+                          <string>OpenOffice Calc</string>
+                          <string></string>
+                        </tuple>
+                        <tuple>
+                          <string>PDF</string>
+                          <string>pdf</string>
+                        </tuple>
+                        <tuple>
+                          <string>Excel</string>
+                          <string>xls</string>
+                        </tuple>
+                      </list>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>required</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+                <item>
+                    <key> <string>size</string> </key>
+                    <value> <int>1</int> </value>
+                </item>
+                <item>
+                    <key> <string>title</string> </key>
+                    <value> <string>Format</string> </value>
+                </item>
+                <item>
+                    <key> <string>unicode</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+                <item>
+                    <key> <string>whitespace_preserve</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_accounting_l10n_jp/SkinTemplateItem/portal_skins/erp5_accounting_l10n_jp/AccountModule_viewJapaneseBalanceSheetReportDialog/your_function.xml b/bt5/erp5_accounting_l10n_jp/SkinTemplateItem/portal_skins/erp5_accounting_l10n_jp/AccountModule_viewJapaneseBalanceSheetReportDialog/your_function.xml
new file mode 100644
index 0000000000..bf8802a24b
--- /dev/null
+++ b/bt5/erp5_accounting_l10n_jp/SkinTemplateItem/portal_skins/erp5_accounting_l10n_jp/AccountModule_viewJapaneseBalanceSheetReportDialog/your_function.xml
@@ -0,0 +1,87 @@
+<?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>id</string> </key>
+            <value> <string>your_function</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>field_id</string> </key>
+                    <value> <string>your_function</string> </value>
+                </item>
+                <item>
+                    <key> <string>form_id</string> </key>
+                    <value> <string>AccountModule_viewDialogFieldLibrary</string> </value>
+                </item>
+                <item>
+                    <key> <string>target</string> </key>
+                    <value> <string>Click to edit the target</string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_accounting_l10n_jp/SkinTemplateItem/portal_skins/erp5_accounting_l10n_jp/AccountModule_viewJapaneseBalanceSheetReportDialog/your_project.xml b/bt5/erp5_accounting_l10n_jp/SkinTemplateItem/portal_skins/erp5_accounting_l10n_jp/AccountModule_viewJapaneseBalanceSheetReportDialog/your_project.xml
new file mode 100644
index 0000000000..50264ce0e1
--- /dev/null
+++ b/bt5/erp5_accounting_l10n_jp/SkinTemplateItem/portal_skins/erp5_accounting_l10n_jp/AccountModule_viewJapaneseBalanceSheetReportDialog/your_project.xml
@@ -0,0 +1,93 @@
+<?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/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>your_project</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>field_id</string> </key>
+                    <value> <string>your_project</string> </value>
+                </item>
+                <item>
+                    <key> <string>form_id</string> </key>
+                    <value> <string>AccountModule_viewDialogFieldLibrary</string> </value>
+                </item>
+                <item>
+                    <key> <string>target</string> </key>
+                    <value> <string>Click to edit the target</string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_accounting_l10n_jp/SkinTemplateItem/portal_skins/erp5_accounting_l10n_jp/AccountModule_viewJapaneseBalanceSheetReportDialog/your_section_category.xml b/bt5/erp5_accounting_l10n_jp/SkinTemplateItem/portal_skins/erp5_accounting_l10n_jp/AccountModule_viewJapaneseBalanceSheetReportDialog/your_section_category.xml
new file mode 100644
index 0000000000..42ae5f8972
--- /dev/null
+++ b/bt5/erp5_accounting_l10n_jp/SkinTemplateItem/portal_skins/erp5_accounting_l10n_jp/AccountModule_viewJapaneseBalanceSheetReportDialog/your_section_category.xml
@@ -0,0 +1,137 @@
+<?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/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>your_section_category</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>default</string> </key>
+                    <value>
+                      <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
+                    </value>
+                </item>
+                <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>items</string> </key>
+                    <value>
+                      <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
+                    </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>field_id</string> </key>
+                    <value> <string>your_section_category</string> </value>
+                </item>
+                <item>
+                    <key> <string>form_id</string> </key>
+                    <value> <string>Base_viewDialogFieldLibrary</string> </value>
+                </item>
+                <item>
+                    <key> <string>target</string> </key>
+                    <value> <string>Click to edit the target</string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+      </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>preferences/getPreferredAccountingTransactionSectionCategory</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="3" aka="AAAAAAAAAAM=">
+    <pickle>
+      <tuple>
+        <global name="TALESMethod" module="Products.Formulator.TALESField"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_text</string> </key>
+            <value> <string>python:here.portal_categories.group.getCategoryChildIndentedTitleItemList(base=1)</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_accounting_l10n_jp/SkinTemplateItem/portal_skins/erp5_accounting_l10n_jp/AccountModule_viewJapaneseBalanceSheetReportDialog/your_section_category_strict.xml b/bt5/erp5_accounting_l10n_jp/SkinTemplateItem/portal_skins/erp5_accounting_l10n_jp/AccountModule_viewJapaneseBalanceSheetReportDialog/your_section_category_strict.xml
new file mode 100644
index 0000000000..7eb7984a6c
--- /dev/null
+++ b/bt5/erp5_accounting_l10n_jp/SkinTemplateItem/portal_skins/erp5_accounting_l10n_jp/AccountModule_viewJapaneseBalanceSheetReportDialog/your_section_category_strict.xml
@@ -0,0 +1,93 @@
+<?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/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>your_section_category_strict</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>field_id</string> </key>
+                    <value> <string>your_section_category_strict</string> </value>
+                </item>
+                <item>
+                    <key> <string>form_id</string> </key>
+                    <value> <string>AccountModule_viewDialogFieldLibrary</string> </value>
+                </item>
+                <item>
+                    <key> <string>target</string> </key>
+                    <value> <string>Click to edit the target</string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_accounting_l10n_jp/SkinTemplateItem/portal_skins/erp5_accounting_l10n_jp/AccountModule_viewJapaneseBalanceSheetReportDialog/your_simulation_state.xml b/bt5/erp5_accounting_l10n_jp/SkinTemplateItem/portal_skins/erp5_accounting_l10n_jp/AccountModule_viewJapaneseBalanceSheetReportDialog/your_simulation_state.xml
new file mode 100644
index 0000000000..5bab0a990d
--- /dev/null
+++ b/bt5/erp5_accounting_l10n_jp/SkinTemplateItem/portal_skins/erp5_accounting_l10n_jp/AccountModule_viewJapaneseBalanceSheetReportDialog/your_simulation_state.xml
@@ -0,0 +1,115 @@
+<?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/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>your_simulation_state</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>items</string> </key>
+                    <value>
+                      <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
+                    </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>field_id</string> </key>
+                    <value> <string>your_simulation_state</string> </value>
+                </item>
+                <item>
+                    <key> <string>form_id</string> </key>
+                    <value> <string>AccountModule_viewDialogFieldLibrary</string> </value>
+                </item>
+                <item>
+                    <key> <string>target</string> </key>
+                    <value> <string>Click to edit the target</string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+      </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:here.Base_getTranslatedWorkflowStateItemList(wf_id = \'accounting_workflow\')</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_accounting_l10n_jp/SkinTemplateItem/portal_skins/erp5_accounting_l10n_jp/AccountModule_viewJapaneseProfitAndLossReport.xml b/bt5/erp5_accounting_l10n_jp/SkinTemplateItem/portal_skins/erp5_accounting_l10n_jp/AccountModule_viewJapaneseProfitAndLossReport.xml
new file mode 100644
index 0000000000..afc0ceed5c
--- /dev/null
+++ b/bt5/erp5_accounting_l10n_jp/SkinTemplateItem/portal_skins/erp5_accounting_l10n_jp/AccountModule_viewJapaneseProfitAndLossReport.xml
@@ -0,0 +1,919 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="OOoTemplate" module="Products.ERP5OOo.OOoTemplate"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>OLE_documents_zipstring</string> </key>
+            <value> <string encoding="base64">UEsDBBQAAAAIAEyHuTbMBk1mQgEAAFEHAAAVAAAATUVUQS1JTkYvbWFuaWZlc3QueG1stZVLasMw
+EED3PYXR3lbbVTFxAi30BOkBJvLYEeiHZhSS21cO5NM2lKZYOw1I741GGmmx2ltT7TCS9q4TT82j
+qNAp32s3duJj/V6/iNXyYWHB6QGJ29OgyuscncNOpOhaD6SpdWCRWlatD+h6r5JFx+3X+e1kWj5U
+F/CgDdZ5YjxUFxn2Gmo+BOwEhGC0As55yp3rm6OruVY0FCJCT1tEFhfIkIypA/C2E1LIu5y3KW/e
+DXpM8ZgLPUti4EQbiGXwoBQazKGPUqUYp53mYhZ3FREMxgNjIXjwIYV8E1IhfPRjRCp30lPqxeDs
+vSkG1xZGJPmq2UKgoo472d+fDUpu6p4m6UZdC/6Ww51yxj3LqVdvwrOf/9fMv3OJDwZpdqxFhtke
+nvU22Y0DbUjyadgEN84Nn7ewyJz/xXNpF/LHt7j8BFBLAQIUABQAAAAIAEyHuTbMBk1mQgEAAFEH
+AAAVAAAAAAAAAAAAAAAAAAAAAABNRVRBLUlORi9tYW5pZmVzdC54bWxQSwUGAAAAAAEAAQBDAAAA
+dQEAAAAA</string> </value>
+        </item>
+        <item>
+            <key> <string>_bind_names</string> </key>
+            <value>
+              <object>
+                <klass>
+                  <global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/>
+                </klass>
+                <tuple/>
+                <state>
+                  <dictionary>
+                    <item>
+                        <key> <string>_asgns</string> </key>
+                        <value>
+                          <dictionary>
+                            <item>
+                                <key> <string>name_subpath</string> </key>
+                                <value> <string>traverse_subpath</string> </value>
+                            </item>
+                          </dictionary>
+                        </value>
+                    </item>
+                  </dictionary>
+                </state>
+              </object>
+            </value>
+        </item>
+        <item>
+            <key> <string>_text</string> </key>
+            <value> <string encoding="cdata"><![CDATA[
+
+<office:document-content\n
+  xmlns:draw=\'urn:oasis:names:tc:opendocument:xmlns:drawing:1.0\'\n
+  xmlns:office=\'urn:oasis:names:tc:opendocument:xmlns:office:1.0\'\n
+  xmlns:text=\'urn:oasis:names:tc:opendocument:xmlns:text:1.0\'\n
+  xmlns:ooo=\'http://openoffice.org/2004/office\'\n
+  xmlns:number=\'urn:oasis:names:tc:opendocument:xmlns:datastyle:1.0\'\n
+  xmlns:dc=\'http://purl.org/dc/elements/1.1/\'\n
+  xmlns:meta=\'urn:oasis:names:tc:opendocument:xmlns:meta:1.0\'\n
+  xmlns:table=\'urn:oasis:names:tc:opendocument:xmlns:table:1.0\'\n
+  xmlns:dr3d=\'urn:oasis:names:tc:opendocument:xmlns:dr3d:1.0\'\n
+  xmlns:fo=\'urn:oasis:names:tc:opendocument:xmlns:xsl-fo-compatible:1.0\'\n
+  xmlns:style=\'urn:oasis:names:tc:opendocument:xmlns:style:1.0\'\n
+  xmlns:xforms=\'http://www.w3.org/2002/xforms\'\n
+  xmlns:form=\'urn:oasis:names:tc:opendocument:xmlns:form:1.0\'\n
+  xmlns:script=\'urn:oasis:names:tc:opendocument:xmlns:script:1.0\'\n
+  xmlns:ooow=\'http://openoffice.org/2004/writer\'\n
+  xmlns:svg=\'urn:oasis:names:tc:opendocument:xmlns:svg-compatible:1.0\'\n
+  xmlns:chart=\'urn:oasis:names:tc:opendocument:xmlns:chart:1.0\'\n
+  xmlns:dom=\'http://www.w3.org/2001/xml-events\'\n
+  xmlns:xlink=\'http://www.w3.org/1999/xlink\'\n
+  xmlns:xsd=\'http://www.w3.org/2001/XMLSchema\'\n
+  xmlns:xsi=\'http://www.w3.org/2001/XMLSchema-instance\'\n
+  xmlns:oooc=\'http://openoffice.org/2004/calc\'\n
+  xmlns:math=\'http://www.w3.org/1998/Math/MathML\'\n
+  xmlns:tal=\'http://xml.zope.org/namespaces/tal\'\n
+  xmlns:i18n=\'http://xml.zope.org/namespaces/i18n\'\n
+  xmlns:metal=\'http://xml.zope.org/namespaces/metal\'\n
+  tal:attributes=\'dummy python:request.RESPONSE.setHeader("Content-Type", "text/html;; charset=utf-8")\'\n
+  tal:define=\'at_date request/at_date/latestTime;\n
+              at_date_previous_period python:modules["DateTime"].DateTime(at_date.year() - 1, at_date.month(), at_date.day()).latestTime();\n
+              from_date python:context.Base_getAccountingPeriodStartDateForSectionCategory(section_category=request["section_category"], date=at_date);\n
+              from_date_previous_period python:context.Base_getAccountingPeriodStartDateForSectionCategory(section_category=request["section_category"], date=at_date_previous_period);\n
+              portal_type here/getPortalAccountingMovementTypeList;\n
+              date_formatter nocall:here/Base_viewFieldLibrary/my_date/render_pdf;\n
+              section_uid python: context.Base_getSectionUidListForSectionCategory(request["section_category"], request["section_category_strict"]);\n
+              financial_section python:context.getPortalObject().portal_categories.financial_section;\n
+              getInventory python: lambda **kw:context.portal_simulation.getInventoryAssetPrice(section_uid=section_uid, simulation_state=request["simulation_state"], function=request.get("function") or None, project=request.get("project") or None, at_date=at_date, from_date=from_date, portal_type=portal_type, **kw);\n
+              getInventoryPreviousPeriod python: lambda **kw:context.portal_simulation.getInventoryAssetPrice(section_uid=section_uid, simulation_state=request["simulation_state"], function=request.get("function") or None, project=request.get("project") or None, at_date=at_date_previous_period, from_date=from_date_previous_period, portal_type=portal_type, **kw);\n
+              net_income python:getInventory(node_category=["financial_section/income", "financial_section/expense"]);\n
+              net_income_previous_period python:getInventoryPreviousPeriod(node_category=["financial_section/income", "financial_section/expense"]);\'\n
+  office:version=\'1.0\'>\n
+  <office:scripts/>\n
+  <office:font-face-decls>\n
+    <style:font-face svg:font-family=\'Arial\' style:font-family-generic=\'swiss\' style:name=\'Arial\' style:font-pitch=\'variable\'/>\n
+    <style:font-face svg:font-family="\'DejaVu Sans\'" style:font-family-generic=\'system\' style:name=\'DejaVu Sans\' style:font-pitch=\'variable\'/>\n
+    <style:font-face svg:font-family=\'Lucidasans\' style:font-family-generic=\'system\' style:name=\'Lucidasans\' style:font-pitch=\'variable\'/>\n
+  </office:font-face-decls>\n
+  <office:automatic-styles> <!-- {{{ -->\n
+    <style:style style:family=\'table-column\' style:name=\'co1\'>\n
+      <style:table-column-properties fo:break-before=\'auto\' style:column-width=\'6.21cm\'/>\n
+    </style:style>\n
+    <style:style style:family=\'table-column\' style:name=\'co2\'>\n
+      <style:table-column-properties fo:break-before=\'auto\' style:column-width=\'3.10cm\'/>\n
+    </style:style>\n
+    <style:style style:family=\'table-row\' style:name=\'ro2\'>\n
+      <style:table-row-properties fo:break-before=\'auto\' style:use-optimal-row-height=\'false\' style:row-height=\'0.644cm\'/>\n
+    </style:style>\n
+    <style:style style:family=\'table-row\' style:name=\'ro3\'>\n
+      <style:table-row-properties fo:break-before=\'auto\' style:use-optimal-row-height=\'false\' style:row-height=\'0.951cm\'/>\n
+    </style:style>\n
+    <style:style style:family=\'table-row\' style:name=\'ro4\'>\n
+      <style:table-row-properties fo:break-before=\'auto\' style:use-optimal-row-height=\'true\' style:row-height=\'0.503cm\'/>\n
+    </style:style>\n
+    <style:style style:family=\'table-row\' style:name=\'ro7\'>\n
+      <style:table-row-properties fo:break-before=\'auto\' style:use-optimal-row-height=\'true\' style:row-height=\'0.496cm\'/>\n
+    </style:style>\n
+    <style:style style:family=\'table-row\' style:name=\'ro9\'>\n
+      <style:table-row-properties fo:break-before=\'auto\' style:use-optimal-row-height=\'false\' style:row-height=\'0.279cm\'/>\n
+    </style:style>\n
+    <style:style style:family=\'table-row\' style:name=\'page-break\'>\n
+      <style:table-row-properties fo:break-before=\'page\' style:use-optimal-row-height=\'false\' style:row-height=\'0.279cm\'/>\n
+    </style:style>\n
+    <style:style style:family=\'table\' style:name=\'ta1\' style:master-page-name=\'Default\'>\n
+      <style:table-properties style:writing-mode=\'lr-tb\' table:display=\'true\'/>\n
+    </style:style>\n
+    <style:style style:parent-style-name=\'Default\' style:family=\'table-cell\' style:name=\'ce1\'>\n
+      <style:table-cell-properties style:vertical-align=\'middle\' style:repeat-content=\'false\' style:text-align-source=\'fix\' fo:border=\'none\'/>\n
+      <style:paragraph-properties fo:text-align=\'center\'/>\n
+    </style:style>\n
+    <style:style style:parent-style-name=\'Default\' style:family=\'table-cell\' style:name=\'bottom_border\'>\n
+      <style:table-cell-properties fo:border-left=\'0.002cm solid #000000\' fo:border-bottom=\'0.002cm solid #000000\' fo:border-right=\'0.002cm solid #000000\' fo:border-top=\'none\'/>\n
+    </style:style>\n
+    <style:style style:parent-style-name=\'Default\' style:family=\'table-cell\' style:name=\'ce7\'>\n
+      <style:table-cell-properties style:vertical-align=\'middle\' style:repeat-content=\'false\' style:text-align-source=\'fix\' fo:border=\'none\'/>\n
+      <style:paragraph-properties fo:text-align=\'center\' fo:margin-left=\'0cm\'/>\n
+      <style:text-properties fo:font-size=\'20pt\'/>\n
+    </style:style>\n
+    <style:style style:parent-style-name=\'Default\' style:family=\'table-cell\' style:name=\'ce8\'>\n
+      <style:table-cell-properties style:vertical-align=\'middle\' style:repeat-content=\'false\' style:text-align-source=\'fix\' fo:border=\'none\'/>\n
+      <style:paragraph-properties fo:text-align=\'center\' fo:margin-left=\'0cm\'/>\n
+    </style:style>\n
+    <style:style style:parent-style-name=\'Default\' style:family=\'table-cell\' style:name=\'ce9\'>\n
+      <style:table-cell-properties style:vertical-align=\'middle\' style:repeat-content=\'false\' style:text-align-source=\'fix\' fo:border=\'0.002cm solid #000000\'/>\n
+      <style:paragraph-properties fo:text-align=\'center\'/>\n
+    </style:style>\n
+    <style:style style:parent-style-name=\'Default\' style:family=\'table-cell\' style:name=\'empty-cell\'>\n
+      <style:table-cell-properties fo:border-left=\'none\' fo:border-bottom=\'none\' fo:border-right=\'none\' fo:border-top=\'none\'/>\n
+    </style:style>\n
+    <style:style style:family=\'text\' style:name=\'T1\'>\n
+      <style:text-properties fo:font-size=\'12pt\'/>\n
+    </style:style>\n
+  </office:automatic-styles> <!-- }}} -->\n
+  <office:body>\n
+\n
+    <office:spreadsheet>\n
+      <table:table table:style-name=\'ta1\' table:print=\'false\' table:name=\'Expense\' i18n:domain=\'ui\' i18n:attributes=\'table:name\'>\n
+        <office:forms form:apply-design-mode=\'false\' form:automatic-focus=\'false\'/>\n
+        <table:table-column table:style-name=\'co1\' table:default-cell-style-name=\'report-title\'/>\n
+        <table:table-column table:style-name=\'co2\' table:default-cell-style-name=\'ce7\'/>\n
+        <table:table-column table:style-name=\'co2\' table:default-cell-style-name=\'ce1\'/>\n
+        <table:table-column table:style-name=\'co2\' table:default-cell-style-name=\'ce1\'/>\n
+        <table:table-column table:style-name=\'co2\' table:default-cell-style-name=\'report-column-title\'/>\n
+\n
+        <!-- Expense -->\n
+        <tal:block  tal:define="global total_current_period python: 0;\n
+                                global total_previous_period python: 0;\n
+\n
+                                global grand_total_current_period python: 0;\n
+                                global grand_total_previous_period python: 0;\n
+\n
+                                global level1_counter python: 0;\n
+                                global level2_title python:\'\';\n
+                                global level1_title python:\'\';\n
+                                ">\n
+\n
+        <!-- Title {{{ -->\n
+        <table:table-row table:style-name=\'ro2\'>\n
+          <table:table-cell table:number-rows-spanned=\'2\'\n
+                            table:number-columns-spanned=\'1\'\n
+                            office:value-type=\'string\'\n
+                            table:style-name=\'report-title\'>\n
+            <text:p tal:content=\'python: context.portal_categories.restrictedTraverse(request["section_category"]).getTranslatedTitle()\'/>\n
+          </table:table-cell>\n
+          <table:table-cell table:number-rows-spanned=\'1\' table:number-columns-spanned=\'4\'\n
+                            office:value-type=\'string\' table:style-name=\'report-title\'>\n
+            <text:p i18n:translate="" i18n:domain="ui">Profit and Loss</text:p>\n
+          </table:table-cell>\n
+          <table:covered-table-cell table:number-columns-repeated=\'2\'/>\n
+          <table:covered-table-cell table:style-name=\'ce1\' table:number-columns-repeated=\'1\'/>\n
+        </table:table-row>\n
+\n
+        <table:table-row table:style-name=\'ro2\'>\n
+          <table:table-cell table:style-name=\'ce1\'><text:p/></table:table-cell>\n
+          <table:table-cell table:style-name=\'report-title-date\'\n
+                            table:number-rows-spanned=\'1\' table:number-columns-spanned=\'4\'>\n
+            <text:p tal:content="python:date_formatter(at_date)">Date</text:p>\n
+          </table:table-cell>\n
+          <table:covered-table-cell table:number-columns-repeated=\'2\'/>\n
+          <table:covered-table-cell table:style-name=\'ce1\' table:number-columns-repeated=\'1\'/>\n
+        </table:table-row>\n
+\n
+        <table:table-row table:style-name=\'ro2\'>\n
+          <table:table-cell table:style-name=\'ce1\'/>\n
+          <table:table-cell table:style-name=\'ce8\'/>\n
+          <table:table-cell/>\n
+          <table:table-cell table:style-name=\'ce1\' table:number-columns-repeated=\'2\'/>\n
+        </table:table-row>\n
+        <!-- }}} -->\n
+\n
+        <!-- Header {{{ -->\n
+        <table:table-header-rows>\n
+        <table:table-row table:style-name=\'ro3\'>\n
+          <table:table-cell\n
+              table:style-name=\'report-column-title\'\n
+              office:value-type=\'string\'\n
+              table:number-rows-spanned=\'1\'\n
+              table:number-columns-spanned=\'3\'>\n
+            <text:p i18n:translate="" i18n:domain="ui">Expense</text:p>\n
+          </table:table-cell>\n
+          <table:covered-table-cell table:style-name="ce9"/><table:covered-table-cell table:style-name="ce9"/>\n
+          <table:table-cell table:style-name=\'report-column-title\' office:value-type=\'string\'>\n
+            <text:p i18n:translate="" i18n:domain="ui">Current Period</text:p>\n
+          </table:table-cell>\n
+          <table:table-cell table:style-name="report-column-title" office:value-type=\'string\'>\n
+            <text:p i18n:translate="" i18n:domain="ui">Previous Period</text:p>\n
+          </table:table-cell>\n
+        </table:table-row>\n
+        </table:table-header-rows>\n
+        <!-- }}} -->\n
+\n
+        <tal:block tal:repeat="cat_level_1 python: financial_section.expense.contentValues(sort_on=((\'int_index\', \'ascending\'),))">\n
+            <tal:block tal:define="global total_current_period python: 0;\n
+                                   global total_previous_period python: 0;">\n
+\n
+            <!-- LEVEL 1 {{{ -->\n
+            <table:table-row table:style-name=\'ro4\'>\n
+              <table:table-cell table:style-name=\'report-content-heading1\'\n
+                                table:number-columns-spanned=\'3\'\n
+                                table:number-rows-spanned=\'1\'\n
+                                office:value-type=\'string\'>\n
+               <text:p tal:define=\'global level1_title cat_level_1/getTranslatedTitle\'\n
+                                  tal:content="level1_title">Level 1</text:p>\n
+              </table:table-cell>\n
+               <table:covered-table-cell table:style-name="ce9"/>\n
+               <table:covered-table-cell table:style-name="ce9"/>\n
+               <tal:block tal:define="display_level_2 cat_level_1/contentIds">\n
+                 <tal:block tal:condition="display_level_2">\n
+                   <table:table-cell table:style-name=\'report-content-currency1\'>\n
+                    <text:p></text:p></table:table-cell>\n
+                   <table:table-cell table:style-name=\'report-content-currency1\'>\n
+                     <text:p></text:p></table:table-cell>\n
+                 </tal:block>\n
+                 <tal:block tal:condition="not: display_level_2"\n
+                   tal:define="node_category cat_level_1/getRelativeUrl">\n
+                  <!-- current period -->\n
+                  <tal:block\n
+                      tal:define=\'value python:getInventory(node_category=node_category);\n
+                      global total_current_period python: total_current_period + value;\'>\n
+                    <table:table-cell\n
+                      tal:condition=\'value\'\n
+                      table:style-name=\'report-content-currency1\'\n
+                      tal:attributes=\'office:value value\'\n
+                      office:value-type=\'float\' office:value=\'123456.56\'>\n
+                      <text:p>123 456,56</text:p>\n
+                    </table:table-cell>\n
+                    <table:table-cell\n
+                      tal:condition=\'not: value\'\n
+                      table:style-name=\'report-content-currency1\'>\n
+                      <text:p></text:p>\n
+                    </table:table-cell>\n
+                  </tal:block>\n
+\n
+                  <!-- previous period -->\n
+                  <tal:block\n
+                      tal:define=\'value python:getInventoryPreviousPeriod(node_category=node_category);\n
+                      global total_previous_period python: total_previous_period + value;\'>\n
+                    <table:table-cell\n
+                        tal:condition=\'value\'\n
+                        table:style-name=\'report-content-currency1\'\n
+                        tal:attributes=\'office:value value\'\n
+                        office:value=\'123456.56\'\n
+                        office:value-type=\'float\'>\n
+                      <text:p>123 456,56</text:p>\n
+                    </table:table-cell>\n
+                    <table:table-cell\n
+                        tal:condition=\'not: value\'\n
+                        table:style-name=\'report-content-currency1\'>\n
+                      <text:p></text:p>\n
+                    </table:table-cell>\n
+                 </tal:block>\n
+                 </tal:block>\n
+\n
+               </tal:block>\n
+            </table:table-row>\n
+            <!-- }}} -->\n
+          \n
+            <!-- LEVEL 2 {{{ -->\n
+             <tal:block tal:repeat="cat_level_2 python:cat_level_1.contentValues(sort_on=((\'int_index\', \'ascending\'),))">\n
+               <tal:block tal:define="display_level_3 cat_level_2/contentIds">\n
+                <table:table-row table:style-name=\'ro4\' tal:condition=\'display_level_3\'>\n
+                  <table:table-cell table:style-name=\'report-content-heading2\'\n
+                                    table:number-columns-spanned=\'3\'\n
+                                    table:number-rows-spanned=\'1\'\n
+                                    office:value-type=\'string\'>\n
+                    <text:p><text:span text:style-name=\'T1\'\n
+                                       tal:define="global level2_title cat_level_2/getTranslatedTitle"\n
+                                       tal:content="level2_title"\n
+                            >Level 2</text:span></text:p></table:table-cell>\n
+                  <table:covered-table-cell table:style-name="ce9"/>\n
+                  <table:covered-table-cell table:style-name="ce9"/>\n
+                  <table:table-cell table:style-name=\'report-content-currency2\'>\n
+                    <text:p></text:p></table:table-cell>\n
+                  <table:table-cell table:style-name=\'report-content-currency2\'>\n
+                    <text:p></text:p></table:table-cell>\n
+                </table:table-row>\n
+\n
+                <table:table-row table:style-name=\'ro4\' tal:condition=\'not:display_level_3\'>\n
+                  <tal:block tal:define=\'node_category cat_level_2/getRelativeUrl;\'>\n
+                    <table:table-cell table:style-name=\'report-content-heading2\'\n
+                                      table:number-columns-spanned=\'3\'\n
+                                      table:number-rows-spanned=\'1\'\n
+                                      office:value-type=\'string\'>\n
+                                    <text:p tal:define="global level2_title cat_level_2/getTranslatedTitle"\n
+                                            tal:content="level2_title"\n
+                                      >Level 2</text:p>\n
+                  </table:table-cell>\n
+                  <table:covered-table-cell table:style-name="ce9"/>\n
+                  <table:covered-table-cell table:style-name="ce9"/>\n
+                  \n
+                  <!-- current period -->\n
+                  <tal:block\n
+                      tal:define=\'value python:getInventory(node_category=node_category);\n
+                      global total_current_period python: total_current_period + value;\'>\n
+                  <table:table-cell\n
+                      tal:condition=\'value\'\n
+                      table:style-name=\'report-content-currency2\'\n
+                      tal:attributes=\'office:value value\'\n
+                      office:value-type=\'float\'\n
+                      office:value=\'123456.56\'>\n
+                    <text:p>123 456,56</text:p>\n
+                  </table:table-cell>\n
+                  <table:table-cell\n
+                      tal:condition=\'not:value\'\n
+                      table:style-name=\'report-content-currency2\'>\n
+                    <text:p></text:p>\n
+                  </table:table-cell>\n
+                </tal:block>\n
+\n
+                  <!-- previous period -->\n
+                  <tal:block\n
+                      tal:define=\'value python:getInventoryPreviousPeriod(node_category=node_category);\n
+                      global total_previous_period python: total_previous_period + value;\'>\n
+                  <table:table-cell\n
+                      tal:condition=\'value\'\n
+                      table:style-name=\'report-content-currency2\'\n
+                      tal:attributes=\'office:value value\'\n
+                      office:value=\'123456.56\'\n
+                      office:value-type=\'float\'>\n
+                    <text:p>123 456,56</text:p>\n
+                  </table:table-cell>\n
+                  <table:table-cell\n
+                      tal:condition=\'not:value\'\n
+                      table:style-name=\'report-content-currency2\'>\n
+                    <text:p></text:p>\n
+                  </table:table-cell>\n
+                </tal:block>\n
+                </tal:block>\n
+            </table:table-row>\n
+          </tal:block>\n
+          <!-- }}} -->\n
+            \n
+          <!-- LEVEL 3 {{{ -->\n
+          <table:table-row tal:repeat="cat_level_3 python: cat_level_2.contentValues(sort_on=((\'int_index\',\'ascending\'),))">\n
+            <tal:block tal:define=\'node_category cat_level_3/getRelativeUrl;\'>\n
+              <table:table-cell table:style-name=\'report-content-heading3\'\n
+                                table:number-columns-spanned=\'3\'\n
+                                table:number-rows-spanned=\'1\'\n
+                                office:value-type=\'string\'>\n
+                <text:p tal:content="cat_level_3/getTranslatedTitle">Level 3</text:p>\n
+              </table:table-cell>\n
+              <table:covered-table-cell table:style-name="ce9"/>\n
+              <table:covered-table-cell table:style-name="ce9"/>\n
+              \n
+              <!-- current period -->\n
+              <tal:block\n
+                  tal:define=\'value python:getInventory(node_category=node_category);\n
+                              global total_current_period python: total_current_period + value;\'>\n
+              <table:table-cell\n
+                  tal:condition=\'value\'\n
+                  table:style-name=\'report-content-currency3\'\n
+                  tal:attributes=\'office:value value\'\n
+                  office:value-type=\'float\'\n
+                  office:value=\'123456.56\'>\n
+                <text:p>123 456,56</text:p>\n
+              </table:table-cell>\n
+              <table:table-cell\n
+                  tal:condition=\'not:value\'\n
+                  table:style-name=\'report-content-currency3\'>\n
+                  <text:p></text:p>\n
+              </table:table-cell>\n
+            </tal:block>\n
+\n
+              <!-- previous period -->\n
+              <tal:block\n
+                  tal:define=\'value python:getInventoryPreviousPeriod(node_category=node_category);  \n
+                  global total_previous_period python: total_previous_period + value;\'>\n
+              <table:table-cell\n
+                  tal:condition=\'value\'\n
+                  table:style-name=\'report-content-currency3\'\n
+                  tal:attributes=\'office:value value\'\n
+                  office:value=\'123456.56\'\n
+                  office:value-type=\'float\'>\n
+                <text:p>123 456,56</text:p>\n
+              </table:table-cell>\n
+              <table:table-cell\n
+                  tal:condition=\'not:value\'\n
+                  table:style-name=\'report-content-currency3\'>\n
+                <text:p></text:p>\n
+              </table:table-cell>\n
+            </tal:block>\n
+             </tal:block>\n
+           </table:table-row>\n
+\n
+          </tal:block>\n
+        </tal:block>\n
+        <!-- }}} --> \n
+\n
+        <!-- TOTAL LEVEL 1 {{{ -->\n
+        <table:table-row table:style-name=\'ro7\'>\n
+          <table:table-cell table:style-name=\'report-stat1\'\n
+                            office:value-type=\'string\'\n
+                            table:number-columns-spanned=\'3\'\n
+                            table:number-rows-spanned=\'1\'\n
+                            tal:define="global level1_counter python:level1_counter + 1">\n
+            <text:p i18n:translate="" i18n:domain="ui">Total <tal:block i18n:name="category_level_1_title" tal:content=\'level1_title\'>\n
+                                                     </tal:block> <tal:block i18n:name="level1_counter" tal:content=\'level1_counter\'>\n
+                                                     </tal:block></text:p>\n
+          </table:table-cell>\n
+          <table:covered-table-cell table:style-name="ce9"/>\n
+          <table:covered-table-cell table:style-name="ce9"/>\n
+\n
+          <!-- current period -->\n
+          <table:table-cell \n
+              table:style-name=\'report-stat-currency1\'\n
+              tal:define=\'global grand_total_current_period python: grand_total_current_period + total_current_period\'\n
+              tal:attributes="office:value total_current_period"\n
+              office:value-type=\'float\' office:value=\'123456.56\'>\n
+            <text:p>123 456,56</text:p>\n
+          </table:table-cell>\n
+\n
+          <!-- previous period -->\n
+          <table:table-cell\n
+              table:style-name=\'report-stat-currency1\'\n
+              tal:define=\'global grand_total_previous_period python: grand_total_previous_period + total_previous_period\'\n
+              tal:attributes="office:value total_previous_period"\n
+              office:value-type=\'float\'\n
+              office:value=\'123456.56\'>\n
+            <text:p>123 456,56</text:p>\n
+          </table:table-cell>\n
+        </table:table-row>\n
+        <!-- }}} -->\n
+      </tal:block>\n
+      <!-- loop level 2 -->\n
+      <!-- Total expense {{{ -->\n
+        <table:table-row>\n
+          <table:table-cell table:style-name=\'report-stat2\'\n
+                            table:number-columns-spanned=\'3\'\n
+                            table:number-rows-spanned=\'1\'\n
+                            office:value-type=\'string\'>\n
+            <text:p i18n:translate="" i18n:domain="ui">Total <tal:block i18n:name="class"\n
+                        i18n:translate=\'\' i18n:domain="ui" tal:content=\'string:Expense\'></tal:block></text:p>\n
+          </table:table-cell>\n
+          <table:covered-table-cell table:style-name="ce9"/>\n
+          <table:covered-table-cell table:style-name="ce9"/>\n
+\n
+          <table:table-cell table:style-name=\'report-stat-currency2\'\n
+            tal:attributes="office:value python: grand_total_current_period"\n
+            office:value-type=\'float\' office:value=\'123456.56\'><text:p>123 456,56</text:p></table:table-cell>\n
+          <table:table-cell table:style-name=\'report-stat-currency2\'\n
+            tal:attributes="office:value python: grand_total_previous_period"\n
+            office:value=\'123456.56\' office:value-type=\'float\'><text:p>123 456,56</text:p></table:table-cell>\n
+        </table:table-row>\n
+      <!-- }}} -->\n
+\n
+        <!-- NET PROFIT {{{ -->\n
+        <table:table-row tal:condition="python: net_income &lt; 0 or net_income_previous_period &lt; 0">\n
+          <table:table-cell table:style-name=\'report-stat2\'\n
+                            office:value-type=\'string\'\n
+                            table:number-rows-spanned=\'1\'\n
+                            table:number-columns-spanned=\'3\'>\n
+          <text:p i18n:translate="" i18n:domain="ui">Net Profit</text:p>\n
+          </table:table-cell>\n
+          <table:covered-table-cell table:style-name="ce9"/><table:covered-table-cell table:style-name="ce9"/>\n
+          <table:table-cell table:style-name=\'report-stat-currency2\'\n
+            tal:attributes="office:value python: - net_income"\n
+            tal:define="global grand_total_current_period python: grand_total_current_period - net_income"\n
+            office:value-type=\'float\' office:value=\'123456.56\'><text:p>123 456,56</text:p></table:table-cell>\n
+          <table:table-cell table:style-name=\'report-stat-currency2\'\n
+            tal:attributes="office:value python: - net_income_previous_period"\n
+            tal:define="global grand_total_previous_period python: grand_total_previous_period - net_income_previous_period"\n
+            office:value=\'\' office:value-type=\'float\'><text:p></text:p></table:table-cell>\n
+        </table:table-row>\n
+\n
+        <!-- TOTAL LEVEL 2 {{{ -->\n
+        <table:table-row>\n
+          <table:table-cell table:style-name=\'report-stat2\'\n
+                            table:number-columns-spanned=\'3\'\n
+                            table:number-rows-spanned=\'1\'\n
+                            office:value-type=\'string\'>\n
+            <text:p i18n:translate="" i18n:domain="ui">Total</text:p>\n
+          </table:table-cell>\n
+          <table:covered-table-cell table:style-name="ce9"/>\n
+          <table:covered-table-cell table:style-name="ce9"/>\n
+\n
+          <table:table-cell table:style-name=\'report-stat-currency2\'\n
+            tal:attributes="office:value python: grand_total_current_period"\n
+            office:value-type=\'float\' office:value=\'123456.56\'><text:p>123 456,56</text:p></table:table-cell>\n
+          <table:table-cell table:style-name=\'report-stat-currency2\'\n
+            tal:attributes="office:value python: grand_total_previous_period"\n
+            office:value=\'123456.56\' office:value-type=\'float\'><text:p>123 456,56</text:p></table:table-cell>\n
+        </table:table-row>\n
+\n
+        <table:table-row table:style-name=\'ro9\'>\n
+          <table:table-cell table:style-name=\'bottom_border\'\n
+                            table:number-columns-spanned=\'3\'\n
+                            table:number-rows-spanned=\'1\'/>\n
+          <table:table-cell table:style-name=\'bottom_border\'/>\n
+          <table:table-cell table:style-name=\'bottom_border\'/>\n
+          <table:table-cell table:style-name=\'bottom_border\'/>\n
+          <table:table-cell table:style-name=\'bottom_border\'/>\n
+        </table:table-row>\n
+        <!-- }}} --> \n
+      \n
+      </tal:block> <!-- loop level 1 -->\n
+      \n
+      <table:table-row table:style-name=\'page-break\'>\n
+        <table:table-cell table:style-name=\'empty-cell\' />\n
+      </table:table-row>\n
+\n
+\n
+    </table:table> <!-- new table -->\n
+    <table:table table:style-name=\'ta1\' table:print=\'false\' table:name=\'Income\'\n
+                 i18n:domain=\'ui\' i18n:attributes=\'table:name\'>\n
+        <office:forms form:apply-design-mode=\'false\' form:automatic-focus=\'false\'/>\n
+        <table:table-column table:style-name=\'co1\' table:default-cell-style-name=\'report-title\'/>\n
+        <table:table-column table:style-name=\'co2\' table:default-cell-style-name=\'ce7\'/>\n
+        <table:table-column table:style-name=\'co2\' table:default-cell-style-name=\'ce1\'/>\n
+        <table:table-column table:style-name=\'co2\' table:default-cell-style-name=\'ce1\'/>\n
+        <table:table-column table:style-name=\'co2\' table:default-cell-style-name=\'report-column-title\'/>\n
+\n
+\n
+        <tal:block  tal:define="global total_current_period python: 0;\n
+                                global total_previous_period python: 0;\n
+                                \n
+                                global grand_total_current_period python: 0;\n
+                                global grand_total_previous_period python: 0;\n
+                                global level1_counter python:0;\n
+                                global level2_title python:\'\';\n
+                                global level1_title python:\'\';">\n
+\n
+        <!-- Header {{{ -->\n
+        <table:table-header-rows>\n
+        <table:table-row table:style-name=\'ro3\'>\n
+          <table:table-cell\n
+              table:style-name=\'report-column-title\'\n
+              office:value-type=\'string\'\n
+              table:number-rows-spanned=\'1\'\n
+              table:number-columns-spanned=\'3\'>\n
+            <text:p i18n:translate="" i18n:domain="ui">Income</text:p>\n
+          </table:table-cell>\n
+          <table:covered-table-cell table:style-name="ce9"/><table:covered-table-cell table:style-name="ce9"/>\n
+          <table:table-cell table:style-name=\'report-column-title\' office:value-type=\'string\'>\n
+            <text:p i18n:translate="" i18n:domain="ui">Current Period</text:p>\n
+          </table:table-cell>\n
+          <table:table-cell table:style-name="report-column-title" office:value-type=\'string\'>\n
+            <text:p i18n:translate="" i18n:domain="ui">Prev. Period</text:p>\n
+          </table:table-cell>\n
+        </table:table-row>\n
+        </table:table-header-rows>\n
+\n
+        <tal:block tal:repeat="cat_level_1 python:financial_section.income.contentValues(sort_on=((\'int_index\', \'ascending\'),))">\n
+            <tal:block tal:define="global total_current_period python: 0;\n
+                                   global total_previous_period python: 0;">\n
+        <!-- }}} -->\n
+\n
+            <!-- LEVEL 1 {{{ -->\n
+            <table:table-row table:style-name=\'ro4\'>\n
+              <table:table-cell table:style-name=\'report-content-heading1\'\n
+                                table:number-columns-spanned=\'3\'\n
+                                table:number-rows-spanned=\'1\'\n
+                                office:value-type=\'string\'>\n
+                                <text:p tal:define="global level1_title cat_level_1/getTranslatedTitle"\n
+                                  tal:content="level1_title">Level 1</text:p>\n
+              </table:table-cell>\n
+              <table:covered-table-cell table:style-name="ce9"/>\n
+              <table:covered-table-cell table:style-name="ce9"/>\n
+              <tal:block tal:define="display_level_2 cat_level_1/contentIds">\n
+                <tal:block tal:condition="display_level_2">\n
+                  <table:table-cell table:style-name=\'report-content-currency1\'>\n
+                    <text:p/></table:table-cell>\n
+                  <table:table-cell table:style-name=\'report-content-currency1\'>\n
+                    <text:p/></table:table-cell>\n
+                </tal:block>\n
+                <tal:block tal:condition="not: display_level_2"\n
+                           tal:define="node_category cat_level_1/getRelativeUrl">\n
+\n
+                  <!-- current period -->\n
+                  <tal:block\n
+                      tal:define=\'value python:- getInventory(node_category=node_category);\n
+                      global total_current_period python: total_current_period + value;\'>\n
+                      <table:table-cell\n
+                        tal:condition=\'value\'\n
+                        table:style-name=\'report-content-currency1\'\n
+                        tal:attributes=\'office:value value\'\n
+                        office:value-type=\'float\' office:value=\'123456.56\'>\n
+                           <text:p>123 456,56</text:p>\n
+                      </table:table-cell>\n
+                      <table:table-cell\n
+                        tal:condition=\'not: value\'\n
+                        table:style-name=\'report-content-currency1\'>\n
+                        <text:p></text:p>\n
+                      </table:table-cell>\n
+                   </tal:block>\n
+                   \n
+                  <!-- previous period -->\n
+                  <tal:block\n
+                      tal:define=\'value python: -getInventoryPreviousPeriod(node_category=node_category);\n
+                      global total_previous_period python: total_previous_period + value;\'>\n
+                      <table:table-cell\n
+                        tal:condition=\'value\'\n
+                        table:style-name=\'report-content-currency1\'\n
+                        tal:attributes=\'office:value value\'\n
+                        office:value=\'123456.56\'\n
+                        office:value-type=\'float\'>\n
+                        <text:p>123 456,56</text:p>\n
+                      </table:table-cell>\n
+                      <table:table-cell\n
+                        tal:condition=\'not:value\'\n
+                        table:style-name=\'report-content-currency1\'>\n
+                        <text:p></text:p>\n
+                      </table:table-cell>\n
+                  </tal:block>\n
+                 </tal:block>\n
+                </tal:block>\n
+            </table:table-row>\n
+            <!-- }}} -->\n
+          \n
+            <!-- LEVEL 2 {{{ -->\n
+              <tal:block tal:repeat="cat_level_2 python:cat_level_1.contentValues(sort_on=((\'int_index\', \'ascending\'),))">\n
+              \n
+              <!-- if we have sub content at level 3 to display, we will only display a title ...\n
+              -->\n
+              <table:table-row table:style-name=\'ro4\' tal:condition="cat_level_2/contentIds">\n
+                <table:table-cell table:style-name=\'report-content-heading2\'\n
+                                  office:value-type=\'string\'\n
+                                  table:number-columns-spanned=\'3\'\n
+                                  table:number-rows-spanned=\'1\'>\n
+                  <text:p> <text:span\n
+                                text:style-name=\'T1\'\n
+                                tal:define="global title_level2 cat_level_2/getTranslatedTitle"\n
+                                tal:content="title_level2">Level 2</text:span></text:p>\n
+                </table:table-cell>\n
+                <table:covered-table-cell table:style-name="ce9"/>\n
+                <table:covered-table-cell table:style-name="ce9"/>\n
+                <table:table-cell table:style-name=\'report-content-currency2\'>\n
+                  <text:p></text:p></table:table-cell>\n
+                <table:table-cell table:style-name=\'report-content-currency2\'>\n
+                  <text:p></text:p></table:table-cell>\n
+              </table:table-row>\n
+              <!-- ... otherwise, if we have nothing deeper to display, we display the value at this level. -->\n
+              <table:table-row table:style-name=\'ro4\'\n
+                               tal:condition="not: cat_level_2/contentIds"\n
+                               tal:define="node_category cat_level_2/getRelativeUrl;">\n
+                <table:table-cell table:style-name=\'report-content-heading2\'\n
+                                  office:value-type=\'string\'\n
+                                  table:number-columns-spanned=\'3\'\n
+                                  table:number-rows-spanned=\'1\'>\n
+                  <text:p> <text:span\n
+                                text:style-name=\'T1\'\n
+                                tal:define="global title_level2 cat_level_2/getTranslatedTitle"\n
+                                tal:content="title_level2">Level 2</text:span></text:p>\n
+                </table:table-cell>\n
+                <table:covered-table-cell table:style-name="ce9"/>\n
+                <table:covered-table-cell table:style-name="ce9"/>\n
+\n
+                  <!-- current period: -->\n
+                  <tal:block\n
+                      tal:define=\'value python: -getInventory(node_category=node_category);\n
+                                  global total_current_period python: total_current_period + value;\'>\n
+                    <table:table-cell\n
+                        tal:condition=\'value\'\n
+                        tal:attributes=\'office:value value\'\n
+                        table:style-name=\'report-content-currency2\'\n
+                        office:value-type=\'float\'\n
+                        office:value=\'123456.56\'>\n
+                      <text:p>123 456,56</text:p>\n
+                    </table:table-cell>\n
+                    <table:table-cell\n
+                        tal:condition=\'not:value\'\n
+                        table:style-name=\'report-content-currency2\'>\n
+                      <text:p></text:p>\n
+                    </table:table-cell>\n
+                  </tal:block>\n
+\n
+                  <!-- previous period -->\n
+                  <tal:block \n
+                      tal:define=\'value python: -getInventoryPreviousPeriod(node_category=node_category);\n
+                                  global total_previous_period python: total_previous_period + value;\'>\n
+                    <table:table-cell\n
+                      tal:condition=\'value\'\n
+                      tal:attributes=\'office:value value\'\n
+                      table:style-name=\'report-content-currency2\'\n
+                      office:value=\'123456.56\'\n
+                      office:value-type=\'float\'>\n
+                      <text:p>123 456,56</text:p>\n
+                    </table:table-cell>\n
+                    <table:table-cell\n
+                      tal:condition=\'not:value\'\n
+                      table:style-name=\'report-content-currency2\'>\n
+                      <text:p></text:p>\n
+                    </table:table-cell>\n
+                  </tal:block>\n
+              </table:table-row>\n
+\n
+              <!-- }}} -->\n
+            \n
+              <!-- LEVEL 3 {{{ -->\n
+              <table:table-row tal:repeat="cat_level_3 python: cat_level_2.contentValues(sort_on=((\'int_index\', \'ascending\'),))">\n
+                <tal:block tal:define="node_category cat_level_3/getRelativeUrl;">\n
+                  <table:table-cell table:style-name=\'report-content-heading3\'\n
+                                    table:number-columns-spanned=\'3\'\n
+                                    table:number-rows-spanned=\'1\'\n
+                                    office:value-type=\'string\'>\n
+                    <text:p tal:content="cat_level_3/getTranslatedTitle">Level 3</text:p>\n
+                  </table:table-cell>\n
+                  <table:covered-table-cell table:style-name="ce9"/><table:covered-table-cell table:style-name="ce9"/>\n
+                  \n
+                  <!-- current period; -->\n
+                  <tal:block\n
+                      tal:define=\'value python: -getInventory(node_category=node_category);\n
+                              global total_current_period python: total_current_period + value;\'>\n
+                    <table:table-cell\n
+                        tal:condition=\'value\'\n
+                        tal:attributes=\'office:value value\'\n
+                        table:style-name=\'report-content-currency3\'\n
+                        office:value-type=\'float\'\n
+                        office:value=\'123456.56\'>\n
+                      <text:p>123 456,56</text:p>\n
+                    </table:table-cell>\n
+                    <table:table-cell\n
+                        tal:condition=\'not:value\'\n
+                        table:style-name=\'report-content-currency3\'>\n
+                      <text:p></text:p>\n
+                    </table:table-cell>\n
+                  </tal:block>\n
+\n
+                  <!-- previous period -->\n
+                  <tal:block\n
+                      tal:define=\'value python: -getInventoryPreviousPeriod(node_category=node_category);\n
+                                global total_previous_period python: total_previous_period + value;\'>\n
+                    <table:table-cell\n
+                        tal:condition=\'value\'\n
+                        tal:attributes=\'office:value value\'\n
+                        table:style-name=\'report-content-currency3\'\n
+                        office:value=\'123456.56\'\n
+                        office:value-type=\'float\'>\n
+                      <text:p>123 456,56</text:p>\n
+                    </table:table-cell>\n
+                    <table:table-cell\n
+                        tal:condition=\'not:value\'\n
+                        table:style-name=\'report-content-currency3\'>\n
+                      <text:p></text:p>\n
+                    </table:table-cell>\n
+\n
+                  </tal:block>\n
+                </tal:block>\n
+            </table:table-row>\n
+          </tal:block>\n
+          </tal:block>\n
+        <!-- }}} --> \n
+\n
+        <!-- TOTAL LEVEL 1 {{{ -->\n
+        <table:table-row table:style-name=\'ro7\'>\n
+          <table:table-cell table:style-name=\'report-stat1\'\n
+                            office:value-type=\'string\'\n
+                            table:number-rows-spanned=\'1\'\n
+                            table:number-columns-spanned=\'3\'>\n
+          <text:p tal:define=\'global level1_counter python: level1_counter + 1;\'\n
+            i18n:translate="" i18n:domain="ui">Total <tal:block i18n:name="category_level_1_title" tal:content=\'level1_title\'>\n
+                                                     </tal:block> <tal:block i18n:name="level1_counter" tal:content=\'level1_counter\'>\n
+                                                     </tal:block></text:p>\n
+          </table:table-cell>\n
+          <table:covered-table-cell table:style-name="ce9"/><table:covered-table-cell table:style-name="ce9"/>\n
+\n
+          <!-- current_period -->\n
+          <table:table-cell \n
+              table:style-name=\'report-stat-currency1\'\n
+              tal:define=\'global grand_total_current_period python: grand_total_current_period + total_current_period\'\n
+              tal:attributes="office:value total_current_period"\n
+              office:value-type=\'float\' office:value=\'123456.56\'>\n
+            <text:p>123 456,56</text:p>\n
+          </table:table-cell>\n
+\n
+          <!-- previous period -->\n
+          <table:table-cell\n
+              table:style-name=\'report-stat-currency1\'\n
+              tal:define=\'global grand_total_previous_period python: grand_total_previous_period + total_previous_period\'\n
+              tal:attributes="office:value total_previous_period"\n
+              office:value-type=\'float\'\n
+              office:value=\'123456.56\'>\n
+            <text:p>123 456,56</text:p>\n
+          </table:table-cell>\n
+        </table:table-row>\n
+        <!-- }}} -->\n
+\n
+      </tal:block> <!-- loop level 2 -->\n
+\n
+        <!-- TOTAL INCOME {{{ -->\n
+        <table:table-row>\n
+          <table:table-cell table:style-name=\'report-stat2\'\n
+                            office:value-type=\'string\'\n
+                            table:number-rows-spanned=\'1\'\n
+                            table:number-columns-spanned=\'3\'>\n
+          <text:p i18n:translate="" i18n:domain="ui">Total <tal:block i18n:name="class" i18n:translate=\'\' i18n:domain="ui" tal:content=\'string:Income\'></tal:block></text:p>\n
+          </table:table-cell>\n
+          <table:covered-table-cell table:style-name="ce9"/><table:covered-table-cell table:style-name="ce9"/>\n
+          <table:table-cell table:style-name=\'report-stat-currency2\'\n
+            tal:attributes="office:value python: grand_total_current_period"\n
+            office:value-type=\'float\' office:value=\'123456.56\'><text:p>123 456,56</text:p></table:table-cell>\n
+          <table:table-cell table:style-name=\'report-stat-currency2\'\n
+            tal:attributes="office:value python: grand_total_previous_period"\n
+            office:value=\'123456.56\' office:value-type=\'float\'><text:p>123 456,56</text:p></table:table-cell>\n
+        </table:table-row>\n
+        <!-- }}} --> \n
+\n
+        <!-- NET LOSS {{{ -->\n
+        <table:table-row tal:condition="python: net_income &gt; 0 or net_income_previous_period &gt; 0">\n
+          <table:table-cell table:style-name=\'report-stat2\'\n
+                            office:value-type=\'string\'\n
+                            table:number-rows-spanned=\'1\'\n
+                            table:number-columns-spanned=\'3\'>\n
+          <text:p i18n:translate="" i18n:domain="ui">Net Loss</text:p>\n
+          </table:table-cell>\n
+          <table:covered-table-cell table:style-name="ce9"/><table:covered-table-cell table:style-name="ce9"/>\n
+          <table:table-cell table:style-name=\'report-stat-currency2\'\n
+            tal:attributes="office:value python: net_income"\n
+            tal:define="global grand_total_current_period python: grand_total_current_period + net_income"\n
+            office:value-type=\'float\' office:value=\'123456.56\'><text:p>123 456,56</text:p></table:table-cell>\n
+          <table:table-cell table:style-name=\'report-stat-currency2\'\n
+            tal:attributes="office:value python: net_income_previous_period"\n
+            tal:define="global grand_total_previous_period python: grand_total_previous_period + net_income_previous_period"\n
+            office:value=\'\' office:value-type=\'float\'><text:p></text:p></table:table-cell>\n
+        </table:table-row>\n
+\n
+        <!-- TOTAL LEVEL 2 {{{ -->\n
+        <table:table-row>\n
+          <table:table-cell table:style-name=\'report-stat2\'\n
+                            office:value-type=\'string\'\n
+                            table:number-rows-spanned=\'1\'\n
+                            table:number-columns-spanned=\'3\'>\n
+          <text:p i18n:translate="" i18n:domain="ui">Total</text:p>\n
+          </table:table-cell>\n
+          <table:covered-table-cell table:style-name="ce9"/><table:covered-table-cell table:style-name="ce9"/>\n
+          <table:table-cell table:style-name=\'report-stat-currency2\'\n
+            tal:attributes="office:value python: grand_total_current_period"\n
+            office:value-type=\'float\' office:value=\'123456.56\'><text:p>123 456,56</text:p></table:table-cell>\n
+          <table:table-cell table:style-name=\'report-stat-currency2\'\n
+            tal:attributes="office:value python: grand_total_previous_period"\n
+            office:value=\'123456.56\' office:value-type=\'float\'><text:p>123 456,56</text:p></table:table-cell>\n
+        </table:table-row>\n
+\n
+        <table:table-row table:style-name=\'ro9\'>\n
+          <table:table-cell table:style-name=\'bottom_border\'\n
+                            table:number-columns-spanned=\'3\'\n
+                            table:number-rows-spanned=\'1\'/>\n
+          <table:table-cell table:style-name=\'bottom_border\'/>\n
+          <table:table-cell table:style-name=\'bottom_border\'/>\n
+          <table:table-cell table:style-name=\'bottom_border\'/>\n
+          <table:table-cell table:style-name=\'bottom_border\'/>\n
+        </table:table-row>\n
+        <!-- }}} --> \n
+      \n
+      </tal:block> <!-- loop level 1 -->\n
+      </table:table>\n
+    </office:spreadsheet>\n
+  </office:body>\n
+</office:document-content><!-- vim: filetype=xml tw=1000 foldmethod=marker\n
+-->\n
+
+
+]]></string> </value>
+        </item>
+        <item>
+            <key> <string>content_type</string> </key>
+            <value> <string>application/vnd.oasis.opendocument.spreadsheet</string> </value>
+        </item>
+        <item>
+            <key> <string>expand</string> </key>
+            <value> <int>0</int> </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>AccountModule_viewJapaneseProfitAndLossReport</string> </value>
+        </item>
+        <item>
+            <key> <string>ooo_stylesheet</string> </key>
+            <value> <string>Base_getODSStyleSheet</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>Profit and Loss Report based on Japanese GAP category</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_accounting_l10n_jp/SkinTemplateItem/portal_skins/erp5_accounting_l10n_jp/AccountModule_viewJapaneseProfitAndLossReportDialog.xml b/bt5/erp5_accounting_l10n_jp/SkinTemplateItem/portal_skins/erp5_accounting_l10n_jp/AccountModule_viewJapaneseProfitAndLossReportDialog.xml
new file mode 100644
index 0000000000..2f09b49659
--- /dev/null
+++ b/bt5/erp5_accounting_l10n_jp/SkinTemplateItem/portal_skins/erp5_accounting_l10n_jp/AccountModule_viewJapaneseProfitAndLossReportDialog.xml
@@ -0,0 +1,141 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="ERP5Form" module="Products.ERP5Form.Form"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_bind_names</string> </key>
+            <value>
+              <object>
+                <klass>
+                  <global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/>
+                </klass>
+                <tuple/>
+                <state>
+                  <dictionary>
+                    <item>
+                        <key> <string>_asgns</string> </key>
+                        <value>
+                          <dictionary/>
+                        </value>
+                    </item>
+                  </dictionary>
+                </state>
+              </object>
+            </value>
+        </item>
+        <item>
+            <key> <string>_objects</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+        <item>
+            <key> <string>action</string> </key>
+            <value> <string>AccountModule_viewProfitAndLossReport</string> </value>
+        </item>
+        <item>
+            <key> <string>encoding</string> </key>
+            <value> <string>UTF-8</string> </value>
+        </item>
+        <item>
+            <key> <string>enctype</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>group_list</string> </key>
+            <value>
+              <list>
+                <string>left</string>
+                <string>right</string>
+                <string>center</string>
+                <string>disabled</string>
+              </list>
+            </value>
+        </item>
+        <item>
+            <key> <string>groups</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>center</string> </key>
+                    <value>
+                      <list/>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>disabled</string> </key>
+                    <value>
+                      <list/>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>left</string> </key>
+                    <value>
+                      <list>
+                        <string>your_section_category</string>
+                        <string>your_section_category_strict</string>
+                        <string>your_function</string>
+                        <string>your_project</string>
+                        <string>your_at_date</string>
+                        <string>your_format</string>
+                      </list>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>right</string> </key>
+                    <value>
+                      <list>
+                        <string>your_simulation_state</string>
+                      </list>
+                    </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>AccountModule_viewJapaneseProfitAndLossReportDialog</string> </value>
+        </item>
+        <item>
+            <key> <string>method</string> </key>
+            <value> <string>POST</string> </value>
+        </item>
+        <item>
+            <key> <string>name</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>pt</string> </key>
+            <value> <string>form_dialog</string> </value>
+        </item>
+        <item>
+            <key> <string>row_length</string> </key>
+            <value> <int>4</int> </value>
+        </item>
+        <item>
+            <key> <string>stored_encoding</string> </key>
+            <value> <string>UTF-8</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>Profit and Loss</string> </value>
+        </item>
+        <item>
+            <key> <string>unicode_mode</string> </key>
+            <value> <int>0</int> </value>
+        </item>
+        <item>
+            <key> <string>update_action</string> </key>
+            <value> <string></string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_accounting_l10n_jp/SkinTemplateItem/portal_skins/erp5_accounting_l10n_jp/AccountModule_viewJapaneseProfitAndLossReportDialog/your_at_date.xml b/bt5/erp5_accounting_l10n_jp/SkinTemplateItem/portal_skins/erp5_accounting_l10n_jp/AccountModule_viewJapaneseProfitAndLossReportDialog/your_at_date.xml
new file mode 100644
index 0000000000..143f6dedd0
--- /dev/null
+++ b/bt5/erp5_accounting_l10n_jp/SkinTemplateItem/portal_skins/erp5_accounting_l10n_jp/AccountModule_viewJapaneseProfitAndLossReportDialog/your_at_date.xml
@@ -0,0 +1,93 @@
+<?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/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>your_at_date</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>field_id</string> </key>
+                    <value> <string>your_at_date</string> </value>
+                </item>
+                <item>
+                    <key> <string>form_id</string> </key>
+                    <value> <string>AccountModule_viewDialogFieldLibrary</string> </value>
+                </item>
+                <item>
+                    <key> <string>target</string> </key>
+                    <value> <string>Click to edit the target</string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_accounting_l10n_jp/SkinTemplateItem/portal_skins/erp5_accounting_l10n_jp/AccountModule_viewJapaneseProfitAndLossReportDialog/your_format.xml b/bt5/erp5_accounting_l10n_jp/SkinTemplateItem/portal_skins/erp5_accounting_l10n_jp/AccountModule_viewJapaneseProfitAndLossReportDialog/your_format.xml
new file mode 100644
index 0000000000..7a3929385b
--- /dev/null
+++ b/bt5/erp5_accounting_l10n_jp/SkinTemplateItem/portal_skins/erp5_accounting_l10n_jp/AccountModule_viewJapaneseProfitAndLossReportDialog/your_format.xml
@@ -0,0 +1,278 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="ListField" module="Products.Formulator.StandardFields"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>your_format</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>
+                <item>
+                    <key> <string>required_not_found</string> </key>
+                    <value> <string>Input is required but no input given.</string> </value>
+                </item>
+                <item>
+                    <key> <string>unknown_selection</string> </key>
+                    <value> <string>You selected an item that was not in the list.</string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>overrides</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>alternate_name</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>css_class</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>default</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>description</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>editable</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>enabled</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>external_validator</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>extra</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>extra_item</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>first_item</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>hidden</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>items</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>required</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>size</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>title</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>unicode</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>whitespace_preserve</string> </key>
+                    <value> <string></string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>tales</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>alternate_name</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>css_class</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>default</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>description</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>editable</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>enabled</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>external_validator</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>extra</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>extra_item</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>first_item</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>hidden</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>items</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>required</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>size</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>title</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>unicode</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>whitespace_preserve</string> </key>
+                    <value> <string></string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>values</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>alternate_name</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>css_class</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>default</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>description</string> </key>
+                    <value> <string>Printing format</string> </value>
+                </item>
+                <item>
+                    <key> <string>editable</string> </key>
+                    <value> <int>1</int> </value>
+                </item>
+                <item>
+                    <key> <string>enabled</string> </key>
+                    <value> <int>1</int> </value>
+                </item>
+                <item>
+                    <key> <string>external_validator</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>extra</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>extra_item</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>first_item</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+                <item>
+                    <key> <string>hidden</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+                <item>
+                    <key> <string>items</string> </key>
+                    <value>
+                      <list>
+                        <tuple>
+                          <string>OpenOffice Calc</string>
+                          <string></string>
+                        </tuple>
+                        <tuple>
+                          <string>PDF</string>
+                          <string>pdf</string>
+                        </tuple>
+                        <tuple>
+                          <string>Excel</string>
+                          <string>xls</string>
+                        </tuple>
+                      </list>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>required</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+                <item>
+                    <key> <string>size</string> </key>
+                    <value> <int>1</int> </value>
+                </item>
+                <item>
+                    <key> <string>title</string> </key>
+                    <value> <string>Format</string> </value>
+                </item>
+                <item>
+                    <key> <string>unicode</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+                <item>
+                    <key> <string>whitespace_preserve</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_accounting_l10n_jp/SkinTemplateItem/portal_skins/erp5_accounting_l10n_jp/AccountModule_viewJapaneseProfitAndLossReportDialog/your_function.xml b/bt5/erp5_accounting_l10n_jp/SkinTemplateItem/portal_skins/erp5_accounting_l10n_jp/AccountModule_viewJapaneseProfitAndLossReportDialog/your_function.xml
new file mode 100644
index 0000000000..bf8802a24b
--- /dev/null
+++ b/bt5/erp5_accounting_l10n_jp/SkinTemplateItem/portal_skins/erp5_accounting_l10n_jp/AccountModule_viewJapaneseProfitAndLossReportDialog/your_function.xml
@@ -0,0 +1,87 @@
+<?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>id</string> </key>
+            <value> <string>your_function</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>field_id</string> </key>
+                    <value> <string>your_function</string> </value>
+                </item>
+                <item>
+                    <key> <string>form_id</string> </key>
+                    <value> <string>AccountModule_viewDialogFieldLibrary</string> </value>
+                </item>
+                <item>
+                    <key> <string>target</string> </key>
+                    <value> <string>Click to edit the target</string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_accounting_l10n_jp/SkinTemplateItem/portal_skins/erp5_accounting_l10n_jp/AccountModule_viewJapaneseProfitAndLossReportDialog/your_project.xml b/bt5/erp5_accounting_l10n_jp/SkinTemplateItem/portal_skins/erp5_accounting_l10n_jp/AccountModule_viewJapaneseProfitAndLossReportDialog/your_project.xml
new file mode 100644
index 0000000000..50264ce0e1
--- /dev/null
+++ b/bt5/erp5_accounting_l10n_jp/SkinTemplateItem/portal_skins/erp5_accounting_l10n_jp/AccountModule_viewJapaneseProfitAndLossReportDialog/your_project.xml
@@ -0,0 +1,93 @@
+<?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/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>your_project</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>field_id</string> </key>
+                    <value> <string>your_project</string> </value>
+                </item>
+                <item>
+                    <key> <string>form_id</string> </key>
+                    <value> <string>AccountModule_viewDialogFieldLibrary</string> </value>
+                </item>
+                <item>
+                    <key> <string>target</string> </key>
+                    <value> <string>Click to edit the target</string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_accounting_l10n_jp/SkinTemplateItem/portal_skins/erp5_accounting_l10n_jp/AccountModule_viewJapaneseProfitAndLossReportDialog/your_section_category.xml b/bt5/erp5_accounting_l10n_jp/SkinTemplateItem/portal_skins/erp5_accounting_l10n_jp/AccountModule_viewJapaneseProfitAndLossReportDialog/your_section_category.xml
new file mode 100644
index 0000000000..42ae5f8972
--- /dev/null
+++ b/bt5/erp5_accounting_l10n_jp/SkinTemplateItem/portal_skins/erp5_accounting_l10n_jp/AccountModule_viewJapaneseProfitAndLossReportDialog/your_section_category.xml
@@ -0,0 +1,137 @@
+<?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/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>your_section_category</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>default</string> </key>
+                    <value>
+                      <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
+                    </value>
+                </item>
+                <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>items</string> </key>
+                    <value>
+                      <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
+                    </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>field_id</string> </key>
+                    <value> <string>your_section_category</string> </value>
+                </item>
+                <item>
+                    <key> <string>form_id</string> </key>
+                    <value> <string>Base_viewDialogFieldLibrary</string> </value>
+                </item>
+                <item>
+                    <key> <string>target</string> </key>
+                    <value> <string>Click to edit the target</string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+      </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>preferences/getPreferredAccountingTransactionSectionCategory</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="3" aka="AAAAAAAAAAM=">
+    <pickle>
+      <tuple>
+        <global name="TALESMethod" module="Products.Formulator.TALESField"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_text</string> </key>
+            <value> <string>python:here.portal_categories.group.getCategoryChildIndentedTitleItemList(base=1)</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_accounting_l10n_jp/SkinTemplateItem/portal_skins/erp5_accounting_l10n_jp/AccountModule_viewJapaneseProfitAndLossReportDialog/your_section_category_strict.xml b/bt5/erp5_accounting_l10n_jp/SkinTemplateItem/portal_skins/erp5_accounting_l10n_jp/AccountModule_viewJapaneseProfitAndLossReportDialog/your_section_category_strict.xml
new file mode 100644
index 0000000000..7eb7984a6c
--- /dev/null
+++ b/bt5/erp5_accounting_l10n_jp/SkinTemplateItem/portal_skins/erp5_accounting_l10n_jp/AccountModule_viewJapaneseProfitAndLossReportDialog/your_section_category_strict.xml
@@ -0,0 +1,93 @@
+<?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/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>your_section_category_strict</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>field_id</string> </key>
+                    <value> <string>your_section_category_strict</string> </value>
+                </item>
+                <item>
+                    <key> <string>form_id</string> </key>
+                    <value> <string>AccountModule_viewDialogFieldLibrary</string> </value>
+                </item>
+                <item>
+                    <key> <string>target</string> </key>
+                    <value> <string>Click to edit the target</string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_accounting_l10n_jp/SkinTemplateItem/portal_skins/erp5_accounting_l10n_jp/AccountModule_viewJapaneseProfitAndLossReportDialog/your_simulation_state.xml b/bt5/erp5_accounting_l10n_jp/SkinTemplateItem/portal_skins/erp5_accounting_l10n_jp/AccountModule_viewJapaneseProfitAndLossReportDialog/your_simulation_state.xml
new file mode 100644
index 0000000000..5bab0a990d
--- /dev/null
+++ b/bt5/erp5_accounting_l10n_jp/SkinTemplateItem/portal_skins/erp5_accounting_l10n_jp/AccountModule_viewJapaneseProfitAndLossReportDialog/your_simulation_state.xml
@@ -0,0 +1,115 @@
+<?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/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>your_simulation_state</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>items</string> </key>
+                    <value>
+                      <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
+                    </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>field_id</string> </key>
+                    <value> <string>your_simulation_state</string> </value>
+                </item>
+                <item>
+                    <key> <string>form_id</string> </key>
+                    <value> <string>AccountModule_viewDialogFieldLibrary</string> </value>
+                </item>
+                <item>
+                    <key> <string>target</string> </key>
+                    <value> <string>Click to edit the target</string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+      </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:here.Base_getTranslatedWorkflowStateItemList(wf_id = \'accounting_workflow\')</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_accounting_l10n_jp/bt/change_log b/bt5/erp5_accounting_l10n_jp/bt/change_log
index 0a21ea0b8e..b85d758924 100644
--- a/bt5/erp5_accounting_l10n_jp/bt/change_log
+++ b/bt5/erp5_accounting_l10n_jp/bt/change_log
@@ -1,3 +1,6 @@
+2010-08-03 yusuke
+* Add revised version of japanese gap category tree which is rather according to pcg.
+
 2010-03-02 yusei
 * Remove short title.
 
diff --git a/bt5/erp5_accounting_l10n_jp/bt/revision b/bt5/erp5_accounting_l10n_jp/bt/revision
index b5045cc404..cabf43b5dd 100644
--- a/bt5/erp5_accounting_l10n_jp/bt/revision
+++ b/bt5/erp5_accounting_l10n_jp/bt/revision
@@ -1 +1 @@
-21
\ No newline at end of file
+24
\ No newline at end of file
diff --git a/bt5/erp5_accounting_l10n_jp/bt/template_action_path_list b/bt5/erp5_accounting_l10n_jp/bt/template_action_path_list
index e69de29bb2..6df9513b00 100644
--- a/bt5/erp5_accounting_l10n_jp/bt/template_action_path_list
+++ b/bt5/erp5_accounting_l10n_jp/bt/template_action_path_list
@@ -0,0 +1 @@
+Accounting Transaction Module | balance_sheet_report_l10n_jp
\ No newline at end of file
diff --git a/bt5/erp5_accounting_l10n_jp/bt/template_local_role_list b/bt5/erp5_accounting_l10n_jp/bt/template_local_role_list
new file mode 100644
index 0000000000..e69de29bb2
diff --git a/bt5/erp5_accounting_l10n_jp/bt/template_portal_type_role_list b/bt5/erp5_accounting_l10n_jp/bt/template_portal_type_role_list
new file mode 100644
index 0000000000..e69de29bb2
diff --git a/bt5/erp5_accounting_l10n_jp/bt/template_registered_skin_selection_list b/bt5/erp5_accounting_l10n_jp/bt/template_registered_skin_selection_list
new file mode 100644
index 0000000000..e69de29bb2
diff --git a/bt5/erp5_accounting_l10n_jp/bt/template_skin_id_list b/bt5/erp5_accounting_l10n_jp/bt/template_skin_id_list
index e69de29bb2..3fd4a198d9 100644
--- a/bt5/erp5_accounting_l10n_jp/bt/template_skin_id_list
+++ b/bt5/erp5_accounting_l10n_jp/bt/template_skin_id_list
@@ -0,0 +1 @@
+erp5_accounting_l10n_jp
\ No newline at end of file
-- 
2.30.9


From 08b2e15a06bf8003f362ff37a3bbd7db010b70ba Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?J=C3=A9rome=20Perrin?= <jerome@nexedi.com>
Date: Tue, 3 Aug 2010 14:37:44 +0000
Subject: [PATCH 240/270] reset solvers when cloning a delivery

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@37445 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 .../portal_skins/erp5_invoicing/Invoice_afterClone.xml          | 1 +
 bt5/erp5_invoicing/bt/revision                                  | 2 +-
 .../portal_skins/erp5_core/Delivery_afterClone.xml              | 1 +
 product/ERP5/bootstrap/erp5_core/bt/revision                    | 2 +-
 4 files changed, 4 insertions(+), 2 deletions(-)

diff --git a/bt5/erp5_invoicing/SkinTemplateItem/portal_skins/erp5_invoicing/Invoice_afterClone.xml b/bt5/erp5_invoicing/SkinTemplateItem/portal_skins/erp5_invoicing/Invoice_afterClone.xml
index 7e2b7a0018..c51a9adaba 100644
--- a/bt5/erp5_invoicing/SkinTemplateItem/portal_skins/erp5_invoicing/Invoice_afterClone.xml
+++ b/bt5/erp5_invoicing/SkinTemplateItem/portal_skins/erp5_invoicing/Invoice_afterClone.xml
@@ -58,6 +58,7 @@
 context.setSourceReference(None)\n
 context.setReference(None)\n
 context.setDestinationReference(None)\n
+context.setSolver(None)\n
 </string> </value>
         </item>
         <item>
diff --git a/bt5/erp5_invoicing/bt/revision b/bt5/erp5_invoicing/bt/revision
index b4eed3b8ac..755152b7ef 100644
--- a/bt5/erp5_invoicing/bt/revision
+++ b/bt5/erp5_invoicing/bt/revision
@@ -1 +1 @@
-358
+359
\ No newline at end of file
diff --git a/product/ERP5/bootstrap/erp5_core/SkinTemplateItem/portal_skins/erp5_core/Delivery_afterClone.xml b/product/ERP5/bootstrap/erp5_core/SkinTemplateItem/portal_skins/erp5_core/Delivery_afterClone.xml
index e7e066ff6b..19b4cb02d7 100644
--- a/product/ERP5/bootstrap/erp5_core/SkinTemplateItem/portal_skins/erp5_core/Delivery_afterClone.xml
+++ b/product/ERP5/bootstrap/erp5_core/SkinTemplateItem/portal_skins/erp5_core/Delivery_afterClone.xml
@@ -56,6 +56,7 @@
             <value> <string>#Clean some properties\n
 context.setSourceReference(None)\n
 context.setDestinationReference(None)\n
+context.setSolver(None)\n
 </string> </value>
         </item>
         <item>
diff --git a/product/ERP5/bootstrap/erp5_core/bt/revision b/product/ERP5/bootstrap/erp5_core/bt/revision
index 7c4d9d12ed..bcf484964b 100644
--- a/product/ERP5/bootstrap/erp5_core/bt/revision
+++ b/product/ERP5/bootstrap/erp5_core/bt/revision
@@ -1 +1 @@
-1643
\ No newline at end of file
+1644
\ No newline at end of file
-- 
2.30.9


From 5fd2546a040b336a15b552efb49adea154b5a271 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?J=C3=A9rome=20Perrin?= <jerome@nexedi.com>
Date: Tue, 3 Aug 2010 14:45:18 +0000
Subject: [PATCH 241/270] 'context' is not in kw when indexing

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@37446 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 product/ERP5/Document/BusinessPath.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/product/ERP5/Document/BusinessPath.py b/product/ERP5/Document/BusinessPath.py
index 044dc92602..1894ee1012 100644
--- a/product/ERP5/Document/BusinessPath.py
+++ b/product/ERP5/Document/BusinessPath.py
@@ -163,7 +163,7 @@ class BusinessPath(Path, Predicate):
       Overridden in order to take into account dynamic arrow categories in case if no static
       categories are set on Business Path
     """
-    context = kw.pop('context')
+    context = kw.pop('context', None)
     result = Path._getCategoryMembershipList(self, category, **kw)
     if len(result) > 0:
       return result
-- 
2.30.9


From d91bfebb0be412cd374907af8f97ccedf44e92f7 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?J=C3=A9rome=20Perrin?= <jerome@nexedi.com>
Date: Tue, 3 Aug 2010 15:34:31 +0000
Subject: [PATCH 242/270] no required fields in view mode

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@37450 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 .../portal_skins/erp5_core/Predicate_view/my_title.xml          | 2 +-
 product/ERP5/bootstrap/erp5_core/bt/revision                    | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/product/ERP5/bootstrap/erp5_core/SkinTemplateItem/portal_skins/erp5_core/Predicate_view/my_title.xml b/product/ERP5/bootstrap/erp5_core/SkinTemplateItem/portal_skins/erp5_core/Predicate_view/my_title.xml
index d19c0d35bf..ea05f755b6 100644
--- a/product/ERP5/bootstrap/erp5_core/SkinTemplateItem/portal_skins/erp5_core/Predicate_view/my_title.xml
+++ b/product/ERP5/bootstrap/erp5_core/SkinTemplateItem/portal_skins/erp5_core/Predicate_view/my_title.xml
@@ -236,7 +236,7 @@
                 </item>
                 <item>
                     <key> <string>required</string> </key>
-                    <value> <int>1</int> </value>
+                    <value> <int>0</int> </value>
                 </item>
                 <item>
                     <key> <string>title</string> </key>
diff --git a/product/ERP5/bootstrap/erp5_core/bt/revision b/product/ERP5/bootstrap/erp5_core/bt/revision
index bcf484964b..9d4d47b043 100644
--- a/product/ERP5/bootstrap/erp5_core/bt/revision
+++ b/product/ERP5/bootstrap/erp5_core/bt/revision
@@ -1 +1 @@
-1644
\ No newline at end of file
+1645
\ No newline at end of file
-- 
2.30.9


From e1ad7a33a2363655da79670bd1dea4b2fe207092 Mon Sep 17 00:00:00 2001
From: Fabien Morin <fabien@nexedi.com>
Date: Tue, 3 Aug 2010 15:49:01 +0000
Subject: [PATCH 243/270] isWebMode() depend on editable_mode so this make not
 possible to use same form to view an object in web_mode using the condition
 object.isWebMode() on the action view in the two following cases :  -
 editable_mode:int=1  - editable_mode:int=0

Now it's possible using a condition like
object.isWebMode() or object.isEditableMode()
-> this condition test web mode without caring about editable_mode

reviewed by JPS


git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@37452 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 product/ERP5Type/Base.py | 16 ++++++++++++++++
 1 file changed, 16 insertions(+)

diff --git a/product/ERP5Type/Base.py b/product/ERP5Type/Base.py
index 27a0f0b217..af9b5ee5d7 100644
--- a/product/ERP5Type/Base.py
+++ b/product/ERP5Type/Base.py
@@ -3382,6 +3382,9 @@ class Base( CopyContainer,
 
   security.declarePublic('isWebMode')
   def isWebMode(self):
+    """
+      return True if we are in web_mode and if editable_mode is NOT set
+    """
     if self.getApplicableLayout() is None:
       return False
     if getattr(self.REQUEST, 'ignore_layout', 0):
@@ -3390,6 +3393,19 @@ class Base( CopyContainer,
       return False
     return True
 
+  security.declarePublic('isEditableWebMode')
+  def isEditableWebMode(self):
+    """
+      return True if we are in web_mode and if editable_mode is set
+    """
+    if self.getApplicableLayout() is None:
+      return False
+    if getattr(self.REQUEST, 'ignore_layout', 0):
+      return False
+    if not getattr(self.REQUEST, 'editable_mode', 1):
+      return False
+    return True
+
   security.declareProtected(Permissions.ChangeLocalRoles,
                             'updateLocalRolesOnSecurityGroups')
   def updateLocalRolesOnSecurityGroups(self, **kw):
-- 
2.30.9


From 278154d4a7ef67c911dc3912ed06274421684579 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C5=81ukasz=20Nowak?= <luke@nexedi.com>
Date: Tue, 3 Aug 2010 16:37:30 +0000
Subject: [PATCH 244/270]  - implement ZODB cache for remote users
 authentication, which allows to use    instance even in case when remote
 server is dead, implemented in bug-to-bug    compatible way with
 WizardTool_authenticateCredentials Reviewed by Vincent.

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@37454 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 .../ERP5Wizard/PAS/ERP5RemoteUserManager.py   | 73 ++++++++++++++++++-
 1 file changed, 70 insertions(+), 3 deletions(-)

diff --git a/product/ERP5Wizard/PAS/ERP5RemoteUserManager.py b/product/ERP5Wizard/PAS/ERP5RemoteUserManager.py
index c3985db4f3..26975e3516 100644
--- a/product/ERP5Wizard/PAS/ERP5RemoteUserManager.py
+++ b/product/ERP5Wizard/PAS/ERP5RemoteUserManager.py
@@ -27,6 +27,10 @@ from Products.ERP5Type.Cache import CachingMethod
 from DateTime import DateTime
 from Products.ERP5Security.ERP5UserManager import ERP5UserManager, SUPER_USER, _AuthenticationFailure
 
+from BTrees.OOBTree import OOBTree
+from zLOG import LOG, INFO, WARNING
+import socket
+from AccessControl.AuthEncoding import pw_validate, pw_encrypt
 
 manage_addERP5RemoteUserManagerForm = PageTemplateFile(
     '../dtml/ERP5Security_addERP5RemoteUserManager', globals(),
@@ -52,7 +56,71 @@ class ERP5RemoteUserManager(ERP5UserManager):
 
     meta_type = 'ERP5 Remote User Manager'
     security = ClassSecurityInfo()
-
+    remote_authentication_cache = None
+
+    def _doRemoteAuthentication(self, login, password):
+        # Do remote authentication with local ZODB caching
+        # Thanks to this it is possible to login to instance, even
+        # if master authentication server is down
+        #
+        # socket.sslerror and socket.error are assumed as acceptable ones
+        # and invoke authentication against locally available cache of
+        # users
+        #
+        # any other error is assumed as fatal and results in disallowing
+        # authentication and clearing local cache
+        if self.remote_authentication_cache is None:
+            self.remote_authentication_cache = OOBTree()
+        portal = self.getPortalObject()
+        encrypted_password = pw_encrypt(password)
+        callRemoteProxyMethod = portal.portal_wizard.callRemoteProxyMethod
+        erp5_uid = portal.ERP5Site_getExpressInstanceUid()
+        try:
+            # XXX: This mix of passed parameters is based on
+            # WizardTool_authenticateCredentials. As current implementation
+            # shall be bug-to-bug compatible with previous one, kept such
+            # behaviour
+            result = int(callRemoteProxyMethod(
+                       'Base_authenticateCredentialsFromExpressInstance',
+                       use_cache = 0,
+                       ignore_exceptions = 0,
+                       **{'login': login,
+                          'password': password,
+                          'erp5_uid': erp5_uid}))
+        except (socket.sslerror, socket.error):
+            # issue with socket, read from "ZODB cache"
+            LOG('ERP5RemoteUserManager', INFO, 'Socket issue with server, '
+              'used local cache', error=True)
+            stored_encrypted_password = self.remote_authentication_cache.get(
+               login, None)
+            result = int(stored_encrypted_password is not None and pw_validate(
+              stored_encrypted_password, password))
+        except: # XXX: It would be better to do except Exception, but
+                # to-be-bug compatible with WizardTool_authenticateCredentials
+                # is better to catch the same way
+            # any other issue, work like WizardTool_authenticateCredentials
+            # XXX: To be fine tuned
+            LOG('ERP5RemoteUserManager', WARNING, 'Not supported exception '
+              'assuming that authentication failed', error=True)
+            result = 0
+            # clear local cache
+            if login in self.remote_authentication_cache:
+                del self.remote_authentication_cache[login]
+        else:
+            # store in cache if different
+            if result == 1:
+                # successfully logged in
+                stored_encrypted_password = self.remote_authentication_cache\
+                    .get(login, None)
+                if stored_encrypted_password is None or \
+                   not pw_validate(stored_encrypted_password, password):
+                    # not yet in cache or changed on server
+                    self.remote_authentication_cache[login] = encrypted_password
+            else:
+                # wrong login, so clear local cache
+                if login in self.remote_authentication_cache:
+                    del self.remote_authentication_cache[login]
+        return result
 
     #
     #   IAuthenticationPlugin implementation
@@ -99,8 +167,7 @@ class ERP5RemoteUserManager(ERP5UserManager):
                 valid_assignment_list.append(assignment)
 
               # validate to remote ERP5 instance
-              portal = self.getPortalObject() 
-              is_authenticated = int(portal.WizardTool_authenticateCredentials(login , password))
+              is_authenticated = self._doRemoteAuthentication(login, password)
               if is_authenticated:
                 return login, login
             finally:
-- 
2.30.9


From 7c6d2dd616573e7d9db57d5894018a305a418fd5 Mon Sep 17 00:00:00 2001
From: Rafael Monnerat <rafael@nexedi.com>
Date: Tue, 3 Aug 2010 21:34:54 +0000
Subject: [PATCH 245/270] Include legacy bt5 erp5_trade_proxy_field_legacy.

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@37459 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 buildout/profiles/common.cfg | 1 +
 1 file changed, 1 insertion(+)

diff --git a/buildout/profiles/common.cfg b/buildout/profiles/common.cfg
index 7655894c16..8ec7f2a3a1 100644
--- a/buildout/profiles/common.cfg
+++ b/buildout/profiles/common.cfg
@@ -53,6 +53,7 @@ urls =
   erp5_legacy_tax_system
   erp5_open_trade_legacy_tax_system
   erp5_tax_resource
+  erp5_trade_proxy_field_legacy
 
 [bt5-erp5-extra]
 # additional, experimental, obsoleted
-- 
2.30.9


From cb4ca8dfed234989214634812478d8a4177a3690 Mon Sep 17 00:00:00 2001
From: Nicolas Dumazet <nicolas.dumazet@nexedi.com>
Date: Wed, 4 Aug 2010 05:26:06 +0000
Subject: [PATCH 246/270] add Base_translateCategoryItemList for localization
 of categories

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@37462 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 .../Base_translateCategoryItemList.xml        | 133 ++++++++++++++++++
 bt5/erp5_base/bt/revision                     |   2 +-
 2 files changed, 134 insertions(+), 1 deletion(-)
 create mode 100644 bt5/erp5_base/SkinTemplateItem/portal_skins/erp5_base/Base_translateCategoryItemList.xml

diff --git a/bt5/erp5_base/SkinTemplateItem/portal_skins/erp5_base/Base_translateCategoryItemList.xml b/bt5/erp5_base/SkinTemplateItem/portal_skins/erp5_base/Base_translateCategoryItemList.xml
new file mode 100644
index 0000000000..31705babea
--- /dev/null
+++ b/bt5/erp5_base/SkinTemplateItem/portal_skins/erp5_base/Base_translateCategoryItemList.xml
@@ -0,0 +1,133 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>Script_magic</string> </key>
+            <value> <int>3</int> </value>
+        </item>
+        <item>
+            <key> <string>_bind_names</string> </key>
+            <value>
+              <object>
+                <klass>
+                  <global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/>
+                </klass>
+                <tuple/>
+                <state>
+                  <dictionary>
+                    <item>
+                        <key> <string>_asgns</string> </key>
+                        <value>
+                          <dictionary>
+                            <item>
+                                <key> <string>name_container</string> </key>
+                                <value> <string>container</string> </value>
+                            </item>
+                            <item>
+                                <key> <string>name_context</string> </key>
+                                <value> <string>context</string> </value>
+                            </item>
+                            <item>
+                                <key> <string>name_m_self</string> </key>
+                                <value> <string>script</string> </value>
+                            </item>
+                            <item>
+                                <key> <string>name_subpath</string> </key>
+                                <value> <string>traverse_subpath</string> </value>
+                            </item>
+                          </dictionary>
+                        </value>
+                    </item>
+                  </dictionary>
+                </state>
+              </object>
+            </value>
+        </item>
+        <item>
+            <key> <string>_body</string> </key>
+            <value> <string>result = []\n
+for title, url in category_item_list:\n
+  base_category = context.portal_categories[url]\n
+  result.append((base_category.getTranslatedTitle(), url))\n
+return result\n
+</string> </value>
+        </item>
+        <item>
+            <key> <string>_code</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>_params</string> </key>
+            <value> <string>category_item_list</string> </value>
+        </item>
+        <item>
+            <key> <string>errors</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+        <item>
+            <key> <string>func_code</string> </key>
+            <value>
+              <object>
+                <klass>
+                  <global name="FuncCode" module="Shared.DC.Scripts.Signature"/>
+                </klass>
+                <tuple/>
+                <state>
+                  <dictionary>
+                    <item>
+                        <key> <string>co_argcount</string> </key>
+                        <value> <int>1</int> </value>
+                    </item>
+                    <item>
+                        <key> <string>co_varnames</string> </key>
+                        <value>
+                          <tuple>
+                            <string>category_item_list</string>
+                            <string>result</string>
+                            <string>_getiter_</string>
+                            <string>title</string>
+                            <string>url</string>
+                            <string>_getitem_</string>
+                            <string>_getattr_</string>
+                            <string>context</string>
+                            <string>base_category</string>
+                          </tuple>
+                        </value>
+                    </item>
+                  </dictionary>
+                </state>
+              </object>
+            </value>
+        </item>
+        <item>
+            <key> <string>func_defaults</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>Base_translateCategoryItemList</string> </value>
+        </item>
+        <item>
+            <key> <string>warnings</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_base/bt/revision b/bt5/erp5_base/bt/revision
index 035d0f0c1d..d062eec37b 100644
--- a/bt5/erp5_base/bt/revision
+++ b/bt5/erp5_base/bt/revision
@@ -1 +1 @@
-822
\ No newline at end of file
+823
\ No newline at end of file
-- 
2.30.9


From 066d7c58b2f501de59ea23ab4bd5faa74597734e Mon Sep 17 00:00:00 2001
From: Nicolas Dumazet <nicolas.dumazet@nexedi.com>
Date: Wed, 4 Aug 2010 05:38:18 +0000
Subject: [PATCH 247/270] translate VariationRangeBaseCategory ItemList fields.

(yes, a common proxy field would be useful :)


git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@37463 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 .../my_p_variation_base_category_list.xml                       | 2 +-
 .../my_discount_ratio_variation_base_category_list.xml          | 2 +-
 .../my_surcharge_ratio_variation_base_category_list.xml         | 2 +-
 .../my_p_variation_base_category_list.xml                       | 2 +-
 .../my_discount_ratio_variation_base_category_list.xml          | 2 +-
 .../my_surcharge_ratio_variation_base_category_list.xml         | 2 +-
 .../my_p_variation_base_category_list.xml                       | 2 +-
 .../my_p_variation_base_category_list.xml                       | 2 +-
 .../my_discount_ratio_variation_base_category_list.xml          | 2 +-
 ...my_exclusive_discount_ratio_variation_base_category_list.xml | 2 +-
 .../my_surcharge_ratio_variation_base_category_list.xml         | 2 +-
 bt5/erp5_pdm/bt/revision                                        | 2 +-
 12 files changed, 12 insertions(+), 12 deletions(-)

diff --git a/bt5/erp5_pdm/SkinTemplateItem/portal_skins/erp5_pdm/InternalSupplyLine_viewBasePrice/my_p_variation_base_category_list.xml b/bt5/erp5_pdm/SkinTemplateItem/portal_skins/erp5_pdm/InternalSupplyLine_viewBasePrice/my_p_variation_base_category_list.xml
index 037c63d615..028d5e5634 100644
--- a/bt5/erp5_pdm/SkinTemplateItem/portal_skins/erp5_pdm/InternalSupplyLine_viewBasePrice/my_p_variation_base_category_list.xml
+++ b/bt5/erp5_pdm/SkinTemplateItem/portal_skins/erp5_pdm/InternalSupplyLine_viewBasePrice/my_p_variation_base_category_list.xml
@@ -269,7 +269,7 @@
       <dictionary>
         <item>
             <key> <string>_text</string> </key>
-            <value> <string>python: here.getVariationRangeBaseCategoryItemList(omit_optional_variation=1)</string> </value>
+            <value> <string>python: here.Base_translateCategoryItemList(here.getVariationRangeBaseCategoryItemList(omit_optional_variation=1))</string> </value>
         </item>
       </dictionary>
     </pickle>
diff --git a/bt5/erp5_pdm/SkinTemplateItem/portal_skins/erp5_pdm/InternalSupplyLine_viewDiscountRatio/my_discount_ratio_variation_base_category_list.xml b/bt5/erp5_pdm/SkinTemplateItem/portal_skins/erp5_pdm/InternalSupplyLine_viewDiscountRatio/my_discount_ratio_variation_base_category_list.xml
index b882d8509a..6ac3ac90c8 100644
--- a/bt5/erp5_pdm/SkinTemplateItem/portal_skins/erp5_pdm/InternalSupplyLine_viewDiscountRatio/my_discount_ratio_variation_base_category_list.xml
+++ b/bt5/erp5_pdm/SkinTemplateItem/portal_skins/erp5_pdm/InternalSupplyLine_viewDiscountRatio/my_discount_ratio_variation_base_category_list.xml
@@ -269,7 +269,7 @@
       <dictionary>
         <item>
             <key> <string>_text</string> </key>
-            <value> <string>python: here.getVariationRangeBaseCategoryItemList(omit_optional_variation=1)</string> </value>
+            <value> <string>python: here.Base_translateCategoryItemList(here.getVariationRangeBaseCategoryItemList(omit_optional_variation=1))</string> </value>
         </item>
       </dictionary>
     </pickle>
diff --git a/bt5/erp5_pdm/SkinTemplateItem/portal_skins/erp5_pdm/InternalSupplyLine_viewSurchargeRatio/my_surcharge_ratio_variation_base_category_list.xml b/bt5/erp5_pdm/SkinTemplateItem/portal_skins/erp5_pdm/InternalSupplyLine_viewSurchargeRatio/my_surcharge_ratio_variation_base_category_list.xml
index d20cf97036..ef17c3ffe7 100644
--- a/bt5/erp5_pdm/SkinTemplateItem/portal_skins/erp5_pdm/InternalSupplyLine_viewSurchargeRatio/my_surcharge_ratio_variation_base_category_list.xml
+++ b/bt5/erp5_pdm/SkinTemplateItem/portal_skins/erp5_pdm/InternalSupplyLine_viewSurchargeRatio/my_surcharge_ratio_variation_base_category_list.xml
@@ -269,7 +269,7 @@
       <dictionary>
         <item>
             <key> <string>_text</string> </key>
-            <value> <string>python: here.getVariationRangeBaseCategoryItemList(omit_optional_variation=1)</string> </value>
+            <value> <string>python: here.Base_translateCategoryItemList(here.getVariationRangeBaseCategoryItemList(omit_optional_variation=1))</string> </value>
         </item>
       </dictionary>
     </pickle>
diff --git a/bt5/erp5_pdm/SkinTemplateItem/portal_skins/erp5_pdm/PurchaseSupplyLine_viewBasePrice/my_p_variation_base_category_list.xml b/bt5/erp5_pdm/SkinTemplateItem/portal_skins/erp5_pdm/PurchaseSupplyLine_viewBasePrice/my_p_variation_base_category_list.xml
index 037c63d615..028d5e5634 100644
--- a/bt5/erp5_pdm/SkinTemplateItem/portal_skins/erp5_pdm/PurchaseSupplyLine_viewBasePrice/my_p_variation_base_category_list.xml
+++ b/bt5/erp5_pdm/SkinTemplateItem/portal_skins/erp5_pdm/PurchaseSupplyLine_viewBasePrice/my_p_variation_base_category_list.xml
@@ -269,7 +269,7 @@
       <dictionary>
         <item>
             <key> <string>_text</string> </key>
-            <value> <string>python: here.getVariationRangeBaseCategoryItemList(omit_optional_variation=1)</string> </value>
+            <value> <string>python: here.Base_translateCategoryItemList(here.getVariationRangeBaseCategoryItemList(omit_optional_variation=1))</string> </value>
         </item>
       </dictionary>
     </pickle>
diff --git a/bt5/erp5_pdm/SkinTemplateItem/portal_skins/erp5_pdm/PurchaseSupplyLine_viewDiscountRatio/my_discount_ratio_variation_base_category_list.xml b/bt5/erp5_pdm/SkinTemplateItem/portal_skins/erp5_pdm/PurchaseSupplyLine_viewDiscountRatio/my_discount_ratio_variation_base_category_list.xml
index b882d8509a..6ac3ac90c8 100644
--- a/bt5/erp5_pdm/SkinTemplateItem/portal_skins/erp5_pdm/PurchaseSupplyLine_viewDiscountRatio/my_discount_ratio_variation_base_category_list.xml
+++ b/bt5/erp5_pdm/SkinTemplateItem/portal_skins/erp5_pdm/PurchaseSupplyLine_viewDiscountRatio/my_discount_ratio_variation_base_category_list.xml
@@ -269,7 +269,7 @@
       <dictionary>
         <item>
             <key> <string>_text</string> </key>
-            <value> <string>python: here.getVariationRangeBaseCategoryItemList(omit_optional_variation=1)</string> </value>
+            <value> <string>python: here.Base_translateCategoryItemList(here.getVariationRangeBaseCategoryItemList(omit_optional_variation=1))</string> </value>
         </item>
       </dictionary>
     </pickle>
diff --git a/bt5/erp5_pdm/SkinTemplateItem/portal_skins/erp5_pdm/PurchaseSupplyLine_viewSurchargeRatio/my_surcharge_ratio_variation_base_category_list.xml b/bt5/erp5_pdm/SkinTemplateItem/portal_skins/erp5_pdm/PurchaseSupplyLine_viewSurchargeRatio/my_surcharge_ratio_variation_base_category_list.xml
index d20cf97036..ef17c3ffe7 100644
--- a/bt5/erp5_pdm/SkinTemplateItem/portal_skins/erp5_pdm/PurchaseSupplyLine_viewSurchargeRatio/my_surcharge_ratio_variation_base_category_list.xml
+++ b/bt5/erp5_pdm/SkinTemplateItem/portal_skins/erp5_pdm/PurchaseSupplyLine_viewSurchargeRatio/my_surcharge_ratio_variation_base_category_list.xml
@@ -269,7 +269,7 @@
       <dictionary>
         <item>
             <key> <string>_text</string> </key>
-            <value> <string>python: here.getVariationRangeBaseCategoryItemList(omit_optional_variation=1)</string> </value>
+            <value> <string>python: here.Base_translateCategoryItemList(here.getVariationRangeBaseCategoryItemList(omit_optional_variation=1))</string> </value>
         </item>
       </dictionary>
     </pickle>
diff --git a/bt5/erp5_pdm/SkinTemplateItem/portal_skins/erp5_pdm/SaleSupplyLine_viewBasePrice/my_p_variation_base_category_list.xml b/bt5/erp5_pdm/SkinTemplateItem/portal_skins/erp5_pdm/SaleSupplyLine_viewBasePrice/my_p_variation_base_category_list.xml
index 037c63d615..028d5e5634 100644
--- a/bt5/erp5_pdm/SkinTemplateItem/portal_skins/erp5_pdm/SaleSupplyLine_viewBasePrice/my_p_variation_base_category_list.xml
+++ b/bt5/erp5_pdm/SkinTemplateItem/portal_skins/erp5_pdm/SaleSupplyLine_viewBasePrice/my_p_variation_base_category_list.xml
@@ -269,7 +269,7 @@
       <dictionary>
         <item>
             <key> <string>_text</string> </key>
-            <value> <string>python: here.getVariationRangeBaseCategoryItemList(omit_optional_variation=1)</string> </value>
+            <value> <string>python: here.Base_translateCategoryItemList(here.getVariationRangeBaseCategoryItemList(omit_optional_variation=1))</string> </value>
         </item>
       </dictionary>
     </pickle>
diff --git a/bt5/erp5_pdm/SkinTemplateItem/portal_skins/erp5_pdm/SupplyLine_viewBasePrice/my_p_variation_base_category_list.xml b/bt5/erp5_pdm/SkinTemplateItem/portal_skins/erp5_pdm/SupplyLine_viewBasePrice/my_p_variation_base_category_list.xml
index 037c63d615..028d5e5634 100644
--- a/bt5/erp5_pdm/SkinTemplateItem/portal_skins/erp5_pdm/SupplyLine_viewBasePrice/my_p_variation_base_category_list.xml
+++ b/bt5/erp5_pdm/SkinTemplateItem/portal_skins/erp5_pdm/SupplyLine_viewBasePrice/my_p_variation_base_category_list.xml
@@ -269,7 +269,7 @@
       <dictionary>
         <item>
             <key> <string>_text</string> </key>
-            <value> <string>python: here.getVariationRangeBaseCategoryItemList(omit_optional_variation=1)</string> </value>
+            <value> <string>python: here.Base_translateCategoryItemList(here.getVariationRangeBaseCategoryItemList(omit_optional_variation=1))</string> </value>
         </item>
       </dictionary>
     </pickle>
diff --git a/bt5/erp5_pdm/SkinTemplateItem/portal_skins/erp5_pdm/SupplyLine_viewDiscountRatio/my_discount_ratio_variation_base_category_list.xml b/bt5/erp5_pdm/SkinTemplateItem/portal_skins/erp5_pdm/SupplyLine_viewDiscountRatio/my_discount_ratio_variation_base_category_list.xml
index b882d8509a..6ac3ac90c8 100644
--- a/bt5/erp5_pdm/SkinTemplateItem/portal_skins/erp5_pdm/SupplyLine_viewDiscountRatio/my_discount_ratio_variation_base_category_list.xml
+++ b/bt5/erp5_pdm/SkinTemplateItem/portal_skins/erp5_pdm/SupplyLine_viewDiscountRatio/my_discount_ratio_variation_base_category_list.xml
@@ -269,7 +269,7 @@
       <dictionary>
         <item>
             <key> <string>_text</string> </key>
-            <value> <string>python: here.getVariationRangeBaseCategoryItemList(omit_optional_variation=1)</string> </value>
+            <value> <string>python: here.Base_translateCategoryItemList(here.getVariationRangeBaseCategoryItemList(omit_optional_variation=1))</string> </value>
         </item>
       </dictionary>
     </pickle>
diff --git a/bt5/erp5_pdm/SkinTemplateItem/portal_skins/erp5_pdm/SupplyLine_viewExclusiveDiscountRatio/my_exclusive_discount_ratio_variation_base_category_list.xml b/bt5/erp5_pdm/SkinTemplateItem/portal_skins/erp5_pdm/SupplyLine_viewExclusiveDiscountRatio/my_exclusive_discount_ratio_variation_base_category_list.xml
index 79d908501c..d8b54416ac 100644
--- a/bt5/erp5_pdm/SkinTemplateItem/portal_skins/erp5_pdm/SupplyLine_viewExclusiveDiscountRatio/my_exclusive_discount_ratio_variation_base_category_list.xml
+++ b/bt5/erp5_pdm/SkinTemplateItem/portal_skins/erp5_pdm/SupplyLine_viewExclusiveDiscountRatio/my_exclusive_discount_ratio_variation_base_category_list.xml
@@ -269,7 +269,7 @@
       <dictionary>
         <item>
             <key> <string>_text</string> </key>
-            <value> <string>python: here.getVariationRangeBaseCategoryItemList(omit_optional_variation=1)</string> </value>
+            <value> <string>python: here.Base_translateCategoryItemList(here.getVariationRangeBaseCategoryItemList(omit_optional_variation=1))</string> </value>
         </item>
       </dictionary>
     </pickle>
diff --git a/bt5/erp5_pdm/SkinTemplateItem/portal_skins/erp5_pdm/SupplyLine_viewSurchargeRatio/my_surcharge_ratio_variation_base_category_list.xml b/bt5/erp5_pdm/SkinTemplateItem/portal_skins/erp5_pdm/SupplyLine_viewSurchargeRatio/my_surcharge_ratio_variation_base_category_list.xml
index d20cf97036..ef17c3ffe7 100644
--- a/bt5/erp5_pdm/SkinTemplateItem/portal_skins/erp5_pdm/SupplyLine_viewSurchargeRatio/my_surcharge_ratio_variation_base_category_list.xml
+++ b/bt5/erp5_pdm/SkinTemplateItem/portal_skins/erp5_pdm/SupplyLine_viewSurchargeRatio/my_surcharge_ratio_variation_base_category_list.xml
@@ -269,7 +269,7 @@
       <dictionary>
         <item>
             <key> <string>_text</string> </key>
-            <value> <string>python: here.getVariationRangeBaseCategoryItemList(omit_optional_variation=1)</string> </value>
+            <value> <string>python: here.Base_translateCategoryItemList(here.getVariationRangeBaseCategoryItemList(omit_optional_variation=1))</string> </value>
         </item>
       </dictionary>
     </pickle>
diff --git a/bt5/erp5_pdm/bt/revision b/bt5/erp5_pdm/bt/revision
index 2e790af68a..430faa64e7 100644
--- a/bt5/erp5_pdm/bt/revision
+++ b/bt5/erp5_pdm/bt/revision
@@ -1 +1 @@
-510
\ No newline at end of file
+511
\ No newline at end of file
-- 
2.30.9


From 2df67c70ddb26d324688e1e894c84388503b6c3d Mon Sep 17 00:00:00 2001
From: Nicolas Dumazet <nicolas.dumazet@nexedi.com>
Date: Wed, 4 Aug 2010 06:20:38 +0000
Subject: [PATCH 248/270] Generic jQuery extension to provide autocompletion on
 fields.

ERP5Site_getCompletionList serves as a backend for jQuery, and
polls the catalog. getCompletionList should be extensible and quite
flexible, even if it only supports portal_type and one key filtering for
now.

Most common usage should be something like:

   $("input.custom_class_defined_in_field").ERP5Autocomplete({
     portal_type: "Product",
     search_key: "title",
   });

 ( produces catalog(portal_type="Product", title="xy%", limit=20) )

but any catalog parameter can used as a key, which means that

   $("input.custom_class_defined_in_field").ERP5Autocomplete({
     portal_type: "Product",
     search_key: "xxcustomer_product_reference",
   });

will work if xxcustomer_product_reference is a custom catalog key



git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@37465 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 .../ERP5Site_getCompletionList.xml            | 155 ++++++++++++++++++
 .../erp5_jquery/jquery.erp5.js.xml            | 106 ++++++++++++
 bt5/erp5_jquery/bt/revision                   |   2 +-
 3 files changed, 262 insertions(+), 1 deletion(-)
 create mode 100644 bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/ERP5Site_getCompletionList.xml
 create mode 100644 bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery.erp5.js.xml

diff --git a/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/ERP5Site_getCompletionList.xml b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/ERP5Site_getCompletionList.xml
new file mode 100644
index 0000000000..71d5d69f83
--- /dev/null
+++ b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/ERP5Site_getCompletionList.xml
@@ -0,0 +1,155 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>Script_magic</string> </key>
+            <value> <int>3</int> </value>
+        </item>
+        <item>
+            <key> <string>_bind_names</string> </key>
+            <value>
+              <object>
+                <klass>
+                  <global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/>
+                </klass>
+                <tuple/>
+                <state>
+                  <dictionary>
+                    <item>
+                        <key> <string>_asgns</string> </key>
+                        <value>
+                          <dictionary>
+                            <item>
+                                <key> <string>name_container</string> </key>
+                                <value> <string>container</string> </value>
+                            </item>
+                            <item>
+                                <key> <string>name_context</string> </key>
+                                <value> <string>context</string> </value>
+                            </item>
+                            <item>
+                                <key> <string>name_m_self</string> </key>
+                                <value> <string>script</string> </value>
+                            </item>
+                            <item>
+                                <key> <string>name_subpath</string> </key>
+                                <value> <string>traverse_subpath</string> </value>
+                            </item>
+                          </dictionary>
+                        </value>
+                    </item>
+                  </dictionary>
+                </state>
+              </object>
+            </value>
+        </item>
+        <item>
+            <key> <string>_body</string> </key>
+            <value> <string>req = container.REQUEST.get\n
+kw = dict(limit=20)\n
+\n
+term = req("starts_with")\n
+key = req("key")\n
+if term is not None and key is not None:\n
+  kw[key] = "%s%%" % term\n
+\n
+portal_type = req("portal_type")\n
+if portal_type is not None:\n
+  kw["portal_type"] = portal_type\n
+\n
+result = [o.title for o in context.portal_catalog(**kw)]\n
+\n
+\n
+from Products.ERP5Type.JSON import dumps\n
+return dumps(result, indent=4)\n
+</string> </value>
+        </item>
+        <item>
+            <key> <string>_code</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>_params</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>errors</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+        <item>
+            <key> <string>func_code</string> </key>
+            <value>
+              <object>
+                <klass>
+                  <global name="FuncCode" module="Shared.DC.Scripts.Signature"/>
+                </klass>
+                <tuple/>
+                <state>
+                  <dictionary>
+                    <item>
+                        <key> <string>co_argcount</string> </key>
+                        <value> <int>0</int> </value>
+                    </item>
+                    <item>
+                        <key> <string>co_varnames</string> </key>
+                        <value>
+                          <tuple>
+                            <string>_getattr_</string>
+                            <string>container</string>
+                            <string>req</string>
+                            <string>dict</string>
+                            <string>kw</string>
+                            <string>term</string>
+                            <string>key</string>
+                            <string>None</string>
+                            <string>_write_</string>
+                            <string>portal_type</string>
+                            <string>append</string>
+                            <string>$append0</string>
+                            <string>_getiter_</string>
+                            <string>_apply_</string>
+                            <string>context</string>
+                            <string>o</string>
+                            <string>result</string>
+                            <string>Products.ERP5Type.JSON</string>
+                            <string>dumps</string>
+                          </tuple>
+                        </value>
+                    </item>
+                  </dictionary>
+                </state>
+              </object>
+            </value>
+        </item>
+        <item>
+            <key> <string>func_defaults</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>ERP5Site_getCompletionList</string> </value>
+        </item>
+        <item>
+            <key> <string>warnings</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery.erp5.js.xml b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery.erp5.js.xml
new file mode 100644
index 0000000000..06a06e309c
--- /dev/null
+++ b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery.erp5.js.xml
@@ -0,0 +1,106 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="ZopePageTemplate" module="Products.PageTemplates.ZopePageTemplate"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_bind_names</string> </key>
+            <value>
+              <object>
+                <klass>
+                  <global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/>
+                </klass>
+                <tuple/>
+                <state>
+                  <dictionary>
+                    <item>
+                        <key> <string>_asgns</string> </key>
+                        <value>
+                          <dictionary>
+                            <item>
+                                <key> <string>name_subpath</string> </key>
+                                <value> <string>traverse_subpath</string> </value>
+                            </item>
+                          </dictionary>
+                        </value>
+                    </item>
+                  </dictionary>
+                </state>
+              </object>
+            </value>
+        </item>
+        <item>
+            <key> <string>_text</string> </key>
+            <value> <string encoding="cdata"><![CDATA[
+
+<tal:block tal:define="update_path python: container.ERP5Site_getCompletionList.absolute_url()">\n
+$(function() {\n
+    // private\n
+    function generateSource(params) {\n
+        var data = {};\n
+\n
+        if (params.portal_type) data.portal_type = params.portal_type;\n
+        if (params.search_key) data.key = params.search_key;\n
+\n
+        return function(request, response) {\n
+            $.extend(data, {starts_with: request.term});\n
+            $.ajax({\n
+                url: "<tal:block tal:replace="update_path" />",\n
+                dataType: "json",\n
+                data: data,\n
+                success: response,\n
+            });\n
+        };\n
+    }\n
+\n
+    /*\n
+     * Wrapper around jQuery.ui.autocomplete that queries catalog\n
+     * to return matching terms. Titles are displayed.\n
+     *\n
+     * Parameters:\n
+     *   - search_key: catalog key that should be matched against\n
+     *     user input. For example, "title" to match titles,\n
+     *     your_custom_reference to search for customized reference, etc\n
+     *   - optional portal_type\n
+     *\n
+     * Example:\n
+     *   $(".your_input").ERP5Autocomplete({\n
+     *     portal_type: "Product",\n
+     *     search_key: "title",\n
+     *   });\n
+     */\n
+    $.fn.ERP5Autocomplete = function(kw) {\n
+        return this.autocomplete({source: generateSource(kw)});\n
+    };\n
+});\n
+</tal:block>\n
+
+
+]]></string> </value>
+        </item>
+        <item>
+            <key> <string>content_type</string> </key>
+            <value> <string>text/html</string> </value>
+        </item>
+        <item>
+            <key> <string>expand</string> </key>
+            <value> <int>0</int> </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>jquery.erp5.js</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>Wrappers and helpers for ERP5</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_jquery/bt/revision b/bt5/erp5_jquery/bt/revision
index 9a037142aa..9d607966b7 100644
--- a/bt5/erp5_jquery/bt/revision
+++ b/bt5/erp5_jquery/bt/revision
@@ -1 +1 @@
-10
\ No newline at end of file
+11
\ No newline at end of file
-- 
2.30.9


From 74e506cfa0316745dd6a09bfcdf56fa94fe952ee Mon Sep 17 00:00:00 2001
From: Nicolas Dumazet <nicolas.dumazet@nexedi.com>
Date: Wed, 4 Aug 2010 08:21:47 +0000
Subject: [PATCH 249/270] better fix than r37463, use
 display_id='translated_title' for translations

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@37466 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 .../my_p_variation_base_category_list.xml                       | 2 +-
 .../my_discount_ratio_variation_base_category_list.xml          | 2 +-
 .../my_surcharge_ratio_variation_base_category_list.xml         | 2 +-
 .../my_p_variation_base_category_list.xml                       | 2 +-
 .../my_discount_ratio_variation_base_category_list.xml          | 2 +-
 .../my_surcharge_ratio_variation_base_category_list.xml         | 2 +-
 .../my_p_variation_base_category_list.xml                       | 2 +-
 .../my_p_variation_base_category_list.xml                       | 2 +-
 .../my_discount_ratio_variation_base_category_list.xml          | 2 +-
 ...my_exclusive_discount_ratio_variation_base_category_list.xml | 2 +-
 .../my_surcharge_ratio_variation_base_category_list.xml         | 2 +-
 bt5/erp5_pdm/bt/revision                                        | 2 +-
 12 files changed, 12 insertions(+), 12 deletions(-)

diff --git a/bt5/erp5_pdm/SkinTemplateItem/portal_skins/erp5_pdm/InternalSupplyLine_viewBasePrice/my_p_variation_base_category_list.xml b/bt5/erp5_pdm/SkinTemplateItem/portal_skins/erp5_pdm/InternalSupplyLine_viewBasePrice/my_p_variation_base_category_list.xml
index 028d5e5634..97989766ff 100644
--- a/bt5/erp5_pdm/SkinTemplateItem/portal_skins/erp5_pdm/InternalSupplyLine_viewBasePrice/my_p_variation_base_category_list.xml
+++ b/bt5/erp5_pdm/SkinTemplateItem/portal_skins/erp5_pdm/InternalSupplyLine_viewBasePrice/my_p_variation_base_category_list.xml
@@ -269,7 +269,7 @@
       <dictionary>
         <item>
             <key> <string>_text</string> </key>
-            <value> <string>python: here.Base_translateCategoryItemList(here.getVariationRangeBaseCategoryItemList(omit_optional_variation=1))</string> </value>
+            <value> <string>python: here.getVariationRangeBaseCategoryItemList(omit_optional_variation=1, display_id=\'translated_title\')</string> </value>
         </item>
       </dictionary>
     </pickle>
diff --git a/bt5/erp5_pdm/SkinTemplateItem/portal_skins/erp5_pdm/InternalSupplyLine_viewDiscountRatio/my_discount_ratio_variation_base_category_list.xml b/bt5/erp5_pdm/SkinTemplateItem/portal_skins/erp5_pdm/InternalSupplyLine_viewDiscountRatio/my_discount_ratio_variation_base_category_list.xml
index 6ac3ac90c8..da816abb31 100644
--- a/bt5/erp5_pdm/SkinTemplateItem/portal_skins/erp5_pdm/InternalSupplyLine_viewDiscountRatio/my_discount_ratio_variation_base_category_list.xml
+++ b/bt5/erp5_pdm/SkinTemplateItem/portal_skins/erp5_pdm/InternalSupplyLine_viewDiscountRatio/my_discount_ratio_variation_base_category_list.xml
@@ -269,7 +269,7 @@
       <dictionary>
         <item>
             <key> <string>_text</string> </key>
-            <value> <string>python: here.Base_translateCategoryItemList(here.getVariationRangeBaseCategoryItemList(omit_optional_variation=1))</string> </value>
+            <value> <string>python: here.getVariationRangeBaseCategoryItemList(omit_optional_variation=1, display_id=\'translated_title\')</string> </value>
         </item>
       </dictionary>
     </pickle>
diff --git a/bt5/erp5_pdm/SkinTemplateItem/portal_skins/erp5_pdm/InternalSupplyLine_viewSurchargeRatio/my_surcharge_ratio_variation_base_category_list.xml b/bt5/erp5_pdm/SkinTemplateItem/portal_skins/erp5_pdm/InternalSupplyLine_viewSurchargeRatio/my_surcharge_ratio_variation_base_category_list.xml
index ef17c3ffe7..0d5a11237f 100644
--- a/bt5/erp5_pdm/SkinTemplateItem/portal_skins/erp5_pdm/InternalSupplyLine_viewSurchargeRatio/my_surcharge_ratio_variation_base_category_list.xml
+++ b/bt5/erp5_pdm/SkinTemplateItem/portal_skins/erp5_pdm/InternalSupplyLine_viewSurchargeRatio/my_surcharge_ratio_variation_base_category_list.xml
@@ -269,7 +269,7 @@
       <dictionary>
         <item>
             <key> <string>_text</string> </key>
-            <value> <string>python: here.Base_translateCategoryItemList(here.getVariationRangeBaseCategoryItemList(omit_optional_variation=1))</string> </value>
+            <value> <string>python: here.getVariationRangeBaseCategoryItemList(omit_optional_variation=1, display_id=\'translated_title\')</string> </value>
         </item>
       </dictionary>
     </pickle>
diff --git a/bt5/erp5_pdm/SkinTemplateItem/portal_skins/erp5_pdm/PurchaseSupplyLine_viewBasePrice/my_p_variation_base_category_list.xml b/bt5/erp5_pdm/SkinTemplateItem/portal_skins/erp5_pdm/PurchaseSupplyLine_viewBasePrice/my_p_variation_base_category_list.xml
index 028d5e5634..97989766ff 100644
--- a/bt5/erp5_pdm/SkinTemplateItem/portal_skins/erp5_pdm/PurchaseSupplyLine_viewBasePrice/my_p_variation_base_category_list.xml
+++ b/bt5/erp5_pdm/SkinTemplateItem/portal_skins/erp5_pdm/PurchaseSupplyLine_viewBasePrice/my_p_variation_base_category_list.xml
@@ -269,7 +269,7 @@
       <dictionary>
         <item>
             <key> <string>_text</string> </key>
-            <value> <string>python: here.Base_translateCategoryItemList(here.getVariationRangeBaseCategoryItemList(omit_optional_variation=1))</string> </value>
+            <value> <string>python: here.getVariationRangeBaseCategoryItemList(omit_optional_variation=1, display_id=\'translated_title\')</string> </value>
         </item>
       </dictionary>
     </pickle>
diff --git a/bt5/erp5_pdm/SkinTemplateItem/portal_skins/erp5_pdm/PurchaseSupplyLine_viewDiscountRatio/my_discount_ratio_variation_base_category_list.xml b/bt5/erp5_pdm/SkinTemplateItem/portal_skins/erp5_pdm/PurchaseSupplyLine_viewDiscountRatio/my_discount_ratio_variation_base_category_list.xml
index 6ac3ac90c8..da816abb31 100644
--- a/bt5/erp5_pdm/SkinTemplateItem/portal_skins/erp5_pdm/PurchaseSupplyLine_viewDiscountRatio/my_discount_ratio_variation_base_category_list.xml
+++ b/bt5/erp5_pdm/SkinTemplateItem/portal_skins/erp5_pdm/PurchaseSupplyLine_viewDiscountRatio/my_discount_ratio_variation_base_category_list.xml
@@ -269,7 +269,7 @@
       <dictionary>
         <item>
             <key> <string>_text</string> </key>
-            <value> <string>python: here.Base_translateCategoryItemList(here.getVariationRangeBaseCategoryItemList(omit_optional_variation=1))</string> </value>
+            <value> <string>python: here.getVariationRangeBaseCategoryItemList(omit_optional_variation=1, display_id=\'translated_title\')</string> </value>
         </item>
       </dictionary>
     </pickle>
diff --git a/bt5/erp5_pdm/SkinTemplateItem/portal_skins/erp5_pdm/PurchaseSupplyLine_viewSurchargeRatio/my_surcharge_ratio_variation_base_category_list.xml b/bt5/erp5_pdm/SkinTemplateItem/portal_skins/erp5_pdm/PurchaseSupplyLine_viewSurchargeRatio/my_surcharge_ratio_variation_base_category_list.xml
index ef17c3ffe7..0d5a11237f 100644
--- a/bt5/erp5_pdm/SkinTemplateItem/portal_skins/erp5_pdm/PurchaseSupplyLine_viewSurchargeRatio/my_surcharge_ratio_variation_base_category_list.xml
+++ b/bt5/erp5_pdm/SkinTemplateItem/portal_skins/erp5_pdm/PurchaseSupplyLine_viewSurchargeRatio/my_surcharge_ratio_variation_base_category_list.xml
@@ -269,7 +269,7 @@
       <dictionary>
         <item>
             <key> <string>_text</string> </key>
-            <value> <string>python: here.Base_translateCategoryItemList(here.getVariationRangeBaseCategoryItemList(omit_optional_variation=1))</string> </value>
+            <value> <string>python: here.getVariationRangeBaseCategoryItemList(omit_optional_variation=1, display_id=\'translated_title\')</string> </value>
         </item>
       </dictionary>
     </pickle>
diff --git a/bt5/erp5_pdm/SkinTemplateItem/portal_skins/erp5_pdm/SaleSupplyLine_viewBasePrice/my_p_variation_base_category_list.xml b/bt5/erp5_pdm/SkinTemplateItem/portal_skins/erp5_pdm/SaleSupplyLine_viewBasePrice/my_p_variation_base_category_list.xml
index 028d5e5634..97989766ff 100644
--- a/bt5/erp5_pdm/SkinTemplateItem/portal_skins/erp5_pdm/SaleSupplyLine_viewBasePrice/my_p_variation_base_category_list.xml
+++ b/bt5/erp5_pdm/SkinTemplateItem/portal_skins/erp5_pdm/SaleSupplyLine_viewBasePrice/my_p_variation_base_category_list.xml
@@ -269,7 +269,7 @@
       <dictionary>
         <item>
             <key> <string>_text</string> </key>
-            <value> <string>python: here.Base_translateCategoryItemList(here.getVariationRangeBaseCategoryItemList(omit_optional_variation=1))</string> </value>
+            <value> <string>python: here.getVariationRangeBaseCategoryItemList(omit_optional_variation=1, display_id=\'translated_title\')</string> </value>
         </item>
       </dictionary>
     </pickle>
diff --git a/bt5/erp5_pdm/SkinTemplateItem/portal_skins/erp5_pdm/SupplyLine_viewBasePrice/my_p_variation_base_category_list.xml b/bt5/erp5_pdm/SkinTemplateItem/portal_skins/erp5_pdm/SupplyLine_viewBasePrice/my_p_variation_base_category_list.xml
index 028d5e5634..97989766ff 100644
--- a/bt5/erp5_pdm/SkinTemplateItem/portal_skins/erp5_pdm/SupplyLine_viewBasePrice/my_p_variation_base_category_list.xml
+++ b/bt5/erp5_pdm/SkinTemplateItem/portal_skins/erp5_pdm/SupplyLine_viewBasePrice/my_p_variation_base_category_list.xml
@@ -269,7 +269,7 @@
       <dictionary>
         <item>
             <key> <string>_text</string> </key>
-            <value> <string>python: here.Base_translateCategoryItemList(here.getVariationRangeBaseCategoryItemList(omit_optional_variation=1))</string> </value>
+            <value> <string>python: here.getVariationRangeBaseCategoryItemList(omit_optional_variation=1, display_id=\'translated_title\')</string> </value>
         </item>
       </dictionary>
     </pickle>
diff --git a/bt5/erp5_pdm/SkinTemplateItem/portal_skins/erp5_pdm/SupplyLine_viewDiscountRatio/my_discount_ratio_variation_base_category_list.xml b/bt5/erp5_pdm/SkinTemplateItem/portal_skins/erp5_pdm/SupplyLine_viewDiscountRatio/my_discount_ratio_variation_base_category_list.xml
index 6ac3ac90c8..da816abb31 100644
--- a/bt5/erp5_pdm/SkinTemplateItem/portal_skins/erp5_pdm/SupplyLine_viewDiscountRatio/my_discount_ratio_variation_base_category_list.xml
+++ b/bt5/erp5_pdm/SkinTemplateItem/portal_skins/erp5_pdm/SupplyLine_viewDiscountRatio/my_discount_ratio_variation_base_category_list.xml
@@ -269,7 +269,7 @@
       <dictionary>
         <item>
             <key> <string>_text</string> </key>
-            <value> <string>python: here.Base_translateCategoryItemList(here.getVariationRangeBaseCategoryItemList(omit_optional_variation=1))</string> </value>
+            <value> <string>python: here.getVariationRangeBaseCategoryItemList(omit_optional_variation=1, display_id=\'translated_title\')</string> </value>
         </item>
       </dictionary>
     </pickle>
diff --git a/bt5/erp5_pdm/SkinTemplateItem/portal_skins/erp5_pdm/SupplyLine_viewExclusiveDiscountRatio/my_exclusive_discount_ratio_variation_base_category_list.xml b/bt5/erp5_pdm/SkinTemplateItem/portal_skins/erp5_pdm/SupplyLine_viewExclusiveDiscountRatio/my_exclusive_discount_ratio_variation_base_category_list.xml
index d8b54416ac..d116bc97c2 100644
--- a/bt5/erp5_pdm/SkinTemplateItem/portal_skins/erp5_pdm/SupplyLine_viewExclusiveDiscountRatio/my_exclusive_discount_ratio_variation_base_category_list.xml
+++ b/bt5/erp5_pdm/SkinTemplateItem/portal_skins/erp5_pdm/SupplyLine_viewExclusiveDiscountRatio/my_exclusive_discount_ratio_variation_base_category_list.xml
@@ -269,7 +269,7 @@
       <dictionary>
         <item>
             <key> <string>_text</string> </key>
-            <value> <string>python: here.Base_translateCategoryItemList(here.getVariationRangeBaseCategoryItemList(omit_optional_variation=1))</string> </value>
+            <value> <string>python: here.getVariationRangeBaseCategoryItemList(omit_optional_variation=1, display_id=\'translated_title\')</string> </value>
         </item>
       </dictionary>
     </pickle>
diff --git a/bt5/erp5_pdm/SkinTemplateItem/portal_skins/erp5_pdm/SupplyLine_viewSurchargeRatio/my_surcharge_ratio_variation_base_category_list.xml b/bt5/erp5_pdm/SkinTemplateItem/portal_skins/erp5_pdm/SupplyLine_viewSurchargeRatio/my_surcharge_ratio_variation_base_category_list.xml
index ef17c3ffe7..0d5a11237f 100644
--- a/bt5/erp5_pdm/SkinTemplateItem/portal_skins/erp5_pdm/SupplyLine_viewSurchargeRatio/my_surcharge_ratio_variation_base_category_list.xml
+++ b/bt5/erp5_pdm/SkinTemplateItem/portal_skins/erp5_pdm/SupplyLine_viewSurchargeRatio/my_surcharge_ratio_variation_base_category_list.xml
@@ -269,7 +269,7 @@
       <dictionary>
         <item>
             <key> <string>_text</string> </key>
-            <value> <string>python: here.Base_translateCategoryItemList(here.getVariationRangeBaseCategoryItemList(omit_optional_variation=1))</string> </value>
+            <value> <string>python: here.getVariationRangeBaseCategoryItemList(omit_optional_variation=1, display_id=\'translated_title\')</string> </value>
         </item>
       </dictionary>
     </pickle>
diff --git a/bt5/erp5_pdm/bt/revision b/bt5/erp5_pdm/bt/revision
index 430faa64e7..4d0e90cbcb 100644
--- a/bt5/erp5_pdm/bt/revision
+++ b/bt5/erp5_pdm/bt/revision
@@ -1 +1 @@
-511
\ No newline at end of file
+512
-- 
2.30.9


From 37ffd86e0a4b3242e0993f6560c5382fe45524f9 Mon Sep 17 00:00:00 2001
From: Nicolas Dumazet <nicolas.dumazet@nexedi.com>
Date: Wed, 4 Aug 2010 08:23:32 +0000
Subject: [PATCH 250/270] revert r37462, display_id="translated_title" is
 enough

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@37467 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 .../Base_translateCategoryItemList.xml        | 133 ------------------
 bt5/erp5_base/bt/revision                     |   2 +-
 2 files changed, 1 insertion(+), 134 deletions(-)
 delete mode 100644 bt5/erp5_base/SkinTemplateItem/portal_skins/erp5_base/Base_translateCategoryItemList.xml

diff --git a/bt5/erp5_base/SkinTemplateItem/portal_skins/erp5_base/Base_translateCategoryItemList.xml b/bt5/erp5_base/SkinTemplateItem/portal_skins/erp5_base/Base_translateCategoryItemList.xml
deleted file mode 100644
index 31705babea..0000000000
--- a/bt5/erp5_base/SkinTemplateItem/portal_skins/erp5_base/Base_translateCategoryItemList.xml
+++ /dev/null
@@ -1,133 +0,0 @@
-<?xml version="1.0"?>
-<ZopeData>
-  <record id="1" aka="AAAAAAAAAAE=">
-    <pickle>
-      <tuple>
-        <global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
-        <tuple/>
-      </tuple>
-    </pickle>
-    <pickle>
-      <dictionary>
-        <item>
-            <key> <string>Script_magic</string> </key>
-            <value> <int>3</int> </value>
-        </item>
-        <item>
-            <key> <string>_bind_names</string> </key>
-            <value>
-              <object>
-                <klass>
-                  <global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/>
-                </klass>
-                <tuple/>
-                <state>
-                  <dictionary>
-                    <item>
-                        <key> <string>_asgns</string> </key>
-                        <value>
-                          <dictionary>
-                            <item>
-                                <key> <string>name_container</string> </key>
-                                <value> <string>container</string> </value>
-                            </item>
-                            <item>
-                                <key> <string>name_context</string> </key>
-                                <value> <string>context</string> </value>
-                            </item>
-                            <item>
-                                <key> <string>name_m_self</string> </key>
-                                <value> <string>script</string> </value>
-                            </item>
-                            <item>
-                                <key> <string>name_subpath</string> </key>
-                                <value> <string>traverse_subpath</string> </value>
-                            </item>
-                          </dictionary>
-                        </value>
-                    </item>
-                  </dictionary>
-                </state>
-              </object>
-            </value>
-        </item>
-        <item>
-            <key> <string>_body</string> </key>
-            <value> <string>result = []\n
-for title, url in category_item_list:\n
-  base_category = context.portal_categories[url]\n
-  result.append((base_category.getTranslatedTitle(), url))\n
-return result\n
-</string> </value>
-        </item>
-        <item>
-            <key> <string>_code</string> </key>
-            <value>
-              <none/>
-            </value>
-        </item>
-        <item>
-            <key> <string>_params</string> </key>
-            <value> <string>category_item_list</string> </value>
-        </item>
-        <item>
-            <key> <string>errors</string> </key>
-            <value>
-              <tuple/>
-            </value>
-        </item>
-        <item>
-            <key> <string>func_code</string> </key>
-            <value>
-              <object>
-                <klass>
-                  <global name="FuncCode" module="Shared.DC.Scripts.Signature"/>
-                </klass>
-                <tuple/>
-                <state>
-                  <dictionary>
-                    <item>
-                        <key> <string>co_argcount</string> </key>
-                        <value> <int>1</int> </value>
-                    </item>
-                    <item>
-                        <key> <string>co_varnames</string> </key>
-                        <value>
-                          <tuple>
-                            <string>category_item_list</string>
-                            <string>result</string>
-                            <string>_getiter_</string>
-                            <string>title</string>
-                            <string>url</string>
-                            <string>_getitem_</string>
-                            <string>_getattr_</string>
-                            <string>context</string>
-                            <string>base_category</string>
-                          </tuple>
-                        </value>
-                    </item>
-                  </dictionary>
-                </state>
-              </object>
-            </value>
-        </item>
-        <item>
-            <key> <string>func_defaults</string> </key>
-            <value>
-              <none/>
-            </value>
-        </item>
-        <item>
-            <key> <string>id</string> </key>
-            <value> <string>Base_translateCategoryItemList</string> </value>
-        </item>
-        <item>
-            <key> <string>warnings</string> </key>
-            <value>
-              <tuple/>
-            </value>
-        </item>
-      </dictionary>
-    </pickle>
-  </record>
-</ZopeData>
diff --git a/bt5/erp5_base/bt/revision b/bt5/erp5_base/bt/revision
index d062eec37b..2a83cc2149 100644
--- a/bt5/erp5_base/bt/revision
+++ b/bt5/erp5_base/bt/revision
@@ -1 +1 @@
-823
\ No newline at end of file
+824
-- 
2.30.9


From b5714334d4d94265e154d6f3a1f642a404d90661 Mon Sep 17 00:00:00 2001
From: Nicolas Dumazet <nicolas.dumazet@nexedi.com>
Date: Wed, 4 Aug 2010 08:38:17 +0000
Subject: [PATCH 251/270] move autocompletion from erp5_jquery to
 erp5_autcompletion_ui

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@37468 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 .../registered_skin_selection.xml             |  6 ++++
 .../portal_skins/erp5_autocompletion_ui.xml   | 29 +++++++++++++++++++
 .../ERP5Site_getCompletionList.xml            |  0
 .../jquery.erp5.autocompletion.js.xml}        |  2 +-
 bt5/erp5_autocompletion_ui/bt/categories_list |  0
 bt5/erp5_autocompletion_ui/bt/change_log      |  2 ++
 bt5/erp5_autocompletion_ui/bt/comment         |  0
 bt5/erp5_autocompletion_ui/bt/copyright_list  |  1 +
 bt5/erp5_autocompletion_ui/bt/dependency_list |  2 ++
 bt5/erp5_autocompletion_ui/bt/description     |  1 +
 bt5/erp5_autocompletion_ui/bt/license         |  1 +
 bt5/erp5_autocompletion_ui/bt/maintainer_list |  1 +
 bt5/erp5_autocompletion_ui/bt/provision_list  |  0
 bt5/erp5_autocompletion_ui/bt/publication_url |  1 +
 bt5/erp5_autocompletion_ui/bt/revision        |  1 +
 .../bt/template_action_path_list              |  0
 .../bt/template_base_category_list            |  0
 .../bt/template_catalog_datetime_key_list     |  0
 .../bt/template_catalog_full_text_key_list    |  0
 .../bt/template_catalog_keyword_key_list      |  0
 .../bt/template_catalog_local_role_key_list   |  0
 .../bt/template_catalog_method_id_list        |  0
 .../bt/template_catalog_multivalue_key_list   |  0
 .../bt/template_catalog_related_key_list      |  0
 .../bt/template_catalog_request_key_list      |  0
 .../bt/template_catalog_result_key_list       |  0
 .../bt/template_catalog_result_table_list     |  0
 .../bt/template_catalog_role_key_list         |  0
 .../bt/template_catalog_scriptable_key_list   |  0
 .../bt/template_catalog_topic_key_list        |  0
 .../bt/template_constraint_id_list            |  0
 .../bt/template_document_id_list              |  0
 .../bt/template_extension_id_list             |  0
 .../bt/template_format_version                |  1 +
 .../bt/template_local_role_list               |  0
 .../bt/template_local_roles_list              |  0
 .../bt/template_message_translation_list      |  0
 .../bt/template_module_id_list                |  0
 .../bt/template_path_list                     |  0
 ...late_portal_type_allowed_content_type_list |  0
 .../template_portal_type_base_category_list   |  0
 ...plate_portal_type_hidden_content_type_list |  0
 .../bt/template_portal_type_id_list           |  0
 .../template_portal_type_property_sheet_list  |  0
 .../bt/template_portal_type_role_list         |  0
 .../bt/template_portal_type_roles_list        |  0
 .../template_portal_type_workflow_chain_list  |  0
 .../bt/template_preference_list               |  0
 .../bt/template_product_id_list               |  0
 .../bt/template_property_sheet_id_list        |  0
 .../template_registered_skin_selection_list   |  1 +
 .../bt/template_role_list                     |  0
 .../bt/template_site_property_id_list         |  0
 .../bt/template_skin_id_list                  |  1 +
 .../bt/template_test_id_list                  |  0
 .../bt/template_tool_id_list                  |  0
 ...template_update_business_template_workflow |  1 +
 .../bt/template_update_tool                   |  1 +
 .../bt/template_workflow_id_list              |  0
 bt5/erp5_autocompletion_ui/bt/title           |  1 +
 bt5/erp5_autocompletion_ui/bt/version         |  1 +
 bt5/erp5_jquery/bt/revision                   |  2 +-
 62 files changed, 54 insertions(+), 2 deletions(-)
 create mode 100644 bt5/erp5_autocompletion_ui/RegisteredSkinSelectionTemplateItem/registered_skin_selection.xml
 create mode 100644 bt5/erp5_autocompletion_ui/SkinTemplateItem/portal_skins/erp5_autocompletion_ui.xml
 rename bt5/{erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery => erp5_autocompletion_ui/SkinTemplateItem/portal_skins/erp5_autocompletion_ui}/ERP5Site_getCompletionList.xml (100%)
 rename bt5/{erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery.erp5.js.xml => erp5_autocompletion_ui/SkinTemplateItem/portal_skins/erp5_autocompletion_ui/jquery.erp5.autocompletion.js.xml} (97%)
 create mode 100644 bt5/erp5_autocompletion_ui/bt/categories_list
 create mode 100644 bt5/erp5_autocompletion_ui/bt/change_log
 create mode 100644 bt5/erp5_autocompletion_ui/bt/comment
 create mode 100644 bt5/erp5_autocompletion_ui/bt/copyright_list
 create mode 100644 bt5/erp5_autocompletion_ui/bt/dependency_list
 create mode 100644 bt5/erp5_autocompletion_ui/bt/description
 create mode 100644 bt5/erp5_autocompletion_ui/bt/license
 create mode 100644 bt5/erp5_autocompletion_ui/bt/maintainer_list
 create mode 100644 bt5/erp5_autocompletion_ui/bt/provision_list
 create mode 100644 bt5/erp5_autocompletion_ui/bt/publication_url
 create mode 100644 bt5/erp5_autocompletion_ui/bt/revision
 create mode 100644 bt5/erp5_autocompletion_ui/bt/template_action_path_list
 create mode 100644 bt5/erp5_autocompletion_ui/bt/template_base_category_list
 create mode 100644 bt5/erp5_autocompletion_ui/bt/template_catalog_datetime_key_list
 create mode 100644 bt5/erp5_autocompletion_ui/bt/template_catalog_full_text_key_list
 create mode 100644 bt5/erp5_autocompletion_ui/bt/template_catalog_keyword_key_list
 create mode 100644 bt5/erp5_autocompletion_ui/bt/template_catalog_local_role_key_list
 create mode 100644 bt5/erp5_autocompletion_ui/bt/template_catalog_method_id_list
 create mode 100644 bt5/erp5_autocompletion_ui/bt/template_catalog_multivalue_key_list
 create mode 100644 bt5/erp5_autocompletion_ui/bt/template_catalog_related_key_list
 create mode 100644 bt5/erp5_autocompletion_ui/bt/template_catalog_request_key_list
 create mode 100644 bt5/erp5_autocompletion_ui/bt/template_catalog_result_key_list
 create mode 100644 bt5/erp5_autocompletion_ui/bt/template_catalog_result_table_list
 create mode 100644 bt5/erp5_autocompletion_ui/bt/template_catalog_role_key_list
 create mode 100644 bt5/erp5_autocompletion_ui/bt/template_catalog_scriptable_key_list
 create mode 100644 bt5/erp5_autocompletion_ui/bt/template_catalog_topic_key_list
 create mode 100644 bt5/erp5_autocompletion_ui/bt/template_constraint_id_list
 create mode 100644 bt5/erp5_autocompletion_ui/bt/template_document_id_list
 create mode 100644 bt5/erp5_autocompletion_ui/bt/template_extension_id_list
 create mode 100644 bt5/erp5_autocompletion_ui/bt/template_format_version
 create mode 100644 bt5/erp5_autocompletion_ui/bt/template_local_role_list
 create mode 100644 bt5/erp5_autocompletion_ui/bt/template_local_roles_list
 create mode 100644 bt5/erp5_autocompletion_ui/bt/template_message_translation_list
 create mode 100644 bt5/erp5_autocompletion_ui/bt/template_module_id_list
 create mode 100644 bt5/erp5_autocompletion_ui/bt/template_path_list
 create mode 100644 bt5/erp5_autocompletion_ui/bt/template_portal_type_allowed_content_type_list
 create mode 100644 bt5/erp5_autocompletion_ui/bt/template_portal_type_base_category_list
 create mode 100644 bt5/erp5_autocompletion_ui/bt/template_portal_type_hidden_content_type_list
 create mode 100644 bt5/erp5_autocompletion_ui/bt/template_portal_type_id_list
 create mode 100644 bt5/erp5_autocompletion_ui/bt/template_portal_type_property_sheet_list
 create mode 100644 bt5/erp5_autocompletion_ui/bt/template_portal_type_role_list
 create mode 100644 bt5/erp5_autocompletion_ui/bt/template_portal_type_roles_list
 create mode 100644 bt5/erp5_autocompletion_ui/bt/template_portal_type_workflow_chain_list
 create mode 100644 bt5/erp5_autocompletion_ui/bt/template_preference_list
 create mode 100644 bt5/erp5_autocompletion_ui/bt/template_product_id_list
 create mode 100644 bt5/erp5_autocompletion_ui/bt/template_property_sheet_id_list
 create mode 100644 bt5/erp5_autocompletion_ui/bt/template_registered_skin_selection_list
 create mode 100644 bt5/erp5_autocompletion_ui/bt/template_role_list
 create mode 100644 bt5/erp5_autocompletion_ui/bt/template_site_property_id_list
 create mode 100644 bt5/erp5_autocompletion_ui/bt/template_skin_id_list
 create mode 100644 bt5/erp5_autocompletion_ui/bt/template_test_id_list
 create mode 100644 bt5/erp5_autocompletion_ui/bt/template_tool_id_list
 create mode 100644 bt5/erp5_autocompletion_ui/bt/template_update_business_template_workflow
 create mode 100644 bt5/erp5_autocompletion_ui/bt/template_update_tool
 create mode 100644 bt5/erp5_autocompletion_ui/bt/template_workflow_id_list
 create mode 100644 bt5/erp5_autocompletion_ui/bt/title
 create mode 100644 bt5/erp5_autocompletion_ui/bt/version

diff --git a/bt5/erp5_autocompletion_ui/RegisteredSkinSelectionTemplateItem/registered_skin_selection.xml b/bt5/erp5_autocompletion_ui/RegisteredSkinSelectionTemplateItem/registered_skin_selection.xml
new file mode 100644
index 0000000000..52bf1c9305
--- /dev/null
+++ b/bt5/erp5_autocompletion_ui/RegisteredSkinSelectionTemplateItem/registered_skin_selection.xml
@@ -0,0 +1,6 @@
+<registered_skin_selection>
+ <skin_folder_selection>
+  <skin_folder>erp5_autocompletion_ui</skin_folder>
+  <skin_selection>View</skin_selection>
+ </skin_folder_selection>
+</registered_skin_selection>
diff --git a/bt5/erp5_autocompletion_ui/SkinTemplateItem/portal_skins/erp5_autocompletion_ui.xml b/bt5/erp5_autocompletion_ui/SkinTemplateItem/portal_skins/erp5_autocompletion_ui.xml
new file mode 100644
index 0000000000..3936cfefdd
--- /dev/null
+++ b/bt5/erp5_autocompletion_ui/SkinTemplateItem/portal_skins/erp5_autocompletion_ui.xml
@@ -0,0 +1,29 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="Folder" module="OFS.Folder"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_objects</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>erp5_autocompletion_ui</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string></string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/ERP5Site_getCompletionList.xml b/bt5/erp5_autocompletion_ui/SkinTemplateItem/portal_skins/erp5_autocompletion_ui/ERP5Site_getCompletionList.xml
similarity index 100%
rename from bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/ERP5Site_getCompletionList.xml
rename to bt5/erp5_autocompletion_ui/SkinTemplateItem/portal_skins/erp5_autocompletion_ui/ERP5Site_getCompletionList.xml
diff --git a/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery.erp5.js.xml b/bt5/erp5_autocompletion_ui/SkinTemplateItem/portal_skins/erp5_autocompletion_ui/jquery.erp5.autocompletion.js.xml
similarity index 97%
rename from bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery.erp5.js.xml
rename to bt5/erp5_autocompletion_ui/SkinTemplateItem/portal_skins/erp5_autocompletion_ui/jquery.erp5.autocompletion.js.xml
index 06a06e309c..60c30f5a90 100644
--- a/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery.erp5.js.xml
+++ b/bt5/erp5_autocompletion_ui/SkinTemplateItem/portal_skins/erp5_autocompletion_ui/jquery.erp5.autocompletion.js.xml
@@ -94,7 +94,7 @@ $(function() {\n
         </item>
         <item>
             <key> <string>id</string> </key>
-            <value> <string>jquery.erp5.js</string> </value>
+            <value> <string>jquery.erp5.autocompletion.js</string> </value>
         </item>
         <item>
             <key> <string>title</string> </key>
diff --git a/bt5/erp5_autocompletion_ui/bt/categories_list b/bt5/erp5_autocompletion_ui/bt/categories_list
new file mode 100644
index 0000000000..e69de29bb2
diff --git a/bt5/erp5_autocompletion_ui/bt/change_log b/bt5/erp5_autocompletion_ui/bt/change_log
new file mode 100644
index 0000000000..1d20a49856
--- /dev/null
+++ b/bt5/erp5_autocompletion_ui/bt/change_log
@@ -0,0 +1,2 @@
+2010-08-04 nicolas.dumazet
+* Initial import.
\ No newline at end of file
diff --git a/bt5/erp5_autocompletion_ui/bt/comment b/bt5/erp5_autocompletion_ui/bt/comment
new file mode 100644
index 0000000000..e69de29bb2
diff --git a/bt5/erp5_autocompletion_ui/bt/copyright_list b/bt5/erp5_autocompletion_ui/bt/copyright_list
new file mode 100644
index 0000000000..fe948b9fb7
--- /dev/null
+++ b/bt5/erp5_autocompletion_ui/bt/copyright_list
@@ -0,0 +1 @@
+Copyright (c) 2010 Nexedi SA
\ No newline at end of file
diff --git a/bt5/erp5_autocompletion_ui/bt/dependency_list b/bt5/erp5_autocompletion_ui/bt/dependency_list
new file mode 100644
index 0000000000..d849aad8cd
--- /dev/null
+++ b/bt5/erp5_autocompletion_ui/bt/dependency_list
@@ -0,0 +1,2 @@
+erp5_view_style
+erp5_jquery
\ No newline at end of file
diff --git a/bt5/erp5_autocompletion_ui/bt/description b/bt5/erp5_autocompletion_ui/bt/description
new file mode 100644
index 0000000000..f1e89d7a89
--- /dev/null
+++ b/bt5/erp5_autocompletion_ui/bt/description
@@ -0,0 +1 @@
+Support for autocompletion on fields.
\ No newline at end of file
diff --git a/bt5/erp5_autocompletion_ui/bt/license b/bt5/erp5_autocompletion_ui/bt/license
new file mode 100644
index 0000000000..3a3e12bcad
--- /dev/null
+++ b/bt5/erp5_autocompletion_ui/bt/license
@@ -0,0 +1 @@
+GPL
\ No newline at end of file
diff --git a/bt5/erp5_autocompletion_ui/bt/maintainer_list b/bt5/erp5_autocompletion_ui/bt/maintainer_list
new file mode 100644
index 0000000000..b919ddab39
--- /dev/null
+++ b/bt5/erp5_autocompletion_ui/bt/maintainer_list
@@ -0,0 +1 @@
+nicolas.dumazet
\ No newline at end of file
diff --git a/bt5/erp5_autocompletion_ui/bt/provision_list b/bt5/erp5_autocompletion_ui/bt/provision_list
new file mode 100644
index 0000000000..e69de29bb2
diff --git a/bt5/erp5_autocompletion_ui/bt/publication_url b/bt5/erp5_autocompletion_ui/bt/publication_url
new file mode 100644
index 0000000000..4af18322e3
--- /dev/null
+++ b/bt5/erp5_autocompletion_ui/bt/publication_url
@@ -0,0 +1 @@
+None
\ No newline at end of file
diff --git a/bt5/erp5_autocompletion_ui/bt/revision b/bt5/erp5_autocompletion_ui/bt/revision
new file mode 100644
index 0000000000..d00491fd7e
--- /dev/null
+++ b/bt5/erp5_autocompletion_ui/bt/revision
@@ -0,0 +1 @@
+1
diff --git a/bt5/erp5_autocompletion_ui/bt/template_action_path_list b/bt5/erp5_autocompletion_ui/bt/template_action_path_list
new file mode 100644
index 0000000000..e69de29bb2
diff --git a/bt5/erp5_autocompletion_ui/bt/template_base_category_list b/bt5/erp5_autocompletion_ui/bt/template_base_category_list
new file mode 100644
index 0000000000..e69de29bb2
diff --git a/bt5/erp5_autocompletion_ui/bt/template_catalog_datetime_key_list b/bt5/erp5_autocompletion_ui/bt/template_catalog_datetime_key_list
new file mode 100644
index 0000000000..e69de29bb2
diff --git a/bt5/erp5_autocompletion_ui/bt/template_catalog_full_text_key_list b/bt5/erp5_autocompletion_ui/bt/template_catalog_full_text_key_list
new file mode 100644
index 0000000000..e69de29bb2
diff --git a/bt5/erp5_autocompletion_ui/bt/template_catalog_keyword_key_list b/bt5/erp5_autocompletion_ui/bt/template_catalog_keyword_key_list
new file mode 100644
index 0000000000..e69de29bb2
diff --git a/bt5/erp5_autocompletion_ui/bt/template_catalog_local_role_key_list b/bt5/erp5_autocompletion_ui/bt/template_catalog_local_role_key_list
new file mode 100644
index 0000000000..e69de29bb2
diff --git a/bt5/erp5_autocompletion_ui/bt/template_catalog_method_id_list b/bt5/erp5_autocompletion_ui/bt/template_catalog_method_id_list
new file mode 100644
index 0000000000..e69de29bb2
diff --git a/bt5/erp5_autocompletion_ui/bt/template_catalog_multivalue_key_list b/bt5/erp5_autocompletion_ui/bt/template_catalog_multivalue_key_list
new file mode 100644
index 0000000000..e69de29bb2
diff --git a/bt5/erp5_autocompletion_ui/bt/template_catalog_related_key_list b/bt5/erp5_autocompletion_ui/bt/template_catalog_related_key_list
new file mode 100644
index 0000000000..e69de29bb2
diff --git a/bt5/erp5_autocompletion_ui/bt/template_catalog_request_key_list b/bt5/erp5_autocompletion_ui/bt/template_catalog_request_key_list
new file mode 100644
index 0000000000..e69de29bb2
diff --git a/bt5/erp5_autocompletion_ui/bt/template_catalog_result_key_list b/bt5/erp5_autocompletion_ui/bt/template_catalog_result_key_list
new file mode 100644
index 0000000000..e69de29bb2
diff --git a/bt5/erp5_autocompletion_ui/bt/template_catalog_result_table_list b/bt5/erp5_autocompletion_ui/bt/template_catalog_result_table_list
new file mode 100644
index 0000000000..e69de29bb2
diff --git a/bt5/erp5_autocompletion_ui/bt/template_catalog_role_key_list b/bt5/erp5_autocompletion_ui/bt/template_catalog_role_key_list
new file mode 100644
index 0000000000..e69de29bb2
diff --git a/bt5/erp5_autocompletion_ui/bt/template_catalog_scriptable_key_list b/bt5/erp5_autocompletion_ui/bt/template_catalog_scriptable_key_list
new file mode 100644
index 0000000000..e69de29bb2
diff --git a/bt5/erp5_autocompletion_ui/bt/template_catalog_topic_key_list b/bt5/erp5_autocompletion_ui/bt/template_catalog_topic_key_list
new file mode 100644
index 0000000000..e69de29bb2
diff --git a/bt5/erp5_autocompletion_ui/bt/template_constraint_id_list b/bt5/erp5_autocompletion_ui/bt/template_constraint_id_list
new file mode 100644
index 0000000000..e69de29bb2
diff --git a/bt5/erp5_autocompletion_ui/bt/template_document_id_list b/bt5/erp5_autocompletion_ui/bt/template_document_id_list
new file mode 100644
index 0000000000..e69de29bb2
diff --git a/bt5/erp5_autocompletion_ui/bt/template_extension_id_list b/bt5/erp5_autocompletion_ui/bt/template_extension_id_list
new file mode 100644
index 0000000000..e69de29bb2
diff --git a/bt5/erp5_autocompletion_ui/bt/template_format_version b/bt5/erp5_autocompletion_ui/bt/template_format_version
new file mode 100644
index 0000000000..56a6051ca2
--- /dev/null
+++ b/bt5/erp5_autocompletion_ui/bt/template_format_version
@@ -0,0 +1 @@
+1
\ No newline at end of file
diff --git a/bt5/erp5_autocompletion_ui/bt/template_local_role_list b/bt5/erp5_autocompletion_ui/bt/template_local_role_list
new file mode 100644
index 0000000000..e69de29bb2
diff --git a/bt5/erp5_autocompletion_ui/bt/template_local_roles_list b/bt5/erp5_autocompletion_ui/bt/template_local_roles_list
new file mode 100644
index 0000000000..e69de29bb2
diff --git a/bt5/erp5_autocompletion_ui/bt/template_message_translation_list b/bt5/erp5_autocompletion_ui/bt/template_message_translation_list
new file mode 100644
index 0000000000..e69de29bb2
diff --git a/bt5/erp5_autocompletion_ui/bt/template_module_id_list b/bt5/erp5_autocompletion_ui/bt/template_module_id_list
new file mode 100644
index 0000000000..e69de29bb2
diff --git a/bt5/erp5_autocompletion_ui/bt/template_path_list b/bt5/erp5_autocompletion_ui/bt/template_path_list
new file mode 100644
index 0000000000..e69de29bb2
diff --git a/bt5/erp5_autocompletion_ui/bt/template_portal_type_allowed_content_type_list b/bt5/erp5_autocompletion_ui/bt/template_portal_type_allowed_content_type_list
new file mode 100644
index 0000000000..e69de29bb2
diff --git a/bt5/erp5_autocompletion_ui/bt/template_portal_type_base_category_list b/bt5/erp5_autocompletion_ui/bt/template_portal_type_base_category_list
new file mode 100644
index 0000000000..e69de29bb2
diff --git a/bt5/erp5_autocompletion_ui/bt/template_portal_type_hidden_content_type_list b/bt5/erp5_autocompletion_ui/bt/template_portal_type_hidden_content_type_list
new file mode 100644
index 0000000000..e69de29bb2
diff --git a/bt5/erp5_autocompletion_ui/bt/template_portal_type_id_list b/bt5/erp5_autocompletion_ui/bt/template_portal_type_id_list
new file mode 100644
index 0000000000..e69de29bb2
diff --git a/bt5/erp5_autocompletion_ui/bt/template_portal_type_property_sheet_list b/bt5/erp5_autocompletion_ui/bt/template_portal_type_property_sheet_list
new file mode 100644
index 0000000000..e69de29bb2
diff --git a/bt5/erp5_autocompletion_ui/bt/template_portal_type_role_list b/bt5/erp5_autocompletion_ui/bt/template_portal_type_role_list
new file mode 100644
index 0000000000..e69de29bb2
diff --git a/bt5/erp5_autocompletion_ui/bt/template_portal_type_roles_list b/bt5/erp5_autocompletion_ui/bt/template_portal_type_roles_list
new file mode 100644
index 0000000000..e69de29bb2
diff --git a/bt5/erp5_autocompletion_ui/bt/template_portal_type_workflow_chain_list b/bt5/erp5_autocompletion_ui/bt/template_portal_type_workflow_chain_list
new file mode 100644
index 0000000000..e69de29bb2
diff --git a/bt5/erp5_autocompletion_ui/bt/template_preference_list b/bt5/erp5_autocompletion_ui/bt/template_preference_list
new file mode 100644
index 0000000000..e69de29bb2
diff --git a/bt5/erp5_autocompletion_ui/bt/template_product_id_list b/bt5/erp5_autocompletion_ui/bt/template_product_id_list
new file mode 100644
index 0000000000..e69de29bb2
diff --git a/bt5/erp5_autocompletion_ui/bt/template_property_sheet_id_list b/bt5/erp5_autocompletion_ui/bt/template_property_sheet_id_list
new file mode 100644
index 0000000000..e69de29bb2
diff --git a/bt5/erp5_autocompletion_ui/bt/template_registered_skin_selection_list b/bt5/erp5_autocompletion_ui/bt/template_registered_skin_selection_list
new file mode 100644
index 0000000000..ba65f022f0
--- /dev/null
+++ b/bt5/erp5_autocompletion_ui/bt/template_registered_skin_selection_list
@@ -0,0 +1 @@
+erp5_autocompletion_ui | View
diff --git a/bt5/erp5_autocompletion_ui/bt/template_role_list b/bt5/erp5_autocompletion_ui/bt/template_role_list
new file mode 100644
index 0000000000..e69de29bb2
diff --git a/bt5/erp5_autocompletion_ui/bt/template_site_property_id_list b/bt5/erp5_autocompletion_ui/bt/template_site_property_id_list
new file mode 100644
index 0000000000..e69de29bb2
diff --git a/bt5/erp5_autocompletion_ui/bt/template_skin_id_list b/bt5/erp5_autocompletion_ui/bt/template_skin_id_list
new file mode 100644
index 0000000000..ad68cfa000
--- /dev/null
+++ b/bt5/erp5_autocompletion_ui/bt/template_skin_id_list
@@ -0,0 +1 @@
+erp5_autocompletion_ui
\ No newline at end of file
diff --git a/bt5/erp5_autocompletion_ui/bt/template_test_id_list b/bt5/erp5_autocompletion_ui/bt/template_test_id_list
new file mode 100644
index 0000000000..e69de29bb2
diff --git a/bt5/erp5_autocompletion_ui/bt/template_tool_id_list b/bt5/erp5_autocompletion_ui/bt/template_tool_id_list
new file mode 100644
index 0000000000..e69de29bb2
diff --git a/bt5/erp5_autocompletion_ui/bt/template_update_business_template_workflow b/bt5/erp5_autocompletion_ui/bt/template_update_business_template_workflow
new file mode 100644
index 0000000000..c227083464
--- /dev/null
+++ b/bt5/erp5_autocompletion_ui/bt/template_update_business_template_workflow
@@ -0,0 +1 @@
+0
\ No newline at end of file
diff --git a/bt5/erp5_autocompletion_ui/bt/template_update_tool b/bt5/erp5_autocompletion_ui/bt/template_update_tool
new file mode 100644
index 0000000000..c227083464
--- /dev/null
+++ b/bt5/erp5_autocompletion_ui/bt/template_update_tool
@@ -0,0 +1 @@
+0
\ No newline at end of file
diff --git a/bt5/erp5_autocompletion_ui/bt/template_workflow_id_list b/bt5/erp5_autocompletion_ui/bt/template_workflow_id_list
new file mode 100644
index 0000000000..e69de29bb2
diff --git a/bt5/erp5_autocompletion_ui/bt/title b/bt5/erp5_autocompletion_ui/bt/title
new file mode 100644
index 0000000000..ad68cfa000
--- /dev/null
+++ b/bt5/erp5_autocompletion_ui/bt/title
@@ -0,0 +1 @@
+erp5_autocompletion_ui
\ No newline at end of file
diff --git a/bt5/erp5_autocompletion_ui/bt/version b/bt5/erp5_autocompletion_ui/bt/version
new file mode 100644
index 0000000000..9f8e9b69a3
--- /dev/null
+++ b/bt5/erp5_autocompletion_ui/bt/version
@@ -0,0 +1 @@
+1.0
\ No newline at end of file
diff --git a/bt5/erp5_jquery/bt/revision b/bt5/erp5_jquery/bt/revision
index 9d607966b7..48082f72f0 100644
--- a/bt5/erp5_jquery/bt/revision
+++ b/bt5/erp5_jquery/bt/revision
@@ -1 +1 @@
-11
\ No newline at end of file
+12
-- 
2.30.9


From 2e7ed65dd29763d8652043822541de55ec15d553 Mon Sep 17 00:00:00 2001
From: Fabien Morin <fabien@nexedi.com>
Date: Wed, 4 Aug 2010 15:42:43 +0000
Subject: [PATCH 252/270] Do not errase dict if the new property is empty. Set
 the new property only it there is a value related to it. This way we keep
 less pirioritary result in  case the more prioritary is empty, but at least
 we have a result.

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@37481 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 product/ERP5/Document/Document.py | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/product/ERP5/Document/Document.py b/product/ERP5/Document/Document.py
index e0db815534..c6b9bfa081 100644
--- a/product/ERP5/Document/Document.py
+++ b/product/ERP5/Document/Document.py
@@ -753,7 +753,10 @@ class Document(DocumentExtensibleTraversableMixin, XMLObject, UrlMixIn, CachedCo
       else:
         result = method()
       if result is not None:
-        kw.update(result)
+      if result is not None:
+        for key, value in result.iteritems():
+          if value not in (None, ''):
+            kw[key]=value
 
     if file_name is not None:
       # filename is often undefined....
-- 
2.30.9


From 727926bcd848ac540f60abee13fb5c6f853a787b Mon Sep 17 00:00:00 2001
From: Lucas Carvalho <lucas@nexedi.com>
Date: Wed, 4 Aug 2010 18:59:17 +0000
Subject: [PATCH 253/270] Fixed IndentationError.

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@37482 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 product/ERP5/Document/Document.py | 1 -
 1 file changed, 1 deletion(-)

diff --git a/product/ERP5/Document/Document.py b/product/ERP5/Document/Document.py
index c6b9bfa081..e5a7d7b7ee 100644
--- a/product/ERP5/Document/Document.py
+++ b/product/ERP5/Document/Document.py
@@ -752,7 +752,6 @@ class Document(DocumentExtensibleTraversableMixin, XMLObject, UrlMixIn, CachedCo
           result = method(user_login)
       else:
         result = method()
-      if result is not None:
       if result is not None:
         for key, value in result.iteritems():
           if value not in (None, ''):
-- 
2.30.9


From 62637ff00f1afea6951e0b6060748236f028fcb7 Mon Sep 17 00:00:00 2001
From: Nicolas Dumazet <nicolas.dumazet@nexedi.com>
Date: Thu, 5 Aug 2010 06:25:57 +0000
Subject: [PATCH 254/270] Fix display of price and quantity for Cells listed on
 PackingList views

Packing List views are a bit particular because they use getMovementList.
All the listbox lines are movements. Similarly, some lines can bear
variation categories. It means that the "enabled" TALES test:
  python: cell.isMovement() and not cell.getVariationCategoryList()
is problematic for this view.

For quantity fields, the Base_viewFieldLibrary.my_view_mode_quantity
fits perfectly our usecase.
For price, we need to get price precision from the cell, so
Base_viewFieldLibrary.my_view_mode_price does not fit. On the other hand,
Base_viewTradeFieldLibrary.my_view_mode_price does include the "enabled" TALES,
which we do not want.
We thus create a new "my_view_mode_movement_listbox_price" field in
Base_viewTradeFieldLibrary for this usage.



git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@37500 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 .../erp5_trade/Base_viewTradeFieldLibrary.xml |   1 +
 .../my_view_mode_movement_listbox_price.xml   | 103 ++++++++++++++++++
 .../listbox_price.xml                         |   2 +-
 .../listbox_quantity.xml                      |   4 +-
 .../listbox_price.xml                         |   2 +-
 .../listbox_quantity.xml                      |   4 +-
 .../listbox_quantity.xml                      |   4 +-
 .../listbox_quantity.xml                      |   4 +-
 .../SalePackingList_view/listbox_price.xml    |   2 +-
 .../SalePackingList_view/listbox_quantity.xml |   4 +-
 bt5/erp5_trade/bt/revision                    |   2 +-
 11 files changed, 118 insertions(+), 14 deletions(-)
 create mode 100644 bt5/erp5_trade/SkinTemplateItem/portal_skins/erp5_trade/Base_viewTradeFieldLibrary/my_view_mode_movement_listbox_price.xml

diff --git a/bt5/erp5_trade/SkinTemplateItem/portal_skins/erp5_trade/Base_viewTradeFieldLibrary.xml b/bt5/erp5_trade/SkinTemplateItem/portal_skins/erp5_trade/Base_viewTradeFieldLibrary.xml
index 97d5c1e024..fcbbc5bf6f 100644
--- a/bt5/erp5_trade/SkinTemplateItem/portal_skins/erp5_trade/Base_viewTradeFieldLibrary.xml
+++ b/bt5/erp5_trade/SkinTemplateItem/portal_skins/erp5_trade/Base_viewTradeFieldLibrary.xml
@@ -305,6 +305,7 @@
                         <string>my_view_mode_movement_use</string>
                         <string>my_view_mode_listbox_resource_relative_url</string>
                         <string>my_view_mode_listbox_movement_relative_url</string>
+                        <string>my_view_mode_movement_listbox_price</string>
                       </list>
                     </value>
                 </item>
diff --git a/bt5/erp5_trade/SkinTemplateItem/portal_skins/erp5_trade/Base_viewTradeFieldLibrary/my_view_mode_movement_listbox_price.xml b/bt5/erp5_trade/SkinTemplateItem/portal_skins/erp5_trade/Base_viewTradeFieldLibrary/my_view_mode_movement_listbox_price.xml
new file mode 100644
index 0000000000..61bc49464a
--- /dev/null
+++ b/bt5/erp5_trade/SkinTemplateItem/portal_skins/erp5_trade/Base_viewTradeFieldLibrary/my_view_mode_movement_listbox_price.xml
@@ -0,0 +1,103 @@
+<?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>enabled</string>
+              </list>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>my_view_mode_movement_listbox_price</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>enabled</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <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>enabled</string> </key>
+                    <value> <int>1</int> </value>
+                </item>
+                <item>
+                    <key> <string>field_id</string> </key>
+                    <value> <string>my_view_mode_listbox_price</string> </value>
+                </item>
+                <item>
+                    <key> <string>form_id</string> </key>
+                    <value> <string>Base_viewTradeFieldLibrary</string> </value>
+                </item>
+                <item>
+                    <key> <string>target</string> </key>
+                    <value> <string>Click to edit the target</string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_trade/SkinTemplateItem/portal_skins/erp5_trade/InternalPackingList_view/listbox_price.xml b/bt5/erp5_trade/SkinTemplateItem/portal_skins/erp5_trade/InternalPackingList_view/listbox_price.xml
index f1a2fdbedb..8f9df6d11e 100644
--- a/bt5/erp5_trade/SkinTemplateItem/portal_skins/erp5_trade/InternalPackingList_view/listbox_price.xml
+++ b/bt5/erp5_trade/SkinTemplateItem/portal_skins/erp5_trade/InternalPackingList_view/listbox_price.xml
@@ -74,7 +74,7 @@
               <dictionary>
                 <item>
                     <key> <string>field_id</string> </key>
-                    <value> <string>my_view_mode_listbox_price</string> </value>
+                    <value> <string>my_view_mode_movement_listbox_price</string> </value>
                 </item>
                 <item>
                     <key> <string>form_id</string> </key>
diff --git a/bt5/erp5_trade/SkinTemplateItem/portal_skins/erp5_trade/InternalPackingList_view/listbox_quantity.xml b/bt5/erp5_trade/SkinTemplateItem/portal_skins/erp5_trade/InternalPackingList_view/listbox_quantity.xml
index 0e49184471..33eeeeca51 100644
--- a/bt5/erp5_trade/SkinTemplateItem/portal_skins/erp5_trade/InternalPackingList_view/listbox_quantity.xml
+++ b/bt5/erp5_trade/SkinTemplateItem/portal_skins/erp5_trade/InternalPackingList_view/listbox_quantity.xml
@@ -74,11 +74,11 @@
               <dictionary>
                 <item>
                     <key> <string>field_id</string> </key>
-                    <value> <string>my_view_mode_listbox_quantity</string> </value>
+                    <value> <string>my_view_mode_quantity</string> </value>
                 </item>
                 <item>
                     <key> <string>form_id</string> </key>
-                    <value> <string>Base_viewTradeFieldLibrary</string> </value>
+                    <value> <string>Base_viewFieldLibrary</string> </value>
                 </item>
                 <item>
                     <key> <string>target</string> </key>
diff --git a/bt5/erp5_trade/SkinTemplateItem/portal_skins/erp5_trade/PurchasePackingList_view/listbox_price.xml b/bt5/erp5_trade/SkinTemplateItem/portal_skins/erp5_trade/PurchasePackingList_view/listbox_price.xml
index f1a2fdbedb..8f9df6d11e 100644
--- a/bt5/erp5_trade/SkinTemplateItem/portal_skins/erp5_trade/PurchasePackingList_view/listbox_price.xml
+++ b/bt5/erp5_trade/SkinTemplateItem/portal_skins/erp5_trade/PurchasePackingList_view/listbox_price.xml
@@ -74,7 +74,7 @@
               <dictionary>
                 <item>
                     <key> <string>field_id</string> </key>
-                    <value> <string>my_view_mode_listbox_price</string> </value>
+                    <value> <string>my_view_mode_movement_listbox_price</string> </value>
                 </item>
                 <item>
                     <key> <string>form_id</string> </key>
diff --git a/bt5/erp5_trade/SkinTemplateItem/portal_skins/erp5_trade/PurchasePackingList_view/listbox_quantity.xml b/bt5/erp5_trade/SkinTemplateItem/portal_skins/erp5_trade/PurchasePackingList_view/listbox_quantity.xml
index 0e49184471..33eeeeca51 100644
--- a/bt5/erp5_trade/SkinTemplateItem/portal_skins/erp5_trade/PurchasePackingList_view/listbox_quantity.xml
+++ b/bt5/erp5_trade/SkinTemplateItem/portal_skins/erp5_trade/PurchasePackingList_view/listbox_quantity.xml
@@ -74,11 +74,11 @@
               <dictionary>
                 <item>
                     <key> <string>field_id</string> </key>
-                    <value> <string>my_view_mode_listbox_quantity</string> </value>
+                    <value> <string>my_view_mode_quantity</string> </value>
                 </item>
                 <item>
                     <key> <string>form_id</string> </key>
-                    <value> <string>Base_viewTradeFieldLibrary</string> </value>
+                    <value> <string>Base_viewFieldLibrary</string> </value>
                 </item>
                 <item>
                     <key> <string>target</string> </key>
diff --git a/bt5/erp5_trade/SkinTemplateItem/portal_skins/erp5_trade/ReturnedPurchasePackingList_view/listbox_quantity.xml b/bt5/erp5_trade/SkinTemplateItem/portal_skins/erp5_trade/ReturnedPurchasePackingList_view/listbox_quantity.xml
index 0e49184471..33eeeeca51 100644
--- a/bt5/erp5_trade/SkinTemplateItem/portal_skins/erp5_trade/ReturnedPurchasePackingList_view/listbox_quantity.xml
+++ b/bt5/erp5_trade/SkinTemplateItem/portal_skins/erp5_trade/ReturnedPurchasePackingList_view/listbox_quantity.xml
@@ -74,11 +74,11 @@
               <dictionary>
                 <item>
                     <key> <string>field_id</string> </key>
-                    <value> <string>my_view_mode_listbox_quantity</string> </value>
+                    <value> <string>my_view_mode_quantity</string> </value>
                 </item>
                 <item>
                     <key> <string>form_id</string> </key>
-                    <value> <string>Base_viewTradeFieldLibrary</string> </value>
+                    <value> <string>Base_viewFieldLibrary</string> </value>
                 </item>
                 <item>
                     <key> <string>target</string> </key>
diff --git a/bt5/erp5_trade/SkinTemplateItem/portal_skins/erp5_trade/ReturnedSalePackingList_view/listbox_quantity.xml b/bt5/erp5_trade/SkinTemplateItem/portal_skins/erp5_trade/ReturnedSalePackingList_view/listbox_quantity.xml
index 0e49184471..33eeeeca51 100644
--- a/bt5/erp5_trade/SkinTemplateItem/portal_skins/erp5_trade/ReturnedSalePackingList_view/listbox_quantity.xml
+++ b/bt5/erp5_trade/SkinTemplateItem/portal_skins/erp5_trade/ReturnedSalePackingList_view/listbox_quantity.xml
@@ -74,11 +74,11 @@
               <dictionary>
                 <item>
                     <key> <string>field_id</string> </key>
-                    <value> <string>my_view_mode_listbox_quantity</string> </value>
+                    <value> <string>my_view_mode_quantity</string> </value>
                 </item>
                 <item>
                     <key> <string>form_id</string> </key>
-                    <value> <string>Base_viewTradeFieldLibrary</string> </value>
+                    <value> <string>Base_viewFieldLibrary</string> </value>
                 </item>
                 <item>
                     <key> <string>target</string> </key>
diff --git a/bt5/erp5_trade/SkinTemplateItem/portal_skins/erp5_trade/SalePackingList_view/listbox_price.xml b/bt5/erp5_trade/SkinTemplateItem/portal_skins/erp5_trade/SalePackingList_view/listbox_price.xml
index f1a2fdbedb..8f9df6d11e 100644
--- a/bt5/erp5_trade/SkinTemplateItem/portal_skins/erp5_trade/SalePackingList_view/listbox_price.xml
+++ b/bt5/erp5_trade/SkinTemplateItem/portal_skins/erp5_trade/SalePackingList_view/listbox_price.xml
@@ -74,7 +74,7 @@
               <dictionary>
                 <item>
                     <key> <string>field_id</string> </key>
-                    <value> <string>my_view_mode_listbox_price</string> </value>
+                    <value> <string>my_view_mode_movement_listbox_price</string> </value>
                 </item>
                 <item>
                     <key> <string>form_id</string> </key>
diff --git a/bt5/erp5_trade/SkinTemplateItem/portal_skins/erp5_trade/SalePackingList_view/listbox_quantity.xml b/bt5/erp5_trade/SkinTemplateItem/portal_skins/erp5_trade/SalePackingList_view/listbox_quantity.xml
index 0e49184471..33eeeeca51 100644
--- a/bt5/erp5_trade/SkinTemplateItem/portal_skins/erp5_trade/SalePackingList_view/listbox_quantity.xml
+++ b/bt5/erp5_trade/SkinTemplateItem/portal_skins/erp5_trade/SalePackingList_view/listbox_quantity.xml
@@ -74,11 +74,11 @@
               <dictionary>
                 <item>
                     <key> <string>field_id</string> </key>
-                    <value> <string>my_view_mode_listbox_quantity</string> </value>
+                    <value> <string>my_view_mode_quantity</string> </value>
                 </item>
                 <item>
                     <key> <string>form_id</string> </key>
-                    <value> <string>Base_viewTradeFieldLibrary</string> </value>
+                    <value> <string>Base_viewFieldLibrary</string> </value>
                 </item>
                 <item>
                     <key> <string>target</string> </key>
diff --git a/bt5/erp5_trade/bt/revision b/bt5/erp5_trade/bt/revision
index 4832075b37..63e305abad 100644
--- a/bt5/erp5_trade/bt/revision
+++ b/bt5/erp5_trade/bt/revision
@@ -1 +1 @@
-967
\ No newline at end of file
+968
-- 
2.30.9


From 378c693fc6058724c544b87d79d7a0cb2ad3bc1f Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C5=81ukasz=20Nowak?= <luke@nexedi.com>
Date: Thu, 5 Aug 2010 09:51:32 +0000
Subject: [PATCH 255/270]  - zope.testbrowser is not provided anymore

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@37521 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 buildout/tests/assertSoftware.py | 1 -
 1 file changed, 1 deletion(-)

diff --git a/buildout/tests/assertSoftware.py b/buildout/tests/assertSoftware.py
index a39d25959a..a8be5008cb 100644
--- a/buildout/tests/assertSoftware.py
+++ b/buildout/tests/assertSoftware.py
@@ -76,7 +76,6 @@ print sys.version_info[:2]
       xml
       xml.parsers.expat
       zlib
-      zope.testbrowser
       """)
     failed_library_list = []
     for lib in required_library_list:
-- 
2.30.9


From d0f158733759338bc124be1e9f06fc9edb4e73dc Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C5=81ukasz=20Nowak?= <luke@nexedi.com>
Date: Thu, 5 Aug 2010 11:52:27 +0000
Subject: [PATCH 256/270]  - as invokepython egg is fixed, restore previous
 behaviour  - force usage new enough egg

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@37524 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 buildout/software-profiles/python-2.4.cfg | 4 +---
 1 file changed, 1 insertion(+), 3 deletions(-)

diff --git a/buildout/software-profiles/python-2.4.cfg b/buildout/software-profiles/python-2.4.cfg
index 4e7207f2f7..2987d68527 100644
--- a/buildout/software-profiles/python-2.4.cfg
+++ b/buildout/software-profiles/python-2.4.cfg
@@ -3,8 +3,6 @@ extends = ../software-profiles/python-common.cfg
 parts =
     pythonbin2.4
 
-develop += local-eggs/localbin
-
 [python2.4-dbm-patch]
 recipe = hexagonit.recipe.download
 # original patch from http://bugs.gentoo.org/attachment.cgi?id=109117
@@ -25,7 +23,7 @@ patches =
 recipe = zc.recipe.egg:scripts
 python = python2.4
 eggs = ${eggs:eggs}
-  invokepython
+  invokepython>=0.3
 extra-paths =
   ${zope-2.8:location}/lib/python
 scripts =
-- 
2.30.9


From dfd40f61161809c40c5f9330a8e68650fa1e29b2 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C5=81ukasz=20Nowak?= <luke@nexedi.com>
Date: Thu, 5 Aug 2010 12:27:33 +0000
Subject: [PATCH 257/270]  - force using working version of egg

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@37531 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 buildout/software-profiles/python-2.4.cfg | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/buildout/software-profiles/python-2.4.cfg b/buildout/software-profiles/python-2.4.cfg
index 2987d68527..63eca6df56 100644
--- a/buildout/software-profiles/python-2.4.cfg
+++ b/buildout/software-profiles/python-2.4.cfg
@@ -23,7 +23,7 @@ patches =
 recipe = zc.recipe.egg:scripts
 python = python2.4
 eggs = ${eggs:eggs}
-  invokepython>=0.3
+  invokepython>=0.4
 extra-paths =
   ${zope-2.8:location}/lib/python
 scripts =
-- 
2.30.9


From a0966d3a3331d899dc575733504292e4823a201b Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C5=81ukasz=20Nowak?= <luke@nexedi.com>
Date: Thu, 5 Aug 2010 12:30:59 +0000
Subject: [PATCH 258/270]  - invokepython egg is providing same functionality,
 remove duplicated code

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@37532 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 buildout/local-eggs/localbin/README.txt      | 16 -----------
 buildout/local-eggs/localbin/invokepython.py |  4 ---
 buildout/local-eggs/localbin/setup.py        | 30 --------------------
 3 files changed, 50 deletions(-)
 delete mode 100644 buildout/local-eggs/localbin/README.txt
 delete mode 100644 buildout/local-eggs/localbin/invokepython.py
 delete mode 100644 buildout/local-eggs/localbin/setup.py

diff --git a/buildout/local-eggs/localbin/README.txt b/buildout/local-eggs/localbin/README.txt
deleted file mode 100644
index 09927da916..0000000000
--- a/buildout/local-eggs/localbin/README.txt
+++ /dev/null
@@ -1,16 +0,0 @@
-invokepython
-============
-
-This is workaround wrapper generator for python, which allows to generate
-fully stuffed with eggs interpreter.
-
-Generated wrapper behaves like original python binary, accepting all arguments.
-It executes original python with replacing self process.
-
-Known issues
-------------
-
-Because of being another interpreter in chain of invocation of interpreters it
-can suffer of shebang limitations.
-
-http://www.in-ulm.de/~mascheck/various/shebang/
diff --git a/buildout/local-eggs/localbin/invokepython.py b/buildout/local-eggs/localbin/invokepython.py
deleted file mode 100644
index 8e7090b837..0000000000
--- a/buildout/local-eggs/localbin/invokepython.py
+++ /dev/null
@@ -1,4 +0,0 @@
-import sys, os
-def invokepython():
-  os.environ['PYTHONPATH'] = ':'.join(sys.path)
-  os.execl(sys.executable, *sys.argv)
diff --git a/buildout/local-eggs/localbin/setup.py b/buildout/local-eggs/localbin/setup.py
deleted file mode 100644
index 5565a995c9..0000000000
--- a/buildout/local-eggs/localbin/setup.py
+++ /dev/null
@@ -1,30 +0,0 @@
-from setuptools import setup, find_packages
-
-name = "invokepython"
-version = '0.1'
-
-setup(
-    name = name,
-    version = version,
-    author = "Lukasz Nowak",
-    author_email = "luke@nexedi.com",
-    description = "Generates python wrapper around python interpreter",
-    long_description = "Generates python wrapper, which acts like normal "\
-        "python interpreter, but containing full list of additional python "\
-        "paths",
-    license = "ZPL 2.1",
-    keywords = "python interpreter",
-    packages = find_packages(),
-    scripts = [name+".py",],
-    include_package_data = True,
-    classifiers=[
-      "License :: OSI Approved :: Zope Public License",
-      "Framework :: Buildout",
-      "Operating System :: POSIX :: Linux",
-      ],
-    zip_safe=False,
-    entry_points = """
-    [console_scripts]
-    invokepython = invokepython:invokepython
-    """,
-    )
-- 
2.30.9


From 412c31793ca3f60892e0a43e643041cad43e9a65 Mon Sep 17 00:00:00 2001
From: Yoshinori Okuji <yo@nexedi.com>
Date: Fri, 6 Aug 2010 07:45:31 +0000
Subject: [PATCH 259/270] Initial import.

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@37590 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 product/ERP5/Document/InvoiceMovementGroup.py | 57 +++++++++++++++++++
 1 file changed, 57 insertions(+)
 create mode 100644 product/ERP5/Document/InvoiceMovementGroup.py

diff --git a/product/ERP5/Document/InvoiceMovementGroup.py b/product/ERP5/Document/InvoiceMovementGroup.py
new file mode 100644
index 0000000000..b9cd650103
--- /dev/null
+++ b/product/ERP5/Document/InvoiceMovementGroup.py
@@ -0,0 +1,57 @@
+##############################################################################
+#
+# Copyright (c) 2010 Nexedi SA and Contributors. All Rights Reserved.
+#
+# WARNING: This program as such is intended to be used by professional
+# programmers who take the whole responsibility 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
+# guarantees 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., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA.
+#
+##############################################################################
+
+from Products.ERP5.Document.MovementGroup import MovementGroup
+
+class InvoiceMovementGroup(MovementGroup):
+  """
+  This movement group is used to collect movements related to the same
+  invoice. This movement group should be used in delivery level.
+  """
+  meta_type = 'ERP5 Invoice Movement Group'
+  portal_type = 'Invoice Movement Group'
+
+  def _getPropertyDict(self, movement, **kw):
+    return dict(_invoice_uid=self._getInvoiceUid(movement))
+
+  def test(self, document, property_dict, property_list=None, **kw):
+    if property_dict['_invoice_uid'] != document.getUid():
+      return False, {}
+    else:
+      return True, {}
+
+  def _getInvoiceUid(self, simulation_movement):
+    parent_rule = simulation_movement.getParentValue()
+    while not parent_rule.isRootAppliedRule():
+      parent_simulation_movement = parent_rule.getParentValue()
+      grand_parent_rule = parent_simulation_movement.getParentValue()
+      parent_delivery = parent_simulation_movement.getDeliveryValue()
+      if parent_delivery is not None and \
+             parent_delivery.getPortalType() == 'Invoice Line':
+        return parent_delivery.getExplanationValue().getUid()
+      parent_rule = grand_parent_rule
+    return None
-- 
2.30.9


From 22880a4ede376abc2c355ffa3a4828336e128a01 Mon Sep 17 00:00:00 2001
From: Yoshinori Okuji <yo@nexedi.com>
Date: Fri, 6 Aug 2010 07:59:25 +0000
Subject: [PATCH 260/270] Use the portal method to retrieve invoice movement
 types instead of hardcoding them.

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@37591 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 product/ERP5/Document/InvoiceMovementGroup.py | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/product/ERP5/Document/InvoiceMovementGroup.py b/product/ERP5/Document/InvoiceMovementGroup.py
index b9cd650103..ebb82b0aad 100644
--- a/product/ERP5/Document/InvoiceMovementGroup.py
+++ b/product/ERP5/Document/InvoiceMovementGroup.py
@@ -46,12 +46,14 @@ class InvoiceMovementGroup(MovementGroup):
 
   def _getInvoiceUid(self, simulation_movement):
     parent_rule = simulation_movement.getParentValue()
+    portal = self.getPortalObject()
+    invoice_movement_types = portal.getPortalInvoiceMovementTypeList()
     while not parent_rule.isRootAppliedRule():
       parent_simulation_movement = parent_rule.getParentValue()
       grand_parent_rule = parent_simulation_movement.getParentValue()
       parent_delivery = parent_simulation_movement.getDeliveryValue()
       if parent_delivery is not None and \
-             parent_delivery.getPortalType() == 'Invoice Line':
+             parent_delivery.getPortalType() in invoice_movement_types:
         return parent_delivery.getExplanationValue().getUid()
       parent_rule = grand_parent_rule
     return None
-- 
2.30.9


From 9c30fb6eed50f88b4bd3b2261953f2b2f2b4f399 Mon Sep 17 00:00:00 2001
From: Yoshinori Okuji <yo@nexedi.com>
Date: Fri, 6 Aug 2010 08:05:42 +0000
Subject: [PATCH 261/270] 2010-08-06 yo * Add Invoice Movement Group.

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@37592 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 .../Invoice%20Movement%20Group/view.xml       |  85 ++++++++++++
 .../allowed_content_types.xml                 |   1 +
 .../Invoice%20Movement%20Group.xml            | 126 ++++++++++++++++++
 bt5/erp5_base/bt/change_log                   |   3 +
 bt5/erp5_base/bt/revision                     |   2 +-
 bt5/erp5_base/bt/template_action_path_list    |   1 +
 ...late_portal_type_allowed_content_type_list |   1 +
 bt5/erp5_base/bt/template_portal_type_id_list |   1 +
 8 files changed, 219 insertions(+), 1 deletion(-)
 create mode 100644 bt5/erp5_base/ActionTemplateItem/portal_types/Invoice%20Movement%20Group/view.xml
 create mode 100644 bt5/erp5_base/PortalTypeTemplateItem/portal_types/Invoice%20Movement%20Group.xml

diff --git a/bt5/erp5_base/ActionTemplateItem/portal_types/Invoice%20Movement%20Group/view.xml b/bt5/erp5_base/ActionTemplateItem/portal_types/Invoice%20Movement%20Group/view.xml
new file mode 100644
index 0000000000..5bffd3566b
--- /dev/null
+++ b/bt5/erp5_base/ActionTemplateItem/portal_types/Invoice%20Movement%20Group/view.xml
@@ -0,0 +1,85 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="ActionInformation" module="Products.CMFCore.ActionInformation"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>action</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>categories</string> </key>
+            <value>
+              <tuple>
+                <string>action_type/object_view</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>category</string> </key>
+            <value> <string>object_view</string> </value>
+        </item>
+        <item>
+            <key> <string>condition</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>description</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>icon</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>view</string> </value>
+        </item>
+        <item>
+            <key> <string>permissions</string> </key>
+            <value>
+              <tuple>
+                <string>View</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>priority</string> </key>
+            <value> <float>1.0</float> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>View</string> </value>
+        </item>
+        <item>
+            <key> <string>visible</string> </key>
+            <value> <int>1</int> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="2" aka="AAAAAAAAAAI=">
+    <pickle>
+      <tuple>
+        <global name="Expression" module="Products.CMFCore.Expression"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>text</string> </key>
+            <value> <string>string:${object_url}/MovementGroup_view</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_base/PortalTypeAllowedContentTypeTemplateItem/allowed_content_types.xml b/bt5/erp5_base/PortalTypeAllowedContentTypeTemplateItem/allowed_content_types.xml
index 19332d3a51..9d951ce999 100644
--- a/bt5/erp5_base/PortalTypeAllowedContentTypeTemplateItem/allowed_content_types.xml
+++ b/bt5/erp5_base/PortalTypeAllowedContentTypeTemplateItem/allowed_content_types.xml
@@ -26,6 +26,7 @@
   <item>Causality Movement Group</item>
   <item>Day Movement Group</item>
   <item>Delivery Causality Assignment Movement Group</item>
+  <item>Invoice Movement Group</item>
   <item>Mirror Movement Group</item>
   <item>Monthly Range Movement Group</item>
   <item>Nested Line Movement Group</item>
diff --git a/bt5/erp5_base/PortalTypeTemplateItem/portal_types/Invoice%20Movement%20Group.xml b/bt5/erp5_base/PortalTypeTemplateItem/portal_types/Invoice%20Movement%20Group.xml
new file mode 100644
index 0000000000..10d8cd29dd
--- /dev/null
+++ b/bt5/erp5_base/PortalTypeTemplateItem/portal_types/Invoice%20Movement%20Group.xml
@@ -0,0 +1,126 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="ERP5TypeInformation" module="Products.ERP5Type.ERP5Type"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_property_domain_dict</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>short_title</string> </key>
+                    <value>
+                      <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>title</string> </key>
+                    <value>
+                      <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
+                    </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>acquire_local_roles</string> </key>
+            <value> <int>1</int> </value>
+        </item>
+        <item>
+            <key> <string>content_icon</string> </key>
+            <value> <string>document_icon.gif</string> </value>
+        </item>
+        <item>
+            <key> <string>content_meta_type</string> </key>
+            <value> <string>ERP5 Mirror Movement Group</string> </value>
+        </item>
+        <item>
+            <key> <string>description</string> </key>
+            <value> <string>This movement group is used to collect movements related to the same invoice. This movement group should be used in delivery level.</string> </value>
+        </item>
+        <item>
+            <key> <string>factory</string> </key>
+            <value> <string>addInvoiceMovementGroup</string> </value>
+        </item>
+        <item>
+            <key> <string>filter_content_types</string> </key>
+            <value> <int>1</int> </value>
+        </item>
+        <item>
+            <key> <string>group_list</string> </key>
+            <value>
+              <tuple>
+                <string>movement_group</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>Invoice Movement Group</string> </value>
+        </item>
+        <item>
+            <key> <string>init_script</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>permission</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string></string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="2" aka="AAAAAAAAAAI=">
+    <pickle>
+      <tuple>
+        <global name="TranslationInformation" module="Products.ERP5Type.TranslationProviderBase"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>domain_name</string> </key>
+            <value> <string>erp5_content</string> </value>
+        </item>
+        <item>
+            <key> <string>property_name</string> </key>
+            <value> <string>short_title</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="3" aka="AAAAAAAAAAM=">
+    <pickle>
+      <tuple>
+        <global name="TranslationInformation" module="Products.ERP5Type.TranslationProviderBase"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>domain_name</string> </key>
+            <value> <string>erp5_content</string> </value>
+        </item>
+        <item>
+            <key> <string>property_name</string> </key>
+            <value> <string>title</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_base/bt/change_log b/bt5/erp5_base/bt/change_log
index 377f604f58..419c7dc5fc 100644
--- a/bt5/erp5_base/bt/change_log
+++ b/bt5/erp5_base/bt/change_log
@@ -1,3 +1,6 @@
+2010-08-06 yo
+* Add Invoice Movement Group.
+
 2010-07-24 yo
 * Fix the bug that generates multiple Root Applied Rules partially. Ultimately, we should always use the same script (i.e. Delivery_updateSimulation), otherwise it is too hard to make sure that all callers are serialized.
 
diff --git a/bt5/erp5_base/bt/revision b/bt5/erp5_base/bt/revision
index 2a83cc2149..189296e610 100644
--- a/bt5/erp5_base/bt/revision
+++ b/bt5/erp5_base/bt/revision
@@ -1 +1 @@
-824
+825
\ No newline at end of file
diff --git a/bt5/erp5_base/bt/template_action_path_list b/bt5/erp5_base/bt/template_action_path_list
index 6f328aaa29..986cc15230 100644
--- a/bt5/erp5_base/bt/template_action_path_list
+++ b/bt5/erp5_base/bt/template_action_path_list
@@ -36,6 +36,7 @@ Image | change_function
 Image | download
 Image | fullsize_view
 Image | view
+Invoice Movement Group | view
 Link | view
 Mapped Property | view
 Mirror Movement Group | view
diff --git a/bt5/erp5_base/bt/template_portal_type_allowed_content_type_list b/bt5/erp5_base/bt/template_portal_type_allowed_content_type_list
index eb8befd774..28f4df0915 100644
--- a/bt5/erp5_base/bt/template_portal_type_allowed_content_type_list
+++ b/bt5/erp5_base/bt/template_portal_type_allowed_content_type_list
@@ -12,6 +12,7 @@ Delivery Builder | Causality Assignment Movement Group
 Delivery Builder | Causality Movement Group
 Delivery Builder | Day Movement Group
 Delivery Builder | Delivery Causality Assignment Movement Group
+Delivery Builder | Invoice Movement Group
 Delivery Builder | Mirror Movement Group
 Delivery Builder | Monthly Range Movement Group
 Delivery Builder | Nested Line Movement Group
diff --git a/bt5/erp5_base/bt/template_portal_type_id_list b/bt5/erp5_base/bt/template_portal_type_id_list
index 7ed33671f0..a109d98883 100644
--- a/bt5/erp5_base/bt/template_portal_type_id_list
+++ b/bt5/erp5_base/bt/template_portal_type_id_list
@@ -24,6 +24,7 @@ Email
 Fax
 File
 Image
+Invoice Movement Group
 Link
 Mapped Property
 Mirror Movement Group
-- 
2.30.9


From 254683e956f8688dac342f658fd4ec8795143061 Mon Sep 17 00:00:00 2001
From: Yoshinori Okuji <yo@nexedi.com>
Date: Fri, 6 Aug 2010 11:33:15 +0000
Subject: [PATCH 262/270] 2010-08-06 yo * Initial creation.

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@37595 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 .../business_process_module/test_bp.xml       | 191 ++++++++++++++++
 .../business_process_module/test_bp/9.xml     | 120 ++++++++++
 .../test_bp/invoice.xml                       | 121 ++++++++++
 .../test_bp/invoice_built.xml                 |  58 +++++
 .../business_process_module/test_bp/order.xml | 119 ++++++++++
 .../test_bp/ordered.xml                       |  58 +++++
 .../test_bp/shipped.xml                       |  58 +++++
 .../test_bp/shipping.xml                      | 121 ++++++++++
 .../business_process_module/test_bp/taxed.xml |  58 +++++
 .../PathTemplateItem/currency_module/euro.xml | 133 +++++++++++
 .../organisation_module/client.xml            |  87 +++++++
 .../organisation_module/recipient1.xml        |  87 +++++++
 .../organisation_module/recipient2.xml        |  87 +++++++
 .../organisation_module/supplier.xml          |  87 +++++++
 .../portal_alarms/test_invoice_build.xml      |  43 ++++
 .../portal_alarms/test_shipping_build.xml     |  43 ++++
 .../portal_categories/base_amount/tax.xml     | 148 ++++++++++++
 .../base_amount/tax/vat_high.xml              | 104 +++++++++
 .../base_amount/tax/vat_low.xml               | 105 +++++++++
 .../portal_categories/quantity_unit/unit.xml  | 140 ++++++++++++
 .../quantity_unit/unit/piece.xml              |  96 ++++++++
 .../portal_categories/trade_phase/invoice.xml | 104 +++++++++
 .../portal_categories/trade_phase/order.xml   | 104 +++++++++
 .../trade_phase/shipping.xml                  |  96 ++++++++
 .../portal_categories/trade_phase/tax.xml     |  96 ++++++++
 .../test_advanced_sale_invoice_builder.xml    | 120 ++++++++++
 .../base_variant_movement_group_in_line.xml   |  45 ++++
 .../category_movement_group_on_delivery.xml   |  70 ++++++
 .../category_movement_group_on_line.xml       |  66 ++++++
 ...lity_assignment_movement_group_on_cell.xml |  45 ++++
 ...lity_assignment_movement_group_on_line.xml |  45 ++++
 ...ivery_causality_assignment_on_delivery.xml |  47 ++++
 .../variant_movement_group_on_cell.xml        |  46 ++++
 ...anced_sale_invoice_trade_model_builder.xml | 122 ++++++++++
 .../base_variant_movement_group_in_line.xml   |  45 ++++
 .../category_movement_group_on_line.xml       |  64 ++++++
 ...lity_assignment_movement_group_on_cell.xml |  45 ++++
 ...lity_assignment_movement_group_on_line.xml |  45 ++++
 .../invoice_on_delivery.xml                   |  47 ++++
 .../variant_movement_group_on_cell.xml        |  46 ++++
 .../test_sale_packing_list_builder.xml        | 116 ++++++++++
 .../base_variant_movement_group_in_line.xml   |  45 ++++
 .../category_movement_group_on_delivery.xml   |  68 ++++++
 .../category_movement_group_on_line.xml       |  60 +++++
 ...lity_assignment_movement_group_on_cell.xml |  45 ++++
 ...lity_assignment_movement_group_on_line.xml |  45 ++++
 .../order_movement_group_on_delivery.xml      |  45 ++++
 .../property_movement_group_on_delivery.xml   |  55 +++++
 .../variant_movement_group_on_cell.xml        |  46 ++++
 .../test_invoice_simulation_rule.xml          | 205 +++++++++++++++++
 .../default_category_tester.xml               | 106 +++++++++
 .../default_property_tester.xml               | 115 ++++++++++
 .../default_quantity_tester.xml               |  94 ++++++++
 .../test_order_root_simulation_rule.xml       | 183 +++++++++++++++
 .../default_category_tester.xml               | 110 +++++++++
 .../default_property_tester.xml               | 116 ++++++++++
 .../default_quantity_tester.xml               | 106 +++++++++
 ...test_packing_list_root_simulation_rule.xml | 174 ++++++++++++++
 .../default_category_tester.xml               | 112 +++++++++
 .../default_property_tester.xml               | 116 ++++++++++
 .../default_quantity_tester.xml               |  94 ++++++++
 .../test_packing_list_simulation_rule.xml     | 203 +++++++++++++++++
 .../default_category_tester.xml               | 108 +++++++++
 .../default_property_tester.xml               | 117 ++++++++++
 .../default_quantity_tester.xml               |  94 ++++++++
 .../portal_rules/test_trade_model_rule.xml    | 215 ++++++++++++++++++
 .../default_category_tester.xml               |  57 +++++
 .../default_property_tester.xml               |  43 ++++
 .../default_quantity_tester.xml               |  45 ++++
 .../product_module/commodity.xml              | 142 ++++++++++++
 .../product_module/commodity/default_ssl.xml  | 160 +++++++++++++
 .../product_module/luxury.xml                 | 142 ++++++++++++
 .../product_module/luxury/default_ssl.xml     | 160 +++++++++++++
 .../sale_trade_condition_module/test_stc.xml  | 206 +++++++++++++++++
 .../test_stc/1.xml                            | 109 +++++++++
 .../test_stc/2.xml                            | 109 +++++++++
 .../service_module/vat_high.xml               |  93 ++++++++
 .../service_module/vat_low.xml                |  93 ++++++++
 .../workflow_chain_type.xml                   |  14 ++
 .../erp5_simulation_performance_test.xml      |  50 ++++
 .../Alarm_activateTestInvoiceBuild.xml        | 156 +++++++++++++
 .../Alarm_activateTestShippingBuild.xml       | 139 +++++++++++
 ...onPerformanceTestBuildableMovementList.xml | 129 +++++++++++
 ...ationPerformanceTestTaxableInvoiceList.xml | 153 +++++++++++++
 ...onPerformanceTestUpdatableDeliveryList.xml | 142 ++++++++++++
 .../SaleOrder_getRuleReference.xml            | 121 ++++++++++
 .../SalePackingList_getRuleReference.xml      | 121 ++++++++++
 ...Movement_testTestInvoiceSimulationRule.xml | 131 +++++++++++
 ...ment_testTestPackingListSimulationRule.xml | 131 +++++++++++
 ...ement_testTestTradeModelSimulationRule.xml | 131 +++++++++++
 .../portal_workflow/test_invoice_workflow.xml |  69 ++++++
 .../test_invoice_workflow/scripts.xml         |  31 +++
 .../scripts/Workflow_updateSimulation.xml     | 126 ++++++++++
 .../test_invoice_workflow/states.xml          |  31 +++
 .../states/confirmed.xml                      | 125 ++++++++++
 .../states/delivered.xml                      |  39 ++++
 .../test_invoice_workflow/states/draft.xml    | 135 +++++++++++
 .../test_invoice_workflow/transitions.xml     |  31 +++
 .../transitions/confirm.xml                   |  61 +++++
 .../transitions/deliver.xml                   |  61 +++++
 .../test_invoice_workflow/variables.xml       |  31 +++
 .../variables/action.xml                      |  70 ++++++
 .../test_invoice_workflow/variables/actor.xml |  70 ++++++
 .../variables/causality_state.xml             |  51 +++++
 .../variables/comment.xml                     |  70 ++++++
 .../variables/error_message.xml               |  51 +++++
 .../variables/history.xml                     |  70 ++++++
 .../variables/portal_type.xml                 |  51 +++++
 .../test_invoice_workflow/variables/time.xml  |  70 ++++++
 .../test_invoice_workflow/worklists.xml       |  31 +++
 .../portal_workflow/test_order_workflow.xml   |  69 ++++++
 .../test_order_workflow/scripts.xml           |  31 +++
 .../scripts/Workflow_accelerateBuild.xml      | 136 +++++++++++
 .../test_order_workflow/states.xml            |  31 +++
 .../test_order_workflow/states/confirmed.xml  | 106 +++++++++
 .../test_order_workflow/states/draft.xml      | 136 +++++++++++
 .../test_order_workflow/states/ordered.xml    | 126 ++++++++++
 .../test_order_workflow/transitions.xml       |  31 +++
 .../transitions/confirm.xml                   |  61 +++++
 .../test_order_workflow/transitions/order.xml |  61 +++++
 .../test_order_workflow/variables.xml         |  31 +++
 .../test_order_workflow/variables/action.xml  |  70 ++++++
 .../test_order_workflow/variables/actor.xml   |  70 ++++++
 .../test_order_workflow/variables/comment.xml |  70 ++++++
 .../variables/error_message.xml               |  51 +++++
 .../test_order_workflow/variables/history.xml |  70 ++++++
 .../variables/portal_type.xml                 |  51 +++++
 .../test_order_workflow/variables/time.xml    |  70 ++++++
 .../test_order_workflow/worklists.xml         |  31 +++
 .../test_packing_list_workflow.xml            |  69 ++++++
 .../test_packing_list_workflow/scripts.xml    |  31 +++
 .../scripts/Workflow_accelerateBuild.xml      | 136 +++++++++++
 .../scripts/Workflow_updateSimulation.xml     | 126 ++++++++++
 .../test_packing_list_workflow/states.xml     |  31 +++
 .../states/confirmed.xml                      | 133 +++++++++++
 .../states/delivered.xml                      | 114 ++++++++++
 .../states/draft.xml                          | 133 +++++++++++
 .../states/stopped.xml                        | 120 ++++++++++
 .../transitions.xml                           |  31 +++
 .../transitions/confirm.xml                   |  61 +++++
 .../transitions/deliver.xml                   |  61 +++++
 .../transitions/stop.xml                      |  61 +++++
 .../test_packing_list_workflow/variables.xml  |  31 +++
 .../variables/action.xml                      |  70 ++++++
 .../variables/actor.xml                       |  70 ++++++
 .../variables/causality_state.xml             |  51 +++++
 .../variables/comment.xml                     |  70 ++++++
 .../variables/error_message.xml               |  51 +++++
 .../variables/history.xml                     |  70 ++++++
 .../variables/portal_type.xml                 |  51 +++++
 .../variables/time.xml                        |  70 ++++++
 .../test_packing_list_workflow/worklists.xml  |  31 +++
 .../bt/categories_list                        |   0
 .../bt/change_log                             |   2 +
 .../bt/comment                                |   0
 .../bt/copyright_list                         |   1 +
 .../bt/dependency_list                        |   4 +
 .../bt/description                            |   1 +
 .../bt/license                                |   1 +
 .../bt/maintainer_list                        |   1 +
 .../bt/provision_list                         |   0
 .../bt/revision                               |   1 +
 .../bt/template_action_path_list              |   0
 .../bt/template_base_category_list            |   0
 .../bt/template_catalog_datetime_key_list     |   0
 .../bt/template_catalog_full_text_key_list    |   0
 .../bt/template_catalog_keyword_key_list      |   0
 .../bt/template_catalog_local_role_key_list   |   0
 .../bt/template_catalog_method_id_list        |   0
 .../bt/template_catalog_multivalue_key_list   |   0
 .../bt/template_catalog_related_key_list      |   0
 .../bt/template_catalog_request_key_list      |   0
 .../bt/template_catalog_result_key_list       |   0
 .../bt/template_catalog_result_table_list     |   0
 .../bt/template_catalog_role_key_list         |   0
 .../bt/template_catalog_scriptable_key_list   |   0
 .../bt/template_catalog_topic_key_list        |   0
 .../bt/template_constraint_id_list            |   0
 .../bt/template_document_id_list              |   0
 .../bt/template_extension_id_list             |   0
 .../bt/template_format_version                |   1 +
 .../bt/template_local_role_list               |   0
 .../bt/template_local_roles_list              |   0
 .../bt/template_message_translation_list      |   0
 .../bt/template_module_id_list                |   0
 .../bt/template_path_list                     |  36 +++
 ...late_portal_type_allowed_content_type_list |   0
 .../template_portal_type_base_category_list   |   0
 ...plate_portal_type_hidden_content_type_list |   0
 .../bt/template_portal_type_id_list           |   0
 .../template_portal_type_property_sheet_list  |   0
 .../bt/template_portal_type_role_list         |   0
 .../bt/template_portal_type_roles_list        |   0
 .../template_portal_type_workflow_chain_list  |   6 +
 .../bt/template_preference_list               |   0
 .../bt/template_product_id_list               |   0
 .../bt/template_property_sheet_id_list        |   0
 .../template_registered_skin_selection_list   |   0
 .../bt/template_role_list                     |   0
 .../bt/template_site_property_id_list         |   0
 .../bt/template_skin_id_list                  |   1 +
 .../bt/template_test_id_list                  |   0
 .../bt/template_tool_id_list                  |   0
 ...template_update_business_template_workflow |   1 +
 .../bt/template_update_tool                   |   1 +
 .../bt/template_workflow_id_list              |   3 +
 bt5/erp5_simulation_performance_test/bt/title |   1 +
 .../bt/version                                |   1 +
 208 files changed, 13242 insertions(+)
 create mode 100644 bt5/erp5_simulation_performance_test/PathTemplateItem/business_process_module/test_bp.xml
 create mode 100644 bt5/erp5_simulation_performance_test/PathTemplateItem/business_process_module/test_bp/9.xml
 create mode 100644 bt5/erp5_simulation_performance_test/PathTemplateItem/business_process_module/test_bp/invoice.xml
 create mode 100644 bt5/erp5_simulation_performance_test/PathTemplateItem/business_process_module/test_bp/invoice_built.xml
 create mode 100644 bt5/erp5_simulation_performance_test/PathTemplateItem/business_process_module/test_bp/order.xml
 create mode 100644 bt5/erp5_simulation_performance_test/PathTemplateItem/business_process_module/test_bp/ordered.xml
 create mode 100644 bt5/erp5_simulation_performance_test/PathTemplateItem/business_process_module/test_bp/shipped.xml
 create mode 100644 bt5/erp5_simulation_performance_test/PathTemplateItem/business_process_module/test_bp/shipping.xml
 create mode 100644 bt5/erp5_simulation_performance_test/PathTemplateItem/business_process_module/test_bp/taxed.xml
 create mode 100644 bt5/erp5_simulation_performance_test/PathTemplateItem/currency_module/euro.xml
 create mode 100644 bt5/erp5_simulation_performance_test/PathTemplateItem/organisation_module/client.xml
 create mode 100644 bt5/erp5_simulation_performance_test/PathTemplateItem/organisation_module/recipient1.xml
 create mode 100644 bt5/erp5_simulation_performance_test/PathTemplateItem/organisation_module/recipient2.xml
 create mode 100644 bt5/erp5_simulation_performance_test/PathTemplateItem/organisation_module/supplier.xml
 create mode 100644 bt5/erp5_simulation_performance_test/PathTemplateItem/portal_alarms/test_invoice_build.xml
 create mode 100644 bt5/erp5_simulation_performance_test/PathTemplateItem/portal_alarms/test_shipping_build.xml
 create mode 100644 bt5/erp5_simulation_performance_test/PathTemplateItem/portal_categories/base_amount/tax.xml
 create mode 100644 bt5/erp5_simulation_performance_test/PathTemplateItem/portal_categories/base_amount/tax/vat_high.xml
 create mode 100644 bt5/erp5_simulation_performance_test/PathTemplateItem/portal_categories/base_amount/tax/vat_low.xml
 create mode 100644 bt5/erp5_simulation_performance_test/PathTemplateItem/portal_categories/quantity_unit/unit.xml
 create mode 100644 bt5/erp5_simulation_performance_test/PathTemplateItem/portal_categories/quantity_unit/unit/piece.xml
 create mode 100644 bt5/erp5_simulation_performance_test/PathTemplateItem/portal_categories/trade_phase/invoice.xml
 create mode 100644 bt5/erp5_simulation_performance_test/PathTemplateItem/portal_categories/trade_phase/order.xml
 create mode 100644 bt5/erp5_simulation_performance_test/PathTemplateItem/portal_categories/trade_phase/shipping.xml
 create mode 100644 bt5/erp5_simulation_performance_test/PathTemplateItem/portal_categories/trade_phase/tax.xml
 create mode 100644 bt5/erp5_simulation_performance_test/PathTemplateItem/portal_deliveries/test_advanced_sale_invoice_builder.xml
 create mode 100644 bt5/erp5_simulation_performance_test/PathTemplateItem/portal_deliveries/test_advanced_sale_invoice_builder/base_variant_movement_group_in_line.xml
 create mode 100644 bt5/erp5_simulation_performance_test/PathTemplateItem/portal_deliveries/test_advanced_sale_invoice_builder/category_movement_group_on_delivery.xml
 create mode 100644 bt5/erp5_simulation_performance_test/PathTemplateItem/portal_deliveries/test_advanced_sale_invoice_builder/category_movement_group_on_line.xml
 create mode 100644 bt5/erp5_simulation_performance_test/PathTemplateItem/portal_deliveries/test_advanced_sale_invoice_builder/causality_assignment_movement_group_on_cell.xml
 create mode 100644 bt5/erp5_simulation_performance_test/PathTemplateItem/portal_deliveries/test_advanced_sale_invoice_builder/causality_assignment_movement_group_on_line.xml
 create mode 100644 bt5/erp5_simulation_performance_test/PathTemplateItem/portal_deliveries/test_advanced_sale_invoice_builder/delivery_causality_assignment_on_delivery.xml
 create mode 100644 bt5/erp5_simulation_performance_test/PathTemplateItem/portal_deliveries/test_advanced_sale_invoice_builder/variant_movement_group_on_cell.xml
 create mode 100644 bt5/erp5_simulation_performance_test/PathTemplateItem/portal_deliveries/test_advanced_sale_invoice_trade_model_builder.xml
 create mode 100644 bt5/erp5_simulation_performance_test/PathTemplateItem/portal_deliveries/test_advanced_sale_invoice_trade_model_builder/base_variant_movement_group_in_line.xml
 create mode 100644 bt5/erp5_simulation_performance_test/PathTemplateItem/portal_deliveries/test_advanced_sale_invoice_trade_model_builder/category_movement_group_on_line.xml
 create mode 100644 bt5/erp5_simulation_performance_test/PathTemplateItem/portal_deliveries/test_advanced_sale_invoice_trade_model_builder/causality_assignment_movement_group_on_cell.xml
 create mode 100644 bt5/erp5_simulation_performance_test/PathTemplateItem/portal_deliveries/test_advanced_sale_invoice_trade_model_builder/causality_assignment_movement_group_on_line.xml
 create mode 100644 bt5/erp5_simulation_performance_test/PathTemplateItem/portal_deliveries/test_advanced_sale_invoice_trade_model_builder/invoice_on_delivery.xml
 create mode 100644 bt5/erp5_simulation_performance_test/PathTemplateItem/portal_deliveries/test_advanced_sale_invoice_trade_model_builder/variant_movement_group_on_cell.xml
 create mode 100644 bt5/erp5_simulation_performance_test/PathTemplateItem/portal_deliveries/test_sale_packing_list_builder.xml
 create mode 100644 bt5/erp5_simulation_performance_test/PathTemplateItem/portal_deliveries/test_sale_packing_list_builder/base_variant_movement_group_in_line.xml
 create mode 100644 bt5/erp5_simulation_performance_test/PathTemplateItem/portal_deliveries/test_sale_packing_list_builder/category_movement_group_on_delivery.xml
 create mode 100644 bt5/erp5_simulation_performance_test/PathTemplateItem/portal_deliveries/test_sale_packing_list_builder/category_movement_group_on_line.xml
 create mode 100644 bt5/erp5_simulation_performance_test/PathTemplateItem/portal_deliveries/test_sale_packing_list_builder/causality_assignment_movement_group_on_cell.xml
 create mode 100644 bt5/erp5_simulation_performance_test/PathTemplateItem/portal_deliveries/test_sale_packing_list_builder/causality_assignment_movement_group_on_line.xml
 create mode 100644 bt5/erp5_simulation_performance_test/PathTemplateItem/portal_deliveries/test_sale_packing_list_builder/order_movement_group_on_delivery.xml
 create mode 100644 bt5/erp5_simulation_performance_test/PathTemplateItem/portal_deliveries/test_sale_packing_list_builder/property_movement_group_on_delivery.xml
 create mode 100644 bt5/erp5_simulation_performance_test/PathTemplateItem/portal_deliveries/test_sale_packing_list_builder/variant_movement_group_on_cell.xml
 create mode 100644 bt5/erp5_simulation_performance_test/PathTemplateItem/portal_rules/test_invoice_simulation_rule.xml
 create mode 100644 bt5/erp5_simulation_performance_test/PathTemplateItem/portal_rules/test_invoice_simulation_rule/default_category_tester.xml
 create mode 100644 bt5/erp5_simulation_performance_test/PathTemplateItem/portal_rules/test_invoice_simulation_rule/default_property_tester.xml
 create mode 100644 bt5/erp5_simulation_performance_test/PathTemplateItem/portal_rules/test_invoice_simulation_rule/default_quantity_tester.xml
 create mode 100644 bt5/erp5_simulation_performance_test/PathTemplateItem/portal_rules/test_order_root_simulation_rule.xml
 create mode 100644 bt5/erp5_simulation_performance_test/PathTemplateItem/portal_rules/test_order_root_simulation_rule/default_category_tester.xml
 create mode 100644 bt5/erp5_simulation_performance_test/PathTemplateItem/portal_rules/test_order_root_simulation_rule/default_property_tester.xml
 create mode 100644 bt5/erp5_simulation_performance_test/PathTemplateItem/portal_rules/test_order_root_simulation_rule/default_quantity_tester.xml
 create mode 100644 bt5/erp5_simulation_performance_test/PathTemplateItem/portal_rules/test_packing_list_root_simulation_rule.xml
 create mode 100644 bt5/erp5_simulation_performance_test/PathTemplateItem/portal_rules/test_packing_list_root_simulation_rule/default_category_tester.xml
 create mode 100644 bt5/erp5_simulation_performance_test/PathTemplateItem/portal_rules/test_packing_list_root_simulation_rule/default_property_tester.xml
 create mode 100644 bt5/erp5_simulation_performance_test/PathTemplateItem/portal_rules/test_packing_list_root_simulation_rule/default_quantity_tester.xml
 create mode 100644 bt5/erp5_simulation_performance_test/PathTemplateItem/portal_rules/test_packing_list_simulation_rule.xml
 create mode 100644 bt5/erp5_simulation_performance_test/PathTemplateItem/portal_rules/test_packing_list_simulation_rule/default_category_tester.xml
 create mode 100644 bt5/erp5_simulation_performance_test/PathTemplateItem/portal_rules/test_packing_list_simulation_rule/default_property_tester.xml
 create mode 100644 bt5/erp5_simulation_performance_test/PathTemplateItem/portal_rules/test_packing_list_simulation_rule/default_quantity_tester.xml
 create mode 100644 bt5/erp5_simulation_performance_test/PathTemplateItem/portal_rules/test_trade_model_rule.xml
 create mode 100644 bt5/erp5_simulation_performance_test/PathTemplateItem/portal_rules/test_trade_model_rule/default_category_tester.xml
 create mode 100644 bt5/erp5_simulation_performance_test/PathTemplateItem/portal_rules/test_trade_model_rule/default_property_tester.xml
 create mode 100644 bt5/erp5_simulation_performance_test/PathTemplateItem/portal_rules/test_trade_model_rule/default_quantity_tester.xml
 create mode 100644 bt5/erp5_simulation_performance_test/PathTemplateItem/product_module/commodity.xml
 create mode 100644 bt5/erp5_simulation_performance_test/PathTemplateItem/product_module/commodity/default_ssl.xml
 create mode 100644 bt5/erp5_simulation_performance_test/PathTemplateItem/product_module/luxury.xml
 create mode 100644 bt5/erp5_simulation_performance_test/PathTemplateItem/product_module/luxury/default_ssl.xml
 create mode 100644 bt5/erp5_simulation_performance_test/PathTemplateItem/sale_trade_condition_module/test_stc.xml
 create mode 100644 bt5/erp5_simulation_performance_test/PathTemplateItem/sale_trade_condition_module/test_stc/1.xml
 create mode 100644 bt5/erp5_simulation_performance_test/PathTemplateItem/sale_trade_condition_module/test_stc/2.xml
 create mode 100644 bt5/erp5_simulation_performance_test/PathTemplateItem/service_module/vat_high.xml
 create mode 100644 bt5/erp5_simulation_performance_test/PathTemplateItem/service_module/vat_low.xml
 create mode 100644 bt5/erp5_simulation_performance_test/PortalTypeWorkflowChainTemplateItem/workflow_chain_type.xml
 create mode 100644 bt5/erp5_simulation_performance_test/SkinTemplateItem/portal_skins/erp5_simulation_performance_test.xml
 create mode 100644 bt5/erp5_simulation_performance_test/SkinTemplateItem/portal_skins/erp5_simulation_performance_test/Alarm_activateTestInvoiceBuild.xml
 create mode 100644 bt5/erp5_simulation_performance_test/SkinTemplateItem/portal_skins/erp5_simulation_performance_test/Alarm_activateTestShippingBuild.xml
 create mode 100644 bt5/erp5_simulation_performance_test/SkinTemplateItem/portal_skins/erp5_simulation_performance_test/DeliveryBuilder_getSimulationPerformanceTestBuildableMovementList.xml
 create mode 100644 bt5/erp5_simulation_performance_test/SkinTemplateItem/portal_skins/erp5_simulation_performance_test/DeliveryBuilder_getSimulationPerformanceTestTaxableInvoiceList.xml
 create mode 100644 bt5/erp5_simulation_performance_test/SkinTemplateItem/portal_skins/erp5_simulation_performance_test/DeliveryBuilder_getSimulationPerformanceTestUpdatableDeliveryList.xml
 create mode 100644 bt5/erp5_simulation_performance_test/SkinTemplateItem/portal_skins/erp5_simulation_performance_test/SaleOrder_getRuleReference.xml
 create mode 100644 bt5/erp5_simulation_performance_test/SkinTemplateItem/portal_skins/erp5_simulation_performance_test/SalePackingList_getRuleReference.xml
 create mode 100644 bt5/erp5_simulation_performance_test/SkinTemplateItem/portal_skins/erp5_simulation_performance_test/SimulationMovement_testTestInvoiceSimulationRule.xml
 create mode 100644 bt5/erp5_simulation_performance_test/SkinTemplateItem/portal_skins/erp5_simulation_performance_test/SimulationMovement_testTestPackingListSimulationRule.xml
 create mode 100644 bt5/erp5_simulation_performance_test/SkinTemplateItem/portal_skins/erp5_simulation_performance_test/SimulationMovement_testTestTradeModelSimulationRule.xml
 create mode 100644 bt5/erp5_simulation_performance_test/WorkflowTemplateItem/portal_workflow/test_invoice_workflow.xml
 create mode 100644 bt5/erp5_simulation_performance_test/WorkflowTemplateItem/portal_workflow/test_invoice_workflow/scripts.xml
 create mode 100644 bt5/erp5_simulation_performance_test/WorkflowTemplateItem/portal_workflow/test_invoice_workflow/scripts/Workflow_updateSimulation.xml
 create mode 100644 bt5/erp5_simulation_performance_test/WorkflowTemplateItem/portal_workflow/test_invoice_workflow/states.xml
 create mode 100644 bt5/erp5_simulation_performance_test/WorkflowTemplateItem/portal_workflow/test_invoice_workflow/states/confirmed.xml
 create mode 100644 bt5/erp5_simulation_performance_test/WorkflowTemplateItem/portal_workflow/test_invoice_workflow/states/delivered.xml
 create mode 100644 bt5/erp5_simulation_performance_test/WorkflowTemplateItem/portal_workflow/test_invoice_workflow/states/draft.xml
 create mode 100644 bt5/erp5_simulation_performance_test/WorkflowTemplateItem/portal_workflow/test_invoice_workflow/transitions.xml
 create mode 100644 bt5/erp5_simulation_performance_test/WorkflowTemplateItem/portal_workflow/test_invoice_workflow/transitions/confirm.xml
 create mode 100644 bt5/erp5_simulation_performance_test/WorkflowTemplateItem/portal_workflow/test_invoice_workflow/transitions/deliver.xml
 create mode 100644 bt5/erp5_simulation_performance_test/WorkflowTemplateItem/portal_workflow/test_invoice_workflow/variables.xml
 create mode 100644 bt5/erp5_simulation_performance_test/WorkflowTemplateItem/portal_workflow/test_invoice_workflow/variables/action.xml
 create mode 100644 bt5/erp5_simulation_performance_test/WorkflowTemplateItem/portal_workflow/test_invoice_workflow/variables/actor.xml
 create mode 100644 bt5/erp5_simulation_performance_test/WorkflowTemplateItem/portal_workflow/test_invoice_workflow/variables/causality_state.xml
 create mode 100644 bt5/erp5_simulation_performance_test/WorkflowTemplateItem/portal_workflow/test_invoice_workflow/variables/comment.xml
 create mode 100644 bt5/erp5_simulation_performance_test/WorkflowTemplateItem/portal_workflow/test_invoice_workflow/variables/error_message.xml
 create mode 100644 bt5/erp5_simulation_performance_test/WorkflowTemplateItem/portal_workflow/test_invoice_workflow/variables/history.xml
 create mode 100644 bt5/erp5_simulation_performance_test/WorkflowTemplateItem/portal_workflow/test_invoice_workflow/variables/portal_type.xml
 create mode 100644 bt5/erp5_simulation_performance_test/WorkflowTemplateItem/portal_workflow/test_invoice_workflow/variables/time.xml
 create mode 100644 bt5/erp5_simulation_performance_test/WorkflowTemplateItem/portal_workflow/test_invoice_workflow/worklists.xml
 create mode 100644 bt5/erp5_simulation_performance_test/WorkflowTemplateItem/portal_workflow/test_order_workflow.xml
 create mode 100644 bt5/erp5_simulation_performance_test/WorkflowTemplateItem/portal_workflow/test_order_workflow/scripts.xml
 create mode 100644 bt5/erp5_simulation_performance_test/WorkflowTemplateItem/portal_workflow/test_order_workflow/scripts/Workflow_accelerateBuild.xml
 create mode 100644 bt5/erp5_simulation_performance_test/WorkflowTemplateItem/portal_workflow/test_order_workflow/states.xml
 create mode 100644 bt5/erp5_simulation_performance_test/WorkflowTemplateItem/portal_workflow/test_order_workflow/states/confirmed.xml
 create mode 100644 bt5/erp5_simulation_performance_test/WorkflowTemplateItem/portal_workflow/test_order_workflow/states/draft.xml
 create mode 100644 bt5/erp5_simulation_performance_test/WorkflowTemplateItem/portal_workflow/test_order_workflow/states/ordered.xml
 create mode 100644 bt5/erp5_simulation_performance_test/WorkflowTemplateItem/portal_workflow/test_order_workflow/transitions.xml
 create mode 100644 bt5/erp5_simulation_performance_test/WorkflowTemplateItem/portal_workflow/test_order_workflow/transitions/confirm.xml
 create mode 100644 bt5/erp5_simulation_performance_test/WorkflowTemplateItem/portal_workflow/test_order_workflow/transitions/order.xml
 create mode 100644 bt5/erp5_simulation_performance_test/WorkflowTemplateItem/portal_workflow/test_order_workflow/variables.xml
 create mode 100644 bt5/erp5_simulation_performance_test/WorkflowTemplateItem/portal_workflow/test_order_workflow/variables/action.xml
 create mode 100644 bt5/erp5_simulation_performance_test/WorkflowTemplateItem/portal_workflow/test_order_workflow/variables/actor.xml
 create mode 100644 bt5/erp5_simulation_performance_test/WorkflowTemplateItem/portal_workflow/test_order_workflow/variables/comment.xml
 create mode 100644 bt5/erp5_simulation_performance_test/WorkflowTemplateItem/portal_workflow/test_order_workflow/variables/error_message.xml
 create mode 100644 bt5/erp5_simulation_performance_test/WorkflowTemplateItem/portal_workflow/test_order_workflow/variables/history.xml
 create mode 100644 bt5/erp5_simulation_performance_test/WorkflowTemplateItem/portal_workflow/test_order_workflow/variables/portal_type.xml
 create mode 100644 bt5/erp5_simulation_performance_test/WorkflowTemplateItem/portal_workflow/test_order_workflow/variables/time.xml
 create mode 100644 bt5/erp5_simulation_performance_test/WorkflowTemplateItem/portal_workflow/test_order_workflow/worklists.xml
 create mode 100644 bt5/erp5_simulation_performance_test/WorkflowTemplateItem/portal_workflow/test_packing_list_workflow.xml
 create mode 100644 bt5/erp5_simulation_performance_test/WorkflowTemplateItem/portal_workflow/test_packing_list_workflow/scripts.xml
 create mode 100644 bt5/erp5_simulation_performance_test/WorkflowTemplateItem/portal_workflow/test_packing_list_workflow/scripts/Workflow_accelerateBuild.xml
 create mode 100644 bt5/erp5_simulation_performance_test/WorkflowTemplateItem/portal_workflow/test_packing_list_workflow/scripts/Workflow_updateSimulation.xml
 create mode 100644 bt5/erp5_simulation_performance_test/WorkflowTemplateItem/portal_workflow/test_packing_list_workflow/states.xml
 create mode 100644 bt5/erp5_simulation_performance_test/WorkflowTemplateItem/portal_workflow/test_packing_list_workflow/states/confirmed.xml
 create mode 100644 bt5/erp5_simulation_performance_test/WorkflowTemplateItem/portal_workflow/test_packing_list_workflow/states/delivered.xml
 create mode 100644 bt5/erp5_simulation_performance_test/WorkflowTemplateItem/portal_workflow/test_packing_list_workflow/states/draft.xml
 create mode 100644 bt5/erp5_simulation_performance_test/WorkflowTemplateItem/portal_workflow/test_packing_list_workflow/states/stopped.xml
 create mode 100644 bt5/erp5_simulation_performance_test/WorkflowTemplateItem/portal_workflow/test_packing_list_workflow/transitions.xml
 create mode 100644 bt5/erp5_simulation_performance_test/WorkflowTemplateItem/portal_workflow/test_packing_list_workflow/transitions/confirm.xml
 create mode 100644 bt5/erp5_simulation_performance_test/WorkflowTemplateItem/portal_workflow/test_packing_list_workflow/transitions/deliver.xml
 create mode 100644 bt5/erp5_simulation_performance_test/WorkflowTemplateItem/portal_workflow/test_packing_list_workflow/transitions/stop.xml
 create mode 100644 bt5/erp5_simulation_performance_test/WorkflowTemplateItem/portal_workflow/test_packing_list_workflow/variables.xml
 create mode 100644 bt5/erp5_simulation_performance_test/WorkflowTemplateItem/portal_workflow/test_packing_list_workflow/variables/action.xml
 create mode 100644 bt5/erp5_simulation_performance_test/WorkflowTemplateItem/portal_workflow/test_packing_list_workflow/variables/actor.xml
 create mode 100644 bt5/erp5_simulation_performance_test/WorkflowTemplateItem/portal_workflow/test_packing_list_workflow/variables/causality_state.xml
 create mode 100644 bt5/erp5_simulation_performance_test/WorkflowTemplateItem/portal_workflow/test_packing_list_workflow/variables/comment.xml
 create mode 100644 bt5/erp5_simulation_performance_test/WorkflowTemplateItem/portal_workflow/test_packing_list_workflow/variables/error_message.xml
 create mode 100644 bt5/erp5_simulation_performance_test/WorkflowTemplateItem/portal_workflow/test_packing_list_workflow/variables/history.xml
 create mode 100644 bt5/erp5_simulation_performance_test/WorkflowTemplateItem/portal_workflow/test_packing_list_workflow/variables/portal_type.xml
 create mode 100644 bt5/erp5_simulation_performance_test/WorkflowTemplateItem/portal_workflow/test_packing_list_workflow/variables/time.xml
 create mode 100644 bt5/erp5_simulation_performance_test/WorkflowTemplateItem/portal_workflow/test_packing_list_workflow/worklists.xml
 create mode 100644 bt5/erp5_simulation_performance_test/bt/categories_list
 create mode 100644 bt5/erp5_simulation_performance_test/bt/change_log
 create mode 100644 bt5/erp5_simulation_performance_test/bt/comment
 create mode 100644 bt5/erp5_simulation_performance_test/bt/copyright_list
 create mode 100644 bt5/erp5_simulation_performance_test/bt/dependency_list
 create mode 100644 bt5/erp5_simulation_performance_test/bt/description
 create mode 100644 bt5/erp5_simulation_performance_test/bt/license
 create mode 100644 bt5/erp5_simulation_performance_test/bt/maintainer_list
 create mode 100644 bt5/erp5_simulation_performance_test/bt/provision_list
 create mode 100644 bt5/erp5_simulation_performance_test/bt/revision
 create mode 100644 bt5/erp5_simulation_performance_test/bt/template_action_path_list
 create mode 100644 bt5/erp5_simulation_performance_test/bt/template_base_category_list
 create mode 100644 bt5/erp5_simulation_performance_test/bt/template_catalog_datetime_key_list
 create mode 100644 bt5/erp5_simulation_performance_test/bt/template_catalog_full_text_key_list
 create mode 100644 bt5/erp5_simulation_performance_test/bt/template_catalog_keyword_key_list
 create mode 100644 bt5/erp5_simulation_performance_test/bt/template_catalog_local_role_key_list
 create mode 100644 bt5/erp5_simulation_performance_test/bt/template_catalog_method_id_list
 create mode 100644 bt5/erp5_simulation_performance_test/bt/template_catalog_multivalue_key_list
 create mode 100644 bt5/erp5_simulation_performance_test/bt/template_catalog_related_key_list
 create mode 100644 bt5/erp5_simulation_performance_test/bt/template_catalog_request_key_list
 create mode 100644 bt5/erp5_simulation_performance_test/bt/template_catalog_result_key_list
 create mode 100644 bt5/erp5_simulation_performance_test/bt/template_catalog_result_table_list
 create mode 100644 bt5/erp5_simulation_performance_test/bt/template_catalog_role_key_list
 create mode 100644 bt5/erp5_simulation_performance_test/bt/template_catalog_scriptable_key_list
 create mode 100644 bt5/erp5_simulation_performance_test/bt/template_catalog_topic_key_list
 create mode 100644 bt5/erp5_simulation_performance_test/bt/template_constraint_id_list
 create mode 100644 bt5/erp5_simulation_performance_test/bt/template_document_id_list
 create mode 100644 bt5/erp5_simulation_performance_test/bt/template_extension_id_list
 create mode 100644 bt5/erp5_simulation_performance_test/bt/template_format_version
 create mode 100644 bt5/erp5_simulation_performance_test/bt/template_local_role_list
 create mode 100644 bt5/erp5_simulation_performance_test/bt/template_local_roles_list
 create mode 100644 bt5/erp5_simulation_performance_test/bt/template_message_translation_list
 create mode 100644 bt5/erp5_simulation_performance_test/bt/template_module_id_list
 create mode 100644 bt5/erp5_simulation_performance_test/bt/template_path_list
 create mode 100644 bt5/erp5_simulation_performance_test/bt/template_portal_type_allowed_content_type_list
 create mode 100644 bt5/erp5_simulation_performance_test/bt/template_portal_type_base_category_list
 create mode 100644 bt5/erp5_simulation_performance_test/bt/template_portal_type_hidden_content_type_list
 create mode 100644 bt5/erp5_simulation_performance_test/bt/template_portal_type_id_list
 create mode 100644 bt5/erp5_simulation_performance_test/bt/template_portal_type_property_sheet_list
 create mode 100644 bt5/erp5_simulation_performance_test/bt/template_portal_type_role_list
 create mode 100644 bt5/erp5_simulation_performance_test/bt/template_portal_type_roles_list
 create mode 100644 bt5/erp5_simulation_performance_test/bt/template_portal_type_workflow_chain_list
 create mode 100644 bt5/erp5_simulation_performance_test/bt/template_preference_list
 create mode 100644 bt5/erp5_simulation_performance_test/bt/template_product_id_list
 create mode 100644 bt5/erp5_simulation_performance_test/bt/template_property_sheet_id_list
 create mode 100644 bt5/erp5_simulation_performance_test/bt/template_registered_skin_selection_list
 create mode 100644 bt5/erp5_simulation_performance_test/bt/template_role_list
 create mode 100644 bt5/erp5_simulation_performance_test/bt/template_site_property_id_list
 create mode 100644 bt5/erp5_simulation_performance_test/bt/template_skin_id_list
 create mode 100644 bt5/erp5_simulation_performance_test/bt/template_test_id_list
 create mode 100644 bt5/erp5_simulation_performance_test/bt/template_tool_id_list
 create mode 100644 bt5/erp5_simulation_performance_test/bt/template_update_business_template_workflow
 create mode 100644 bt5/erp5_simulation_performance_test/bt/template_update_tool
 create mode 100644 bt5/erp5_simulation_performance_test/bt/template_workflow_id_list
 create mode 100644 bt5/erp5_simulation_performance_test/bt/title
 create mode 100644 bt5/erp5_simulation_performance_test/bt/version

diff --git a/bt5/erp5_simulation_performance_test/PathTemplateItem/business_process_module/test_bp.xml b/bt5/erp5_simulation_performance_test/PathTemplateItem/business_process_module/test_bp.xml
new file mode 100644
index 0000000000..61afbd6d45
--- /dev/null
+++ b/bt5/erp5_simulation_performance_test/PathTemplateItem/business_process_module/test_bp.xml
@@ -0,0 +1,191 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="BusinessProcess" module="Products.ERP5Type.Document.BusinessProcess"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_Access_contents_information_Permission</string> </key>
+            <value>
+              <tuple>
+                <string>Assignee</string>
+                <string>Assignor</string>
+                <string>Associate</string>
+                <string>Auditor</string>
+                <string>Author</string>
+                <string>Manager</string>
+                <string>Owner</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>_Add_portal_content_Permission</string> </key>
+            <value>
+              <tuple>
+                <string>Assignee</string>
+                <string>Assignor</string>
+                <string>Associate</string>
+                <string>Author</string>
+                <string>Manager</string>
+                <string>Owner</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>_Modify_portal_content_Permission</string> </key>
+            <value>
+              <tuple>
+                <string>Assignee</string>
+                <string>Assignor</string>
+                <string>Associate</string>
+                <string>Author</string>
+                <string>Manager</string>
+                <string>Owner</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>_View_Permission</string> </key>
+            <value>
+              <tuple>
+                <string>Assignee</string>
+                <string>Assignor</string>
+                <string>Associate</string>
+                <string>Auditor</string>
+                <string>Author</string>
+                <string>Manager</string>
+                <string>Owner</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>_count</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>_identity_criterion</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>_mt_index</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAQ=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>_range_criterion</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAU=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>_tree</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAY=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>default_reference</string> </key>
+            <value> <string>TEST_BUSINESS_PROCESS</string> </value>
+        </item>
+        <item>
+            <key> <string>description</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>test_bp</string> </value>
+        </item>
+        <item>
+            <key> <string>last_id</string> </key>
+            <value> <string>9</string> </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Business Process</string> </value>
+        </item>
+        <item>
+            <key> <string>referential_date</string> </key>
+            <value> <string>start_date</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>Test Business Process</string> </value>
+        </item>
+        <item>
+            <key> <string>version</string> </key>
+            <value> <string>001</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="2" aka="AAAAAAAAAAI=">
+    <pickle>
+      <global name="Length" module="BTrees.Length"/>
+    </pickle>
+    <pickle> <int>0</int> </pickle>
+  </record>
+  <record id="3" aka="AAAAAAAAAAM=">
+    <pickle>
+      <tuple>
+        <global name="PersistentMapping" module="Persistence.mapping"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>data</string> </key>
+            <value>
+              <dictionary/>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="4" aka="AAAAAAAAAAQ=">
+    <pickle>
+      <global name="OOBTree" module="BTrees._OOBTree"/>
+    </pickle>
+    <pickle>
+      <none/>
+    </pickle>
+  </record>
+  <record id="5" aka="AAAAAAAAAAU=">
+    <pickle>
+      <tuple>
+        <global name="PersistentMapping" module="Persistence.mapping"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>data</string> </key>
+            <value>
+              <dictionary/>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="6" aka="AAAAAAAAAAY=">
+    <pickle>
+      <global name="OOBTree" module="BTrees._OOBTree"/>
+    </pickle>
+    <pickle>
+      <none/>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_simulation_performance_test/PathTemplateItem/business_process_module/test_bp/9.xml b/bt5/erp5_simulation_performance_test/PathTemplateItem/business_process_module/test_bp/9.xml
new file mode 100644
index 0000000000..0021a7f46c
--- /dev/null
+++ b/bt5/erp5_simulation_performance_test/PathTemplateItem/business_process_module/test_bp/9.xml
@@ -0,0 +1,120 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="BusinessPath" module="Products.ERP5Type.Document.BusinessPath"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_identity_criterion</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>_range_criterion</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>categories</string> </key>
+            <value>
+              <tuple>
+                <string>trade_phase/tax</string>
+                <string>predecessor/business_process_module/test_bp/invoice_built</string>
+                <string>successor/business_process_module/test_bp/taxed</string>
+                <string>delivery_builder/portal_deliveries/test_advanced_sale_invoice_trade_model_builder</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>completed_state</string> </key>
+            <value>
+              <tuple>
+                <string>delivered</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>default_reference</string> </key>
+            <value> <string>tax</string> </value>
+        </item>
+        <item>
+            <key> <string>deliverable</string> </key>
+            <value> <int>0</int> </value>
+        </item>
+        <item>
+            <key> <string>description</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>frozen_state</string> </key>
+            <value>
+              <tuple>
+                <string>delivered</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>9</string> </value>
+        </item>
+        <item>
+            <key> <string>int_index</string> </key>
+            <value> <int>4</int> </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Business Path</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>Tax</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="2" aka="AAAAAAAAAAI=">
+    <pickle>
+      <tuple>
+        <global name="PersistentMapping" module="Persistence.mapping"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>data</string> </key>
+            <value>
+              <dictionary/>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="3" aka="AAAAAAAAAAM=">
+    <pickle>
+      <tuple>
+        <global name="PersistentMapping" module="Persistence.mapping"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>data</string> </key>
+            <value>
+              <dictionary/>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_simulation_performance_test/PathTemplateItem/business_process_module/test_bp/invoice.xml b/bt5/erp5_simulation_performance_test/PathTemplateItem/business_process_module/test_bp/invoice.xml
new file mode 100644
index 0000000000..2bc9922043
--- /dev/null
+++ b/bt5/erp5_simulation_performance_test/PathTemplateItem/business_process_module/test_bp/invoice.xml
@@ -0,0 +1,121 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="BusinessPath" module="Products.ERP5Type.Document.BusinessPath"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_identity_criterion</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>_range_criterion</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>categories</string> </key>
+            <value>
+              <tuple>
+                <string>trade_phase/invoice</string>
+                <string>predecessor/business_process_module/test_bp/shipped</string>
+                <string>successor/business_process_module/test_bp/invoice_built</string>
+                <string>delivery_builder/portal_deliveries/test_advanced_sale_invoice_builder</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>completed_state</string> </key>
+            <value>
+              <tuple>
+                <string>confirmed</string>
+                <string>delivered</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>default_reference</string> </key>
+            <value> <string>invoice</string> </value>
+        </item>
+        <item>
+            <key> <string>deliverable</string> </key>
+            <value> <int>1</int> </value>
+        </item>
+        <item>
+            <key> <string>description</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>frozen_state</string> </key>
+            <value>
+              <tuple>
+                <string>delivered</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>invoice</string> </value>
+        </item>
+        <item>
+            <key> <string>int_index</string> </key>
+            <value> <int>3</int> </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Business Path</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>Invoice</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="2" aka="AAAAAAAAAAI=">
+    <pickle>
+      <tuple>
+        <global name="PersistentMapping" module="Persistence.mapping"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>data</string> </key>
+            <value>
+              <dictionary/>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="3" aka="AAAAAAAAAAM=">
+    <pickle>
+      <tuple>
+        <global name="PersistentMapping" module="Persistence.mapping"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>data</string> </key>
+            <value>
+              <dictionary/>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_simulation_performance_test/PathTemplateItem/business_process_module/test_bp/invoice_built.xml b/bt5/erp5_simulation_performance_test/PathTemplateItem/business_process_module/test_bp/invoice_built.xml
new file mode 100644
index 0000000000..9ab6379126
--- /dev/null
+++ b/bt5/erp5_simulation_performance_test/PathTemplateItem/business_process_module/test_bp/invoice_built.xml
@@ -0,0 +1,58 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="BusinessState" module="Products.ERP5Type.Document.BusinessState"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_local_properties</string> </key>
+            <value>
+              <tuple>
+                <dictionary>
+                  <item>
+                      <key> <string>id</string> </key>
+                      <value> <string>reference</string> </value>
+                  </item>
+                  <item>
+                      <key> <string>type</string> </key>
+                      <value> <string>string</string> </value>
+                  </item>
+                </dictionary>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>description</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>invoice_built</string> </value>
+        </item>
+        <item>
+            <key> <string>int_index</string> </key>
+            <value> <int>3</int> </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Business State</string> </value>
+        </item>
+        <item>
+            <key> <string>reference</string> </key>
+            <value> <string>invoice_built</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>Invoice Built</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_simulation_performance_test/PathTemplateItem/business_process_module/test_bp/order.xml b/bt5/erp5_simulation_performance_test/PathTemplateItem/business_process_module/test_bp/order.xml
new file mode 100644
index 0000000000..7c6bbe04ed
--- /dev/null
+++ b/bt5/erp5_simulation_performance_test/PathTemplateItem/business_process_module/test_bp/order.xml
@@ -0,0 +1,119 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="BusinessPath" module="Products.ERP5Type.Document.BusinessPath"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_identity_criterion</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>_range_criterion</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>categories</string> </key>
+            <value>
+              <tuple>
+                <string>trade_phase/order</string>
+                <string>successor/business_process_module/test_bp/ordered</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>completed_state</string> </key>
+            <value>
+              <tuple>
+                <string>confirmed</string>
+                <string>ordered</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>default_reference</string> </key>
+            <value> <string>order</string> </value>
+        </item>
+        <item>
+            <key> <string>deliverable</string> </key>
+            <value> <int>1</int> </value>
+        </item>
+        <item>
+            <key> <string>description</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>frozen_state</string> </key>
+            <value>
+              <tuple>
+                <string>confirmed</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>order</string> </value>
+        </item>
+        <item>
+            <key> <string>int_index</string> </key>
+            <value> <int>1</int> </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Business Path</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>Order</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="2" aka="AAAAAAAAAAI=">
+    <pickle>
+      <tuple>
+        <global name="PersistentMapping" module="Persistence.mapping"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>data</string> </key>
+            <value>
+              <dictionary/>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="3" aka="AAAAAAAAAAM=">
+    <pickle>
+      <tuple>
+        <global name="PersistentMapping" module="Persistence.mapping"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>data</string> </key>
+            <value>
+              <dictionary/>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_simulation_performance_test/PathTemplateItem/business_process_module/test_bp/ordered.xml b/bt5/erp5_simulation_performance_test/PathTemplateItem/business_process_module/test_bp/ordered.xml
new file mode 100644
index 0000000000..5c75bf27eb
--- /dev/null
+++ b/bt5/erp5_simulation_performance_test/PathTemplateItem/business_process_module/test_bp/ordered.xml
@@ -0,0 +1,58 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="BusinessState" module="Products.ERP5Type.Document.BusinessState"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_local_properties</string> </key>
+            <value>
+              <tuple>
+                <dictionary>
+                  <item>
+                      <key> <string>id</string> </key>
+                      <value> <string>reference</string> </value>
+                  </item>
+                  <item>
+                      <key> <string>type</string> </key>
+                      <value> <string>string</string> </value>
+                  </item>
+                </dictionary>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>description</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>ordered</string> </value>
+        </item>
+        <item>
+            <key> <string>int_index</string> </key>
+            <value> <int>1</int> </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Business State</string> </value>
+        </item>
+        <item>
+            <key> <string>reference</string> </key>
+            <value> <string>ordered</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>Ordered</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_simulation_performance_test/PathTemplateItem/business_process_module/test_bp/shipped.xml b/bt5/erp5_simulation_performance_test/PathTemplateItem/business_process_module/test_bp/shipped.xml
new file mode 100644
index 0000000000..e08c0f5b7a
--- /dev/null
+++ b/bt5/erp5_simulation_performance_test/PathTemplateItem/business_process_module/test_bp/shipped.xml
@@ -0,0 +1,58 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="BusinessState" module="Products.ERP5Type.Document.BusinessState"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_local_properties</string> </key>
+            <value>
+              <tuple>
+                <dictionary>
+                  <item>
+                      <key> <string>id</string> </key>
+                      <value> <string>reference</string> </value>
+                  </item>
+                  <item>
+                      <key> <string>type</string> </key>
+                      <value> <string>string</string> </value>
+                  </item>
+                </dictionary>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>description</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>shipped</string> </value>
+        </item>
+        <item>
+            <key> <string>int_index</string> </key>
+            <value> <int>2</int> </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Business State</string> </value>
+        </item>
+        <item>
+            <key> <string>reference</string> </key>
+            <value> <string>shipped</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>Shipped</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_simulation_performance_test/PathTemplateItem/business_process_module/test_bp/shipping.xml b/bt5/erp5_simulation_performance_test/PathTemplateItem/business_process_module/test_bp/shipping.xml
new file mode 100644
index 0000000000..779098d2c5
--- /dev/null
+++ b/bt5/erp5_simulation_performance_test/PathTemplateItem/business_process_module/test_bp/shipping.xml
@@ -0,0 +1,121 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="BusinessPath" module="Products.ERP5Type.Document.BusinessPath"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_identity_criterion</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>_range_criterion</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>categories</string> </key>
+            <value>
+              <tuple>
+                <string>delivery_builder/portal_deliveries/test_sale_packing_list_builder</string>
+                <string>predecessor/business_process_module/test_bp/ordered</string>
+                <string>successor/business_process_module/test_bp/shipped</string>
+                <string>trade_phase/shipping</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>completed_state</string> </key>
+            <value>
+              <tuple>
+                <string>delivered</string>
+                <string>stopped</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>default_reference</string> </key>
+            <value> <string>shipping</string> </value>
+        </item>
+        <item>
+            <key> <string>deliverable</string> </key>
+            <value> <int>1</int> </value>
+        </item>
+        <item>
+            <key> <string>description</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>frozen_state</string> </key>
+            <value>
+              <tuple>
+                <string>delivered</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>shipping</string> </value>
+        </item>
+        <item>
+            <key> <string>int_index</string> </key>
+            <value> <int>2</int> </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Business Path</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>Shipping</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="2" aka="AAAAAAAAAAI=">
+    <pickle>
+      <tuple>
+        <global name="PersistentMapping" module="Persistence.mapping"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>data</string> </key>
+            <value>
+              <dictionary/>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="3" aka="AAAAAAAAAAM=">
+    <pickle>
+      <tuple>
+        <global name="PersistentMapping" module="Persistence.mapping"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>data</string> </key>
+            <value>
+              <dictionary/>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_simulation_performance_test/PathTemplateItem/business_process_module/test_bp/taxed.xml b/bt5/erp5_simulation_performance_test/PathTemplateItem/business_process_module/test_bp/taxed.xml
new file mode 100644
index 0000000000..01af287c35
--- /dev/null
+++ b/bt5/erp5_simulation_performance_test/PathTemplateItem/business_process_module/test_bp/taxed.xml
@@ -0,0 +1,58 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="BusinessState" module="Products.ERP5Type.Document.BusinessState"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_local_properties</string> </key>
+            <value>
+              <tuple>
+                <dictionary>
+                  <item>
+                      <key> <string>id</string> </key>
+                      <value> <string>reference</string> </value>
+                  </item>
+                  <item>
+                      <key> <string>type</string> </key>
+                      <value> <string>string</string> </value>
+                  </item>
+                </dictionary>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>description</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>taxed</string> </value>
+        </item>
+        <item>
+            <key> <string>int_index</string> </key>
+            <value> <int>4</int> </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Business State</string> </value>
+        </item>
+        <item>
+            <key> <string>reference</string> </key>
+            <value> <string>taxed</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>Taxed</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_simulation_performance_test/PathTemplateItem/currency_module/euro.xml b/bt5/erp5_simulation_performance_test/PathTemplateItem/currency_module/euro.xml
new file mode 100644
index 0000000000..d15d08f759
--- /dev/null
+++ b/bt5/erp5_simulation_performance_test/PathTemplateItem/currency_module/euro.xml
@@ -0,0 +1,133 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="Currency" module="Products.ERP5Type.Document.Currency"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_Access_contents_information_Permission</string> </key>
+            <value>
+              <tuple>
+                <string>Assignee</string>
+                <string>Assignor</string>
+                <string>Associate</string>
+                <string>Auditor</string>
+                <string>Author</string>
+                <string>Manager</string>
+                <string>Owner</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>_Add_portal_content_Permission</string> </key>
+            <value>
+              <tuple>
+                <string>Assignee</string>
+                <string>Assignor</string>
+                <string>Associate</string>
+                <string>Author</string>
+                <string>Manager</string>
+                <string>Owner</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>_Modify_portal_content_Permission</string> </key>
+            <value>
+              <tuple>
+                <string>Assignee</string>
+                <string>Assignor</string>
+                <string>Associate</string>
+                <string>Author</string>
+                <string>Manager</string>
+                <string>Owner</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>_View_Permission</string> </key>
+            <value>
+              <tuple>
+                <string>Assignee</string>
+                <string>Assignor</string>
+                <string>Associate</string>
+                <string>Auditor</string>
+                <string>Author</string>
+                <string>Manager</string>
+                <string>Owner</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>_count</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>_mt_index</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>_tree</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAQ=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>base_unit_quantity</string> </key>
+            <value> <float>0.01</float> </value>
+        </item>
+        <item>
+            <key> <string>default_reference</string> </key>
+            <value> <string>EUR</string> </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>euro</string> </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Currency</string> </value>
+        </item>
+        <item>
+            <key> <string>short_title</string> </key>
+            <value> <string>€</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>Euro</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="2" aka="AAAAAAAAAAI=">
+    <pickle>
+      <global name="Length" module="BTrees.Length"/>
+    </pickle>
+    <pickle> <int>0</int> </pickle>
+  </record>
+  <record id="3" aka="AAAAAAAAAAM=">
+    <pickle>
+      <global name="OOBTree" module="BTrees._OOBTree"/>
+    </pickle>
+    <pickle>
+      <none/>
+    </pickle>
+  </record>
+  <record id="4" aka="AAAAAAAAAAQ=">
+    <pickle>
+      <global name="OOBTree" module="BTrees._OOBTree"/>
+    </pickle>
+    <pickle>
+      <none/>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_simulation_performance_test/PathTemplateItem/organisation_module/client.xml b/bt5/erp5_simulation_performance_test/PathTemplateItem/organisation_module/client.xml
new file mode 100644
index 0000000000..a7143a7648
--- /dev/null
+++ b/bt5/erp5_simulation_performance_test/PathTemplateItem/organisation_module/client.xml
@@ -0,0 +1,87 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="Organisation" module="Products.ERP5Type.Document.Organisation"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_Access_contents_information_Permission</string> </key>
+            <value>
+              <tuple>
+                <string>Assignee</string>
+                <string>Assignor</string>
+                <string>Associate</string>
+                <string>Auditor</string>
+                <string>Author</string>
+                <string>Manager</string>
+                <string>Owner</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>_Add_portal_content_Permission</string> </key>
+            <value>
+              <tuple>
+                <string>Assignee</string>
+                <string>Assignor</string>
+                <string>Associate</string>
+                <string>Author</string>
+                <string>Manager</string>
+                <string>Owner</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>_Modify_portal_content_Permission</string> </key>
+            <value>
+              <tuple>
+                <string>Assignee</string>
+                <string>Assignor</string>
+                <string>Associate</string>
+                <string>Author</string>
+                <string>Manager</string>
+                <string>Owner</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>_View_Permission</string> </key>
+            <value>
+              <tuple>
+                <string>Assignee</string>
+                <string>Assignor</string>
+                <string>Associate</string>
+                <string>Auditor</string>
+                <string>Author</string>
+                <string>Manager</string>
+                <string>Owner</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>description</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>client</string> </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Organisation</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>Client</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_simulation_performance_test/PathTemplateItem/organisation_module/recipient1.xml b/bt5/erp5_simulation_performance_test/PathTemplateItem/organisation_module/recipient1.xml
new file mode 100644
index 0000000000..3e7b6c84ea
--- /dev/null
+++ b/bt5/erp5_simulation_performance_test/PathTemplateItem/organisation_module/recipient1.xml
@@ -0,0 +1,87 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="Organisation" module="Products.ERP5Type.Document.Organisation"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_Access_contents_information_Permission</string> </key>
+            <value>
+              <tuple>
+                <string>Assignee</string>
+                <string>Assignor</string>
+                <string>Associate</string>
+                <string>Auditor</string>
+                <string>Author</string>
+                <string>Manager</string>
+                <string>Owner</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>_Add_portal_content_Permission</string> </key>
+            <value>
+              <tuple>
+                <string>Assignee</string>
+                <string>Assignor</string>
+                <string>Associate</string>
+                <string>Author</string>
+                <string>Manager</string>
+                <string>Owner</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>_Modify_portal_content_Permission</string> </key>
+            <value>
+              <tuple>
+                <string>Assignee</string>
+                <string>Assignor</string>
+                <string>Associate</string>
+                <string>Author</string>
+                <string>Manager</string>
+                <string>Owner</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>_View_Permission</string> </key>
+            <value>
+              <tuple>
+                <string>Assignee</string>
+                <string>Assignor</string>
+                <string>Associate</string>
+                <string>Auditor</string>
+                <string>Author</string>
+                <string>Manager</string>
+                <string>Owner</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>description</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>recipient1</string> </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Organisation</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>Recipient 1</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_simulation_performance_test/PathTemplateItem/organisation_module/recipient2.xml b/bt5/erp5_simulation_performance_test/PathTemplateItem/organisation_module/recipient2.xml
new file mode 100644
index 0000000000..9bb7f11b30
--- /dev/null
+++ b/bt5/erp5_simulation_performance_test/PathTemplateItem/organisation_module/recipient2.xml
@@ -0,0 +1,87 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="Organisation" module="Products.ERP5Type.Document.Organisation"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_Access_contents_information_Permission</string> </key>
+            <value>
+              <tuple>
+                <string>Assignee</string>
+                <string>Assignor</string>
+                <string>Associate</string>
+                <string>Auditor</string>
+                <string>Author</string>
+                <string>Manager</string>
+                <string>Owner</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>_Add_portal_content_Permission</string> </key>
+            <value>
+              <tuple>
+                <string>Assignee</string>
+                <string>Assignor</string>
+                <string>Associate</string>
+                <string>Author</string>
+                <string>Manager</string>
+                <string>Owner</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>_Modify_portal_content_Permission</string> </key>
+            <value>
+              <tuple>
+                <string>Assignee</string>
+                <string>Assignor</string>
+                <string>Associate</string>
+                <string>Author</string>
+                <string>Manager</string>
+                <string>Owner</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>_View_Permission</string> </key>
+            <value>
+              <tuple>
+                <string>Assignee</string>
+                <string>Assignor</string>
+                <string>Associate</string>
+                <string>Auditor</string>
+                <string>Author</string>
+                <string>Manager</string>
+                <string>Owner</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>description</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>recipient2</string> </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Organisation</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>Recipient 2</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_simulation_performance_test/PathTemplateItem/organisation_module/supplier.xml b/bt5/erp5_simulation_performance_test/PathTemplateItem/organisation_module/supplier.xml
new file mode 100644
index 0000000000..a342895ee7
--- /dev/null
+++ b/bt5/erp5_simulation_performance_test/PathTemplateItem/organisation_module/supplier.xml
@@ -0,0 +1,87 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="Organisation" module="Products.ERP5Type.Document.Organisation"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_Access_contents_information_Permission</string> </key>
+            <value>
+              <tuple>
+                <string>Assignee</string>
+                <string>Assignor</string>
+                <string>Associate</string>
+                <string>Auditor</string>
+                <string>Author</string>
+                <string>Manager</string>
+                <string>Owner</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>_Add_portal_content_Permission</string> </key>
+            <value>
+              <tuple>
+                <string>Assignee</string>
+                <string>Assignor</string>
+                <string>Associate</string>
+                <string>Author</string>
+                <string>Manager</string>
+                <string>Owner</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>_Modify_portal_content_Permission</string> </key>
+            <value>
+              <tuple>
+                <string>Assignee</string>
+                <string>Assignor</string>
+                <string>Associate</string>
+                <string>Author</string>
+                <string>Manager</string>
+                <string>Owner</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>_View_Permission</string> </key>
+            <value>
+              <tuple>
+                <string>Assignee</string>
+                <string>Assignor</string>
+                <string>Associate</string>
+                <string>Auditor</string>
+                <string>Author</string>
+                <string>Manager</string>
+                <string>Owner</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>description</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>supplier</string> </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Organisation</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>Supplier</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_simulation_performance_test/PathTemplateItem/portal_alarms/test_invoice_build.xml b/bt5/erp5_simulation_performance_test/PathTemplateItem/portal_alarms/test_invoice_build.xml
new file mode 100644
index 0000000000..048b86c7a0
--- /dev/null
+++ b/bt5/erp5_simulation_performance_test/PathTemplateItem/portal_alarms/test_invoice_build.xml
@@ -0,0 +1,43 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="Alarm" module="Products.ERP5Type.Document.Alarm"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>active_sense_method_id</string> </key>
+            <value> <string>Alarm_activateTestInvoiceBuild</string> </value>
+        </item>
+        <item>
+            <key> <string>description</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>enabled</string> </key>
+            <value> <int>1</int> </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>test_invoice_build</string> </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Alarm</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_simulation_performance_test/PathTemplateItem/portal_alarms/test_shipping_build.xml b/bt5/erp5_simulation_performance_test/PathTemplateItem/portal_alarms/test_shipping_build.xml
new file mode 100644
index 0000000000..abe43b36ee
--- /dev/null
+++ b/bt5/erp5_simulation_performance_test/PathTemplateItem/portal_alarms/test_shipping_build.xml
@@ -0,0 +1,43 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="Alarm" module="Products.ERP5Type.Document.Alarm"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>active_sense_method_id</string> </key>
+            <value> <string>Alarm_activateTestShippingBuild</string> </value>
+        </item>
+        <item>
+            <key> <string>description</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>enabled</string> </key>
+            <value> <int>1</int> </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>test_shipping_build</string> </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Alarm</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_simulation_performance_test/PathTemplateItem/portal_categories/base_amount/tax.xml b/bt5/erp5_simulation_performance_test/PathTemplateItem/portal_categories/base_amount/tax.xml
new file mode 100644
index 0000000000..4adb650e8e
--- /dev/null
+++ b/bt5/erp5_simulation_performance_test/PathTemplateItem/portal_categories/base_amount/tax.xml
@@ -0,0 +1,148 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="Category" module="Products.ERP5Type.Document.Category"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_Add_portal_content_Permission</string> </key>
+            <value>
+              <tuple>
+                <string>Assignor</string>
+                <string>Manager</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>_Add_portal_folders_Permission</string> </key>
+            <value>
+              <tuple>
+                <string>Assignor</string>
+                <string>Manager</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>_Copy_or_Move_Permission</string> </key>
+            <value>
+              <tuple>
+                <string>Assignor</string>
+                <string>Manager</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>_Delete_objects_Permission</string> </key>
+            <value>
+              <tuple>
+                <string>Assignor</string>
+                <string>Manager</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>_Modify_portal_content_Permission</string> </key>
+            <value>
+              <tuple>
+                <string>Assignee</string>
+                <string>Assignor</string>
+                <string>Manager</string>
+                <string>Owner</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>_count</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>_mt_index</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>_tree</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAQ=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>categories</string> </key>
+            <value>
+              <tuple>
+                <string>base_amount/tax</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>codification</string> </key>
+            <value> <string>TAX</string> </value>
+        </item>
+        <item>
+            <key> <string>default_reference</string> </key>
+            <value> <string>TAX</string> </value>
+        </item>
+        <item>
+            <key> <string>description</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>tax</string> </value>
+        </item>
+        <item>
+            <key> <string>int_index</string> </key>
+            <value> <int>1</int> </value>
+        </item>
+        <item>
+            <key> <string>last_id</string> </key>
+            <value> <string>2</string> </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Category</string> </value>
+        </item>
+        <item>
+            <key> <string>short_title</string> </key>
+            <value> <string>Tax</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>Tax</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="2" aka="AAAAAAAAAAI=">
+    <pickle>
+      <global name="Length" module="BTrees.Length"/>
+    </pickle>
+    <pickle> <int>0</int> </pickle>
+  </record>
+  <record id="3" aka="AAAAAAAAAAM=">
+    <pickle>
+      <global name="OOBTree" module="BTrees._OOBTree"/>
+    </pickle>
+    <pickle>
+      <none/>
+    </pickle>
+  </record>
+  <record id="4" aka="AAAAAAAAAAQ=">
+    <pickle>
+      <global name="OOBTree" module="BTrees._OOBTree"/>
+    </pickle>
+    <pickle>
+      <none/>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_simulation_performance_test/PathTemplateItem/portal_categories/base_amount/tax/vat_high.xml b/bt5/erp5_simulation_performance_test/PathTemplateItem/portal_categories/base_amount/tax/vat_high.xml
new file mode 100644
index 0000000000..3c058cf311
--- /dev/null
+++ b/bt5/erp5_simulation_performance_test/PathTemplateItem/portal_categories/base_amount/tax/vat_high.xml
@@ -0,0 +1,104 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="Category" module="Products.ERP5Type.Document.Category"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_Add_portal_content_Permission</string> </key>
+            <value>
+              <tuple>
+                <string>Assignor</string>
+                <string>Manager</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>_Add_portal_folders_Permission</string> </key>
+            <value>
+              <tuple>
+                <string>Assignor</string>
+                <string>Manager</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>_Copy_or_Move_Permission</string> </key>
+            <value>
+              <tuple>
+                <string>Assignor</string>
+                <string>Manager</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>_Delete_objects_Permission</string> </key>
+            <value>
+              <tuple>
+                <string>Assignor</string>
+                <string>Manager</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>_Modify_portal_content_Permission</string> </key>
+            <value>
+              <tuple>
+                <string>Assignee</string>
+                <string>Assignor</string>
+                <string>Manager</string>
+                <string>Owner</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>categories</string> </key>
+            <value>
+              <tuple>
+                <string>base_amount/tax/vat_high</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>codification</string> </key>
+            <value> <string>TAX-VATHIGH</string> </value>
+        </item>
+        <item>
+            <key> <string>default_reference</string> </key>
+            <value> <string>VATHIGH</string> </value>
+        </item>
+        <item>
+            <key> <string>description</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>vat_high</string> </value>
+        </item>
+        <item>
+            <key> <string>int_index</string> </key>
+            <value> <int>2</int> </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Category</string> </value>
+        </item>
+        <item>
+            <key> <string>short_title</string> </key>
+            <value> <string>VAT High</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>VAT High</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_simulation_performance_test/PathTemplateItem/portal_categories/base_amount/tax/vat_low.xml b/bt5/erp5_simulation_performance_test/PathTemplateItem/portal_categories/base_amount/tax/vat_low.xml
new file mode 100644
index 0000000000..57ebd19461
--- /dev/null
+++ b/bt5/erp5_simulation_performance_test/PathTemplateItem/portal_categories/base_amount/tax/vat_low.xml
@@ -0,0 +1,105 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="Category" module="Products.ERP5Type.Document.Category"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_Add_portal_content_Permission</string> </key>
+            <value>
+              <tuple>
+                <string>Assignor</string>
+                <string>Manager</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>_Add_portal_folders_Permission</string> </key>
+            <value>
+              <tuple>
+                <string>Assignor</string>
+                <string>Manager</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>_Copy_or_Move_Permission</string> </key>
+            <value>
+              <tuple>
+                <string>Assignor</string>
+                <string>Manager</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>_Delete_objects_Permission</string> </key>
+            <value>
+              <tuple>
+                <string>Assignor</string>
+                <string>Manager</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>_Modify_portal_content_Permission</string> </key>
+            <value>
+              <tuple>
+                <string>Assignee</string>
+                <string>Assignor</string>
+                <string>Manager</string>
+                <string>Owner</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>categories</string> </key>
+            <value>
+              <tuple>
+                <string>base_amount/tax/vat_low</string>
+                <string>base_amount/tax/vat_low</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>codification</string> </key>
+            <value> <string>TAX-VATLOW</string> </value>
+        </item>
+        <item>
+            <key> <string>default_reference</string> </key>
+            <value> <string>VATLOW</string> </value>
+        </item>
+        <item>
+            <key> <string>description</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>vat_low</string> </value>
+        </item>
+        <item>
+            <key> <string>int_index</string> </key>
+            <value> <int>1</int> </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Category</string> </value>
+        </item>
+        <item>
+            <key> <string>short_title</string> </key>
+            <value> <string>VAT Low</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>VAT Low</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_simulation_performance_test/PathTemplateItem/portal_categories/quantity_unit/unit.xml b/bt5/erp5_simulation_performance_test/PathTemplateItem/portal_categories/quantity_unit/unit.xml
new file mode 100644
index 0000000000..47ae6941a6
--- /dev/null
+++ b/bt5/erp5_simulation_performance_test/PathTemplateItem/portal_categories/quantity_unit/unit.xml
@@ -0,0 +1,140 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="Category" module="Products.ERP5Type.Document.Category"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_Add_portal_content_Permission</string> </key>
+            <value>
+              <tuple>
+                <string>Assignor</string>
+                <string>Manager</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>_Add_portal_folders_Permission</string> </key>
+            <value>
+              <tuple>
+                <string>Assignor</string>
+                <string>Manager</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>_Copy_or_Move_Permission</string> </key>
+            <value>
+              <tuple>
+                <string>Assignor</string>
+                <string>Manager</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>_Delete_objects_Permission</string> </key>
+            <value>
+              <tuple>
+                <string>Assignor</string>
+                <string>Manager</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>_Modify_portal_content_Permission</string> </key>
+            <value>
+              <tuple>
+                <string>Assignee</string>
+                <string>Assignor</string>
+                <string>Manager</string>
+                <string>Owner</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>_count</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>_mt_index</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>_tree</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAQ=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>codification</string> </key>
+            <value> <string>UNIT</string> </value>
+        </item>
+        <item>
+            <key> <string>default_reference</string> </key>
+            <value> <string>UNIT</string> </value>
+        </item>
+        <item>
+            <key> <string>description</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>unit</string> </value>
+        </item>
+        <item>
+            <key> <string>int_index</string> </key>
+            <value> <int>1</int> </value>
+        </item>
+        <item>
+            <key> <string>last_id</string> </key>
+            <value> <string>1</string> </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Category</string> </value>
+        </item>
+        <item>
+            <key> <string>short_title</string> </key>
+            <value> <string>Unit</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>Unit</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="2" aka="AAAAAAAAAAI=">
+    <pickle>
+      <global name="Length" module="BTrees.Length"/>
+    </pickle>
+    <pickle> <int>0</int> </pickle>
+  </record>
+  <record id="3" aka="AAAAAAAAAAM=">
+    <pickle>
+      <global name="OOBTree" module="BTrees._OOBTree"/>
+    </pickle>
+    <pickle>
+      <none/>
+    </pickle>
+  </record>
+  <record id="4" aka="AAAAAAAAAAQ=">
+    <pickle>
+      <global name="OOBTree" module="BTrees._OOBTree"/>
+    </pickle>
+    <pickle>
+      <none/>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_simulation_performance_test/PathTemplateItem/portal_categories/quantity_unit/unit/piece.xml b/bt5/erp5_simulation_performance_test/PathTemplateItem/portal_categories/quantity_unit/unit/piece.xml
new file mode 100644
index 0000000000..672bb82d14
--- /dev/null
+++ b/bt5/erp5_simulation_performance_test/PathTemplateItem/portal_categories/quantity_unit/unit/piece.xml
@@ -0,0 +1,96 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="Category" module="Products.ERP5Type.Document.Category"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_Add_portal_content_Permission</string> </key>
+            <value>
+              <tuple>
+                <string>Assignor</string>
+                <string>Manager</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>_Add_portal_folders_Permission</string> </key>
+            <value>
+              <tuple>
+                <string>Assignor</string>
+                <string>Manager</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>_Copy_or_Move_Permission</string> </key>
+            <value>
+              <tuple>
+                <string>Assignor</string>
+                <string>Manager</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>_Delete_objects_Permission</string> </key>
+            <value>
+              <tuple>
+                <string>Assignor</string>
+                <string>Manager</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>_Modify_portal_content_Permission</string> </key>
+            <value>
+              <tuple>
+                <string>Assignee</string>
+                <string>Assignor</string>
+                <string>Manager</string>
+                <string>Owner</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>codification</string> </key>
+            <value> <string>UNIT-PIECE</string> </value>
+        </item>
+        <item>
+            <key> <string>default_reference</string> </key>
+            <value> <string>PIECE</string> </value>
+        </item>
+        <item>
+            <key> <string>description</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>piece</string> </value>
+        </item>
+        <item>
+            <key> <string>int_index</string> </key>
+            <value> <int>1</int> </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Category</string> </value>
+        </item>
+        <item>
+            <key> <string>short_title</string> </key>
+            <value> <string>Piece</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>Piece</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_simulation_performance_test/PathTemplateItem/portal_categories/trade_phase/invoice.xml b/bt5/erp5_simulation_performance_test/PathTemplateItem/portal_categories/trade_phase/invoice.xml
new file mode 100644
index 0000000000..7e68f649ec
--- /dev/null
+++ b/bt5/erp5_simulation_performance_test/PathTemplateItem/portal_categories/trade_phase/invoice.xml
@@ -0,0 +1,104 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="Category" module="Products.ERP5Type.Document.Category"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_Add_portal_content_Permission</string> </key>
+            <value>
+              <tuple>
+                <string>Assignor</string>
+                <string>Manager</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>_Add_portal_folders_Permission</string> </key>
+            <value>
+              <tuple>
+                <string>Assignor</string>
+                <string>Manager</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>_Copy_or_Move_Permission</string> </key>
+            <value>
+              <tuple>
+                <string>Assignor</string>
+                <string>Manager</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>_Delete_objects_Permission</string> </key>
+            <value>
+              <tuple>
+                <string>Assignor</string>
+                <string>Manager</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>_Modify_portal_content_Permission</string> </key>
+            <value>
+              <tuple>
+                <string>Assignee</string>
+                <string>Assignor</string>
+                <string>Manager</string>
+                <string>Owner</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>categories</string> </key>
+            <value>
+              <tuple>
+                <string>trade_phase/invoice</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>codification</string> </key>
+            <value> <string>INVOICE</string> </value>
+        </item>
+        <item>
+            <key> <string>default_reference</string> </key>
+            <value> <string>INVOICE</string> </value>
+        </item>
+        <item>
+            <key> <string>description</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>invoice</string> </value>
+        </item>
+        <item>
+            <key> <string>int_index</string> </key>
+            <value> <int>3</int> </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Category</string> </value>
+        </item>
+        <item>
+            <key> <string>short_title</string> </key>
+            <value> <string>Invoice</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>Invoice</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_simulation_performance_test/PathTemplateItem/portal_categories/trade_phase/order.xml b/bt5/erp5_simulation_performance_test/PathTemplateItem/portal_categories/trade_phase/order.xml
new file mode 100644
index 0000000000..1334b9513a
--- /dev/null
+++ b/bt5/erp5_simulation_performance_test/PathTemplateItem/portal_categories/trade_phase/order.xml
@@ -0,0 +1,104 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="Category" module="Products.ERP5Type.Document.Category"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_Add_portal_content_Permission</string> </key>
+            <value>
+              <tuple>
+                <string>Assignor</string>
+                <string>Manager</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>_Add_portal_folders_Permission</string> </key>
+            <value>
+              <tuple>
+                <string>Assignor</string>
+                <string>Manager</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>_Copy_or_Move_Permission</string> </key>
+            <value>
+              <tuple>
+                <string>Assignor</string>
+                <string>Manager</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>_Delete_objects_Permission</string> </key>
+            <value>
+              <tuple>
+                <string>Assignor</string>
+                <string>Manager</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>_Modify_portal_content_Permission</string> </key>
+            <value>
+              <tuple>
+                <string>Assignee</string>
+                <string>Assignor</string>
+                <string>Manager</string>
+                <string>Owner</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>categories</string> </key>
+            <value>
+              <tuple>
+                <string>trade_phase/order</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>codification</string> </key>
+            <value> <string>ORDER</string> </value>
+        </item>
+        <item>
+            <key> <string>default_reference</string> </key>
+            <value> <string>ORDER</string> </value>
+        </item>
+        <item>
+            <key> <string>description</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>order</string> </value>
+        </item>
+        <item>
+            <key> <string>int_index</string> </key>
+            <value> <int>1</int> </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Category</string> </value>
+        </item>
+        <item>
+            <key> <string>short_title</string> </key>
+            <value> <string>Order</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>Order</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_simulation_performance_test/PathTemplateItem/portal_categories/trade_phase/shipping.xml b/bt5/erp5_simulation_performance_test/PathTemplateItem/portal_categories/trade_phase/shipping.xml
new file mode 100644
index 0000000000..9db64fd6f5
--- /dev/null
+++ b/bt5/erp5_simulation_performance_test/PathTemplateItem/portal_categories/trade_phase/shipping.xml
@@ -0,0 +1,96 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="Category" module="Products.ERP5Type.Document.Category"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_Add_portal_content_Permission</string> </key>
+            <value>
+              <tuple>
+                <string>Assignor</string>
+                <string>Manager</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>_Add_portal_folders_Permission</string> </key>
+            <value>
+              <tuple>
+                <string>Assignor</string>
+                <string>Manager</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>_Copy_or_Move_Permission</string> </key>
+            <value>
+              <tuple>
+                <string>Assignor</string>
+                <string>Manager</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>_Delete_objects_Permission</string> </key>
+            <value>
+              <tuple>
+                <string>Assignor</string>
+                <string>Manager</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>_Modify_portal_content_Permission</string> </key>
+            <value>
+              <tuple>
+                <string>Assignee</string>
+                <string>Assignor</string>
+                <string>Manager</string>
+                <string>Owner</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>codification</string> </key>
+            <value> <string>SHIPPING</string> </value>
+        </item>
+        <item>
+            <key> <string>default_reference</string> </key>
+            <value> <string>SHIPPING</string> </value>
+        </item>
+        <item>
+            <key> <string>description</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>shipping</string> </value>
+        </item>
+        <item>
+            <key> <string>int_index</string> </key>
+            <value> <int>2</int> </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Category</string> </value>
+        </item>
+        <item>
+            <key> <string>short_title</string> </key>
+            <value> <string>Shipping</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>Shipping</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_simulation_performance_test/PathTemplateItem/portal_categories/trade_phase/tax.xml b/bt5/erp5_simulation_performance_test/PathTemplateItem/portal_categories/trade_phase/tax.xml
new file mode 100644
index 0000000000..32d25d6dd0
--- /dev/null
+++ b/bt5/erp5_simulation_performance_test/PathTemplateItem/portal_categories/trade_phase/tax.xml
@@ -0,0 +1,96 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="Category" module="Products.ERP5Type.Document.Category"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_Add_portal_content_Permission</string> </key>
+            <value>
+              <tuple>
+                <string>Assignor</string>
+                <string>Manager</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>_Add_portal_folders_Permission</string> </key>
+            <value>
+              <tuple>
+                <string>Assignor</string>
+                <string>Manager</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>_Copy_or_Move_Permission</string> </key>
+            <value>
+              <tuple>
+                <string>Assignor</string>
+                <string>Manager</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>_Delete_objects_Permission</string> </key>
+            <value>
+              <tuple>
+                <string>Assignor</string>
+                <string>Manager</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>_Modify_portal_content_Permission</string> </key>
+            <value>
+              <tuple>
+                <string>Assignee</string>
+                <string>Assignor</string>
+                <string>Manager</string>
+                <string>Owner</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>codification</string> </key>
+            <value> <string>TAX</string> </value>
+        </item>
+        <item>
+            <key> <string>default_reference</string> </key>
+            <value> <string>TAX</string> </value>
+        </item>
+        <item>
+            <key> <string>description</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>tax</string> </value>
+        </item>
+        <item>
+            <key> <string>int_index</string> </key>
+            <value> <int>4</int> </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Category</string> </value>
+        </item>
+        <item>
+            <key> <string>short_title</string> </key>
+            <value> <string>Tax</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>Tax</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_simulation_performance_test/PathTemplateItem/portal_deliveries/test_advanced_sale_invoice_builder.xml b/bt5/erp5_simulation_performance_test/PathTemplateItem/portal_deliveries/test_advanced_sale_invoice_builder.xml
new file mode 100644
index 0000000000..e998a130e0
--- /dev/null
+++ b/bt5/erp5_simulation_performance_test/PathTemplateItem/portal_deliveries/test_advanced_sale_invoice_builder.xml
@@ -0,0 +1,120 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="DeliveryBuilder" module="Products.ERP5Type.Document.DeliveryBuilder"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_count</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>_mt_index</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>_tree</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAQ=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>comment</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>delivery_after_generation_script_id</string> </key>
+            <value> <string>SaleInvoice_postGeneration</string> </value>
+        </item>
+        <item>
+            <key> <string>delivery_cell_portal_type</string> </key>
+            <value> <string>Invoice Cell</string> </value>
+        </item>
+        <item>
+            <key> <string>delivery_cell_separate_order</string> </key>
+            <value>
+              <tuple>
+                <string>calculateAveragePrice</string>
+                <string>calculateAddQuantity</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>delivery_line_portal_type</string> </key>
+            <value> <string>Invoice Line</string> </value>
+        </item>
+        <item>
+            <key> <string>delivery_module</string> </key>
+            <value> <string>sale_invoice_module</string> </value>
+        </item>
+        <item>
+            <key> <string>delivery_portal_type</string> </key>
+            <value> <string>Sale Invoice</string> </value>
+        </item>
+        <item>
+            <key> <string>delivery_select_method_id</string> </key>
+            <value> <string>DeliveryBuilder_getSimulationPerformanceTestUpdatableDeliveryList</string> </value>
+        </item>
+        <item>
+            <key> <string>description</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>test_advanced_sale_invoice_builder</string> </value>
+        </item>
+        <item>
+            <key> <string>last_id</string> </key>
+            <value> <string>1</string> </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Delivery Builder</string> </value>
+        </item>
+        <item>
+            <key> <string>simulation_select_method_id</string> </key>
+            <value> <string>DeliveryBuilder_getSimulationPerformanceTestBuildableMovementList</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>Test Advanced Sale Invoice Builder</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="2" aka="AAAAAAAAAAI=">
+    <pickle>
+      <global name="Length" module="BTrees.Length"/>
+    </pickle>
+    <pickle> <int>0</int> </pickle>
+  </record>
+  <record id="3" aka="AAAAAAAAAAM=">
+    <pickle>
+      <global name="OOBTree" module="BTrees._OOBTree"/>
+    </pickle>
+    <pickle>
+      <none/>
+    </pickle>
+  </record>
+  <record id="4" aka="AAAAAAAAAAQ=">
+    <pickle>
+      <global name="OOBTree" module="BTrees._OOBTree"/>
+    </pickle>
+    <pickle>
+      <none/>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_simulation_performance_test/PathTemplateItem/portal_deliveries/test_advanced_sale_invoice_builder/base_variant_movement_group_in_line.xml b/bt5/erp5_simulation_performance_test/PathTemplateItem/portal_deliveries/test_advanced_sale_invoice_builder/base_variant_movement_group_in_line.xml
new file mode 100644
index 0000000000..31f679d133
--- /dev/null
+++ b/bt5/erp5_simulation_performance_test/PathTemplateItem/portal_deliveries/test_advanced_sale_invoice_builder/base_variant_movement_group_in_line.xml
@@ -0,0 +1,45 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="BaseVariantMovementGroup" module="Products.ERP5Type.Document.BaseVariantMovementGroup"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>categories</string> </key>
+            <value>
+              <tuple>
+                <string>collect_order_group/line</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>description</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>base_variant_movement_group_in_line</string> </value>
+        </item>
+        <item>
+            <key> <string>int_index</string> </key>
+            <value> <int>2</int> </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Base Variant Movement Group</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>base_variant_movement_group_in_line</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_simulation_performance_test/PathTemplateItem/portal_deliveries/test_advanced_sale_invoice_builder/category_movement_group_on_delivery.xml b/bt5/erp5_simulation_performance_test/PathTemplateItem/portal_deliveries/test_advanced_sale_invoice_builder/category_movement_group_on_delivery.xml
new file mode 100644
index 0000000000..5e88eadc24
--- /dev/null
+++ b/bt5/erp5_simulation_performance_test/PathTemplateItem/portal_deliveries/test_advanced_sale_invoice_builder/category_movement_group_on_delivery.xml
@@ -0,0 +1,70 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="CategoryMovementGroup" module="Products.ERP5Type.Document.CategoryMovementGroup"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>categories</string> </key>
+            <value>
+              <tuple>
+                <string>divergence_scope/category</string>
+                <string>collect_order_group/delivery</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>description</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>category_movement_group_on_delivery</string> </value>
+        </item>
+        <item>
+            <key> <string>int_index</string> </key>
+            <value> <int>1</int> </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Category Movement Group</string> </value>
+        </item>
+        <item>
+            <key> <string>tested_property</string> </key>
+            <value>
+              <tuple>
+                <string>delivery_mode</string>
+                <string>incoterm</string>
+                <string>source_section</string>
+                <string>destination_section</string>
+                <string>source_decision</string>
+                <string>destination_decision</string>
+                <string>source_administration</string>
+                <string>destination_administration</string>
+                <string>source_project</string>
+                <string>destination_project</string>
+                <string>source_payment</string>
+                <string>destination_payment</string>
+                <string>price_currency</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>category_movement_group_on_delivery</string> </value>
+        </item>
+        <item>
+            <key> <string>update_always</string> </key>
+            <value> <int>0</int> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_simulation_performance_test/PathTemplateItem/portal_deliveries/test_advanced_sale_invoice_builder/category_movement_group_on_line.xml b/bt5/erp5_simulation_performance_test/PathTemplateItem/portal_deliveries/test_advanced_sale_invoice_builder/category_movement_group_on_line.xml
new file mode 100644
index 0000000000..bf1e77ca37
--- /dev/null
+++ b/bt5/erp5_simulation_performance_test/PathTemplateItem/portal_deliveries/test_advanced_sale_invoice_builder/category_movement_group_on_line.xml
@@ -0,0 +1,66 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="CategoryMovementGroup" module="Products.ERP5Type.Document.CategoryMovementGroup"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>categories</string> </key>
+            <value>
+              <tuple>
+                <string>divergence_scope/category</string>
+                <string>collect_order_group/line</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>description</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>category_movement_group_on_line</string> </value>
+        </item>
+        <item>
+            <key> <string>int_index</string> </key>
+            <value> <int>1</int> </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Category Movement Group</string> </value>
+        </item>
+        <item>
+            <key> <string>tested_property</string> </key>
+            <value>
+              <tuple>
+                <string>resource</string>
+                <string>aggregate</string>
+                <string>quantity_unit</string>
+                <string>source</string>
+                <string>destination</string>
+                <string>source_account</string>
+                <string>destination_account</string>
+                <string>source_function</string>
+                <string>destination_function</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>category_movement_group_on_line</string> </value>
+        </item>
+        <item>
+            <key> <string>update_always</string> </key>
+            <value> <int>0</int> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_simulation_performance_test/PathTemplateItem/portal_deliveries/test_advanced_sale_invoice_builder/causality_assignment_movement_group_on_cell.xml b/bt5/erp5_simulation_performance_test/PathTemplateItem/portal_deliveries/test_advanced_sale_invoice_builder/causality_assignment_movement_group_on_cell.xml
new file mode 100644
index 0000000000..21bd347ba5
--- /dev/null
+++ b/bt5/erp5_simulation_performance_test/PathTemplateItem/portal_deliveries/test_advanced_sale_invoice_builder/causality_assignment_movement_group_on_cell.xml
@@ -0,0 +1,45 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="CausalityAssignmentMovementGroup" module="Products.ERP5Type.Document.CausalityAssignmentMovementGroup"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>categories</string> </key>
+            <value>
+              <tuple>
+                <string>collect_order_group/cell</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>description</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>causality_assignment_movement_group_on_cell</string> </value>
+        </item>
+        <item>
+            <key> <string>int_index</string> </key>
+            <value> <int>2</int> </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Causality Assignment Movement Group</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>causality_assignment_movement_group_on_cell</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_simulation_performance_test/PathTemplateItem/portal_deliveries/test_advanced_sale_invoice_builder/causality_assignment_movement_group_on_line.xml b/bt5/erp5_simulation_performance_test/PathTemplateItem/portal_deliveries/test_advanced_sale_invoice_builder/causality_assignment_movement_group_on_line.xml
new file mode 100644
index 0000000000..a77106f4c6
--- /dev/null
+++ b/bt5/erp5_simulation_performance_test/PathTemplateItem/portal_deliveries/test_advanced_sale_invoice_builder/causality_assignment_movement_group_on_line.xml
@@ -0,0 +1,45 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="CausalityAssignmentMovementGroup" module="Products.ERP5Type.Document.CausalityAssignmentMovementGroup"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>categories</string> </key>
+            <value>
+              <tuple>
+                <string>collect_order_group/line</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>description</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>causality_assignment_movement_group_on_line</string> </value>
+        </item>
+        <item>
+            <key> <string>int_index</string> </key>
+            <value> <int>3</int> </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Causality Assignment Movement Group</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>causality_assignment_movement_group_on_line</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_simulation_performance_test/PathTemplateItem/portal_deliveries/test_advanced_sale_invoice_builder/delivery_causality_assignment_on_delivery.xml b/bt5/erp5_simulation_performance_test/PathTemplateItem/portal_deliveries/test_advanced_sale_invoice_builder/delivery_causality_assignment_on_delivery.xml
new file mode 100644
index 0000000000..cb770bcf24
--- /dev/null
+++ b/bt5/erp5_simulation_performance_test/PathTemplateItem/portal_deliveries/test_advanced_sale_invoice_builder/delivery_causality_assignment_on_delivery.xml
@@ -0,0 +1,47 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="DeliveryCausalityAssignmentMovementGroup" module="Products.ERP5Type.Document.DeliveryCausalityAssignmentMovementGroup"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>categories</string> </key>
+            <value>
+              <tuple>
+                <string>collect_order_group/delivery</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>description</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>delivery_causality_assignment_on_delivery</string> </value>
+        </item>
+        <item>
+            <key> <string>int_index</string> </key>
+            <value> <int>2</int> </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Delivery Causality Assignment Movement Group</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_simulation_performance_test/PathTemplateItem/portal_deliveries/test_advanced_sale_invoice_builder/variant_movement_group_on_cell.xml b/bt5/erp5_simulation_performance_test/PathTemplateItem/portal_deliveries/test_advanced_sale_invoice_builder/variant_movement_group_on_cell.xml
new file mode 100644
index 0000000000..5e3d139019
--- /dev/null
+++ b/bt5/erp5_simulation_performance_test/PathTemplateItem/portal_deliveries/test_advanced_sale_invoice_builder/variant_movement_group_on_cell.xml
@@ -0,0 +1,46 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="VariantMovementGroup" module="Products.ERP5Type.Document.VariantMovementGroup"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>categories</string> </key>
+            <value>
+              <tuple>
+                <string>collect_order_group/cell</string>
+                <string>divergence_scope/category</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>description</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>variant_movement_group_on_cell</string> </value>
+        </item>
+        <item>
+            <key> <string>int_index</string> </key>
+            <value> <int>1</int> </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Variant Movement Group</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>variant_movement_group_on_cell</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_simulation_performance_test/PathTemplateItem/portal_deliveries/test_advanced_sale_invoice_trade_model_builder.xml b/bt5/erp5_simulation_performance_test/PathTemplateItem/portal_deliveries/test_advanced_sale_invoice_trade_model_builder.xml
new file mode 100644
index 0000000000..ab6b874c07
--- /dev/null
+++ b/bt5/erp5_simulation_performance_test/PathTemplateItem/portal_deliveries/test_advanced_sale_invoice_trade_model_builder.xml
@@ -0,0 +1,122 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="DeliveryBuilder" module="Products.ERP5Type.Document.DeliveryBuilder"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_count</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>_mt_index</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>_tree</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAQ=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>comment</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>delivery_after_generation_script_id</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>delivery_cell_portal_type</string> </key>
+            <value> <string>Invoice Cell</string> </value>
+        </item>
+        <item>
+            <key> <string>delivery_cell_separate_order</string> </key>
+            <value>
+              <tuple>
+                <string>calculateAveragePrice</string>
+                <string>calculateAddQuantity</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>delivery_line_portal_type</string> </key>
+            <value> <string>Invoice Line</string> </value>
+        </item>
+        <item>
+            <key> <string>delivery_module</string> </key>
+            <value> <string>sale_invoice_module</string> </value>
+        </item>
+        <item>
+            <key> <string>delivery_portal_type</string> </key>
+            <value> <string>Sale Invoice</string> </value>
+        </item>
+        <item>
+            <key> <string>delivery_select_method_id</string> </key>
+            <value> <string>DeliveryBuilder_getSimulationPerformanceTestTaxableInvoiceList</string> </value>
+        </item>
+        <item>
+            <key> <string>description</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>test_advanced_sale_invoice_trade_model_builder</string> </value>
+        </item>
+        <item>
+            <key> <string>last_id</string> </key>
+            <value> <string>2</string> </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Delivery Builder</string> </value>
+        </item>
+        <item>
+            <key> <string>simulation_select_method_id</string> </key>
+            <value> <string>DeliveryBuilder_getSimulationPerformanceTestBuildableMovementList</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>Test Advanced Sale Invoice Trade Model Builder</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="2" aka="AAAAAAAAAAI=">
+    <pickle>
+      <global name="Length" module="BTrees.Length"/>
+    </pickle>
+    <pickle> <int>0</int> </pickle>
+  </record>
+  <record id="3" aka="AAAAAAAAAAM=">
+    <pickle>
+      <global name="OOBTree" module="BTrees._OOBTree"/>
+    </pickle>
+    <pickle>
+      <none/>
+    </pickle>
+  </record>
+  <record id="4" aka="AAAAAAAAAAQ=">
+    <pickle>
+      <global name="OOBTree" module="BTrees._OOBTree"/>
+    </pickle>
+    <pickle>
+      <none/>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_simulation_performance_test/PathTemplateItem/portal_deliveries/test_advanced_sale_invoice_trade_model_builder/base_variant_movement_group_in_line.xml b/bt5/erp5_simulation_performance_test/PathTemplateItem/portal_deliveries/test_advanced_sale_invoice_trade_model_builder/base_variant_movement_group_in_line.xml
new file mode 100644
index 0000000000..31f679d133
--- /dev/null
+++ b/bt5/erp5_simulation_performance_test/PathTemplateItem/portal_deliveries/test_advanced_sale_invoice_trade_model_builder/base_variant_movement_group_in_line.xml
@@ -0,0 +1,45 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="BaseVariantMovementGroup" module="Products.ERP5Type.Document.BaseVariantMovementGroup"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>categories</string> </key>
+            <value>
+              <tuple>
+                <string>collect_order_group/line</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>description</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>base_variant_movement_group_in_line</string> </value>
+        </item>
+        <item>
+            <key> <string>int_index</string> </key>
+            <value> <int>2</int> </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Base Variant Movement Group</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>base_variant_movement_group_in_line</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_simulation_performance_test/PathTemplateItem/portal_deliveries/test_advanced_sale_invoice_trade_model_builder/category_movement_group_on_line.xml b/bt5/erp5_simulation_performance_test/PathTemplateItem/portal_deliveries/test_advanced_sale_invoice_trade_model_builder/category_movement_group_on_line.xml
new file mode 100644
index 0000000000..7eb8d40a34
--- /dev/null
+++ b/bt5/erp5_simulation_performance_test/PathTemplateItem/portal_deliveries/test_advanced_sale_invoice_trade_model_builder/category_movement_group_on_line.xml
@@ -0,0 +1,64 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="CategoryMovementGroup" module="Products.ERP5Type.Document.CategoryMovementGroup"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>categories</string> </key>
+            <value>
+              <tuple>
+                <string>divergence_scope/category</string>
+                <string>collect_order_group/line</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>description</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>category_movement_group_on_line</string> </value>
+        </item>
+        <item>
+            <key> <string>int_index</string> </key>
+            <value> <int>1</int> </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Category Movement Group</string> </value>
+        </item>
+        <item>
+            <key> <string>tested_property</string> </key>
+            <value>
+              <tuple>
+                <string>resource</string>
+                <string>aggregate</string>
+                <string>quantity_unit</string>
+                <string>source_account</string>
+                <string>destination_account</string>
+                <string>source_function</string>
+                <string>destination_function</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>category_movement_group_on_line</string> </value>
+        </item>
+        <item>
+            <key> <string>update_always</string> </key>
+            <value> <int>0</int> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_simulation_performance_test/PathTemplateItem/portal_deliveries/test_advanced_sale_invoice_trade_model_builder/causality_assignment_movement_group_on_cell.xml b/bt5/erp5_simulation_performance_test/PathTemplateItem/portal_deliveries/test_advanced_sale_invoice_trade_model_builder/causality_assignment_movement_group_on_cell.xml
new file mode 100644
index 0000000000..21bd347ba5
--- /dev/null
+++ b/bt5/erp5_simulation_performance_test/PathTemplateItem/portal_deliveries/test_advanced_sale_invoice_trade_model_builder/causality_assignment_movement_group_on_cell.xml
@@ -0,0 +1,45 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="CausalityAssignmentMovementGroup" module="Products.ERP5Type.Document.CausalityAssignmentMovementGroup"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>categories</string> </key>
+            <value>
+              <tuple>
+                <string>collect_order_group/cell</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>description</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>causality_assignment_movement_group_on_cell</string> </value>
+        </item>
+        <item>
+            <key> <string>int_index</string> </key>
+            <value> <int>2</int> </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Causality Assignment Movement Group</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>causality_assignment_movement_group_on_cell</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_simulation_performance_test/PathTemplateItem/portal_deliveries/test_advanced_sale_invoice_trade_model_builder/causality_assignment_movement_group_on_line.xml b/bt5/erp5_simulation_performance_test/PathTemplateItem/portal_deliveries/test_advanced_sale_invoice_trade_model_builder/causality_assignment_movement_group_on_line.xml
new file mode 100644
index 0000000000..a77106f4c6
--- /dev/null
+++ b/bt5/erp5_simulation_performance_test/PathTemplateItem/portal_deliveries/test_advanced_sale_invoice_trade_model_builder/causality_assignment_movement_group_on_line.xml
@@ -0,0 +1,45 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="CausalityAssignmentMovementGroup" module="Products.ERP5Type.Document.CausalityAssignmentMovementGroup"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>categories</string> </key>
+            <value>
+              <tuple>
+                <string>collect_order_group/line</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>description</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>causality_assignment_movement_group_on_line</string> </value>
+        </item>
+        <item>
+            <key> <string>int_index</string> </key>
+            <value> <int>3</int> </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Causality Assignment Movement Group</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>causality_assignment_movement_group_on_line</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_simulation_performance_test/PathTemplateItem/portal_deliveries/test_advanced_sale_invoice_trade_model_builder/invoice_on_delivery.xml b/bt5/erp5_simulation_performance_test/PathTemplateItem/portal_deliveries/test_advanced_sale_invoice_trade_model_builder/invoice_on_delivery.xml
new file mode 100644
index 0000000000..ef9d1dd188
--- /dev/null
+++ b/bt5/erp5_simulation_performance_test/PathTemplateItem/portal_deliveries/test_advanced_sale_invoice_trade_model_builder/invoice_on_delivery.xml
@@ -0,0 +1,47 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="InvoiceMovementGroup" module="Products.ERP5Type.Document.InvoiceMovementGroup"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>categories</string> </key>
+            <value>
+              <tuple>
+                <string>collect_order_group/delivery</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>description</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>invoice_on_delivery</string> </value>
+        </item>
+        <item>
+            <key> <string>int_index</string> </key>
+            <value> <int>1</int> </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Invoice Movement Group</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_simulation_performance_test/PathTemplateItem/portal_deliveries/test_advanced_sale_invoice_trade_model_builder/variant_movement_group_on_cell.xml b/bt5/erp5_simulation_performance_test/PathTemplateItem/portal_deliveries/test_advanced_sale_invoice_trade_model_builder/variant_movement_group_on_cell.xml
new file mode 100644
index 0000000000..5e3d139019
--- /dev/null
+++ b/bt5/erp5_simulation_performance_test/PathTemplateItem/portal_deliveries/test_advanced_sale_invoice_trade_model_builder/variant_movement_group_on_cell.xml
@@ -0,0 +1,46 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="VariantMovementGroup" module="Products.ERP5Type.Document.VariantMovementGroup"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>categories</string> </key>
+            <value>
+              <tuple>
+                <string>collect_order_group/cell</string>
+                <string>divergence_scope/category</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>description</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>variant_movement_group_on_cell</string> </value>
+        </item>
+        <item>
+            <key> <string>int_index</string> </key>
+            <value> <int>1</int> </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Variant Movement Group</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>variant_movement_group_on_cell</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_simulation_performance_test/PathTemplateItem/portal_deliveries/test_sale_packing_list_builder.xml b/bt5/erp5_simulation_performance_test/PathTemplateItem/portal_deliveries/test_sale_packing_list_builder.xml
new file mode 100644
index 0000000000..f89179264b
--- /dev/null
+++ b/bt5/erp5_simulation_performance_test/PathTemplateItem/portal_deliveries/test_sale_packing_list_builder.xml
@@ -0,0 +1,116 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="DeliveryBuilder" module="Products.ERP5Type.Document.DeliveryBuilder"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_count</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>_mt_index</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>_tree</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAQ=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>comment</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>delivery_after_generation_script_id</string> </key>
+            <value> <string>SalePackingList_copyOrderProperties</string> </value>
+        </item>
+        <item>
+            <key> <string>delivery_cell_portal_type</string> </key>
+            <value> <string>Sale Packing List Cell</string> </value>
+        </item>
+        <item>
+            <key> <string>delivery_cell_separate_order</string> </key>
+            <value>
+              <tuple>
+                <string>calculateAveragePrice</string>
+                <string>calculateAddQuantity</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>delivery_line_portal_type</string> </key>
+            <value> <string>Sale Packing List Line</string> </value>
+        </item>
+        <item>
+            <key> <string>delivery_module</string> </key>
+            <value> <string>sale_packing_list_module</string> </value>
+        </item>
+        <item>
+            <key> <string>delivery_portal_type</string> </key>
+            <value> <string>Sale Packing List</string> </value>
+        </item>
+        <item>
+            <key> <string>delivery_select_method_id</string> </key>
+            <value> <string>DeliveryBuilder_getSimulationPerformanceTestUpdatableDeliveryList</string> </value>
+        </item>
+        <item>
+            <key> <string>description</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>test_sale_packing_list_builder</string> </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Delivery Builder</string> </value>
+        </item>
+        <item>
+            <key> <string>simulation_select_method_id</string> </key>
+            <value> <string>DeliveryBuilder_getSimulationPerformanceTestBuildableMovementList</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>Test Sale Packing List Builder</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="2" aka="AAAAAAAAAAI=">
+    <pickle>
+      <global name="Length" module="BTrees.Length"/>
+    </pickle>
+    <pickle> <int>0</int> </pickle>
+  </record>
+  <record id="3" aka="AAAAAAAAAAM=">
+    <pickle>
+      <global name="OOBTree" module="BTrees._OOBTree"/>
+    </pickle>
+    <pickle>
+      <none/>
+    </pickle>
+  </record>
+  <record id="4" aka="AAAAAAAAAAQ=">
+    <pickle>
+      <global name="OOBTree" module="BTrees._OOBTree"/>
+    </pickle>
+    <pickle>
+      <none/>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_simulation_performance_test/PathTemplateItem/portal_deliveries/test_sale_packing_list_builder/base_variant_movement_group_in_line.xml b/bt5/erp5_simulation_performance_test/PathTemplateItem/portal_deliveries/test_sale_packing_list_builder/base_variant_movement_group_in_line.xml
new file mode 100644
index 0000000000..31f679d133
--- /dev/null
+++ b/bt5/erp5_simulation_performance_test/PathTemplateItem/portal_deliveries/test_sale_packing_list_builder/base_variant_movement_group_in_line.xml
@@ -0,0 +1,45 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="BaseVariantMovementGroup" module="Products.ERP5Type.Document.BaseVariantMovementGroup"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>categories</string> </key>
+            <value>
+              <tuple>
+                <string>collect_order_group/line</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>description</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>base_variant_movement_group_in_line</string> </value>
+        </item>
+        <item>
+            <key> <string>int_index</string> </key>
+            <value> <int>2</int> </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Base Variant Movement Group</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>base_variant_movement_group_in_line</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_simulation_performance_test/PathTemplateItem/portal_deliveries/test_sale_packing_list_builder/category_movement_group_on_delivery.xml b/bt5/erp5_simulation_performance_test/PathTemplateItem/portal_deliveries/test_sale_packing_list_builder/category_movement_group_on_delivery.xml
new file mode 100644
index 0000000000..77e8a00751
--- /dev/null
+++ b/bt5/erp5_simulation_performance_test/PathTemplateItem/portal_deliveries/test_sale_packing_list_builder/category_movement_group_on_delivery.xml
@@ -0,0 +1,68 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="CategoryMovementGroup" module="Products.ERP5Type.Document.CategoryMovementGroup"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>categories</string> </key>
+            <value>
+              <tuple>
+                <string>divergence_scope/category</string>
+                <string>collect_order_group/delivery</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>description</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>category_movement_group_on_delivery</string> </value>
+        </item>
+        <item>
+            <key> <string>int_index</string> </key>
+            <value> <int>3</int> </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Category Movement Group</string> </value>
+        </item>
+        <item>
+            <key> <string>tested_property</string> </key>
+            <value>
+              <tuple>
+                <string>delivery_mode</string>
+                <string>incoterm</string>
+                <string>source</string>
+                <string>destination</string>
+                <string>source_section</string>
+                <string>destination_section</string>
+                <string>source_decision</string>
+                <string>destination_decision</string>
+                <string>source_administration</string>
+                <string>destination_administration</string>
+                <string>source_project</string>
+                <string>destination_project</string>
+                <string>source_payment</string>
+                <string>destination_payment</string>
+                <string>price_currency</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>category_movement_group_on_delivery</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_simulation_performance_test/PathTemplateItem/portal_deliveries/test_sale_packing_list_builder/category_movement_group_on_line.xml b/bt5/erp5_simulation_performance_test/PathTemplateItem/portal_deliveries/test_sale_packing_list_builder/category_movement_group_on_line.xml
new file mode 100644
index 0000000000..4e5ddf06a2
--- /dev/null
+++ b/bt5/erp5_simulation_performance_test/PathTemplateItem/portal_deliveries/test_sale_packing_list_builder/category_movement_group_on_line.xml
@@ -0,0 +1,60 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="CategoryMovementGroup" module="Products.ERP5Type.Document.CategoryMovementGroup"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>categories</string> </key>
+            <value>
+              <tuple>
+                <string>divergence_scope/category</string>
+                <string>collect_order_group/line</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>description</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>category_movement_group_on_line</string> </value>
+        </item>
+        <item>
+            <key> <string>int_index</string> </key>
+            <value> <int>1</int> </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Category Movement Group</string> </value>
+        </item>
+        <item>
+            <key> <string>tested_property</string> </key>
+            <value>
+              <tuple>
+                <string>resource</string>
+                <string>aggregate</string>
+                <string>quantity_unit</string>
+                <string>source_account</string>
+                <string>destination_account</string>
+                <string>source_function</string>
+                <string>destination_function</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>category_movement_group_on_line</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_simulation_performance_test/PathTemplateItem/portal_deliveries/test_sale_packing_list_builder/causality_assignment_movement_group_on_cell.xml b/bt5/erp5_simulation_performance_test/PathTemplateItem/portal_deliveries/test_sale_packing_list_builder/causality_assignment_movement_group_on_cell.xml
new file mode 100644
index 0000000000..21bd347ba5
--- /dev/null
+++ b/bt5/erp5_simulation_performance_test/PathTemplateItem/portal_deliveries/test_sale_packing_list_builder/causality_assignment_movement_group_on_cell.xml
@@ -0,0 +1,45 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="CausalityAssignmentMovementGroup" module="Products.ERP5Type.Document.CausalityAssignmentMovementGroup"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>categories</string> </key>
+            <value>
+              <tuple>
+                <string>collect_order_group/cell</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>description</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>causality_assignment_movement_group_on_cell</string> </value>
+        </item>
+        <item>
+            <key> <string>int_index</string> </key>
+            <value> <int>2</int> </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Causality Assignment Movement Group</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>causality_assignment_movement_group_on_cell</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_simulation_performance_test/PathTemplateItem/portal_deliveries/test_sale_packing_list_builder/causality_assignment_movement_group_on_line.xml b/bt5/erp5_simulation_performance_test/PathTemplateItem/portal_deliveries/test_sale_packing_list_builder/causality_assignment_movement_group_on_line.xml
new file mode 100644
index 0000000000..a77106f4c6
--- /dev/null
+++ b/bt5/erp5_simulation_performance_test/PathTemplateItem/portal_deliveries/test_sale_packing_list_builder/causality_assignment_movement_group_on_line.xml
@@ -0,0 +1,45 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="CausalityAssignmentMovementGroup" module="Products.ERP5Type.Document.CausalityAssignmentMovementGroup"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>categories</string> </key>
+            <value>
+              <tuple>
+                <string>collect_order_group/line</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>description</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>causality_assignment_movement_group_on_line</string> </value>
+        </item>
+        <item>
+            <key> <string>int_index</string> </key>
+            <value> <int>3</int> </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Causality Assignment Movement Group</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>causality_assignment_movement_group_on_line</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_simulation_performance_test/PathTemplateItem/portal_deliveries/test_sale_packing_list_builder/order_movement_group_on_delivery.xml b/bt5/erp5_simulation_performance_test/PathTemplateItem/portal_deliveries/test_sale_packing_list_builder/order_movement_group_on_delivery.xml
new file mode 100644
index 0000000000..dd83abc1e0
--- /dev/null
+++ b/bt5/erp5_simulation_performance_test/PathTemplateItem/portal_deliveries/test_sale_packing_list_builder/order_movement_group_on_delivery.xml
@@ -0,0 +1,45 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="OrderMovementGroup" module="Products.ERP5Type.Document.OrderMovementGroup"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>categories</string> </key>
+            <value>
+              <tuple>
+                <string>collect_order_group/delivery</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>description</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>order_movement_group_on_delivery</string> </value>
+        </item>
+        <item>
+            <key> <string>int_index</string> </key>
+            <value> <int>1</int> </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Order Movement Group</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>order_movement_group_on_delivery</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_simulation_performance_test/PathTemplateItem/portal_deliveries/test_sale_packing_list_builder/property_movement_group_on_delivery.xml b/bt5/erp5_simulation_performance_test/PathTemplateItem/portal_deliveries/test_sale_packing_list_builder/property_movement_group_on_delivery.xml
new file mode 100644
index 0000000000..6dea91d70c
--- /dev/null
+++ b/bt5/erp5_simulation_performance_test/PathTemplateItem/portal_deliveries/test_sale_packing_list_builder/property_movement_group_on_delivery.xml
@@ -0,0 +1,55 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="PropertyMovementGroup" module="Products.ERP5Type.Document.PropertyMovementGroup"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>categories</string> </key>
+            <value>
+              <tuple>
+                <string>divergence_scope/property</string>
+                <string>collect_order_group/delivery</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>description</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>property_movement_group_on_delivery</string> </value>
+        </item>
+        <item>
+            <key> <string>int_index</string> </key>
+            <value> <int>2</int> </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Property Movement Group</string> </value>
+        </item>
+        <item>
+            <key> <string>tested_property</string> </key>
+            <value>
+              <tuple>
+                <string>start_date</string>
+                <string>stop_date</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>property_movement_group_on_delivery</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_simulation_performance_test/PathTemplateItem/portal_deliveries/test_sale_packing_list_builder/variant_movement_group_on_cell.xml b/bt5/erp5_simulation_performance_test/PathTemplateItem/portal_deliveries/test_sale_packing_list_builder/variant_movement_group_on_cell.xml
new file mode 100644
index 0000000000..5e3d139019
--- /dev/null
+++ b/bt5/erp5_simulation_performance_test/PathTemplateItem/portal_deliveries/test_sale_packing_list_builder/variant_movement_group_on_cell.xml
@@ -0,0 +1,46 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="VariantMovementGroup" module="Products.ERP5Type.Document.VariantMovementGroup"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>categories</string> </key>
+            <value>
+              <tuple>
+                <string>collect_order_group/cell</string>
+                <string>divergence_scope/category</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>description</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>variant_movement_group_on_cell</string> </value>
+        </item>
+        <item>
+            <key> <string>int_index</string> </key>
+            <value> <int>1</int> </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Variant Movement Group</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>variant_movement_group_on_cell</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_simulation_performance_test/PathTemplateItem/portal_rules/test_invoice_simulation_rule.xml b/bt5/erp5_simulation_performance_test/PathTemplateItem/portal_rules/test_invoice_simulation_rule.xml
new file mode 100644
index 0000000000..8cba4b6fd4
--- /dev/null
+++ b/bt5/erp5_simulation_performance_test/PathTemplateItem/portal_rules/test_invoice_simulation_rule.xml
@@ -0,0 +1,205 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="InvoiceSimulationRule" module="Products.ERP5Type.Document.InvoiceSimulationRule"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_Add_portal_content_Permission</string> </key>
+            <value>
+              <tuple>
+                <string>Manager</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>_Delete_objects_Permission</string> </key>
+            <value>
+              <tuple>
+                <string>Manager</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>_Modify_portal_content_Permission</string> </key>
+            <value>
+              <tuple>
+                <string>Manager</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>_count</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>_identity_criterion</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>portal_type</string> </key>
+                    <value>
+                      <list>
+                        <string>Simulation Movement</string>
+                      </list>
+                    </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>_mt_index</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>_range_criterion</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>start_date</string> </key>
+                    <value>
+                      <tuple>
+                        <none/>
+                        <none/>
+                      </tuple>
+                    </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>_tree</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAQ=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>categories</string> </key>
+            <value>
+              <tuple>
+                <string>trade_phase/invoice</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>criterion_property</string> </key>
+            <value>
+              <tuple>
+                <string>portal_type</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>default_reference</string> </key>
+            <value> <string>test_invoice_simulation_rule</string> </value>
+        </item>
+        <item>
+            <key> <string>description</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>expandable_property</string> </key>
+            <value>
+              <tuple>
+                <string>source</string>
+                <string>source_section</string>
+                <string>source_decision</string>
+                <string>source_administration</string>
+                <string>source_project</string>
+                <string>source_function</string>
+                <string>source_payment</string>
+                <string>source_account</string>
+                <string>destination</string>
+                <string>destination_section</string>
+                <string>destination_decision</string>
+                <string>destination_administration</string>
+                <string>destination_project</string>
+                <string>destination_function</string>
+                <string>destination_payment</string>
+                <string>destination_account</string>
+                <string>resource</string>
+                <string>variation_category_list</string>
+                <string>variation_property_dict</string>
+                <string>delivery_mode</string>
+                <string>incoterm</string>
+                <string>base_contribution_list</string>
+                <string>aggregate_list</string>
+                <string>quantity</string>
+                <string>quantity_unit</string>
+                <string>price</string>
+                <string>price_currency</string>
+                <string>efficiency</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>test_invoice_simulation_rule</string> </value>
+        </item>
+        <item>
+            <key> <string>matching_property</string> </key>
+            <value>
+              <tuple>
+                <string>resource</string>
+                <string>variation_category_list</string>
+                <string>variation_property_dict</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Invoice Simulation Rule</string> </value>
+        </item>
+        <item>
+            <key> <string>test_method_id</string> </key>
+            <value>
+              <tuple>
+                <string>SimulationMovement_testTestInvoiceSimulationRule</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>Test Invoice Simulation Rule</string> </value>
+        </item>
+        <item>
+            <key> <string>version</string> </key>
+            <value> <string>1</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="2" aka="AAAAAAAAAAI=">
+    <pickle>
+      <global name="Length" module="BTrees.Length"/>
+    </pickle>
+    <pickle> <int>0</int> </pickle>
+  </record>
+  <record id="3" aka="AAAAAAAAAAM=">
+    <pickle>
+      <global name="OOBTree" module="BTrees._OOBTree"/>
+    </pickle>
+    <pickle>
+      <none/>
+    </pickle>
+  </record>
+  <record id="4" aka="AAAAAAAAAAQ=">
+    <pickle>
+      <global name="OOBTree" module="BTrees._OOBTree"/>
+    </pickle>
+    <pickle>
+      <none/>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_simulation_performance_test/PathTemplateItem/portal_rules/test_invoice_simulation_rule/default_category_tester.xml b/bt5/erp5_simulation_performance_test/PathTemplateItem/portal_rules/test_invoice_simulation_rule/default_category_tester.xml
new file mode 100644
index 0000000000..6192378c52
--- /dev/null
+++ b/bt5/erp5_simulation_performance_test/PathTemplateItem/portal_rules/test_invoice_simulation_rule/default_category_tester.xml
@@ -0,0 +1,106 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="CategoryDivergenceTester" module="Products.ERP5Type.Document.CategoryDivergenceTester"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_count</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>_mt_index</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>_tree</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAQ=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>description</string> </key>
+            <value> <string>destination_decision and source_decision are omitted by intention.</string> </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>default_category_tester</string> </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Category Divergence Tester</string> </value>
+        </item>
+        <item>
+            <key> <string>solver</string> </key>
+            <value>
+              <tuple>
+                <string>CopyToTarget</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>tested_property</string> </key>
+            <value>
+              <tuple>
+                <string>aggregate | Aggregate</string>
+                <string>base_contribution | Base Contribution</string>
+                <string>delivery_mode | Delivery Mode</string>
+                <string>destination | Destination</string>
+                <string>destination_account | Destination Account</string>
+                <string>destination_administration | Destination Administration</string>
+                <string>destination_function | Destination Function</string>
+                <string>destination_payment | Destination Payment</string>
+                <string>destination_project | Destination Project</string>
+                <string>destination_section | Destination Section</string>
+                <string>incoterm | Incoterm</string>
+                <string>price_currency | Price Currency</string>
+                <string>resource | Resource</string>
+                <string>source | Source</string>
+                <string>source_account | Source Account</string>
+                <string>source_administration | Source Administration</string>
+                <string>source_function | Source Function</string>
+                <string>source_payment | Source Payment</string>
+                <string>source_project | Source Project</string>
+                <string>source_section | Source Section</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string></string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="2" aka="AAAAAAAAAAI=">
+    <pickle>
+      <global name="Length" module="BTrees.Length"/>
+    </pickle>
+    <pickle> <int>0</int> </pickle>
+  </record>
+  <record id="3" aka="AAAAAAAAAAM=">
+    <pickle>
+      <global name="OOBTree" module="BTrees._OOBTree"/>
+    </pickle>
+    <pickle>
+      <none/>
+    </pickle>
+  </record>
+  <record id="4" aka="AAAAAAAAAAQ=">
+    <pickle>
+      <global name="OOBTree" module="BTrees._OOBTree"/>
+    </pickle>
+    <pickle>
+      <none/>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_simulation_performance_test/PathTemplateItem/portal_rules/test_invoice_simulation_rule/default_property_tester.xml b/bt5/erp5_simulation_performance_test/PathTemplateItem/portal_rules/test_invoice_simulation_rule/default_property_tester.xml
new file mode 100644
index 0000000000..2ad7ef25e7
--- /dev/null
+++ b/bt5/erp5_simulation_performance_test/PathTemplateItem/portal_rules/test_invoice_simulation_rule/default_property_tester.xml
@@ -0,0 +1,115 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="PropertyDivergenceTester" module="Products.ERP5Type.Document.PropertyDivergenceTester"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_count</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>_local_properties</string> </key>
+            <value>
+              <tuple>
+                <dictionary>
+                  <item>
+                      <key> <string>id</string> </key>
+                      <value> <string>tested_property_list</string> </value>
+                  </item>
+                  <item>
+                      <key> <string>type</string> </key>
+                      <value> <string>string</string> </value>
+                  </item>
+                </dictionary>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>_mt_index</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>_tree</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAQ=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>description</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>default_property_tester</string> </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Property Divergence Tester</string> </value>
+        </item>
+        <item>
+            <key> <string>solver</string> </key>
+            <value>
+              <tuple>
+                <string>CopyToTarget</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>tested_property</string> </key>
+            <value>
+              <tuple>
+                <string>price | Price</string>
+                <string>efficiency | Efficiency</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>tested_property_list</string> </key>
+            <value>
+              <tuple>
+                <string>aaa</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string></string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="2" aka="AAAAAAAAAAI=">
+    <pickle>
+      <global name="Length" module="BTrees.Length"/>
+    </pickle>
+    <pickle> <int>0</int> </pickle>
+  </record>
+  <record id="3" aka="AAAAAAAAAAM=">
+    <pickle>
+      <global name="OOBTree" module="BTrees._OOBTree"/>
+    </pickle>
+    <pickle>
+      <none/>
+    </pickle>
+  </record>
+  <record id="4" aka="AAAAAAAAAAQ=">
+    <pickle>
+      <global name="OOBTree" module="BTrees._OOBTree"/>
+    </pickle>
+    <pickle>
+      <none/>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_simulation_performance_test/PathTemplateItem/portal_rules/test_invoice_simulation_rule/default_quantity_tester.xml b/bt5/erp5_simulation_performance_test/PathTemplateItem/portal_rules/test_invoice_simulation_rule/default_quantity_tester.xml
new file mode 100644
index 0000000000..fc509725a8
--- /dev/null
+++ b/bt5/erp5_simulation_performance_test/PathTemplateItem/portal_rules/test_invoice_simulation_rule/default_quantity_tester.xml
@@ -0,0 +1,94 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="QuantityDivergenceTester" module="Products.ERP5Type.Document.QuantityDivergenceTester"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_count</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>_mt_index</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>_tree</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAQ=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>description</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>default_quantity_tester</string> </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Quantity Divergence Tester</string> </value>
+        </item>
+        <item>
+            <key> <string>property_tester</string> </key>
+            <value> <string>quantity</string> </value>
+        </item>
+        <item>
+            <key> <string>solver</string> </key>
+            <value>
+              <tuple>
+                <string>SplitAndDefer</string>
+                <string>CopyToTarget</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>solver_list</string> </key>
+            <value>
+              <tuple>
+                <string>Solver</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string></string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="2" aka="AAAAAAAAAAI=">
+    <pickle>
+      <global name="Length" module="BTrees.Length"/>
+    </pickle>
+    <pickle> <int>0</int> </pickle>
+  </record>
+  <record id="3" aka="AAAAAAAAAAM=">
+    <pickle>
+      <global name="OOBTree" module="BTrees._OOBTree"/>
+    </pickle>
+    <pickle>
+      <none/>
+    </pickle>
+  </record>
+  <record id="4" aka="AAAAAAAAAAQ=">
+    <pickle>
+      <global name="OOBTree" module="BTrees._OOBTree"/>
+    </pickle>
+    <pickle>
+      <none/>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_simulation_performance_test/PathTemplateItem/portal_rules/test_order_root_simulation_rule.xml b/bt5/erp5_simulation_performance_test/PathTemplateItem/portal_rules/test_order_root_simulation_rule.xml
new file mode 100644
index 0000000000..ef6c3cdd02
--- /dev/null
+++ b/bt5/erp5_simulation_performance_test/PathTemplateItem/portal_rules/test_order_root_simulation_rule.xml
@@ -0,0 +1,183 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="OrderRootSimulationRule" module="Products.ERP5Type.Document.OrderRootSimulationRule"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_Add_portal_content_Permission</string> </key>
+            <value>
+              <tuple>
+                <string>Manager</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>_Delete_objects_Permission</string> </key>
+            <value>
+              <tuple>
+                <string>Manager</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>_Modify_portal_content_Permission</string> </key>
+            <value>
+              <tuple>
+                <string>Manager</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>_count</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>_identity_criterion</string> </key>
+            <value>
+              <dictionary/>
+            </value>
+        </item>
+        <item>
+            <key> <string>_mt_index</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>_range_criterion</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>start_date</string> </key>
+                    <value>
+                      <tuple>
+                        <none/>
+                        <none/>
+                      </tuple>
+                    </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>_tree</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAQ=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>categories</string> </key>
+            <value>
+              <tuple>
+                <string>trade_phase/order</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>default_reference</string> </key>
+            <value> <string>test_order_root_simulation_rule</string> </value>
+        </item>
+        <item>
+            <key> <string>description</string> </key>
+            <value> <string>In reality, the divergence testers defined here have no effect in legacy simulation, because root applied rules always copy and expand any changes from deliveries automatically.</string> </value>
+        </item>
+        <item>
+            <key> <string>expandable_property</string> </key>
+            <value>
+              <tuple>
+                <string>aggregate_list</string>
+                <string>base_contribution_list</string>
+                <string>delivery_mode</string>
+                <string>destination</string>
+                <string>destination_account</string>
+                <string>destination_administration</string>
+                <string>destination_decision</string>
+                <string>destination_function</string>
+                <string>destination_payment</string>
+                <string>destination_project</string>
+                <string>destination_section</string>
+                <string>incoterm</string>
+                <string>price</string>
+                <string>price_currency</string>
+                <string>quantity</string>
+                <string>quantity_unit</string>
+                <string>resource</string>
+                <string>source</string>
+                <string>source_account</string>
+                <string>source_administration</string>
+                <string>source_decision</string>
+                <string>source_function</string>
+                <string>source_payment</string>
+                <string>source_project</string>
+                <string>source_section</string>
+                <string>start_date</string>
+                <string>stop_date</string>
+                <string>variation_category_list</string>
+                <string>variation_property_dict</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>test_order_root_simulation_rule</string> </value>
+        </item>
+        <item>
+            <key> <string>matching_property</string> </key>
+            <value>
+              <tuple>
+                <string>delivery</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Order Root Simulation Rule</string> </value>
+        </item>
+        <item>
+            <key> <string>test_method_id</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>Test Order Root Simulation Rule</string> </value>
+        </item>
+        <item>
+            <key> <string>version</string> </key>
+            <value> <string>1</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="2" aka="AAAAAAAAAAI=">
+    <pickle>
+      <global name="Length" module="BTrees.Length"/>
+    </pickle>
+    <pickle> <int>0</int> </pickle>
+  </record>
+  <record id="3" aka="AAAAAAAAAAM=">
+    <pickle>
+      <global name="OOBTree" module="BTrees._OOBTree"/>
+    </pickle>
+    <pickle>
+      <none/>
+    </pickle>
+  </record>
+  <record id="4" aka="AAAAAAAAAAQ=">
+    <pickle>
+      <global name="OOBTree" module="BTrees._OOBTree"/>
+    </pickle>
+    <pickle>
+      <none/>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_simulation_performance_test/PathTemplateItem/portal_rules/test_order_root_simulation_rule/default_category_tester.xml b/bt5/erp5_simulation_performance_test/PathTemplateItem/portal_rules/test_order_root_simulation_rule/default_category_tester.xml
new file mode 100644
index 0000000000..aeabbc3468
--- /dev/null
+++ b/bt5/erp5_simulation_performance_test/PathTemplateItem/portal_rules/test_order_root_simulation_rule/default_category_tester.xml
@@ -0,0 +1,110 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="CategoryDivergenceTester" module="Products.ERP5Type.Document.CategoryDivergenceTester"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_count</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>_mt_index</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>_tree</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAQ=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>description</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>default_category_tester</string> </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Category Divergence Tester</string> </value>
+        </item>
+        <item>
+            <key> <string>solver</string> </key>
+            <value>
+              <tuple>
+                <string>CopyToTarget</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>tested_property</string> </key>
+            <value>
+              <tuple>
+                <string>aggregate | Aggregate</string>
+                <string>base_contribution | Base Contribution</string>
+                <string>delivery_mode | Delivery Mode</string>
+                <string>destination | Destination</string>
+                <string>destination_account | Destination Account</string>
+                <string>destination_administration | Destination Administration</string>
+                <string>destination_decision | Destination Decision</string>
+                <string>destination_function | Destination Function</string>
+                <string>destination_payment | Destination Payment</string>
+                <string>destination_project | Destination Project</string>
+                <string>destination_section | Destination Section</string>
+                <string>incoterm | Incoterm</string>
+                <string>price_currency | Price Currency</string>
+                <string>resource | Resource</string>
+                <string>source | Source</string>
+                <string>source_account | Source Account</string>
+                <string>source_administration | Source Administration</string>
+                <string>source_decision | Source Decision</string>
+                <string>source_function | Source Function</string>
+                <string>source_payment | Source Payment</string>
+                <string>source_project | Source Project</string>
+                <string>source_section | Source Section</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string></string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="2" aka="AAAAAAAAAAI=">
+    <pickle>
+      <global name="Length" module="BTrees.Length"/>
+    </pickle>
+    <pickle> <int>0</int> </pickle>
+  </record>
+  <record id="3" aka="AAAAAAAAAAM=">
+    <pickle>
+      <global name="OOBTree" module="BTrees._OOBTree"/>
+    </pickle>
+    <pickle>
+      <none/>
+    </pickle>
+  </record>
+  <record id="4" aka="AAAAAAAAAAQ=">
+    <pickle>
+      <global name="OOBTree" module="BTrees._OOBTree"/>
+    </pickle>
+    <pickle>
+      <none/>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_simulation_performance_test/PathTemplateItem/portal_rules/test_order_root_simulation_rule/default_property_tester.xml b/bt5/erp5_simulation_performance_test/PathTemplateItem/portal_rules/test_order_root_simulation_rule/default_property_tester.xml
new file mode 100644
index 0000000000..6937ed4279
--- /dev/null
+++ b/bt5/erp5_simulation_performance_test/PathTemplateItem/portal_rules/test_order_root_simulation_rule/default_property_tester.xml
@@ -0,0 +1,116 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="PropertyDivergenceTester" module="Products.ERP5Type.Document.PropertyDivergenceTester"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_count</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>_local_properties</string> </key>
+            <value>
+              <tuple>
+                <dictionary>
+                  <item>
+                      <key> <string>id</string> </key>
+                      <value> <string>tested_property_list</string> </value>
+                  </item>
+                  <item>
+                      <key> <string>type</string> </key>
+                      <value> <string>string</string> </value>
+                  </item>
+                </dictionary>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>_mt_index</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>_tree</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAQ=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>description</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>default_property_tester</string> </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Property Divergence Tester</string> </value>
+        </item>
+        <item>
+            <key> <string>solver</string> </key>
+            <value>
+              <tuple>
+                <string>CopyToTarget</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>tested_property</string> </key>
+            <value>
+              <tuple>
+                <string>start_date | Start Date</string>
+                <string>stop_date | Stop Date</string>
+                <string>Price | Price</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>tested_property_list</string> </key>
+            <value>
+              <tuple>
+                <string>aaa</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string></string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="2" aka="AAAAAAAAAAI=">
+    <pickle>
+      <global name="Length" module="BTrees.Length"/>
+    </pickle>
+    <pickle> <int>0</int> </pickle>
+  </record>
+  <record id="3" aka="AAAAAAAAAAM=">
+    <pickle>
+      <global name="OOBTree" module="BTrees._OOBTree"/>
+    </pickle>
+    <pickle>
+      <none/>
+    </pickle>
+  </record>
+  <record id="4" aka="AAAAAAAAAAQ=">
+    <pickle>
+      <global name="OOBTree" module="BTrees._OOBTree"/>
+    </pickle>
+    <pickle>
+      <none/>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_simulation_performance_test/PathTemplateItem/portal_rules/test_order_root_simulation_rule/default_quantity_tester.xml b/bt5/erp5_simulation_performance_test/PathTemplateItem/portal_rules/test_order_root_simulation_rule/default_quantity_tester.xml
new file mode 100644
index 0000000000..35a323fb8c
--- /dev/null
+++ b/bt5/erp5_simulation_performance_test/PathTemplateItem/portal_rules/test_order_root_simulation_rule/default_quantity_tester.xml
@@ -0,0 +1,106 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="QuantityDivergenceTester" module="Products.ERP5Type.Document.QuantityDivergenceTester"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_count</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>_mt_index</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>_tree</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAQ=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>description</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>default_quantity_tester</string> </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Quantity Divergence Tester</string> </value>
+        </item>
+        <item>
+            <key> <string>property_tester</string> </key>
+            <value> <string>quantity</string> </value>
+        </item>
+        <item>
+            <key> <string>solver</string> </key>
+            <value>
+              <tuple>
+                <string>SplitAndDefer</string>
+                <string>CopyToTarget</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>solver_list</string> </key>
+            <value>
+              <tuple>
+                <string>Solver</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>solver_script</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+        <item>
+            <key> <string>tested_property</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string></string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="2" aka="AAAAAAAAAAI=">
+    <pickle>
+      <global name="Length" module="BTrees.Length"/>
+    </pickle>
+    <pickle> <int>0</int> </pickle>
+  </record>
+  <record id="3" aka="AAAAAAAAAAM=">
+    <pickle>
+      <global name="OOBTree" module="BTrees._OOBTree"/>
+    </pickle>
+    <pickle>
+      <none/>
+    </pickle>
+  </record>
+  <record id="4" aka="AAAAAAAAAAQ=">
+    <pickle>
+      <global name="OOBTree" module="BTrees._OOBTree"/>
+    </pickle>
+    <pickle>
+      <none/>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_simulation_performance_test/PathTemplateItem/portal_rules/test_packing_list_root_simulation_rule.xml b/bt5/erp5_simulation_performance_test/PathTemplateItem/portal_rules/test_packing_list_root_simulation_rule.xml
new file mode 100644
index 0000000000..61c247f275
--- /dev/null
+++ b/bt5/erp5_simulation_performance_test/PathTemplateItem/portal_rules/test_packing_list_root_simulation_rule.xml
@@ -0,0 +1,174 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="DeliveryRootSimulationRule" module="Products.ERP5Type.Document.DeliveryRootSimulationRule"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_Add_portal_content_Permission</string> </key>
+            <value>
+              <tuple>
+                <string>Manager</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>_Delete_objects_Permission</string> </key>
+            <value>
+              <tuple>
+                <string>Manager</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>_Modify_portal_content_Permission</string> </key>
+            <value>
+              <tuple>
+                <string>Manager</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>_count</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>_identity_criterion</string> </key>
+            <value>
+              <dictionary/>
+            </value>
+        </item>
+        <item>
+            <key> <string>_mt_index</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>_range_criterion</string> </key>
+            <value>
+              <dictionary/>
+            </value>
+        </item>
+        <item>
+            <key> <string>_tree</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAQ=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>categories</string> </key>
+            <value>
+              <tuple>
+                <string>trade_phase/shipping</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>default_reference</string> </key>
+            <value> <string>test_packing_list_root_simulation_rule</string> </value>
+        </item>
+        <item>
+            <key> <string>description</string> </key>
+            <value> <string>In reality, the divergence testers defined here have no effect in legacy simulation, because root applied rules always copy and expand any changes from deliveries automatically.</string> </value>
+        </item>
+        <item>
+            <key> <string>expandable_property</string> </key>
+            <value>
+              <tuple>
+                <string>source</string>
+                <string>source_section</string>
+                <string>source_decision</string>
+                <string>source_administration</string>
+                <string>source_project</string>
+                <string>source_function</string>
+                <string>source_payment</string>
+                <string>source_account</string>
+                <string>destination</string>
+                <string>destination_section</string>
+                <string>destination_decision</string>
+                <string>destination_administration</string>
+                <string>destination_project</string>
+                <string>destination_function</string>
+                <string>destination_payment</string>
+                <string>destination_account</string>
+                <string>start_date</string>
+                <string>stop_date</string>
+                <string>resource</string>
+                <string>variation_category_list</string>
+                <string>variation_property_dict</string>
+                <string>delivery_mode</string>
+                <string>incoterm</string>
+                <string>base_contribution_list</string>
+                <string>aggregate_list</string>
+                <string>quantity</string>
+                <string>quantity_unit</string>
+                <string>price</string>
+                <string>price_currency</string>
+                <string>efficiency</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>test_packing_list_root_simulation_rule</string> </value>
+        </item>
+        <item>
+            <key> <string>matching_property</string> </key>
+            <value>
+              <tuple>
+                <string>delivery</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Delivery Root Simulation Rule</string> </value>
+        </item>
+        <item>
+            <key> <string>test_method_id</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>Test Packing List Root Simulation Rule</string> </value>
+        </item>
+        <item>
+            <key> <string>version</string> </key>
+            <value> <string>1</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="2" aka="AAAAAAAAAAI=">
+    <pickle>
+      <global name="Length" module="BTrees.Length"/>
+    </pickle>
+    <pickle> <int>0</int> </pickle>
+  </record>
+  <record id="3" aka="AAAAAAAAAAM=">
+    <pickle>
+      <global name="OOBTree" module="BTrees._OOBTree"/>
+    </pickle>
+    <pickle>
+      <none/>
+    </pickle>
+  </record>
+  <record id="4" aka="AAAAAAAAAAQ=">
+    <pickle>
+      <global name="OOBTree" module="BTrees._OOBTree"/>
+    </pickle>
+    <pickle>
+      <none/>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_simulation_performance_test/PathTemplateItem/portal_rules/test_packing_list_root_simulation_rule/default_category_tester.xml b/bt5/erp5_simulation_performance_test/PathTemplateItem/portal_rules/test_packing_list_root_simulation_rule/default_category_tester.xml
new file mode 100644
index 0000000000..5e18f59505
--- /dev/null
+++ b/bt5/erp5_simulation_performance_test/PathTemplateItem/portal_rules/test_packing_list_root_simulation_rule/default_category_tester.xml
@@ -0,0 +1,112 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="CategoryDivergenceTester" module="Products.ERP5Type.Document.CategoryDivergenceTester"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_count</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>_mt_index</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>_tree</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAQ=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>description</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>default_category_tester</string> </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Category Divergence Tester</string> </value>
+        </item>
+        <item>
+            <key> <string>solver</string> </key>
+            <value>
+              <tuple>
+                <string>CopyToTarget</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>tested_property</string> </key>
+            <value>
+              <tuple>
+                <string>aggregate | Aggregate</string>
+                <string>base_contribution | Base Contribution</string>
+                <string>delivery_mode | Delivery Mode</string>
+                <string>destination | Destination</string>
+                <string>destination_account | Destination Account</string>
+                <string>destination_administration | Destination Administration</string>
+                <string>destination_decision | Destination Decision</string>
+                <string>destination_function | Destination Function</string>
+                <string>destination_payment | Destination Payment</string>
+                <string>destination_project | Destination Project</string>
+                <string>destination_section | Destination Section</string>
+                <string>efficiency | Efficiency</string>
+                <string>incoterm | Incoterm</string>
+                <string>price_currency | Price Currency</string>
+                <string>quantity_unit | Quantity Unit</string>
+                <string>resource | Resource</string>
+                <string>source | Source</string>
+                <string>source_account | Source Account</string>
+                <string>source_administration | Source Administration</string>
+                <string>source_decision | Source Decision</string>
+                <string>source_function | Source Function</string>
+                <string>source_payment | Source Payment</string>
+                <string>source_project | Source Project</string>
+                <string>source_section | Source Section</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string></string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="2" aka="AAAAAAAAAAI=">
+    <pickle>
+      <global name="Length" module="BTrees.Length"/>
+    </pickle>
+    <pickle> <int>0</int> </pickle>
+  </record>
+  <record id="3" aka="AAAAAAAAAAM=">
+    <pickle>
+      <global name="OOBTree" module="BTrees._OOBTree"/>
+    </pickle>
+    <pickle>
+      <none/>
+    </pickle>
+  </record>
+  <record id="4" aka="AAAAAAAAAAQ=">
+    <pickle>
+      <global name="OOBTree" module="BTrees._OOBTree"/>
+    </pickle>
+    <pickle>
+      <none/>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_simulation_performance_test/PathTemplateItem/portal_rules/test_packing_list_root_simulation_rule/default_property_tester.xml b/bt5/erp5_simulation_performance_test/PathTemplateItem/portal_rules/test_packing_list_root_simulation_rule/default_property_tester.xml
new file mode 100644
index 0000000000..cfa35068bf
--- /dev/null
+++ b/bt5/erp5_simulation_performance_test/PathTemplateItem/portal_rules/test_packing_list_root_simulation_rule/default_property_tester.xml
@@ -0,0 +1,116 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="PropertyDivergenceTester" module="Products.ERP5Type.Document.PropertyDivergenceTester"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_count</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>_local_properties</string> </key>
+            <value>
+              <tuple>
+                <dictionary>
+                  <item>
+                      <key> <string>id</string> </key>
+                      <value> <string>tested_property_list</string> </value>
+                  </item>
+                  <item>
+                      <key> <string>type</string> </key>
+                      <value> <string>string</string> </value>
+                  </item>
+                </dictionary>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>_mt_index</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>_tree</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAQ=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>description</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>default_property_tester</string> </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Property Divergence Tester</string> </value>
+        </item>
+        <item>
+            <key> <string>solver</string> </key>
+            <value>
+              <tuple>
+                <string>CopyToTarget</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>tested_property</string> </key>
+            <value>
+              <tuple>
+                <string>start_date | Start Date</string>
+                <string>stop_date | Stop Date</string>
+                <string>price | Price</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>tested_property_list</string> </key>
+            <value>
+              <tuple>
+                <string>aaa</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string></string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="2" aka="AAAAAAAAAAI=">
+    <pickle>
+      <global name="Length" module="BTrees.Length"/>
+    </pickle>
+    <pickle> <int>0</int> </pickle>
+  </record>
+  <record id="3" aka="AAAAAAAAAAM=">
+    <pickle>
+      <global name="OOBTree" module="BTrees._OOBTree"/>
+    </pickle>
+    <pickle>
+      <none/>
+    </pickle>
+  </record>
+  <record id="4" aka="AAAAAAAAAAQ=">
+    <pickle>
+      <global name="OOBTree" module="BTrees._OOBTree"/>
+    </pickle>
+    <pickle>
+      <none/>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_simulation_performance_test/PathTemplateItem/portal_rules/test_packing_list_root_simulation_rule/default_quantity_tester.xml b/bt5/erp5_simulation_performance_test/PathTemplateItem/portal_rules/test_packing_list_root_simulation_rule/default_quantity_tester.xml
new file mode 100644
index 0000000000..fc509725a8
--- /dev/null
+++ b/bt5/erp5_simulation_performance_test/PathTemplateItem/portal_rules/test_packing_list_root_simulation_rule/default_quantity_tester.xml
@@ -0,0 +1,94 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="QuantityDivergenceTester" module="Products.ERP5Type.Document.QuantityDivergenceTester"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_count</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>_mt_index</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>_tree</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAQ=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>description</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>default_quantity_tester</string> </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Quantity Divergence Tester</string> </value>
+        </item>
+        <item>
+            <key> <string>property_tester</string> </key>
+            <value> <string>quantity</string> </value>
+        </item>
+        <item>
+            <key> <string>solver</string> </key>
+            <value>
+              <tuple>
+                <string>SplitAndDefer</string>
+                <string>CopyToTarget</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>solver_list</string> </key>
+            <value>
+              <tuple>
+                <string>Solver</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string></string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="2" aka="AAAAAAAAAAI=">
+    <pickle>
+      <global name="Length" module="BTrees.Length"/>
+    </pickle>
+    <pickle> <int>0</int> </pickle>
+  </record>
+  <record id="3" aka="AAAAAAAAAAM=">
+    <pickle>
+      <global name="OOBTree" module="BTrees._OOBTree"/>
+    </pickle>
+    <pickle>
+      <none/>
+    </pickle>
+  </record>
+  <record id="4" aka="AAAAAAAAAAQ=">
+    <pickle>
+      <global name="OOBTree" module="BTrees._OOBTree"/>
+    </pickle>
+    <pickle>
+      <none/>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_simulation_performance_test/PathTemplateItem/portal_rules/test_packing_list_simulation_rule.xml b/bt5/erp5_simulation_performance_test/PathTemplateItem/portal_rules/test_packing_list_simulation_rule.xml
new file mode 100644
index 0000000000..819b5a09d5
--- /dev/null
+++ b/bt5/erp5_simulation_performance_test/PathTemplateItem/portal_rules/test_packing_list_simulation_rule.xml
@@ -0,0 +1,203 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="DeliverySimulationRule" module="Products.ERP5Type.Document.DeliverySimulationRule"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_Add_portal_content_Permission</string> </key>
+            <value>
+              <tuple>
+                <string>Manager</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>_Delete_objects_Permission</string> </key>
+            <value>
+              <tuple>
+                <string>Manager</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>_Modify_portal_content_Permission</string> </key>
+            <value>
+              <tuple>
+                <string>Manager</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>_count</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>_identity_criterion</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>portal_type</string> </key>
+                    <value>
+                      <list>
+                        <string>Simulation Movement</string>
+                      </list>
+                    </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>_mt_index</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>_range_criterion</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>start_date</string> </key>
+                    <value>
+                      <tuple>
+                        <none/>
+                        <none/>
+                      </tuple>
+                    </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>_tree</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAQ=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>categories</string> </key>
+            <value>
+              <tuple>
+                <string>trade_phase/shipping</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>criterion_property</string> </key>
+            <value>
+              <tuple>
+                <string>portal_type</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>default_reference</string> </key>
+            <value> <string>test_packing_list_simulation_rule</string> </value>
+        </item>
+        <item>
+            <key> <string>description</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>expandable_property</string> </key>
+            <value>
+              <tuple>
+                <string>source</string>
+                <string>source_section</string>
+                <string>source_decision</string>
+                <string>source_administration</string>
+                <string>source_project</string>
+                <string>source_function</string>
+                <string>source_payment</string>
+                <string>source_account</string>
+                <string>destination</string>
+                <string>destination_section</string>
+                <string>destination_decision</string>
+                <string>destination_administration</string>
+                <string>destination_project</string>
+                <string>destination_function</string>
+                <string>destination_payment</string>
+                <string>destination_account</string>
+                <string>start_date</string>
+                <string>stop_date</string>
+                <string>resource</string>
+                <string>variation_category_list</string>
+                <string>variation_property_dict</string>
+                <string>delivery_mode</string>
+                <string>incoterm</string>
+                <string>base_contribution_list</string>
+                <string>aggregate_list</string>
+                <string>quantity</string>
+                <string>quantity_unit</string>
+                <string>price</string>
+                <string>price_currency</string>
+                <string>efficiency</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>test_packing_list_simulation_rule</string> </value>
+        </item>
+        <item>
+            <key> <string>matching_property</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Delivery Simulation Rule</string> </value>
+        </item>
+        <item>
+            <key> <string>test_method_id</string> </key>
+            <value>
+              <tuple>
+                <string>SimulationMovement_testTestPackingListSimulationRule</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>Test Packing List Simulation Rule</string> </value>
+        </item>
+        <item>
+            <key> <string>version</string> </key>
+            <value> <string>1</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="2" aka="AAAAAAAAAAI=">
+    <pickle>
+      <global name="Length" module="BTrees.Length"/>
+    </pickle>
+    <pickle> <int>0</int> </pickle>
+  </record>
+  <record id="3" aka="AAAAAAAAAAM=">
+    <pickle>
+      <global name="OOBTree" module="BTrees._OOBTree"/>
+    </pickle>
+    <pickle>
+      <none/>
+    </pickle>
+  </record>
+  <record id="4" aka="AAAAAAAAAAQ=">
+    <pickle>
+      <global name="OOBTree" module="BTrees._OOBTree"/>
+    </pickle>
+    <pickle>
+      <none/>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_simulation_performance_test/PathTemplateItem/portal_rules/test_packing_list_simulation_rule/default_category_tester.xml b/bt5/erp5_simulation_performance_test/PathTemplateItem/portal_rules/test_packing_list_simulation_rule/default_category_tester.xml
new file mode 100644
index 0000000000..5593af2fb1
--- /dev/null
+++ b/bt5/erp5_simulation_performance_test/PathTemplateItem/portal_rules/test_packing_list_simulation_rule/default_category_tester.xml
@@ -0,0 +1,108 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="CategoryDivergenceTester" module="Products.ERP5Type.Document.CategoryDivergenceTester"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_count</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>_mt_index</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>_tree</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAQ=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>description</string> </key>
+            <value> <string>destination_decision and source_decision are omitted by intention.</string> </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>default_category_tester</string> </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Category Divergence Tester</string> </value>
+        </item>
+        <item>
+            <key> <string>solver</string> </key>
+            <value>
+              <tuple>
+                <string>CopyToTarget</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>tested_property</string> </key>
+            <value>
+              <tuple>
+                <string>aggregate | Aggregate</string>
+                <string>base_contribution | Base Contribution</string>
+                <string>delivery_mode | Delivery Mode</string>
+                <string>destination | Destination</string>
+                <string>destination_account | Destination Account</string>
+                <string>destination_administration | Destination Administration</string>
+                <string>destination_function | Destination Function</string>
+                <string>destination_payment | Destination Payment</string>
+                <string>destination_project | Destination Project</string>
+                <string>destination_section | Destination Section</string>
+                <string>efficiency | Efficiency</string>
+                <string>incoterm | Incoterm</string>
+                <string>price_currency | Price Currency</string>
+                <string>quantity_unit | Quantity Unit</string>
+                <string>resource | Resource</string>
+                <string>source | Source</string>
+                <string>source_account | Source Account</string>
+                <string>source_administration | Source Administration</string>
+                <string>source_function | Source Function</string>
+                <string>source_payment | Source Payment</string>
+                <string>source_project | Source Project</string>
+                <string>source_section | Source Section</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string></string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="2" aka="AAAAAAAAAAI=">
+    <pickle>
+      <global name="Length" module="BTrees.Length"/>
+    </pickle>
+    <pickle> <int>0</int> </pickle>
+  </record>
+  <record id="3" aka="AAAAAAAAAAM=">
+    <pickle>
+      <global name="OOBTree" module="BTrees._OOBTree"/>
+    </pickle>
+    <pickle>
+      <none/>
+    </pickle>
+  </record>
+  <record id="4" aka="AAAAAAAAAAQ=">
+    <pickle>
+      <global name="OOBTree" module="BTrees._OOBTree"/>
+    </pickle>
+    <pickle>
+      <none/>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_simulation_performance_test/PathTemplateItem/portal_rules/test_packing_list_simulation_rule/default_property_tester.xml b/bt5/erp5_simulation_performance_test/PathTemplateItem/portal_rules/test_packing_list_simulation_rule/default_property_tester.xml
new file mode 100644
index 0000000000..785eaaea05
--- /dev/null
+++ b/bt5/erp5_simulation_performance_test/PathTemplateItem/portal_rules/test_packing_list_simulation_rule/default_property_tester.xml
@@ -0,0 +1,117 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="PropertyDivergenceTester" module="Products.ERP5Type.Document.PropertyDivergenceTester"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_count</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>_local_properties</string> </key>
+            <value>
+              <tuple>
+                <dictionary>
+                  <item>
+                      <key> <string>id</string> </key>
+                      <value> <string>tested_property_list</string> </value>
+                  </item>
+                  <item>
+                      <key> <string>type</string> </key>
+                      <value> <string>string</string> </value>
+                  </item>
+                </dictionary>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>_mt_index</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>_tree</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAQ=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>description</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>default_property_tester</string> </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Property Divergence Tester</string> </value>
+        </item>
+        <item>
+            <key> <string>solver</string> </key>
+            <value>
+              <tuple>
+                <string>CopyToTarget</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>tested_property</string> </key>
+            <value>
+              <tuple>
+                <string>start_date | Start Date</string>
+                <string>stop_date | Stop Date</string>
+                <string>price | Price</string>
+                <string>efficiency | Efficiency</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>tested_property_list</string> </key>
+            <value>
+              <tuple>
+                <string>aaa</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string></string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="2" aka="AAAAAAAAAAI=">
+    <pickle>
+      <global name="Length" module="BTrees.Length"/>
+    </pickle>
+    <pickle> <int>0</int> </pickle>
+  </record>
+  <record id="3" aka="AAAAAAAAAAM=">
+    <pickle>
+      <global name="OOBTree" module="BTrees._OOBTree"/>
+    </pickle>
+    <pickle>
+      <none/>
+    </pickle>
+  </record>
+  <record id="4" aka="AAAAAAAAAAQ=">
+    <pickle>
+      <global name="OOBTree" module="BTrees._OOBTree"/>
+    </pickle>
+    <pickle>
+      <none/>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_simulation_performance_test/PathTemplateItem/portal_rules/test_packing_list_simulation_rule/default_quantity_tester.xml b/bt5/erp5_simulation_performance_test/PathTemplateItem/portal_rules/test_packing_list_simulation_rule/default_quantity_tester.xml
new file mode 100644
index 0000000000..fc509725a8
--- /dev/null
+++ b/bt5/erp5_simulation_performance_test/PathTemplateItem/portal_rules/test_packing_list_simulation_rule/default_quantity_tester.xml
@@ -0,0 +1,94 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="QuantityDivergenceTester" module="Products.ERP5Type.Document.QuantityDivergenceTester"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_count</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>_mt_index</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>_tree</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAQ=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>description</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>default_quantity_tester</string> </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Quantity Divergence Tester</string> </value>
+        </item>
+        <item>
+            <key> <string>property_tester</string> </key>
+            <value> <string>quantity</string> </value>
+        </item>
+        <item>
+            <key> <string>solver</string> </key>
+            <value>
+              <tuple>
+                <string>SplitAndDefer</string>
+                <string>CopyToTarget</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>solver_list</string> </key>
+            <value>
+              <tuple>
+                <string>Solver</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string></string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="2" aka="AAAAAAAAAAI=">
+    <pickle>
+      <global name="Length" module="BTrees.Length"/>
+    </pickle>
+    <pickle> <int>0</int> </pickle>
+  </record>
+  <record id="3" aka="AAAAAAAAAAM=">
+    <pickle>
+      <global name="OOBTree" module="BTrees._OOBTree"/>
+    </pickle>
+    <pickle>
+      <none/>
+    </pickle>
+  </record>
+  <record id="4" aka="AAAAAAAAAAQ=">
+    <pickle>
+      <global name="OOBTree" module="BTrees._OOBTree"/>
+    </pickle>
+    <pickle>
+      <none/>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_simulation_performance_test/PathTemplateItem/portal_rules/test_trade_model_rule.xml b/bt5/erp5_simulation_performance_test/PathTemplateItem/portal_rules/test_trade_model_rule.xml
new file mode 100644
index 0000000000..57a1436215
--- /dev/null
+++ b/bt5/erp5_simulation_performance_test/PathTemplateItem/portal_rules/test_trade_model_rule.xml
@@ -0,0 +1,215 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="TradeModelSimulationRule" module="Products.ERP5Type.Document.TradeModelSimulationRule"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_Add_portal_content_Permission</string> </key>
+            <value>
+              <tuple>
+                <string>Manager</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>_Delete_objects_Permission</string> </key>
+            <value>
+              <tuple>
+                <string>Manager</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>_Modify_portal_content_Permission</string> </key>
+            <value>
+              <tuple>
+                <string>Manager</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>_count</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>_identity_criterion</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>portal_type</string> </key>
+                    <value>
+                      <list>
+                        <string>Simulation Movement</string>
+                      </list>
+                    </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>_local_properties</string> </key>
+            <value>
+              <tuple>
+                <dictionary>
+                  <item>
+                      <key> <string>id</string> </key>
+                      <value> <string>expandable_property_list</string> </value>
+                  </item>
+                  <item>
+                      <key> <string>type</string> </key>
+                      <value> <string>lines</string> </value>
+                  </item>
+                </dictionary>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>_mt_index</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>_range_criterion</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>start_date</string> </key>
+                    <value>
+                      <tuple>
+                        <none/>
+                        <none/>
+                      </tuple>
+                    </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>_tree</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAQ=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>categories</string> </key>
+            <value>
+              <tuple>
+                <string>trade_phase/tax</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>criterion_property</string> </key>
+            <value>
+              <tuple>
+                <string>portal_type</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>default_reference</string> </key>
+            <value> <string>test_trade_model_rule</string> </value>
+        </item>
+        <item>
+            <key> <string>description</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>expandable_property</string> </key>
+            <value>
+              <tuple>
+                <string>aggregate_list</string>
+                <string>delivery_mode_list</string>
+                <string>destination_account_list</string>
+                <string>destination_administration_list</string>
+                <string>destination_decision_list</string>
+                <string>destination_function_list</string>
+                <string>destination_list</string>
+                <string>destination_payment_list</string>
+                <string>destination_section_list</string>
+                <string>incoterm_list</string>
+                <string>price_currency_list</string>
+                <string>resource_list</string>
+                <string>source_account_list</string>
+                <string>source_administration_list</string>
+                <string>source_decision_list</string>
+                <string>source_function_list</string>
+                <string>source_list</string>
+                <string>source_payment_list</string>
+                <string>source_section_list</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>test_trade_model_rule</string> </value>
+        </item>
+        <item>
+            <key> <string>last_id</string> </key>
+            <value> <string>3</string> </value>
+        </item>
+        <item>
+            <key> <string>matching_property</string> </key>
+            <value>
+              <tuple>
+                <string>reference</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Trade Model Simulation Rule</string> </value>
+        </item>
+        <item>
+            <key> <string>test_method_id</string> </key>
+            <value>
+              <tuple>
+                <string>SimulationMovement_testTestTradeModelSimulationRule</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>Test Trade Model Simulation Rule</string> </value>
+        </item>
+        <item>
+            <key> <string>version</string> </key>
+            <value> <string>1</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="2" aka="AAAAAAAAAAI=">
+    <pickle>
+      <global name="Length" module="BTrees.Length"/>
+    </pickle>
+    <pickle> <int>0</int> </pickle>
+  </record>
+  <record id="3" aka="AAAAAAAAAAM=">
+    <pickle>
+      <global name="OOBTree" module="BTrees._OOBTree"/>
+    </pickle>
+    <pickle>
+      <none/>
+    </pickle>
+  </record>
+  <record id="4" aka="AAAAAAAAAAQ=">
+    <pickle>
+      <global name="OOBTree" module="BTrees._OOBTree"/>
+    </pickle>
+    <pickle>
+      <none/>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_simulation_performance_test/PathTemplateItem/portal_rules/test_trade_model_rule/default_category_tester.xml b/bt5/erp5_simulation_performance_test/PathTemplateItem/portal_rules/test_trade_model_rule/default_category_tester.xml
new file mode 100644
index 0000000000..13e72fad74
--- /dev/null
+++ b/bt5/erp5_simulation_performance_test/PathTemplateItem/portal_rules/test_trade_model_rule/default_category_tester.xml
@@ -0,0 +1,57 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="CategoryDivergenceTester" module="Products.ERP5Type.Document.CategoryDivergenceTester"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>description</string> </key>
+            <value> <string>destination_decision and source_decision are omitted by intention.</string> </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>default_category_tester</string> </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Category Divergence Tester</string> </value>
+        </item>
+        <item>
+            <key> <string>tested_property</string> </key>
+            <value>
+              <tuple>
+                <string>aggregate | Aggregate</string>
+                <string>base_application | Base Application</string>
+                <string>base_contribution | Base Contribution</string>
+                <string>delivery_mode | Delivery Mode</string>
+                <string>destination_account | Destination Account</string>
+                <string>destination | Destination</string>
+                <string>destination_function | Destination Function</string>
+                <string>destination_payment | Destination Payment</string>
+                <string>destination_project | Destination Project</string>
+                <string>destination_section | Destination Section</string>
+                <string>incoterm | Incoterm</string>
+                <string>price_currency | Price Currency</string>
+                <string>resource | Resource</string>
+                <string>source_account | Source Account</string>
+                <string>source_function | Source Function</string>
+                <string>source_payment | Source Payment</string>
+                <string>source_project | Source Project</string>
+                <string>source_section | Source Section</string>
+                <string>source | Source</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>default_category_tester</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_simulation_performance_test/PathTemplateItem/portal_rules/test_trade_model_rule/default_property_tester.xml b/bt5/erp5_simulation_performance_test/PathTemplateItem/portal_rules/test_trade_model_rule/default_property_tester.xml
new file mode 100644
index 0000000000..de298c73ac
--- /dev/null
+++ b/bt5/erp5_simulation_performance_test/PathTemplateItem/portal_rules/test_trade_model_rule/default_property_tester.xml
@@ -0,0 +1,43 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="PropertyDivergenceTester" module="Products.ERP5Type.Document.PropertyDivergenceTester"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>description</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>default_property_tester</string> </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Property Divergence Tester</string> </value>
+        </item>
+        <item>
+            <key> <string>tested_property</string> </key>
+            <value>
+              <tuple>
+                <string>start_date | Start Date</string>
+                <string>stop_date | Stop Date</string>
+                <string>price | Price</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>default_property_tester</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_simulation_performance_test/PathTemplateItem/portal_rules/test_trade_model_rule/default_quantity_tester.xml b/bt5/erp5_simulation_performance_test/PathTemplateItem/portal_rules/test_trade_model_rule/default_quantity_tester.xml
new file mode 100644
index 0000000000..e8d3126c84
--- /dev/null
+++ b/bt5/erp5_simulation_performance_test/PathTemplateItem/portal_rules/test_trade_model_rule/default_quantity_tester.xml
@@ -0,0 +1,45 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="QuantityDivergenceTester" module="Products.ERP5Type.Document.QuantityDivergenceTester"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>decimal_alignment_enabled</string> </key>
+            <value> <int>1</int> </value>
+        </item>
+        <item>
+            <key> <string>decimal_exponent</string> </key>
+            <value> <string>0.000001</string> </value>
+        </item>
+        <item>
+            <key> <string>decimal_rounding_option</string> </key>
+            <value> <string>ROUND_DOWN</string> </value>
+        </item>
+        <item>
+            <key> <string>description</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>default_quantity_tester</string> </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Quantity Divergence Tester</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>default_quantity_tester</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_simulation_performance_test/PathTemplateItem/product_module/commodity.xml b/bt5/erp5_simulation_performance_test/PathTemplateItem/product_module/commodity.xml
new file mode 100644
index 0000000000..cecc4b842e
--- /dev/null
+++ b/bt5/erp5_simulation_performance_test/PathTemplateItem/product_module/commodity.xml
@@ -0,0 +1,142 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="Resource" module="Products.ERP5Type.Document.Resource"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_Access_contents_information_Permission</string> </key>
+            <value>
+              <tuple>
+                <string>Assignee</string>
+                <string>Assignor</string>
+                <string>Associate</string>
+                <string>Auditor</string>
+                <string>Author</string>
+                <string>Manager</string>
+                <string>Owner</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>_Add_portal_content_Permission</string> </key>
+            <value>
+              <tuple>
+                <string>Assignee</string>
+                <string>Assignor</string>
+                <string>Associate</string>
+                <string>Author</string>
+                <string>Manager</string>
+                <string>Owner</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>_Modify_portal_content_Permission</string> </key>
+            <value>
+              <tuple>
+                <string>Assignee</string>
+                <string>Assignor</string>
+                <string>Associate</string>
+                <string>Author</string>
+                <string>Manager</string>
+                <string>Owner</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>_View_Permission</string> </key>
+            <value>
+              <tuple>
+                <string>Assignee</string>
+                <string>Assignor</string>
+                <string>Associate</string>
+                <string>Auditor</string>
+                <string>Author</string>
+                <string>Manager</string>
+                <string>Owner</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>_count</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>_mt_index</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>_tree</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAQ=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>categories</string> </key>
+            <value>
+              <tuple>
+                <string>quantity_unit/unit/piece</string>
+                <string>base_contribution/base_amount/tax/vat_low</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>comment</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>description</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>commodity</string> </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Product</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>Commodity</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="2" aka="AAAAAAAAAAI=">
+    <pickle>
+      <global name="Length" module="BTrees.Length"/>
+    </pickle>
+    <pickle> <int>0</int> </pickle>
+  </record>
+  <record id="3" aka="AAAAAAAAAAM=">
+    <pickle>
+      <global name="OOBTree" module="BTrees._OOBTree"/>
+    </pickle>
+    <pickle>
+      <none/>
+    </pickle>
+  </record>
+  <record id="4" aka="AAAAAAAAAAQ=">
+    <pickle>
+      <global name="OOBTree" module="BTrees._OOBTree"/>
+    </pickle>
+    <pickle>
+      <none/>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_simulation_performance_test/PathTemplateItem/product_module/commodity/default_ssl.xml b/bt5/erp5_simulation_performance_test/PathTemplateItem/product_module/commodity/default_ssl.xml
new file mode 100644
index 0000000000..007f4f9ebc
--- /dev/null
+++ b/bt5/erp5_simulation_performance_test/PathTemplateItem/product_module/commodity/default_ssl.xml
@@ -0,0 +1,160 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="SupplyLine" module="Products.ERP5Type.Document.SupplyLine"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_identity_criterion</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>_range_criterion</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>base_price</string> </key>
+            <value> <float>10.0</float> </value>
+        </item>
+        <item>
+            <key> <string>base_unit_price</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>categories</string> </key>
+            <value>
+              <tuple>
+                <string>resource/product_module/commodity</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>default_ssl</string> </value>
+        </item>
+        <item>
+            <key> <string>index</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAQ=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>mapped_value_property_list</string> </key>
+            <value>
+              <tuple>
+                <string>base_price</string>
+                <string>additional_price</string>
+                <string>discount_ratio</string>
+                <string>exclusive_discount_ratio</string>
+                <string>surcharge_ratio</string>
+                <string>variable_additional_price</string>
+                <string>non_discountable_additional_price</string>
+                <string>priced_quantity</string>
+                <string>base_unit_price</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Sale Supply Line</string> </value>
+        </item>
+        <item>
+            <key> <string>quantity_step</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="2" aka="AAAAAAAAAAI=">
+    <pickle>
+      <tuple>
+        <global name="PersistentMapping" module="Persistence.mapping"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>data</string> </key>
+            <value>
+              <dictionary/>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="3" aka="AAAAAAAAAAM=">
+    <pickle>
+      <tuple>
+        <global name="PersistentMapping" module="Persistence.mapping"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>data</string> </key>
+            <value>
+              <dictionary/>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="4" aka="AAAAAAAAAAQ=">
+    <pickle>
+      <tuple>
+        <global name="PersistentMapping" module="Persistence.mapping"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>data</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>path</string> </key>
+                    <value>
+                      <persistent> <string encoding="base64">AAAAAAAAAAU=</string> </persistent>
+                    </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="5" aka="AAAAAAAAAAU=">
+    <pickle>
+      <tuple>
+        <global name="PersistentMapping" module="Persistence.mapping"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>data</string> </key>
+            <value>
+              <dictionary/>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_simulation_performance_test/PathTemplateItem/product_module/luxury.xml b/bt5/erp5_simulation_performance_test/PathTemplateItem/product_module/luxury.xml
new file mode 100644
index 0000000000..98cf66c52b
--- /dev/null
+++ b/bt5/erp5_simulation_performance_test/PathTemplateItem/product_module/luxury.xml
@@ -0,0 +1,142 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="Resource" module="Products.ERP5Type.Document.Resource"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_Access_contents_information_Permission</string> </key>
+            <value>
+              <tuple>
+                <string>Assignee</string>
+                <string>Assignor</string>
+                <string>Associate</string>
+                <string>Auditor</string>
+                <string>Author</string>
+                <string>Manager</string>
+                <string>Owner</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>_Add_portal_content_Permission</string> </key>
+            <value>
+              <tuple>
+                <string>Assignee</string>
+                <string>Assignor</string>
+                <string>Associate</string>
+                <string>Author</string>
+                <string>Manager</string>
+                <string>Owner</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>_Modify_portal_content_Permission</string> </key>
+            <value>
+              <tuple>
+                <string>Assignee</string>
+                <string>Assignor</string>
+                <string>Associate</string>
+                <string>Author</string>
+                <string>Manager</string>
+                <string>Owner</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>_View_Permission</string> </key>
+            <value>
+              <tuple>
+                <string>Assignee</string>
+                <string>Assignor</string>
+                <string>Associate</string>
+                <string>Auditor</string>
+                <string>Author</string>
+                <string>Manager</string>
+                <string>Owner</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>_count</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>_mt_index</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>_tree</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAQ=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>categories</string> </key>
+            <value>
+              <tuple>
+                <string>quantity_unit/unit/piece</string>
+                <string>base_contribution/base_amount/tax/vat_high</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>comment</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>description</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>luxury</string> </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Product</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>Luxury</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="2" aka="AAAAAAAAAAI=">
+    <pickle>
+      <global name="Length" module="BTrees.Length"/>
+    </pickle>
+    <pickle> <int>0</int> </pickle>
+  </record>
+  <record id="3" aka="AAAAAAAAAAM=">
+    <pickle>
+      <global name="OOBTree" module="BTrees._OOBTree"/>
+    </pickle>
+    <pickle>
+      <none/>
+    </pickle>
+  </record>
+  <record id="4" aka="AAAAAAAAAAQ=">
+    <pickle>
+      <global name="OOBTree" module="BTrees._OOBTree"/>
+    </pickle>
+    <pickle>
+      <none/>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_simulation_performance_test/PathTemplateItem/product_module/luxury/default_ssl.xml b/bt5/erp5_simulation_performance_test/PathTemplateItem/product_module/luxury/default_ssl.xml
new file mode 100644
index 0000000000..0a7fd2f2b8
--- /dev/null
+++ b/bt5/erp5_simulation_performance_test/PathTemplateItem/product_module/luxury/default_ssl.xml
@@ -0,0 +1,160 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="SupplyLine" module="Products.ERP5Type.Document.SupplyLine"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_identity_criterion</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>_range_criterion</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>base_price</string> </key>
+            <value> <float>10000.0</float> </value>
+        </item>
+        <item>
+            <key> <string>base_unit_price</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>categories</string> </key>
+            <value>
+              <tuple>
+                <string>resource/product_module/luxury</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>default_ssl</string> </value>
+        </item>
+        <item>
+            <key> <string>index</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAQ=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>mapped_value_property_list</string> </key>
+            <value>
+              <tuple>
+                <string>base_price</string>
+                <string>additional_price</string>
+                <string>discount_ratio</string>
+                <string>exclusive_discount_ratio</string>
+                <string>surcharge_ratio</string>
+                <string>variable_additional_price</string>
+                <string>non_discountable_additional_price</string>
+                <string>priced_quantity</string>
+                <string>base_unit_price</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Sale Supply Line</string> </value>
+        </item>
+        <item>
+            <key> <string>quantity_step</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="2" aka="AAAAAAAAAAI=">
+    <pickle>
+      <tuple>
+        <global name="PersistentMapping" module="Persistence.mapping"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>data</string> </key>
+            <value>
+              <dictionary/>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="3" aka="AAAAAAAAAAM=">
+    <pickle>
+      <tuple>
+        <global name="PersistentMapping" module="Persistence.mapping"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>data</string> </key>
+            <value>
+              <dictionary/>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="4" aka="AAAAAAAAAAQ=">
+    <pickle>
+      <tuple>
+        <global name="PersistentMapping" module="Persistence.mapping"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>data</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>path</string> </key>
+                    <value>
+                      <persistent> <string encoding="base64">AAAAAAAAAAU=</string> </persistent>
+                    </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="5" aka="AAAAAAAAAAU=">
+    <pickle>
+      <tuple>
+        <global name="PersistentMapping" module="Persistence.mapping"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>data</string> </key>
+            <value>
+              <dictionary/>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_simulation_performance_test/PathTemplateItem/sale_trade_condition_module/test_stc.xml b/bt5/erp5_simulation_performance_test/PathTemplateItem/sale_trade_condition_module/test_stc.xml
new file mode 100644
index 0000000000..d65428309d
--- /dev/null
+++ b/bt5/erp5_simulation_performance_test/PathTemplateItem/sale_trade_condition_module/test_stc.xml
@@ -0,0 +1,206 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="TradeCondition" module="Products.ERP5Type.Document.TradeCondition"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_Access_contents_information_Permission</string> </key>
+            <value>
+              <tuple>
+                <string>Assignee</string>
+                <string>Assignor</string>
+                <string>Associate</string>
+                <string>Auditor</string>
+                <string>Author</string>
+                <string>Manager</string>
+                <string>Owner</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>_Add_portal_content_Permission</string> </key>
+            <value>
+              <tuple>
+                <string>Assignee</string>
+                <string>Assignor</string>
+                <string>Associate</string>
+                <string>Author</string>
+                <string>Manager</string>
+                <string>Owner</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>_Modify_portal_content_Permission</string> </key>
+            <value>
+              <tuple>
+                <string>Assignee</string>
+                <string>Assignor</string>
+                <string>Associate</string>
+                <string>Author</string>
+                <string>Manager</string>
+                <string>Owner</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>_View_Permission</string> </key>
+            <value>
+              <tuple>
+                <string>Assignee</string>
+                <string>Assignor</string>
+                <string>Associate</string>
+                <string>Auditor</string>
+                <string>Author</string>
+                <string>Manager</string>
+                <string>Owner</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>_count</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>_identity_criterion</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>_mt_index</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAQ=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>_range_criterion</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAU=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>_tree</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAY=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>categories</string> </key>
+            <value>
+              <tuple>
+                <string>specialise/business_process_module/test_bp</string>
+                <string>price_currency/currency_module/euro</string>
+                <string>source_section/organisation_module/supplier</string>
+                <string>source/organisation_module/supplier</string>
+                <string>destination_section/organisation_module/client</string>
+                <string>destination_decision/organisation_module/client</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>comment</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>default_reference</string> </key>
+            <value> <string>TEST_STC</string> </value>
+        </item>
+        <item>
+            <key> <string>description</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>test_stc</string> </value>
+        </item>
+        <item>
+            <key> <string>last_id</string> </key>
+            <value> <string>2</string> </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Sale Trade Condition</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>Test Sale Trade Condition</string> </value>
+        </item>
+        <item>
+            <key> <string>version</string> </key>
+            <value> <string>001</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="2" aka="AAAAAAAAAAI=">
+    <pickle>
+      <global name="Length" module="BTrees.Length"/>
+    </pickle>
+    <pickle> <int>0</int> </pickle>
+  </record>
+  <record id="3" aka="AAAAAAAAAAM=">
+    <pickle>
+      <tuple>
+        <global name="PersistentMapping" module="Persistence.mapping"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>data</string> </key>
+            <value>
+              <dictionary/>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="4" aka="AAAAAAAAAAQ=">
+    <pickle>
+      <global name="OOBTree" module="BTrees._OOBTree"/>
+    </pickle>
+    <pickle>
+      <none/>
+    </pickle>
+  </record>
+  <record id="5" aka="AAAAAAAAAAU=">
+    <pickle>
+      <tuple>
+        <global name="PersistentMapping" module="Persistence.mapping"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>data</string> </key>
+            <value>
+              <dictionary/>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="6" aka="AAAAAAAAAAY=">
+    <pickle>
+      <global name="OOBTree" module="BTrees._OOBTree"/>
+    </pickle>
+    <pickle>
+      <none/>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_simulation_performance_test/PathTemplateItem/sale_trade_condition_module/test_stc/1.xml b/bt5/erp5_simulation_performance_test/PathTemplateItem/sale_trade_condition_module/test_stc/1.xml
new file mode 100644
index 0000000000..60b57d9ad5
--- /dev/null
+++ b/bt5/erp5_simulation_performance_test/PathTemplateItem/sale_trade_condition_module/test_stc/1.xml
@@ -0,0 +1,109 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="TradeModelLine" module="Products.ERP5Type.Document.TradeModelLine"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_identity_criterion</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>_range_criterion</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>categories</string> </key>
+            <value>
+              <tuple>
+                <string>trade_phase/tax</string>
+                <string>base_application/base_amount/tax/vat_low</string>
+                <string>resource/service_module/vat_low</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>default_reference</string> </key>
+            <value> <string>vat_low</string> </value>
+        </item>
+        <item>
+            <key> <string>description</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>1</string> </value>
+        </item>
+        <item>
+            <key> <string>int_index</string> </key>
+            <value> <int>1</int> </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Trade Model Line</string> </value>
+        </item>
+        <item>
+            <key> <string>price</string> </key>
+            <value> <float>0.05</float> </value>
+        </item>
+        <item>
+            <key> <string>quantity</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>VAT Low</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="2" aka="AAAAAAAAAAI=">
+    <pickle>
+      <tuple>
+        <global name="PersistentMapping" module="Persistence.mapping"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>data</string> </key>
+            <value>
+              <dictionary/>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="3" aka="AAAAAAAAAAM=">
+    <pickle>
+      <tuple>
+        <global name="PersistentMapping" module="Persistence.mapping"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>data</string> </key>
+            <value>
+              <dictionary/>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_simulation_performance_test/PathTemplateItem/sale_trade_condition_module/test_stc/2.xml b/bt5/erp5_simulation_performance_test/PathTemplateItem/sale_trade_condition_module/test_stc/2.xml
new file mode 100644
index 0000000000..fd198c7e1f
--- /dev/null
+++ b/bt5/erp5_simulation_performance_test/PathTemplateItem/sale_trade_condition_module/test_stc/2.xml
@@ -0,0 +1,109 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="TradeModelLine" module="Products.ERP5Type.Document.TradeModelLine"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_identity_criterion</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>_range_criterion</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>categories</string> </key>
+            <value>
+              <tuple>
+                <string>trade_phase/tax</string>
+                <string>base_application/base_amount/tax/vat_high</string>
+                <string>resource/service_module/vat_high</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>default_reference</string> </key>
+            <value> <string>vat_high</string> </value>
+        </item>
+        <item>
+            <key> <string>description</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>2</string> </value>
+        </item>
+        <item>
+            <key> <string>int_index</string> </key>
+            <value> <int>2</int> </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Trade Model Line</string> </value>
+        </item>
+        <item>
+            <key> <string>price</string> </key>
+            <value> <float>0.2</float> </value>
+        </item>
+        <item>
+            <key> <string>quantity</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>VAT High</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="2" aka="AAAAAAAAAAI=">
+    <pickle>
+      <tuple>
+        <global name="PersistentMapping" module="Persistence.mapping"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>data</string> </key>
+            <value>
+              <dictionary/>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="3" aka="AAAAAAAAAAM=">
+    <pickle>
+      <tuple>
+        <global name="PersistentMapping" module="Persistence.mapping"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>data</string> </key>
+            <value>
+              <dictionary/>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_simulation_performance_test/PathTemplateItem/service_module/vat_high.xml b/bt5/erp5_simulation_performance_test/PathTemplateItem/service_module/vat_high.xml
new file mode 100644
index 0000000000..87a72177b8
--- /dev/null
+++ b/bt5/erp5_simulation_performance_test/PathTemplateItem/service_module/vat_high.xml
@@ -0,0 +1,93 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="Resource" module="Products.ERP5Type.Document.Resource"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_Access_contents_information_Permission</string> </key>
+            <value>
+              <tuple>
+                <string>Assignee</string>
+                <string>Assignor</string>
+                <string>Associate</string>
+                <string>Auditor</string>
+                <string>Author</string>
+                <string>Manager</string>
+                <string>Owner</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>_Add_portal_content_Permission</string> </key>
+            <value>
+              <tuple>
+                <string>Assignee</string>
+                <string>Assignor</string>
+                <string>Associate</string>
+                <string>Author</string>
+                <string>Manager</string>
+                <string>Owner</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>_Modify_portal_content_Permission</string> </key>
+            <value>
+              <tuple>
+                <string>Assignee</string>
+                <string>Assignor</string>
+                <string>Associate</string>
+                <string>Author</string>
+                <string>Manager</string>
+                <string>Owner</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>_View_Permission</string> </key>
+            <value>
+              <tuple>
+                <string>Assignee</string>
+                <string>Assignor</string>
+                <string>Associate</string>
+                <string>Auditor</string>
+                <string>Author</string>
+                <string>Manager</string>
+                <string>Owner</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>comment</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>description</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>vat_high</string> </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Service</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>VAT High</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_simulation_performance_test/PathTemplateItem/service_module/vat_low.xml b/bt5/erp5_simulation_performance_test/PathTemplateItem/service_module/vat_low.xml
new file mode 100644
index 0000000000..dd42923d5e
--- /dev/null
+++ b/bt5/erp5_simulation_performance_test/PathTemplateItem/service_module/vat_low.xml
@@ -0,0 +1,93 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="Resource" module="Products.ERP5Type.Document.Resource"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_Access_contents_information_Permission</string> </key>
+            <value>
+              <tuple>
+                <string>Assignee</string>
+                <string>Assignor</string>
+                <string>Associate</string>
+                <string>Auditor</string>
+                <string>Author</string>
+                <string>Manager</string>
+                <string>Owner</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>_Add_portal_content_Permission</string> </key>
+            <value>
+              <tuple>
+                <string>Assignee</string>
+                <string>Assignor</string>
+                <string>Associate</string>
+                <string>Author</string>
+                <string>Manager</string>
+                <string>Owner</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>_Modify_portal_content_Permission</string> </key>
+            <value>
+              <tuple>
+                <string>Assignee</string>
+                <string>Assignor</string>
+                <string>Associate</string>
+                <string>Author</string>
+                <string>Manager</string>
+                <string>Owner</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>_View_Permission</string> </key>
+            <value>
+              <tuple>
+                <string>Assignee</string>
+                <string>Assignor</string>
+                <string>Associate</string>
+                <string>Auditor</string>
+                <string>Author</string>
+                <string>Manager</string>
+                <string>Owner</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>comment</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>description</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>vat_low</string> </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Service</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>VAT Low</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_simulation_performance_test/PortalTypeWorkflowChainTemplateItem/workflow_chain_type.xml b/bt5/erp5_simulation_performance_test/PortalTypeWorkflowChainTemplateItem/workflow_chain_type.xml
new file mode 100644
index 0000000000..8376fba423
--- /dev/null
+++ b/bt5/erp5_simulation_performance_test/PortalTypeWorkflowChainTemplateItem/workflow_chain_type.xml
@@ -0,0 +1,14 @@
+<workflow_chain>
+ <chain>
+  <type>Sale Invoice</type>
+  <workflow>-invoice_workflow, test_invoice_workflow</workflow>
+ </chain>
+ <chain>
+  <type>Sale Order</type>
+  <workflow>-order_workflow, test_order_workflow</workflow>
+ </chain>
+ <chain>
+  <type>Sale Packing List</type>
+  <workflow>-packing_list_workflow, test_packing_list_workflow</workflow>
+ </chain>
+</workflow_chain>
\ No newline at end of file
diff --git a/bt5/erp5_simulation_performance_test/SkinTemplateItem/portal_skins/erp5_simulation_performance_test.xml b/bt5/erp5_simulation_performance_test/SkinTemplateItem/portal_skins/erp5_simulation_performance_test.xml
new file mode 100644
index 0000000000..dc79be142e
--- /dev/null
+++ b/bt5/erp5_simulation_performance_test/SkinTemplateItem/portal_skins/erp5_simulation_performance_test.xml
@@ -0,0 +1,50 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="Folder" module="OFS.Folder"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_local_properties</string> </key>
+            <value>
+              <tuple>
+                <dictionary>
+                  <item>
+                      <key> <string>id</string> </key>
+                      <value> <string>business_template_skin_layer_priority</string> </value>
+                  </item>
+                  <item>
+                      <key> <string>type</string> </key>
+                      <value> <string>float</string> </value>
+                  </item>
+                </dictionary>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>_objects</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+        <item>
+            <key> <string>business_template_skin_layer_priority</string> </key>
+            <value> <float>10.0</float> </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>erp5_simulation_performance_test</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string></string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_simulation_performance_test/SkinTemplateItem/portal_skins/erp5_simulation_performance_test/Alarm_activateTestInvoiceBuild.xml b/bt5/erp5_simulation_performance_test/SkinTemplateItem/portal_skins/erp5_simulation_performance_test/Alarm_activateTestInvoiceBuild.xml
new file mode 100644
index 0000000000..305c69e8f5
--- /dev/null
+++ b/bt5/erp5_simulation_performance_test/SkinTemplateItem/portal_skins/erp5_simulation_performance_test/Alarm_activateTestInvoiceBuild.xml
@@ -0,0 +1,156 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>Script_magic</string> </key>
+            <value> <int>3</int> </value>
+        </item>
+        <item>
+            <key> <string>_bind_names</string> </key>
+            <value>
+              <object>
+                <klass>
+                  <global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/>
+                </klass>
+                <tuple/>
+                <state>
+                  <dictionary>
+                    <item>
+                        <key> <string>_asgns</string> </key>
+                        <value>
+                          <dictionary>
+                            <item>
+                                <key> <string>name_container</string> </key>
+                                <value> <string>container</string> </value>
+                            </item>
+                            <item>
+                                <key> <string>name_context</string> </key>
+                                <value> <string>context</string> </value>
+                            </item>
+                            <item>
+                                <key> <string>name_m_self</string> </key>
+                                <value> <string>script</string> </value>
+                            </item>
+                            <item>
+                                <key> <string>name_subpath</string> </key>
+                                <value> <string>traverse_subpath</string> </value>
+                            </item>
+                          </dictionary>
+                        </value>
+                    </item>
+                  </dictionary>
+                </state>
+              </object>
+            </value>
+        </item>
+        <item>
+            <key> <string>_body</string> </key>
+            <value> <string>from DateTime import DateTime\n
+\n
+now = DateTime().timeTime()\n
+module = context.getPortalObject().business_process_module\n
+business_process = module.test_business_process\n
+invoice_business_path = business_process.invoice\n
+invoice_builder = invoice_business_path.getDeliveryBuilderValue()\n
+tax_business_path = business_process.tax\n
+tax_builder = tax_business_path.getDeliveryBuilderValue()\n
+\n
+# Make sure that multiple builds would not run in parallel.\n
+invoice_serialization_tag = \'test_invoice_build\'\n
+invoice_tag = \'%s%f\' % (invoice_serialization_tag, now)\n
+after_invoice_tag = \'after_test_invoice_build\'\n
+invoice_builder.activate(serialization_tag=invoice_serialization_tag,\n
+    tag=invoice_tag, after_tag=after_invoice_tag) \\\n
+  .build(activate_kw=dict(tag=after_invoice_tag))\n
+\n
+# We do not need to serialize this one, because the tax builder may not create\n
+# any new delivery.\n
+# XXX the after_invoice_tag is global, so this build may wait too long.\n
+tax_builder.activate(after_tag=(invoice_tag, after_invoice_tag)).build()\n
+</string> </value>
+        </item>
+        <item>
+            <key> <string>_code</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>_params</string> </key>
+            <value> <string>**kw</string> </value>
+        </item>
+        <item>
+            <key> <string>errors</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+        <item>
+            <key> <string>func_code</string> </key>
+            <value>
+              <object>
+                <klass>
+                  <global name="FuncCode" module="Shared.DC.Scripts.Signature"/>
+                </klass>
+                <tuple/>
+                <state>
+                  <dictionary>
+                    <item>
+                        <key> <string>co_argcount</string> </key>
+                        <value> <int>0</int> </value>
+                    </item>
+                    <item>
+                        <key> <string>co_varnames</string> </key>
+                        <value>
+                          <tuple>
+                            <string>kw</string>
+                            <string>DateTime</string>
+                            <string>_getattr_</string>
+                            <string>now</string>
+                            <string>context</string>
+                            <string>module</string>
+                            <string>business_process</string>
+                            <string>invoice_business_path</string>
+                            <string>invoice_builder</string>
+                            <string>tax_business_path</string>
+                            <string>tax_builder</string>
+                            <string>invoice_serialization_tag</string>
+                            <string>invoice_tag</string>
+                            <string>after_invoice_tag</string>
+                            <string>dict</string>
+                          </tuple>
+                        </value>
+                    </item>
+                  </dictionary>
+                </state>
+              </object>
+            </value>
+        </item>
+        <item>
+            <key> <string>func_defaults</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>Alarm_activateTestInvoiceBuild</string> </value>
+        </item>
+        <item>
+            <key> <string>warnings</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_simulation_performance_test/SkinTemplateItem/portal_skins/erp5_simulation_performance_test/Alarm_activateTestShippingBuild.xml b/bt5/erp5_simulation_performance_test/SkinTemplateItem/portal_skins/erp5_simulation_performance_test/Alarm_activateTestShippingBuild.xml
new file mode 100644
index 0000000000..74ce37aee6
--- /dev/null
+++ b/bt5/erp5_simulation_performance_test/SkinTemplateItem/portal_skins/erp5_simulation_performance_test/Alarm_activateTestShippingBuild.xml
@@ -0,0 +1,139 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>Script_magic</string> </key>
+            <value> <int>3</int> </value>
+        </item>
+        <item>
+            <key> <string>_bind_names</string> </key>
+            <value>
+              <object>
+                <klass>
+                  <global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/>
+                </klass>
+                <tuple/>
+                <state>
+                  <dictionary>
+                    <item>
+                        <key> <string>_asgns</string> </key>
+                        <value>
+                          <dictionary>
+                            <item>
+                                <key> <string>name_container</string> </key>
+                                <value> <string>container</string> </value>
+                            </item>
+                            <item>
+                                <key> <string>name_context</string> </key>
+                                <value> <string>context</string> </value>
+                            </item>
+                            <item>
+                                <key> <string>name_m_self</string> </key>
+                                <value> <string>script</string> </value>
+                            </item>
+                            <item>
+                                <key> <string>name_subpath</string> </key>
+                                <value> <string>traverse_subpath</string> </value>
+                            </item>
+                          </dictionary>
+                        </value>
+                    </item>
+                  </dictionary>
+                </state>
+              </object>
+            </value>
+        </item>
+        <item>
+            <key> <string>_body</string> </key>
+            <value> <string>module = context.getPortalObject().business_process_module\n
+business_path = module.test_business_process.shipping\n
+delivery_builder = business_path.getDeliveryBuilderValue()\n
+\n
+# Make sure that multiple builds would not run in parallel.\n
+serialization_tag = \'test_shipping_build\'\n
+tag = \'after_test_shipping_build\'\n
+activate_kw = dict(tag=tag)\n
+delivery_builder.activate(serialization_tag=serialization_tag, after_tag=tag) \\\n
+  .build(activate_kw=activate_kw)\n
+</string> </value>
+        </item>
+        <item>
+            <key> <string>_code</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>_params</string> </key>
+            <value> <string>**kw</string> </value>
+        </item>
+        <item>
+            <key> <string>errors</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+        <item>
+            <key> <string>func_code</string> </key>
+            <value>
+              <object>
+                <klass>
+                  <global name="FuncCode" module="Shared.DC.Scripts.Signature"/>
+                </klass>
+                <tuple/>
+                <state>
+                  <dictionary>
+                    <item>
+                        <key> <string>co_argcount</string> </key>
+                        <value> <int>0</int> </value>
+                    </item>
+                    <item>
+                        <key> <string>co_varnames</string> </key>
+                        <value>
+                          <tuple>
+                            <string>kw</string>
+                            <string>_getattr_</string>
+                            <string>context</string>
+                            <string>module</string>
+                            <string>business_path</string>
+                            <string>delivery_builder</string>
+                            <string>serialization_tag</string>
+                            <string>tag</string>
+                            <string>dict</string>
+                            <string>activate_kw</string>
+                          </tuple>
+                        </value>
+                    </item>
+                  </dictionary>
+                </state>
+              </object>
+            </value>
+        </item>
+        <item>
+            <key> <string>func_defaults</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>Alarm_activateTestShippingBuild</string> </value>
+        </item>
+        <item>
+            <key> <string>warnings</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_simulation_performance_test/SkinTemplateItem/portal_skins/erp5_simulation_performance_test/DeliveryBuilder_getSimulationPerformanceTestBuildableMovementList.xml b/bt5/erp5_simulation_performance_test/SkinTemplateItem/portal_skins/erp5_simulation_performance_test/DeliveryBuilder_getSimulationPerformanceTestBuildableMovementList.xml
new file mode 100644
index 0000000000..5ac92423c7
--- /dev/null
+++ b/bt5/erp5_simulation_performance_test/SkinTemplateItem/portal_skins/erp5_simulation_performance_test/DeliveryBuilder_getSimulationPerformanceTestBuildableMovementList.xml
@@ -0,0 +1,129 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>Script_magic</string> </key>
+            <value> <int>3</int> </value>
+        </item>
+        <item>
+            <key> <string>_bind_names</string> </key>
+            <value>
+              <object>
+                <klass>
+                  <global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/>
+                </klass>
+                <tuple/>
+                <state>
+                  <dictionary>
+                    <item>
+                        <key> <string>_asgns</string> </key>
+                        <value>
+                          <dictionary>
+                            <item>
+                                <key> <string>name_container</string> </key>
+                                <value> <string>container</string> </value>
+                            </item>
+                            <item>
+                                <key> <string>name_context</string> </key>
+                                <value> <string>context</string> </value>
+                            </item>
+                            <item>
+                                <key> <string>name_m_self</string> </key>
+                                <value> <string>script</string> </value>
+                            </item>
+                            <item>
+                                <key> <string>name_subpath</string> </key>
+                                <value> <string>traverse_subpath</string> </value>
+                            </item>
+                          </dictionary>
+                        </value>
+                    </item>
+                  </dictionary>
+                </state>
+              </object>
+            </value>
+        </item>
+        <item>
+            <key> <string>_body</string> </key>
+            <value> <string>movement_list = []\n
+for business_path in context.getDeliveryBuilderRelatedValueList():\n
+  movement_list.extend(business_path.getBuildableMovementList())\n
+return movement_list\n
+</string> </value>
+        </item>
+        <item>
+            <key> <string>_code</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>_params</string> </key>
+            <value> <string>**kw</string> </value>
+        </item>
+        <item>
+            <key> <string>errors</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+        <item>
+            <key> <string>func_code</string> </key>
+            <value>
+              <object>
+                <klass>
+                  <global name="FuncCode" module="Shared.DC.Scripts.Signature"/>
+                </klass>
+                <tuple/>
+                <state>
+                  <dictionary>
+                    <item>
+                        <key> <string>co_argcount</string> </key>
+                        <value> <int>0</int> </value>
+                    </item>
+                    <item>
+                        <key> <string>co_varnames</string> </key>
+                        <value>
+                          <tuple>
+                            <string>kw</string>
+                            <string>movement_list</string>
+                            <string>_getiter_</string>
+                            <string>_getattr_</string>
+                            <string>context</string>
+                            <string>business_path</string>
+                          </tuple>
+                        </value>
+                    </item>
+                  </dictionary>
+                </state>
+              </object>
+            </value>
+        </item>
+        <item>
+            <key> <string>func_defaults</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>DeliveryBuilder_getSimulationPerformanceTestBuildableMovementList</string> </value>
+        </item>
+        <item>
+            <key> <string>warnings</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_simulation_performance_test/SkinTemplateItem/portal_skins/erp5_simulation_performance_test/DeliveryBuilder_getSimulationPerformanceTestTaxableInvoiceList.xml b/bt5/erp5_simulation_performance_test/SkinTemplateItem/portal_skins/erp5_simulation_performance_test/DeliveryBuilder_getSimulationPerformanceTestTaxableInvoiceList.xml
new file mode 100644
index 0000000000..a322c62926
--- /dev/null
+++ b/bt5/erp5_simulation_performance_test/SkinTemplateItem/portal_skins/erp5_simulation_performance_test/DeliveryBuilder_getSimulationPerformanceTestTaxableInvoiceList.xml
@@ -0,0 +1,153 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>Script_magic</string> </key>
+            <value> <int>3</int> </value>
+        </item>
+        <item>
+            <key> <string>_bind_names</string> </key>
+            <value>
+              <object>
+                <klass>
+                  <global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/>
+                </klass>
+                <tuple/>
+                <state>
+                  <dictionary>
+                    <item>
+                        <key> <string>_asgns</string> </key>
+                        <value>
+                          <dictionary>
+                            <item>
+                                <key> <string>name_container</string> </key>
+                                <value> <string>container</string> </value>
+                            </item>
+                            <item>
+                                <key> <string>name_context</string> </key>
+                                <value> <string>context</string> </value>
+                            </item>
+                            <item>
+                                <key> <string>name_m_self</string> </key>
+                                <value> <string>script</string> </value>
+                            </item>
+                            <item>
+                                <key> <string>name_subpath</string> </key>
+                                <value> <string>traverse_subpath</string> </value>
+                            </item>
+                          </dictionary>
+                        </value>
+                    </item>
+                  </dictionary>
+                </state>
+              </object>
+            </value>
+        </item>
+        <item>
+            <key> <string>_body</string> </key>
+            <value> <string>portal_type = context.getDeliveryPortalType()\n
+invoice_list = []\n
+\n
+# Gather invoices associated with grand parent movements,\n
+# so that tax movements will be included into the same invoices.\n
+for movement in movement_list:\n
+  applied_rule = movement.getParentValue()\n
+  if applied_rule.isRootAppliedRule():\n
+    # ???\n
+    continue\n
+\n
+  invoice_movement = applied_rule.getParentValue()\n
+  invoice = invoice_movement.getExplanationValue()\n
+  if invoice.getPortalType() != portal_type:\n
+    # ???\n
+    continue\n
+\n
+  if invoice not in invoice_list:\n
+    invoice_list.append(invoice)\n
+\n
+return invoice_list\n
+</string> </value>
+        </item>
+        <item>
+            <key> <string>_code</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>_params</string> </key>
+            <value> <string>movement_list=(), **kw</string> </value>
+        </item>
+        <item>
+            <key> <string>errors</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+        <item>
+            <key> <string>func_code</string> </key>
+            <value>
+              <object>
+                <klass>
+                  <global name="FuncCode" module="Shared.DC.Scripts.Signature"/>
+                </klass>
+                <tuple/>
+                <state>
+                  <dictionary>
+                    <item>
+                        <key> <string>co_argcount</string> </key>
+                        <value> <int>1</int> </value>
+                    </item>
+                    <item>
+                        <key> <string>co_varnames</string> </key>
+                        <value>
+                          <tuple>
+                            <string>movement_list</string>
+                            <string>kw</string>
+                            <string>_getattr_</string>
+                            <string>context</string>
+                            <string>portal_type</string>
+                            <string>invoice_list</string>
+                            <string>_getiter_</string>
+                            <string>movement</string>
+                            <string>applied_rule</string>
+                            <string>invoice_movement</string>
+                            <string>invoice</string>
+                          </tuple>
+                        </value>
+                    </item>
+                  </dictionary>
+                </state>
+              </object>
+            </value>
+        </item>
+        <item>
+            <key> <string>func_defaults</string> </key>
+            <value>
+              <tuple>
+                <tuple/>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>DeliveryBuilder_getSimulationPerformanceTestTaxableInvoiceList</string> </value>
+        </item>
+        <item>
+            <key> <string>warnings</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_simulation_performance_test/SkinTemplateItem/portal_skins/erp5_simulation_performance_test/DeliveryBuilder_getSimulationPerformanceTestUpdatableDeliveryList.xml b/bt5/erp5_simulation_performance_test/SkinTemplateItem/portal_skins/erp5_simulation_performance_test/DeliveryBuilder_getSimulationPerformanceTestUpdatableDeliveryList.xml
new file mode 100644
index 0000000000..a7b01f89af
--- /dev/null
+++ b/bt5/erp5_simulation_performance_test/SkinTemplateItem/portal_skins/erp5_simulation_performance_test/DeliveryBuilder_getSimulationPerformanceTestUpdatableDeliveryList.xml
@@ -0,0 +1,142 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>Script_magic</string> </key>
+            <value> <int>3</int> </value>
+        </item>
+        <item>
+            <key> <string>_bind_names</string> </key>
+            <value>
+              <object>
+                <klass>
+                  <global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/>
+                </klass>
+                <tuple/>
+                <state>
+                  <dictionary>
+                    <item>
+                        <key> <string>_asgns</string> </key>
+                        <value>
+                          <dictionary>
+                            <item>
+                                <key> <string>name_container</string> </key>
+                                <value> <string>container</string> </value>
+                            </item>
+                            <item>
+                                <key> <string>name_context</string> </key>
+                                <value> <string>context</string> </value>
+                            </item>
+                            <item>
+                                <key> <string>name_m_self</string> </key>
+                                <value> <string>script</string> </value>
+                            </item>
+                            <item>
+                                <key> <string>name_subpath</string> </key>
+                                <value> <string>traverse_subpath</string> </value>
+                            </item>
+                          </dictionary>
+                        </value>
+                    </item>
+                  </dictionary>
+                </state>
+              </object>
+            </value>
+        </item>
+        <item>
+            <key> <string>_body</string> </key>
+            <value> <string># XXX it would be more efficient to filter deliveries by categories.\n
+portal_type = context.getDeliveryPortalType()\n
+portal_catalog = context.getPortalObject().portal_catalog\n
+result = portal_catalog(portal_type=portal_type, simulation_state=\'confirmed\')\n
+delivery_list = []\n
+for brain in result:\n
+  delivery = brain.getObject()\n
+  if delivery.getSimulationState() == \'confirmed\':\n
+    delivery_list.append(delivery)\n
+return delivery_list\n
+</string> </value>
+        </item>
+        <item>
+            <key> <string>_code</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>_params</string> </key>
+            <value> <string>movement_list=(), **kw</string> </value>
+        </item>
+        <item>
+            <key> <string>errors</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+        <item>
+            <key> <string>func_code</string> </key>
+            <value>
+              <object>
+                <klass>
+                  <global name="FuncCode" module="Shared.DC.Scripts.Signature"/>
+                </klass>
+                <tuple/>
+                <state>
+                  <dictionary>
+                    <item>
+                        <key> <string>co_argcount</string> </key>
+                        <value> <int>1</int> </value>
+                    </item>
+                    <item>
+                        <key> <string>co_varnames</string> </key>
+                        <value>
+                          <tuple>
+                            <string>movement_list</string>
+                            <string>kw</string>
+                            <string>_getattr_</string>
+                            <string>context</string>
+                            <string>portal_type</string>
+                            <string>portal_catalog</string>
+                            <string>result</string>
+                            <string>delivery_list</string>
+                            <string>_getiter_</string>
+                            <string>brain</string>
+                            <string>delivery</string>
+                          </tuple>
+                        </value>
+                    </item>
+                  </dictionary>
+                </state>
+              </object>
+            </value>
+        </item>
+        <item>
+            <key> <string>func_defaults</string> </key>
+            <value>
+              <tuple>
+                <tuple/>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>DeliveryBuilder_getSimulationPerformanceTestUpdatableDeliveryList</string> </value>
+        </item>
+        <item>
+            <key> <string>warnings</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_simulation_performance_test/SkinTemplateItem/portal_skins/erp5_simulation_performance_test/SaleOrder_getRuleReference.xml b/bt5/erp5_simulation_performance_test/SkinTemplateItem/portal_skins/erp5_simulation_performance_test/SaleOrder_getRuleReference.xml
new file mode 100644
index 0000000000..6e5ef6e6a7
--- /dev/null
+++ b/bt5/erp5_simulation_performance_test/SkinTemplateItem/portal_skins/erp5_simulation_performance_test/SaleOrder_getRuleReference.xml
@@ -0,0 +1,121 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>Script_magic</string> </key>
+            <value> <int>3</int> </value>
+        </item>
+        <item>
+            <key> <string>_bind_names</string> </key>
+            <value>
+              <object>
+                <klass>
+                  <global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/>
+                </klass>
+                <tuple/>
+                <state>
+                  <dictionary>
+                    <item>
+                        <key> <string>_asgns</string> </key>
+                        <value>
+                          <dictionary>
+                            <item>
+                                <key> <string>name_container</string> </key>
+                                <value> <string>container</string> </value>
+                            </item>
+                            <item>
+                                <key> <string>name_context</string> </key>
+                                <value> <string>context</string> </value>
+                            </item>
+                            <item>
+                                <key> <string>name_m_self</string> </key>
+                                <value> <string>script</string> </value>
+                            </item>
+                            <item>
+                                <key> <string>name_subpath</string> </key>
+                                <value> <string>traverse_subpath</string> </value>
+                            </item>
+                          </dictionary>
+                        </value>
+                    </item>
+                  </dictionary>
+                </state>
+              </object>
+            </value>
+        </item>
+        <item>
+            <key> <string>_body</string> </key>
+            <value> <string>return \'test_order_root_simulation_rule\'\n
+</string> </value>
+        </item>
+        <item>
+            <key> <string>_code</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>_params</string> </key>
+            <value> <string>**kw</string> </value>
+        </item>
+        <item>
+            <key> <string>errors</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+        <item>
+            <key> <string>func_code</string> </key>
+            <value>
+              <object>
+                <klass>
+                  <global name="FuncCode" module="Shared.DC.Scripts.Signature"/>
+                </klass>
+                <tuple/>
+                <state>
+                  <dictionary>
+                    <item>
+                        <key> <string>co_argcount</string> </key>
+                        <value> <int>0</int> </value>
+                    </item>
+                    <item>
+                        <key> <string>co_varnames</string> </key>
+                        <value>
+                          <tuple>
+                            <string>kw</string>
+                          </tuple>
+                        </value>
+                    </item>
+                  </dictionary>
+                </state>
+              </object>
+            </value>
+        </item>
+        <item>
+            <key> <string>func_defaults</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>SaleOrder_getRuleReference</string> </value>
+        </item>
+        <item>
+            <key> <string>warnings</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_simulation_performance_test/SkinTemplateItem/portal_skins/erp5_simulation_performance_test/SalePackingList_getRuleReference.xml b/bt5/erp5_simulation_performance_test/SkinTemplateItem/portal_skins/erp5_simulation_performance_test/SalePackingList_getRuleReference.xml
new file mode 100644
index 0000000000..7d016bf8a5
--- /dev/null
+++ b/bt5/erp5_simulation_performance_test/SkinTemplateItem/portal_skins/erp5_simulation_performance_test/SalePackingList_getRuleReference.xml
@@ -0,0 +1,121 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>Script_magic</string> </key>
+            <value> <int>3</int> </value>
+        </item>
+        <item>
+            <key> <string>_bind_names</string> </key>
+            <value>
+              <object>
+                <klass>
+                  <global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/>
+                </klass>
+                <tuple/>
+                <state>
+                  <dictionary>
+                    <item>
+                        <key> <string>_asgns</string> </key>
+                        <value>
+                          <dictionary>
+                            <item>
+                                <key> <string>name_container</string> </key>
+                                <value> <string>container</string> </value>
+                            </item>
+                            <item>
+                                <key> <string>name_context</string> </key>
+                                <value> <string>context</string> </value>
+                            </item>
+                            <item>
+                                <key> <string>name_m_self</string> </key>
+                                <value> <string>script</string> </value>
+                            </item>
+                            <item>
+                                <key> <string>name_subpath</string> </key>
+                                <value> <string>traverse_subpath</string> </value>
+                            </item>
+                          </dictionary>
+                        </value>
+                    </item>
+                  </dictionary>
+                </state>
+              </object>
+            </value>
+        </item>
+        <item>
+            <key> <string>_body</string> </key>
+            <value> <string>return \'test_packing_list_root_simulation_rule\'\n
+</string> </value>
+        </item>
+        <item>
+            <key> <string>_code</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>_params</string> </key>
+            <value> <string>**kw</string> </value>
+        </item>
+        <item>
+            <key> <string>errors</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+        <item>
+            <key> <string>func_code</string> </key>
+            <value>
+              <object>
+                <klass>
+                  <global name="FuncCode" module="Shared.DC.Scripts.Signature"/>
+                </klass>
+                <tuple/>
+                <state>
+                  <dictionary>
+                    <item>
+                        <key> <string>co_argcount</string> </key>
+                        <value> <int>0</int> </value>
+                    </item>
+                    <item>
+                        <key> <string>co_varnames</string> </key>
+                        <value>
+                          <tuple>
+                            <string>kw</string>
+                          </tuple>
+                        </value>
+                    </item>
+                  </dictionary>
+                </state>
+              </object>
+            </value>
+        </item>
+        <item>
+            <key> <string>func_defaults</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>SalePackingList_getRuleReference</string> </value>
+        </item>
+        <item>
+            <key> <string>warnings</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_simulation_performance_test/SkinTemplateItem/portal_skins/erp5_simulation_performance_test/SimulationMovement_testTestInvoiceSimulationRule.xml b/bt5/erp5_simulation_performance_test/SkinTemplateItem/portal_skins/erp5_simulation_performance_test/SimulationMovement_testTestInvoiceSimulationRule.xml
new file mode 100644
index 0000000000..a8068403f5
--- /dev/null
+++ b/bt5/erp5_simulation_performance_test/SkinTemplateItem/portal_skins/erp5_simulation_performance_test/SimulationMovement_testTestInvoiceSimulationRule.xml
@@ -0,0 +1,131 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>Script_magic</string> </key>
+            <value> <int>3</int> </value>
+        </item>
+        <item>
+            <key> <string>_bind_names</string> </key>
+            <value>
+              <object>
+                <klass>
+                  <global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/>
+                </klass>
+                <tuple/>
+                <state>
+                  <dictionary>
+                    <item>
+                        <key> <string>_asgns</string> </key>
+                        <value>
+                          <dictionary>
+                            <item>
+                                <key> <string>name_container</string> </key>
+                                <value> <string>container</string> </value>
+                            </item>
+                            <item>
+                                <key> <string>name_context</string> </key>
+                                <value> <string>context</string> </value>
+                            </item>
+                            <item>
+                                <key> <string>name_m_self</string> </key>
+                                <value> <string>script</string> </value>
+                            </item>
+                            <item>
+                                <key> <string>name_subpath</string> </key>
+                                <value> <string>traverse_subpath</string> </value>
+                            </item>
+                          </dictionary>
+                        </value>
+                    </item>
+                  </dictionary>
+                </state>
+              </object>
+            </value>
+        </item>
+        <item>
+            <key> <string>_body</string> </key>
+            <value> <string>for business_path in context.getSpecialiseValueList():\n
+  if \'shipping\' in business_path.getTradePhaseList():\n
+    return True\n
+return False\n
+</string> </value>
+        </item>
+        <item>
+            <key> <string>_code</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>_params</string> </key>
+            <value> <string>rule, **kw</string> </value>
+        </item>
+        <item>
+            <key> <string>errors</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+        <item>
+            <key> <string>func_code</string> </key>
+            <value>
+              <object>
+                <klass>
+                  <global name="FuncCode" module="Shared.DC.Scripts.Signature"/>
+                </klass>
+                <tuple/>
+                <state>
+                  <dictionary>
+                    <item>
+                        <key> <string>co_argcount</string> </key>
+                        <value> <int>1</int> </value>
+                    </item>
+                    <item>
+                        <key> <string>co_varnames</string> </key>
+                        <value>
+                          <tuple>
+                            <string>rule</string>
+                            <string>kw</string>
+                            <string>_getiter_</string>
+                            <string>_getattr_</string>
+                            <string>context</string>
+                            <string>business_path</string>
+                            <string>True</string>
+                            <string>False</string>
+                          </tuple>
+                        </value>
+                    </item>
+                  </dictionary>
+                </state>
+              </object>
+            </value>
+        </item>
+        <item>
+            <key> <string>func_defaults</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>SimulationMovement_testTestInvoiceSimulationRule</string> </value>
+        </item>
+        <item>
+            <key> <string>warnings</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_simulation_performance_test/SkinTemplateItem/portal_skins/erp5_simulation_performance_test/SimulationMovement_testTestPackingListSimulationRule.xml b/bt5/erp5_simulation_performance_test/SkinTemplateItem/portal_skins/erp5_simulation_performance_test/SimulationMovement_testTestPackingListSimulationRule.xml
new file mode 100644
index 0000000000..aa2d816a91
--- /dev/null
+++ b/bt5/erp5_simulation_performance_test/SkinTemplateItem/portal_skins/erp5_simulation_performance_test/SimulationMovement_testTestPackingListSimulationRule.xml
@@ -0,0 +1,131 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>Script_magic</string> </key>
+            <value> <int>3</int> </value>
+        </item>
+        <item>
+            <key> <string>_bind_names</string> </key>
+            <value>
+              <object>
+                <klass>
+                  <global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/>
+                </klass>
+                <tuple/>
+                <state>
+                  <dictionary>
+                    <item>
+                        <key> <string>_asgns</string> </key>
+                        <value>
+                          <dictionary>
+                            <item>
+                                <key> <string>name_container</string> </key>
+                                <value> <string>container</string> </value>
+                            </item>
+                            <item>
+                                <key> <string>name_context</string> </key>
+                                <value> <string>context</string> </value>
+                            </item>
+                            <item>
+                                <key> <string>name_m_self</string> </key>
+                                <value> <string>script</string> </value>
+                            </item>
+                            <item>
+                                <key> <string>name_subpath</string> </key>
+                                <value> <string>traverse_subpath</string> </value>
+                            </item>
+                          </dictionary>
+                        </value>
+                    </item>
+                  </dictionary>
+                </state>
+              </object>
+            </value>
+        </item>
+        <item>
+            <key> <string>_body</string> </key>
+            <value> <string>for business_path in context.getSpecialiseValueList():\n
+  if \'order\' in business_path.getTradePhaseList():\n
+    return True\n
+return False\n
+</string> </value>
+        </item>
+        <item>
+            <key> <string>_code</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>_params</string> </key>
+            <value> <string>rule, **kw</string> </value>
+        </item>
+        <item>
+            <key> <string>errors</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+        <item>
+            <key> <string>func_code</string> </key>
+            <value>
+              <object>
+                <klass>
+                  <global name="FuncCode" module="Shared.DC.Scripts.Signature"/>
+                </klass>
+                <tuple/>
+                <state>
+                  <dictionary>
+                    <item>
+                        <key> <string>co_argcount</string> </key>
+                        <value> <int>1</int> </value>
+                    </item>
+                    <item>
+                        <key> <string>co_varnames</string> </key>
+                        <value>
+                          <tuple>
+                            <string>rule</string>
+                            <string>kw</string>
+                            <string>_getiter_</string>
+                            <string>_getattr_</string>
+                            <string>context</string>
+                            <string>business_path</string>
+                            <string>True</string>
+                            <string>False</string>
+                          </tuple>
+                        </value>
+                    </item>
+                  </dictionary>
+                </state>
+              </object>
+            </value>
+        </item>
+        <item>
+            <key> <string>func_defaults</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>SimulationMovement_testTestPackingListSimulationRule</string> </value>
+        </item>
+        <item>
+            <key> <string>warnings</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_simulation_performance_test/SkinTemplateItem/portal_skins/erp5_simulation_performance_test/SimulationMovement_testTestTradeModelSimulationRule.xml b/bt5/erp5_simulation_performance_test/SkinTemplateItem/portal_skins/erp5_simulation_performance_test/SimulationMovement_testTestTradeModelSimulationRule.xml
new file mode 100644
index 0000000000..09698ee1b2
--- /dev/null
+++ b/bt5/erp5_simulation_performance_test/SkinTemplateItem/portal_skins/erp5_simulation_performance_test/SimulationMovement_testTestTradeModelSimulationRule.xml
@@ -0,0 +1,131 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>Script_magic</string> </key>
+            <value> <int>3</int> </value>
+        </item>
+        <item>
+            <key> <string>_bind_names</string> </key>
+            <value>
+              <object>
+                <klass>
+                  <global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/>
+                </klass>
+                <tuple/>
+                <state>
+                  <dictionary>
+                    <item>
+                        <key> <string>_asgns</string> </key>
+                        <value>
+                          <dictionary>
+                            <item>
+                                <key> <string>name_container</string> </key>
+                                <value> <string>container</string> </value>
+                            </item>
+                            <item>
+                                <key> <string>name_context</string> </key>
+                                <value> <string>context</string> </value>
+                            </item>
+                            <item>
+                                <key> <string>name_m_self</string> </key>
+                                <value> <string>script</string> </value>
+                            </item>
+                            <item>
+                                <key> <string>name_subpath</string> </key>
+                                <value> <string>traverse_subpath</string> </value>
+                            </item>
+                          </dictionary>
+                        </value>
+                    </item>
+                  </dictionary>
+                </state>
+              </object>
+            </value>
+        </item>
+        <item>
+            <key> <string>_body</string> </key>
+            <value> <string>for business_path in context.getSpecialiseValueList():\n
+  if \'invoice\' in business_path.getTradePhaseList():\n
+    return True\n
+return False\n
+</string> </value>
+        </item>
+        <item>
+            <key> <string>_code</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>_params</string> </key>
+            <value> <string>rule, **kw</string> </value>
+        </item>
+        <item>
+            <key> <string>errors</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+        <item>
+            <key> <string>func_code</string> </key>
+            <value>
+              <object>
+                <klass>
+                  <global name="FuncCode" module="Shared.DC.Scripts.Signature"/>
+                </klass>
+                <tuple/>
+                <state>
+                  <dictionary>
+                    <item>
+                        <key> <string>co_argcount</string> </key>
+                        <value> <int>1</int> </value>
+                    </item>
+                    <item>
+                        <key> <string>co_varnames</string> </key>
+                        <value>
+                          <tuple>
+                            <string>rule</string>
+                            <string>kw</string>
+                            <string>_getiter_</string>
+                            <string>_getattr_</string>
+                            <string>context</string>
+                            <string>business_path</string>
+                            <string>True</string>
+                            <string>False</string>
+                          </tuple>
+                        </value>
+                    </item>
+                  </dictionary>
+                </state>
+              </object>
+            </value>
+        </item>
+        <item>
+            <key> <string>func_defaults</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>SimulationMovement_testTestTradeModelSimulationRule</string> </value>
+        </item>
+        <item>
+            <key> <string>warnings</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_simulation_performance_test/WorkflowTemplateItem/portal_workflow/test_invoice_workflow.xml b/bt5/erp5_simulation_performance_test/WorkflowTemplateItem/portal_workflow/test_invoice_workflow.xml
new file mode 100644
index 0000000000..f0e7f10c4c
--- /dev/null
+++ b/bt5/erp5_simulation_performance_test/WorkflowTemplateItem/portal_workflow/test_invoice_workflow.xml
@@ -0,0 +1,69 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="DCWorkflowDefinition" module="Products.DCWorkflow.DCWorkflow"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_objects</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+        <item>
+            <key> <string>creation_guard</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>description</string> </key>
+            <value> <string>A simplified invoice workflow for testSimulationPerformance.</string> </value>
+        </item>
+        <item>
+            <key> <string>groups</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>test_invoice_workflow</string> </value>
+        </item>
+        <item>
+            <key> <string>initial_state</string> </key>
+            <value> <string>draft</string> </value>
+        </item>
+        <item>
+            <key> <string>manager_bypass</string> </key>
+            <value> <int>0</int> </value>
+        </item>
+        <item>
+            <key> <string>permissions</string> </key>
+            <value>
+              <tuple>
+                <string>Modify portal content</string>
+                <string>View</string>
+                <string>Access contents information</string>
+                <string>Add portal content</string>
+                <string>Delete objects</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>state_var</string> </key>
+            <value> <string>simulation_state</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>Invoice Workflow</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_simulation_performance_test/WorkflowTemplateItem/portal_workflow/test_invoice_workflow/scripts.xml b/bt5/erp5_simulation_performance_test/WorkflowTemplateItem/portal_workflow/test_invoice_workflow/scripts.xml
new file mode 100644
index 0000000000..0622b3c34f
--- /dev/null
+++ b/bt5/erp5_simulation_performance_test/WorkflowTemplateItem/portal_workflow/test_invoice_workflow/scripts.xml
@@ -0,0 +1,31 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="Scripts" module="Products.DCWorkflow.Scripts"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_mapping</string> </key>
+            <value>
+              <dictionary/>
+            </value>
+        </item>
+        <item>
+            <key> <string>_objects</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>scripts</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_simulation_performance_test/WorkflowTemplateItem/portal_workflow/test_invoice_workflow/scripts/Workflow_updateSimulation.xml b/bt5/erp5_simulation_performance_test/WorkflowTemplateItem/portal_workflow/test_invoice_workflow/scripts/Workflow_updateSimulation.xml
new file mode 100644
index 0000000000..fa3ef1b629
--- /dev/null
+++ b/bt5/erp5_simulation_performance_test/WorkflowTemplateItem/portal_workflow/test_invoice_workflow/scripts/Workflow_updateSimulation.xml
@@ -0,0 +1,126 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>Script_magic</string> </key>
+            <value> <int>3</int> </value>
+        </item>
+        <item>
+            <key> <string>_bind_names</string> </key>
+            <value>
+              <object>
+                <klass>
+                  <global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/>
+                </klass>
+                <tuple/>
+                <state>
+                  <dictionary>
+                    <item>
+                        <key> <string>_asgns</string> </key>
+                        <value>
+                          <dictionary>
+                            <item>
+                                <key> <string>name_container</string> </key>
+                                <value> <string>container</string> </value>
+                            </item>
+                            <item>
+                                <key> <string>name_context</string> </key>
+                                <value> <string>context</string> </value>
+                            </item>
+                            <item>
+                                <key> <string>name_m_self</string> </key>
+                                <value> <string>script</string> </value>
+                            </item>
+                            <item>
+                                <key> <string>name_subpath</string> </key>
+                                <value> <string>traverse_subpath</string> </value>
+                            </item>
+                          </dictionary>
+                        </value>
+                    </item>
+                  </dictionary>
+                </state>
+              </object>
+            </value>
+        </item>
+        <item>
+            <key> <string>_body</string> </key>
+            <value> <string>delivery = state_change[\'object\']\n
+delivery.Delivery_updateSimulation()\n
+</string> </value>
+        </item>
+        <item>
+            <key> <string>_code</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>_params</string> </key>
+            <value> <string>state_change, **kw</string> </value>
+        </item>
+        <item>
+            <key> <string>errors</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+        <item>
+            <key> <string>func_code</string> </key>
+            <value>
+              <object>
+                <klass>
+                  <global name="FuncCode" module="Shared.DC.Scripts.Signature"/>
+                </klass>
+                <tuple/>
+                <state>
+                  <dictionary>
+                    <item>
+                        <key> <string>co_argcount</string> </key>
+                        <value> <int>1</int> </value>
+                    </item>
+                    <item>
+                        <key> <string>co_varnames</string> </key>
+                        <value>
+                          <tuple>
+                            <string>state_change</string>
+                            <string>kw</string>
+                            <string>_getitem_</string>
+                            <string>delivery</string>
+                            <string>_getattr_</string>
+                          </tuple>
+                        </value>
+                    </item>
+                  </dictionary>
+                </state>
+              </object>
+            </value>
+        </item>
+        <item>
+            <key> <string>func_defaults</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>Workflow_updateSimulation</string> </value>
+        </item>
+        <item>
+            <key> <string>warnings</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_simulation_performance_test/WorkflowTemplateItem/portal_workflow/test_invoice_workflow/states.xml b/bt5/erp5_simulation_performance_test/WorkflowTemplateItem/portal_workflow/test_invoice_workflow/states.xml
new file mode 100644
index 0000000000..a21bb6e959
--- /dev/null
+++ b/bt5/erp5_simulation_performance_test/WorkflowTemplateItem/portal_workflow/test_invoice_workflow/states.xml
@@ -0,0 +1,31 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="States" module="Products.DCWorkflow.States"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_mapping</string> </key>
+            <value>
+              <dictionary/>
+            </value>
+        </item>
+        <item>
+            <key> <string>_objects</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>states</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_simulation_performance_test/WorkflowTemplateItem/portal_workflow/test_invoice_workflow/states/confirmed.xml b/bt5/erp5_simulation_performance_test/WorkflowTemplateItem/portal_workflow/test_invoice_workflow/states/confirmed.xml
new file mode 100644
index 0000000000..ed6f0c77bb
--- /dev/null
+++ b/bt5/erp5_simulation_performance_test/WorkflowTemplateItem/portal_workflow/test_invoice_workflow/states/confirmed.xml
@@ -0,0 +1,125 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="StateDefinition" module="Products.DCWorkflow.States"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>description</string> </key>
+            <value> <string>Confirmed State is used for accounting transactions that have to be turned into real accounting transactions. This is generally the manager role to confirm a transaction, before it is processed by the accountant.</string> </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>confirmed</string> </value>
+        </item>
+        <item>
+            <key> <string>permission_roles</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>Confirmed</string> </value>
+        </item>
+        <item>
+            <key> <string>transitions</string> </key>
+            <value>
+              <tuple>
+                <string>deliver</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>type_list</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="2" aka="AAAAAAAAAAI=">
+    <pickle>
+      <tuple>
+        <global name="PersistentMapping" module="Persistence.mapping"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>data</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>Access contents information</string> </key>
+                    <value>
+                      <tuple>
+                        <string>Assignee</string>
+                        <string>Assignor</string>
+                        <string>Associate</string>
+                        <string>Auditor</string>
+                        <string>Manager</string>
+                        <string>Owner</string>
+                      </tuple>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>Add portal content</string> </key>
+                    <value>
+                      <tuple>
+                        <string>Assignee</string>
+                        <string>Assignor</string>
+                        <string>Associate</string>
+                        <string>Manager</string>
+                      </tuple>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>Delete objects</string> </key>
+                    <value>
+                      <tuple>
+                        <string>Assignee</string>
+                        <string>Assignor</string>
+                        <string>Associate</string>
+                        <string>Manager</string>
+                      </tuple>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>Modify portal content</string> </key>
+                    <value>
+                      <tuple>
+                        <string>Assignee</string>
+                        <string>Assignor</string>
+                        <string>Associate</string>
+                        <string>Manager</string>
+                      </tuple>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>View</string> </key>
+                    <value>
+                      <tuple>
+                        <string>Assignee</string>
+                        <string>Assignor</string>
+                        <string>Associate</string>
+                        <string>Auditor</string>
+                        <string>Manager</string>
+                        <string>Owner</string>
+                      </tuple>
+                    </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_simulation_performance_test/WorkflowTemplateItem/portal_workflow/test_invoice_workflow/states/delivered.xml b/bt5/erp5_simulation_performance_test/WorkflowTemplateItem/portal_workflow/test_invoice_workflow/states/delivered.xml
new file mode 100644
index 0000000000..d697d5467f
--- /dev/null
+++ b/bt5/erp5_simulation_performance_test/WorkflowTemplateItem/portal_workflow/test_invoice_workflow/states/delivered.xml
@@ -0,0 +1,39 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="StateDefinition" module="Products.DCWorkflow.States"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>description</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>delivered</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>Delivered</string> </value>
+        </item>
+        <item>
+            <key> <string>transitions</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+        <item>
+            <key> <string>type_list</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_simulation_performance_test/WorkflowTemplateItem/portal_workflow/test_invoice_workflow/states/draft.xml b/bt5/erp5_simulation_performance_test/WorkflowTemplateItem/portal_workflow/test_invoice_workflow/states/draft.xml
new file mode 100644
index 0000000000..e1aad0a525
--- /dev/null
+++ b/bt5/erp5_simulation_performance_test/WorkflowTemplateItem/portal_workflow/test_invoice_workflow/states/draft.xml
@@ -0,0 +1,135 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="StateDefinition" module="Products.DCWorkflow.States"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>description</string> </key>
+            <value> <string>Draft is the initial workflow state for accounting transactions</string> </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>draft</string> </value>
+        </item>
+        <item>
+            <key> <string>permission_roles</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>Draft</string> </value>
+        </item>
+        <item>
+            <key> <string>transitions</string> </key>
+            <value>
+              <tuple>
+                <string>auto_plan</string>
+                <string>cancel</string>
+                <string>cancel_action</string>
+                <string>confirm</string>
+                <string>confirm_action</string>
+                <string>delete_action</string>
+                <string>plan</string>
+                <string>plan_action</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>type_list</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="2" aka="AAAAAAAAAAI=">
+    <pickle>
+      <tuple>
+        <global name="PersistentMapping" module="Persistence.mapping"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>data</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>Access contents information</string> </key>
+                    <value>
+                      <tuple>
+                        <string>Assignee</string>
+                        <string>Assignor</string>
+                        <string>Associate</string>
+                        <string>Auditor</string>
+                        <string>Manager</string>
+                        <string>Owner</string>
+                      </tuple>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>Add portal content</string> </key>
+                    <value>
+                      <tuple>
+                        <string>Assignee</string>
+                        <string>Assignor</string>
+                        <string>Associate</string>
+                        <string>Manager</string>
+                        <string>Owner</string>
+                      </tuple>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>Delete objects</string> </key>
+                    <value>
+                      <tuple>
+                        <string>Assignee</string>
+                        <string>Assignor</string>
+                        <string>Associate</string>
+                        <string>Manager</string>
+                        <string>Owner</string>
+                      </tuple>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>Modify portal content</string> </key>
+                    <value>
+                      <tuple>
+                        <string>Assignee</string>
+                        <string>Assignor</string>
+                        <string>Associate</string>
+                        <string>Manager</string>
+                        <string>Owner</string>
+                      </tuple>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>View</string> </key>
+                    <value>
+                      <tuple>
+                        <string>Assignee</string>
+                        <string>Assignor</string>
+                        <string>Associate</string>
+                        <string>Auditor</string>
+                        <string>Manager</string>
+                        <string>Owner</string>
+                      </tuple>
+                    </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_simulation_performance_test/WorkflowTemplateItem/portal_workflow/test_invoice_workflow/transitions.xml b/bt5/erp5_simulation_performance_test/WorkflowTemplateItem/portal_workflow/test_invoice_workflow/transitions.xml
new file mode 100644
index 0000000000..092a5b48f6
--- /dev/null
+++ b/bt5/erp5_simulation_performance_test/WorkflowTemplateItem/portal_workflow/test_invoice_workflow/transitions.xml
@@ -0,0 +1,31 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="Transitions" module="Products.DCWorkflow.Transitions"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_mapping</string> </key>
+            <value>
+              <dictionary/>
+            </value>
+        </item>
+        <item>
+            <key> <string>_objects</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>transitions</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_simulation_performance_test/WorkflowTemplateItem/portal_workflow/test_invoice_workflow/transitions/confirm.xml b/bt5/erp5_simulation_performance_test/WorkflowTemplateItem/portal_workflow/test_invoice_workflow/transitions/confirm.xml
new file mode 100644
index 0000000000..5cee969b19
--- /dev/null
+++ b/bt5/erp5_simulation_performance_test/WorkflowTemplateItem/portal_workflow/test_invoice_workflow/transitions/confirm.xml
@@ -0,0 +1,61 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="TransitionDefinition" module="Products.DCWorkflow.Transitions"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>actbox_category</string> </key>
+            <value> <string>workflow</string> </value>
+        </item>
+        <item>
+            <key> <string>actbox_name</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>actbox_url</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>after_script_name</string> </key>
+            <value> <string>Workflow_updateSimulation</string> </value>
+        </item>
+        <item>
+            <key> <string>description</string> </key>
+            <value> <string>validate a plannified invoice that will be turned into real invoices</string> </value>
+        </item>
+        <item>
+            <key> <string>guard</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>confirm</string> </value>
+        </item>
+        <item>
+            <key> <string>new_state_id</string> </key>
+            <value> <string>confirmed</string> </value>
+        </item>
+        <item>
+            <key> <string>script_name</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>Confirm Invoice</string> </value>
+        </item>
+        <item>
+            <key> <string>trigger_type</string> </key>
+            <value> <int>2</int> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_simulation_performance_test/WorkflowTemplateItem/portal_workflow/test_invoice_workflow/transitions/deliver.xml b/bt5/erp5_simulation_performance_test/WorkflowTemplateItem/portal_workflow/test_invoice_workflow/transitions/deliver.xml
new file mode 100644
index 0000000000..b4286cb44c
--- /dev/null
+++ b/bt5/erp5_simulation_performance_test/WorkflowTemplateItem/portal_workflow/test_invoice_workflow/transitions/deliver.xml
@@ -0,0 +1,61 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="TransitionDefinition" module="Products.DCWorkflow.Transitions"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>actbox_category</string> </key>
+            <value> <string>workflow</string> </value>
+        </item>
+        <item>
+            <key> <string>actbox_name</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>actbox_url</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>after_script_name</string> </key>
+            <value> <string>Workflow_updateSimulation</string> </value>
+        </item>
+        <item>
+            <key> <string>description</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>guard</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>deliver</string> </value>
+        </item>
+        <item>
+            <key> <string>new_state_id</string> </key>
+            <value> <string>delivered</string> </value>
+        </item>
+        <item>
+            <key> <string>script_name</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>Deliver Invoice</string> </value>
+        </item>
+        <item>
+            <key> <string>trigger_type</string> </key>
+            <value> <int>2</int> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_simulation_performance_test/WorkflowTemplateItem/portal_workflow/test_invoice_workflow/variables.xml b/bt5/erp5_simulation_performance_test/WorkflowTemplateItem/portal_workflow/test_invoice_workflow/variables.xml
new file mode 100644
index 0000000000..a067e6fbbe
--- /dev/null
+++ b/bt5/erp5_simulation_performance_test/WorkflowTemplateItem/portal_workflow/test_invoice_workflow/variables.xml
@@ -0,0 +1,31 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="Variables" module="Products.DCWorkflow.Variables"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_mapping</string> </key>
+            <value>
+              <dictionary/>
+            </value>
+        </item>
+        <item>
+            <key> <string>_objects</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>variables</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_simulation_performance_test/WorkflowTemplateItem/portal_workflow/test_invoice_workflow/variables/action.xml b/bt5/erp5_simulation_performance_test/WorkflowTemplateItem/portal_workflow/test_invoice_workflow/variables/action.xml
new file mode 100644
index 0000000000..ed306eb6af
--- /dev/null
+++ b/bt5/erp5_simulation_performance_test/WorkflowTemplateItem/portal_workflow/test_invoice_workflow/variables/action.xml
@@ -0,0 +1,70 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="VariableDefinition" module="Products.DCWorkflow.Variables"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>default_expr</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>default_value</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>description</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>for_catalog</string> </key>
+            <value> <int>0</int> </value>
+        </item>
+        <item>
+            <key> <string>for_status</string> </key>
+            <value> <int>1</int> </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>action</string> </value>
+        </item>
+        <item>
+            <key> <string>info_guard</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>update_always</string> </key>
+            <value> <int>1</int> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="2" aka="AAAAAAAAAAI=">
+    <pickle>
+      <tuple>
+        <tuple>
+          <string>Products.CMFCore.Expression</string>
+          <string>Expression</string>
+        </tuple>
+        <none/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>text</string> </key>
+            <value> <string>transition/getId|nothing</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_simulation_performance_test/WorkflowTemplateItem/portal_workflow/test_invoice_workflow/variables/actor.xml b/bt5/erp5_simulation_performance_test/WorkflowTemplateItem/portal_workflow/test_invoice_workflow/variables/actor.xml
new file mode 100644
index 0000000000..d2b89d6051
--- /dev/null
+++ b/bt5/erp5_simulation_performance_test/WorkflowTemplateItem/portal_workflow/test_invoice_workflow/variables/actor.xml
@@ -0,0 +1,70 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="VariableDefinition" module="Products.DCWorkflow.Variables"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>default_expr</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>default_value</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>description</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>for_catalog</string> </key>
+            <value> <int>0</int> </value>
+        </item>
+        <item>
+            <key> <string>for_status</string> </key>
+            <value> <int>1</int> </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>actor</string> </value>
+        </item>
+        <item>
+            <key> <string>info_guard</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>update_always</string> </key>
+            <value> <int>1</int> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="2" aka="AAAAAAAAAAI=">
+    <pickle>
+      <tuple>
+        <tuple>
+          <string>Products.CMFCore.Expression</string>
+          <string>Expression</string>
+        </tuple>
+        <none/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>text</string> </key>
+            <value> <string>user/getUserName</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_simulation_performance_test/WorkflowTemplateItem/portal_workflow/test_invoice_workflow/variables/causality_state.xml b/bt5/erp5_simulation_performance_test/WorkflowTemplateItem/portal_workflow/test_invoice_workflow/variables/causality_state.xml
new file mode 100644
index 0000000000..16965abe09
--- /dev/null
+++ b/bt5/erp5_simulation_performance_test/WorkflowTemplateItem/portal_workflow/test_invoice_workflow/variables/causality_state.xml
@@ -0,0 +1,51 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="VariableDefinition" module="Products.DCWorkflow.Variables"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>default_expr</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>default_value</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>description</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>for_catalog</string> </key>
+            <value> <int>1</int> </value>
+        </item>
+        <item>
+            <key> <string>for_status</string> </key>
+            <value> <int>0</int> </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>causality_state</string> </value>
+        </item>
+        <item>
+            <key> <string>info_guard</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>update_always</string> </key>
+            <value> <int>1</int> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_simulation_performance_test/WorkflowTemplateItem/portal_workflow/test_invoice_workflow/variables/comment.xml b/bt5/erp5_simulation_performance_test/WorkflowTemplateItem/portal_workflow/test_invoice_workflow/variables/comment.xml
new file mode 100644
index 0000000000..999beb2edb
--- /dev/null
+++ b/bt5/erp5_simulation_performance_test/WorkflowTemplateItem/portal_workflow/test_invoice_workflow/variables/comment.xml
@@ -0,0 +1,70 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="VariableDefinition" module="Products.DCWorkflow.Variables"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>default_expr</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>default_value</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>description</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>for_catalog</string> </key>
+            <value> <int>0</int> </value>
+        </item>
+        <item>
+            <key> <string>for_status</string> </key>
+            <value> <int>1</int> </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>comment</string> </value>
+        </item>
+        <item>
+            <key> <string>info_guard</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>update_always</string> </key>
+            <value> <int>1</int> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="2" aka="AAAAAAAAAAI=">
+    <pickle>
+      <tuple>
+        <tuple>
+          <string>Products.CMFCore.Expression</string>
+          <string>Expression</string>
+        </tuple>
+        <none/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>text</string> </key>
+            <value> <string>python:state_change.kwargs.get(\'comment\',\'\')</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_simulation_performance_test/WorkflowTemplateItem/portal_workflow/test_invoice_workflow/variables/error_message.xml b/bt5/erp5_simulation_performance_test/WorkflowTemplateItem/portal_workflow/test_invoice_workflow/variables/error_message.xml
new file mode 100644
index 0000000000..e89715783d
--- /dev/null
+++ b/bt5/erp5_simulation_performance_test/WorkflowTemplateItem/portal_workflow/test_invoice_workflow/variables/error_message.xml
@@ -0,0 +1,51 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="VariableDefinition" module="Products.DCWorkflow.Variables"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>default_expr</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>default_value</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>description</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>for_catalog</string> </key>
+            <value> <int>0</int> </value>
+        </item>
+        <item>
+            <key> <string>for_status</string> </key>
+            <value> <int>1</int> </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>error_message</string> </value>
+        </item>
+        <item>
+            <key> <string>info_guard</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>update_always</string> </key>
+            <value> <int>1</int> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_simulation_performance_test/WorkflowTemplateItem/portal_workflow/test_invoice_workflow/variables/history.xml b/bt5/erp5_simulation_performance_test/WorkflowTemplateItem/portal_workflow/test_invoice_workflow/variables/history.xml
new file mode 100644
index 0000000000..d7bca55728
--- /dev/null
+++ b/bt5/erp5_simulation_performance_test/WorkflowTemplateItem/portal_workflow/test_invoice_workflow/variables/history.xml
@@ -0,0 +1,70 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="VariableDefinition" module="Products.DCWorkflow.Variables"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>default_expr</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>default_value</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>description</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>for_catalog</string> </key>
+            <value> <int>0</int> </value>
+        </item>
+        <item>
+            <key> <string>for_status</string> </key>
+            <value> <int>0</int> </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>history</string> </value>
+        </item>
+        <item>
+            <key> <string>info_guard</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>update_always</string> </key>
+            <value> <int>1</int> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="2" aka="AAAAAAAAAAI=">
+    <pickle>
+      <tuple>
+        <tuple>
+          <string>Products.CMFCore.Expression</string>
+          <string>Expression</string>
+        </tuple>
+        <none/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>text</string> </key>
+            <value> <string>state_change/getHistory</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_simulation_performance_test/WorkflowTemplateItem/portal_workflow/test_invoice_workflow/variables/portal_type.xml b/bt5/erp5_simulation_performance_test/WorkflowTemplateItem/portal_workflow/test_invoice_workflow/variables/portal_type.xml
new file mode 100644
index 0000000000..a874ecc8bb
--- /dev/null
+++ b/bt5/erp5_simulation_performance_test/WorkflowTemplateItem/portal_workflow/test_invoice_workflow/variables/portal_type.xml
@@ -0,0 +1,51 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="VariableDefinition" module="Products.DCWorkflow.Variables"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>default_expr</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>default_value</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>description</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>for_catalog</string> </key>
+            <value> <int>1</int> </value>
+        </item>
+        <item>
+            <key> <string>for_status</string> </key>
+            <value> <int>0</int> </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>portal_type</string> </value>
+        </item>
+        <item>
+            <key> <string>info_guard</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>update_always</string> </key>
+            <value> <int>0</int> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_simulation_performance_test/WorkflowTemplateItem/portal_workflow/test_invoice_workflow/variables/time.xml b/bt5/erp5_simulation_performance_test/WorkflowTemplateItem/portal_workflow/test_invoice_workflow/variables/time.xml
new file mode 100644
index 0000000000..0364a3b135
--- /dev/null
+++ b/bt5/erp5_simulation_performance_test/WorkflowTemplateItem/portal_workflow/test_invoice_workflow/variables/time.xml
@@ -0,0 +1,70 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="VariableDefinition" module="Products.DCWorkflow.Variables"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>default_expr</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>default_value</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>description</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>for_catalog</string> </key>
+            <value> <int>0</int> </value>
+        </item>
+        <item>
+            <key> <string>for_status</string> </key>
+            <value> <int>1</int> </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>time</string> </value>
+        </item>
+        <item>
+            <key> <string>info_guard</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>update_always</string> </key>
+            <value> <int>1</int> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="2" aka="AAAAAAAAAAI=">
+    <pickle>
+      <tuple>
+        <tuple>
+          <string>Products.CMFCore.Expression</string>
+          <string>Expression</string>
+        </tuple>
+        <none/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>text</string> </key>
+            <value> <string>state_change/getDateTime</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_simulation_performance_test/WorkflowTemplateItem/portal_workflow/test_invoice_workflow/worklists.xml b/bt5/erp5_simulation_performance_test/WorkflowTemplateItem/portal_workflow/test_invoice_workflow/worklists.xml
new file mode 100644
index 0000000000..40787ac9e4
--- /dev/null
+++ b/bt5/erp5_simulation_performance_test/WorkflowTemplateItem/portal_workflow/test_invoice_workflow/worklists.xml
@@ -0,0 +1,31 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="Worklists" module="Products.DCWorkflow.Worklists"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_mapping</string> </key>
+            <value>
+              <dictionary/>
+            </value>
+        </item>
+        <item>
+            <key> <string>_objects</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>worklists</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_simulation_performance_test/WorkflowTemplateItem/portal_workflow/test_order_workflow.xml b/bt5/erp5_simulation_performance_test/WorkflowTemplateItem/portal_workflow/test_order_workflow.xml
new file mode 100644
index 0000000000..830cc6ed20
--- /dev/null
+++ b/bt5/erp5_simulation_performance_test/WorkflowTemplateItem/portal_workflow/test_order_workflow.xml
@@ -0,0 +1,69 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="DCWorkflowDefinition" module="Products.DCWorkflow.DCWorkflow"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_objects</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+        <item>
+            <key> <string>creation_guard</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>description</string> </key>
+            <value> <string>A simplified order workflow for testSimulationPerformance.</string> </value>
+        </item>
+        <item>
+            <key> <string>groups</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>test_order_workflow</string> </value>
+        </item>
+        <item>
+            <key> <string>initial_state</string> </key>
+            <value> <string>draft</string> </value>
+        </item>
+        <item>
+            <key> <string>manager_bypass</string> </key>
+            <value> <int>0</int> </value>
+        </item>
+        <item>
+            <key> <string>permissions</string> </key>
+            <value>
+              <tuple>
+                <string>Modify portal content</string>
+                <string>Add portal content</string>
+                <string>View</string>
+                <string>Access contents information</string>
+                <string>Delete objects</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>state_var</string> </key>
+            <value> <string>simulation_state</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>Test Order Workflow</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_simulation_performance_test/WorkflowTemplateItem/portal_workflow/test_order_workflow/scripts.xml b/bt5/erp5_simulation_performance_test/WorkflowTemplateItem/portal_workflow/test_order_workflow/scripts.xml
new file mode 100644
index 0000000000..0622b3c34f
--- /dev/null
+++ b/bt5/erp5_simulation_performance_test/WorkflowTemplateItem/portal_workflow/test_order_workflow/scripts.xml
@@ -0,0 +1,31 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="Scripts" module="Products.DCWorkflow.Scripts"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_mapping</string> </key>
+            <value>
+              <dictionary/>
+            </value>
+        </item>
+        <item>
+            <key> <string>_objects</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>scripts</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_simulation_performance_test/WorkflowTemplateItem/portal_workflow/test_order_workflow/scripts/Workflow_accelerateBuild.xml b/bt5/erp5_simulation_performance_test/WorkflowTemplateItem/portal_workflow/test_order_workflow/scripts/Workflow_accelerateBuild.xml
new file mode 100644
index 0000000000..4c2cd17b01
--- /dev/null
+++ b/bt5/erp5_simulation_performance_test/WorkflowTemplateItem/portal_workflow/test_order_workflow/scripts/Workflow_accelerateBuild.xml
@@ -0,0 +1,136 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>Script_magic</string> </key>
+            <value> <int>3</int> </value>
+        </item>
+        <item>
+            <key> <string>_bind_names</string> </key>
+            <value>
+              <object>
+                <klass>
+                  <global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/>
+                </klass>
+                <tuple/>
+                <state>
+                  <dictionary>
+                    <item>
+                        <key> <string>_asgns</string> </key>
+                        <value>
+                          <dictionary>
+                            <item>
+                                <key> <string>name_container</string> </key>
+                                <value> <string>container</string> </value>
+                            </item>
+                            <item>
+                                <key> <string>name_context</string> </key>
+                                <value> <string>context</string> </value>
+                            </item>
+                            <item>
+                                <key> <string>name_m_self</string> </key>
+                                <value> <string>script</string> </value>
+                            </item>
+                            <item>
+                                <key> <string>name_subpath</string> </key>
+                                <value> <string>traverse_subpath</string> </value>
+                            </item>
+                          </dictionary>
+                        </value>
+                    </item>
+                  </dictionary>
+                </state>
+              </object>
+            </value>
+        </item>
+        <item>
+            <key> <string>_body</string> </key>
+            <value> <string>delivery = state_change[\'object\']\n
+delivery.Delivery_updateSimulation()\n
+\n
+delivery_path = delivery.getPath()\n
+expand_tag = delivery_path + \'_expand\'\n
+tag = delivery_path + \'_updateAppliedRule\'\n
+alarm = delivery.getPortalObject().portal_alarms.test_shipping_build\n
+alarm.activate(after_tag=(tag, expand_tag)).activeSense()\n
+</string> </value>
+        </item>
+        <item>
+            <key> <string>_code</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>_params</string> </key>
+            <value> <string>state_change, **kw</string> </value>
+        </item>
+        <item>
+            <key> <string>errors</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+        <item>
+            <key> <string>func_code</string> </key>
+            <value>
+              <object>
+                <klass>
+                  <global name="FuncCode" module="Shared.DC.Scripts.Signature"/>
+                </klass>
+                <tuple/>
+                <state>
+                  <dictionary>
+                    <item>
+                        <key> <string>co_argcount</string> </key>
+                        <value> <int>1</int> </value>
+                    </item>
+                    <item>
+                        <key> <string>co_varnames</string> </key>
+                        <value>
+                          <tuple>
+                            <string>state_change</string>
+                            <string>kw</string>
+                            <string>_getitem_</string>
+                            <string>delivery</string>
+                            <string>_getattr_</string>
+                            <string>delivery_path</string>
+                            <string>expand_tag</string>
+                            <string>tag</string>
+                            <string>alarm</string>
+                          </tuple>
+                        </value>
+                    </item>
+                  </dictionary>
+                </state>
+              </object>
+            </value>
+        </item>
+        <item>
+            <key> <string>func_defaults</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>Workflow_accelerateBuild</string> </value>
+        </item>
+        <item>
+            <key> <string>warnings</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_simulation_performance_test/WorkflowTemplateItem/portal_workflow/test_order_workflow/states.xml b/bt5/erp5_simulation_performance_test/WorkflowTemplateItem/portal_workflow/test_order_workflow/states.xml
new file mode 100644
index 0000000000..a21bb6e959
--- /dev/null
+++ b/bt5/erp5_simulation_performance_test/WorkflowTemplateItem/portal_workflow/test_order_workflow/states.xml
@@ -0,0 +1,31 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="States" module="Products.DCWorkflow.States"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_mapping</string> </key>
+            <value>
+              <dictionary/>
+            </value>
+        </item>
+        <item>
+            <key> <string>_objects</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>states</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_simulation_performance_test/WorkflowTemplateItem/portal_workflow/test_order_workflow/states/confirmed.xml b/bt5/erp5_simulation_performance_test/WorkflowTemplateItem/portal_workflow/test_order_workflow/states/confirmed.xml
new file mode 100644
index 0000000000..b966d8d26e
--- /dev/null
+++ b/bt5/erp5_simulation_performance_test/WorkflowTemplateItem/portal_workflow/test_order_workflow/states/confirmed.xml
@@ -0,0 +1,106 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="StateDefinition" module="Products.DCWorkflow.States"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>description</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>confirmed</string> </value>
+        </item>
+        <item>
+            <key> <string>permission_roles</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>Confirmed</string> </value>
+        </item>
+        <item>
+            <key> <string>transitions</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="2" aka="AAAAAAAAAAI=">
+    <pickle>
+      <tuple>
+        <global name="PersistentMapping" module="Persistence.mapping"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>data</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>Access contents information</string> </key>
+                    <value>
+                      <tuple>
+                        <string>Assignee</string>
+                        <string>Assignor</string>
+                        <string>Associate</string>
+                        <string>Auditor</string>
+                        <string>Manager</string>
+                      </tuple>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>Add portal content</string> </key>
+                    <value>
+                      <tuple>
+                        <string>Manager</string>
+                      </tuple>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>Delete objects</string> </key>
+                    <value>
+                      <tuple>
+                        <string>Manager</string>
+                      </tuple>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>Modify portal content</string> </key>
+                    <value>
+                      <tuple>
+                        <string>Manager</string>
+                      </tuple>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>View</string> </key>
+                    <value>
+                      <tuple>
+                        <string>Assignee</string>
+                        <string>Assignor</string>
+                        <string>Associate</string>
+                        <string>Auditor</string>
+                        <string>Manager</string>
+                      </tuple>
+                    </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_simulation_performance_test/WorkflowTemplateItem/portal_workflow/test_order_workflow/states/draft.xml b/bt5/erp5_simulation_performance_test/WorkflowTemplateItem/portal_workflow/test_order_workflow/states/draft.xml
new file mode 100644
index 0000000000..de969c9874
--- /dev/null
+++ b/bt5/erp5_simulation_performance_test/WorkflowTemplateItem/portal_workflow/test_order_workflow/states/draft.xml
@@ -0,0 +1,136 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="StateDefinition" module="Products.DCWorkflow.States"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>description</string> </key>
+            <value> <string>Default state of the document</string> </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>draft</string> </value>
+        </item>
+        <item>
+            <key> <string>permission_roles</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>Draft</string> </value>
+        </item>
+        <item>
+            <key> <string>transitions</string> </key>
+            <value>
+              <tuple>
+                <string>confirm</string>
+                <string>order</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>type_list</string> </key>
+            <value>
+              <tuple>
+                <string>draft_order</string>
+              </tuple>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="2" aka="AAAAAAAAAAI=">
+    <pickle>
+      <tuple>
+        <global name="PersistentMapping" module="Persistence.mapping"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>data</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>Access contents information</string> </key>
+                    <value>
+                      <tuple>
+                        <string>Assignee</string>
+                        <string>Assignor</string>
+                        <string>Associate</string>
+                        <string>Auditor</string>
+                        <string>Author</string>
+                        <string>Manager</string>
+                        <string>Owner</string>
+                      </tuple>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>Add portal content</string> </key>
+                    <value>
+                      <tuple>
+                        <string>Assignee</string>
+                        <string>Assignor</string>
+                        <string>Associate</string>
+                        <string>Author</string>
+                        <string>Manager</string>
+                        <string>Owner</string>
+                      </tuple>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>Delete objects</string> </key>
+                    <value>
+                      <tuple>
+                        <string>Assignee</string>
+                        <string>Assignor</string>
+                        <string>Associate</string>
+                        <string>Author</string>
+                        <string>Manager</string>
+                        <string>Owner</string>
+                      </tuple>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>Modify portal content</string> </key>
+                    <value>
+                      <tuple>
+                        <string>Assignee</string>
+                        <string>Assignor</string>
+                        <string>Associate</string>
+                        <string>Author</string>
+                        <string>Manager</string>
+                        <string>Owner</string>
+                      </tuple>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>View</string> </key>
+                    <value>
+                      <tuple>
+                        <string>Assignee</string>
+                        <string>Assignor</string>
+                        <string>Associate</string>
+                        <string>Auditor</string>
+                        <string>Author</string>
+                        <string>Manager</string>
+                        <string>Owner</string>
+                      </tuple>
+                    </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_simulation_performance_test/WorkflowTemplateItem/portal_workflow/test_order_workflow/states/ordered.xml b/bt5/erp5_simulation_performance_test/WorkflowTemplateItem/portal_workflow/test_order_workflow/states/ordered.xml
new file mode 100644
index 0000000000..d21c55718b
--- /dev/null
+++ b/bt5/erp5_simulation_performance_test/WorkflowTemplateItem/portal_workflow/test_order_workflow/states/ordered.xml
@@ -0,0 +1,126 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="StateDefinition" module="Products.DCWorkflow.States"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>description</string> </key>
+            <value> <string>Order has been confirmed to the customer or has been confirm by the supplier</string> </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>ordered</string> </value>
+        </item>
+        <item>
+            <key> <string>permission_roles</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>Order Placed</string> </value>
+        </item>
+        <item>
+            <key> <string>transitions</string> </key>
+            <value>
+              <tuple>
+                <string>confirm</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>type_list</string> </key>
+            <value>
+              <tuple>
+                <string>planned_order</string>
+                <string>future_inventory</string>
+              </tuple>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="2" aka="AAAAAAAAAAI=">
+    <pickle>
+      <tuple>
+        <global name="PersistentMapping" module="Persistence.mapping"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>data</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>Access contents information</string> </key>
+                    <value>
+                      <tuple>
+                        <string>Assignee</string>
+                        <string>Assignor</string>
+                        <string>Associate</string>
+                        <string>Auditor</string>
+                        <string>Manager</string>
+                      </tuple>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>Add portal content</string> </key>
+                    <value>
+                      <tuple>
+                        <string>Assignee</string>
+                        <string>Assignor</string>
+                        <string>Associate</string>
+                        <string>Manager</string>
+                      </tuple>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>Delete objects</string> </key>
+                    <value>
+                      <tuple>
+                        <string>Assignee</string>
+                        <string>Assignor</string>
+                        <string>Associate</string>
+                        <string>Manager</string>
+                      </tuple>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>Modify portal content</string> </key>
+                    <value>
+                      <tuple>
+                        <string>Assignee</string>
+                        <string>Assignor</string>
+                        <string>Associate</string>
+                        <string>Manager</string>
+                      </tuple>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>View</string> </key>
+                    <value>
+                      <tuple>
+                        <string>Assignee</string>
+                        <string>Assignor</string>
+                        <string>Associate</string>
+                        <string>Auditor</string>
+                        <string>Manager</string>
+                      </tuple>
+                    </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_simulation_performance_test/WorkflowTemplateItem/portal_workflow/test_order_workflow/transitions.xml b/bt5/erp5_simulation_performance_test/WorkflowTemplateItem/portal_workflow/test_order_workflow/transitions.xml
new file mode 100644
index 0000000000..092a5b48f6
--- /dev/null
+++ b/bt5/erp5_simulation_performance_test/WorkflowTemplateItem/portal_workflow/test_order_workflow/transitions.xml
@@ -0,0 +1,31 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="Transitions" module="Products.DCWorkflow.Transitions"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_mapping</string> </key>
+            <value>
+              <dictionary/>
+            </value>
+        </item>
+        <item>
+            <key> <string>_objects</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>transitions</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_simulation_performance_test/WorkflowTemplateItem/portal_workflow/test_order_workflow/transitions/confirm.xml b/bt5/erp5_simulation_performance_test/WorkflowTemplateItem/portal_workflow/test_order_workflow/transitions/confirm.xml
new file mode 100644
index 0000000000..73a1e05d88
--- /dev/null
+++ b/bt5/erp5_simulation_performance_test/WorkflowTemplateItem/portal_workflow/test_order_workflow/transitions/confirm.xml
@@ -0,0 +1,61 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="TransitionDefinition" module="Products.DCWorkflow.Transitions"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>actbox_category</string> </key>
+            <value> <string>workflow</string> </value>
+        </item>
+        <item>
+            <key> <string>actbox_name</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>actbox_url</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>after_script_name</string> </key>
+            <value> <string>Workflow_accelerateBuild</string> </value>
+        </item>
+        <item>
+            <key> <string>description</string> </key>
+            <value> <string>Confirm the order after it has been edited. This action will generate the related sale or purchase packing list</string> </value>
+        </item>
+        <item>
+            <key> <string>guard</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>confirm</string> </value>
+        </item>
+        <item>
+            <key> <string>new_state_id</string> </key>
+            <value> <string>confirmed</string> </value>
+        </item>
+        <item>
+            <key> <string>script_name</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>Confirm Order</string> </value>
+        </item>
+        <item>
+            <key> <string>trigger_type</string> </key>
+            <value> <int>2</int> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_simulation_performance_test/WorkflowTemplateItem/portal_workflow/test_order_workflow/transitions/order.xml b/bt5/erp5_simulation_performance_test/WorkflowTemplateItem/portal_workflow/test_order_workflow/transitions/order.xml
new file mode 100644
index 0000000000..32aae35856
--- /dev/null
+++ b/bt5/erp5_simulation_performance_test/WorkflowTemplateItem/portal_workflow/test_order_workflow/transitions/order.xml
@@ -0,0 +1,61 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="TransitionDefinition" module="Products.DCWorkflow.Transitions"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>actbox_category</string> </key>
+            <value> <string>workflow</string> </value>
+        </item>
+        <item>
+            <key> <string>actbox_name</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>actbox_url</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>after_script_name</string> </key>
+            <value> <string>Workflow_accelerateBuild</string> </value>
+        </item>
+        <item>
+            <key> <string>description</string> </key>
+            <value> <string>marks the document as it has been confirmed to the customer or it has been confirmed by the supplier</string> </value>
+        </item>
+        <item>
+            <key> <string>guard</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>order</string> </value>
+        </item>
+        <item>
+            <key> <string>new_state_id</string> </key>
+            <value> <string>ordered</string> </value>
+        </item>
+        <item>
+            <key> <string>script_name</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>Place Order</string> </value>
+        </item>
+        <item>
+            <key> <string>trigger_type</string> </key>
+            <value> <int>2</int> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_simulation_performance_test/WorkflowTemplateItem/portal_workflow/test_order_workflow/variables.xml b/bt5/erp5_simulation_performance_test/WorkflowTemplateItem/portal_workflow/test_order_workflow/variables.xml
new file mode 100644
index 0000000000..a067e6fbbe
--- /dev/null
+++ b/bt5/erp5_simulation_performance_test/WorkflowTemplateItem/portal_workflow/test_order_workflow/variables.xml
@@ -0,0 +1,31 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="Variables" module="Products.DCWorkflow.Variables"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_mapping</string> </key>
+            <value>
+              <dictionary/>
+            </value>
+        </item>
+        <item>
+            <key> <string>_objects</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>variables</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_simulation_performance_test/WorkflowTemplateItem/portal_workflow/test_order_workflow/variables/action.xml b/bt5/erp5_simulation_performance_test/WorkflowTemplateItem/portal_workflow/test_order_workflow/variables/action.xml
new file mode 100644
index 0000000000..ed306eb6af
--- /dev/null
+++ b/bt5/erp5_simulation_performance_test/WorkflowTemplateItem/portal_workflow/test_order_workflow/variables/action.xml
@@ -0,0 +1,70 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="VariableDefinition" module="Products.DCWorkflow.Variables"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>default_expr</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>default_value</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>description</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>for_catalog</string> </key>
+            <value> <int>0</int> </value>
+        </item>
+        <item>
+            <key> <string>for_status</string> </key>
+            <value> <int>1</int> </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>action</string> </value>
+        </item>
+        <item>
+            <key> <string>info_guard</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>update_always</string> </key>
+            <value> <int>1</int> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="2" aka="AAAAAAAAAAI=">
+    <pickle>
+      <tuple>
+        <tuple>
+          <string>Products.CMFCore.Expression</string>
+          <string>Expression</string>
+        </tuple>
+        <none/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>text</string> </key>
+            <value> <string>transition/getId|nothing</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_simulation_performance_test/WorkflowTemplateItem/portal_workflow/test_order_workflow/variables/actor.xml b/bt5/erp5_simulation_performance_test/WorkflowTemplateItem/portal_workflow/test_order_workflow/variables/actor.xml
new file mode 100644
index 0000000000..d2b89d6051
--- /dev/null
+++ b/bt5/erp5_simulation_performance_test/WorkflowTemplateItem/portal_workflow/test_order_workflow/variables/actor.xml
@@ -0,0 +1,70 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="VariableDefinition" module="Products.DCWorkflow.Variables"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>default_expr</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>default_value</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>description</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>for_catalog</string> </key>
+            <value> <int>0</int> </value>
+        </item>
+        <item>
+            <key> <string>for_status</string> </key>
+            <value> <int>1</int> </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>actor</string> </value>
+        </item>
+        <item>
+            <key> <string>info_guard</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>update_always</string> </key>
+            <value> <int>1</int> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="2" aka="AAAAAAAAAAI=">
+    <pickle>
+      <tuple>
+        <tuple>
+          <string>Products.CMFCore.Expression</string>
+          <string>Expression</string>
+        </tuple>
+        <none/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>text</string> </key>
+            <value> <string>user/getUserName</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_simulation_performance_test/WorkflowTemplateItem/portal_workflow/test_order_workflow/variables/comment.xml b/bt5/erp5_simulation_performance_test/WorkflowTemplateItem/portal_workflow/test_order_workflow/variables/comment.xml
new file mode 100644
index 0000000000..999beb2edb
--- /dev/null
+++ b/bt5/erp5_simulation_performance_test/WorkflowTemplateItem/portal_workflow/test_order_workflow/variables/comment.xml
@@ -0,0 +1,70 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="VariableDefinition" module="Products.DCWorkflow.Variables"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>default_expr</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>default_value</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>description</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>for_catalog</string> </key>
+            <value> <int>0</int> </value>
+        </item>
+        <item>
+            <key> <string>for_status</string> </key>
+            <value> <int>1</int> </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>comment</string> </value>
+        </item>
+        <item>
+            <key> <string>info_guard</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>update_always</string> </key>
+            <value> <int>1</int> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="2" aka="AAAAAAAAAAI=">
+    <pickle>
+      <tuple>
+        <tuple>
+          <string>Products.CMFCore.Expression</string>
+          <string>Expression</string>
+        </tuple>
+        <none/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>text</string> </key>
+            <value> <string>python:state_change.kwargs.get(\'comment\',\'\')</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_simulation_performance_test/WorkflowTemplateItem/portal_workflow/test_order_workflow/variables/error_message.xml b/bt5/erp5_simulation_performance_test/WorkflowTemplateItem/portal_workflow/test_order_workflow/variables/error_message.xml
new file mode 100644
index 0000000000..e89715783d
--- /dev/null
+++ b/bt5/erp5_simulation_performance_test/WorkflowTemplateItem/portal_workflow/test_order_workflow/variables/error_message.xml
@@ -0,0 +1,51 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="VariableDefinition" module="Products.DCWorkflow.Variables"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>default_expr</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>default_value</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>description</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>for_catalog</string> </key>
+            <value> <int>0</int> </value>
+        </item>
+        <item>
+            <key> <string>for_status</string> </key>
+            <value> <int>1</int> </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>error_message</string> </value>
+        </item>
+        <item>
+            <key> <string>info_guard</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>update_always</string> </key>
+            <value> <int>1</int> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_simulation_performance_test/WorkflowTemplateItem/portal_workflow/test_order_workflow/variables/history.xml b/bt5/erp5_simulation_performance_test/WorkflowTemplateItem/portal_workflow/test_order_workflow/variables/history.xml
new file mode 100644
index 0000000000..d7bca55728
--- /dev/null
+++ b/bt5/erp5_simulation_performance_test/WorkflowTemplateItem/portal_workflow/test_order_workflow/variables/history.xml
@@ -0,0 +1,70 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="VariableDefinition" module="Products.DCWorkflow.Variables"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>default_expr</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>default_value</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>description</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>for_catalog</string> </key>
+            <value> <int>0</int> </value>
+        </item>
+        <item>
+            <key> <string>for_status</string> </key>
+            <value> <int>0</int> </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>history</string> </value>
+        </item>
+        <item>
+            <key> <string>info_guard</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>update_always</string> </key>
+            <value> <int>1</int> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="2" aka="AAAAAAAAAAI=">
+    <pickle>
+      <tuple>
+        <tuple>
+          <string>Products.CMFCore.Expression</string>
+          <string>Expression</string>
+        </tuple>
+        <none/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>text</string> </key>
+            <value> <string>state_change/getHistory</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_simulation_performance_test/WorkflowTemplateItem/portal_workflow/test_order_workflow/variables/portal_type.xml b/bt5/erp5_simulation_performance_test/WorkflowTemplateItem/portal_workflow/test_order_workflow/variables/portal_type.xml
new file mode 100644
index 0000000000..a874ecc8bb
--- /dev/null
+++ b/bt5/erp5_simulation_performance_test/WorkflowTemplateItem/portal_workflow/test_order_workflow/variables/portal_type.xml
@@ -0,0 +1,51 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="VariableDefinition" module="Products.DCWorkflow.Variables"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>default_expr</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>default_value</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>description</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>for_catalog</string> </key>
+            <value> <int>1</int> </value>
+        </item>
+        <item>
+            <key> <string>for_status</string> </key>
+            <value> <int>0</int> </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>portal_type</string> </value>
+        </item>
+        <item>
+            <key> <string>info_guard</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>update_always</string> </key>
+            <value> <int>0</int> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_simulation_performance_test/WorkflowTemplateItem/portal_workflow/test_order_workflow/variables/time.xml b/bt5/erp5_simulation_performance_test/WorkflowTemplateItem/portal_workflow/test_order_workflow/variables/time.xml
new file mode 100644
index 0000000000..0364a3b135
--- /dev/null
+++ b/bt5/erp5_simulation_performance_test/WorkflowTemplateItem/portal_workflow/test_order_workflow/variables/time.xml
@@ -0,0 +1,70 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="VariableDefinition" module="Products.DCWorkflow.Variables"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>default_expr</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>default_value</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>description</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>for_catalog</string> </key>
+            <value> <int>0</int> </value>
+        </item>
+        <item>
+            <key> <string>for_status</string> </key>
+            <value> <int>1</int> </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>time</string> </value>
+        </item>
+        <item>
+            <key> <string>info_guard</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>update_always</string> </key>
+            <value> <int>1</int> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="2" aka="AAAAAAAAAAI=">
+    <pickle>
+      <tuple>
+        <tuple>
+          <string>Products.CMFCore.Expression</string>
+          <string>Expression</string>
+        </tuple>
+        <none/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>text</string> </key>
+            <value> <string>state_change/getDateTime</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_simulation_performance_test/WorkflowTemplateItem/portal_workflow/test_order_workflow/worklists.xml b/bt5/erp5_simulation_performance_test/WorkflowTemplateItem/portal_workflow/test_order_workflow/worklists.xml
new file mode 100644
index 0000000000..40787ac9e4
--- /dev/null
+++ b/bt5/erp5_simulation_performance_test/WorkflowTemplateItem/portal_workflow/test_order_workflow/worklists.xml
@@ -0,0 +1,31 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="Worklists" module="Products.DCWorkflow.Worklists"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_mapping</string> </key>
+            <value>
+              <dictionary/>
+            </value>
+        </item>
+        <item>
+            <key> <string>_objects</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>worklists</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_simulation_performance_test/WorkflowTemplateItem/portal_workflow/test_packing_list_workflow.xml b/bt5/erp5_simulation_performance_test/WorkflowTemplateItem/portal_workflow/test_packing_list_workflow.xml
new file mode 100644
index 0000000000..3f34bf632a
--- /dev/null
+++ b/bt5/erp5_simulation_performance_test/WorkflowTemplateItem/portal_workflow/test_packing_list_workflow.xml
@@ -0,0 +1,69 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="DCWorkflowDefinition" module="Products.DCWorkflow.DCWorkflow"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_objects</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+        <item>
+            <key> <string>creation_guard</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>description</string> </key>
+            <value> <string>A simplified packing list workflow for testSimulationPerformance.</string> </value>
+        </item>
+        <item>
+            <key> <string>groups</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>test_packing_list_workflow</string> </value>
+        </item>
+        <item>
+            <key> <string>initial_state</string> </key>
+            <value> <string>draft</string> </value>
+        </item>
+        <item>
+            <key> <string>manager_bypass</string> </key>
+            <value> <int>0</int> </value>
+        </item>
+        <item>
+            <key> <string>permissions</string> </key>
+            <value>
+              <tuple>
+                <string>Modify portal content</string>
+                <string>Add portal content</string>
+                <string>Access contents information</string>
+                <string>Delete objects</string>
+                <string>View</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>state_var</string> </key>
+            <value> <string>simulation_state</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>Packing List Workflow</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_simulation_performance_test/WorkflowTemplateItem/portal_workflow/test_packing_list_workflow/scripts.xml b/bt5/erp5_simulation_performance_test/WorkflowTemplateItem/portal_workflow/test_packing_list_workflow/scripts.xml
new file mode 100644
index 0000000000..0622b3c34f
--- /dev/null
+++ b/bt5/erp5_simulation_performance_test/WorkflowTemplateItem/portal_workflow/test_packing_list_workflow/scripts.xml
@@ -0,0 +1,31 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="Scripts" module="Products.DCWorkflow.Scripts"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_mapping</string> </key>
+            <value>
+              <dictionary/>
+            </value>
+        </item>
+        <item>
+            <key> <string>_objects</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>scripts</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_simulation_performance_test/WorkflowTemplateItem/portal_workflow/test_packing_list_workflow/scripts/Workflow_accelerateBuild.xml b/bt5/erp5_simulation_performance_test/WorkflowTemplateItem/portal_workflow/test_packing_list_workflow/scripts/Workflow_accelerateBuild.xml
new file mode 100644
index 0000000000..c6894c5a2a
--- /dev/null
+++ b/bt5/erp5_simulation_performance_test/WorkflowTemplateItem/portal_workflow/test_packing_list_workflow/scripts/Workflow_accelerateBuild.xml
@@ -0,0 +1,136 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>Script_magic</string> </key>
+            <value> <int>3</int> </value>
+        </item>
+        <item>
+            <key> <string>_bind_names</string> </key>
+            <value>
+              <object>
+                <klass>
+                  <global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/>
+                </klass>
+                <tuple/>
+                <state>
+                  <dictionary>
+                    <item>
+                        <key> <string>_asgns</string> </key>
+                        <value>
+                          <dictionary>
+                            <item>
+                                <key> <string>name_container</string> </key>
+                                <value> <string>container</string> </value>
+                            </item>
+                            <item>
+                                <key> <string>name_context</string> </key>
+                                <value> <string>context</string> </value>
+                            </item>
+                            <item>
+                                <key> <string>name_m_self</string> </key>
+                                <value> <string>script</string> </value>
+                            </item>
+                            <item>
+                                <key> <string>name_subpath</string> </key>
+                                <value> <string>traverse_subpath</string> </value>
+                            </item>
+                          </dictionary>
+                        </value>
+                    </item>
+                  </dictionary>
+                </state>
+              </object>
+            </value>
+        </item>
+        <item>
+            <key> <string>_body</string> </key>
+            <value> <string>delivery = state_change[\'object\']\n
+delivery.Delivery_updateSimulation()\n
+\n
+delivery_path = delivery.getPath()\n
+expand_tag = delivery_path + \'_expand\'\n
+tag = delivery_path + \'_updateAppliedRule\'\n
+alarm = delivery.getPortalObject().portal_alarms.test_invoice_build\n
+alarm.activate(after_tag=(tag, expand_tag)).activeSense()\n
+</string> </value>
+        </item>
+        <item>
+            <key> <string>_code</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>_params</string> </key>
+            <value> <string>state_change, **kw</string> </value>
+        </item>
+        <item>
+            <key> <string>errors</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+        <item>
+            <key> <string>func_code</string> </key>
+            <value>
+              <object>
+                <klass>
+                  <global name="FuncCode" module="Shared.DC.Scripts.Signature"/>
+                </klass>
+                <tuple/>
+                <state>
+                  <dictionary>
+                    <item>
+                        <key> <string>co_argcount</string> </key>
+                        <value> <int>1</int> </value>
+                    </item>
+                    <item>
+                        <key> <string>co_varnames</string> </key>
+                        <value>
+                          <tuple>
+                            <string>state_change</string>
+                            <string>kw</string>
+                            <string>_getitem_</string>
+                            <string>delivery</string>
+                            <string>_getattr_</string>
+                            <string>delivery_path</string>
+                            <string>expand_tag</string>
+                            <string>tag</string>
+                            <string>alarm</string>
+                          </tuple>
+                        </value>
+                    </item>
+                  </dictionary>
+                </state>
+              </object>
+            </value>
+        </item>
+        <item>
+            <key> <string>func_defaults</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>Workflow_accelerateBuild</string> </value>
+        </item>
+        <item>
+            <key> <string>warnings</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_simulation_performance_test/WorkflowTemplateItem/portal_workflow/test_packing_list_workflow/scripts/Workflow_updateSimulation.xml b/bt5/erp5_simulation_performance_test/WorkflowTemplateItem/portal_workflow/test_packing_list_workflow/scripts/Workflow_updateSimulation.xml
new file mode 100644
index 0000000000..fa3ef1b629
--- /dev/null
+++ b/bt5/erp5_simulation_performance_test/WorkflowTemplateItem/portal_workflow/test_packing_list_workflow/scripts/Workflow_updateSimulation.xml
@@ -0,0 +1,126 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>Script_magic</string> </key>
+            <value> <int>3</int> </value>
+        </item>
+        <item>
+            <key> <string>_bind_names</string> </key>
+            <value>
+              <object>
+                <klass>
+                  <global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/>
+                </klass>
+                <tuple/>
+                <state>
+                  <dictionary>
+                    <item>
+                        <key> <string>_asgns</string> </key>
+                        <value>
+                          <dictionary>
+                            <item>
+                                <key> <string>name_container</string> </key>
+                                <value> <string>container</string> </value>
+                            </item>
+                            <item>
+                                <key> <string>name_context</string> </key>
+                                <value> <string>context</string> </value>
+                            </item>
+                            <item>
+                                <key> <string>name_m_self</string> </key>
+                                <value> <string>script</string> </value>
+                            </item>
+                            <item>
+                                <key> <string>name_subpath</string> </key>
+                                <value> <string>traverse_subpath</string> </value>
+                            </item>
+                          </dictionary>
+                        </value>
+                    </item>
+                  </dictionary>
+                </state>
+              </object>
+            </value>
+        </item>
+        <item>
+            <key> <string>_body</string> </key>
+            <value> <string>delivery = state_change[\'object\']\n
+delivery.Delivery_updateSimulation()\n
+</string> </value>
+        </item>
+        <item>
+            <key> <string>_code</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>_params</string> </key>
+            <value> <string>state_change, **kw</string> </value>
+        </item>
+        <item>
+            <key> <string>errors</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+        <item>
+            <key> <string>func_code</string> </key>
+            <value>
+              <object>
+                <klass>
+                  <global name="FuncCode" module="Shared.DC.Scripts.Signature"/>
+                </klass>
+                <tuple/>
+                <state>
+                  <dictionary>
+                    <item>
+                        <key> <string>co_argcount</string> </key>
+                        <value> <int>1</int> </value>
+                    </item>
+                    <item>
+                        <key> <string>co_varnames</string> </key>
+                        <value>
+                          <tuple>
+                            <string>state_change</string>
+                            <string>kw</string>
+                            <string>_getitem_</string>
+                            <string>delivery</string>
+                            <string>_getattr_</string>
+                          </tuple>
+                        </value>
+                    </item>
+                  </dictionary>
+                </state>
+              </object>
+            </value>
+        </item>
+        <item>
+            <key> <string>func_defaults</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>Workflow_updateSimulation</string> </value>
+        </item>
+        <item>
+            <key> <string>warnings</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_simulation_performance_test/WorkflowTemplateItem/portal_workflow/test_packing_list_workflow/states.xml b/bt5/erp5_simulation_performance_test/WorkflowTemplateItem/portal_workflow/test_packing_list_workflow/states.xml
new file mode 100644
index 0000000000..a21bb6e959
--- /dev/null
+++ b/bt5/erp5_simulation_performance_test/WorkflowTemplateItem/portal_workflow/test_packing_list_workflow/states.xml
@@ -0,0 +1,31 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="States" module="Products.DCWorkflow.States"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_mapping</string> </key>
+            <value>
+              <dictionary/>
+            </value>
+        </item>
+        <item>
+            <key> <string>_objects</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>states</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_simulation_performance_test/WorkflowTemplateItem/portal_workflow/test_packing_list_workflow/states/confirmed.xml b/bt5/erp5_simulation_performance_test/WorkflowTemplateItem/portal_workflow/test_packing_list_workflow/states/confirmed.xml
new file mode 100644
index 0000000000..3dfcbddde4
--- /dev/null
+++ b/bt5/erp5_simulation_performance_test/WorkflowTemplateItem/portal_workflow/test_packing_list_workflow/states/confirmed.xml
@@ -0,0 +1,133 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="StateDefinition" module="Products.DCWorkflow.States"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>description</string> </key>
+            <value> <string>Packign list has to be sent to customers or should be received from a supplier</string> </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>confirmed</string> </value>
+        </item>
+        <item>
+            <key> <string>permission_roles</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>Confirmed</string> </value>
+        </item>
+        <item>
+            <key> <string>transitions</string> </key>
+            <value>
+              <tuple>
+                <string>cancel</string>
+                <string>cancel_action</string>
+                <string>set_ready</string>
+                <string>set_ready_action</string>
+                <string>start</string>
+                <string>start_action</string>
+                <string>stop</string>
+                <string>stop_action</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>type_list</string> </key>
+            <value>
+              <tuple>
+                <string>reserved_inventory</string>
+              </tuple>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="2" aka="AAAAAAAAAAI=">
+    <pickle>
+      <tuple>
+        <global name="PersistentMapping" module="Persistence.mapping"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>data</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>Access contents information</string> </key>
+                    <value>
+                      <tuple>
+                        <string>Assignee</string>
+                        <string>Assignor</string>
+                        <string>Associate</string>
+                        <string>Auditor</string>
+                        <string>Manager</string>
+                        <string>Owner</string>
+                      </tuple>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>Add portal content</string> </key>
+                    <value>
+                      <tuple>
+                        <string>Assignee</string>
+                        <string>Assignor</string>
+                        <string>Associate</string>
+                        <string>Manager</string>
+                      </tuple>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>Delete objects</string> </key>
+                    <value>
+                      <tuple>
+                        <string>Assignee</string>
+                        <string>Assignor</string>
+                        <string>Associate</string>
+                        <string>Manager</string>
+                      </tuple>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>Modify portal content</string> </key>
+                    <value>
+                      <tuple>
+                        <string>Assignee</string>
+                        <string>Assignor</string>
+                        <string>Associate</string>
+                        <string>Manager</string>
+                      </tuple>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>View</string> </key>
+                    <value>
+                      <tuple>
+                        <string>Assignee</string>
+                        <string>Assignor</string>
+                        <string>Associate</string>
+                        <string>Auditor</string>
+                        <string>Manager</string>
+                      </tuple>
+                    </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_simulation_performance_test/WorkflowTemplateItem/portal_workflow/test_packing_list_workflow/states/delivered.xml b/bt5/erp5_simulation_performance_test/WorkflowTemplateItem/portal_workflow/test_packing_list_workflow/states/delivered.xml
new file mode 100644
index 0000000000..fe0e83b2dc
--- /dev/null
+++ b/bt5/erp5_simulation_performance_test/WorkflowTemplateItem/portal_workflow/test_packing_list_workflow/states/delivered.xml
@@ -0,0 +1,114 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="StateDefinition" module="Products.DCWorkflow.States"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>description</string> </key>
+            <value> <string>Packing list has been completely processed</string> </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>delivered</string> </value>
+        </item>
+        <item>
+            <key> <string>permission_roles</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>Delivered</string> </value>
+        </item>
+        <item>
+            <key> <string>transitions</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+        <item>
+            <key> <string>type_list</string> </key>
+            <value>
+              <tuple>
+                <string>current_inventory</string>
+              </tuple>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="2" aka="AAAAAAAAAAI=">
+    <pickle>
+      <tuple>
+        <global name="PersistentMapping" module="Persistence.mapping"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>data</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>Access contents information</string> </key>
+                    <value>
+                      <tuple>
+                        <string>Assignee</string>
+                        <string>Assignor</string>
+                        <string>Associate</string>
+                        <string>Auditor</string>
+                        <string>Manager</string>
+                      </tuple>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>Add portal content</string> </key>
+                    <value>
+                      <tuple>
+                        <string>Manager</string>
+                      </tuple>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>Delete objects</string> </key>
+                    <value>
+                      <tuple>
+                        <string>Manager</string>
+                      </tuple>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>Modify portal content</string> </key>
+                    <value>
+                      <tuple>
+                        <string>Manager</string>
+                      </tuple>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>View</string> </key>
+                    <value>
+                      <tuple>
+                        <string>Assignee</string>
+                        <string>Assignor</string>
+                        <string>Associate</string>
+                        <string>Auditor</string>
+                        <string>Manager</string>
+                      </tuple>
+                    </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_simulation_performance_test/WorkflowTemplateItem/portal_workflow/test_packing_list_workflow/states/draft.xml b/bt5/erp5_simulation_performance_test/WorkflowTemplateItem/portal_workflow/test_packing_list_workflow/states/draft.xml
new file mode 100644
index 0000000000..b1e1c3c169
--- /dev/null
+++ b/bt5/erp5_simulation_performance_test/WorkflowTemplateItem/portal_workflow/test_packing_list_workflow/states/draft.xml
@@ -0,0 +1,133 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="StateDefinition" module="Products.DCWorkflow.States"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>description</string> </key>
+            <value> <string>Default state of the document</string> </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>draft</string> </value>
+        </item>
+        <item>
+            <key> <string>permission_roles</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>Draft</string> </value>
+        </item>
+        <item>
+            <key> <string>transitions</string> </key>
+            <value>
+              <tuple>
+                <string>cancel</string>
+                <string>cancel_action</string>
+                <string>confirm</string>
+                <string>confirm_action</string>
+                <string>delete</string>
+                <string>delete_action</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>type_list</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="2" aka="AAAAAAAAAAI=">
+    <pickle>
+      <tuple>
+        <global name="PersistentMapping" module="Persistence.mapping"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>data</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>Access contents information</string> </key>
+                    <value>
+                      <tuple>
+                        <string>Assignee</string>
+                        <string>Assignor</string>
+                        <string>Associate</string>
+                        <string>Auditor</string>
+                        <string>Manager</string>
+                        <string>Owner</string>
+                      </tuple>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>Add portal content</string> </key>
+                    <value>
+                      <tuple>
+                        <string>Assignee</string>
+                        <string>Assignor</string>
+                        <string>Associate</string>
+                        <string>Manager</string>
+                        <string>Owner</string>
+                      </tuple>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>Delete objects</string> </key>
+                    <value>
+                      <tuple>
+                        <string>Assignee</string>
+                        <string>Assignor</string>
+                        <string>Associate</string>
+                        <string>Manager</string>
+                        <string>Owner</string>
+                      </tuple>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>Modify portal content</string> </key>
+                    <value>
+                      <tuple>
+                        <string>Assignee</string>
+                        <string>Assignor</string>
+                        <string>Associate</string>
+                        <string>Manager</string>
+                        <string>Owner</string>
+                      </tuple>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>View</string> </key>
+                    <value>
+                      <tuple>
+                        <string>Assignee</string>
+                        <string>Assignor</string>
+                        <string>Associate</string>
+                        <string>Auditor</string>
+                        <string>Manager</string>
+                        <string>Owner</string>
+                      </tuple>
+                    </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_simulation_performance_test/WorkflowTemplateItem/portal_workflow/test_packing_list_workflow/states/stopped.xml b/bt5/erp5_simulation_performance_test/WorkflowTemplateItem/portal_workflow/test_packing_list_workflow/states/stopped.xml
new file mode 100644
index 0000000000..3b37cbc343
--- /dev/null
+++ b/bt5/erp5_simulation_performance_test/WorkflowTemplateItem/portal_workflow/test_packing_list_workflow/states/stopped.xml
@@ -0,0 +1,120 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="StateDefinition" module="Products.DCWorkflow.States"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>description</string> </key>
+            <value> <string>Declares the packing list status as received</string> </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>stopped</string> </value>
+        </item>
+        <item>
+            <key> <string>permission_roles</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>Received</string> </value>
+        </item>
+        <item>
+            <key> <string>transitions</string> </key>
+            <value>
+              <tuple>
+                <string>deliver</string>
+                <string>deliver_action</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>type_list</string> </key>
+            <value>
+              <tuple>
+                <string>current_inventory</string>
+              </tuple>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="2" aka="AAAAAAAAAAI=">
+    <pickle>
+      <tuple>
+        <global name="PersistentMapping" module="Persistence.mapping"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>data</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>Access contents information</string> </key>
+                    <value>
+                      <tuple>
+                        <string>Assignee</string>
+                        <string>Assignor</string>
+                        <string>Associate</string>
+                        <string>Auditor</string>
+                        <string>Manager</string>
+                      </tuple>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>Add portal content</string> </key>
+                    <value>
+                      <tuple>
+                        <string>Assignor</string>
+                        <string>Manager</string>
+                      </tuple>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>Delete objects</string> </key>
+                    <value>
+                      <tuple>
+                        <string>Assignor</string>
+                        <string>Manager</string>
+                      </tuple>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>Modify portal content</string> </key>
+                    <value>
+                      <tuple>
+                        <string>Assignor</string>
+                        <string>Manager</string>
+                      </tuple>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>View</string> </key>
+                    <value>
+                      <tuple>
+                        <string>Assignee</string>
+                        <string>Assignor</string>
+                        <string>Associate</string>
+                        <string>Auditor</string>
+                        <string>Manager</string>
+                      </tuple>
+                    </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_simulation_performance_test/WorkflowTemplateItem/portal_workflow/test_packing_list_workflow/transitions.xml b/bt5/erp5_simulation_performance_test/WorkflowTemplateItem/portal_workflow/test_packing_list_workflow/transitions.xml
new file mode 100644
index 0000000000..092a5b48f6
--- /dev/null
+++ b/bt5/erp5_simulation_performance_test/WorkflowTemplateItem/portal_workflow/test_packing_list_workflow/transitions.xml
@@ -0,0 +1,31 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="Transitions" module="Products.DCWorkflow.Transitions"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_mapping</string> </key>
+            <value>
+              <dictionary/>
+            </value>
+        </item>
+        <item>
+            <key> <string>_objects</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>transitions</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_simulation_performance_test/WorkflowTemplateItem/portal_workflow/test_packing_list_workflow/transitions/confirm.xml b/bt5/erp5_simulation_performance_test/WorkflowTemplateItem/portal_workflow/test_packing_list_workflow/transitions/confirm.xml
new file mode 100644
index 0000000000..724665bf72
--- /dev/null
+++ b/bt5/erp5_simulation_performance_test/WorkflowTemplateItem/portal_workflow/test_packing_list_workflow/transitions/confirm.xml
@@ -0,0 +1,61 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="TransitionDefinition" module="Products.DCWorkflow.Transitions"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>actbox_category</string> </key>
+            <value> <string>workflow</string> </value>
+        </item>
+        <item>
+            <key> <string>actbox_name</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>actbox_url</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>after_script_name</string> </key>
+            <value> <string>Workflow_updateSimulation</string> </value>
+        </item>
+        <item>
+            <key> <string>description</string> </key>
+            <value> <string>ask for a packing list to be prepared</string> </value>
+        </item>
+        <item>
+            <key> <string>guard</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>confirm</string> </value>
+        </item>
+        <item>
+            <key> <string>new_state_id</string> </key>
+            <value> <string>confirmed</string> </value>
+        </item>
+        <item>
+            <key> <string>script_name</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>Confirm Packing List</string> </value>
+        </item>
+        <item>
+            <key> <string>trigger_type</string> </key>
+            <value> <int>2</int> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_simulation_performance_test/WorkflowTemplateItem/portal_workflow/test_packing_list_workflow/transitions/deliver.xml b/bt5/erp5_simulation_performance_test/WorkflowTemplateItem/portal_workflow/test_packing_list_workflow/transitions/deliver.xml
new file mode 100644
index 0000000000..973ba7df0b
--- /dev/null
+++ b/bt5/erp5_simulation_performance_test/WorkflowTemplateItem/portal_workflow/test_packing_list_workflow/transitions/deliver.xml
@@ -0,0 +1,61 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="TransitionDefinition" module="Products.DCWorkflow.Transitions"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>actbox_category</string> </key>
+            <value> <string>workflow</string> </value>
+        </item>
+        <item>
+            <key> <string>actbox_name</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>actbox_url</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>after_script_name</string> </key>
+            <value> <string>Workflow_accelerateBuild</string> </value>
+        </item>
+        <item>
+            <key> <string>description</string> </key>
+            <value> <string>Defined a packing list as completely processed</string> </value>
+        </item>
+        <item>
+            <key> <string>guard</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>deliver</string> </value>
+        </item>
+        <item>
+            <key> <string>new_state_id</string> </key>
+            <value> <string>delivered</string> </value>
+        </item>
+        <item>
+            <key> <string>script_name</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>Deliver Packing List</string> </value>
+        </item>
+        <item>
+            <key> <string>trigger_type</string> </key>
+            <value> <int>2</int> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_simulation_performance_test/WorkflowTemplateItem/portal_workflow/test_packing_list_workflow/transitions/stop.xml b/bt5/erp5_simulation_performance_test/WorkflowTemplateItem/portal_workflow/test_packing_list_workflow/transitions/stop.xml
new file mode 100644
index 0000000000..9f453b2052
--- /dev/null
+++ b/bt5/erp5_simulation_performance_test/WorkflowTemplateItem/portal_workflow/test_packing_list_workflow/transitions/stop.xml
@@ -0,0 +1,61 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="TransitionDefinition" module="Products.DCWorkflow.Transitions"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>actbox_category</string> </key>
+            <value> <string>workflow</string> </value>
+        </item>
+        <item>
+            <key> <string>actbox_name</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>actbox_url</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>after_script_name</string> </key>
+            <value> <string>Workflow_accelerateBuild</string> </value>
+        </item>
+        <item>
+            <key> <string>description</string> </key>
+            <value> <string>Declares a packing list as received and creates the related accounting transaction</string> </value>
+        </item>
+        <item>
+            <key> <string>guard</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>stop</string> </value>
+        </item>
+        <item>
+            <key> <string>new_state_id</string> </key>
+            <value> <string>stopped</string> </value>
+        </item>
+        <item>
+            <key> <string>script_name</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>Receive Packing List</string> </value>
+        </item>
+        <item>
+            <key> <string>trigger_type</string> </key>
+            <value> <int>2</int> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_simulation_performance_test/WorkflowTemplateItem/portal_workflow/test_packing_list_workflow/variables.xml b/bt5/erp5_simulation_performance_test/WorkflowTemplateItem/portal_workflow/test_packing_list_workflow/variables.xml
new file mode 100644
index 0000000000..a067e6fbbe
--- /dev/null
+++ b/bt5/erp5_simulation_performance_test/WorkflowTemplateItem/portal_workflow/test_packing_list_workflow/variables.xml
@@ -0,0 +1,31 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="Variables" module="Products.DCWorkflow.Variables"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_mapping</string> </key>
+            <value>
+              <dictionary/>
+            </value>
+        </item>
+        <item>
+            <key> <string>_objects</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>variables</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_simulation_performance_test/WorkflowTemplateItem/portal_workflow/test_packing_list_workflow/variables/action.xml b/bt5/erp5_simulation_performance_test/WorkflowTemplateItem/portal_workflow/test_packing_list_workflow/variables/action.xml
new file mode 100644
index 0000000000..ed306eb6af
--- /dev/null
+++ b/bt5/erp5_simulation_performance_test/WorkflowTemplateItem/portal_workflow/test_packing_list_workflow/variables/action.xml
@@ -0,0 +1,70 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="VariableDefinition" module="Products.DCWorkflow.Variables"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>default_expr</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>default_value</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>description</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>for_catalog</string> </key>
+            <value> <int>0</int> </value>
+        </item>
+        <item>
+            <key> <string>for_status</string> </key>
+            <value> <int>1</int> </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>action</string> </value>
+        </item>
+        <item>
+            <key> <string>info_guard</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>update_always</string> </key>
+            <value> <int>1</int> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="2" aka="AAAAAAAAAAI=">
+    <pickle>
+      <tuple>
+        <tuple>
+          <string>Products.CMFCore.Expression</string>
+          <string>Expression</string>
+        </tuple>
+        <none/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>text</string> </key>
+            <value> <string>transition/getId|nothing</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_simulation_performance_test/WorkflowTemplateItem/portal_workflow/test_packing_list_workflow/variables/actor.xml b/bt5/erp5_simulation_performance_test/WorkflowTemplateItem/portal_workflow/test_packing_list_workflow/variables/actor.xml
new file mode 100644
index 0000000000..d2b89d6051
--- /dev/null
+++ b/bt5/erp5_simulation_performance_test/WorkflowTemplateItem/portal_workflow/test_packing_list_workflow/variables/actor.xml
@@ -0,0 +1,70 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="VariableDefinition" module="Products.DCWorkflow.Variables"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>default_expr</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>default_value</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>description</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>for_catalog</string> </key>
+            <value> <int>0</int> </value>
+        </item>
+        <item>
+            <key> <string>for_status</string> </key>
+            <value> <int>1</int> </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>actor</string> </value>
+        </item>
+        <item>
+            <key> <string>info_guard</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>update_always</string> </key>
+            <value> <int>1</int> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="2" aka="AAAAAAAAAAI=">
+    <pickle>
+      <tuple>
+        <tuple>
+          <string>Products.CMFCore.Expression</string>
+          <string>Expression</string>
+        </tuple>
+        <none/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>text</string> </key>
+            <value> <string>user/getUserName</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_simulation_performance_test/WorkflowTemplateItem/portal_workflow/test_packing_list_workflow/variables/causality_state.xml b/bt5/erp5_simulation_performance_test/WorkflowTemplateItem/portal_workflow/test_packing_list_workflow/variables/causality_state.xml
new file mode 100644
index 0000000000..16965abe09
--- /dev/null
+++ b/bt5/erp5_simulation_performance_test/WorkflowTemplateItem/portal_workflow/test_packing_list_workflow/variables/causality_state.xml
@@ -0,0 +1,51 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="VariableDefinition" module="Products.DCWorkflow.Variables"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>default_expr</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>default_value</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>description</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>for_catalog</string> </key>
+            <value> <int>1</int> </value>
+        </item>
+        <item>
+            <key> <string>for_status</string> </key>
+            <value> <int>0</int> </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>causality_state</string> </value>
+        </item>
+        <item>
+            <key> <string>info_guard</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>update_always</string> </key>
+            <value> <int>1</int> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_simulation_performance_test/WorkflowTemplateItem/portal_workflow/test_packing_list_workflow/variables/comment.xml b/bt5/erp5_simulation_performance_test/WorkflowTemplateItem/portal_workflow/test_packing_list_workflow/variables/comment.xml
new file mode 100644
index 0000000000..999beb2edb
--- /dev/null
+++ b/bt5/erp5_simulation_performance_test/WorkflowTemplateItem/portal_workflow/test_packing_list_workflow/variables/comment.xml
@@ -0,0 +1,70 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="VariableDefinition" module="Products.DCWorkflow.Variables"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>default_expr</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>default_value</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>description</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>for_catalog</string> </key>
+            <value> <int>0</int> </value>
+        </item>
+        <item>
+            <key> <string>for_status</string> </key>
+            <value> <int>1</int> </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>comment</string> </value>
+        </item>
+        <item>
+            <key> <string>info_guard</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>update_always</string> </key>
+            <value> <int>1</int> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="2" aka="AAAAAAAAAAI=">
+    <pickle>
+      <tuple>
+        <tuple>
+          <string>Products.CMFCore.Expression</string>
+          <string>Expression</string>
+        </tuple>
+        <none/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>text</string> </key>
+            <value> <string>python:state_change.kwargs.get(\'comment\',\'\')</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_simulation_performance_test/WorkflowTemplateItem/portal_workflow/test_packing_list_workflow/variables/error_message.xml b/bt5/erp5_simulation_performance_test/WorkflowTemplateItem/portal_workflow/test_packing_list_workflow/variables/error_message.xml
new file mode 100644
index 0000000000..e89715783d
--- /dev/null
+++ b/bt5/erp5_simulation_performance_test/WorkflowTemplateItem/portal_workflow/test_packing_list_workflow/variables/error_message.xml
@@ -0,0 +1,51 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="VariableDefinition" module="Products.DCWorkflow.Variables"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>default_expr</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>default_value</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>description</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>for_catalog</string> </key>
+            <value> <int>0</int> </value>
+        </item>
+        <item>
+            <key> <string>for_status</string> </key>
+            <value> <int>1</int> </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>error_message</string> </value>
+        </item>
+        <item>
+            <key> <string>info_guard</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>update_always</string> </key>
+            <value> <int>1</int> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_simulation_performance_test/WorkflowTemplateItem/portal_workflow/test_packing_list_workflow/variables/history.xml b/bt5/erp5_simulation_performance_test/WorkflowTemplateItem/portal_workflow/test_packing_list_workflow/variables/history.xml
new file mode 100644
index 0000000000..d7bca55728
--- /dev/null
+++ b/bt5/erp5_simulation_performance_test/WorkflowTemplateItem/portal_workflow/test_packing_list_workflow/variables/history.xml
@@ -0,0 +1,70 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="VariableDefinition" module="Products.DCWorkflow.Variables"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>default_expr</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>default_value</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>description</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>for_catalog</string> </key>
+            <value> <int>0</int> </value>
+        </item>
+        <item>
+            <key> <string>for_status</string> </key>
+            <value> <int>0</int> </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>history</string> </value>
+        </item>
+        <item>
+            <key> <string>info_guard</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>update_always</string> </key>
+            <value> <int>1</int> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="2" aka="AAAAAAAAAAI=">
+    <pickle>
+      <tuple>
+        <tuple>
+          <string>Products.CMFCore.Expression</string>
+          <string>Expression</string>
+        </tuple>
+        <none/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>text</string> </key>
+            <value> <string>state_change/getHistory</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_simulation_performance_test/WorkflowTemplateItem/portal_workflow/test_packing_list_workflow/variables/portal_type.xml b/bt5/erp5_simulation_performance_test/WorkflowTemplateItem/portal_workflow/test_packing_list_workflow/variables/portal_type.xml
new file mode 100644
index 0000000000..a874ecc8bb
--- /dev/null
+++ b/bt5/erp5_simulation_performance_test/WorkflowTemplateItem/portal_workflow/test_packing_list_workflow/variables/portal_type.xml
@@ -0,0 +1,51 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="VariableDefinition" module="Products.DCWorkflow.Variables"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>default_expr</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>default_value</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>description</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>for_catalog</string> </key>
+            <value> <int>1</int> </value>
+        </item>
+        <item>
+            <key> <string>for_status</string> </key>
+            <value> <int>0</int> </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>portal_type</string> </value>
+        </item>
+        <item>
+            <key> <string>info_guard</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>update_always</string> </key>
+            <value> <int>0</int> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_simulation_performance_test/WorkflowTemplateItem/portal_workflow/test_packing_list_workflow/variables/time.xml b/bt5/erp5_simulation_performance_test/WorkflowTemplateItem/portal_workflow/test_packing_list_workflow/variables/time.xml
new file mode 100644
index 0000000000..0364a3b135
--- /dev/null
+++ b/bt5/erp5_simulation_performance_test/WorkflowTemplateItem/portal_workflow/test_packing_list_workflow/variables/time.xml
@@ -0,0 +1,70 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="VariableDefinition" module="Products.DCWorkflow.Variables"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>default_expr</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>default_value</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>description</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>for_catalog</string> </key>
+            <value> <int>0</int> </value>
+        </item>
+        <item>
+            <key> <string>for_status</string> </key>
+            <value> <int>1</int> </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>time</string> </value>
+        </item>
+        <item>
+            <key> <string>info_guard</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>update_always</string> </key>
+            <value> <int>1</int> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="2" aka="AAAAAAAAAAI=">
+    <pickle>
+      <tuple>
+        <tuple>
+          <string>Products.CMFCore.Expression</string>
+          <string>Expression</string>
+        </tuple>
+        <none/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>text</string> </key>
+            <value> <string>state_change/getDateTime</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_simulation_performance_test/WorkflowTemplateItem/portal_workflow/test_packing_list_workflow/worklists.xml b/bt5/erp5_simulation_performance_test/WorkflowTemplateItem/portal_workflow/test_packing_list_workflow/worklists.xml
new file mode 100644
index 0000000000..40787ac9e4
--- /dev/null
+++ b/bt5/erp5_simulation_performance_test/WorkflowTemplateItem/portal_workflow/test_packing_list_workflow/worklists.xml
@@ -0,0 +1,31 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="Worklists" module="Products.DCWorkflow.Worklists"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_mapping</string> </key>
+            <value>
+              <dictionary/>
+            </value>
+        </item>
+        <item>
+            <key> <string>_objects</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>worklists</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_simulation_performance_test/bt/categories_list b/bt5/erp5_simulation_performance_test/bt/categories_list
new file mode 100644
index 0000000000..e69de29bb2
diff --git a/bt5/erp5_simulation_performance_test/bt/change_log b/bt5/erp5_simulation_performance_test/bt/change_log
new file mode 100644
index 0000000000..47dd0bc258
--- /dev/null
+++ b/bt5/erp5_simulation_performance_test/bt/change_log
@@ -0,0 +1,2 @@
+2010-08-06 yo
+* Initial creation.
\ No newline at end of file
diff --git a/bt5/erp5_simulation_performance_test/bt/comment b/bt5/erp5_simulation_performance_test/bt/comment
new file mode 100644
index 0000000000..e69de29bb2
diff --git a/bt5/erp5_simulation_performance_test/bt/copyright_list b/bt5/erp5_simulation_performance_test/bt/copyright_list
new file mode 100644
index 0000000000..fe948b9fb7
--- /dev/null
+++ b/bt5/erp5_simulation_performance_test/bt/copyright_list
@@ -0,0 +1 @@
+Copyright (c) 2010 Nexedi SA
\ No newline at end of file
diff --git a/bt5/erp5_simulation_performance_test/bt/dependency_list b/bt5/erp5_simulation_performance_test/bt/dependency_list
new file mode 100644
index 0000000000..5356e23376
--- /dev/null
+++ b/bt5/erp5_simulation_performance_test/bt/dependency_list
@@ -0,0 +1,4 @@
+erp5_base
+erp5_trade
+erp5_advanced_invoicing
+erp5_pdm
\ No newline at end of file
diff --git a/bt5/erp5_simulation_performance_test/bt/description b/bt5/erp5_simulation_performance_test/bt/description
new file mode 100644
index 0000000000..23f5e8204b
--- /dev/null
+++ b/bt5/erp5_simulation_performance_test/bt/description
@@ -0,0 +1 @@
+This contains data, code, and configurations for the tests of performance of simulation.
\ No newline at end of file
diff --git a/bt5/erp5_simulation_performance_test/bt/license b/bt5/erp5_simulation_performance_test/bt/license
new file mode 100644
index 0000000000..3a3e12bcad
--- /dev/null
+++ b/bt5/erp5_simulation_performance_test/bt/license
@@ -0,0 +1 @@
+GPL
\ No newline at end of file
diff --git a/bt5/erp5_simulation_performance_test/bt/maintainer_list b/bt5/erp5_simulation_performance_test/bt/maintainer_list
new file mode 100644
index 0000000000..b920295f69
--- /dev/null
+++ b/bt5/erp5_simulation_performance_test/bt/maintainer_list
@@ -0,0 +1 @@
+yo
\ No newline at end of file
diff --git a/bt5/erp5_simulation_performance_test/bt/provision_list b/bt5/erp5_simulation_performance_test/bt/provision_list
new file mode 100644
index 0000000000..e69de29bb2
diff --git a/bt5/erp5_simulation_performance_test/bt/revision b/bt5/erp5_simulation_performance_test/bt/revision
new file mode 100644
index 0000000000..d8263ee986
--- /dev/null
+++ b/bt5/erp5_simulation_performance_test/bt/revision
@@ -0,0 +1 @@
+2
\ No newline at end of file
diff --git a/bt5/erp5_simulation_performance_test/bt/template_action_path_list b/bt5/erp5_simulation_performance_test/bt/template_action_path_list
new file mode 100644
index 0000000000..e69de29bb2
diff --git a/bt5/erp5_simulation_performance_test/bt/template_base_category_list b/bt5/erp5_simulation_performance_test/bt/template_base_category_list
new file mode 100644
index 0000000000..e69de29bb2
diff --git a/bt5/erp5_simulation_performance_test/bt/template_catalog_datetime_key_list b/bt5/erp5_simulation_performance_test/bt/template_catalog_datetime_key_list
new file mode 100644
index 0000000000..e69de29bb2
diff --git a/bt5/erp5_simulation_performance_test/bt/template_catalog_full_text_key_list b/bt5/erp5_simulation_performance_test/bt/template_catalog_full_text_key_list
new file mode 100644
index 0000000000..e69de29bb2
diff --git a/bt5/erp5_simulation_performance_test/bt/template_catalog_keyword_key_list b/bt5/erp5_simulation_performance_test/bt/template_catalog_keyword_key_list
new file mode 100644
index 0000000000..e69de29bb2
diff --git a/bt5/erp5_simulation_performance_test/bt/template_catalog_local_role_key_list b/bt5/erp5_simulation_performance_test/bt/template_catalog_local_role_key_list
new file mode 100644
index 0000000000..e69de29bb2
diff --git a/bt5/erp5_simulation_performance_test/bt/template_catalog_method_id_list b/bt5/erp5_simulation_performance_test/bt/template_catalog_method_id_list
new file mode 100644
index 0000000000..e69de29bb2
diff --git a/bt5/erp5_simulation_performance_test/bt/template_catalog_multivalue_key_list b/bt5/erp5_simulation_performance_test/bt/template_catalog_multivalue_key_list
new file mode 100644
index 0000000000..e69de29bb2
diff --git a/bt5/erp5_simulation_performance_test/bt/template_catalog_related_key_list b/bt5/erp5_simulation_performance_test/bt/template_catalog_related_key_list
new file mode 100644
index 0000000000..e69de29bb2
diff --git a/bt5/erp5_simulation_performance_test/bt/template_catalog_request_key_list b/bt5/erp5_simulation_performance_test/bt/template_catalog_request_key_list
new file mode 100644
index 0000000000..e69de29bb2
diff --git a/bt5/erp5_simulation_performance_test/bt/template_catalog_result_key_list b/bt5/erp5_simulation_performance_test/bt/template_catalog_result_key_list
new file mode 100644
index 0000000000..e69de29bb2
diff --git a/bt5/erp5_simulation_performance_test/bt/template_catalog_result_table_list b/bt5/erp5_simulation_performance_test/bt/template_catalog_result_table_list
new file mode 100644
index 0000000000..e69de29bb2
diff --git a/bt5/erp5_simulation_performance_test/bt/template_catalog_role_key_list b/bt5/erp5_simulation_performance_test/bt/template_catalog_role_key_list
new file mode 100644
index 0000000000..e69de29bb2
diff --git a/bt5/erp5_simulation_performance_test/bt/template_catalog_scriptable_key_list b/bt5/erp5_simulation_performance_test/bt/template_catalog_scriptable_key_list
new file mode 100644
index 0000000000..e69de29bb2
diff --git a/bt5/erp5_simulation_performance_test/bt/template_catalog_topic_key_list b/bt5/erp5_simulation_performance_test/bt/template_catalog_topic_key_list
new file mode 100644
index 0000000000..e69de29bb2
diff --git a/bt5/erp5_simulation_performance_test/bt/template_constraint_id_list b/bt5/erp5_simulation_performance_test/bt/template_constraint_id_list
new file mode 100644
index 0000000000..e69de29bb2
diff --git a/bt5/erp5_simulation_performance_test/bt/template_document_id_list b/bt5/erp5_simulation_performance_test/bt/template_document_id_list
new file mode 100644
index 0000000000..e69de29bb2
diff --git a/bt5/erp5_simulation_performance_test/bt/template_extension_id_list b/bt5/erp5_simulation_performance_test/bt/template_extension_id_list
new file mode 100644
index 0000000000..e69de29bb2
diff --git a/bt5/erp5_simulation_performance_test/bt/template_format_version b/bt5/erp5_simulation_performance_test/bt/template_format_version
new file mode 100644
index 0000000000..56a6051ca2
--- /dev/null
+++ b/bt5/erp5_simulation_performance_test/bt/template_format_version
@@ -0,0 +1 @@
+1
\ No newline at end of file
diff --git a/bt5/erp5_simulation_performance_test/bt/template_local_role_list b/bt5/erp5_simulation_performance_test/bt/template_local_role_list
new file mode 100644
index 0000000000..e69de29bb2
diff --git a/bt5/erp5_simulation_performance_test/bt/template_local_roles_list b/bt5/erp5_simulation_performance_test/bt/template_local_roles_list
new file mode 100644
index 0000000000..e69de29bb2
diff --git a/bt5/erp5_simulation_performance_test/bt/template_message_translation_list b/bt5/erp5_simulation_performance_test/bt/template_message_translation_list
new file mode 100644
index 0000000000..e69de29bb2
diff --git a/bt5/erp5_simulation_performance_test/bt/template_module_id_list b/bt5/erp5_simulation_performance_test/bt/template_module_id_list
new file mode 100644
index 0000000000..e69de29bb2
diff --git a/bt5/erp5_simulation_performance_test/bt/template_path_list b/bt5/erp5_simulation_performance_test/bt/template_path_list
new file mode 100644
index 0000000000..49f4d641b1
--- /dev/null
+++ b/bt5/erp5_simulation_performance_test/bt/template_path_list
@@ -0,0 +1,36 @@
+business_process_module/test_bp
+business_process_module/test_bp/**
+currency_module/euro
+organisation_module/client
+organisation_module/recipient1
+organisation_module/recipient2
+organisation_module/supplier
+portal_alarms/test_invoice_build
+portal_alarms/test_shipping_build
+portal_categories/base_amount/**
+portal_categories/quantity_unit/**
+portal_categories/trade_phase/**
+portal_deliveries/test_advanced_sale_invoice_builder
+portal_deliveries/test_advanced_sale_invoice_builder/**
+portal_deliveries/test_advanced_sale_invoice_trade_model_builder
+portal_deliveries/test_advanced_sale_invoice_trade_model_builder/**
+portal_deliveries/test_sale_packing_list_builder
+portal_deliveries/test_sale_packing_list_builder/**
+portal_rules/test_invoice_simulation_rule
+portal_rules/test_invoice_simulation_rule/**
+portal_rules/test_order_root_simulation_rule
+portal_rules/test_order_root_simulation_rule/**
+portal_rules/test_packing_list_root_simulation_rule
+portal_rules/test_packing_list_root_simulation_rule/**
+portal_rules/test_packing_list_simulation_rule
+portal_rules/test_packing_list_simulation_rule/**
+portal_rules/test_trade_model_rule
+portal_rules/test_trade_model_rule/**
+product_module/commodity
+product_module/commodity/**
+product_module/luxury
+product_module/luxury/**
+sale_trade_condition_module/test_stc
+sale_trade_condition_module/test_stc/**
+service_module/vat_high
+service_module/vat_low
\ No newline at end of file
diff --git a/bt5/erp5_simulation_performance_test/bt/template_portal_type_allowed_content_type_list b/bt5/erp5_simulation_performance_test/bt/template_portal_type_allowed_content_type_list
new file mode 100644
index 0000000000..e69de29bb2
diff --git a/bt5/erp5_simulation_performance_test/bt/template_portal_type_base_category_list b/bt5/erp5_simulation_performance_test/bt/template_portal_type_base_category_list
new file mode 100644
index 0000000000..e69de29bb2
diff --git a/bt5/erp5_simulation_performance_test/bt/template_portal_type_hidden_content_type_list b/bt5/erp5_simulation_performance_test/bt/template_portal_type_hidden_content_type_list
new file mode 100644
index 0000000000..e69de29bb2
diff --git a/bt5/erp5_simulation_performance_test/bt/template_portal_type_id_list b/bt5/erp5_simulation_performance_test/bt/template_portal_type_id_list
new file mode 100644
index 0000000000..e69de29bb2
diff --git a/bt5/erp5_simulation_performance_test/bt/template_portal_type_property_sheet_list b/bt5/erp5_simulation_performance_test/bt/template_portal_type_property_sheet_list
new file mode 100644
index 0000000000..e69de29bb2
diff --git a/bt5/erp5_simulation_performance_test/bt/template_portal_type_role_list b/bt5/erp5_simulation_performance_test/bt/template_portal_type_role_list
new file mode 100644
index 0000000000..e69de29bb2
diff --git a/bt5/erp5_simulation_performance_test/bt/template_portal_type_roles_list b/bt5/erp5_simulation_performance_test/bt/template_portal_type_roles_list
new file mode 100644
index 0000000000..e69de29bb2
diff --git a/bt5/erp5_simulation_performance_test/bt/template_portal_type_workflow_chain_list b/bt5/erp5_simulation_performance_test/bt/template_portal_type_workflow_chain_list
new file mode 100644
index 0000000000..f25502e533
--- /dev/null
+++ b/bt5/erp5_simulation_performance_test/bt/template_portal_type_workflow_chain_list
@@ -0,0 +1,6 @@
+Sale Invoice | -invoice_workflow
+Sale Invoice | test_invoice_workflow
+Sale Order | -order_workflow
+Sale Order | test_order_workflow
+Sale Packing List | -packing_list_workflow
+Sale Packing List | test_packing_list_workflow
\ No newline at end of file
diff --git a/bt5/erp5_simulation_performance_test/bt/template_preference_list b/bt5/erp5_simulation_performance_test/bt/template_preference_list
new file mode 100644
index 0000000000..e69de29bb2
diff --git a/bt5/erp5_simulation_performance_test/bt/template_product_id_list b/bt5/erp5_simulation_performance_test/bt/template_product_id_list
new file mode 100644
index 0000000000..e69de29bb2
diff --git a/bt5/erp5_simulation_performance_test/bt/template_property_sheet_id_list b/bt5/erp5_simulation_performance_test/bt/template_property_sheet_id_list
new file mode 100644
index 0000000000..e69de29bb2
diff --git a/bt5/erp5_simulation_performance_test/bt/template_registered_skin_selection_list b/bt5/erp5_simulation_performance_test/bt/template_registered_skin_selection_list
new file mode 100644
index 0000000000..e69de29bb2
diff --git a/bt5/erp5_simulation_performance_test/bt/template_role_list b/bt5/erp5_simulation_performance_test/bt/template_role_list
new file mode 100644
index 0000000000..e69de29bb2
diff --git a/bt5/erp5_simulation_performance_test/bt/template_site_property_id_list b/bt5/erp5_simulation_performance_test/bt/template_site_property_id_list
new file mode 100644
index 0000000000..e69de29bb2
diff --git a/bt5/erp5_simulation_performance_test/bt/template_skin_id_list b/bt5/erp5_simulation_performance_test/bt/template_skin_id_list
new file mode 100644
index 0000000000..833eaf76b8
--- /dev/null
+++ b/bt5/erp5_simulation_performance_test/bt/template_skin_id_list
@@ -0,0 +1 @@
+erp5_simulation_performance_test
\ No newline at end of file
diff --git a/bt5/erp5_simulation_performance_test/bt/template_test_id_list b/bt5/erp5_simulation_performance_test/bt/template_test_id_list
new file mode 100644
index 0000000000..e69de29bb2
diff --git a/bt5/erp5_simulation_performance_test/bt/template_tool_id_list b/bt5/erp5_simulation_performance_test/bt/template_tool_id_list
new file mode 100644
index 0000000000..e69de29bb2
diff --git a/bt5/erp5_simulation_performance_test/bt/template_update_business_template_workflow b/bt5/erp5_simulation_performance_test/bt/template_update_business_template_workflow
new file mode 100644
index 0000000000..c227083464
--- /dev/null
+++ b/bt5/erp5_simulation_performance_test/bt/template_update_business_template_workflow
@@ -0,0 +1 @@
+0
\ No newline at end of file
diff --git a/bt5/erp5_simulation_performance_test/bt/template_update_tool b/bt5/erp5_simulation_performance_test/bt/template_update_tool
new file mode 100644
index 0000000000..c227083464
--- /dev/null
+++ b/bt5/erp5_simulation_performance_test/bt/template_update_tool
@@ -0,0 +1 @@
+0
\ No newline at end of file
diff --git a/bt5/erp5_simulation_performance_test/bt/template_workflow_id_list b/bt5/erp5_simulation_performance_test/bt/template_workflow_id_list
new file mode 100644
index 0000000000..7c13810328
--- /dev/null
+++ b/bt5/erp5_simulation_performance_test/bt/template_workflow_id_list
@@ -0,0 +1,3 @@
+test_invoice_workflow
+test_order_workflow
+test_packing_list_workflow
\ No newline at end of file
diff --git a/bt5/erp5_simulation_performance_test/bt/title b/bt5/erp5_simulation_performance_test/bt/title
new file mode 100644
index 0000000000..833eaf76b8
--- /dev/null
+++ b/bt5/erp5_simulation_performance_test/bt/title
@@ -0,0 +1 @@
+erp5_simulation_performance_test
\ No newline at end of file
diff --git a/bt5/erp5_simulation_performance_test/bt/version b/bt5/erp5_simulation_performance_test/bt/version
new file mode 100644
index 0000000000..9f8e9b69a3
--- /dev/null
+++ b/bt5/erp5_simulation_performance_test/bt/version
@@ -0,0 +1 @@
+1.0
\ No newline at end of file
-- 
2.30.9


From 8bcb449ef9e7c626633422f4c88d9e56004bf080 Mon Sep 17 00:00:00 2001
From: Fabien Morin <fabien@nexedi.com>
Date: Fri, 6 Aug 2010 12:47:05 +0000
Subject: [PATCH 263/270] remove this permission that allow only Manage to
 modify portal_content. This mean if you install erp5_content_translation bt,
 only managers will be able to modify person objects. Now it's back to normal.

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@37598 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 .../portal_workflow/content_translation_workflow.xml          | 4 +---
 bt5/erp5_content_translation/bt/revision                      | 2 +-
 2 files changed, 2 insertions(+), 4 deletions(-)

diff --git a/bt5/erp5_content_translation/WorkflowTemplateItem/portal_workflow/content_translation_workflow.xml b/bt5/erp5_content_translation/WorkflowTemplateItem/portal_workflow/content_translation_workflow.xml
index 429615e36d..cde7fc3d7b 100644
--- a/bt5/erp5_content_translation/WorkflowTemplateItem/portal_workflow/content_translation_workflow.xml
+++ b/bt5/erp5_content_translation/WorkflowTemplateItem/portal_workflow/content_translation_workflow.xml
@@ -46,9 +46,7 @@
         <item>
             <key> <string>permissions</string> </key>
             <value>
-              <tuple>
-                <string>Modify portal content</string>
-              </tuple>
+              <tuple/>
             </value>
         </item>
         <item>
diff --git a/bt5/erp5_content_translation/bt/revision b/bt5/erp5_content_translation/bt/revision
index d99e90eb96..8580e7b684 100644
--- a/bt5/erp5_content_translation/bt/revision
+++ b/bt5/erp5_content_translation/bt/revision
@@ -1 +1 @@
-29
\ No newline at end of file
+30
\ No newline at end of file
-- 
2.30.9


From a977d36f5f207f0ce9411ba9485b88f4dd83c4ff Mon Sep 17 00:00:00 2001
From: Fabien Morin <fabien@nexedi.com>
Date: Fri, 6 Aug 2010 13:43:45 +0000
Subject: [PATCH 264/270] rss_style should not be in View skin selection
 (because in this case it will replace the xhtml_style templates
 ListBox_asHTML and form_view and will broke the entire site).

business_template_skin_layer_priority to 10 like for odt_style and
and set business_template_registered_skin_selections to RSS

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@37603 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 .../registered_skin_selection.xml                    |  6 ++++++
 .../SkinTemplateItem/portal_skins/erp5_rss_style.xml | 12 ++++--------
 bt5/erp5_rss_style/bt/revision                       |  2 +-
 .../bt/template_registered_skin_selection_list       |  1 +
 4 files changed, 12 insertions(+), 9 deletions(-)
 create mode 100644 bt5/erp5_rss_style/RegisteredSkinSelectionTemplateItem/registered_skin_selection.xml
 create mode 100644 bt5/erp5_rss_style/bt/template_registered_skin_selection_list

diff --git a/bt5/erp5_rss_style/RegisteredSkinSelectionTemplateItem/registered_skin_selection.xml b/bt5/erp5_rss_style/RegisteredSkinSelectionTemplateItem/registered_skin_selection.xml
new file mode 100644
index 0000000000..e8c699a376
--- /dev/null
+++ b/bt5/erp5_rss_style/RegisteredSkinSelectionTemplateItem/registered_skin_selection.xml
@@ -0,0 +1,6 @@
+<registered_skin_selection>
+ <skin_folder_selection>
+  <skin_folder>erp5_rss_style</skin_folder>
+  <skin_selection>RSS</skin_selection>
+ </skin_folder_selection>
+</registered_skin_selection>
\ No newline at end of file
diff --git a/bt5/erp5_rss_style/SkinTemplateItem/portal_skins/erp5_rss_style.xml b/bt5/erp5_rss_style/SkinTemplateItem/portal_skins/erp5_rss_style.xml
index 900de75029..3968bd3a3e 100644
--- a/bt5/erp5_rss_style/SkinTemplateItem/portal_skins/erp5_rss_style.xml
+++ b/bt5/erp5_rss_style/SkinTemplateItem/portal_skins/erp5_rss_style.xml
@@ -16,11 +16,11 @@
                 <dictionary>
                   <item>
                       <key> <string>id</string> </key>
-                      <value> <string>business_template_registered_skin_selections</string> </value>
+                      <value> <string>business_template_skin_layer_priority</string> </value>
                   </item>
                   <item>
                       <key> <string>type</string> </key>
-                      <value> <string>tokens</string> </value>
+                      <value> <string>float</string> </value>
                   </item>
                 </dictionary>
               </tuple>
@@ -33,12 +33,8 @@
             </value>
         </item>
         <item>
-            <key> <string>business_template_registered_skin_selections</string> </key>
-            <value>
-              <tuple>
-                <string>RSS</string>
-              </tuple>
-            </value>
+            <key> <string>business_template_skin_layer_priority</string> </key>
+            <value> <float>10.0</float> </value>
         </item>
         <item>
             <key> <string>id</string> </key>
diff --git a/bt5/erp5_rss_style/bt/revision b/bt5/erp5_rss_style/bt/revision
index f70d7bba4a..d2e1cefe89 100644
--- a/bt5/erp5_rss_style/bt/revision
+++ b/bt5/erp5_rss_style/bt/revision
@@ -1 +1 @@
-42
\ No newline at end of file
+44
\ No newline at end of file
diff --git a/bt5/erp5_rss_style/bt/template_registered_skin_selection_list b/bt5/erp5_rss_style/bt/template_registered_skin_selection_list
new file mode 100644
index 0000000000..eda9b65235
--- /dev/null
+++ b/bt5/erp5_rss_style/bt/template_registered_skin_selection_list
@@ -0,0 +1 @@
+erp5_rss_style | RSS
\ No newline at end of file
-- 
2.30.9


From 6ed11175ea2877941b4cd382ea96ce95182cd7a1 Mon Sep 17 00:00:00 2001
From: Vincent Pelletier <vincent@nexedi.com>
Date: Fri, 6 Aug 2010 14:47:28 +0000
Subject: [PATCH 265/270] Set a selection name.

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@37607 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 .../CashMovementNewNotEmitted_viewCashContainerList/listbox.xml | 2 +-
 bt5/erp5_banking_cash/bt/revision                               | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/bt5/erp5_banking_cash/SkinTemplateItem/portal_skins/erp5_banking_cash/CashMovementNewNotEmitted_viewCashContainerList/listbox.xml b/bt5/erp5_banking_cash/SkinTemplateItem/portal_skins/erp5_banking_cash/CashMovementNewNotEmitted_viewCashContainerList/listbox.xml
index 5afa2973c1..58336ef3a8 100644
--- a/bt5/erp5_banking_cash/SkinTemplateItem/portal_skins/erp5_banking_cash/CashMovementNewNotEmitted_viewCashContainerList/listbox.xml
+++ b/bt5/erp5_banking_cash/SkinTemplateItem/portal_skins/erp5_banking_cash/CashMovementNewNotEmitted_viewCashContainerList/listbox.xml
@@ -464,7 +464,7 @@
                 </item>
                 <item>
                     <key> <string>selection_name</string> </key>
-                    <value> <string></string> </value>
+                    <value> <string>cash_movement_new_not_emitted_cash_container_selection</string> </value>
                 </item>
                 <item>
                     <key> <string>sort</string> </key>
diff --git a/bt5/erp5_banking_cash/bt/revision b/bt5/erp5_banking_cash/bt/revision
index 8e6862383d..55b7e8800f 100644
--- a/bt5/erp5_banking_cash/bt/revision
+++ b/bt5/erp5_banking_cash/bt/revision
@@ -1 +1 @@
-684
\ No newline at end of file
+680
\ No newline at end of file
-- 
2.30.9


From 8853dd8be765a9ac5c2d5194854e2ffea138a3e1 Mon Sep 17 00:00:00 2001
From: Yoshinori Okuji <yo@nexedi.com>
Date: Sat, 7 Aug 2010 09:22:25 +0000
Subject: [PATCH 266/270] 2010-08-07 yo * Add back a planned state into
 test_order_workflow only to expand simulation but not to build packing lists.

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@37620 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 .../scripts/Workflow_updateSimulation.xml     | 126 +++++++++++++++++
 .../test_order_workflow/states/draft.xml      |   1 +
 .../test_order_workflow/states/planned.xml    | 127 ++++++++++++++++++
 .../test_order_workflow/transitions/plan.xml  |  61 +++++++++
 .../bt/change_log                             |   3 +
 .../bt/revision                               |   2 +-
 6 files changed, 319 insertions(+), 1 deletion(-)
 create mode 100644 bt5/erp5_simulation_performance_test/WorkflowTemplateItem/portal_workflow/test_order_workflow/scripts/Workflow_updateSimulation.xml
 create mode 100644 bt5/erp5_simulation_performance_test/WorkflowTemplateItem/portal_workflow/test_order_workflow/states/planned.xml
 create mode 100644 bt5/erp5_simulation_performance_test/WorkflowTemplateItem/portal_workflow/test_order_workflow/transitions/plan.xml

diff --git a/bt5/erp5_simulation_performance_test/WorkflowTemplateItem/portal_workflow/test_order_workflow/scripts/Workflow_updateSimulation.xml b/bt5/erp5_simulation_performance_test/WorkflowTemplateItem/portal_workflow/test_order_workflow/scripts/Workflow_updateSimulation.xml
new file mode 100644
index 0000000000..fa3ef1b629
--- /dev/null
+++ b/bt5/erp5_simulation_performance_test/WorkflowTemplateItem/portal_workflow/test_order_workflow/scripts/Workflow_updateSimulation.xml
@@ -0,0 +1,126 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>Script_magic</string> </key>
+            <value> <int>3</int> </value>
+        </item>
+        <item>
+            <key> <string>_bind_names</string> </key>
+            <value>
+              <object>
+                <klass>
+                  <global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/>
+                </klass>
+                <tuple/>
+                <state>
+                  <dictionary>
+                    <item>
+                        <key> <string>_asgns</string> </key>
+                        <value>
+                          <dictionary>
+                            <item>
+                                <key> <string>name_container</string> </key>
+                                <value> <string>container</string> </value>
+                            </item>
+                            <item>
+                                <key> <string>name_context</string> </key>
+                                <value> <string>context</string> </value>
+                            </item>
+                            <item>
+                                <key> <string>name_m_self</string> </key>
+                                <value> <string>script</string> </value>
+                            </item>
+                            <item>
+                                <key> <string>name_subpath</string> </key>
+                                <value> <string>traverse_subpath</string> </value>
+                            </item>
+                          </dictionary>
+                        </value>
+                    </item>
+                  </dictionary>
+                </state>
+              </object>
+            </value>
+        </item>
+        <item>
+            <key> <string>_body</string> </key>
+            <value> <string>delivery = state_change[\'object\']\n
+delivery.Delivery_updateSimulation()\n
+</string> </value>
+        </item>
+        <item>
+            <key> <string>_code</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>_params</string> </key>
+            <value> <string>state_change, **kw</string> </value>
+        </item>
+        <item>
+            <key> <string>errors</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+        <item>
+            <key> <string>func_code</string> </key>
+            <value>
+              <object>
+                <klass>
+                  <global name="FuncCode" module="Shared.DC.Scripts.Signature"/>
+                </klass>
+                <tuple/>
+                <state>
+                  <dictionary>
+                    <item>
+                        <key> <string>co_argcount</string> </key>
+                        <value> <int>1</int> </value>
+                    </item>
+                    <item>
+                        <key> <string>co_varnames</string> </key>
+                        <value>
+                          <tuple>
+                            <string>state_change</string>
+                            <string>kw</string>
+                            <string>_getitem_</string>
+                            <string>delivery</string>
+                            <string>_getattr_</string>
+                          </tuple>
+                        </value>
+                    </item>
+                  </dictionary>
+                </state>
+              </object>
+            </value>
+        </item>
+        <item>
+            <key> <string>func_defaults</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>Workflow_updateSimulation</string> </value>
+        </item>
+        <item>
+            <key> <string>warnings</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_simulation_performance_test/WorkflowTemplateItem/portal_workflow/test_order_workflow/states/draft.xml b/bt5/erp5_simulation_performance_test/WorkflowTemplateItem/portal_workflow/test_order_workflow/states/draft.xml
index de969c9874..8e66e5e64f 100644
--- a/bt5/erp5_simulation_performance_test/WorkflowTemplateItem/portal_workflow/test_order_workflow/states/draft.xml
+++ b/bt5/erp5_simulation_performance_test/WorkflowTemplateItem/portal_workflow/test_order_workflow/states/draft.xml
@@ -33,6 +33,7 @@
               <tuple>
                 <string>confirm</string>
                 <string>order</string>
+                <string>plan</string>
               </tuple>
             </value>
         </item>
diff --git a/bt5/erp5_simulation_performance_test/WorkflowTemplateItem/portal_workflow/test_order_workflow/states/planned.xml b/bt5/erp5_simulation_performance_test/WorkflowTemplateItem/portal_workflow/test_order_workflow/states/planned.xml
new file mode 100644
index 0000000000..5227bd3dc7
--- /dev/null
+++ b/bt5/erp5_simulation_performance_test/WorkflowTemplateItem/portal_workflow/test_order_workflow/states/planned.xml
@@ -0,0 +1,127 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="StateDefinition" module="Products.DCWorkflow.States"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>description</string> </key>
+            <value> <string>Order that are planned to be sent to a supplier or planned to be received from a customer. The order is not sure</string> </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>planned</string> </value>
+        </item>
+        <item>
+            <key> <string>permission_roles</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>Planned</string> </value>
+        </item>
+        <item>
+            <key> <string>transitions</string> </key>
+            <value>
+              <tuple>
+                <string>confirm</string>
+                <string>order</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>type_list</string> </key>
+            <value>
+              <tuple>
+                <string>planned_order</string>
+                <string>future_inventory</string>
+              </tuple>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="2" aka="AAAAAAAAAAI=">
+    <pickle>
+      <tuple>
+        <global name="PersistentMapping" module="Persistence.mapping"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>data</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>Access contents information</string> </key>
+                    <value>
+                      <tuple>
+                        <string>Assignee</string>
+                        <string>Assignor</string>
+                        <string>Associate</string>
+                        <string>Auditor</string>
+                        <string>Manager</string>
+                      </tuple>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>Add portal content</string> </key>
+                    <value>
+                      <tuple>
+                        <string>Assignee</string>
+                        <string>Assignor</string>
+                        <string>Associate</string>
+                        <string>Manager</string>
+                      </tuple>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>Delete objects</string> </key>
+                    <value>
+                      <tuple>
+                        <string>Assignee</string>
+                        <string>Assignor</string>
+                        <string>Associate</string>
+                        <string>Manager</string>
+                      </tuple>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>Modify portal content</string> </key>
+                    <value>
+                      <tuple>
+                        <string>Assignee</string>
+                        <string>Assignor</string>
+                        <string>Associate</string>
+                        <string>Manager</string>
+                      </tuple>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>View</string> </key>
+                    <value>
+                      <tuple>
+                        <string>Assignee</string>
+                        <string>Assignor</string>
+                        <string>Associate</string>
+                        <string>Auditor</string>
+                        <string>Manager</string>
+                      </tuple>
+                    </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_simulation_performance_test/WorkflowTemplateItem/portal_workflow/test_order_workflow/transitions/plan.xml b/bt5/erp5_simulation_performance_test/WorkflowTemplateItem/portal_workflow/test_order_workflow/transitions/plan.xml
new file mode 100644
index 0000000000..5fbc255064
--- /dev/null
+++ b/bt5/erp5_simulation_performance_test/WorkflowTemplateItem/portal_workflow/test_order_workflow/transitions/plan.xml
@@ -0,0 +1,61 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="TransitionDefinition" module="Products.DCWorkflow.Transitions"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>actbox_category</string> </key>
+            <value> <string>workflow</string> </value>
+        </item>
+        <item>
+            <key> <string>actbox_name</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>actbox_url</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>after_script_name</string> </key>
+            <value> <string>Workflow_updateSimulation</string> </value>
+        </item>
+        <item>
+            <key> <string>description</string> </key>
+            <value> <string>plan an order</string> </value>
+        </item>
+        <item>
+            <key> <string>guard</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>plan</string> </value>
+        </item>
+        <item>
+            <key> <string>new_state_id</string> </key>
+            <value> <string>planned</string> </value>
+        </item>
+        <item>
+            <key> <string>script_name</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>Plan Order</string> </value>
+        </item>
+        <item>
+            <key> <string>trigger_type</string> </key>
+            <value> <int>2</int> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_simulation_performance_test/bt/change_log b/bt5/erp5_simulation_performance_test/bt/change_log
index 47dd0bc258..168da0a3f0 100644
--- a/bt5/erp5_simulation_performance_test/bt/change_log
+++ b/bt5/erp5_simulation_performance_test/bt/change_log
@@ -1,2 +1,5 @@
+2010-08-07 yo
+* Add back a planned state into test_order_workflow only to expand simulation but not to build packing lists.
+
 2010-08-06 yo
 * Initial creation.
\ No newline at end of file
diff --git a/bt5/erp5_simulation_performance_test/bt/revision b/bt5/erp5_simulation_performance_test/bt/revision
index d8263ee986..e440e5c842 100644
--- a/bt5/erp5_simulation_performance_test/bt/revision
+++ b/bt5/erp5_simulation_performance_test/bt/revision
@@ -1 +1 @@
-2
\ No newline at end of file
+3
\ No newline at end of file
-- 
2.30.9


From 7087eb89ebdadfbb0e5ccee4680dcdf132b86e13 Mon Sep 17 00:00:00 2001
From: Yoshinori Okuji <yo@nexedi.com>
Date: Sat, 7 Aug 2010 09:30:00 +0000
Subject: [PATCH 267/270] 2010-08-07 yo * Split the category movement group
 into an updatable one and a non-updatable one, to have some categories to be
 changeable without making another delivery.

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@37622 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 .../test_sale_packing_list_builder.xml        |  4 ++
 ..._delivery.xml => category_on_delivery.xml} | 12 ++--
 .../updatable_category_on_delivery.xml        | 61 +++++++++++++++++++
 .../bt/change_log                             |  3 +
 .../bt/revision                               |  2 +-
 5 files changed, 77 insertions(+), 5 deletions(-)
 rename bt5/erp5_simulation_performance_test/PathTemplateItem/portal_deliveries/test_sale_packing_list_builder/{category_movement_group_on_delivery.xml => category_on_delivery.xml} (87%)
 create mode 100644 bt5/erp5_simulation_performance_test/PathTemplateItem/portal_deliveries/test_sale_packing_list_builder/updatable_category_on_delivery.xml

diff --git a/bt5/erp5_simulation_performance_test/PathTemplateItem/portal_deliveries/test_sale_packing_list_builder.xml b/bt5/erp5_simulation_performance_test/PathTemplateItem/portal_deliveries/test_sale_packing_list_builder.xml
index f89179264b..3f02116fc8 100644
--- a/bt5/erp5_simulation_performance_test/PathTemplateItem/portal_deliveries/test_sale_packing_list_builder.xml
+++ b/bt5/erp5_simulation_performance_test/PathTemplateItem/portal_deliveries/test_sale_packing_list_builder.xml
@@ -76,6 +76,10 @@
             <key> <string>id</string> </key>
             <value> <string>test_sale_packing_list_builder</string> </value>
         </item>
+        <item>
+            <key> <string>last_id</string> </key>
+            <value> <string>1</string> </value>
+        </item>
         <item>
             <key> <string>portal_type</string> </key>
             <value> <string>Delivery Builder</string> </value>
diff --git a/bt5/erp5_simulation_performance_test/PathTemplateItem/portal_deliveries/test_sale_packing_list_builder/category_movement_group_on_delivery.xml b/bt5/erp5_simulation_performance_test/PathTemplateItem/portal_deliveries/test_sale_packing_list_builder/category_on_delivery.xml
similarity index 87%
rename from bt5/erp5_simulation_performance_test/PathTemplateItem/portal_deliveries/test_sale_packing_list_builder/category_movement_group_on_delivery.xml
rename to bt5/erp5_simulation_performance_test/PathTemplateItem/portal_deliveries/test_sale_packing_list_builder/category_on_delivery.xml
index 77e8a00751..61503fa7a2 100644
--- a/bt5/erp5_simulation_performance_test/PathTemplateItem/portal_deliveries/test_sale_packing_list_builder/category_movement_group_on_delivery.xml
+++ b/bt5/erp5_simulation_performance_test/PathTemplateItem/portal_deliveries/test_sale_packing_list_builder/category_on_delivery.xml
@@ -26,7 +26,7 @@
         </item>
         <item>
             <key> <string>id</string> </key>
-            <value> <string>category_movement_group_on_delivery</string> </value>
+            <value> <string>category_on_delivery</string> </value>
         </item>
         <item>
             <key> <string>int_index</string> </key>
@@ -48,8 +48,6 @@
                 <string>destination_section</string>
                 <string>source_decision</string>
                 <string>destination_decision</string>
-                <string>source_administration</string>
-                <string>destination_administration</string>
                 <string>source_project</string>
                 <string>destination_project</string>
                 <string>source_payment</string>
@@ -60,7 +58,13 @@
         </item>
         <item>
             <key> <string>title</string> </key>
-            <value> <string>category_movement_group_on_delivery</string> </value>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>update_always</string> </key>
+            <value> <int>0</int> </value>
         </item>
       </dictionary>
     </pickle>
diff --git a/bt5/erp5_simulation_performance_test/PathTemplateItem/portal_deliveries/test_sale_packing_list_builder/updatable_category_on_delivery.xml b/bt5/erp5_simulation_performance_test/PathTemplateItem/portal_deliveries/test_sale_packing_list_builder/updatable_category_on_delivery.xml
new file mode 100644
index 0000000000..56a69d4e1a
--- /dev/null
+++ b/bt5/erp5_simulation_performance_test/PathTemplateItem/portal_deliveries/test_sale_packing_list_builder/updatable_category_on_delivery.xml
@@ -0,0 +1,61 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="CategoryMovementGroup" module="Products.ERP5Type.Document.CategoryMovementGroup"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>categories</string> </key>
+            <value>
+              <tuple>
+                <string>divergence_scope/category</string>
+                <string>collect_order_group/delivery</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>description</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>updatable_category_on_delivery</string> </value>
+        </item>
+        <item>
+            <key> <string>int_index</string> </key>
+            <value> <int>4</int> </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Category Movement Group</string> </value>
+        </item>
+        <item>
+            <key> <string>tested_property</string> </key>
+            <value>
+              <tuple>
+                <string>source_administration</string>
+                <string>destination_administration</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>update_always</string> </key>
+            <value> <int>1</int> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_simulation_performance_test/bt/change_log b/bt5/erp5_simulation_performance_test/bt/change_log
index 168da0a3f0..49049a702c 100644
--- a/bt5/erp5_simulation_performance_test/bt/change_log
+++ b/bt5/erp5_simulation_performance_test/bt/change_log
@@ -1,3 +1,6 @@
+2010-08-07 yo
+* Split the category movement group into an updatable one and a non-updatable one, to have some categories to be changeable without making another delivery.
+
 2010-08-07 yo
 * Add back a planned state into test_order_workflow only to expand simulation but not to build packing lists.
 
diff --git a/bt5/erp5_simulation_performance_test/bt/revision b/bt5/erp5_simulation_performance_test/bt/revision
index e440e5c842..bf0d87ab1b 100644
--- a/bt5/erp5_simulation_performance_test/bt/revision
+++ b/bt5/erp5_simulation_performance_test/bt/revision
@@ -1 +1 @@
-3
\ No newline at end of file
+4
\ No newline at end of file
-- 
2.30.9


From 001707c815ba67c728b6faff4513a01bdf628674 Mon Sep 17 00:00:00 2001
From: Yoshinori Okuji <yo@nexedi.com>
Date: Sun, 8 Aug 2010 05:50:19 +0000
Subject: [PATCH 268/270] 2010-08-08 yo * Add helper scripts to deal with
 divergence in a legacy way.

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@37633 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 ...lePackingList_acceptDecisionForTesting.xml | 133 +++++++++++++++++
 ...lePackingList_adoptPrevisionForTesting.xml | 135 ++++++++++++++++++
 .../bt/change_log                             |   3 +
 .../bt/revision                               |   2 +-
 4 files changed, 272 insertions(+), 1 deletion(-)
 create mode 100644 bt5/erp5_simulation_performance_test/SkinTemplateItem/portal_skins/erp5_simulation_performance_test/SalePackingList_acceptDecisionForTesting.xml
 create mode 100644 bt5/erp5_simulation_performance_test/SkinTemplateItem/portal_skins/erp5_simulation_performance_test/SalePackingList_adoptPrevisionForTesting.xml

diff --git a/bt5/erp5_simulation_performance_test/SkinTemplateItem/portal_skins/erp5_simulation_performance_test/SalePackingList_acceptDecisionForTesting.xml b/bt5/erp5_simulation_performance_test/SkinTemplateItem/portal_skins/erp5_simulation_performance_test/SalePackingList_acceptDecisionForTesting.xml
new file mode 100644
index 0000000000..f01b8a2c6b
--- /dev/null
+++ b/bt5/erp5_simulation_performance_test/SkinTemplateItem/portal_skins/erp5_simulation_performance_test/SalePackingList_acceptDecisionForTesting.xml
@@ -0,0 +1,133 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>Script_magic</string> </key>
+            <value> <int>3</int> </value>
+        </item>
+        <item>
+            <key> <string>_bind_names</string> </key>
+            <value>
+              <object>
+                <klass>
+                  <global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/>
+                </klass>
+                <tuple/>
+                <state>
+                  <dictionary>
+                    <item>
+                        <key> <string>_asgns</string> </key>
+                        <value>
+                          <dictionary>
+                            <item>
+                                <key> <string>name_container</string> </key>
+                                <value> <string>container</string> </value>
+                            </item>
+                            <item>
+                                <key> <string>name_context</string> </key>
+                                <value> <string>context</string> </value>
+                            </item>
+                            <item>
+                                <key> <string>name_m_self</string> </key>
+                                <value> <string>script</string> </value>
+                            </item>
+                            <item>
+                                <key> <string>name_subpath</string> </key>
+                                <value> <string>traverse_subpath</string> </value>
+                            </item>
+                          </dictionary>
+                        </value>
+                    </item>
+                  </dictionary>
+                </state>
+              </object>
+            </value>
+        </item>
+        <item>
+            <key> <string>_body</string> </key>
+            <value> <string>divergence_list = []\n
+for divergence_message in context.getDivergenceList():\n
+  if divergence_message.getProperty(\'tested_property\') == solver_target:\n
+    divergence_list.append(divergence_message)\n
+simulation_tool = context.getPortalObject().portal_simulation\n
+simulation_tool.solveDelivery(context, None, \'Copy\', divergence_list=divergence_list)\n
+</string> </value>
+        </item>
+        <item>
+            <key> <string>_code</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>_params</string> </key>
+            <value> <string>solver_target</string> </value>
+        </item>
+        <item>
+            <key> <string>errors</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+        <item>
+            <key> <string>func_code</string> </key>
+            <value>
+              <object>
+                <klass>
+                  <global name="FuncCode" module="Shared.DC.Scripts.Signature"/>
+                </klass>
+                <tuple/>
+                <state>
+                  <dictionary>
+                    <item>
+                        <key> <string>co_argcount</string> </key>
+                        <value> <int>1</int> </value>
+                    </item>
+                    <item>
+                        <key> <string>co_varnames</string> </key>
+                        <value>
+                          <tuple>
+                            <string>solver_target</string>
+                            <string>divergence_list</string>
+                            <string>_getiter_</string>
+                            <string>_getattr_</string>
+                            <string>context</string>
+                            <string>divergence_message</string>
+                            <string>simulation_tool</string>
+                            <string>None</string>
+                          </tuple>
+                        </value>
+                    </item>
+                  </dictionary>
+                </state>
+              </object>
+            </value>
+        </item>
+        <item>
+            <key> <string>func_defaults</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>SalePackingList_acceptDecisionForTesting</string> </value>
+        </item>
+        <item>
+            <key> <string>warnings</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_simulation_performance_test/SkinTemplateItem/portal_skins/erp5_simulation_performance_test/SalePackingList_adoptPrevisionForTesting.xml b/bt5/erp5_simulation_performance_test/SkinTemplateItem/portal_skins/erp5_simulation_performance_test/SalePackingList_adoptPrevisionForTesting.xml
new file mode 100644
index 0000000000..402c86c1ae
--- /dev/null
+++ b/bt5/erp5_simulation_performance_test/SkinTemplateItem/portal_skins/erp5_simulation_performance_test/SalePackingList_adoptPrevisionForTesting.xml
@@ -0,0 +1,135 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>Script_magic</string> </key>
+            <value> <int>3</int> </value>
+        </item>
+        <item>
+            <key> <string>_bind_names</string> </key>
+            <value>
+              <object>
+                <klass>
+                  <global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/>
+                </klass>
+                <tuple/>
+                <state>
+                  <dictionary>
+                    <item>
+                        <key> <string>_asgns</string> </key>
+                        <value>
+                          <dictionary>
+                            <item>
+                                <key> <string>name_container</string> </key>
+                                <value> <string>container</string> </value>
+                            </item>
+                            <item>
+                                <key> <string>name_context</string> </key>
+                                <value> <string>context</string> </value>
+                            </item>
+                            <item>
+                                <key> <string>name_m_self</string> </key>
+                                <value> <string>script</string> </value>
+                            </item>
+                            <item>
+                                <key> <string>name_subpath</string> </key>
+                                <value> <string>traverse_subpath</string> </value>
+                            </item>
+                          </dictionary>
+                        </value>
+                    </item>
+                  </dictionary>
+                </state>
+              </object>
+            </value>
+        </item>
+        <item>
+            <key> <string>_body</string> </key>
+            <value> <string>delivery_tool = context.getPortalObject().portal_deliveries\n
+delivery_builder = delivery_tool.test_sale_packing_list_builder\n
+divergence_list = []\n
+for divergence_message in context.getDivergenceList():\n
+  if divergence_message.getProperty(\'tested_property\') == solver_target:\n
+    divergence_list.append(divergence_message)\n
+delivery_builder.solveDivergence(context.getRelativeUrl(),\n
+                                 divergence_to_adopt_list=divergence_list)\n
+</string> </value>
+        </item>
+        <item>
+            <key> <string>_code</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>_params</string> </key>
+            <value> <string>solver_target</string> </value>
+        </item>
+        <item>
+            <key> <string>errors</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+        <item>
+            <key> <string>func_code</string> </key>
+            <value>
+              <object>
+                <klass>
+                  <global name="FuncCode" module="Shared.DC.Scripts.Signature"/>
+                </klass>
+                <tuple/>
+                <state>
+                  <dictionary>
+                    <item>
+                        <key> <string>co_argcount</string> </key>
+                        <value> <int>1</int> </value>
+                    </item>
+                    <item>
+                        <key> <string>co_varnames</string> </key>
+                        <value>
+                          <tuple>
+                            <string>solver_target</string>
+                            <string>_getattr_</string>
+                            <string>context</string>
+                            <string>delivery_tool</string>
+                            <string>delivery_builder</string>
+                            <string>divergence_list</string>
+                            <string>_getiter_</string>
+                            <string>divergence_message</string>
+                          </tuple>
+                        </value>
+                    </item>
+                  </dictionary>
+                </state>
+              </object>
+            </value>
+        </item>
+        <item>
+            <key> <string>func_defaults</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>SalePackingList_adoptPrevisionForTesting</string> </value>
+        </item>
+        <item>
+            <key> <string>warnings</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_simulation_performance_test/bt/change_log b/bt5/erp5_simulation_performance_test/bt/change_log
index 49049a702c..ecfc5874b3 100644
--- a/bt5/erp5_simulation_performance_test/bt/change_log
+++ b/bt5/erp5_simulation_performance_test/bt/change_log
@@ -1,3 +1,6 @@
+2010-08-08 yo
+* Add helper scripts to deal with divergence in a legacy way.
+
 2010-08-07 yo
 * Split the category movement group into an updatable one and a non-updatable one, to have some categories to be changeable without making another delivery.
 
diff --git a/bt5/erp5_simulation_performance_test/bt/revision b/bt5/erp5_simulation_performance_test/bt/revision
index bf0d87ab1b..7813681f5b 100644
--- a/bt5/erp5_simulation_performance_test/bt/revision
+++ b/bt5/erp5_simulation_performance_test/bt/revision
@@ -1 +1 @@
-4
\ No newline at end of file
+5
\ No newline at end of file
-- 
2.30.9


From 9b4d41864f926bc684403c756e1182207a38989e Mon Sep 17 00:00:00 2001
From: Yoshinori Okuji <yo@nexedi.com>
Date: Sun, 8 Aug 2010 07:00:01 +0000
Subject: [PATCH 269/270] 2010-08-08 yo * Update the id of the business process
 in scripts. * Make more scripts for select movement methods, as OrderBuilder
 does not pass which builder is used.

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@37636 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 .../test_advanced_sale_invoice_builder.xml    |   2 +-
 ...anced_sale_invoice_trade_model_builder.xml |   2 +-
 .../test_sale_packing_list_builder.xml        |   2 +-
 .../Alarm_activateTestInvoiceBuild.xml        |   2 +-
 .../Alarm_activateTestShippingBuild.xml       |   2 +-
 ...AdvancedSaleInvoiceBuilderMovementList.xml | 126 ++++++++++++++++++
 ...leInvoiceTradeModelBuilderMovementList.xml | 126 ++++++++++++++++++
 ...TestSalePackingListBuilderMovementList.xml | 126 ++++++++++++++++++
 .../bt/change_log                             |   4 +
 .../bt/revision                               |   2 +-
 10 files changed, 388 insertions(+), 6 deletions(-)
 create mode 100644 bt5/erp5_simulation_performance_test/SkinTemplateItem/portal_skins/erp5_simulation_performance_test/ERP5Site_getTestAdvancedSaleInvoiceBuilderMovementList.xml
 create mode 100644 bt5/erp5_simulation_performance_test/SkinTemplateItem/portal_skins/erp5_simulation_performance_test/ERP5Site_getTestAdvancedSaleInvoiceTradeModelBuilderMovementList.xml
 create mode 100644 bt5/erp5_simulation_performance_test/SkinTemplateItem/portal_skins/erp5_simulation_performance_test/ERP5Site_getTestSalePackingListBuilderMovementList.xml

diff --git a/bt5/erp5_simulation_performance_test/PathTemplateItem/portal_deliveries/test_advanced_sale_invoice_builder.xml b/bt5/erp5_simulation_performance_test/PathTemplateItem/portal_deliveries/test_advanced_sale_invoice_builder.xml
index e998a130e0..e8b50c3b94 100644
--- a/bt5/erp5_simulation_performance_test/PathTemplateItem/portal_deliveries/test_advanced_sale_invoice_builder.xml
+++ b/bt5/erp5_simulation_performance_test/PathTemplateItem/portal_deliveries/test_advanced_sale_invoice_builder.xml
@@ -86,7 +86,7 @@
         </item>
         <item>
             <key> <string>simulation_select_method_id</string> </key>
-            <value> <string>DeliveryBuilder_getSimulationPerformanceTestBuildableMovementList</string> </value>
+            <value> <string>ERP5Site_getTestAdvancedSaleInvoiceBuilderMovementList</string> </value>
         </item>
         <item>
             <key> <string>title</string> </key>
diff --git a/bt5/erp5_simulation_performance_test/PathTemplateItem/portal_deliveries/test_advanced_sale_invoice_trade_model_builder.xml b/bt5/erp5_simulation_performance_test/PathTemplateItem/portal_deliveries/test_advanced_sale_invoice_trade_model_builder.xml
index ab6b874c07..bb29d2d27d 100644
--- a/bt5/erp5_simulation_performance_test/PathTemplateItem/portal_deliveries/test_advanced_sale_invoice_trade_model_builder.xml
+++ b/bt5/erp5_simulation_performance_test/PathTemplateItem/portal_deliveries/test_advanced_sale_invoice_trade_model_builder.xml
@@ -88,7 +88,7 @@
         </item>
         <item>
             <key> <string>simulation_select_method_id</string> </key>
-            <value> <string>DeliveryBuilder_getSimulationPerformanceTestBuildableMovementList</string> </value>
+            <value> <string>ERP5Site_getTestAdvancedSaleInvoiceTradeModelBuilderMovementList</string> </value>
         </item>
         <item>
             <key> <string>title</string> </key>
diff --git a/bt5/erp5_simulation_performance_test/PathTemplateItem/portal_deliveries/test_sale_packing_list_builder.xml b/bt5/erp5_simulation_performance_test/PathTemplateItem/portal_deliveries/test_sale_packing_list_builder.xml
index 3f02116fc8..d9e2f18694 100644
--- a/bt5/erp5_simulation_performance_test/PathTemplateItem/portal_deliveries/test_sale_packing_list_builder.xml
+++ b/bt5/erp5_simulation_performance_test/PathTemplateItem/portal_deliveries/test_sale_packing_list_builder.xml
@@ -86,7 +86,7 @@
         </item>
         <item>
             <key> <string>simulation_select_method_id</string> </key>
-            <value> <string>DeliveryBuilder_getSimulationPerformanceTestBuildableMovementList</string> </value>
+            <value> <string>ERP5Site_getTestSalePackingListBuilderMovementList</string> </value>
         </item>
         <item>
             <key> <string>title</string> </key>
diff --git a/bt5/erp5_simulation_performance_test/SkinTemplateItem/portal_skins/erp5_simulation_performance_test/Alarm_activateTestInvoiceBuild.xml b/bt5/erp5_simulation_performance_test/SkinTemplateItem/portal_skins/erp5_simulation_performance_test/Alarm_activateTestInvoiceBuild.xml
index 305c69e8f5..a3b7c1c84b 100644
--- a/bt5/erp5_simulation_performance_test/SkinTemplateItem/portal_skins/erp5_simulation_performance_test/Alarm_activateTestInvoiceBuild.xml
+++ b/bt5/erp5_simulation_performance_test/SkinTemplateItem/portal_skins/erp5_simulation_performance_test/Alarm_activateTestInvoiceBuild.xml
@@ -57,7 +57,7 @@
 \n
 now = DateTime().timeTime()\n
 module = context.getPortalObject().business_process_module\n
-business_process = module.test_business_process\n
+business_process = module.test_bp\n
 invoice_business_path = business_process.invoice\n
 invoice_builder = invoice_business_path.getDeliveryBuilderValue()\n
 tax_business_path = business_process.tax\n
diff --git a/bt5/erp5_simulation_performance_test/SkinTemplateItem/portal_skins/erp5_simulation_performance_test/Alarm_activateTestShippingBuild.xml b/bt5/erp5_simulation_performance_test/SkinTemplateItem/portal_skins/erp5_simulation_performance_test/Alarm_activateTestShippingBuild.xml
index 74ce37aee6..5a4b769a84 100644
--- a/bt5/erp5_simulation_performance_test/SkinTemplateItem/portal_skins/erp5_simulation_performance_test/Alarm_activateTestShippingBuild.xml
+++ b/bt5/erp5_simulation_performance_test/SkinTemplateItem/portal_skins/erp5_simulation_performance_test/Alarm_activateTestShippingBuild.xml
@@ -54,7 +54,7 @@
         <item>
             <key> <string>_body</string> </key>
             <value> <string>module = context.getPortalObject().business_process_module\n
-business_path = module.test_business_process.shipping\n
+business_path = module.test_bp.shipping\n
 delivery_builder = business_path.getDeliveryBuilderValue()\n
 \n
 # Make sure that multiple builds would not run in parallel.\n
diff --git a/bt5/erp5_simulation_performance_test/SkinTemplateItem/portal_skins/erp5_simulation_performance_test/ERP5Site_getTestAdvancedSaleInvoiceBuilderMovementList.xml b/bt5/erp5_simulation_performance_test/SkinTemplateItem/portal_skins/erp5_simulation_performance_test/ERP5Site_getTestAdvancedSaleInvoiceBuilderMovementList.xml
new file mode 100644
index 0000000000..ea284a725d
--- /dev/null
+++ b/bt5/erp5_simulation_performance_test/SkinTemplateItem/portal_skins/erp5_simulation_performance_test/ERP5Site_getTestAdvancedSaleInvoiceBuilderMovementList.xml
@@ -0,0 +1,126 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>Script_magic</string> </key>
+            <value> <int>3</int> </value>
+        </item>
+        <item>
+            <key> <string>_bind_names</string> </key>
+            <value>
+              <object>
+                <klass>
+                  <global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/>
+                </klass>
+                <tuple/>
+                <state>
+                  <dictionary>
+                    <item>
+                        <key> <string>_asgns</string> </key>
+                        <value>
+                          <dictionary>
+                            <item>
+                                <key> <string>name_container</string> </key>
+                                <value> <string>container</string> </value>
+                            </item>
+                            <item>
+                                <key> <string>name_context</string> </key>
+                                <value> <string>context</string> </value>
+                            </item>
+                            <item>
+                                <key> <string>name_m_self</string> </key>
+                                <value> <string>script</string> </value>
+                            </item>
+                            <item>
+                                <key> <string>name_subpath</string> </key>
+                                <value> <string>traverse_subpath</string> </value>
+                            </item>
+                          </dictionary>
+                        </value>
+                    </item>
+                  </dictionary>
+                </state>
+              </object>
+            </value>
+        </item>
+        <item>
+            <key> <string>_body</string> </key>
+            <value> <string>delivery_builder = context.portal_deliveries.test_advanced_sale_invoice_builder\n
+return delivery_builder.DeliveryBuilder_getSimulationPerformanceTestBuildableMovementList(**kw)\n
+</string> </value>
+        </item>
+        <item>
+            <key> <string>_code</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>_params</string> </key>
+            <value> <string>**kw</string> </value>
+        </item>
+        <item>
+            <key> <string>errors</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+        <item>
+            <key> <string>func_code</string> </key>
+            <value>
+              <object>
+                <klass>
+                  <global name="FuncCode" module="Shared.DC.Scripts.Signature"/>
+                </klass>
+                <tuple/>
+                <state>
+                  <dictionary>
+                    <item>
+                        <key> <string>co_argcount</string> </key>
+                        <value> <int>0</int> </value>
+                    </item>
+                    <item>
+                        <key> <string>co_varnames</string> </key>
+                        <value>
+                          <tuple>
+                            <string>kw</string>
+                            <string>_getattr_</string>
+                            <string>context</string>
+                            <string>delivery_builder</string>
+                            <string>_apply_</string>
+                          </tuple>
+                        </value>
+                    </item>
+                  </dictionary>
+                </state>
+              </object>
+            </value>
+        </item>
+        <item>
+            <key> <string>func_defaults</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>ERP5Site_getTestAdvancedSaleInvoiceBuilderMovementList</string> </value>
+        </item>
+        <item>
+            <key> <string>warnings</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_simulation_performance_test/SkinTemplateItem/portal_skins/erp5_simulation_performance_test/ERP5Site_getTestAdvancedSaleInvoiceTradeModelBuilderMovementList.xml b/bt5/erp5_simulation_performance_test/SkinTemplateItem/portal_skins/erp5_simulation_performance_test/ERP5Site_getTestAdvancedSaleInvoiceTradeModelBuilderMovementList.xml
new file mode 100644
index 0000000000..c3e636e480
--- /dev/null
+++ b/bt5/erp5_simulation_performance_test/SkinTemplateItem/portal_skins/erp5_simulation_performance_test/ERP5Site_getTestAdvancedSaleInvoiceTradeModelBuilderMovementList.xml
@@ -0,0 +1,126 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>Script_magic</string> </key>
+            <value> <int>3</int> </value>
+        </item>
+        <item>
+            <key> <string>_bind_names</string> </key>
+            <value>
+              <object>
+                <klass>
+                  <global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/>
+                </klass>
+                <tuple/>
+                <state>
+                  <dictionary>
+                    <item>
+                        <key> <string>_asgns</string> </key>
+                        <value>
+                          <dictionary>
+                            <item>
+                                <key> <string>name_container</string> </key>
+                                <value> <string>container</string> </value>
+                            </item>
+                            <item>
+                                <key> <string>name_context</string> </key>
+                                <value> <string>context</string> </value>
+                            </item>
+                            <item>
+                                <key> <string>name_m_self</string> </key>
+                                <value> <string>script</string> </value>
+                            </item>
+                            <item>
+                                <key> <string>name_subpath</string> </key>
+                                <value> <string>traverse_subpath</string> </value>
+                            </item>
+                          </dictionary>
+                        </value>
+                    </item>
+                  </dictionary>
+                </state>
+              </object>
+            </value>
+        </item>
+        <item>
+            <key> <string>_body</string> </key>
+            <value> <string>delivery_builder = context.portal_deliveries.test_advanced_sale_invoice_trade_model_builder\n
+return delivery_builder.DeliveryBuilder_getSimulationPerformanceTestBuildableMovementList(**kw)\n
+</string> </value>
+        </item>
+        <item>
+            <key> <string>_code</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>_params</string> </key>
+            <value> <string>**kw</string> </value>
+        </item>
+        <item>
+            <key> <string>errors</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+        <item>
+            <key> <string>func_code</string> </key>
+            <value>
+              <object>
+                <klass>
+                  <global name="FuncCode" module="Shared.DC.Scripts.Signature"/>
+                </klass>
+                <tuple/>
+                <state>
+                  <dictionary>
+                    <item>
+                        <key> <string>co_argcount</string> </key>
+                        <value> <int>0</int> </value>
+                    </item>
+                    <item>
+                        <key> <string>co_varnames</string> </key>
+                        <value>
+                          <tuple>
+                            <string>kw</string>
+                            <string>_getattr_</string>
+                            <string>context</string>
+                            <string>delivery_builder</string>
+                            <string>_apply_</string>
+                          </tuple>
+                        </value>
+                    </item>
+                  </dictionary>
+                </state>
+              </object>
+            </value>
+        </item>
+        <item>
+            <key> <string>func_defaults</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>ERP5Site_getTestAdvancedSaleInvoiceTradeModelBuilderMovementList</string> </value>
+        </item>
+        <item>
+            <key> <string>warnings</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_simulation_performance_test/SkinTemplateItem/portal_skins/erp5_simulation_performance_test/ERP5Site_getTestSalePackingListBuilderMovementList.xml b/bt5/erp5_simulation_performance_test/SkinTemplateItem/portal_skins/erp5_simulation_performance_test/ERP5Site_getTestSalePackingListBuilderMovementList.xml
new file mode 100644
index 0000000000..4e7e738220
--- /dev/null
+++ b/bt5/erp5_simulation_performance_test/SkinTemplateItem/portal_skins/erp5_simulation_performance_test/ERP5Site_getTestSalePackingListBuilderMovementList.xml
@@ -0,0 +1,126 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>Script_magic</string> </key>
+            <value> <int>3</int> </value>
+        </item>
+        <item>
+            <key> <string>_bind_names</string> </key>
+            <value>
+              <object>
+                <klass>
+                  <global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/>
+                </klass>
+                <tuple/>
+                <state>
+                  <dictionary>
+                    <item>
+                        <key> <string>_asgns</string> </key>
+                        <value>
+                          <dictionary>
+                            <item>
+                                <key> <string>name_container</string> </key>
+                                <value> <string>container</string> </value>
+                            </item>
+                            <item>
+                                <key> <string>name_context</string> </key>
+                                <value> <string>context</string> </value>
+                            </item>
+                            <item>
+                                <key> <string>name_m_self</string> </key>
+                                <value> <string>script</string> </value>
+                            </item>
+                            <item>
+                                <key> <string>name_subpath</string> </key>
+                                <value> <string>traverse_subpath</string> </value>
+                            </item>
+                          </dictionary>
+                        </value>
+                    </item>
+                  </dictionary>
+                </state>
+              </object>
+            </value>
+        </item>
+        <item>
+            <key> <string>_body</string> </key>
+            <value> <string>delivery_builder = context.portal_deliveries.test_sale_packing_list_builder\n
+return delivery_builder.DeliveryBuilder_getSimulationPerformanceTestBuildableMovementList(**kw)\n
+</string> </value>
+        </item>
+        <item>
+            <key> <string>_code</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>_params</string> </key>
+            <value> <string>**kw</string> </value>
+        </item>
+        <item>
+            <key> <string>errors</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+        <item>
+            <key> <string>func_code</string> </key>
+            <value>
+              <object>
+                <klass>
+                  <global name="FuncCode" module="Shared.DC.Scripts.Signature"/>
+                </klass>
+                <tuple/>
+                <state>
+                  <dictionary>
+                    <item>
+                        <key> <string>co_argcount</string> </key>
+                        <value> <int>0</int> </value>
+                    </item>
+                    <item>
+                        <key> <string>co_varnames</string> </key>
+                        <value>
+                          <tuple>
+                            <string>kw</string>
+                            <string>_getattr_</string>
+                            <string>context</string>
+                            <string>delivery_builder</string>
+                            <string>_apply_</string>
+                          </tuple>
+                        </value>
+                    </item>
+                  </dictionary>
+                </state>
+              </object>
+            </value>
+        </item>
+        <item>
+            <key> <string>func_defaults</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>ERP5Site_getTestSalePackingListBuilderMovementList</string> </value>
+        </item>
+        <item>
+            <key> <string>warnings</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_simulation_performance_test/bt/change_log b/bt5/erp5_simulation_performance_test/bt/change_log
index ecfc5874b3..1e93dd98f2 100644
--- a/bt5/erp5_simulation_performance_test/bt/change_log
+++ b/bt5/erp5_simulation_performance_test/bt/change_log
@@ -1,3 +1,7 @@
+2010-08-08 yo
+* Update the id of the business process in scripts.
+* Make more scripts for select movement methods, as OrderBuilder does not pass which builder is used.
+
 2010-08-08 yo
 * Add helper scripts to deal with divergence in a legacy way.
 
diff --git a/bt5/erp5_simulation_performance_test/bt/revision b/bt5/erp5_simulation_performance_test/bt/revision
index 7813681f5b..301160a930 100644
--- a/bt5/erp5_simulation_performance_test/bt/revision
+++ b/bt5/erp5_simulation_performance_test/bt/revision
@@ -1 +1 @@
-5
\ No newline at end of file
+8
\ No newline at end of file
-- 
2.30.9


From 6871941a146e284516079fd3d783f8c6fb36d633 Mon Sep 17 00:00:00 2001
From: Nicolas Dumazet <nicolas.dumazet@nexedi.com>
Date: Sun, 8 Aug 2010 10:03:25 +0000
Subject: [PATCH 270/270] committing local changes. zSelectMovement list had
 been improved and renamed to zSelectBuildableMovementList

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@37637 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 product/ERP5/Document/BusinessPath.py | 9 ++++++++-
 1 file changed, 8 insertions(+), 1 deletion(-)

diff --git a/product/ERP5/Document/BusinessPath.py b/product/ERP5/Document/BusinessPath.py
index 1894ee1012..c3f68b0a1b 100644
--- a/product/ERP5/Document/BusinessPath.py
+++ b/product/ERP5/Document/BusinessPath.py
@@ -596,8 +596,15 @@ class BusinessPath(Path, Predicate):
       search_kw['movement.price'] = {'query':0, 'range':'neq'}
       sql_kw = portal_catalog.buildSQLQuery(**search_kw)
     """
-    all_movement_list = self.BusinessPath_zSelectMovement(
+    predecessor_state = self.getPredecessorValue()
+    if predecessor_state is None:
+      predecessor_uid_list = []
+    else:
+      predecessor_list = predecessor_state.getSuccessorRelatedValueList()
+      predecessor_uid_list = [x.getUid() for x in predecessor_list]
+    all_movement_list = self.BusinessPath_zSelectBuildableMovementList(
                           business_path_uid=self.getUid(),
+                          predecessor_uid_list=predecessor_uid_list,
                           **sql_kw)
 
     # select method should return only non-delivered movements, but
-- 
2.30.9