[Usuarios Plone] Restringir los tipos de contenidos de una carpeta

Noe Misael Nieto Arroyo noe at iservices.com.mx
Fri Mar 18 21:23:07 UTC 2011


Ademas de las anteriores soluciones, pueden ir a portal_types y entrar al
tipo de dato, por ejemplo 'Course Folder' y después seleccionan los tipos de
contenidos permitidos en "Allowed content types" . No olviden picarle en
"Save Changes".

Cuando esten satisfechos con los resultados, van a
http://misitio//portal_setup/manage_exportSteps seleccionan "Types Tool" y
le pican en "Export selected steps" hasta el final de la página.

Plone les va a ofrecer un archivo zip para descarga. Lo abren y buscan el
xml correspondiente a su tipo de contenido.

---
Noe



El 17 de marzo de 2011 10:37, Ariel Calzada <ariel.calzada at gmail.com>escribió:

>  Hola lista!
>
> Les envio un ejemplo en donde creo un objeto tipo "Grupos" e inmediatamente
> haga que el objeto solo pueda agregar "Folder".
>
> from Products.ATContentTypes.lib import constraintypes
>
>
> def eventoClienteCreado(obj, event):
>     obj.invokeFactory ( "grupos", id="grupos", title="Grupos")
>     obj.setConstrainTypesMode(constraintypes.ENABLED)
>     obj.setLocallyAllowedTypes(['Folder'])
>     obj.reindexObject()
>
>
> Espero sirva de guía
>
> Saludos,
> Ariel
>
>
> On 03/17/2011 11:31 AM, Héctor Velarde wrote:
>
> yo tengo el mismo problema que Leonardo:
>
> estoy creando un folder común y silvestre y quiero que ese folder contenga
> sólo cursos, un tipo de contenido que he creado para eso.
>
> lo que llevo hecho es lo siguiente:
>
> en mi config.py he creado una variable que contiene la información
> necesaria para crear la carpeta:
>
> # config.py
>
> FOLDERS = (
>     dict(
>         ctype = 'Folder',
>         name = 'extension',
>         title = 'Extensión',
>         description = 'Cursos de actualización recibidos',
>         locallyAllowedTypes = ['Course'],
>         ),
>     )
>
> hay un tipo de contenido que, al crearse, dispara un mecanismo para crear
> los folders internos:
>
> # folder.py
>
>     def at_post_create_script(self):
>         for f in FOLDERS:
>             _createObjectByType(f['ctype'], self, f['name'])
>             obj = self[f['name']]
>             obj.setTitle(f['title'])
>             obj.setDescription(f['description'])
>             obj.setConstrainTypesMode(constraintypes.ENABLED)
>             obj.setLocallyAllowedTypes(f['locallyAllowedTypes'])
>             obj.setImmediatelyAddableTypes(f['locallyAllowedTypes'])
>             obj.reindexObject()
>
> hasta aquí todo bien; he creado unas pruebas para comprobar que todo
> funciona:
>
> # test_folder.py
>
> class TestCVFolder(TestCase):
>
>     def afterSetUp(self):
>         _createObjectByType('CVupnFolder', self.folder, 'cv')
>         self.cv = getattr(self.folder, 'cv')
>         # create folders
>         self.cv.at_post_create_script()
>
>     def testExtensionFolderAllowedContentTypes(self):
>         allowed_types = ('Course', )
>         folder = self.cv.extension
>
>         self.failUnlessEqual(folder.getLocallyAllowedTypes(),
>                              allowed_types)
>         self.failUnlessEqual(folder.getImmediatelyAddableTypes(),
>                              allowed_types)
>         self.assertRaises(Unauthorized,
>                           folder.invokeFactory, 'Document', 'foo')
>         try:
>             folder.invokeFactory('Course', 'course', title='course')
>         except Unauthorized:
>             self.fail()
>
> para hacer que la prueba pasara fue necesario lo siguiente en la
> declaración del tipo de contenido:
>
> # Course.xml
>
>   <property name="global_allow">True</property>
>
> hasta acá todo bien, mi problema es que al entrar en la carpeta de marras,
> no aparece la opción de agregar cursos...
>
>
> _______________________________________________
> Usuarios-Plone mailing list
> Usuarios-Plone at lists.plone.orghttps://lists.plone.org/mailman/listinfo/usuarios-plone
>
>
>
> _______________________________________________
> Usuarios-Plone mailing list
> Usuarios-Plone at lists.plone.org
> https://lists.plone.org/mailman/listinfo/usuarios-plone
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.plone.org/pipermail/plone-usuarios-plone/attachments/20110318/2df31454/attachment-0002.html>


More information about the Usuarios-Plone mailing list