def getArchi(self):
     """ ottengo gli archi temporali in formato DisplayList"""
     archi = DisplayList()
     archi.add('', _(u'-- seleziona --'))
     for arco in self.aq_parent.getElencoarchi():
         archi.add(arco, arco)
     return archi
 def getTipologiacontratto(self):
     """ ottengo le tipologie contrattuali"""
     tipologiecontrattuali = DisplayList()
     tipologiecontrattuali.add('', _(u'-- seleziona --'))
     for tipo in self.aq_parent.getElencotipologiecontrattuali():
         tipologiecontrattuali.add(tipo, tipo)
     return tipologiecontrattuali
 def getTipologiaprofilo(self):
     """ ottengo le tipologie di profilo in formato DisplayList"""
     tipiprofilo = DisplayList()
     tipiprofilo.add('', _(u'-- seleziona --'))
     for tipo in self.aq_parent.getElencotipologieprofilo():
         tipiprofilo.add(tipo, tipo)
     return tipiprofilo
 def getDipartimento(self):
     """ ottengo la lista dei dipartimenti settata in pannello di configurazione formato DisplayList"""
     dipartimenti = DisplayList()
     dipartimenti.add('', _(u'-- seleziona --'))
     for dipartimento in self.aq_parent.getElencodipartimenti():
         dipartimenti.add(dipartimento, dipartimento)
     return dipartimenti
from uniba.bandilavoro.config import PROJECTNAME
from uniba.bandilavoro import bandiMessageFactory as _

from zope.interface import implements
from zope.component import getMultiAdapter, getUtility


ProfiloSchema = folder.ATFolderSchema.copy() + atapi.Schema((

    atapi.IntegerField('nposti',
            required=True,
            searchable=False,
            default=1,
            validators = ('isInt',),
            widget = atapi.IntegerWidget(
                      label = _(u'label_profilo_nposti', default=u'Numero posti a concorso'),
                      )),
    
    atapi.TextField('oggettoprestazione',
             required=True,
             searchable=False,
             validators = ('isTidyHtmlWithCleanup',),
             default_output_type = 'text/x-html-safe',
             widget = atapi.RichWidget(
                       label = _(u'label_profilo_oggettoprestazione', default=u'Oggetto prestazione'),
                       description = _(u'desc_profilo_oggettoprestazione',
                                             default=u'Oggetto della prestazione lavorativa'),
                       rows=5,
                       allow_buttons=(
                               'pastetext',
                               'bold',
from uniba.bandilavoro.config import PROJECTNAME
from uniba.bandilavoro import bandiMessageFactory as _

from zope.interface import implements
from zope.component import getMultiAdapter, getUtility

# eredito lo schema del tipo File classico
RettificaSchema = ATFileSchema.copy() + atapi.Schema((

    atapi.LinesField('rettificapercampi',
           required=True,
           searchable=True,
           multiValued=True,
           vocabulary='getCampiDaRettificare',
           widget = atapi.MultiSelectionWidget(
                     label = _(u'label_rettifica_rettificapercampi', default=u'Campi da rettificare'),
                     description = _(u'desc_rettifica_rettificapercampi', default=u'Selezionare almeno un campo'),
                     size = 10,
                     )),

))

# Set storage on fields copied from ATContentTypeSchema, making sure
# they work well with the python bridge properties.

RettificaSchema['title'].storage = atapi.AnnotationStorage()
RettificaSchema['description'].storage = atapi.AnnotationStorage()
RettificaSchema['rettificapercampi'].storage = atapi.AnnotationStorage()

schemata.finalizeATCTSchema(RettificaSchema, moveDiscussion=False)
from Products.Archetypes import atapi
from Products.ATContentTypes.content import folder
from Products.ATContentTypes.content import schemata

from uniba.bandilavoro import bandiMessageFactory as _
from uniba.bandilavoro.interfaces import ICartellaBandidiLavoro
from uniba.bandilavoro.config import PROJECTNAME

from zope.interface import implements


CartellaBandidiLavoroSchema = folder.ATFolderSchema.copy() + atapi.Schema((

    atapi.LinesField(name='elencodipartimenti',
            widget=atapi.LinesWidget(
                label=_(u"label_cartellabandi_elencodipartimenti",
                        default=u"Elenco dei dipartimenti"),
                description=_(u"desc_cartellabandi_elencodipartimenti",
                              default=u"Elencare i dipartimenti uno per linea"),
                ),
            required=True,
        ),
    atapi.LinesField(name='elencotipologiecontrattuali',
            widget=atapi.LinesWidget(
                label=_(u"label_cartellabandi_elencotipologiecontrattuali",
                        default=u"Elenco delle tipologie contrattuali"),
                description=_(u"desc_cartellabandi_elencotipologiecontrattuali",
                              default=u"Elencare le tipologie (tipo Co.co.co.) una per linea"),
                ),
            required=True,
        ),
    atapi.LinesField(name='elencotipologieprofilo',
BandoSchema = folder.ATFolderSchema.copy() + atapi.Schema((

    atapi.ComputedField(
            'title',
            accessor='Title',
            searchable=1,
            expression="context.computeTitle()",
        ),

    atapi.StringField('dipartimentobando',
             required=True,
             searchable=True,
             vocabulary='getDipartimento',
             widget = atapi.SelectionWidget(
                       label = _(u'label_bando_dipartimentobando', default=u'Dipartimento che emana il bando'),
                       format = 'select',
                       )),
    atapi.StringField('decretobando',
             required=True,
             searchable=True,
             widget = atapi.StringWidget(
                       label = _(u'label_bando_decretobando', default=u'Numero decreto'),
                       description = _(u'desc_bando_decretobando',
                                       default=u'E\' auspicabile inserire informazioni complete come ad esempio: DD. 80/2013'),
                       )),
    atapi.StringField('linkindagine',
             required=True,
             searchable=True,
             validators = ('isURL',),
             widget = atapi.StringWidget(