Conjunto de mudanças 5479 no repositório publico


Ignorar:
Timestamp:
02/11/2011 14:53:38 (8 anos atrás)
Autor:
fabianosantos
Mensagem:

Implementado metodo de remocao de registros. Adicionando flush explicito em todos os metodos que criam conteudos nas tabelas para tentar capturar problemas de integridade referencial de forma imediata e nao no momento do commit da transacao.

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

Legenda:

Não Modificado
Adicionado
Removido
  • il.spdo/trunk/il/spdo/browser/forms/area.py

    r5470 r5479  
    3131        session = Session()
    3232        session.add(area)
     33        session.flush()
    3334        return area
    3435
  • il.spdo/trunk/il/spdo/browser/forms/base.py

    r5471 r5479  
    5050            # TODO: talvez nao seja bom mostrar o erro do banco, mas logar no event.log
    5151            status.add(_(u'Falha de integridade relacional: ' + str(e)), 'error')   
     52            raise
    5253        else:
    5354            status.add(_(u'Cadastro efetuado com sucesso.'), 'info')
     
    107108            # TODO: talvez nao seja bom mostrar o erro do banco, mas logar no event.log
    108109            status.add(_(u'Falha de integridade relacional: ' + str(e)), 'error')   
     110            raise
    109111        else:
    110112            status.add(_(u"Alterações efetuadas"), "info")
     
    136138    @log
    137139    def removeItem(self):
    138         raise NotImplementedError
     140        content = self.getContent()
     141        status = IStatusMessage(self.request)
     142        try:
     143            session = Session()
     144            session.delete(content)
     145            session.flush()
     146        except AssertionError, e:
     147            # TODO: talvez nao seja bom mostrar o erro do banco, mas logar no event.log
     148            status.add(_(u'Falha de integridade relacional: ' + str(e)), 'error')
     149            raise
     150        else:
     151            status.add(_(u'Registro removido.'), 'info')
     152            self.nextURL()
    139153
    140154    def getContent(self):
     
    162176    def handleExcluir(self, action):
    163177        self.removeItem()
    164         IStatusMessage(self.request).add(_(u"Registro removido com sucesso."), "info")
    165         self.nextURL()
    166178
    167179    @button.buttonAndHandler(_(u'Voltar'), name='voltar')
     
    175187        self.actions["excluir"].addClass("context")
    176188        self.actions["voltar"].addClass("standalone")
     189
  • il.spdo/trunk/il/spdo/browser/forms/pessoa.py

    r5471 r5479  
    2929        session = Session()
    3030        session.add(pessoa)
     31        session.flush()
    3132        return pessoa
    3233
  • il.spdo/trunk/il/spdo/browser/forms/protocolo.py

    r5471 r5479  
    8989                )
    9090            session.add(pessoa_destino)
     91           
     92        session.flush()
    9193
    9294        return protocolo
  • il.spdo/trunk/il/spdo/browser/forms/situacao.py

    r5471 r5479  
    3131        session = Session()
    3232        session.add(situacao)
     33        session.flush()
    3334        return situacao
    3435
  • il.spdo/trunk/il/spdo/browser/forms/tipodocumento.py

    r5471 r5479  
    2929        session = Session()
    3030        session.add(tipodocumento)
     31        session.flush()
    3132        return tipodocumento
    3233
  • il.spdo/trunk/il/spdo/browser/forms/tipoentrega.py

    r5471 r5479  
    2929        session = Session()
    3030        session.add(tipoentrega)
     31        session.flush()
    3132        return tipoentrega
    3233
  • il.spdo/trunk/il/spdo/browser/forms/tramite.py

    r5471 r5479  
    4444        copia = len(data['areas']) > 1
    4545        for area_id in data['areas']:
    46 
    47             tramite = Tramite(
    48                     protocolo_id=protocolo.id,
    49                     area_id=area_id,
    50                     data_disponibilizacao=datetime.datetime.now(),
    51                     data_recebimento=None,
    52                     acao=data['acao'],
    53                     copia=copia,
    54                 )
     46            tramite = Tramite(protocolo_id=protocolo.id,
     47                              area_id=area_id,
     48                              data_disponibilizacao=datetime.datetime.now(),
     49                              data_recebimento=None,
     50                              acao=data['acao'],
     51                              copia=copia)
    5552            session.add(tramite)
    56             session.flush()
     53        session.flush()
    5754
    5855        return True
  • il.spdo/trunk/il/spdo/browser/forms/uf.py

    r5471 r5479  
    3030        session = Session()
    3131        session.add(uf)
     32        session.flush()
    3233        return uf
    3334
  • il.spdo/trunk/il/spdo/log.py

    r5470 r5479  
    55def log(fn):
    66    def f(*args, **kwargs):
     7        ret = fn(*args, **kwargs)
    78        l = Log()
    89        request = getRequest()
     
    1516        session = Session()
    1617        session.add(l)
    17         return fn(*args, **kwargs)
     18        return ret
    1819    return f
  • il.spdo/trunk/il/spdo/pas.py

    r5458 r5479  
    5555        """Consulta a pessoa usando o email como chave.
    5656        """
    57         #XXX: tratar corretamente a falta de base de dados
     57        # TODO: tratar corretamente a falta da base de dados
    5858        try:
    5959            session = Session()
     
    6767        """Consulta a pessoa usando o id como chave.
    6868        """
    69         session = Session()
    70         return session.query(Pessoa).get(int(id))
     69        # TODO: tratar corretamente a falta da base de dados
     70        try:
     71            session = Session()
     72            return session.query(Pessoa).get(int(id))
     73        except:
     74            return
    7175
    7276     
     
    131135                         'pluginid': self.getId(),
    132136                        },)
     137
     138        # TODO: tratar corretamente a falta da base de dados
    133139        try:
    134140            session = Session()
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.