def build_news_frame(self):
     pageData = {
                 "file": "home_pg.html",
                 "tipopg" :Environment.modulesList
     }
     self.html_news = renderTemplate(pageData)
     renderHTML(self.htmlnewswidget, self.html_news)
 def renderHTML(self, pageData=None, forprint=False):
     pageData["forprint"] = forprint
     self.pageData = pageData
     self.html = renderTemplate(self.pageData)
     if forprint:
         return self.html
     else:
         renderHTML(self.detail, self.html)
 def _refresh(self):
     """ show the html page in the custom widget"""
     pageData = {}
     eventipreves = []
     eventiprevesAT = []
     calendarioDatetime = []
     html = "<html><body></body></html>"
     if not self._gtkHtml:
         self._gtkHtml = self._anagrafica.getHtmlWidget()
     if self.dao and self.dao.__class__.__name__ == "Articolo":
         if posso("GN"):
             from promogest.dao.TestataDocumento import TestataDocumento
             from promogest.modules.GestioneNoleggio.dao.\
                 TestataGestioneNoleggio import TestataGestioneNoleggio
             preves = TestataDocumento().select(daData=stringToDate("1/1/"
                                     + Environment.workingYear),
                             aData=stringToDate("31/12/"
                                     + Environment.workingYear),
                                                 batchSize=None,
                             idArticolo=self.dao.id)
             for p in preves:
                 eventipreves.append((p.data_documento.toordinal(),
                                         {"id": p.id,
                                         "operazione": p.operazione,
                                         "short": p.ragione_sociale_cliente,
                                         "tipo": "data_documento",
                                         "colore": "#6495ED"},
                                         p.data_documento.day))
                 arcTemp = TestataGestioneNoleggio().select(
                                     idTestataDocumento=p.id,
                                     batchSize=None)
                 for a in arcTemp:
                     startDate = a.data_inizio_noleggio
                     stopDate = a.data_fine_noleggio
                     dateList = date_range(startDate, stopDate)
                     for d in dateList:
                         eventiprevesAT.append((d.toordinal(), {
                                         "id": p.id,
                                         "operazione": p.operazione,
                                         "short": p.ragione_sociale_cliente,
                                         "tipo": "data_documento",
                                         "colore": "#AFEEEE"},
                                         d.day))
             calendarioDatetime = Calendar().yeardatescalendar(
                                             int(Environment.workingYear))
     self.dao = self.variations()
     pageData = {
             "file": self.defaultFileName + ".html",
             "dao": self.dao,
             "tipopg": Environment.modulesList,
             "objects": self.dao,
             "eventipreves": eventipreves,
             "eventiprevesAT": eventiprevesAT,
             "calendarioDatetime": calendarioDatetime,
             }
     html = renderTemplate(pageData)
     self.hh = html
     renderHTML(self._gtkHtml, html)
    def refresh(self):
        """ show the html page in the custom widget"""
        self.bodyWidget.orderBy = self.orderBy
        self.bodyWidget.veter = self._veter
        #self.pbar_dialog.run()
        #self.pbar_dialog.destroy()
        daos = self.bodyWidget.runFilter(offset=None,
                                        batchSize=None,
                                        filterClosure=self._filterClosure,
                                        )
        #pbar(self.pbar_report,parziale=daos.index(ragsoc), totale=len(nomi), text=ragsoc, noeta=False)
        #pbar(self.pbar_report,parziale=1, totale=4)
        if hasattr(self._anagrafica,"funzione_ordinamento") and self._anagrafica.funzione_ordinamento == "cliforn":
            if self._anagrafica.aa < 0:
                daos.sort(key=lambda x: x.intestatario.strip().upper())
            else:
                daos.sort(key=lambda x: x.intestatario.strip().upper(),reverse=True)
        elif hasattr(self._anagrafica,"funzione_ordinamento") and self._anagrafica.funzione_ordinamento == "impo":
            for t in daos:
                try:
                    t._totaleImponibileScontato
                except:
                    t.totali
            if self._anagrafica.aa < 0:
                daos.sort(key=lambda x: x._totaleImponibileScontato)
            else:
                daos.sort(key=lambda x: x._totaleImponibileScontato,reverse=True)
        self.numRecords = self.bodyWidget.countFilterResults(
                                        self._filterCountClosure,
                                        )
