From bc6c7e02aada6e16b24ebe81a1bdc610a861f8be Mon Sep 17 00:00:00 2001
From: Ivan Tyagov <ivan@nexedi.com>
Date: Wed, 23 Mar 2011 08:54:47 +0000
Subject: [PATCH] Add 'Gadget Type' which will be the base Gadget instance type
 (work in progress). Fix listbox definitions.

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@44527 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 .../Gadget%20Type/action_view.xml             |  85 ++++++++++++++
 .../portal_types/Gadget%20Type/view.xml       |  85 ++++++++++++++
 .../allowed_content_types.xml                 |   3 +
 .../property_sheet_list.xml                   |   3 +
 .../portal_types/Gadget%20Type.xml            | 111 ++++++++++++++++++
 .../Base_viewGadgetListDialog/listbox.xml     |  34 +-----
 .../GadgetTool_viewGadgetList/listbox.xml     |  25 ++--
 bt5/erp5_knowledge_pad/bt/revision            |   2 +-
 .../bt/template_action_path_list              |   2 +
 ...late_portal_type_allowed_content_type_list |   1 +
 .../bt/template_portal_type_id_list           |   1 +
 .../template_portal_type_property_sheet_list  |   1 +
 12 files changed, 310 insertions(+), 43 deletions(-)
 create mode 100644 bt5/erp5_knowledge_pad/ActionTemplateItem/portal_types/Gadget%20Type/action_view.xml
 create mode 100644 bt5/erp5_knowledge_pad/ActionTemplateItem/portal_types/Gadget%20Type/view.xml
 create mode 100644 bt5/erp5_knowledge_pad/PortalTypeTemplateItem/portal_types/Gadget%20Type.xml

diff --git a/bt5/erp5_knowledge_pad/ActionTemplateItem/portal_types/Gadget%20Type/action_view.xml b/bt5/erp5_knowledge_pad/ActionTemplateItem/portal_types/Gadget%20Type/action_view.xml
new file mode 100644
index 0000000000..7fb4a70168
--- /dev/null
+++ b/bt5/erp5_knowledge_pad/ActionTemplateItem/portal_types/Gadget%20Type/action_view.xml
@@ -0,0 +1,85 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="ActionInformation" module="Products.CMFCore.ActionInformation"/>
+    </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>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>icon</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>action_view</string> </value>
+        </item>
+        <item>
+            <key> <string>permissions</string> </key>
+            <value>
+              <tuple>
+                <string>View</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>2.0</float> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>Actions</string> </value>
+        </item>
+        <item>
+            <key> <string>visible</string> </key>
+            <value> <int>1</int> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="2" aka="AAAAAAAAAAI=">
+    <pickle>
+      <global name="Expression" module="Products.CMFCore.Expression"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>text</string> </key>
+            <value> <string>string:${object_url}/BaseType_viewAction</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_knowledge_pad/ActionTemplateItem/portal_types/Gadget%20Type/view.xml b/bt5/erp5_knowledge_pad/ActionTemplateItem/portal_types/Gadget%20Type/view.xml
new file mode 100644
index 0000000000..55a3c5c6a9
--- /dev/null
+++ b/bt5/erp5_knowledge_pad/ActionTemplateItem/portal_types/Gadget%20Type/view.xml
@@ -0,0 +1,85 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="ActionInformation" module="Products.CMFCore.ActionInformation"/>
+    </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>
+              <none/>
+            </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>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>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>
+      <global name="Expression" module="Products.CMFCore.Expression"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>text</string> </key>
+            <value> <string>string:${object_url}/BaseType_view</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_knowledge_pad/PortalTypeAllowedContentTypeTemplateItem/allowed_content_types.xml b/bt5/erp5_knowledge_pad/PortalTypeAllowedContentTypeTemplateItem/allowed_content_types.xml
index 8b23fa8c61..206c4d6fb8 100644
--- a/bt5/erp5_knowledge_pad/PortalTypeAllowedContentTypeTemplateItem/allowed_content_types.xml
+++ b/bt5/erp5_knowledge_pad/PortalTypeAllowedContentTypeTemplateItem/allowed_content_types.xml
@@ -5,6 +5,9 @@
  <portal_type id="Gadget Tool">
   <item>Gadget</item>
  </portal_type>
