Conjunto de mudanças 5344 no repositório publico


Ignorar:
Timestamp:
10/10/2011 21:58:16 (8 anos atrás)
Autor:
fabianosantos
Mensagem:

Revisado integridado dos modelos.

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

Legenda:

Não Modificado
Adicionado
Removido
  • il.spdo/trunk/il.spdo.egg-info/SOURCES.txt

    r5327 r5344  
    11MANIFEST.in
    22README.txt
     3il.spdo-configure.zcml
    34setup.cfg
    45setup.py
     6docs/HISTORY.txt
     7docs/INSTALL.txt
     8docs/LICENSE.GPL
     9docs/LICENSE.txt
    510il/__init__.py
    611il.spdo.egg-info/PKG-INFO
     
    1419il.spdo.egg-info/top_level.txt
    1520il/spdo/__init__.py
     21il/spdo/adapters.py
    1622il/spdo/config
    1723il/spdo/config.py
     24il/spdo/config.py~
    1825il/spdo/configure.zcml
    19 il/spdo/containers.py
    2026il/spdo/db.py
    2127il/spdo/db.py~
  • il.spdo/trunk/il/spdo/config.py

    r5327 r5344  
    22
    33import zope.i18nmessageid
    4 
    54MessageFactory = zope.i18nmessageid.MessageFactory('il.spdo')
    65
  • il.spdo/trunk/il/spdo/db.py

    r5343 r5344  
    77from il.spdo.config import TABLE_ARGS, CREATE_ALL_TABLES
    88from il.spdo.interfaces import IArea
     9from random import choice
    910import datetime
    1011import math
     12import string
    1113
    1214Base = declarative_base()
     
    1719    Session = sessionmaker(bind=engine)
    1820
     21def geraSenha(tamanho):
     22    chars = string.letters + string.digits
     23    s = ""
     24    for i in range(tamanho):
     25        s += choice(chars)
     26    return s
     27
    1928class Pessoa(Base):
    2029    __tablename__ = 'pessoa'
    2130    __table_args__ = TABLE_ARGS
    2231    id = Column(Integer, primary_key=True)
    23     usuario = Column(String(50), unique=True, nullable=False)
    24     senha = Column(String(20), nullable=False)
    2532    nome = Column(String(100), unique=True, nullable=False)
    2633    email = Column(String(50), unique=True, nullable=False)
     
    3542    tipopessoa = Column(String(1), nullable=False)
    3643    contato = Column(String(100))
     44    senha = Column(String(20), nullable=False)
     45   
     46    def __init__(self, nome, email, endereco=None, bairro=None, cep=None, cidade=None, uf=None, telefone=None, cpf_cnpj=None, tipopessoa='F', contato=None):
     47        self.nome = nome
     48        self.email = email
     49        self.endereco = endereco
     50        self.bairro = bairro
     51        self.cidade = cidade
     52        self.uf_id = uf
     53        self.telefone = telefone
     54        self.cpf_cnpj = cpf_cnpj
     55        self.tipopessoa = tipopessoa
     56        self.contato = contato
     57        self.senha = geraSenha(8)
     58
     59    def __repr__(self):
     60        return "<Pessoa:%s>" % self.email
    3761
    3862class UF(Base):
     
    4266    sigla = Column(String(2), unique=True, nullable=False)
    4367    nome = Column(String(40), unique=True, nullable=False)
     68
     69class Situacao(Base):
     70    __tablename__ = 'situacao'
     71    __table_args__ = TABLE_ARGS
     72    id = Column(Integer, primary_key=True)
     73    nome = Column(String(40), unique=True, nullable=False)
     74    final = Column(Boolean(), default=False)
    4475   
    4576class TipoDocumento(Base):
     
    4980    nome = Column(String(40), unique=True, nullable=False)
    5081
    51 class Situacao(Base):
    52     __tablename__ = 'situacao'
    53     __table_args__ = TABLE_ARGS
    54     id = Column(Integer, primary_key=True)
    55     nome = Column(String(40), unique=True, nullable=False)
    56     final = Column(Boolean(), default=False)
     82class TipoEntrega(Base):
     83    __tablename__ = 'tipoentrega'
     84    __table_args__ = TABLE_ARGS
     85    id = Column(Integer, primary_key=True)
     86    nome = Column(String(40), unique=True, nullable=False)
    5787
    5888class Area(Base):
     
    73103    pessoa_id = Column(Integer, ForeignKey('pessoa.id'))
    74104    pessoa = relationship("Pessoa", backref="responsavel")
    75     data = Column(DateTime(), default=datetime.datetime.now())
     105    data = Column(DateTime(), default=datetime.datetime.now(), nullable=False)
     106
     107def calculaDigitoVerificador(seq, ano):
     108    return int(math.log(seq + ano) * 10000) % 100
    76109
    77110class Protocolo(Base):
     
    79112    __table_args__ = TABLE_ARGS
    80113    id = Column(Integer, primary_key=True)
    81     tipoprotocolo = Column(String(1))
    82     seq = Column(Integer)
    83     ano = Column(Integer)
    84     dv = Column(Integer)
    85     numero = Column(String(20))
    86     data = Column(DateTime(), default=datetime.datetime.now())
     114    tipoprotocolo = Column(String(1), nullable=False)
     115    seq = Column(Integer, nullable=False)
     116    ano = Column(Integer, nullable=False)
     117    dv = Column(Integer, nullable=False)
     118    numero = Column(String(20), unique=True, nullable=False)
     119    data = Column(DateTime(), default=datetime.datetime.now(), nullable=False)
    87120    tipodocumento_id = Column(Integer, ForeignKey('tipodocumento.id'))
    88121    tipodocumento = relationship("TipoDocumento", backref="protocolo")
    89122    situacao_id = Column(Integer, ForeignKey('situacao.id'))
    90123    situacao = relationship("Situacao", backref="protocolo")
     124    apensado_id = Column(Integer, ForeignKey('protocolo.id'))
     125    apensado = relationship("Protocolo", backref=backref('protocolo', remote_side=id))
    91126    observacao = relationship("Observacao", backref="protocolo")
    92127    anexo = relationship("Anexo", backref="protocolo")
    93128    tramite = relationship("Tramite", backref="protocolo")
    94     apensado_id = Column(Integer, ForeignKey('protocolo.id'))
    95     apensado = relationship("Protocolo", backref=backref('protocolo', remote_side=id))
    96129    pessoa_origem = relationship("PessoaOrigem", backref="pessoa_origem")
    97130    pessoa_destino = relationship("PessoaDestino", backref="pessoa_destino")
    98131    notificacao = relationship("Notificacao", backref="notificacao")
    99 
    100     def _calcula_dv(self):
    101         return int(math.log(self.seq + self.ano) * 10000) % 100
    102132   
    103133    def __init__(self, tipoprotocolo, tipodocumento_id, situacao_id):
     
    106136        self.situacao_id = situacao_id
    107137        session = Session()
     138
     139        # TODO: isso não pode ser feito dessa maneira, pois desconsidera o session
     140        # e requer um commit ao invez de um flush
    108141        self.ano = datetime.datetime.now().year
    109         # TODO: isso não pode ser feito dessa maneira, pois desconsidera o session
    110142        max_seq = session.bind.execute('SELECT max(p.seq) from protocolo p where p.ano = %d' % self.ano).fetchone()[0]
    111143        self.seq = max_seq is None and 1 or max_seq + 1
    112         self.dv = self._calcula_dv()
     144        self.dv = calculaDigitoVerificador(self.seq, self.ano)
    113145        self.numero = "%s-%08d/%04d-%02d" % (tipoprotocolo, self.seq, self.ano, self.dv)
    114146
     
    131163    tipoentrega_id = Column(Integer, ForeignKey('tipoentrega.id'))
    132164    tipoentrega = relationship("TipoEntrega", backref="pessoa_destino")
    133     data_entrega = Column(DateTime(), default=datetime.datetime.now())
     165    data_entrega = Column(DateTime())
    134166    objeto_correios = Column(String(20))
    135 
    136 class TipoEntrega(Base):
    137     __tablename__ = 'tipoentrega'
    138     __table_args__ = TABLE_ARGS
    139     id = Column(Integer, primary_key=True)
    140     nome = Column(String(40))
    141167
    142168class Notificacao(Base):
     
    152178    id = Column(Integer, primary_key=True)
    153179    protocolo_id = Column(Integer, ForeignKey('protocolo.id'))
    154     texto = Column(Text())
     180    texto = Column(Text(), nullable=False)
    155181
    156182class Anexo(Base):
     
    159185    id = Column(Integer, primary_key=True)
    160186    protocolo_id = Column(Integer, ForeignKey('protocolo.id'))
    161     arquivo = Column(Text())
     187    arquivo = Column(Text(), nullable=False)
    162188
    163189class Tramite(Base):
     
    181207    __table_args__ = TABLE_ARGS
    182208    id = Column(Integer, primary_key=True)
    183     data = Column(DateTime(), default=datetime.datetime.now())
     209    data = Column(DateTime(), default=datetime.datetime.now(), nullable=False)
    184210    usuario = Column(String(50))
    185     url = Column(Text())
     211    url = Column(Text(), nullable=False)
    186212
    187213class LogModificacao(Base):
     
    189215    __table_args__ = TABLE_ARGS
    190216    id = Column(Integer, primary_key=True)
    191     data = Column(DateTime(), default=datetime.datetime.now())
    192     usuario = Column(String(50))
     217    data = Column(DateTime(), default=datetime.datetime.now(), nullable=False)
     218    usuario = Column(String(50), nullable=False)
    193219    protocolo_id = Column(Integer, ForeignKey('protocolo.id'))
    194220    protocolo = relationship("Protocolo", backref="log")
     
    197223    tramite_id = Column(Integer, ForeignKey('tramite.id'))
    198224    tramite = relationship("Tramite", backref="log")
    199     detalhes = Column(Text())
     225    detalhes = Column(Text(), nullable=False)
    200226
    201227class Fluxo(Base):
     
    203229    __table_args__ = TABLE_ARGS
    204230    id = Column(Integer, primary_key=True)
    205     nome = Column(String(40))
     231    nome = Column(String(40), unique=True, nullable=False)
    206232    tipodocumento_id = Column(Integer, ForeignKey('tipodocumento.id'))
    207233    tipodocumento = relationship("TipoDocumento", backref="fluxo")
    208234    transicao = relationship("Transicao", backref="fluxo")
    209     flexivel = Column(Boolean())
     235    flexivel = Column(Boolean(), default=False)
    210236
    211237class Transicao(Base):
     
    214240    id = Column(Integer, primary_key=True)
    215241    fluxo_id = Column(Integer, ForeignKey('fluxo.id'))
     242    # TODO: revisar
    216243    #transicao_origem_id = Column(Integer, ForeignKey('area.id'))
    217244    #transicao_origem = relationship("Area", backref="transicao_origem")
    218245    #transicao_destino_id = Column(Integer, ForeignKey('area.id'))
    219246    #transicao_destino = relationship("Area", backref="transicao_destino")
    220     inicial = Column(Boolean())
     247    inicial = Column(Boolean(), default=False)
    221248
    222249if __name__ == '__main__':
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.