#        self._refreshPageCount()
        #pbar(self.pbar_report,parziale=2, totale=4)
        pageData = {}
        self.html_code = "<html><body></body></html>"
        if self._veter:
            daos = daos[:]
            da = []
            for d in daos:
                c = []
                for a in d.righe:
                    if "TRIPLICE" in a.rig.arti.denominazione_famiglia:
                        c.append(a)
                if len(c)>0:
                    da.append(d)
            daos = da
        #pbar(self.pbar_report,parziale=2.5, totale=4)
        if daos:
            pageData = {
                    "file": self._previewTemplate[1],
                    #"dao":daos,
                    "objects": daos
                    }
            self.html_code = renderTemplate(pageData)
        #pbar(self.pbar_report,parziale=3.75, totale=4)
        #pbar(self.pbar_report,stop=True)
        #self.pbar_dialog.hide()
        renderHTML(self.print_on_screen_html, self.html_code)
示例#5
0
 def _refreshHtml(self, data= None):
     """ show the html page in the custom widget"""
     html = '<html></html>'
     if data:
         pageData= {
             "file":"creazione_taglie_colori.html",
             "datas": data
             }
         html = renderTemplate(pageData)
     renderHTML(self.html, html)
示例#6
0
 def refreshHtml(self, dao=None):
     pageData = {}
     self.html = '<html></html>'
     if self.dao:
         pageData = {
                 "file": "scontrino.html",
                 "dao" :self.dao,
                 "tutto":True,
                 }
         self.html = renderTemplate(pageData)
     renderHTML(self.detail,self.html)
    def on_mostra_storico_button_clicked(self, widget):
        if self.ana.dao.id:

            my_page_data = {
                'file': 'storico_documenti.html',
                'padre': get_padre(self.ana.dao.id),
                'figli': get_figli(self.ana.dao.id),
                'dao': self.ana.dao
            }

            html = renderTemplate(pageData=my_page_data)
            self.web_view.load_html_string(html, "file:///"+sys.path[0]+os.sep)
        else:
            messageWarning("E' necessario salvare il documento prima di mostrarne lo storico.")
示例#8
0
文件: KitMaster.py 项目: fmarella/pg3
 def on_print_kit_clicked(self, button):
     from  xhtml2pdf import pisa
     pageData = {"file": "articolo_kit.html",
                 "dao" : self._articolo_master,
                 "sub_kit" : self.print_sub_kit_checkbutton.get_active(),
                 "articoli_kit" : self.articoli_componenti_listore,
                 }
     self.htmll = renderTemplate(pageData)
     f = str(self.htmll)
     filename =Environment.tempDir + "articolo_kit_"+str(self._articolo_master.id)+".pdf"
     g = file(filename, "wb")
     pdf = pisa.CreatePDF(f,g)
     g .close()
     anag = PrintDialogHandler(self,"Articolo kit", tempFile=filename)
     anagWindow = anag.getTopLevel()
     returnWindow = self.getTopLevel().get_toplevel()
     anagWindow.set_transient_for(returnWindow)
     anagWindow.show_all()
示例#9
0
    def on_genera_report_button_clicked(self, button):
        self.generatore = PGRiBa(self, self.__creditore)
        self.generatore.bind(self.progressbar1)
        data_inizio = stringToDate(self.data_inizio_entry.get_text())
        data_fine = stringToDate(self.data_fine_entry.get_text())

        pageData = {
            'file': 'riba_export.html',
            'creditore': self.__creditore,
            'data_inizio': data_inizio,
            'data_fine': data_fine,
        }
        res = 0
        try:
            res = self.generatore.analizza(data_inizio, data_fine, pageData=pageData)
        except RuntimeError as e:
            messageError(msg=str(e))
        if res != 0:
            self.salva_file_button.set_sensitive(True)
            renderHTML(self.view, renderTemplate(pageData))
