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
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()