def draw(self):
        if posso("PW"):
            AnagraficaArticoliPromoWearExpand.treeViewExpand(self, self.anagrafica_filter_treeview)
        else:
            self._treeViewModel = self.standard_liststore
            #self.promowear_expander_semplice.destroy()
            self.filter_promowear.destroy()

        self.anagrafica_filter_treeview.set_model(self._treeViewModel)
        self.id_famiglia_articolo_filter_combobox.set_wrap_width(int(setconf("Numbers", "combo_column"))or 2)
        self.id_categoria_articolo_filter_combobox.set_wrap_width(int(setconf("Numbers", "combo_column")) or 2)

        self.clear()
        self.altri_filtri_frame.hide()
 def clear(self):
     # Annullamento filtro
     self.denominazione_filter_entry.set_text('')
     self.codice_filter_entry.set_text('')
     self.codice_a_barre_filter_entry.set_text('')
     #self.url_articolo_entry.set_text('')
     self.codice_articolo_fornitore_filter_entry.set_text('')
     self.produttore_filter_entry.set_text('')
     fillComboboxFamiglieArticoli(self.id_famiglia_articolo_filter_combobox, filter=True)
     fillComboboxCategorieArticoli(self.id_categoria_articolo_filter_combobox, True)
     fillComboboxStatiArticoli(self.id_stato_articolo_filter_combobox, True)
     self.id_famiglia_articolo_filter_combobox.set_active(0)
     self.id_categoria_articolo_filter_combobox.set_active(0)
     self.id_stato_articolo_filter_combobox.set_active(0)
     self.cancellato_filter_checkbutton.set_active(False)
     if posso("PW"):
         AnagraficaArticoliPromoWearExpand.clear(self)
     self.refresh()
 def on_taglie_colori_filter_combobox_changed(self, combobox):
     AnagraficaArticoliPromoWearExpand.on_taglie_colori_filter_combobox_changed(self,combobox)
    def refresh(self):
        # Aggiornamento TreeView
        denominazione = prepareFilterString(self.denominazione_filter_entry.get_text())
        produttore = prepareFilterString(self.produttore_filter_entry.get_text())
        codice = prepareFilterString(self.codice_filter_entry.get_text())
        codiceABarre = prepareFilterString(self.codice_a_barre_filter_entry.get_text())
        codiceArticoloFornitore = prepareFilterString(self.codice_articolo_fornitore_filter_entry.get_text())
        idFamiglia = findIdFromCombobox(self.id_famiglia_articolo_filter_combobox)
        idCategoria = findIdFromCombobox(self.id_categoria_articolo_filter_combobox)
        idStato = findIdFromCombobox(self.id_stato_articolo_filter_combobox)
        if self.cancellato_filter_checkbutton.get_active():
            cancellato = False
        else:
            cancellato = True
        self.filterDict = { "denominazione":denominazione,
                            "codice":codice,
                            "codiceABarre":codiceABarre,
                            "codiceArticoloFornitore":codiceArticoloFornitore,
                            "produttore":produttore,
                            "idFamiglia":idFamiglia,
                            "idCategoria":idCategoria,
                            "idStato":idStato,
                            "cancellato":cancellato}

        if posso("PW"):
            AnagraficaArticoliPromoWearExpand.refresh(self)

        def filterCountClosure():
            return Articolo().count(filterDict = self.filterDict)

        self._filterCountClosure = filterCountClosure

        self.numRecords = self.countFilterResults()
        self._refreshPageCount()

        # Let's save the current search as a closure
        def filterClosure(offset, batchSize):
            return Articolo().select(orderBy=self.orderBy,
                                        join=self.join,
                                        offset=offset,
                                        batchSize=batchSize,
                                        filterDict=self.filterDict)

        self._filterClosure = filterClosure

        arts = self.runFilter()
        adr = False
        if posso("ADR"):
            adr = True
        for l in self._treeViewModel:
            self._treeViewModel[l.iter][0] = None
        self._treeViewModel.clear()
        for a in arts:
            modelRowPromoWear = []
            modelRow = []
            col = None
            if a.cancellato:
                col = 'red'
            if adr and a.APADR and (a.APADR.numero_un or a.APADR.percentuale_carbonio):
                col="yellow"
            modelRow = [a,col,(a.codice or ''),
                        (a.denominazione or ''),
                        (a.produttore or ''),
                        (a.codice_a_barre or ''),
                        (''), # qui c'era a.codice_articolo_fornitore or ""
                        (a.denominazione_famiglia or ''),
                        (a.denominazione_categoria or '')]
            if posso("PW"):
                modelRowPromoWear = [(a.denominazione_gruppo_taglia or ''),
                                    (a.denominazione_modello or ''),
                                    (a.denominazione_taglia or ''),
                                    (a.denominazione_colore or ''),
                                    (a.anno or ''),
                                    (a.stagione or ''),
                                    (a.genere or '')]
            if modelRowPromoWear:
                self._treeViewModel.append(modelRow +modelRowPromoWear)
            else:
                self._treeViewModel.append(modelRow)