[Checkins] SVN: Products.CMFDefault/trunk/Products/CMFDefault/browser/content/folder.py Field instantiation improved.

Charlie Clark charlie at begeistert.org
Thu Sep 23 09:37:10 EDT 2010


Log message for revision 116768:
  Field instantiation improved.

Changed:
  U   Products.CMFDefault/trunk/Products/CMFDefault/browser/content/folder.py

-=-
Modified: Products.CMFDefault/trunk/Products/CMFDefault/browser/content/folder.py
===================================================================
--- Products.CMFDefault/trunk/Products/CMFDefault/browser/content/folder.py	2010-09-23 12:49:05 UTC (rev 116767)
+++ Products.CMFDefault/trunk/Products/CMFDefault/browser/content/folder.py	2010-09-23 13:37:09 UTC (rev 116768)
@@ -12,7 +12,8 @@
 ##############################################################################
 """Browser views for folders.
 """
-
+import logging
+LOG = logging.getLogger("Folder contents views")
 import urllib
 
 from five.formlib.formbase import PageForm
@@ -296,16 +297,17 @@
 
     def __init__(self, *args, **kw):
         super(ContentsView, self).__init__(*args, **kw)
-        self.form_fields = form.FormFields()
         self.delta_field = form.FormFields(IDeltaItem)
         self.contents = self.context.contentValues()
 
     def content_fields(self):
         """Create content field objects only for batched items"""
+        f = IFolderItem['select']
+        fields = form.FormFields()
         for item in self._getBatchObj():
-            for name, field in schema.getFieldsInOrder(IFolderItem):
-                field = form.FormField(field, name, item.id)
-                self.form_fields += form.FormFields(field)
+            field = form.FormField(f, 'select', item.id)
+            fields += form.FormFields(field)
+        return fields
 
     @memoize
     @decode
@@ -332,11 +334,9 @@
         super(ContentsView, self).setUpWidgets(ignore_request)
         data = {}
         self.content_fields()
-        for i in self._getBatchObj():
-            data['%s.name' % i.id] = i.getId()
-        self.widgets = form.setUpDataWidgets(
-                self.form_fields, self.prefix, self.context,
-                self.request, data=data, ignore_request=ignore_request)
+        self.widgets = form.setUpWidgets(
+                self.content_fields(), self.prefix, self.context,
+                self.request, ignore_request=ignore_request)
         self.widgets += form.setUpWidgets(
                 self.delta_field, self.prefix, self.context,
                 self.request, ignore_request=ignore_request)
@@ -394,7 +394,7 @@
         for idx, item in enumerate(batch_obj):
             field = {'ModificationDate':item.ModificationDate()}
             field['select'] = self.widgets['%s.select' % item.getId()]
-            field['name'] = self.widgets['%s.name' % item.getId()]
+            field['name'] = item.getId()
             field['url'] = item.absolute_url()
             field['title'] = item.TitleOrId()
             field['icon'] = item.icon



More information about the checkins mailing list