from Products.Archetypes.public import Schema from Products.Archetypes.public import registerType from Products.Archetypes.public import BaseContent, BaseSchema from Products.Archetypes.public import StringField, StringWidget from Products.Biblioteca import config Livros = BaseSchema + Schema(( StringField( required=1, name="assunto", widget=StringWidget( label="Assunto", ) ), StringField( required=1, name="ano", validators=isInt, widget=StringWidget( label="Ano", ) ), StringField( required=1, name="autor", widget=StringWidget( label="Autor", ) ), StringField( required=1, name="editora", widget=StringWidget( label="Editora", ) ), StringField( required=1, name="edicoes", vocabulary=(('1','Primeira Edição'), ('2','Segunda Edição'), ('3','Terceira Edição'),('4','Quarta Edição')) widget=SelectionWidget( label="Edições", ) ), StringField( required=1, name="numeros_de_paginas", validators=isInt, widget=StringField( label="Números de Páginas", ) ), StringField( required=0, name="descricao", widget=TextAreaWidget( cols="10", rows=5, label="Descrição", ) ), ) ) class Livros(BaseContent): meta_type = portal_type = archetype_name = 'Livros' schema = Livros def verifica_ano(self): register_type(Livros, config.PROJECTNAME)