[Checkins] SVN: Products.CMFDefault/trunk/Products/CMFDefault/ - refactored code added in r85591 to get rid of finishCreate

Yvo Schubbe y.2008 at wcm-solutions.de
Fri Apr 25 03:19:28 EDT 2008


Log message for revision 85718:
  - refactored code added in r85591 to get rid of finishCreate

Changed:
  U   Products.CMFDefault/trunk/Products/CMFDefault/browser/file.py
  U   Products.CMFDefault/trunk/Products/CMFDefault/formlib/form.py

-=-
Modified: Products.CMFDefault/trunk/Products/CMFDefault/browser/file.py
===================================================================
--- Products.CMFDefault/trunk/Products/CMFDefault/browser/file.py	2008-04-25 05:36:18 UTC (rev 85717)
+++ Products.CMFDefault/trunk/Products/CMFDefault/browser/file.py	2008-04-25 07:19:27 UTC (rev 85718)
@@ -16,6 +16,8 @@
 """
 
 from zope.component import adapts
+from zope.component import getUtility
+from zope.component.interfaces import IFactory
 from zope.formlib import form
 from zope.interface import implements
 from zope.interface import Interface
@@ -102,7 +104,13 @@
         self.widgets['portal_type'].hide = True
         self.widgets['upload'].displayWidth = 60
 
-    def finishCreate(self, obj, data):
+    def create(self, data):
+        ttool = self._getTool('portal_types')
+        fti = ttool.getTypeInfo(data['portal_type'])
+        factory = getUtility(IFactory, fti.factory)
+        obj = factory('temp_id')
+        obj._setPortalTypeName(data['portal_type'])
+
         adapted = FileSchemaAdapter(obj)
         adapted.language = u''
         adapted.upload = self.request.form['%s.upload' % self.prefix]

Modified: Products.CMFDefault/trunk/Products/CMFDefault/formlib/form.py
===================================================================
--- Products.CMFDefault/trunk/Products/CMFDefault/formlib/form.py	2008-04-25 05:36:18 UTC (rev 85717)
+++ Products.CMFDefault/trunk/Products/CMFDefault/formlib/form.py	2008-04-25 07:19:27 UTC (rev 85718)
@@ -23,8 +23,6 @@
 from Products.Five.formlib.formbase import PageDisplayForm
 from Products.Five.formlib.formbase import PageForm
 from zope.app.container.interfaces import INameChooser
-from zope.component import getUtility
-from zope.component.interfaces import IFactory
 from zope.datetime import parseDatetimetz
 from zope.formlib import form
 from zope.i18n.interfaces import IUserPreferredLanguages
@@ -147,22 +145,6 @@
         self.status = None
         return self._setRedirect('portal_types', 'object/folderContents')
 
-    def create(self, data):
-        portal_type = self.request.form['%s.portal_type' % self.prefix]
-
-        #check type exists
-        ttool = self._getTool('portal_types')
-        fti = ttool.getTypeInfo(portal_type)
-        if fti is None:
-            raise ValueError(u'No such content type: %s' % portal_type)
-
-        factory = getUtility(IFactory, fti.factory)
-        obj = factory('temp_id')
-        if hasattr(obj, '_setPortalTypeName'):
-            obj._setPortalTypeName(portal_type)
-
-        return self.finishCreate(obj, data)
-
     def add(self, obj):
         container = self.context
         upload = self.request.form.get('%s.upload' % self.prefix)



More information about the Checkins mailing list