[Usuarios Plone] Restringir los tipos de contenidos de una carpeta
Héctor Velarde
hector.velarde at gmail.com
Thu Mar 17 16:31:36 UTC 2011
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...
-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/pkcs7-signature
Size: 5620 bytes
Desc: S/MIME Cryptographic Signature
URL: <http://lists.plone.org/pipermail/plone-usuarios-plone/attachments/20110317/e165df83/attachment.p7s>
More information about the Usuarios-Plone
mailing list