示例#10
0
    def on_stampa_infopeso_button_clicked(self, button):
        from  xhtml2pdf import pisa
        # provo a prendere i dati per la stampa dalla treeview così
        #ho anche le differenze di peso
        model = self.righe_pesata_treeview.get_model()

        pageData = {"file": "infopeso.html",
                    "dao":self.dao_cliente,
                    #"infopeso_righe":self.dao_testata_infopeso.righeinfopeso
                    "infopeso_righe":model
                    }
        self.htmll = renderTemplate(pageData)


        f = str(self.htmll)
        filename =Environment.tempDir + "infopeso.pdf"
        g = file(filename, "wb")
        pdf = pisa.CreatePDF(f,g)
        g .close()
        anag = PrintDialogHandler(self,"Infopeso", tempFile=Environment.tempDir + "infopeso.pdf")
        anagWindow = anag.getTopLevel()
        returnWindow = self.getTopLevel().get_toplevel()
        anagWindow.set_transient_for(returnWindow)
        anagWindow.show_all()
    def refreshHtml(self, dao=None):
        pageData = {}
        #totali = self.calcolaTotale(self._scontrini)
        self.html = '<html></html>'
        dataeora = datetime.datetime.now()
        dizio = {}
        for s in self._scontrini:
            tsc = TestataScontrinoCliente().select(id_testata_scontrino = s.id, batchSize=None)
            if tsc:
                cli_id = tsc[0].id_cliente
                cli = Cliente().getRecord(id=cli_id)
                if cli in dizio:
                    trini = dizio[cli]
                    trini.append(s)
                    dizio[cli] = trini
                else:
                    dizio[cli] = [s]

        pageData = {
                "file": "acquisto_medio_cliente.html",
                "dizio":dizio
                }
        self.html = renderTemplate(pageData)
        renderHTML(self.detail,self.html)
    def create_planning_frame(self,d=1,m=1,y=0, currentData=None,view=None):
        promeDict= {}
        prevesDict = {}
        prevesDictAT = {}
        ordesDict = {}
        ordesDictAT = {}
        if d==1 and m==1 and y ==0 and not currentData:
            currentData = datetime.date.today()
            m = currentData.month
            y = currentData.year
            d = currentData.day
        if currentData:
            m = currentData.month
            y = currentData.year
            d = currentData.day
        Environment.currentData = currentData
        if view:
            Environment.view = view
        else:
            try:
                view = Environment.view
            except:
                view = "month"
        weekDay = currentData.weekday()
        workinMonth = Environment.workinMonth= m
        workinYearc = Environment.workinYearc= y
        self.anno_calendar_spinbutton.set_value(int(workinYearc))
        workinDay = Environment.workinDay = d
        if os.name=="nt":
            dayName2 = calendar.day_name
            dayName = [x.decode("iso8859-1") for x in dayName2]
        else:
            dayName2 = calendar.day_name
            dayName = [x.decode("iso8859-1") for x in dayName2]
        monthName = calendar.month_name

        cale = calendar.Calendar().monthdatescalendar(workinYearc,workinMonth)
        first_day = relativedelta(days=-(workinDay-1))
        last_day = relativedelta(days=(last_day_of_month(workinYearc, workinMonth)-workinDay))
        currentLastDay = currentData+last_day
        currentFirstDay = currentData+first_day

        eventipromes_ins = []
        eventipromes_scad = []
        if self.promemoria_ins_check.get_active():
            promes = Promemoria().select(da_data_inserimento= currentFirstDay,
                                a_data_scadenza=currentLastDay, batchSize=None)
            for p in promes:
                eventipromes_ins.append((p.data_inserimento.toordinal(),{"id":p.id,
                                                    "short":p.oggetto,
                                                    "tipo":"data_inserimento",
                                                    "colore":"#F2859A"},p.data_inserimento.day))
        if self.promemoria_scad_check.get_active():
            promes = Promemoria().select(da_data_inserimento= currentFirstDay,
                                a_data_scadenza=currentLastDay, batchSize=None)
            for p in promes:
                eventipromes_scad.append((p.data_scadenza.toordinal(),{"id":p.id,
                                                    "short":p.oggetto,
                                                    "tipo":"data_scadenza",
                                                    "colore":"#148F14"},p.data_scadenza.day))
        eventipreves = []
        eventiprevesAT = []
        if self.preventivi_check.get_active():
            preves = TestataDocumento().select(daData= currentFirstDay,
                                aData=currentLastDay, batchSize=None,
                                idOperazione="Preventivo")
            for p in preves:
                eventipreves.append((p.data_documento.toordinal(),{"id":p.id,
                                                    "short":p.ragione_sociale_cliente,
                                                    "tipo":"data_documento",
                                                    "colore":"#6495ED"},p.data_documento.day))
                if posso("GN"):
                    arcTemp = TestataGestioneNoleggio().select(idTestataDocumento=p.id, batchSize=None)
                    for a in arcTemp:
                        startDate =a.data_inizio_noleggio
                        stopDate =a.data_fine_noleggio
                        dateList= date_range(startDate,stopDate)
                        for d in dateList:
                            eventiprevesAT.append((d.toordinal(),{"id":p.id,
                                            "short":p.ragione_sociale_cliente,
                                            "tipo":"data_documento",
                                            "colore":"#AFEEEE"},d.day))
        eventiordes = []
        eventiordesAT = []
        if self.ordini_check.get_active():
            ordes = TestataDocumento().select(daData= currentFirstDay,
                                aData=currentLastDay, batchSize=None,
                                idOperazione="Ordine da cliente")

            for p in ordes:
                eventiordes.append((p.data_documento.toordinal(),{
                                "id":p.id,
                                "short":p.ragione_sociale_cliente,
                                "tipo":"data_documento",
                                "colore":"#FFA500"},p.data_documento.day))
                if posso("GN"):
                    arcTemp = TestataGestioneNoleggio().select(idTestataDocumento=p.id, batchSize=None)
                    for a in arcTemp:
                        startDate =a.data_inizio_noleggio
                        stopDate =a.data_fine_noleggio
                        dateList= date_range(startDate,stopDate)
                        for d in dateList:
                            eventiordesAT.append((d.toordinal(),{"id":p.id,
                                            "short":p.ragione_sociale_cliente,
                                            "tipo":"data_documento",
                                            "colore":"red"},d.day))
        onlyWeek = self.onlyWeek(cale, workinDay, workinMonth, workinYearc,dayName)

        pageData = {"file": "planning.html",
                    "cale":cale,
                    "onlyWeek":onlyWeek,
                    "eventipromes_ins": eventipromes_ins,
                    "eventipromes_scad": eventipromes_scad,
                    "eventipreves":eventipreves,
                    "eventiprevesAT": eventiprevesAT,
                    "eventiordes":eventiordes,
                    "eventiordesAT": eventiordesAT,
                    "dayName" :dayName,
                    "monthName": monthName,
                    "workinDay":workinDay,
                    "weekDay":weekDay,
                    "workinMonth":workinMonth,
                    "workinYearc":workinYearc,
                    "view":view}
        self.hhttmmll = renderTemplate(pageData)
        renderHTML(self.htmlPlanningWidget,self.hhttmmll)