+ <portal_type id="Gadget Type">
+  <item>Action Information</item>
+ </portal_type>
  <portal_type id="Knowledge Pad">
   <item>Knowledge Box</item>
  </portal_type>
diff --git a/bt5/erp5_knowledge_pad/PortalTypePropertySheetTemplateItem/property_sheet_list.xml b/bt5/erp5_knowledge_pad/PortalTypePropertySheetTemplateItem/property_sheet_list.xml
index 9f54d26ce6..8a77e5c11f 100644
--- a/bt5/erp5_knowledge_pad/PortalTypePropertySheetTemplateItem/property_sheet_list.xml
+++ b/bt5/erp5_knowledge_pad/PortalTypePropertySheetTemplateItem/property_sheet_list.xml
@@ -2,4 +2,7 @@
  <portal_type id="Gadget">
   <item>Gadget</item>
  </portal_type>
+ <portal_type id="Gadget Type">
+  <item>Gadget</item>
+ </portal_type>
 </property_sheet_list>
\ No newline at end of file
diff --git a/bt5/erp5_knowledge_pad/PortalTypeTemplateItem/portal_types/Gadget%20Type.xml b/bt5/erp5_knowledge_pad/PortalTypeTemplateItem/portal_types/Gadget%20Type.xml
new file mode 100644
index 0000000000..515ecbb125
--- /dev/null
+++ b/bt5/erp5_knowledge_pad/PortalTypeTemplateItem/portal_types/Gadget%20Type.xml
@@ -0,0 +1,111 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="Base Type" module="erp5.portal_type"/>
+    </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>content_icon</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>description</string> </key>
+            <value> <string>Base Gadget portal type.</string> </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>Gadget Type</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>portal_type</string> </key>
+            <value> <string>Base Type</string> </value>
+        </item>
+        <item>
+            <key> <string>type_class</string> </key>
+            <value> <string>ERP5TypeInformation</string> </value>
+        </item>
+        <item>
+            <key> <string>type_interface</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+        <item>
+            <key> <string>type_mixin</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="2" aka="AAAAAAAAAAI=">
+    <pickle>
+      <global name="TranslationInformation" module="Products.ERP5Type.TranslationProviderBase"/>
+    </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>
+      <global name="TranslationInformation" module="Products.ERP5Type.TranslationProviderBase"/>
+    </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_knowledge_pad/SkinTemplateItem/portal_skins/erp5_knowledge_pad/Base_viewGadgetListDialog/listbox.xml b/bt5/erp5_knowledge_pad/SkinTemplateItem/portal_skins/erp5_knowledge_pad/Base_viewGadgetListDialog/listbox.xml
index 1f98bfd98e..5ca591b9ba 100644
--- a/bt5/erp5_knowledge_pad/SkinTemplateItem/portal_skins/erp5_knowledge_pad/Base_viewGadgetListDialog/listbox.xml
+++ b/bt5/erp5_knowledge_pad/SkinTemplateItem/portal_skins/erp5_knowledge_pad/Base_viewGadgetListDialog/listbox.xml
@@ -17,11 +17,9 @@
                 <string>editable_columns</string>
                 <string>hide_rows_on_no_search_criterion</string>
                 <string>list_method</string>
-                <string>portal_types</string>
+                <string>meta_types</string>
                 <string>search_columns</string>
-                <string>selection_name</string>
                 <string>sort</string>
-                <string>sort_columns</string>
                 <string>title</string>
                 <string>url_columns</string>
               </list>
