Exemplo n.º 1
0
 def _TramiteRecuperacao(self, protocolos, apenso=False):
     """Tramite de recuperação (recupera um protocolo enviado que não foi recebido).
     """
     protocolos = list(set(protocolos))
     session = Session()
     area_id_auth = self.getAuthPessoa().area_id
     ret = []
     for protocolo_id in protocolos:
         ret.append(protocolo_id)
         protocolo = self.getProtocolo(protocolo_id)
         if not apenso:
             sc = getUtility(ISecurityChecker)
             msg = _(u'Protocolo não disponível para recuperação. Protocolo: ') + protocolo.numero
             sc.enforce('tramitar_recuperacao', protocolo_id=protocolo_id, msg=msg)
         tramites = session.query(db.Tramite).\
                    filter_by(protocolo_id=protocolo_id).\
                    filter_by(area_id_anterior=area_id_auth).\
                    filter_by(data_recebimento=None).all()
         for tramite in tramites:
             session.delete(tramite)
         self._add_box(db.TramiteInbox, protocolo_id, area_id_auth)
         self._del_box(db.TramiteOutbox, protocolo_id, area_id_auth)
         # propaga tramitação nos apensos
         for apenso in protocolo.apenso:
             ret.extend(self._TramiteRecuperacao([apenso.id], apenso=True))
     return ret
Exemplo n.º 2
0
 def _TramiteRecuperacao(self, protocolos, apenso=False):
     """Tramite de recuperação (recupera um protocolo enviado que não foi recebido).
     """
     protocolos = list(set(protocolos))
     session = Session()
     area_id_auth = self.getAuthPessoa().area_id
     ret = []
     for protocolo_id in protocolos:
         ret.append(protocolo_id)
         protocolo = self.getProtocolo(protocolo_id)
         if not apenso:
             sc = getUtility(ISecurityChecker)
             msg = _(
                 u'Protocolo não disponível para recuperação. Protocolo: '
             ) + protocolo.numero
             sc.enforce('tramitar_recuperacao',
                        protocolo_id=protocolo_id,
                        msg=msg)
         tramites = session.query(db.Tramite).\
                    filter_by(protocolo_id=protocolo_id).\
                    filter_by(area_id_anterior=area_id_auth).\
                    filter_by(data_recebimento=None).all()
         for tramite in tramites:
             session.delete(tramite)
         self._add_box(db.TramiteInbox, protocolo_id, area_id_auth)
         self._del_box(db.TramiteOutbox, protocolo_id, area_id_auth)
         # propaga tramitação nos apensos
         for apenso in protocolo.apenso:
             ret.extend(self._TramiteRecuperacao([apenso.id], apenso=True))
     return ret
Exemplo n.º 3
0
 def doDeleteUser(self, userid):
     """Apaga o usuário removendo a pessoa do banco de dados. Se
     alguma integridade referencial não for respeitada será lançada
     uma exceção."""
     api = getUtility(ISPDOAPI)
     pessoa = api.getPessoaByEmail(userid)
     session = Session()
     session.delete(pessoa)
Exemplo n.º 4
0
 def doDeleteUser(self, userid):
     """Apaga o usuário removendo a pessoa do banco de dados. Se
     alguma integridade referencial não for respeitada será lançada
     uma exceção."""
     api = getUtility(ISPDOAPI)
     pessoa = api.getPessoaByEmail(userid)
     session = Session()
     session.delete(pessoa)
Exemplo n.º 5
0
 def render(self):
     session = Session()
     content = session.query(db.Transicao).get(self.request.id)
     fluxo_id = content.fluxo_id
     session.delete(content)
     session.flush()
     status = IStatusMessage(self.request)
     status.add(_(u"Registro removido."), "info")
     go("list-transicao", fluxo_id=fluxo_id)
Exemplo n.º 6
0
 def render(self):
     session = Session()
     content = session.query(db.Transicao).get(self.request.id)
     fluxo_id = content.fluxo_id
     session.delete(content)
     session.flush()
     status = IStatusMessage(self.request)
     status.add(_(u'Registro removido.'), 'info')
     go('list-transicao', fluxo_id=fluxo_id)
