Conjunto de mudanças 5457 no repositório publico


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

Removido tabela de LogModificacao?. Adicionada camada de versionamento automatico do banco de dados, elevando a quantidade de tabelas para 38. Renomeado campos data no modelo de dados.

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

Legenda:

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

    r5437 r5457  
    8282            result_ids.append(anexo.id)
    8383
    84             log = db.LogModificacao(
    85                     usuario=user.email,
    86                     protocolo_id=protocolo.id,
    87                     anexo_id=anexo.id,
    88                     detalhes=_(u'Novo Anexo')
    89                 )
    90             session.add(log)
    91            
    9284            path_anexo = os.path.join(path_protocolo, str(anexo.id))
    9385            with open(path_anexo, 'w') as file_anexo:
  • il.spdo/trunk/il/spdo/browser/forms/protocolo.py

    r5448 r5457  
    6363        session.flush()
    6464
    65         log = db.LogModificacao(
    66                 usuario=user.email,
    67                 protocolo_id=protocolo.id,
    68                 tramite_id=tramite.id,
    69                 observacao_id=observacao.id if observacao is not None else None,
    70                 detalhes=_(u'Novo Protocolo')
    71             )
    72         session.add(log)
    73 
    7465        anexos = data['anexos'] if data['anexos'] is not None else []
    7566        if anexos:
  • il.spdo/trunk/il/spdo/browser/forms/tramite.py

    r5448 r5457  
    1010from il.spdo.config import MessageFactory as _
    1111from il.spdo.interfaces import IAddTramite
    12 from il.spdo.db import Tramite, Protocolo, LogModificacao, Permissao
     12from il.spdo.db import Tramite, Protocolo, Permissao
    1313from il.spdo.config import Session
    1414from il.spdo.api import ISPDOAPI
     
    5454            session.flush()
    5555
    56             log = LogModificacao(
    57                 usuario=user.email,
    58                 protocolo_id=protocolo.id,
    59                 tramite_id=tramite.id,
    60                 detalhes=_(u'Novo Tramite'),
    61             )
    62             session.add(log)
    63 
    6456        return True
    6557
  • il.spdo/trunk/il/spdo/db.py

    r5450 r5457  
    9494    pessoa_id = Column(Integer, ForeignKey('pessoa.id'))
    9595    pessoa = relationship("Pessoa", backref="responsavel")
    96     data = Column(DateTime(), default=datetime.date.today(), nullable=False)
     96    data_responsavel = Column(DateTime(), default=datetime.date.today(), nullable=False)
    9797
    9898class TipoDocumento(Base):
     
    160160    id = Column(Integer, primary_key=True)
    161161    protocolo_id = Column(Integer, ForeignKey('protocolo.id'))
    162     data = Column(DateTime(), default=datetime.datetime.now(), nullable=False)
     162    data_observacao = Column(DateTime(), default=datetime.datetime.now(), nullable=False)
    163163    texto = Column(Text(), nullable=False)
    164164
     
    170170    arquivo = Column(Text(), nullable=False)
    171171    tamanho = Column(Integer(), nullable=False)
    172     data = Column(DateTime(), default=datetime.datetime.now(), nullable=False)
     172    data_anexo = Column(DateTime(), default=datetime.datetime.now(), nullable=False)
    173173
    174174class Tramite(Base):
     
    235235    dv = Column(Integer, nullable=False)
    236236    numero = Column(String(20), unique=True, nullable=False)
    237     data = Column(DateTime(), default=datetime.datetime.now(), nullable=False)
     237    data_protocolo = Column(DateTime(), default=datetime.datetime.now(), nullable=False)
    238238    tipodocumento_id = Column(Integer, ForeignKey('tipodocumento.id'))
    239239    tipodocumento = relationship("TipoDocumento", backref="protocolo")
     
    306306    __table_args__ = TABLE_ARGS
    307307    id = Column(Integer, primary_key=True)
    308     data = Column(DateTime(), default=datetime.datetime.now(), nullable=False)
     308    data_log = Column(DateTime(), default=datetime.datetime.now(), nullable=False)
    309309    usuario = Column(String(50))
    310310    url = Column(Text(), nullable=False)
    311 
    312 class LogModificacao(Base):
    313     __tablename__ = 'logmodificacao'
    314     __table_args__ = TABLE_ARGS
    315     id = Column(Integer, primary_key=True)
    316     data = Column(DateTime(), default=datetime.datetime.now(), nullable=False)
    317     usuario = Column(String(50), nullable=False)
    318     protocolo_id = Column(Integer, ForeignKey('protocolo.id'))
    319     protocolo = relationship("Protocolo", backref="log")
    320     anexo_id = Column(Integer, ForeignKey('anexo.id'))
    321     anexo = relationship("Anexo", backref="log")
    322     observacao_id = Column(Integer, ForeignKey('observacao.id'))
    323     observacao = relationship("Observacao", backref="log")
    324     tramite_id = Column(Integer, ForeignKey('tramite.id'))
    325     tramite = relationship("Tramite", backref="log")
    326     detalhes = Column(Text(), nullable=False)
    327311
    328312if __name__ == '__main__':
  • il.spdo/trunk/il/spdo/history_meta.py

    r5456 r5457  
    77from sqlalchemy.orm import mapper, class_mapper, attributes, object_mapper
    88from sqlalchemy.orm.exc import UnmappedClassError, UnmappedColumnError
    9 from sqlalchemy import Table, Column, ForeignKeyConstraint, Integer
     9from sqlalchemy import Table, Column, ForeignKeyConstraint, Integer, DateTime
    1010from sqlalchemy.orm.interfaces import SessionExtension
    1111from sqlalchemy.orm.properties import RelationshipProperty
    1212from zope.sqlalchemy.datamanager import ZopeTransactionExtension
     13import datetime
    1314
    1415def col_references_table(col, table):
     
    3536        cols = []
    3637        for column in local_mapper.local_table.c:
    37             if column.name == 'version':
     38
     39            if column.name in ('version', 'version_date'):
    3840                continue
    3941
     
    5153        if super_mapper:
    5254            super_fks.append(('version', super_history_mapper.base_mapper.local_table.c.version))
     55            super_fks.append(('version_date', super_history_mapper.base_mapper.local_table.c.version_date))
    5356        cols.append(Column('version', Integer, primary_key=True))
    54 
     57        cols.append(Column('version_date', DateTime, default=datetime.datetime.now(), nullable=False))
     58       
    5559        if super_fks:
    5660            cols.append(ForeignKeyConstraint(*zip(*super_fks)))
     
    8690    if not super_history_mapper:
    8791        cls.version = Column('version', Integer, default=1, nullable=False)
     92        cls.version_date = Column('version_date', DateTime, default=datetime.datetime.now(), nullable=False)
    8893
    8994
     
    9196    def __init__(cls, classname, bases, dict_):
    9297        DeclarativeMeta.__init__(cls, classname, bases, dict_)
    93 
    9498        try:
    9599            mapper = class_mapper(cls)
     
    104108            yield obj
    105109
     110           
    106111def create_version(obj, session, deleted = False):
    107112    obj_mapper = object_mapper(obj)
     
    120125
    121126        for hist_col in hm.local_table.c:
    122             if hist_col.key == 'version':
     127            if hist_col.key in ('version', 'version_date'):
    123128                continue
    124129
     
    168173
    169174    attr['version'] = obj.version
     175    vd = datetime.datetime.now()
     176    attr['version_date'] = vd
    170177    hist = history_cls()
    171178    for key, value in attr.iteritems():
     
    173180    session.add(hist)
    174181    obj.version += 1
     182    obj.version_date = vd
    175183
     184   
    176185class VersionedListener(SessionExtension):
    177186    def before_flush(self, session, flush_context, instances):
     
    181190            create_version(obj, session, deleted = True)
    182191
     192           
    183193class ZopeVersionedExtension(ZopeTransactionExtension, VersionedListener):
    184194    pass
    185 
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.