@@ -103,26 +101,14 @@
                     <key> <string>list_method</string> </key>
                     <value> <string></string> </value>
                 </item>
-                <item>
-                    <key> <string>portal_types</string> </key>
-                    <value> <string></string> </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</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>
@@ -205,12 +191,12 @@
                     </value>
                 </item>
                 <item>
-                    <key> <string>portal_types</string> </key>
+                    <key> <string>meta_types</string> </key>
                     <value>
                       <list>
                         <tuple>
-                          <string>Gadget</string>
-                          <string>Gadget</string>
+                          <string>ERP5 Gadget</string>
+                          <string>ERP5 Gadget</string>
                         </tuple>
                       </list>
                     </value>
@@ -230,10 +216,6 @@
                       </list>
                     </value>
                 </item>
-                <item>
-                    <key> <string>selection_name</string> </key>
-                    <value> <string>gadget_tool_view_gadget_add_dialog</string> </value>
-                </item>
                 <item>
                     <key> <string>sort</string> </key>
                     <value>
@@ -245,12 +227,6 @@
                       </list>
                     </value>
                 </item>
-                <item>
-                    <key> <string>sort_columns</string> </key>
-                    <value>
-                      <list/>
-                    </value>
-                </item>
                 <item>
                     <key> <string>target</string> </key>
                     <value> <string>Click to edit the target</string> </value>
@@ -292,7 +268,7 @@
       <dictionary>
         <item>
             <key> <string>_text</string> </key>