示例#13
0
 def renderHTML(self, pageData=None):
     self.pageData = pageData
     self.html = renderTemplate(self.pageData)
     renderHTML(self.detail, self.html)
示例#14
0
    def refreshHtml(self, dao=None):
        pageData = {}
        parziali = []
        totali = self.calcolaTotale(self._scontrini)
        catelist =[]
        self.html = '<html></html>'
        dataeora = datetime.datetime.now()
        ragione_sociale = Environment.azienda
        chiusure = ChiusuraFiscale().select( dataChiusura = dataeora,
                                                offset = None,
                                                batchSize = None)
        if chiusure:
            aperto = "NO"
        else:
            aperto ="SI"
        if self._scontrini:
            cateDict = {}
            for s in self._scontrini:
                for una in s.righe:
                    articolo = Articolo().getRecord(id=una.id_articolo)
                    if articolo.id_categoria_articolo in cateDict:
                        righe = cateDict[articolo.id_categoria_articolo]
                        righe.append(una)
                        cateDict[articolo.id_categoria_articolo] = righe
                    else:
                        righe = []
                        righe.append(una)
                        cateDict[articolo.id_categoria_articolo] = righe

            partz = self.aggiungiTotaliXRiga(cateDict)
            if hasattr(Environment.conf, "VenditaDettaglio"):
                magazzino = Environment.conf.VenditaDettaglio.magazzino
            else:
                magdao = setconf("VenditaDettaglio", "magazzino_vendita")
                if magdao:
                    magazzino = Magazzino().getRecord(id=magdao).denominazione
            castellettoIva = {}
            for s in self._scontrini:
                for r in s.righe:
                    a = leggiArticolo(r.id_articolo)
                    ali = a["percentualeAliquotaIva"]
                    prezzo_scontato = r.prezzo_scontato * r.quantita
                    imponibile = float(prezzo_scontato)/(1+float(ali)/100)
                    iva = float(prezzo_scontato) - imponibile
                    if ali not in castellettoIva.keys():
                        castellettoIva[ali] = {'percentuale': ali,
                                               'imponibile': imponibile,
                                                'imposta': iva,
                                                'totale': prezzo_scontato
                                                }
                    else:
                        castellettoIva[ali]['percentuale'] = ali
                        castellettoIva[ali]['imponibile'] += imponibile
                        castellettoIva[ali]['imposta'] += iva
                        castellettoIva[ali]['totale'] += prezzo_scontato
            pageData = {
                    "file": "distinta_giornaliera.html",
                    "parziali": partz,
                    "totali": totali,
                    "dataeora": dataeora,
                    "ragione_sociale": ragione_sociale,
                    "aperto": aperto,
                    "magazzino":magazzino,
                    "castellettoIva": castellettoIva
                    }
            self.html = renderTemplate(pageData)
        renderHTML(self.detail,self.html)
    def refresh(self):
        """ show the html page in the custom widget"""
        self.bodyWidget.orderBy = self.orderBy
        self.bodyWidget.tipo = self._tipo
        # self.pbar_dialog.run()
        # self.pbar_dialog.destroy()
        daos = self.bodyWidget.runFilter(offset=None,
                                         batchSize=None,
                                         filterClosure=self._filterClosure,
                                         )
        azienda = Azienda().getRecord(id=Environment.azienda)
        # pbar(self.pbar_report,parziale=daos.index(ragsoc), totale=len(nomi), text=ragsoc, noeta=False)
        #pbar(self.pbar_report,parziale=1, totale=4)
        if hasattr(self._anagrafica,"funzione_ordinamento") and self._anagrafica.funzione_ordinamento == "cliforn":
            if self._anagrafica.aa < 0:
                daos.sort(key=lambda x: x.intestatario.strip().upper())
            else:
                daos.sort(key=lambda x: x.intestatario.strip().upper(),reverse=True)
        elif hasattr(self._anagrafica,"funzione_ordinamento") and self._anagrafica.funzione_ordinamento == "impo":
            for t in daos:
                try:
                    t._totaleImponibileScontato
                except:
                    t.totali
            if self._anagrafica.aa < 0:
                daos.sort(key=lambda x: x._totaleImponibileScontato)
            else:
                daos.sort(key=lambda x: x._totaleImponibileScontato,reverse=True)
        self.numRecords = self.bodyWidget.countFilterResults(
                                        self._filterCountClosure,
                                        )