Exemplo n.º 7
0
 def render(self):
     session = Session()
     r = self.request
     content = session.query(db.PessoaDestino).get((r.protocolo_id, r.pessoa_id))
     session.delete(content)
     session.flush()
     status = IStatusMessage(self.request)
     status.add(_(u"Registro removido."), "info")
     go("show-protocolo", id=r.protocolo_id)
Exemplo n.º 8
0
 def render(self):
     session = Session()
     r = self.request
     content = session.query(db.Referencia).get((r.protocolo_id, r.referencia_id))
     session.delete(content)
     session.flush()
     status = IStatusMessage(self.request)
     status.add(_(u"Registro removido."), "info")
     go("list-referencia", protocolo_id=r.protocolo_id)
Exemplo n.º 9
0
 def render(self):
     session = Session()
     r = self.request
     content = session.query(db.Referencia).get((r.protocolo_id, r.referencia_id))
     session.delete(content)
     session.flush()
     status = IStatusMessage(self.request)
     status.add(_(u'Registro removido.'), 'info')
     go('list-referencia', protocolo_id=r.protocolo_id)
Exemplo n.º 10
0
 def render(self):
     session = Session()
     r = self.request
     content = session.query(db.PessoaDestino).get((r.protocolo_id, r.pessoa_id))
     session.delete(content)
     session.flush()
     status = IStatusMessage(self.request)
     status.add(_(u'Registro removido.'), 'info')
     go('show-protocolo', id=r.protocolo_id)
Exemplo n.º 11
0
 def render(self):
     session = Session()
     r = self.request
     content = session.query(db.PessoaOrigem).get((r.protocolo_id, r.pessoa_id))
     session.delete(content)
     session.flush()
     status = IStatusMessage(self.request)
     status.add(_(u'Registro removido.'), 'info')
     go('show-protocolo', id=r.protocolo_id)
Exemplo n.º 12
0
 def render(self):
     session = Session()
     api = getUtility(ISPDOAPI)
     pessoa_id = api.getAuthPessoa().id
     content = session.query(db.Notificacao).get((pessoa_id, self.request.protocolo_id))
     session.delete(content)
     session.flush()
     status = IStatusMessage(self.request)
     status.add(_(u"Registro removido."), "info")
     go("list-notificacao")
Exemplo n.º 13
0
 def render(self):
     session = Session()
     api = getUtility(ISPDOAPI)
     pessoa_id = api.getAuthPessoa().id
     content = session.query(db.Notificacao).get((pessoa_id, self.request.protocolo_id))
     session.delete(content)
     session.flush()
     status = IStatusMessage(self.request)
     status.add(_(u'Registro removido.'), 'info')
     go('list-notificacao')
Exemplo n.º 14
0
 def render(self):
     session = Session()
     content = session.query(db.Observacao).get(self.request.id)
     protocolo_id = content.protocolo_id
     sc = getUtility(ISecurityChecker)
     sc.enforce('acessar_remove_observacao', protocolo_id=protocolo_id, observacao_id=self.request.id)
     session.delete(content)
     session.flush()
     status = IStatusMessage(self.request)
     status.add(_(u'Registro removido.'), 'info')
     go('show-protocolo', id=protocolo_id)
Exemplo n.º 15
0
 def render(self):
     session = Session()
     content = session.query(db.Anexo).get(self.request.id)
     protocolo_id = content.protocolo_id
     sc = getUtility(ISecurityChecker)
     sc.enforce('acessar_remove_anexo', protocolo_id=protocolo_id, anexo_id=self.request.id)
     session.delete(content)
     session.flush()
     status = IStatusMessage(self.request)
     status.add(_(u'Registro removido.'), 'info')
     go('show-protocolo', id=protocolo_id)
Exemplo n.º 16
0
 def render(self):
     session = Session()
     content = session.query(db.Observacao).get(self.request.id)
     protocolo_id = content.protocolo_id
     sc = getUtility(ISecurityChecker)
     sc.enforce("acessar_remove_observacao", protocolo_id=protocolo_id, observacao_id=self.request.id)
     session.delete(content)
     session.flush()
     status = IStatusMessage(self.request)
     status.add(_(u"Registro removido."), "info")
     go("show-protocolo", id=protocolo_id)
