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
Exemplo n.º 2
0
    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 = []
Exemplo n.º 3
0
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()