예제 #1
0
파일: Cliente.py 프로젝트: fmarella/pg3
    def delete(self):
        """
        Rimuove il cliente
        """
        if len(self.TD) > 0:
            self.cancellato = True
            session.add(self)
        else:
            if self.id_user:
                utente = User().getRecord(id=self.id_user)
                if utente:
                    utente.delete()

            if posso("IP"):
                from promogest.modules.InfoPeso.dao.TestataInfoPeso import\
                                                                 TestataInfoPeso
                from promogest.modules.InfoPeso.dao.ClienteGeneralita import\
                                                                 ClienteGeneralita
                cltip = TestataInfoPeso().select(idCliente=dao.id, batchSize=None)
                if cltip:
                    for l in cltip:
                        l.delete()
                clcg = ClienteGeneralita().select(idCliente=dao.id, batchSize=None)
                if clcg:
                    for l in clcg:
                        l.delete()

            session.delete(self)
        session.commit()
예제 #2
0
파일: Fornitore.py 프로젝트: fmarella/pg3
 def delete(self):
     if self.categoria_fornitore:
         try:
             for c in self.categoria_fornitore:
                 c.delete()
         except:
             self.categoria_fornitore.delete()
     session.delete(self)
     session.commit()
예제 #3
0
def fixRigaMovimentoTable(pbar_wid=None):

    a = SetConf().select(key="fix_riga_movimento", section="General")
    if a and a[0].value =="False":
        rmfall = session.query(RigaMovimentoFornitura.id_articolo, RigaMovimentoFornitura.id_fornitura, RigaMovimentoFornitura.id_riga_movimento_acquisto).distinct().all()
        #print "RMFALL", rmfall
        num = len(rmfall)
        for riga in rmfall:
            if pbar:
                pbar(pbar_wid,parziale=rmfall.index(riga), totale=num, text="MIGRAZIONE TABELLA LOTTI ACQUISTO", noeta=False)
            #print "riga", riga
            print "RESIDUI DA GESTIRE ACQ", num - rmfall.index(riga)
            rmf = RigaMovimentoFornitura().select(idArticolo=riga[0], idRigaMovimentoAcquisto=riga[2], idFornitura=riga[1], batchSize=None)
            if rmf:
                for r in rmf:
                    if r.id_riga_movimento_vendita:
                        a = RigaMovimentoFornitura()
                        a.id_articolo = r.id_articolo
                        a.id_riga_movimento_vendita = r.id_riga_movimento_vendita
                        a.id_fornitura = r.id_fornitura
                        session.add(a)
                    if rmf.index(r) == 0:
                        a = RigaMovimentoFornitura()
                        a.id_articolo = r.id_articolo
                        a.id_riga_movimento_acquisto = r.id_riga_movimento_acquisto
                        a.id_fornitura = r.id_fornitura
                        session.add(a)
                    session.delete(r)
                        #session.add(r)
        session.commit()
        print " FINITO ACQ"
        rmfall2 = session.query(RigaMovimentoFornitura.id_riga_movimento_vendita).distinct().all()
        #print rmfall2
        num2 = len(rmfall2)
        for riga2 in rmfall2:
            if pbar_wid:
                pbar(pbar_wid,parziale=rmfall2.index(riga2), totale=num2, text="MIGRAZIONE TABELLA LOTTI VENDITA", noeta=False)
            print "RESIDUI DA GESTIRE VEN", num2 - rmfall2.index(riga2)
            if riga2[0] is not None:
                rmf2 = RigaMovimentoFornitura().select(idRigaMovimentoVendita=riga2[0], batchSize=None)
                #print "RMFFFFFFFFFFFFFFFFFFF", rmf2
                for ff in rmf2[1:]:
                    if ff.id_riga_movimento_acquisto is None:
                        session.delete(ff)
                session.commit()
        if pbar_wid:
            pbar(pbar_wid,stop=True)
        c = SetConf().select(key="fix_riga_movimento", section="General")
        c[0].value = str(True)
        session.add(c[0])
        session.commit()
        if pbar_wid:
            pbar_wid.set_property("visible",False)
        print "FATTO IL FIX"
    else:
        print "NIENTE DA FIXARE"
예제 #4
0
def rimuovi_da_storico(doc_id):
    '''
    Rimuove il documento dallo storico
    :param doc_id: ID del documento che si vuole rimuovere dallo storico
    :return: None
    '''
    if doc_id:
        try:
            obj = session.query(StoricoDocumento).filter(and_(StoricoDocumento.padre==doc_id, StoricoDocumento.figlio==None)).one()
            session.delete(obj)
        except NoResultFound:
            pass
        try:
            obj = session.query(StoricoDocumento).filter(StoricoDocumento.figlio==doc_id).one()
            session.delete(obj)
        except NoResultFound:
            pass