From a519ce8fb4b5c06b6d5faa1fbbb8790749674c76 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?J=C3=A9rome=20Perrin?= <jerome@nexedi.com>
Date: Thu, 25 Mar 2010 17:41:09 +0000
Subject: [PATCH] allow searching by strict section category

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@34131 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 ...tingTransactionModule_viewSearchDialog.xml |   1 +
 .../your_section_category_strict.xml          | 189 ++++++++++++++++++
 ...onModule_zGetAccountingTransactionList.xml |  19 ++
 bt5/erp5_accounting/bt/revision               |   2 +-
 4 files changed, 210 insertions(+), 1 deletion(-)
 create mode 100644 bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountingTransactionModule_viewSearchDialog/your_section_category_strict.xml

diff --git a/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountingTransactionModule_viewSearchDialog.xml b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountingTransactionModule_viewSearchDialog.xml
index fd6bde5615..2efc66eb4b 100644
--- a/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountingTransactionModule_viewSearchDialog.xml
+++ b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountingTransactionModule_viewSearchDialog.xml
@@ -81,6 +81,7 @@
                         <string>your_to_date</string>
                         <string>your_resource</string>
                         <string>your_section_category</string>
+                        <string>your_section_category_strict</string>
                         <string>your_amount</string>
                         <string>your_amount_range_min</string>
                         <string>your_amount_range_max</string>
diff --git a/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountingTransactionModule_viewSearchDialog/your_section_category_strict.xml b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountingTransactionModule_viewSearchDialog/your_section_category_strict.xml
new file mode 100644
index 0000000000..496e19bb46
--- /dev/null
+++ b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountingTransactionModule_viewSearchDialog/your_section_category_strict.xml
@@ -0,0 +1,189 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="CheckBoxField" module="Products.Formulator.StandardFields"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <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>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>hidden</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>title</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>hidden</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>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> <int>0</int> </value>
+                </item>
+                <item>
+                    <key> <string>description</string> </key>
+                    <value> <string>If checked, only organisations strictly member of the category will be used.</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>hidden</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+                <item>
+                    <key> <string>title</string> </key>
+                    <value> <string>Strict Section Category</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>context/portal_selections/accounting_selection/section_category_strict | nothing</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountingTransactionModule_zGetAccountingTransactionList.xml b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountingTransactionModule_zGetAccountingTransactionList.xml
index 7a510ad4c2..f4b9a60401 100644
--- a/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountingTransactionModule_zGetAccountingTransactionList.xml
+++ b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountingTransactionModule_zGetAccountingTransactionList.xml
@@ -219,6 +219,17 @@
                                   </dictionary>
                                 </value>
                             </item>
+                            <item>
+                                <key> <string>section_category_strict</string> </key>
+                                <value>
+                                  <dictionary>
+                                    <item>
+                                        <key> <string>default</string> </key>
+                                        <value> <string>False</string> </value>
+                                    </item>
+                                  </dictionary>
+                                </value>
+                            </item>
                             <item>
                                 <key> <string>select_expression</string> </key>
                                 <value>
@@ -338,6 +349,7 @@
                             <string>creation_date_range_min</string>
                             <string>creation_date_range_max</string>
                             <string>section_category</string>
+                            <string>section_category_strict</string>
                             <string>count</string>
                             <string>transaction_uid</string>
                             <string>specific_reference</string>
@@ -383,6 +395,7 @@ amount_range_max=""\r\n
 creation_date_range_min=""\r\n
 creation_date_range_max=""\r\n
 section_category=""\r\n
+section_category_strict=False\r\n
 count=""\r\n
 transaction_uid=""\r\n
 specific_reference\r\n
@@ -534,6 +547,7 @@ destination_section_where_expression</string> </value>
         AND section.uid = category.uid\n
         AND category.category_uid =\n
         <dtml-var "portal_categories.restrictedTraverse(section_category).getUid()">\n
+        <dtml-if "section_category_strict">AND category.category_strict_membership = 1</dtml-if>\n
       </dtml-if>\n
       \n
       <dtml-if from_date>\n
@@ -744,6 +758,7 @@ destination_section_where_expression</string> </value>
             AND section.uid = category.uid\n
             AND category.category_uid =\n
             <dtml-var "portal_categories.restrictedTraverse(section_category).getUid()">\n
+            <dtml-if "section_category_strict">AND category.category_strict_membership = 1</dtml-if>\n
           </dtml-if>\n
           <dtml-if "delivery_mirror_section_title">\n
             AND mirror_section_catalog.uid = mirror_section_delivery.destination_section_uid\n
@@ -931,6 +946,7 @@ UNION\n
             AND section.uid = category.uid\n
             AND category.category_uid =\n
             <dtml-var "portal_categories.restrictedTraverse(section_category).getUid()">\n
+            <dtml-if "section_category_strict">AND category.category_strict_membership = 1</dtml-if>\n
           </dtml-if>\n
           <dtml-if "delivery_mirror_section_title">\n
             AND mirror_section_catalog.uid = mirror_section_delivery.source_section_uid\n
@@ -1193,6 +1209,7 @@ UNION\n
         AND section.uid = category.uid\n
         AND category.category_uid =\n
         <dtml-var "portal_categories.restrictedTraverse(section_category).getUid()">\n
+        <dtml-if "section_category_strict">AND category.category_strict_membership = 1</dtml-if>\n
       </dtml-if>\n
       \n
       <dtml-if from_date>\n
@@ -1403,6 +1420,7 @@ UNION\n
             AND section.uid = category.uid\n
             AND category.category_uid =\n
             <dtml-var "portal_categories.restrictedTraverse(section_category).getUid()">\n
+            <dtml-if "section_category_strict">AND category.category_strict_membership = 1</dtml-if>\n
           </dtml-if>\n
           <dtml-if "delivery_mirror_section_title">\n
             AND mirror_section_catalog.uid = mirror_section_delivery.destination_section_uid\n
@@ -1590,6 +1608,7 @@ UNION\n
             AND section.uid = category.uid\n
             AND category.category_uid =\n
             <dtml-var "portal_categories.restrictedTraverse(section_category).getUid()">\n
+            <dtml-if "section_category_strict">AND category.category_strict_membership = 1</dtml-if>\n
           </dtml-if>\n
           <dtml-if "delivery_mirror_section_title">\n
             AND mirror_section_catalog.uid = mirror_section_delivery.source_section_uid\n
diff --git a/bt5/erp5_accounting/bt/revision b/bt5/erp5_accounting/bt/revision
index 04170a3632..65150d2b69 100644
--- a/bt5/erp5_accounting/bt/revision
+++ b/bt5/erp5_accounting/bt/revision
@@ -1 +1 @@
-1151
\ No newline at end of file
+1153
\ No newline at end of file
-- 
2.30.9