Example #1
0
from vindula.tile.content.tile_schemaBase import BaseTile
from vindula.tile.content.interfaces import ITileHowDo

from vindula.tile import MessageFactory as _
from vindula.tile.config import *

from zope.schema.interfaces import IVocabularyFactory
from zope.component import queryUtility

TileHowDo_schema = BaseTile.schema.copy() + Schema((

    LinesField(
        name='objectType',
        multiValued=1,
        widget=MultiSelectionWidget(
            label=_(u"Tipo de conteudo"),
            description=_(u"Selecione o tipo de conteúdo que sera apresentado."),
            format = 'select',
        ),
        vocabulary=u'vocabularyContentTypes',
        required=True,
    ),
    
    LinesField(
        name='subjects',
        multiValued=1,
        widget=MultiSelectionWidget(
            label=_(u"Tags"),
            description=_(u"Selecione a(s) tag(s) relacionadas aos conteúdos que deseja aparecer na listagem."),
            format = 'select',
        ),
Example #2
0
from vindula.tile.content.tile_schemaBase import BaseTile
from vindula.tile.content.interfaces import ITileMoreAccess

from vindula.tile import MessageFactory as _
from vindula.tile.config import *

from zope.schema.interfaces import IVocabularyFactory
from zope.component import queryUtility


TileMoreAccess_schema = BaseTile.schema.copy() + Schema((

    StringField(
        name='object_type',
        widget=MultiSelectionWidget(
            label=_(u"Tipo de conteúdo"),
            description=_(u"Selecione o tipo dos conteúdos que serão listados."),
            format = 'select',
        ),
        vocabulary=u'voc_ContentTypes',
        required=True,
    ),

    StringField(
        name='object_type_more',
        widget=MultiSelectionWidget(
            label=_(u"Listagem de mais"),
            description=_(u"Selecione o tipo dos conteúdos que serão listados no link mais."),
            format = 'select',
        ),
        vocabulary=u'voc_ContentTypes',
Example #3
0
from vindula.tile.content.tile_schemaBase import BaseTile
from vindula.tile.content.interfaces import ITileOrganogram

from vindula.controlpanel.browser.at.widget import VindulaReferenceSelectionWidget

from vindula.tile import MessageFactory as _
from vindula.tile.config import *

TileOrganogram_schema = BaseTile.schema.copy() + Schema((

    ReferenceField('estrutura_principal',
        multiValued=0,
        allowed_types=('OrganizationalStructure',),
        relationship='context_structure',
        widget=VindulaReferenceSelectionWidget(
            label=_(u"Escolha uma Unidade Organizacional Principal"),
            description=_(u"Selecione uma Unidade Organizacional principal para o organograma."),
        ),
        required=False,
    ),
    
    StringField(
        name='kind',
        widget=SelectionWidget(
            label=_(u"Lista de Templates"),
            description=_(u"Selecione qual template deseja utilizar."),
            label_msgid='vindula_tile_label_layout',
            description_msgid='vindula_tile_help_layout',
            i18n_domain='vindula_tile',
            format = 'select',
         ),
Example #4
0
from vindula.tile import MessageFactory as _
from vindula.tile.config import *


from Products.CMFCore.permissions import setDefaultRoles
EditGobalBanner = 'Edit Global Banner'
setDefaultRoles(EditGobalBanner, ('Manager', 'Site Administrator'))


TileBanner_schema = BaseTile.schema.copy() + Schema((

	ReferenceField('imageBanner',
	        multiValued=1,
	        allowed_types=('Banner'),
	        label=_(u"Banner"),
	        relationship='Banner',
	        widget=VindulaReferenceSelectionWidget(
	            label=_(u"Banners"),
	            description='Selecione os banners.'),
                review_state = ('published','internal','external'),
            required=True,
    ),

    ReferenceField('imageBanner_admin',
            multiValued=1,
            allowed_types=('Banner'),
            label=_(u"Banner"),
            relationship='Banner_admin',
            widget=VindulaReferenceSelectionWidget(
                label=_(u"Banners - Global"),
from vindula.tile.content.tile_schemaBase import BaseTile
from vindula.tile.content.interfaces import ITileLoadReference

from vindula.tile import MessageFactory as _
from vindula.tile.config import *
from vindula.controlpanel.browser.at.widget import VindulaReferenceSelectionWidget


TileLoadReference_schema = BaseTile.schema.copy() + Schema((
                                                      
    ReferenceField('contentToLoad',
        multiValued=0,
        allowed_types=('VindulaNews',),
        relationship='content_to_load',
        widget=VindulaReferenceSelectionWidget(
            label=_(u"Conteúdo relacionado"),
            description=_(u"Selecione o conteúdo que deseja que aparece no bloco."),
        ),
        required=True,
    ),
                                                      
    BooleanField(
        name='useReferenceTitle',
        default=False,
        widget=BooleanWidget(
            label="Usar o título do conteúdo",
            description='Se selecionado irá usar o título do conteúdo referenciado ao invés do título do bloco.',
        ),
        required=False,
    ),
))
from vindula.controlpanel.browser.at.widget import VindulaReferenceSelectionWidget

from vindula.tile.content.interfaces import ITileBannerCompost
from vindula.tile.content.tile_schemaBase import BaseTile

from vindula.tile import MessageFactory as _
from vindula.tile.config import *

TileBannerCompost_schema = BaseTile.schema.copy() + Schema((


    ReferenceField('featured_news',
        multiValued=1,
        allowed_types=('VindulaNews', 'News Item'),
        label=_(u"Notícias"),
        relationship='featured_news',
        widget=VindulaReferenceSelectionWidget(
            label=_(u"Destaque Notícia"),
            description='Selecione as notícias.'),
            review_state = ('published','internal','external'),
        required=False,
    ),
                                                            
    ReferenceField('destaqueBanner',
        multiValued=1,
        allowed_types=('Banner'),
        label=_(u"Banner"),
        relationship='destaqueBanner',
        widget=VindulaReferenceSelectionWidget(
            label=_(u"Destaque Banner"),
Example #7
0
from Products.ATContentTypes.content import schemata, base

from vindula.tile.content.interfaces import ILayoutLoad
from plone.contentrules.engine.interfaces import IRuleAssignable

from vindula.tile import MessageFactory as _
from vindula.tile.config import *

from vindula.controlpanel.browser.at.widget import VindulaReferenceSelectionWidget

LayoutLoad_schema = schemata.ATContentTypeSchema.copy() + Schema((

    ReferenceField('obj_layout',
            multiValued=0,
            allowed_types=('Layout',),
            label=_(u"Layout - Coluna A"),
            relationship='obj_layout',
            widget=VindulaReferenceSelectionWidget(
                label=_(u"Layout - Coluna A"),
                description='Selecione o objeto layout .'
            ),
            required=True,
            # review_state = ('published', 'internal','external')
        ),

        ReferenceField('obj_layout_B',
            multiValued=0,
            allowed_types=('Layout',),
            label=_(u"Layout - Coluna B"),
            relationship='obj_layout_B',
            widget=VindulaReferenceSelectionWidget(
Example #8
0
TileMacroList_schema = BaseTile.schema.copy() + Schema((


    DataGridField('list_macros',
                searchable=True,
                columns=('title','page', 'macro'),
                allow_delete = True,
                allow_insert = True,
                allow_reorder = True,
                widget = DataGridWidget(label="Listagem de macros",
                                        label_msgid='vindula_tile_label_macros',
                                        description="Relacione, as listagem das macros com os titulo e das abas.",
                                        description_msgid='vindula_controlpanel_help_macros',
                                        columns= {
                                            "title" : Column(_(u"Titulo")),
                                            "page" : Column(_(u"Página")),
                                            "macro" : Column(_(u"Macro"),default='page')
                                        }),
                ),



))

finalizeATCTSchema(TileMacroList_schema, folderish=False)

class TileMacroList(BaseTile):
    """ Reserve Content for TileMacroList """
    security = ClassSecurityInfo()
from Products.CMFCore.utils import getToolByName
from vindula.controlpanel.browser.at.widget import VindulaReferenceSelectionWidget

from vindula.tile.content.tile_schemaBase import BaseTile
from vindula.tile.content.interfaces import ITileListagemVertical

from vindula.tile import MessageFactory as _
from vindula.tile.config import *


TileListagemVertical_schema = BaseTile.schema.copy() + Schema(
    (
        StringField(
            name="kind",
            widget=SelectionWidget(
                label=_(u"Lista de Templates"),
                description=_(u"Selecione qual template deseja utilizar."),
                label_msgid="vindula_tile_label_layout",
                description_msgid="vindula_tile_help_layout",
                i18n_domain="vindula_tile",
                format="select",
            ),
            vocabulary=[
                ("listagem_com_imagem", _(u"Listagem com imagem")),
                ("listagem_sem_imagem", _(u"Listagem sem imagem")),
                ("listagem_com_icones", _(u"Listagem com ícones e sem imagem")),
                ("listagem_sem_icones", _(u"Destaque sem ícones e sem imagem")),
                ("listagem_evento", _(u"Lista de Eventos")),
                ("listagem_agenda", _(u"Lista da Agenda")),
                ("listagem_tabular", _(u"Lista de Tabela")),
                ("listagem_mais_recentes", _(u"Lista mais recentes")),
Example #10
0
from Products.ATContentTypes.content.schemata import finalizeATCTSchema

from vindula.tile.content.tile_schemaBase import BaseTile
from vindula.tile.content.interfaces import ITileJobOffer

from vindula.controlpanel.browser.at.widget import VindulaReferenceSelectionWidget

from vindula.tile import MessageFactory as _
from vindula.tile.config import *

TileJobOffer_schema = BaseTile.schema.copy() + Schema((

    StringField(
        name='link_cadastro',
        widget=StringWidget(
            label=_(u"Link para Cadastro"),
            description=_(u"Adicione o link para o formulario de cadastro do usuário."),
        ),
        required=True,
    ),


))

finalizeATCTSchema(TileJobOffer_schema, folderish=False)

class TileJobOffer(BaseTile):
    """ Reserve TileInfoStructure"""
    security = ClassSecurityInfo()

    implements(ITileJobOffer)
Example #11
0
from vindula.tile.content.tile_schemaBase import BaseTile
from vindula.tile.content.interfaces import ITileTeam

from vindula.controlpanel.browser.at.widget import VindulaReferenceSelectionWidget

from vindula.tile import MessageFactory as _
from vindula.tile.config import *

TileTeam_schema = BaseTile.schema.copy() + Schema((

    ReferenceField('structure',
        multiValued=0,
        allowed_types=('OrganizationalStructure',),
        relationship='context_structure',
        widget=VindulaReferenceSelectionWidget(
            label=_(u"Escolha uma Unidade Organizacional"),
            description=_(u"Selecione uma Unidade Organizacional que você deseja listar a equipe."),
        ),
        required=False,
    ),

))

finalizeATCTSchema(TileTeam_schema, folderish=False)

class TileTeam(BaseTile):
    """ Reserve TileTeam for TileFeatured """
    security = ClassSecurityInfo()

    implements(ITileTeam)
    portal_type = 'TileTeam'
Example #12
0
from vindula.tile.content.interfaces import ITileLabel
from vindula.tile.content.tile_schemaBase import BaseTile

from vindula.tile import MessageFactory as _
from vindula.tile.config import *

TileLabel_schema = BaseTile.schema.copy() + Schema((

    TextField(
            name='text',
            default_content_type = 'text/html',
            default_output_type = 'text/x-html-safe',
            searchable = True,
            widget=RichWidget(
                label=_(u"Conteúdo"),
                description=_(u"Campo de preenchimento livre, seu conteúdo ficará posicionado abaixo da linha do titulo."),
                rows=10,
                label_msgid='vindula_themedefault_label_text',
                description_msgid='vindula_themedefault_help_text',
                i18n_domain='vindula_themedefault',
            ),
            required=False,
    ),

    BooleanField(
        name='line',
        default=True,
        widget=BooleanWidget(
            label="Mostrar linha abaixo o título",
            description='Caso selecionado mostrará uma linha abaixo o título.',
Example #13
0
from vindula.tile.content.tile_schemaBase import BaseTile
from vindula.tile.content.interfaces import ITileMultimedia

from vindula.tile import MessageFactory as _
from vindula.tile.config import *


TileMultimedia_schema = BaseTile.schema.copy() + Schema((

    ReferenceField('multimedia',
        multiValued=0,
        allowed_types=('VindulaVideo', 'VindulaStreaming',),
        relationship='relationMultimedia',
        widget=VindulaReferenceSelectionWidget(
            label=_(u"Vídeo"),
            description='Selecione o vídeo que será será mostrado no bloco.'
        ),
        required=True,
    ),
                                                         
                                                         
    IntegerField(
        name='width_video',
        widget = IntegerWidget(
            label = 'Largura',
            description='Largura em pixels do vídeo.',
        ),
        default=640,
        required=True,
    ),
Example #14
0
from vindula.tile.content.interfaces import ITilePoll
from vindula.tile.content.tile_schemaBase import BaseTile

from vindula.tile import MessageFactory as _
from vindula.tile.config import *

from Products.CMFPlone.utils import safe_unicode
from Products.CMFCore.utils import getToolByName

TilePoll_schema = BaseTile.schema.copy() + Schema((


    StringField(
        name='selection_mode',
        widget=SelectionWidget(
            label=_(u"Enquete"),
            description=_(u"Selecione na lista abaixo a enquete desejada."),
            label_msgid='vindula_tile_label_selection_mode',
            description_msgid='vindula_tile_help_selection_mode',
            i18n_domain='vindula_tile',
            format='select',
        ),
        vocabulary='voc_list_poll',
        required=True,
    ),


    IntegerField(
        name='number_of_polls',
        widget = IntegerWidget(
            label = 'Número de enquetes no portlet de enquete  ',
from vindula.tile.content.tile_schemaBase import BaseTile
from vindula.tile.content.interfaces import ITileInfoStructure

from vindula.controlpanel.browser.at.widget import VindulaReferenceSelectionWidget

from vindula.tile import MessageFactory as _
from vindula.tile.config import *

TileInfoStructure_schema = BaseTile.schema.copy() + Schema((

    ReferenceField('structure',
        multiValued=0,
        allowed_types=('OrganizationalStructure',),
        relationship='context_structure',
        widget=VindulaReferenceSelectionWidget(
            label=_(u"Escolha uma Unidade Organizacional"),
            description=_(u"Selecione uma Unidade Organizacional que deseja listar as informações."),
        ),
        required=False,
    ),

))

finalizeATCTSchema(TileInfoStructure_schema, folderish=False)

class TileInfoStructure(BaseTile):
    """ Reserve TileInfoStructure"""
    security = ClassSecurityInfo()

    implements(ITileInfoStructure)
    meta_type = portal_type = archetype_name = 'TileInfoStructure'
Example #16
0
from vindula.tile.content.tile_schemaBase import BaseTile
from vindula.tile.content.interfaces import ITileFeatured

from vindula.controlpanel.browser.at.widget import VindulaReferenceSelectionWidget

from vindula.tile import MessageFactory as _
from vindula.tile.config import *

TileFeatured_schema = BaseTile.schema.copy() + Schema(
    (
        ReferenceField(
            "itens",
            multiValued=1,
            allowed_types=("VindulaNews", "News Item"),
            label=_(u"Itens em Destaque"),
            relationship="itensFeatured",
            widget=VindulaReferenceSelectionWidget(
                label=_(u"Itens em Destaque"), description="Selecione os itens que serão destaque."
            ),
            required=True,
        ),
        StringField(
            name="kind",
            widget=SelectionWidget(
                label=_(u"Selecione o layout"),
                description=_(u"Selecione o layout desejado para esta areas."),
                label_msgid="vindula_tile_label_layout",
                description_msgid="vindula_tile_help_layout",
                i18n_domain="vindula_tile",
                format="select",
Example #17
0
from vindula.tile.content.interfaces import ITilePoiTracker
from vindula.tile.content.tile_schemaBase import BaseTile
from vindula.controlpanel.browser.at.widget import VindulaReferenceSelectionWidget

from vindula.tile import MessageFactory as _
from vindula.tile.config import *

TilePoiTracker_schema = BaseTile.schema.copy() + Schema((


	ReferenceField('poi_tracker',
	        multiValued=0,
	        allowed_types=('PoiTracker'),
	        relationship='PoiTracker',
	        widget=VindulaReferenceSelectionWidget(
	            label=_(u"Gerenciador de Ocorrências"),
	            description='Selecione o gerenciador de ocorrências, onde serão adicionadas as ocorrêcias.'
	        ),
	        review_state = ('published', 'internal','external'),
	        required=True,
	),

))

finalizeATCTSchema(TilePoiTracker_schema, folderish=False)

class TilePoiTracker(BaseTile):
    """ Reserve Content for TilePoiTracker """
    security = ClassSecurityInfo()

    implements(ITilePoiTracker)
from Products.CMFCore.utils import getToolByName
from vindula.controlpanel.browser.at.widget import VindulaReferenceSelectionWidget

from vindula.tile.content.tile_schemaBase import BaseTile
from vindula.tile.content.interfaces import ITileListagemHorizontal

from vindula.tile import MessageFactory as _
from vindula.tile.config import *


TileListagemHorizontal_schema = BaseTile.schema.copy() + Schema((

    ReferenceField('highlights',
            multiValued=1,
            allowed_types=('VindulaNews'),
            label=_(u"Destaques"),
            relationship='VindulaNews',
            widget=VindulaReferenceSelectionWidget(
                label=_(u"Destaques"),
                description='Selecione os destaques rotativos.'
            ),
            review_state=('published', 'internal', 'external'),
            required=False,
    ),

    LinesField(
        name='listTypes',
        multiValued=1,
        widget=MultiSelectionWidget(
            label=_(u"Lista Tipos de Conteúdo"),
            description=_(u"Selecione o tipo de conteúdo que deseja buscar."),
Example #19
0
from Products.Archetypes.atapi import *

from Products.ATContentTypes.content.schemata import finalizeATCTSchema

from vindula.tile.content.tile_schemaBase import BaseTile
from vindula.tile.content.interfaces import ITileNewEmployee

from vindula.tile import MessageFactory as _
from vindula.tile.config import *

TileNewEmployee_schema = BaseTile.schema.copy() + Schema((

    StringField(
        name='kind',
        widget=SelectionWidget(
            label=_(u"Selecione o layout"),
            description=_(u"Selecione o layout desejado para esta areas."),
            label_msgid='vindula_tile_label_layout',
            description_msgid='vindula_tile_help_layout',
            i18n_domain='vindula_tile',
            format='select',
        ),
        vocabulary=[("padrao",_(u"Tema Padrão")),
                   ],
        default='padrao',
        required=True,
    ),
    
    IntegerField(
        name='qtdMembers',
        widget = IntegerWidget(
Example #20
0
    BooleanField(
        name='bloquea_portlet',
        default=False,
        widget=BooleanWidget(
            label="Bloquear Vindula Portlets dos níveis superiores",
            description='Se selecionado, irá bloquear todos os portlets dos níveis superiores do portal.(Cautela para usar esta opção).',
        ),
        required=False,
        schemata = 'settings'
    ),

    StringField(
        name='coluna',
        default=u'direita',
        widget=SelectionWidget(label=_(u"Coluna do Portlet"),
                               description=_(u"Selecione em qual coluna o portlet será carregado."),
                               ),
        required=True,
        vocabulary='voc_coluna',
        schemata = 'settings'
    ),
    
    BooleanField(
        name='is_accessory',
        default=False,
        widget=BooleanWidget(
            label="Acessório",
            description='Selecione caso o tile for um tile acessório (irá mudar o layout do tile).',
        ),
        required=False,
Example #21
0
from vindula.tile.content.tile_schemaBase import BaseTile
from vindula.tile.content.interfaces import ITileLibrary

from vindula.tile import MessageFactory as _
from vindula.tile.config import *
from vindula.controlpanel.browser.at.widget import VindulaReferenceSelectionWidget

from zope.schema.interfaces import IVocabularyFactory
from zope.component import queryUtility

TileLibrary_schema = BaseTile.schema.copy() + Schema(
    (
        StringField(
            name="kind",
            widget=SelectionWidget(
                label=_(u"Selecione o layout"),
                description=_(u"Selecione o layout desejado."),
                label_msgid="vindula_tile_label_kind",
                description_msgid="vindula_tile_help_kind",
                i18n_domain="vindula_tile",
                format="select",
            ),
            vocabulary=[("padrao", _(u"Tema Padrão"))],
            default="padrao",
            required=True,
        ),
        IntegerField(
            name="qtdThemesGlobal",
            widget=IntegerWidget(
                label="Quantidade de temas a ser exibido",
                description="Quantidade máxima de temas a ser exibido no bloco",
Example #22
0
        name='numb_items',
        widget = IntegerWidget(
            label = 'Quantidade',
            description='Quantidade de aniversarintes por página.',
        ),
        default=5,
        required=True
    ),

    ReferenceField('structures',
        multiValued=0,
        allowed_types=('OrganizationalStructure',),
        relationship='structures',
        widget=VindulaReferenceSelectionWidget(
            typeview='list',
            label=_(u"Escolha uma Unidade Organizacional"),
            description=_(u"Selecione uma Unidade Organizacional. "
                          u"Esta escolha fará com so apresente usuários desta Unidade Organizacional"),

            ),
        required=False
    ),

    StringField(
        name='type_search',
        widget=SelectionWidget(
            label=_(u"Tipo do filtro"),
            description=_(u"Selecione o filtro que será usado no portlet."),
            label_msgid='vindula_tile_label_type_search',
            description_msgid='vindula_tile_help_type_search',
            i18n_domain='vindula_tile',
from vindula.tile.content.tile_schemaBase import BaseTile
from vindula.tile.content.interfaces import ITileListServices

from vindula.controlpanel.browser.at.widget import VindulaReferenceSelectionWidget

from vindula.tile import MessageFactory as _
from vindula.tile.config import *

TileListServices_schema = BaseTile.schema.copy() + Schema((

    ReferenceField('servicesFolder',
        multiValued=0,
        allowed_types=('ServicosFolder',),
        relationship='context_structure',
        widget=VindulaReferenceSelectionWidget(
            label=_(u"Selecione a pasta de serviços"),
            description=_(u"Selecione a pasta se serviços que será listada no bloco."),
        ),
        required=True,
    ),

))

finalizeATCTSchema(TileListServices_schema, folderish=False)

class TileListServices(BaseTile):
    """ Reserve TileListServices"""
    security = ClassSecurityInfo()

    implements(ITileListServices)
    meta_type = portal_type = archetype_name = 'TileListServices'
Example #24
0
from Products.Archetypes.atapi import *

from Products.ATContentTypes.content.schemata import finalizeATCTSchema

from vindula.tile.content.tile_schemaBase import BaseTile
from vindula.tile.content.interfaces import ITileSimpleMacro

from vindula.tile import MessageFactory as _
from vindula.tile.config import *

TileSimpleMacro_schema = BaseTile.schema.copy() + Schema((

    TextField(
            name='page',
            widget=StringWidget(
                label=_(u"Página"),
                description=_(u"Utilizado para inserir o nome da pagina para visualização do conteudo."),
                label_msgid='vindula_tile_label_page',
                description_msgid='vindula_tile_help_page',
            ),
        required=True,
    ),

    TextField(
            name='macro',
            widget=StringWidget(
                label=_(u"Macro"),
                description=_(u"Utilizado para inserir a macro de visualização do conteudo."),
                label_msgid='vindula_tile_label_textoBanner',
                description_msgid='vindula_tile_help_textoBanner',
            ),
Example #25
0
product_globals = globals()

def getVariableEnvironment(var):
    '''
        Método para

        @var = ZOPE_HOME, INSTANCE_HOME, ... é o valor da variável do sistema
        @return = Retorna o valor da variavel do sistema
    '''
    environ = os.environ
    return environ.get(var, None)

BUILDOUT_PATH = getVariableEnvironment('INSTANCE_HOME') + '/../../'
ROOT_PATH = os.path.dirname(os.path.abspath(__file__))

VOCABULARY_COLUNAS=[('4', _(u"25%")),
                    ('6', _(u"50%")),
                    ('12', _(u"100%")),]

VOCABULARY_SORTED_ITENS=[
    ('getObjPositionInParent','Posições dos objetos na pasta'),
    ('created','Data de Criação'),
    ('effective','Data de Publicação'),
    ('modified','Data de Modificação')
]


LIST_PLONETYPES = ['Event','File','Image','Link','OrganizationalStructure','Servico','VindulaNews','VindulaStreaming','VindulaVideo']

LIST_TYPES_TILES = ['TileAccordionContent','TileBanner',# 'TileBannerCompost',
                    'TileBirthdays', 'TileCalendar', 'TileFeatured','TileFood',
Example #26
0
from vindula.controlpanel.browser.at.widget import VindulaReferenceSelectionWidget

from vindula.tile import MessageFactory as _
from vindula.tile.config import *

from zope.schema.interfaces import IVocabularyFactory
from zope.component import queryUtility

TileTabularList_schema = BaseTile.schema.copy() + Schema((
                                                         
    ReferenceField('structure',
        multiValued=0,
        allowed_types=('OrganizationalStructure',),
        relationship='context_structure',
        widget=VindulaReferenceSelectionWidget(
            label=_(u"Escolha uma Unidade Organizacional"),
            description=_(u"Selecione uma Unidade Organizacional que deseja listar os documentos."),
        ),
        required=False,
    ),

    LinesField(
        name='object_type',
        multiValued=1,
        widget=MultiSelectionWidget(
            label=_(u"Tipo de conteudo"),
            description=_(u"Selecione o tipo de itens que sera apresentado na listagem."),
            format = 'select',
        ),
        vocabulary=u'voc_ContentTypes',
        required=True,