-            <value> <string>python:[[\'validation_state\', \'!=invisible\'], [\'gadget_type_uid\', context.getPortalObject().restrictedTraverse(\'portal_categories/gadget_type/%s\' %request.get(\'mode\', None) , None) is not None and context.getPortalObject().restrictedTraverse(\'portal_categories/gadget_type/%s\' %request.get(\'mode\',None), None).getUid() or \'\'],]</string> </value>
+            <value> <string>python:[[\'path\',\'%/portal_gadgets/%\'],[\'validation_state\', \'!=invisible\'], [\'gadget_type_uid\', context.getPortalObject().restrictedTraverse(\'portal_categories/gadget_type/%s\' %request.get(\'mode\', None) , None) is not None and context.getPortalObject().restrictedTraverse(\'portal_categories/gadget_type/%s\' %request.get(\'mode\',None), None).getUid() or \'\'],]</string> </value>
         </item>
       </dictionary>
     </pickle>
diff --git a/bt5/erp5_knowledge_pad/SkinTemplateItem/portal_skins/erp5_knowledge_pad/GadgetTool_viewGadgetList/listbox.xml b/bt5/erp5_knowledge_pad/SkinTemplateItem/portal_skins/erp5_knowledge_pad/GadgetTool_viewGadgetList/listbox.xml
index 49e8aa0cdc..074b968aa9 100644
--- a/bt5/erp5_knowledge_pad/SkinTemplateItem/portal_skins/erp5_knowledge_pad/GadgetTool_viewGadgetList/listbox.xml
+++ b/bt5/erp5_knowledge_pad/SkinTemplateItem/portal_skins/erp5_knowledge_pad/GadgetTool_viewGadgetList/listbox.xml
@@ -10,10 +10,9 @@
             <key> <string>delegated_list</string> </key>
             <value>
               <list>
-                <string>title</string>
                 <string>columns</string>
-                <string>selection_name</string>
-                <string>portal_types</string>
+                <string>meta_types</string>
+                <string>title</string>
               </list>
             </value>
         </item>
@@ -86,6 +85,10 @@
                           <string>title</string>
                           <string>Title</string>
                         </tuple>
+                        <tuple>
+                          <string>portal_type</string>
+                          <string>Portal Type</string>
+                        </tuple>
                         <tuple>
                           <string>translated_validation_state_title</string>
                           <string>State</string>
@@ -102,31 +105,27 @@
                     <value> <string>Base_viewFieldLibrary</string> </value>
                 </item>
                 <item>
-                    <key> <string>portal_type</string> </key>
+                    <key> <string>meta_types</string> </key>
                     <value>
                       <list>
                         <tuple>
-                          <string>1</string>
-                          <string>1</string>
+                          <string>ERP5 Gadget</string>
+                          <string>ERP5 Gadget</string>
                         </tuple>
                       </list>
                     </value>
                 </item>
                 <item>
-                    <key> <string>portal_types</string> </key>
+                    <key> <string>portal_type</string> </key>
                     <value>
                       <list>
                         <tuple>
-                          <string>Gadget</string>
-                          <string>Gadget</string>
+                          <string>1</string>
+                          <string>1</string>
                         </tuple>
                       </list>
                     </value>
                 </item>
-                <item>
-                    <key> <string>selection_name</string> </key>
-                    <value> <string>gadget_tool_view_gadget_list_selection</string> </value>
-                </item>
                 <item>
                     <key> <string>target</string> </key>
                     <value> <string>Click to edit the target</string> </value>
diff --git a/bt5/erp5_knowledge_pad/bt/revision b/bt5/erp5_knowledge_pad/bt/revision
index 6bd680a650..3247896b00 100644
--- a/bt5/erp5_knowledge_pad/bt/revision
+++ b/bt5/erp5_knowledge_pad/bt/revision
@@ -1 +1 @@
-711
\ No newline at end of file
+712
\ No newline at end of file
diff --git a/bt5/erp5_knowledge_pad/bt/template_action_path_list b/bt5/erp5_knowledge_pad/bt/template_action_path_list
index dc319aec55..3626ba90a5 100644
--- a/bt5/erp5_knowledge_pad/bt/template_action_path_list
+++ b/bt5/erp5_knowledge_pad/bt/template_action_path_list
@@ -1,4 +1,6 @@
 Gadget Tool | view
+Gadget Type | action_view
+Gadget Type | view
 Gadget | preferences
 Gadget | view
 Knowledge Box | preferences
diff --git a/bt5/erp5_knowledge_pad/bt/template_portal_type_allowed_content_type_list b/bt5/erp5_knowledge_pad/bt/template_portal_type_allowed_content_type_list
index 4c2a34a06c..0f9fa6b8d5 100644
--- a/bt5/erp5_knowledge_pad/bt/template_portal_type_allowed_content_type_list
+++ b/bt5/erp5_knowledge_pad/bt/template_portal_type_allowed_content_type_list
@@ -1,4 +1,5 @@
 Gadget Tool | Gadget
+Gadget Type | Action Information
 Gadget | Embedded File
 Knowledge Pad Module | Knowledge Pad
 Knowledge Pad | Knowledge Box
diff --git a/bt5/erp5_knowledge_pad/bt/template_portal_type_id_list b/bt5/erp5_knowledge_pad/bt/template_portal_type_id_list
index 39aba525bb..4008b833d6 100644
--- a/bt5/erp5_knowledge_pad/bt/template_portal_type_id_list
+++ b/bt5/erp5_knowledge_pad/bt/template_portal_type_id_list
@@ -1,5 +1,6 @@
 Gadget
 Gadget Tool
+Gadget Type
 Knowledge Box
 Knowledge Pad
 Knowledge Pad Module
\ No newline at end of file
diff --git a/bt5/erp5_knowledge_pad/bt/template_portal_type_property_sheet_list b/bt5/erp5_knowledge_pad/bt/template_portal_type_property_sheet_list
index 7736fe40cc..04dddbd4cc 100644
--- a/bt5/erp5_knowledge_pad/bt/template_portal_type_property_sheet_list
+++ b/bt5/erp5_knowledge_pad/bt/template_portal_type_property_sheet_list
@@ -1 +1,2 @@
+Gadget Type | Gadget
 Gadget | Gadget
\ No newline at end of file
-- 
2.30.9