#        self._refreshPageCount()
        #pbar(self.pbar_report,parziale=2, totale=4)
        pageData = {}
        self.html_code = "<html><body></body></html>"
        if self._tipo == "veter":
            daos = daos[:]
            da = []
            for d in daos:
                c = []
                for a in d.righe:
                    if "TRIPLICE" in a.rig.arti.denominazione_famiglia:
                        c.append(a)
                if len(c)>0:
                    da.append(d)
            daos = da
        elif self._tipo == "massa":
            daos=daos[:]
            articoli_dict = {}
            if daos:
                cliente = daos[0].CLI
            else:
                cliente = None
            for d in daos:
                for x in d.righe:
                    if x.id_articolo:
                        if x.rig.arti.APADR and (x.rig.arti.APADR.percentuale_carbonio or
                            x.rig.arti.APADR.percentuale_cov or
                            x.rig.arti.APADR.percentuale_secco):
                            a_adr = x.rig.arti
                            # print(a_adr)
                            if a_adr in articoli_dict:
                                articoli_dict[a_adr] += ( x.quantita*x.moltiplicatore )
                            else:
                                articoli_dict[a_adr] = (
                                    x.quantita * x.moltiplicatore )
            print(self._anagrafica.filter)
            daData = self._anagrafica.filter.daData
            aData =  self._anagrafica.filter.aData
            pageData = {
                "file" : "report_massa.html",
                "rows": articoli_dict,
                "azienda":azienda,
                "cliente":cliente,
                "daData":daData,
                "aData":aData,
                "daos":daos,

            }
            self.html_code = renderTemplate(pageData)
            try:
                renderHTML(self.print_on_screen_html, str(self.html_code))
            except:
                renderHTML(self.print_on_screen_html, self.html_code)
            return

        #pbar(self.pbar_report,parziale=2.5, totale=4)
        if daos:
            pageData = {
                    "file": self._previewTemplate[1],
                    #"dao":daos,
                    "objects": daos,
                    "azienda" : azienda,
                    }
            self.html_code = renderTemplate(pageData)
        #pbar(self.pbar_report,parziale=3.75, totale=4)
        #pbar(self.pbar_report,stop=True)
        #self.pbar_dialog.hide()
        try:
            renderHTML(self.print_on_screen_html, str(self.html_code))
        except:
            renderHTML(self.print_on_screen_html, self.html_code)
示例#16
0
 def refreshHtml(self, dao=None):
     self.html = renderTemplate(self.pageData)
     renderHTML(self.detail, self.html)