the code in folders.py have lots of other folder definitios so i paste
the code that is involve with CVArticleFolder or will be to much code to
be readed here.
###LOTS OF IMPORTS ###
BaseFolderSchema = folder.ATFolderSchema.copy()
BaseFolderSchema['title'].storage = atapi.AnnotationStorage()
BaseFolderSchema['title'].widget.label = _(u"Título")
BaseFolderSchema['title'].widget.label_msgid = "lab_title_basefolder"
BaseFolderSchema['title'].widget.description_msgid = "des_title_basefolder"
BaseFolderSchema['title'].widget.i18n_domain = "UNAM.imateCVct"
BaseFolderSchema['description'].storage = atapi.AnnotationStorage()
BaseFolderSchema['description'].widget.label = _(u"Descripción")
BaseFolderSchema['description'].widget.label_msgid = "lab_desc_basefolder"
BaseFolderSchema['description'].widget.description = _(u"Breve resumen del contenido")
BaseFolderSchema['description'].widget.description_msgid = "des_desc_basefolder"
BaseFolderSchema['description'].widget.i18n_domain = "UNAM.imateCVct"
finalizeATCTSchema(BaseFolderSchema, folderish=True, moveDiscussion=False)
RootFolderSchema = atapi.Schema((
atapi.StringField('login',
searchable=0,
widget=atapi.SelectionWidget(label="Dueño(a) del currículum",
label_msgid="label_login_cur",
description="",
description_msgid="help_login_cur",
i18n_domain='UNAM.imateCVct',
visible={'view': 'invisible', 'edit': 'visible'},
format='select',
),
default_method="getDefaultUser",
vocabulary='getListAllUsers',
accessor='Login',
),
))
class CVBaseFolder(folder.ATFolder):
"""
"""
implements(ICVBaseFolder)
security = ClassSecurityInfo()
portal_type = "CVBaseFolder"
_at_rename_after_creation = True
schema = BaseFolderSchema
import_report=''
title = atapi.ATFieldProperty('title')
descripcion = atapi.ATFieldProperty('description')
#LOTS OF METHODS DEFINITIONS#
class importExportClass:
implements(ICVimportExport)
security = ClassSecurityInfo()
security.declareProtected('View', 'isImportExportable')
def isImportExportable(self):
return True
class CVArticleFolder(importExportClass, CVBaseFolder):
"""Articles folder
It can contains many articles
"""
implements(ICVPublicationFolder)
contains('UNAM.imateCVct.interfaces.ICVArticle')
archetype_name = "Folder Articulos"
atapi.registerType(CVArticleFolder, PROJECTNAME)
the code inside CVArticleFolder.xml is
<?xml version="1.0" encoding="UTF-8"?>
<object name="CVArticleFolder"
meta_type="Factory-based Type Information with dynamic views"
i18n:domain="UNAM.imateCVct" xmlns:i18n="
http://xml.zope.org/namespaces/i18n">
<property name="title" i18n:translate="">Folder Articulos</property>
<property name="description"
i18n:translate="">Folder de Articulos</property>
<property name="content_icon">++resource++cvfolder_icon.gif</property>
<property name="content_meta_type">CVArticleFolder</property>
<property name="product">UNAM.imateCVct</property>
<property name="factory">addCVArticleFolder</property>
<property name="immediate_view">atct_edit</property>
<property name="global_allow">False</property>
<property name="filter_content_types">True</property>
<property name="allowed_content_types">
<element value="CVArticle" />
</property>
<property name="allow_discussion">False</property>
<property name="default_view">view</property>
<property name="view_methods">
<element value="view"/>
<element value="folder_tabular_view"/>
<element value="folder_listing"/>
</property>
<alias from="(Default)" to="(dynamic view)"/>
<alias from="edit" to="atct_edit"/>
<alias from="sharing" to="@@sharing"/>
<alias from="view" to="(selected layout)"/>
<action title="View" action_id="view" category="object" condition_expr=""
url_expr="string:${object_url}" visible="True">
<permission value="View"/>
</action>
<action title="Edit" action_id="edit" category="object" condition_expr=""
url_expr="string:${object_url}/edit" visible="True">
<permission value="Edit CV Folder"/>
</action>
<action title="Elegir vista" action_id="selectview" category="document_actions" condition_expr=""
url_expr="string:${object_url}/summary" visible="True">
<permission value="View"/>
</action>
<action title="Exportar" action_id="export" category="document_actions" condition_expr="python:object.isImportExportable()"
url_expr="string:${object_url}/export" visible="True">
<permission value="View"/>
</action>
<action title="Importar" action_id="import" category="document_actions" condition_expr="python:object.isImportExportable()"
url_expr="string:${object_url}/import" visible="True">
<permission value="Add portal content"/>
</action>
</object>
thank you =)