Conjunto de mudanças 5435 no repositório publico


Ignorar:
Timestamp:
26/10/2011 16:55:53 (8 anos atrás)
Autor:
fabianosantos
Mensagem:

Implementado interfaces e vocabularios para entregas.

Localização:
il.spdo/trunk/il/spdo
Arquivos:
3 editados

Legenda:

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

    r5431 r5435  
    66from sqlalchemy.ext.declarative import declarative_base
    77from il.spdo.config import DEFAULT_DSN, TABLE_ARGS, CREATE_ALL_TABLES, CREATE_SAMPLES, Session
    8 from il.spdo.interfaces import IArea, IUF, IPessoa, IResponsavel, ITipoDocumento, ISituacao, IProtocolo, IAddTramite, ITipoEntrega
     8from il.spdo.interfaces import IArea, IUF, IPessoa, IResponsavel, ITipoDocumento, ISituacao, IProtocolo, IAddTramite, ITipoEntrega, IEntrega
    99from random import choice
    1010import datetime
     
    176176
    177177class PessoaDestino(Base):
     178    implements(IEntrega)
    178179    __tablename__ = 'pessoa_destino'
    179180    __table_args__ = TABLE_ARGS
  • il.spdo/trunk/il/spdo/interfaces.py

    r5431 r5435  
    1515    id = schema.Int(
    1616        title=_(u'ID'),
    17         description=_(u'Identidicador da Área.'),
     17        description=_(u'Identificador da Área.'),
    1818        required=False)
    1919
     
    4545    id = schema.Int(
    4646        title=_(u'ID'),
    47         description=_(u'Identidicador da UF.'),
     47        description=_(u'Identificador da UF.'),
    4848        required=False)
    4949
     
    7373    id = schema.Int(
    7474        title=_(u'ID'),
    75         description=_(u'Identidicador interno da Pessoa.'),
     75        description=_(u'Identificador da Pessoa.'),
    7676        required=False)
    7777
     
    155155    id = schema.Int(
    156156        title=_(u'ID'),
    157         description=_(u'Identidicador do Responsável.'),
     157        description=_(u'Identificador do Responsável.'),
    158158        required=False)
    159159
     
    183183    id = schema.Int(
    184184        title=_(u'ID'),
    185         description=_(u'Identidicador do Tipo de Documento.'),
     185        description=_(u'Identificador do Tipo de Documento.'),
    186186        required=False)
    187187
     
    195195    id = schema.Int(
    196196        title=_(u'ID'),
    197         description=_(u'Identidicador da Situação.'),
     197        description=_(u'Identificador da Situação.'),
    198198        required=False)
    199199
     
    217217    id = schema.Int(
    218218        title=_(u'ID'),
    219         description=_(u'Identidicador interno do Protocolo.'),
     219        description=_(u'Identificador do Protocolo.'),
    220220        required=False)
    221221
     
    241241        title=_(u'Data Emissão Documento'),
    242242        description=_(u'Informe a data de emissão do documento.'),
    243         default=None,
     243        default=datetime.date.today(),
    244244        required=False)
    245245
     
    293293    id = schema.Int(
    294294        title=_(u'ID'),
    295         description=_(u'Identidicador interno do Tramite.'),
     295        description=_(u'Identificador do Tramite.'),
    296296        required=False)
    297297
     
    319319    id = schema.Int(
    320320        title=_(u'ID'),
    321         description=_(u'Identidicador do Tipo de Entrega.'),
     321        description=_(u'Identificador do Tipo de Entrega.'),
    322322        required=False)
    323323
     
    325325        title=_(u'Nome'),
    326326        description=_(u'Informe o nome do tipo do entrega.'))
     327
     328class IEntrega(form.Schema):
     329
     330    form.mode(protocolo_id='hidden')
     331    protocolo_id = schema.Int(
     332        title=_(u'ID Protocolo'),
     333        description=_(u'Identificador do Protocolo.'),
     334        required=False)
     335
     336    form.mode(pessoa_id='hidden')
     337    pessoa_id = schema.Int(
     338        title=_(u'ID Pessoa'),
     339        description=_(u'Identificador da pessoa.'),
     340        required=False)
     341
     342    tipoentrega = schema.Choice(
     343        title=_(u'Tipo de Entrega'),
     344        description=_(u'Selecione o tipo de entrega.'),
     345        vocabulary='il.spdo.tipoentrega-vocab')
     346
     347    form.widget(data_entrega=DateFieldWidget)
     348    data_entrega = schema.Date(
     349        title=_(u'Data de Entrega'),
     350        description=_(u'Informe a data de entrega do protocolo expedido.'),
     351        default=datetime.date.today(),
     352        required=False)
     353
     354    objeto_correios = schema.TextLine(
     355        title=_(u'Objeto dos Correios'),
     356        description=_(u'Informe o identificador do objeto dos correios, quando for o caso.'),
     357        max_length=20,
     358        required=False)
    327359
    328360@form.validator(field=IAddProtocolo['origem'])
  • il.spdo/trunk/il/spdo/vocabulary.py

    r5377 r5435  
    22
    33from zope.interface import implements
     4from zope.component import provideUtility
    45from zope.schema.vocabulary import SimpleVocabulary, SimpleTerm
    5 from zope.component import provideUtility
    66from zope.schema.interfaces import IVocabularyFactory
    7 
    87from zope.schema.interfaces import IContextSourceBinder
    98from z3c.formwidget.query.interfaces import IQuerySource
    10 
    119from il.spdo.config import Session
    1210from il.spdo import db
     
    1513
    1614class BaseQueryVocabulary(object):
     15
    1716    implements(IVocabularyFactory, IQuerySource)
    1817
     
    4544        return [x for x in self.vocab if x.title.lower().find(query_string) != -1]
    4645
    47 class AreasVocabulary(BaseQueryVocabulary):
    48 
    49     def update(self):
    50         session = Session()
    51         areas = session.query(db.Area).order_by(db.Area.nome).all()
    52         return SimpleVocabulary([SimpleTerm(a.id, a.id, a.nome) for a in areas])
    53 
    54 AreasVocabularyFactory = AreasVocabulary()
    55 provideUtility(AreasVocabularyFactory, IVocabularyFactory,
    56                name='il.spdo.areas-vocab')
    57 
    58 class TipoDocumentoVocabulary(object):
    59      implements(IVocabularyFactory)
    60 
    61      def __call__(self, context):
    62          session = Session()
    63          query = session.query(db.TipoDocumento).order_by(db.TipoDocumento.nome).all()
    64          return SimpleVocabulary([SimpleTerm(t.id, t.id, t.nome) for t in query])
    65 
    66 TipoDocumentoVocabularyFactory = TipoDocumentoVocabulary()
    67 provideUtility(TipoDocumentoVocabularyFactory, IVocabularyFactory,
    68                name='il.spdo.tipodocumento-vocab')
    6946
    7047class PessoaVocabulary(BaseQueryVocabulary):
     
    7956               name='il.spdo.pessoa-vocab')
    8057
     58               
     59class AreasVocabulary(object):
     60
     61    implements(IVocabularyFactory)
     62
     63    def __call__(self, context):
     64        session = Session()
     65        areas = session.query(db.Area).order_by(db.Area.nome).all()
     66        return SimpleVocabulary([SimpleTerm(a.id, a.id, a.nome) for a in areas])
     67
     68AreasVocabularyFactory = AreasVocabulary()
     69provideUtility(AreasVocabularyFactory, IVocabularyFactory,
     70               name='il.spdo.areas-vocab')
     71
     72               
     73class TipoDocumentoVocabulary(object):
     74
     75    implements(IVocabularyFactory)
     76
     77    def __call__(self, context):
     78        session = Session()
     79        query = session.query(db.TipoDocumento).order_by(db.TipoDocumento.nome).all()
     80        return SimpleVocabulary([SimpleTerm(t.id, t.id, t.nome) for t in query])
     81
     82TipoDocumentoVocabularyFactory = TipoDocumentoVocabulary()
     83provideUtility(TipoDocumentoVocabularyFactory, IVocabularyFactory,
     84               name='il.spdo.tipodocumento-vocab')
     85
     86               
    8187class SituacaoVocabulary(object):
    82      implements(IVocabularyFactory)
    8388
    84      def __call__(self, context):
    85          session = Session()
    86          query = session.query(db.Situacao).filter_by(inicial=True).order_by(db.Situacao.nome).all()
    87          return SimpleVocabulary([SimpleTerm(s.id, s.id, s.nome) for s in query])
     89    implements(IVocabularyFactory)
     90
     91    def __call__(self, context):
     92        session = Session()
     93        query = session.query(db.Situacao).filter_by(inicial=True).order_by(db.Situacao.nome).all()
     94        return SimpleVocabulary([SimpleTerm(s.id, s.id, s.nome) for s in query])
    8895
    8996SituacaoVocabularyFactory = SituacaoVocabulary()
     
    9198               name='il.spdo.situacao-vocab')
    9299
     100               
    93101class UFVocabulary(object):
    94      implements(IVocabularyFactory)
    95102
    96      def __call__(self, context):
    97          session = Session()
    98          query = session.query(db.UF).order_by(db.UF.nome).all()
    99          return SimpleVocabulary([SimpleTerm(a.id, a.id, a.nome) for a in query])
     103    implements(IVocabularyFactory)
     104
     105    def __call__(self, context):
     106        session = Session()
     107        query = session.query(db.UF).order_by(db.UF.nome).all()
     108        return SimpleVocabulary([SimpleTerm(a.id, a.id, a.nome) for a in query])
    100109
    101110UFVocabularyFactory = UFVocabulary()
     
    103112               name='il.spdo.uf-vocab')
    104113
     114
     115class TipoEntregaVocabulary(object):
     116
     117    implements(IVocabularyFactory)
     118
     119    def __call__(self, context):
     120        session = Session()
     121        query = session.query(db.TipoEntrega).order_by(db.TipoEntrega.nome).all()
     122        return SimpleVocabulary([SimpleTerm(t.id, t.id, t.nome) for t in query])
     123
     124TipoEntregaVocabularyFactory = TipoEntregaVocabulary()
     125provideUtility(TipoEntregaVocabularyFactory, IVocabularyFactory,
     126               name='il.spdo.tipoentrega-vocab')
     127
     128               
    105129def TipoPessoaVocabulary(context):
    106130    return SimpleVocabulary([
     
    112136               name='il.spdo.tipopessoa-vocab')
    113137
     138               
    114139def TipoProtocoloVocabulary(context):
    115140    return SimpleVocabulary([
     
    121146provideUtility(TipoProtocoloVocabulary, IVocabularyFactory,
    122147               name='il.spdo.tipoprotocolo-vocab')
    123 
    124 class AreaSource(object):
    125     implements(IQuerySource)
    126 
    127     def __init__(self, context):
    128          self.session = Session()
    129          areas = self.session.query(db.Area).order_by(db.Area.nome).all()
    130          self.vocab = SimpleVocabulary([SimpleTerm(a.id, a.id, a.nome) for a in areas])
    131          self.keywords = [a.id for a in areas]
    132 
    133     def __contains__(self, term):
    134         return self.vocab.__contains__(term)
    135 
    136     def __iter__(self):
    137         return self.vocab.__iter__()
    138 
    139     def __len__(self):
    140         return self.vocab.__len__()
    141 
    142     def getTerm(self, value):
    143         return self.vocab.getTerm(value)
    144 
    145     def getTermByToken(self, value):
    146         return self.vocab.getTermByToken(value)
    147 
    148     def search(self, query_string):
    149         query_string = '%' + query_string.lower() + '%'
    150         query = self.session.query(db.Area)
    151         areas = query.filter(db.Area.nome.like(query_string)).all()
    152         x = [self.vocab.getTerm(a.id) for a in areas]
    153         print x, areas
    154         return x
    155 
    156 class AreaSourceBinder(object):
    157     implements(IContextSourceBinder)
    158 
    159     def __call__(self, context):
    160         return AreaSource(context)
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.