def _refresh(self): if self.dao.id_taglia is not None: self.taglia = Taglia().getRecord(id= self.dao.id_taglia) else: self.taglia = Taglia() self.denominazione_entry.set_text(self.taglia.denominazione or '') self.denominazione_breve_entry.set_text(self.taglia.denominazione_breve or '') fillComboboxGruppiTaglia(self.gruppo_taglia_combobox) findComboboxRowFromId(self.gruppo_taglia_combobox, self.dao.id_gruppo_taglia) self.ordine_spinbutton.set_value(self.dao.ordine or 1)
def addGruppiTaglia(self): for riga in self.listaRighe: if "Gruppo Taglia" in riga and \ riga["Gruppo Taglia"] and \ "Taglia" in riga and\ riga["Taglia"] == "": gruppo_taglia = GruppoTaglia().select(denominazione = riga["Gruppo Taglia"]) if not gruppo_taglia: a = GruppoTaglia() a.denominazione = riga["Gruppo Taglia"] a.denominazione_breve = riga["Gruppo Taglia"] a.persist() elif "Gruppo Taglia" in riga and \ riga["Gruppo Taglia"] and\ "Taglia" in riga and\ riga["Taglia"]: _taglia = Taglia().select(denominazione = riga["Taglia"]) if not _taglia: t = Taglia() t.denominazione = riga["Taglia"] t.denominazione_breve = riga["Taglia"] t.persist() tid = Taglia().select(denominazione = riga["Taglia"])[0].id gtids = GruppoTaglia().select(denominazione = riga["Gruppo Taglia"]) if gtids: gtid = gtids[0].id if tid and gtid: gtt = GruppoTagliaTaglia().select(idGruppoTaglia= gtid, idTaglia = tid) if not gtt: numero_taglie = GruppoTagliaTaglia().count(idGruppoTaglia= gtid) gtt = GruppoTagliaTaglia() gtt.id_gruppo_taglia = gtid gtt.id_taglia = tid gtt.ordine = (numero_taglie or 1) +1 gtt.persist() if "Modello" in riga and riga["Modello"]: mo = Modello().select(denominazione = riga["Modello"]) if not mo: mm = Modello() mm.denominazione = riga["Modello"] mm.denominazione_breve = riga["Modello"] mm.persist() if "Colore" in riga and riga["Colore"]: co = Colore().select(denominazione = riga["Colore"]) if not co: c = Colore() c.denominazione = riga["Colore"] c.denominazione_breve = riga["Colore"] c.persist()
class AnagraficaTaglieEdit(AnagraficaEdit): """ Modifica un record dell'anagrafica delle famiglie articoli """ def __init__(self, anagrafica): AnagraficaEdit.__init__(self, anagrafica, 'Dati taglia', root='anagrafica_taglie_detail_table', path="PromoWear/gui/_anagrafica_taglie_elements.glade", isModule=True) self._widgetFirstFocus = self.denominazione_entry def draw(self, cplx=False): """popola combobox gruppi taglia""" fillComboboxGruppiTaglia(self.gruppo_taglia_combobox) def setDao(self, dao): self.dao = dao if dao is None: self.dao = GruppoTagliaTaglia() self.taglia = None self._refresh() return self.dao def _refresh(self): if self.dao.id_taglia is not None: self.taglia = Taglia().getRecord(id= self.dao.id_taglia) else: self.taglia = Taglia() self.denominazione_entry.set_text(self.taglia.denominazione or '') self.denominazione_breve_entry.set_text(self.taglia.denominazione_breve or '') fillComboboxGruppiTaglia(self.gruppo_taglia_combobox) findComboboxRowFromId(self.gruppo_taglia_combobox, self.dao.id_gruppo_taglia) self.ordine_spinbutton.set_value(self.dao.ordine or 1) def saveDao(self, tipo=None): if (self.denominazione_entry.get_text() == ''): obligatoryField(self.dialogTopLevel, self.denominazione_entry) id_gruppo_taglia = findIdFromCombobox(self.gruppo_taglia_combobox) if id_gruppo_taglia is None: obligatoryField(self.dialogTopLevel, self.gruppo_taglia_combobox) # if id_gruppo_taglia == 1: # obligatoryField(self.dialogTopLevel, self.gruppo_taglia_combobox, # 'Impossibile inserire nel gruppo "taglia unica" !') if self.dao.id_taglia is not None: gts = GruppoTagliaTaglia().select(idTaglia=self.dao.id_taglia, batchSize=None) if len(gts) > 1: msg = ('La taglia e\' collegata a diversi gruppi taglia:\n' + 'la modifica sara\' visibile su tutti i gruppi taglia ai quali la taglia e\' legata.\n\nContinuare ?') if YesNoDialog(msg=msg, transient=self.dialogTopLevel): raise Exception, 'Operation aborted: Errore in taglie' # Controllo se esiste gia' la taglia self.taglia.denominazione = self.denominazione_entry.get_text() self.taglia.denominazione_breve = self.denominazione_breve_entry.get_text() tag = Taglia().select(denominazioneBreve = self.taglia.denominazione_breve) if not tag: self.taglia.persist() tagliaid = self.taglia.id else: tagliaid = tag[0].id self.dao.id_gruppo_taglia = findIdFromCombobox(self.gruppo_taglia_combobox) self.dao.id_taglia = tagliaid self.dao.ordine = self.ordine_spinbutton.get_value_as_int() self.dao.persist()