Exemplo n.º 1
0
def articolo_table(soup=None, op=None, dao=None, row=None, all=False):
    d = None
    if soup and not all:
        record = soup.articolo.get(loads(row.object))
    else:
        record = row
    if op == "DELETE":
        if all:
            d = Articolo().getRecord(id=row.id)
        else:
            d = Articolo().getRecord(id=loads(row.object))
        if d:
            d.delete()
        return True
    elif op == "INSERT":
        if all:
            d = Articolo()
            d.id = record.id
        else:
            d = Articolo().getRecord(id=loads(row.object))
    elif op == "UPDATE":
        if all:
            d = Articolo().getRecord(id=row.id)
        else:
            d = Articolo().getRecord(id=loads(row.object))
        if not d:
            d = Articolo()
            d.id = record.id

    d.codice = record.codice
    d.denominazione = record.denominazione
    d.id_aliquota_iva = record.id_aliquota_iva
    d.id_famiglia_articolo = record.id_famiglia_articolo
    d.id_categoria_articolo = record.id_categoria_articolo
    d.id_immagine = record.id_immagine
    d.id_unita_base = record.id_unita_base
    d.id_stato_articolo = record.id_stato_articolo
    d.produttore = record.produttore
    d.unita_dimensioni = record.unita_dimensioni
    d.lunghezza = record.lunghezza
    d.larghezza = record.larghezza
    d.altezza = record.altezza
    d.unita_volume = record.unita_volume
    d.volume = record.volume
    d.unita_peso = record.unita_peso
    d.peso_lordo = record.peso_lordo
    d.id_imballaggio = record.id_imballaggio
    d.peso_imballaggio = record.peso_imballaggio
    d.stampa_etichetta = record.stampa_etichetta
    d.codice_etichetta = record.codice_etichetta
    d.descrizione_etichetta = record.descrizione_etichetta
    d.stampa_listino = record.stampa_listino
    d.descrizione_listino = record.descrizione_listino
    d.aggiornamento_listino_auto = record.aggiornamento_listino_auto
    d.timestamp_variazione = record.timestamp_variazione
    d.note = record.note
    d.contenuto = record.contenuto
    d.cancellato = record.cancellato
    d.sospeso = record.sospeso
    d.quantita_minima = record.quantita_minima
    a = d.persist()
    if not a:
        g = Articolo().select(codice=record.codice)
        if g:
            g = g[0]
            g.codice = g.codice + "BIS"
            b = g.persist()
            if not b:
                print "PROPRIO NON SO COSA FARE HO ANCHE  CAMBIATO IL CODICE"
            articolo_table(soup=soup, op=op, dao=dao, row=row, all=all)
    return True
