Beispiel #1
0
 def delete(self):
     # se l'articolo e' presente tra le righe di un movimento o documento
     # si esegue la cancellazione logica
     from promogest.dao.ListinoArticolo import ListinoArticolo
     from promogest.dao.Inventario import Inventario
     from Riga import Riga
     res = Riga().select(id_articolo=self.id)
     inv = Inventario().select(idArticolo=self.id)
     sc = None
     if posso("VD"):
         from promogest.modules.VenditaDettaglio.dao.RigaScontrino \
                                                 import RigaScontrino
         sc = RigaScontrino().select(idArticolo=self.id)
     if res or inv:
         daoArticolo = Articolo().getRecord(id=self.id)
         daoArticolo.cancellato = True
         session.add(daoArticolo)
     elif sc:
         daoArticolo = Articolo().getRecord(id=self.id)
         daoArticolo.cancellato = True
         session.add(daoArticolo)
     else:
         if posso("PW") or modulo_sublima_pw:
             atc = ArticoloTagliaColore().getRecord(id=self.id)
             if atc:
                 atc.delete()
         if posso('ADR'):
             if self.APADR:
                 session.delete(self.APADR)
         session.delete(self)
     la = ListinoArticolo().select(idArticolo=self.id)
     if la:
         for l in la:
             l.delete()
     if posso("GN"):
         from promogest.modules.GestioneNoleggio.dao.\
                 ArticoloGestioneNoleggio import ArticoloGestioneNoleggio
         artGN = ArticoloGestioneNoleggio().select(idArticolo=self.id)
         if artGN:
             session.delete(artGN[0])
     session.commit()
     try:
         pg2log.info("DELETE ARTICOLO")
     except:
         pass
Beispiel #2
0
    def persist(self):
        session.add(self)
        self.commit()
        #salvataggio , immagine ....per il momento viene gestita
        #una immagine per articolo ...
        #in seguito sarà l'immagine a comandare non l'articolo
        try:
            if self._url_immagine \
                        and Immagine().getRecord(id=self.id_immagine):
                img = Immagine().getRecord(id=self.id_immagine)
                img.filename = self._url_immagine
                img.id_famiglia = self.id_famiglia_articolo
                self.id_immagine = self.id
                session.add(img)
                self.commit()
                session.add(self)
                self.save_update()
            elif self._url_immagine:
                img = Immagine()
                img.id = self.id
                img.filename = self._url_immagine
                img.id_famiglia = self.id_famiglia_articolo
                self.id_immagine = self.id
                session.add(img)
                self.saveToAppLog(img)
                session.add(self)
                self.saveToAppLog(self)
            elif not self._url_immagine and Immagine().getRecord(id=self.id_immagine):
                img = Immagine().getRecord(id=self.id_immagine)
                self.id_immagine = None
                img.delete()
        except:
            pass
        if posso("GN"):
            if self.divisore_noleggio_value_set and self.id:
                div_nol = ArticoloGestioneNoleggio().getRecord(id=self.id)
                if div_nol:
                        div_nol.divisore_noleggio_value = self.divisore_noleggio_value_set
                        session.add(div_nol)
                else:
                    div_nol = ArticoloGestioneNoleggio()
                    div_nol.id_articolo = self.id
                    div_nol.divisore_noleggio_value = self.divisore_noleggio_value_set
                    session.add(div_nol)

        if posso("PW"):
            try:
                if self.__articoloTagliaColore:
                    isTc = ArticoloTagliaColore().getRecord(id=self.id)
                    if isTc:
                        isTc.delete()
                    self.__articoloTagliaColore.id_articolo = self.id
                    session.add(self.__articoloTagliaColore)
                    self.commit()
                    if self.isArticoloPadre():
                        for var in self.getArticoliTagliaColore():
                            var.id_genere = self.__articoloTagliaColore.id_genere
                            var.id_anno = self.__articoloTagliaColore.id_anno
                            var.id_stagione = self.__articoloTagliaColore.id_stagione
                            var.id_modello = self.__articoloTagliaColore.id_modello
                            session.add(var)
                        #self.saveToAppLog(var)
            except:
                print "ARTICOLO NORMALE SENZA TAGLIE O COLORI"

        if posso("ADR"):
            if self.articolo_adr_dao and self.id:
                self.articolo_adr_dao.id_articolo = self.id
                self.APADR = self.articolo_adr_dao
        if posso("CSA"):
            if hasattr(self, "articolo_csa_dao") and self.articolo_csa_dao and self.id:
                self.articolo_csa_dao.id_articolo = self.id
                self.APCSA = self.articolo_csa_dao
        session.commit()