From 9c4f19b1f56188e1722f1627bc59db99104475a6 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?J=C3=A9rome=20Perrin?= <jerome@nexedi.com>
Date: Mon, 23 Sep 2013 15:25:25 +0200
Subject: [PATCH] accounting: improve grouping reference fast input

- columns are now searchable
- title display line title if any; for consistency with all other reports
- title is no longer sortable properly. This is a little regression.
- use queries instead of raw where expression
---
 ...ransactionLineListForGroupingReference.xml |  38 ++-
 ...tionModule_viewGroupingFastInputDialog.xml |   1 +
 .../listbox.xml                               |  41 ++-
 .../listbox_title.xml                         | 275 ++++++++++++++++++
 bt5/erp5_accounting/bt/revision               |   2 +-
 .../test_group_dialog_searching.html.xml      | 221 ++++++++++++++
 .../test_group_dialog_sorting.html.xml        |  79 -----
 bt5/erp5_accounting_ui_test/bt/revision       |   2 +-
 8 files changed, 569 insertions(+), 90 deletions(-)
 create mode 100644 bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountingTransactionModule_viewGroupingFastInputDialog/listbox_title.xml
 create mode 100644 bt5/erp5_accounting_ui_test/PathTemplateItem/portal_tests/accounting_zuite/test_grouping_reference/test_group_dialog_searching.html.xml

diff --git a/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountingTransactionModule_getTransactionLineListForGroupingReference.xml b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountingTransactionModule_getTransactionLineListForGroupingReference.xml
index f796afd06e..0167906bbb 100644
--- a/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountingTransactionModule_getTransactionLineListForGroupingReference.xml
+++ b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountingTransactionModule_getTransactionLineListForGroupingReference.xml
@@ -50,7 +50,11 @@
         </item>
         <item>
             <key> <string>_body</string> </key>
