def duplicaListini(self): """ Duplica i listini relativi ad un articolo scelto su un nuovo articolo """ if self._duplicatedDaoId is None: return from promogest.dao.ListinoArticolo import ListinoArticolo listini = ListinoArticolo().select(idArticolo = self._duplicatedDaoId) for listino in listini: daoLA = ListinoArticolo() daoLA.id_listino = listino.id_listino daoLA.id_articolo = self.dao.id daoLA.prezzo_dettaglio = listino.prezzo_dettaglio daoLA.prezzo_ingrosso = listino.prezzo_ingrosso daoLA.ultimo_costo = listino.ultimo_costo daoLA.data_listino_articolo = listino.data_listino_articolo sconti_ingrosso = [] sconti_dettaglio = [] if listino.sconto_vendita_dettaglio: daoLA.applicazione_sconti = "scalare" for s in listino.sconto_vendita_dettaglio: daoScontod = ScontoVenditaDettaglio() daoScontod.valore = s.valore daoScontod.tipo_sconto = s.tipo_sconto sconti_dettaglio.append(daoScontod) if listino.sconto_vendita_dettaglio: daoLA.applicazione_sconti = "scalare" for s in listino.sconto_vendita_ingrosso: daoScontoi = ScontoVenditaIngrosso() daoScontoi.valore = s.valore daoScontoi.tipo_sconto = s.tipo_sconto sconti_ingrosso.append(daoScontoi) daoLA.persist(sconti={"dettaglio":sconti_dettaglio,"ingrosso":sconti_ingrosso}) self._duplicatedDaoId = None
def saveDao(self, tipo=None): """ """ creaentryvarianti = False articolo = None if findIdFromCombobox(self.id_listino_customcombobox.combobox) is None: obligatoryField(self.dialogTopLevel, self.id_listino_customcombobox.combobox) if self.id_articolo_customcombobox.getId() is None: obligatoryField(self.dialogTopLevel, self.id_articolo_customcombobox) listin = findIdFromCombobox(self.id_listino_customcombobox.combobox) self.dao.id_listino = listin self.dao.id_articolo = self.id_articolo_customcombobox.getId() if posso("PW"): articolo = Articolo().getRecord(id=self.dao.id_articolo) if articleType(articolo) == "father": msg = 'Attenzione! Si sta aggiungengo un Articolo Padre, creare le voci listino anche delle varianti?' if YesNoDialog(msg=msg, transient=self.dialogTopLevel): Environment.pg2log.info("CREO LE ENTRY DELLE VARIANTI DI LISTINO PERCHE' SI STA INSERENDO UN PADRE") for art in articolo.articoliVarianti: daoVariante = ListinoArticolo().select(idListino=listin, idArticolo=art.id) if daoVariante: #daoVariante[0].delete() daoVariante =daoVariante[0] else: daoVariante = ListinoArticolo() if Environment.listinoFissato and self._anagrafica._idListino: Environment.listinoFissato = None daoVariante.id_articolo = art.id daoVariante.id_listino = findIdFromCombobox(self.id_listino_customcombobox.combobox) daoVariante.listino_attuale = True daoVariante.ultimo_costo = float(self.ultimo_costo_entry.get_text()) daoVariante.prezzo_dettaglio = float(self.prezzo_dettaglio_entry.get_text()) daoVariante.prezzo_ingrosso = float(self.prezzo_ingrosso_entry.get_text()) daoVariante.data_listino_articolo = datetime.datetime.today() sconti_dettaglio = [] daoVariante.applicazione_sconti = "scalare" for s in self.sconti_dettaglio_widget.getSconti(): daoSconto = ScontoVenditaDettaglio() daoSconto.valore = s["valore"] daoSconto.tipo_sconto = s["tipo"] sconti_dettaglio.append(daoSconto) sconti_ingrosso = [] daoVariante.applicazione_sconti = "scalare" for s in self.sconti_ingrosso_widget.getSconti(): daoSconto = ScontoVenditaIngrosso() daoSconto.valore = s["valore"] daoSconto.tipo_sconto = s["tipo"] sconti_ingrosso.append(daoSconto) daoVariante.persist(sconti={"dettaglio":sconti_dettaglio,"ingrosso":sconti_ingrosso}) #self.articolo_padre = articolo #creaentryvarianti = True self.dao.listino_attuale = True self.dao.ultimo_costo = float(self.ultimo_costo_entry.get_text()) self.dao.prezzo_dettaglio = float(self.prezzo_dettaglio_entry.get_text()) self.dao.prezzo_ingrosso = float(self.prezzo_ingrosso_entry.get_text()) self.dao.data_listino_articolo = datetime.datetime.today() sconti_dettaglio = [] self.dao.applicazione_sconti = "scalare" for s in self.sconti_dettaglio_widget.getSconti(): daoSconto = ScontoVenditaDettaglio() daoSconto.valore = s["valore"] daoSconto.tipo_sconto = s["tipo"] sconti_dettaglio.append(daoSconto) sconti_ingrosso = [] self.dao.applicazione_sconti = "scalare" for s in self.sconti_ingrosso_widget.getSconti(): daoSconto = ScontoVenditaIngrosso() daoSconto.valore = s["valore"] daoSconto.tipo_sconto = s["tipo"] sconti_ingrosso.append(daoSconto) #TODO :riportarlo alle property , risulta molto più pulito self.dao.persist(sconti={"dettaglio":sconti_dettaglio,"ingrosso":sconti_ingrosso})