Hello, I have the same issue. The strange thing is it fails in tests only, but it works with the Plone UI. I guess there is an extra something we need to declare in the test onsetup to make sure our custom archetypes are installed properly, but I haven't find out what for now.
Eric On Fri, Nov 19, 2010 at 3:47 PM, Andreas Jung <[email protected]> wrote: > -----BEGIN PGP SIGNED MESSAGE----- > Hash: SHA1 > > I have the following code for testing EasyNewsletter: > > http://svn.plone.org/svn/collective/Products.EasyNewsletter/trunk/Products/EasyNewsletter/tests/test_enl.py > > > The invokeFactory('EasyNewsletter') call works on Plone 3 > but fails on Plone 4 with Unauthorized (although I am Manager): > > self.portal.invokeFactory('EasyNewsletter', id='newsletter') > File > "/home/ajung/.buildout/eggs/Products.CMFCore-2.2.2-py2.6.egg/Products/CMFCore/PortalFolder.py", > line 295, in invokeFactory > return pt.constructContent(type_name, self, id, RESPONSE, *args, **kw) > File > "/home/ajung/.buildout/eggs/Products.CMFCore-2.2.2-py2.6.egg/Products/CMFCore/TypesTool.py", > line 836, in constructContent > ob = info.constructInstance(container, id, *args, **kw) > File > "/home/ajung/.buildout/eggs/Products.CMFCore-2.2.2-py2.6.egg/Products/CMFCore/TypesTool.py", > line 312, in constructInstance > raise AccessControl_Unauthorized('Cannot create %s' % self.getId()) > Unauthorized: Cannot create EasyNewsletter > > > Digging deeper using pdb: > >> > /home/ajung/.buildout/eggs/Products.CMFCore-2.2.2-py2.6.egg/Products/CMFCore/TypesTool.py(472)_queryFactoryMethod() > - -> def _queryFactoryMethod(self, container, default=None): > (Pdb) n >> > /home/ajung/.buildout/eggs/Products.CMFCore-2.2.2-py2.6.egg/Products/CMFCore/TypesTool.py(474)_queryFactoryMethod() > - -> if not self.product or not self.factory or container is None: > (Pdb) >> > /home/ajung/.buildout/eggs/Products.CMFCore-2.2.2-py2.6.egg/Products/CMFCore/TypesTool.py(478)_queryFactoryMethod() > - -> dispatcher = getattr(container, 'manage_addProduct', None) > (Pdb) >> > /home/ajung/.buildout/eggs/Products.CMFCore-2.2.2-py2.6.egg/Products/CMFCore/TypesTool.py(480)_queryFactoryMethod() > - -> if dispatcher is None: > (Pdb) >> > /home/ajung/.buildout/eggs/Products.CMFCore-2.2.2-py2.6.egg/Products/CMFCore/TypesTool.py(483)_queryFactoryMethod() > - -> try: > (Pdb) >> > /home/ajung/.buildout/eggs/Products.CMFCore-2.2.2-py2.6.egg/Products/CMFCore/TypesTool.py(484)_queryFactoryMethod() > - -> p = dispatcher[self.product] > (Pdb) >> > /home/ajung/.buildout/eggs/Products.CMFCore-2.2.2-py2.6.egg/Products/CMFCore/TypesTool.py(489)_queryFactoryMethod() > - -> m = getattr(p, self.factory, None) > (Pdb) print dispatcher > <App.FactoryDispatcher.ProductDispatcher object at 0x196f190> > (Pdb) print self.factory > addEasyNewsletter > (Pdb) n >> > /home/ajung/.buildout/eggs/Products.CMFCore-2.2.2-py2.6.egg/Products/CMFCore/TypesTool.py(491)_queryFactoryMethod() > - -> if m: > (Pdb) print m > None > > Why does this fail on Plone 4? > > Side note: adding an EasyNewsletter instance through the Plone UI > works both with Plone 3 and Plone 4. > > Andreas > > > -----BEGIN PGP SIGNATURE----- > Version: GnuPG v1.4.11 (Darwin) > Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/ > > iQGUBAEBAgAGBQJM5o3nAAoJEADcfz7u4AZjcmULv2Z7UgrPVo7ClGepqnzm10H5 > P266ughqWZcRZNig+LLFPBN6GSwW6hMY5xaUrZZ5C5yhDtKjhdsSJUB2a8VasDS5 > LfrXtnbZYchFiQqJtOIwcMPYl7tTH1+0d0p6xlnj65ammD5YdJE7mrQ4ox8wj3WS > K/6rk6HK8HtxhM//ymW4i0xhslQMHAJ4nRzeRq88dDDE0rlUK2ZdRnS4jogS/Abg > lQ5cYFWE+BuKLSKyMSPa0pW9NkoP1gPsBzvnNj1edkEG4V8m9ajrJewtK72vohQU > 4CcN11h5VdtZrK3dYE36/p/HO7XVR9+suWaNv16g23v8ME/2j3udO6UmA0ZDOsCK > UTKXEHIe1hYjpIhyguCbhLc6m8g6YL3RgaEP2/K/Hufdmw3O94+PKOV96yDcoN1V > CmE98pqvpTyhmFbjN3tERG2ZqT0hKRWL5WTajlQoKhBBf0v0k74xQOdDIMhnoK63 > e5zHk2yK9+K1wIAtW078g7imPYGdhRM= > =/j62 > -----END PGP SIGNATURE----- > > _______________________________________________ > Product-Developers mailing list > [email protected] > http://lists.plone.org/mailman/listinfo/product-developers > > _______________________________________________ Product-Developers mailing list [email protected] http://lists.plone.org/mailman/listinfo/product-developers
