[CMF-checkins] CVS: CMF/CMFDefault/skins/generic - folder_filter_form.dtml:1.4 news_box.dtml:1.5 recent_news.dtml:1.7 search_form.dtml:1.9

Florent Guillaume fg@nuxeo.com
Fri, 5 Jul 2002 15:45:36 -0400


Update of /cvs-repository/CMF/CMFDefault/skins/generic
In directory cvs.zope.org:/tmp/cvs-serv2727/CMFDefault/skins/generic

Modified Files:
	folder_filter_form.dtml news_box.dtml recent_news.dtml 
	search_form.dtml 
Log Message:
Fixed the Types Tool so that TypeInformation's Title is decorrelated
from its Id (the old TypeInformation.Type() should not be used anymore).

The Id is what gets put in the "portal_type" attribute of a content
object, which one gets at using somecontent.getPortalTypeName(). The
Title is returned by somecontent.Type().

"portal_type" is now indexed, and in most cases should be used when
doing catalog queries instead of "Type". Note that when upgrading from
older versions this index will have to be added by hand (see
INSTALL.txt).

Fixed PortalFolder's filtering so that it correctly restricts itself to
the portal types allowed by the TypesTool (Tracker #483).



=== CMF/CMFDefault/skins/generic/folder_filter_form.dtml 1.3 => 1.4 ===
 <form ACTION="&dtml-absolute_url;/folder_contents" METHOD="POST">
  <dtml-if expr="REQUEST.get('show_filter_form', 0)">
-  <dtml-let Type="()" Subject="''">
-  <dtml-with expr="decodeFolderFilter(REQUEST.get('folderfilter', ''))"
-             mapping>
+  <dtml-let Subject="''"
+            filter="decodeFolderFilter(REQUEST.get('folderfilter', ''))"
+            portalType="filter.get('portal_type', ())">
+  <dtml-with filter mapping>
   <TABLE BORDER="0" CELLSPACING="0" CELLPADDING=2>
    <TR>
     <th colspan="2" align="left">Contents View Filter</th>
@@ -27,14 +28,16 @@
    <TR>
     <TD ALIGN="left" VALIGN="TOP" WIDTH="*">Content Type:</TD>
     <TD ALIGN="left" VALIGN="TOP">
-     <select name="filter_by_Type:list" multiple size="3">
-      <dtml-in expr="portal_types.listContentTypes( container=this() )" sort>
-       <dtml-unless "_['sequence-item'] == 'Portal Folder'">
-        <option value="&dtml-sequence-item;"
-         <dtml-if expr="not Type or (_['sequence-item'] in Type)">selected
+     <select name="filter_by_portal_type:list" multiple size="3">
+      <dtml-in expr="portal_types.listTypeInfo( container=this() )" sort>
+      <dtml-let typeinfo=sequence-item typeid=getId>
+       <dtml-unless "typeid == 'Portal Folder'">
+        <option value="&dtml-typeid;"
+         <dtml-if expr="not portalType or (typeid in portalType)">selected
          </dtml-if>
-        >  &dtml-sequence-item;</option>
+        >  &dtml-Title;</option>
        </dtml-unless>
+      </dtml-let>
       </dtml-in>
      </select>
     </TD>


=== CMF/CMFDefault/skins/generic/news_box.dtml 1.4 => 1.5 ===
   </tr>
 
-  <dtml-in "portal_catalog.searchResults( Type='News Item'
+  <dtml-in "portal_catalog.searchResults( portal_type='News Item'
                                         , sort_on='Date'
                                         , sort_order='reverse'
                                         , review_state='published'


=== CMF/CMFDefault/skins/generic/recent_news.dtml 1.6 => 1.7 ===
 
-<dtml-let newsitems="portal_catalog.searchResults(meta_type='News Item',
+<dtml-let newsitems="portal_catalog.searchResults(portal_type='News Item',
   sort_on='Date', sort_order='reverse', review_state='published')">
 
 <dtml-in newsitems size="10" start="batch_start" previous>


=== CMF/CMFDefault/skins/generic/search_form.dtml 1.8 => 1.9 ===
   </th>
   <td>
-   <select name="Type:list" multiple size="5">
+   <select name="portal_type:list" multiple size="5">
     <option value="" selected>-- any --</option>
-    <dtml-in expr="portal_types.listContentTypes()">
-     <option><dtml-var sequence-item></option>
+    <dtml-in expr="portal_types.listTypeInfo()">
+     <option value="&dtml-getId;">&dtml-Title;</option>
     </dtml-in>
    </select>