Conjunto de mudanças 5365 no repositório publico


Ignorar:
Timestamp:
13/10/2011 18:49:12 (8 anos atrás)
Autor:
fabianosantos
Mensagem:

Implementacao do formulário de cadastro do protocolo, novos
vocabularios, IAddProtocolo schema e dependencia da tool
plone.app.drafts.

Localização:
il.spdo/trunk/il/spdo
Arquivos:
1 adicionado
4 editados

Legenda:

Não Modificado
Adicionado
Removido
  • il.spdo/trunk/il/spdo/config.py

    r5355 r5365  
    44TABLE_ARGS = {'mysql_engine':'InnoDB','mysql_charset':'utf8'}
    55CREATE_ALL_TABLES = True
     6PATH_ANEXOS='/var/interlegis/spdo/anexos'
    67
    78def Session():
  • il.spdo/trunk/il/spdo/interfaces.py

    r5350 r5365  
    33from zope import interface, schema
    44from plone.directives import form
     5from collective.z3cform.datetimewidget import DateFieldWidget
     6
     7from plone.formwidget.multifile import MultiFileFieldWidget
     8from plone.namedfile.field import NamedFile
    59
    610from il.spdo.config import MessageFactory as _
     
    3135        vocabulary='il.spdo.areas-vocab')
    3236
    33     #TODO:validar também os cliclos, impedindo que uma área escolha
    34     # como área pai qualquer um dos seus descendentes.
     37    # TODO: validar também os ciclos, impedindo que uma área escolha
     38    # como área pai qualquer um dos seus descendentes
    3539    @interface.invariant
    3640    def vefifyAreaPai(area):
     
    96100        required=False,
    97101        vocabulary='il.spdo.areas-vocab')
     102
    98103    endereco = schema.TextLine(
    99104        title=_(u'Endereço'),
     
    126131        required=False,
    127132        vocabulary='il.spdo.uf-vocab')
     133
     134
     135class IAddProtocolo(form.Schema):
     136
     137    form.mode(id='hidden')
     138    id = schema.Int(
     139        title=_(u'ID'),
     140        description=_(u'Identidicador interno do Protocolo.'),
     141        required=False)
     142
     143    tipoprotocolo = schema.Choice(
     144        title=_(u'Tipo Protocolo'),
     145        description=_(u'Selecione o tipo do protocolo.'),
     146        vocabulary='il.spdo.tipoprotocolo-vocab')
     147
     148    tipodocumento_id = schema.Choice(
     149        title=_(u'Tipo Documento'),
     150        description=_(u'Selecione o tipo do documento.'),
     151        vocabulary='il.spdo.tipodocumento-vocab')
     152
     153    numero_documento = schema.TextLine(
     154        title=_(u'Número do Documento'),
     155        description=_(u'Informe o número do documento.'),
     156        max_length=20,
     157        required=False)
     158
     159    #TODO:validar a data pois não pode ser no futuro.
     160    form.widget(data_emissao=DateFieldWidget)
     161    data_emissao = schema.Date(
     162        title=_(u'Data Emissão Documento'),
     163        description=_(u'Informe a data de emissão do documento.'),
     164        default=None,
     165        required=False)
     166
     167    assunto = schema.TextLine(
     168        title=_(u'Assunto'),
     169        description=_(u'Informe o assunto do documento.'),
     170        max_length=100)
     171
     172    situacao_id = schema.Choice(
     173        title=_(u'Situação'),
     174        description=_(u'Selecione a situação inicial do protocolo.'),
     175        vocabulary='il.spdo.situacao-vocab')
     176
     177    origem = schema.List(
     178            title=_(u'Origem'),
     179            description=_(u'Selecione uma ou mais origens do protocolo.'),
     180            value_type=schema.Choice(title=_(u'Pessoa Origem'),
     181                                     vocabulary='il.spdo.pessoa-vocab')
     182                    )
     183
     184    destino = schema.List(
     185            title=_(u'Destino'),
     186            description=_(u'Selecione um ou mais destinos do protocolo.'),
     187            value_type=schema.Choice(title=_(u'Pessoa Destino'),
     188                                     vocabulary='il.spdo.pessoa-vocab')
     189                    )
     190
     191    observacao = schema.Text(
     192        title=_(u'Observação'),
     193        description=_(u'Informe qualquer observação que seja necessária.'),
     194        required=False)
     195
     196    # Para desabilitar o plugin de flash upload, basta comentar a linha abaixo.
     197    form.widget(anexos=MultiFileFieldWidget)
     198    anexos = schema.List(title=_(u'Anexos'),
     199                         description=_(u'Adicione anexos ao protocolo caso necessário.'),
     200                         required=False,
     201                         value_type=NamedFile())
     202
     203
     204class IShowProtocolo(IAddProtocolo):
     205    numero = schema.TextLine(
     206        title=_(u'Número'),
     207        description=_(u'Identificador do Protocolo.'),
     208        max_length=20,
     209        required=False)
     210
     211class IProtocolo(IShowProtocolo):
     212    pass
  • il.spdo/trunk/il/spdo/profiles/default/metadata.xml

    r5327 r5365  
    55      <dependency>profile-plone.app.z3cform:default</dependency>
    66      <dependency>profile-plone.app.theming:default</dependency>
     7      <dependency>profile-plone.app.drafts:default</dependency>
    78    </dependencies>
    89</metadata>
  • il.spdo/trunk/il/spdo/vocabulary.py

    r5350 r5365  
    2626               name='il.spdo.areas-vocab')
    2727
     28class TipoDocumentoVocabulary(object):
     29     implements(IVocabularyFactory)
     30
     31     def __call__(self, context):
     32         session = Session()
     33         query = session.query(db.TipoDocumento).order_by(db.TipoDocumento.nome).all()
     34         return SimpleVocabulary([SimpleTerm(t.id, t.id, t.nome) for t in query])
     35
     36TipoDocumentoVocabularyFactory = TipoDocumentoVocabulary()
     37provideUtility(TipoDocumentoVocabularyFactory, IVocabularyFactory,
     38               name='il.spdo.tipodocumento-vocab')
     39
     40class PessoaVocabulary(object):
     41     implements(IVocabularyFactory)
     42
     43     def __call__(self, context):
     44         session = Session()
     45         query = session.query(db.Pessoa).order_by(db.Pessoa.nome).all()
     46         return SimpleVocabulary([SimpleTerm(p.id, p.id, p.nome) for p in query])
     47
     48PessoaVocabularyFactory = PessoaVocabulary()
     49provideUtility(PessoaVocabularyFactory, IVocabularyFactory,
     50               name='il.spdo.pessoa-vocab')
     51
     52class SituacaoVocabulary(object):
     53     implements(IVocabularyFactory)
     54
     55     def __call__(self, context):
     56         session = Session()
     57         query = session.query(db.Situacao).filter_by(inicial=True).order_by(db.Situacao.nome).all()
     58         return SimpleVocabulary([SimpleTerm(s.id, s.id, s.nome) for s in query])
     59
     60SituacaoVocabularyFactory = SituacaoVocabulary()
     61provideUtility(SituacaoVocabularyFactory, IVocabularyFactory,
     62               name='il.spdo.situacao-vocab')
    2863
    2964class UFVocabulary(object):
     
    4883               name='il.spdo.tipopessoa-vocab')
    4984
     85def TipoProtocoloVocabulary(context):
     86    return SimpleVocabulary([
     87        SimpleTerm('R','R', _(u'Recebido')),
     88        SimpleTerm('E','E', _(u'Expedido')),
     89        SimpleTerm('I','I', _(u'Interno')),
     90    ])
     91
     92provideUtility(TipoProtocoloVocabulary, IVocabularyFactory,
     93               name='il.spdo.tipoprotocolo-vocab')
    5094
    5195class AreaSource(object):
Note: Veja TracChangeset para ajuda no uso do visualizador de conjunto de mudanças.
 

The contents and data of this website are published under license:
Creative Commons 4.0 Brasil - Atribuir Fonte - Compartilhar Igual.