def setDao(self, dao): if dao is None: # Crea un nuovo Dao vuoto self.dao = Stoccaggio() self.newDao = True else: # Ricrea il Dao con una connessione al DBMS SQL self.dao = Stoccaggio().getRecord(id=dao.id) self.newDao = False self._refresh() return self.dao
def persist(self,sm=False): params["session"].add(self) #params["session"].commit() #creazione stoccaggio se non gia' presente stoccato = (Stoccaggio().count(idArticolo=self.id_articolo, idMagazzino=self.id_magazzino) > 0) if not stoccato: daoStoccaggio = Stoccaggio() daoStoccaggio.id_articolo = self.id_articolo daoStoccaggio.id_magazzino = self.id_magazzino params["session"].add(daoStoccaggio) if (hasattr(conf, "GestioneNoleggio") and \ getattr(conf.GestioneNoleggio,'mod_enable')=="yes") or\ ("GestioneNoleggio" in modulesList): from promogest.modules.GestioneNoleggio.dao.NoleggioRiga import NoleggioRiga nr = NoleggioRiga() nr.coeficente = self.coeficente_noleggio nr.prezzo_acquisto = self.prezzo_acquisto_noleggio if str(self.isrent).upper().strip() == "True".upper().strip(): nr.isrent = True else: nr.isrent = False nr.id_riga = self.id nr.persist() #self.scontiRigaMovimentoDel(id=self.id) if self.scontiRigheMovimento: # if self.SCM: if not self.id: params["session"].commit() for value in self.scontiRigheMovimento: value.id_riga_movimento = self.id #value.persist() params["session"].add(value) if sm: if self.__misuraPezzo: self.__misuraPezzo[0].id_riga = self.id self.__misuraPezzo[0].persist() self.__misuraPezzo = []
def stoccaggio_table(soup=None, op=None,dao=None, row=None, all=False): d = None if soup and not all: record = soup.stoccaggio.get(loads(row.object)) else: record = row if op =="DELETE": if all: d = Stoccaggio().getRecord(id=row.id) else: d = Stoccaggio().getRecord(id=loads(row.object)) if d: d.delete() return True elif op == "INSERT": if all: d = Stoccaggio() d.id = record.id else: d = Stoccaggio().getRecord(id=loads(row.object)) elif op == "UPDATE": if all: d = Stoccaggio().getRecord(id=row.id) else: d = Stoccaggio().getRecord(id=loads(row.object)) d.scorta_minima= record.scorta_minima d.livello_riordino = record.livello_riordino d.data_fine_scorte =record.data_fine_scorte d.data_prossimo_ordine = record.data_prossimo_ordine d.id_articolo = record.id_articolo d.id_magazzino = record.id_magazzino d.persist() return True
class AnagraficaStoccaggiEdit(AnagraficaEdit): """ Modifica un record dell'anagrafica dei stoccaggi """ def __init__(self, anagrafica): AnagraficaEdit.__init__( self, anagrafica, "Dati stoccaggi", root="anagrafica_stoccaggi_detail_table", path="_anagrafica_stoccaggi_articoli_elements.glade", ) self._widgetFirstFocus = self.id_magazzino_customcombobox if not posso("PW"): self.promowear_frame.destroy() def draw(self, cplx=False): self.id_articolo_customcombobox.setSingleValue() fillComboboxMagazzini(self.id_magazzino_customcombobox.combobox) self.id_magazzino_customcombobox.connect("clicked", on_id_magazzino_customcombobox_clicked) if self._anagrafica._articoloFissato: self.id_articolo_customcombobox.setId(self._anagrafica._idArticolo) self.id_articolo_customcombobox.set_sensitive(False) if self._anagrafica._magazzinoFissato: findComboboxRowFromId(self.id_magazzino_customcombobox.combobox, self._anagrafica._idMagazzino) self.id_magazzino_customcombobox.set_sensitive(False) def setDao(self, dao): if dao is None: # Crea un nuovo Dao vuoto self.dao = Stoccaggio() self.newDao = True else: # Ricrea il Dao con una connessione al DBMS SQL self.dao = Stoccaggio().getRecord(id=dao.id) self.newDao = False self._refresh() return self.dao def _refresh(self): self.id_articolo_customcombobox.refresh(clear=True, filter=False) self.id_articolo_customcombobox.set_sensitive(True) if self.dao.id_articolo is None: if self._anagrafica._articoloFissato: self.dao.id_articolo = self._anagrafica._idArticolo self.id_articolo_customcombobox.set_sensitive(False) else: self.id_articolo_customcombobox.set_sensitive(False) self.id_articolo_customcombobox.setId(self.dao.id_articolo) self.id_magazzino_customcombobox.combobox.set_active(-1) self.id_magazzino_customcombobox.set_sensitive(True) if self.dao.id_magazzino is None: if self._anagrafica._magazzinoFissato: self.dao.id_magazzino = self._anagrafica._idMagazzino self.id_magazzino_customcombobox.set_sensitive(False) else: self.id_magazzino_customcombobox.set_sensitive(False) findComboboxRowFromId(self.id_magazzino_customcombobox.combobox, self.dao.id_magazzino) self.scorta_minima_entry.set_text(str(self.dao.scorta_minima or 0)) self.livello_riordino_entry.set_text(str(self.dao.livello_riordino or 0)) self.data_fine_scorte_entry.set_text(dateToString(self.dao.data_fine_scorte)) self.data_prossimo_ordine_entry.set_text(dateToString(self.dao.data_prossimo_ordine)) if posso("PW"): self.colore_label.set_text(self.dao.denominazione_colore or "") self.stagione_label.set_text(self.dao.stagione or "") self.genere_label.set_text(self.dao.genere or "") try: tggruppotaglia = self.dao.denominazione_gruppo_taglia + " " + self.dao.denominazione_taglia except: tggruppotaglia = "" self.taglia_label.set_markup(tggruppotaglia) def saveDao(self, tipo=None): if findIdFromCombobox(self.id_magazzino_customcombobox.combobox) is None: obligatoryField(self.dialogTopLevel, self.id_magazzino_customcombobox.combobox) idMagazzino = findIdFromCombobox(self.id_magazzino_customcombobox.combobox) idArticolo = self.id_articolo_customcombobox.getId() if not idArticolo: obligatoryField(self.dialogTopLevel, self.id_articolo_customcombobox) elif idArticolo: a = Stoccaggio().select(idArticolo=idArticolo, idMagazzino=idMagazzino) if a: a[0].scorta_minima = int(self.scorta_minima_entry.get_text() or 0) a[0].livello_riordino = int(self.livello_riordino_entry.get_text() or 0) a[0].data_fine_scorte = stringToDate(self.data_fine_scorte_entry.get_text()) a[0].data_prossimo_ordine = stringToDate(self.data_prossimo_ordine_entry.get_text()) a[0].persist() return self.dao.id_magazzino = idMagazzino self.dao.id_articolo = idArticolo self.dao.scorta_minima = int(self.scorta_minima_entry.get_text() or 0) self.dao.livello_riordino = int(self.livello_riordino_entry.get_text() or 0) self.dao.data_fine_scorte = stringToDate(self.data_fine_scorte_entry.get_text()) self.dao.data_prossimo_ordine = stringToDate(self.data_prossimo_ordine_entry.get_text()) self.dao.persist()