-            <value> <string>request = container.REQUEST\n
+            <value> <string encoding="cdata"><![CDATA[
+
+from Products.ZSQLCatalog.SQLCatalog import Query, NegatedQuery, ComplexQuery\n
+\n
+request = container.REQUEST\n
 portal = context.getPortalObject()\n
 ctool = portal.portal_catalog\n
 stool = portal.portal_simulation\n
@@ -89,22 +93,42 @@ if mirror_section:\n
                                           mirror_section).getUid()\n
 \n
 if grouping == \'grouping\':\n
-  where_expression = \'catalog.grouping_reference is NULL\'\n
+  search_kw[\'grouping_reference\'] = None\n
 else:\n
   assert grouping == \'ungrouping\', grouping\n
-  where_expression = \'catalog.grouping_reference is not NULL\'\n
-    \n
+  search_kw[\'grouping_reference\'] = NegatedQuery(Query(grouping_reference=None))\n
+\n
+if title:\n
+  search_kw[\'title_query\'] = ComplexQuery(Query(title=title),\n
+                                          Query(parent_title=title),\n
+                                          operator=\'OR\')\n
+if delivery_reference:\n
+  search_kw[\'parent_reference\'] = delivery_reference\n
+if debit_price:\n
+  search_kw[\'stock.total_price\'] = debit_price\n
+if credit_price:\n
+  try:\n
+    search_kw[\'stock.total_price\'] = - float(credit_price[\'query\'])\n
+  except ValueError, e:\n
+    # happens when user entered a complex query (like "> 100 AND < 200")\n
+    # in that case, there is not much we can do.\n
+    search_kw[\'stock.total_price\'] = credit_price[\'query\']\n
+if date:\n
+  search_kw[\'stock.date\'] = date\n
+\n
+\n
 return stool.getMovementHistoryList(\n
                           section_uid=section_uid,\n
                           simulation_state=[\'stopped\', \'delivered\'],\n
-                          where_expression=where_expression,\n
                           sort_on=sort_on,\n
                           **search_kw)\n
-</string> </value>
+
+
+]]></string> </value>
         </item>
         <item>
             <key> <string>_params</string> </key>
-            <value> <string>selection=None, grouping=\'grouping\', node=\'\', mirror_section=\'\', **kw</string> </value>
+            <value> <string>selection=None, grouping=\'grouping\', node=\'\', mirror_section=\'\', title=None, delivery_reference=None, debit_price=None, credit_price=None, date=None, **kw</string> </value>
         </item>
         <item>
             <key> <string>id</string> </key>
diff --git a/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountingTransactionModule_viewGroupingFastInputDialog.xml b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountingTransactionModule_viewGroupingFastInputDialog.xml
index c1d00b9659..eff6268cf4 100644
--- a/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountingTransactionModule_viewGroupingFastInputDialog.xml
+++ b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountingTransactionModule_viewGroupingFastInputDialog.xml
@@ -88,6 +88,7 @@
                         <string>listbox_delivery_portal_type</string>
                         <string>listbox_node_title</string>
                         <string>listbox_date</string>
+                        <string>listbox_title</string>
                       </list>
                     </value>
                 </item>
diff --git a/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountingTransactionModule_viewGroupingFastInputDialog/listbox.xml b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountingTransactionModule_viewGroupingFastInputDialog/listbox.xml
index d94733d36e..f534a36576 100644
--- a/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountingTransactionModule_viewGroupingFastInputDialog/listbox.xml
+++ b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountingTransactionModule_viewGroupingFastInputDialog/listbox.xml
@@ -15,6 +15,8 @@
                 <string>editable_columns</string>
                 <string>lines</string>
                 <string>list_method</string>
+                <string>search</string>
+                <string>search_columns</string>
                 <string>select</string>
                 <string>selection_name</string>
                 <string>sort</string>
@@ -147,7 +149,7 @@
                           <string>Date</string>
                         </tuple>
                         <tuple>
-                          <string>parent_title</string>
+                          <string>title</string>
                           <string>Title</string>
                         </tuple>
                         <tuple>
@@ -177,6 +179,10 @@
                           <string>date</string>
                           <string>Date</string>
                         </tuple>
+                        <tuple>
+                          <string>title</string>
+                          <string>Title</string>
+                        </tuple>
                         <tuple>
                           <string>debit_price</string>
                           <string>Debit</string>
@@ -206,6 +212,37 @@
                       <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
                     </value>
                 </item>
+                <item>
+                    <key> <string>search</string> </key>
+                    <value> <int>1</int> </value>
+                </item>
+                <item>
+                    <key> <string>search_columns</string> </key>
+                    <value>
+                      <list>
+                        <tuple>
+                          <string>debit_price</string>
+                          <string>Debit</string>
+                        </tuple>
+                        <tuple>
+                          <string>credit_price</string>
+                          <string>Credit</string>
+                        </tuple>
+                        <tuple>
+                          <string>delivery_reference</string>
+                          <string>Transaction Reference</string>
+                        </tuple>
+                        <tuple>
+                          <string>title</string>
+                          <string>Title</string>
+                        </tuple>
+                        <tuple>
+                          <string>date</string>
+                          <string>Date</string>
+                        </tuple>
+                      </list>
+                    </value>
+                </item>
                 <item>
                     <key> <string>select</string> </key>
                     <value> <int>1</int> </value>
@@ -246,7 +283,7 @@
                           <string>Date</string>
                         </tuple>
                         <tuple>
-                          <string>parent_title</string>
+                          <string>title</string>
                           <string>Title</string>
                         </tuple>
                       </list>
diff --git a/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountingTransactionModule_viewGroupingFastInputDialog/listbox_title.xml b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountingTransactionModule_viewGroupingFastInputDialog/listbox_title.xml
new file mode 100644
index 0000000000..b03e923bc7
--- /dev/null
+++ b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountingTransactionModule_viewGroupingFastInputDialog/listbox_title.xml
@@ -0,0 +1,275 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="StringField" module="Products.Formulator.StandardFields"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>listbox_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>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> <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>Title</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>
+      <global name="TALESMethod" module="Products.Formulator.TALESField"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_text</string> </key>
+            <value> <string>python: cell.getObject().hasTitle() and cell.getObject().getTitle() or cell.getObject().getParentTitle()</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_accounting/bt/revision b/bt5/erp5_accounting/bt/revision
index d10f97d902..ba7177fff7 100644
--- a/bt5/erp5_accounting/bt/revision
+++ b/bt5/erp5_accounting/bt/revision
@@ -1 +1 @@
-1549
\ No newline at end of file
+1550
\ No newline at end of file
diff --git a/bt5/erp5_accounting_ui_test/PathTemplateItem/portal_tests/accounting_zuite/test_grouping_reference/test_group_dialog_searching.html.xml b/bt5/erp5_accounting_ui_test/PathTemplateItem/portal_tests/accounting_zuite/test_grouping_reference/test_group_dialog_searching.html.xml
new file mode 100644
index 0000000000..73c227578f
--- /dev/null
+++ b/bt5/erp5_accounting_ui_test/PathTemplateItem/portal_tests/accounting_zuite/test_grouping_reference/test_group_dialog_searching.html.xml
@@ -0,0 +1,221 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="ZopePageTemplate" module="Products.PageTemplates.ZopePageTemplate"/>
+    </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> <unicode encoding="cdata"><![CDATA[
+
+<html>\n
+<head><title>Sorting in Grouping Dialog</title></head>\n
+<body>\n
+<table cellpadding="1" cellspacing="1" border="1">\n
+<thead>\n
+<tr><td rowspan="1" colspan="4">\n
+Sorting in Grouping Dialog\n
+</td></tr>\n
+</thead><tbody tal:define="init_method string:AccountingZuite_createAccountingTransactionList?add_draft_transactions:int=0&add_related_payments:int=1">\n
+\n
+<!-- Setup {{{ -->\n
+<tal:block metal:use-macro="here/AccountingZuite_CommonTemplate/macros/init"/>\n
+<tr>\n
+  <td>selectAndWait</td>\n
+  <td>select_module</td>\n
+  <td>Accounts</td>\n
+</tr>\n
+<tr>\n
+  <td>clickAndWait</td>\n
+  <td>Folder_show:method</td>\n
+  <td></td>\n
+</tr>\n
+<!-- }}} -->\n
+\n
+<!-- {{{ Select Receivable account and use grouping fast input -->\n
+<tr>\n
+  <td>clickAndWait</td>\n
+  <td>link=Receivable</td>\n
+  <td></td>\n
+</tr>\n
+<tr>\n
+  <td>clickAndWait</td>\n
+  <td>//img[@alt=\'Grouping Reference Fast Input\']</td>\n
+  <td></td>\n
+</tr>\n
+\n
+<tr>\n
+  <td>verifyText</td>\n
+  <td>//span[@class="listbox-current-page-total-number"]</td>\n
+  <td>4 records</td>\n
+</tr>\n
+\n
+<tr>\n
+  <td>type</td>\n
+  <!-- debit -->\n
+  <td>//tr[@class=\'listbox-search-line\']/th[3]/input</td>  \n
+  <td>2200</td>\n
+</tr>\n
+<tr>\n
+  <td>clickAndWait</td>\n
+  <td>//input[@class="listbox-select-action"]</td>\n
+  <td></td>\n
+</tr>\n
+<tr>\n
+  <td>verifyText</td>\n
+  <td>//span[@class="listbox-current-page-total-number"]</td>\n
+  <td>1 records</td>\n
+</tr>\n
+\n
+<tr>\n
+  <td>type</td>\n
+  <!-- reset debit -->\n
+  <td>//tr[@class=\'listbox-search-line\']/th[3]/input</td>  \n
+  <td></td>\n
+</tr>\n
+<tr>\n
+  <td>type</td>\n
+  <!-- credit -->\n
+  <td>//tr[@class=\'listbox-search-line\']/th[4]/input</td>  \n
+  <td>2200</td>\n
+</tr>\n
+<tr>\n
+  <td>clickAndWait</td>\n
+  <td>//input[@class="listbox-select-action"]</td>\n
+  <td></td>\n
+</tr>\n
+<tr>\n
+  <td>verifyText</td>\n
+  <td>//span[@class="listbox-current-page-total-number"]</td>\n
+  <td>1 records</td>\n
+</tr>\n
+\n
+<tr>\n
+  <td>type</td>\n
+  <!-- reset credit -->\n
+  <td>//tr[@class=\'listbox-search-line\']/th[4]/input</td>  \n
+  <td></td>\n
+</tr>\n
+<tr>\n
+  <td>type</td>\n
+  <!-- explanation reference. As this is generated, we just use % -->\n
+  <td>//tr[@class=\'listbox-search-line\']/th[5]/input</td>  \n
+  <td>%</td>\n
+</tr>\n
+<tr>\n
+  <td>clickAndWait</td>\n
+  <td>//input[@class="listbox-select-action"]</td>\n
+  <td></td>\n
+</tr>\n
+<tr>\n
+  <td>verifyText</td>\n
+  <td>//span[@class="listbox-current-page-total-number"]</td>\n
+  <td>2 records</td> <!-- in our test data set, only invoices have reference, not payments -->\n
+</tr>\n
+\n
+<tr>\n
+  <td>type</td>\n
+  <!-- reset explanation reference -->\n
+  <td>//tr[@class=\'listbox-search-line\']/th[5]/input</td>  \n
+  <td></td>\n
+</tr>\n
+<tr>\n
+  <td>type</td>\n
+  <!-- date -->\n
+  <td>//tr[@class=\'listbox-search-line\']/th[6]/input</td>  \n
+  <td>2005/01/02</td>\n
+</tr>\n
+<tr>\n
+  <td>clickAndWait</td>\n
+  <td>//input[@class="listbox-select-action"]</td>\n
+  <td></td>\n
+</tr>\n
+<tr>\n
+  <td>verifyText</td>\n
+  <td>//span[@class="listbox-current-page-total-number"]</td>\n
+  <td>2 records</td>\n
+</tr>\n
+\n
+<tr>\n
+  <td>type</td>\n
+  <!-- reset date -->\n
+  <td>//tr[@class=\'listbox-search-line\']/th[6]/input</td>  \n
+  <td></td>\n
+</tr>\n
+<tr>\n
+  <td>type</td>\n
+  <!-- title -->\n
+  <td>//tr[@class=\'listbox-search-line\']/th[7]/input</td>  \n
+  <td>Client 1 Payment</td>\n
+</tr>\n
+<tr>\n
+  <td>clickAndWait</td>\n
+  <td>//input[@class="listbox-select-action"]</td>\n
+  <td></td>\n
+</tr>\n
+<tr>\n
+  <td>verifyText</td>\n
+  <td>//span[@class="listbox-current-page-total-number"]</td>\n
+  <td>1 records</td>\n
+</tr>\n
+\n
+\n
+</tbody></table>\n
+</body>\n
+</html> <!-- vim: syntax=html foldmethod=marker\n
+-->
+
+]]></unicode> </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>test_group_dialog_searching.html</string> </value>
+        </item>
+        <item>
+            <key> <string>output_encoding</string> </key>
+            <value> <string>utf-8</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <unicode></unicode> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_accounting_ui_test/PathTemplateItem/portal_tests/accounting_zuite/test_grouping_reference/test_group_dialog_sorting.html.xml b/bt5/erp5_accounting_ui_test/PathTemplateItem/portal_tests/accounting_zuite/test_grouping_reference/test_group_dialog_sorting.html.xml
index 6436ee7682..2f82a978d7 100644
--- a/bt5/erp5_accounting_ui_test/PathTemplateItem/portal_tests/accounting_zuite/test_grouping_reference/test_group_dialog_sorting.html.xml
+++ b/bt5/erp5_accounting_ui_test/PathTemplateItem/portal_tests/accounting_zuite/test_grouping_reference/test_group_dialog_sorting.html.xml
@@ -134,86 +134,7 @@ Sorting in Grouping Dialog\n
 </tr>\n
 <!-- }}} -->\n
 \n
-<!-- Sort by title asc {{{ -->\n
-<tr>\n
-  <td>assertElementPresent</td>\n
-  <td>//tr[@class=\'listbox-label-line\']/th[6]/button[@value="listbox.date:none"]</td>\n
-  <td></td>\n
-</tr>\n
-<tr>\n
-  <!-- reset date sorting -->\n
-  <td>clickAndWait</td>\n
-  <td>//tr[@class=\'listbox-label-line\']/th[6]/button[@value="listbox.date:none"]</td>\n
-  <td></td>\n
-</tr>\n
-<tr>\n
-  <td>clickAndWait</td>\n
-  <td>//tr[@class=\'listbox-label-line\']/th[7]/button[@value="listbox.parent_title:asc"]</td>\n
-  <td></td>\n
-</tr>\n
-<tr>\n
-  <td>verifyText</td>\n
-  <td>//tr[@class=\'listbox-data-line-0 DataA\']/td[7]/a</td>\n
-  <td>Client 1 Payment</td>\n
-</tr>\n
-<tr>\n
-  <td>verifyText</td>\n
-  <td>//tr[@class=\'listbox-data-line-1 DataB\']/td[7]/a</td>\n
-  <td>Client 1 Sale Invoice</td>\n
-</tr>\n
-<tr>\n
-  <td>verifyText</td>\n
-  <td>//tr[@class=\'listbox-data-line-2 DataA\']/td[7]/a</td>\n
-  <td>Client 2 Payment</td>\n
-</tr>\n
-<tr>\n
-  <td>verifyText</td>\n
-  <td>//tr[@class=\'listbox-data-line-3 DataB\']/td[7]/a</td>\n
-  <td>Client 2 Sale Invoice</td>\n
-</tr>\n
-<!-- }}} -->\n
-\n
-<!-- Sort by title desc {{{ -->\n
-<tr>\n
-  <td>clickAndWait</td>\n
-  <td>//tr[@class=\'listbox-label-line\']/th[7]/button[@value="listbox.parent_title:desc"]</td>\n
-  <td></td>\n
-</tr>\n
-<tr>\n
-  <td>verifyText</td>\n
-  <td>//tr[@class=\'listbox-data-line-3 DataB\']/td[7]/a</td>\n
-  <td>Client 1 Payment</td>\n
-</tr>\n
-<tr>\n
-  <td>verifyText</td>\n
-  <td>//tr[@class=\'listbox-data-line-2 DataA\']/td[7]/a</td>\n
-  <td>Client 1 Sale Invoice</td>\n
-</tr>\n
-<tr>\n
-  <td>verifyText</td>\n
-  <td>//tr[@class=\'listbox-data-line-1 DataB\']/td[7]/a</td>\n
-  <td>Client 2 Payment</td>\n
-</tr>\n
-<tr>\n
-  <td>verifyText</td>\n
-  <td>//tr[@class=\'listbox-data-line-0 DataA\']/td[7]/a</td>\n
-  <td>Client 2 Sale Invoice</td>\n
-</tr>\n
-<!-- }}} -->\n
-\n
 <!-- Sort by grouping reference asc {{{ -->\n
-<tr>\n
-  <!-- reset title sorting -->\n
-  <td>assertElementPresent</td>\n
-  <td>//tr[@class=\'listbox-label-line\']/th[7]/button[@value="listbox.parent_title:none"]</td>\n
-  <td></td>\n
-</tr>\n
-<tr>\n
-  <!-- reset title sorting -->\n
-  <td>clickAndWait</td>\n
-  <td>//tr[@class=\'listbox-label-line\']/th[7]/button[@value="listbox.parent_title:none"]</td>\n
-  <td></td>\n
-</tr>\n
 <tr>\n
   <!-- XXX-Tatuya: For what purpose of this sort? -->\n
   <td>clickAndWait</td>\n
diff --git a/bt5/erp5_accounting_ui_test/bt/revision b/bt5/erp5_accounting_ui_test/bt/revision
index 05cf25896d..252b382b33 100644
--- a/bt5/erp5_accounting_ui_test/bt/revision
+++ b/bt5/erp5_accounting_ui_test/bt/revision
@@ -1 +1 @@
-201
\ No newline at end of file
+202
\ No newline at end of file
-- 
2.30.9