Exemplo n.º 17
0
 def removeItem(self):
     content = self.getContent()
     status = IStatusMessage(self.request)
     try:
         session = Session()
         session.delete(content)
         session.flush()
     except AssertionError, e:
         msg = _(u'Falha de integridade relacional: ' + str(e))
         status.add(msg, 'error')
         logger(msg)
         raise
Exemplo n.º 18
0
 def removeItem(self):
     content = self.getContent()
     status = IStatusMessage(self.request)
     try:
         session = Session()
         session.delete(content)
         session.flush()
     except AssertionError, e:
         msg = _(u'Falha de integridade relacional: ' + str(e))
         status.add(msg, 'error')
         logger(msg)
         raise
Exemplo n.º 19
0
    session.add(ps4)
    ps5 = Pessoa(u'Fabiano Weimar', u'*****@*****.**', area_id=a1.id)
    session.add(ps5)
    if LOTS_OF_SAMPLES:
        for i in xrange(1000):
            psN = Pessoa(u'Teste %s...' % str(i),
                         u'*****@*****.**' % str(i),
                         area_id=a1.id)
            session.add(psN)

    session.flush()

    # BUG: a pessoa com id = 1 deve ser apagada pois o plone.formwidget.autocomplete
    # não funciona como esperado com esse registro. No futuro esse widget precisará
    # ser reescrito utilizando http://docs.jquery.com/UI/Autocomplete
    session.delete(ps1)

    # Para facilitar os testes, algumas senhas são trocadas para senhas
    ps2.senha = geraHash('12345')
    ps3.senha = geraHash('54321')

    # Responsavel
    re1 = Responsavel(area_id=a1.id, pessoa_id=ps2.id)
    session.add(re1)
    re2 = Responsavel(area_id=a2.id, pessoa_id=ps3.id)
    session.add(re2)
    re3 = Responsavel(area_id=a3.id, pessoa_id=ps4.id)
    session.add(re3)
    re4 = Responsavel(area_id=a1.id, pessoa_id=ps3.id)
    session.add(re4)
    re5 = Responsavel(area_id=a2.id, pessoa_id=ps4.id)
Exemplo n.º 20
0
 def _del_box(self, box, protocolo_id, area_id):
     assert (box in (db.TramiteInbox, db.TramiteOutbox))
     session = Session()
     t = session.query(box).get((protocolo_id, area_id))
     if t is not None:
         session.delete(t)
Exemplo n.º 21
0
    ps4 = Pessoa(u'BOPE', '*****@*****.**', 'Morro dos Caveiras, 100', u'Favela do Alemão', 12312000,
                 'Rio de Janeiro', 1, '11 1212.1234', '12312312312', 'O', u'Capitão Nascimento', a3.id)
    session.add(ps4)
    ps5 = Pessoa(u'Fabiano Weimar', u'*****@*****.**', area_id=a1.id)
    session.add(ps5)
    if LOTS_OF_SAMPLES:
        for i in xrange(1000):
            psN = Pessoa(u'Teste %s...' % str(i), u'*****@*****.**' % str(i), area_id=a1.id)
            session.add(psN)

    session.flush()

    # BUG: a pessoa com id = 1 deve ser apagada pois o plone.formwidget.autocomplete
    # não funciona como esperado com esse registro. No futuro esse widget precisará
    # ser reescrito utilizando http://docs.jquery.com/UI/Autocomplete
    session.delete(ps1)

    # Para facilitar os testes, algumas senhas são trocadas para senhas
    ps2.senha = geraHash('12345')
    ps3.senha = geraHash('54321')

    # Responsavel
    re1 = Responsavel(area_id=a1.id, pessoa_id=ps2.id)
    session.add(re1)
    re2 = Responsavel(area_id=a2.id, pessoa_id=ps3.id)
    session.add(re2)
    re3 = Responsavel(area_id=a3.id, pessoa_id=ps4.id)
    session.add(re3)
    re4 = Responsavel(area_id=a1.id, pessoa_id=ps3.id)
    session.add(re4)
    re5 = Responsavel(area_id=a2.id, pessoa_id=ps4.id)
Exemplo n.º 22
0
 def _del_box(self, box, protocolo_id, area_id):
     assert(box in (db.TramiteInbox, db.TramiteOutbox))
     session = Session()
     t = session.query(box).get((protocolo_id, area_id))
     if t is not None:
         session.delete(t)