Exemplo n.º 2
0
    def on_ok_button_clicked(self, button):
        for dat in self.datas:
            codici = None
            articoloPadre = dat[0]
            if dat[1].__module__ =="promogest.modules.PromoWear.dao.Taglia":
                daoTaglia = dat[1]
                daoColore = dat[2]
            else:
                daoColore = dat[1]
                daoTaglia = dat[2]
            codiceabarre = dat[3]
            articoloFiglio = dat[4]
            if codiceabarre:
                if articoloFiglio:
                #verifico la correttezza del codice a barre della variante già esistente
                # in precedenza
                    if codiceabarre != articoloFiglio.codice_a_barre:
                        codici = CodiceABarreArticolo().select(codiceEM=codiceabarre,
                                                                offset=None,
                                                                batchSize=None)
                else:
                    codici = CodiceABarreArticolo().select(codiceEM=codiceabarre,
                                                                offset=None,
                                                                batchSize=None)
                if codici:
                        msg = """Attenzione !
Il codice a barre  %s è gia' presente nel Database, ricontrolla!""" % codiceabarre
                        dialog = gtk.MessageDialog(self.getTopLevel(), GTK_DIALOG_MODAL | GTK_DIALOG_DESTROY_WITH_PARENT,
                                                       GTK_DIALOG_MESSAGE_QUESTION, GTK_BUTTON_OK, msg)
                        response = dialog.run()
                        dialog.destroy()
                        return
            if articoloFiglio:
                #aggiorno articoloesistenze può essere cambiato solo il codice a barre
                if codiceabarre and codiceabarre != articoloFiglio.codice_a_barre:
                    codici = CodiceABarreArticolo().select(codiceEM=codiceabarre,
                                                                    offset=None,
                                                                    batchSize=None)
                    if not codici:
                        cba = CodiceABarreArticolo()
                        cba.codice = codiceabarre
                        cba.id_articolo = articoloFiglio.id
                        cba.primario = True
                        cba.persist()
            else:
                #inserisco la nuova variazione articolo ed il relativo codice a barre
                articolo = Articolo()
                articolo.codice = articoloPadre.codice + articoloPadre.denominazione_gruppo_taglia[0:3] + daoTaglia.denominazione_breve + daoColore.denominazione_breve
                articolo.denominazione = articoloPadre.denominazione + ' ' + daoTaglia.denominazione_breve + ' ' + daoColore.denominazione
                articolo.id_aliquota_iva = articoloPadre.id_aliquota_iva
                articolo.id_famiglia_articolo = articoloPadre.id_famiglia_articolo
                articolo.id_categoria_articolo = articoloPadre.id_categoria_articolo
                articolo.id_unita_base = articoloPadre.id_unita_base
                articolo.id_stato_articolo = articoloPadre.id_stato_articolo
                articolo.id_imballaggio = articoloPadre.id_imballaggio
                articolo.produttore = articoloPadre.produttore
                articolo.unita_dimensioni = articoloPadre.unita_dimensioni
                articolo.unita_volume = articoloPadre.unita_volume
                articolo.unita_peso = articoloPadre.unita_peso
                articolo.lunghezza = articoloPadre.lunghezza
                articolo.larghezza = articoloPadre.larghezza
                articolo.altezza = articoloPadre.altezza
                articolo.volume = articoloPadre.volume
                articolo.peso_lordo = articoloPadre.peso_lordo
                articolo.peso_imballaggio = articoloPadre.peso_imballaggio
                articolo.stampa_etichetta = articoloPadre.stampa_etichetta
                articolo.codice_etichetta = articoloPadre.codice_etichetta
                articolo.descrizione_etichetta = articoloPadre.descrizione_etichetta
                articolo.stampa_listino = articoloPadre.stampa_listino
                articolo.descrizione_listino = articoloPadre.descrizione_listino
                articolo.note = articoloPadre.note
                articolo.sospeso = articoloPadre.sospeso
                articolo.cancellato = articoloPadre.cancellato
                articolo.aggiornamento_listino_auto = articoloPadre.aggiornamento_listino_auto
                articolo.persist()

                articoloTagliaColore = ArticoloTagliaColore()
                articoloTagliaColore.id_articolo = articolo.id
                articoloTagliaColore.id_articolo_padre = articoloPadre.id
                articoloTagliaColore.id_gruppo_taglia = articoloPadre.id_gruppo_taglia
                articoloTagliaColore.id_taglia = daoTaglia.id
                articoloTagliaColore.id_colore = daoColore.id
                if articoloPadre.id_anno == "":
                    articoloTagliaColore.id_anno = None
                else:
                    articoloTagliaColore.id_anno = articoloPadre.id_anno
                if articoloPadre.id_stagione == "":
                    articoloTagliaColore.id_stagione = None
                else:
                    articoloTagliaColore.id_stagione = articoloPadre.id_stagione
                if articoloPadre.id_genere == "":
                    articoloTagliaColore.id_genere = None
                else:
                    articoloTagliaColore.id_genere = articoloPadre.id_genere
                articoloTagliaColore.persist()
                if codiceabarre:
                    codici = CodiceABarreArticolo().select(codiceEM=codiceabarre,
                                                                    offset=None,
                                                                    batchSize=None)
                    if not codici:
                        cba = CodiceABarreArticolo()
                        cba.codice = codiceabarre
                        cba.id_articolo = articolo.id
                        cba.primario = True
                        cba.persist()
        self.destroy()