Example #1
0
    def on_btnEditar_clicked(self, *args):
        self.swMain.hide()

        dialog = gtk.FileChooserDialog("Abrir...", self.win, gtk.FILE_CHOOSER_ACTION_OPEN, (gtk.STOCK_CANCEL, gtk.RESPONSE_CANCEL, gtk.STOCK_OPEN, gtk.RESPONSE_OK))
        dialog.set_default_response(gtk.RESPONSE_OK)
        dialog.set_current_folder(os.path.join('XML_Declaraciones'))

        filter = gtk.FileFilter()
        filter.set_name("Archivos XML")
        filter.add_mime_type("application/xml")
        filter.add_pattern("*.xml")
        dialog.add_filter(filter)

        response = dialog.run()

        if response == gtk.RESPONSE_OK:
            filename = dialog.get_filename() # archivo 
            parser = etree.XMLParser(remove_comments=True, encoding='utf8')
            xml = etree.parse(filename, parser)
            dialog.destroy()
        else:
            dialog.destroy()
            return

        lstContribuyentes = ListaContribuyentes() # TODO cargar una sola vez?
        lstContribuyentes.load()
        
        self.declaracion = Declaracion()
        try:
            self.declaracion = self.declaracion.cargar_declaracion_guardada(xml, lstContribuyentes, self.ref_data)
            self.declaracion.set_archivo(filename)
        except Exception as ex:
            ezGlade.DialogBox(str(ex), 'error', self.win)
            return

        # crear ventana del formulario de declaracion
        vDeclaracion = wndDeclaracion()
        vDeclaracion.set_declaracion(self.declaracion)
        vDeclaracion.load_widgets_from_xml()
        vDeclaracion.xml = xml # asignacion directa del xml cargado
        vDeclaracion.update_container_from_xml()
        vDeclaracion.push_statusbar_info(filename)
        vDeclaracion.show()
Example #2
0
    def on_btnAceptar_clicked(self, *args):
        # contribuyente
        if self.declaracion.get_contribuyente() is None:
            ezGlade.DialogBox("No se ha seleccionado el contribuyente", "error")
            return

        # alias del formulario
        version = get_active_text(self.cmbFormularios)
        alias = self.ref_data.get_nombre_formulario(version)
        alias = alias.replace("FORMULARIO ", "")
        self.declaracion.set_alias_formulario(alias)

        # archivo nulo
        self.declaracion.set_archivo(None)

        # obtener anio
        anio = get_active_text(self.cmbAnio)
        self.declaracion.set_anio(anio)

        # obtener mes o periodo
        periodo = get_active_text(self.cmbPeriodo)
        self.declaracion.set_mes(periodo)

        # original o sustitutiva
        if self.rbSustitutiva.get_active():
            self.declaracion.set_original('S')
            self.declaracion.set_sustituye(self.txtSustituye.get_text())
        else:
            self.declaracion.set_original('O')
            self.declaracion.set_sustituye('')        

        # crear ventana del formulario de declaracion
        vDeclaracion = wndDeclaracion()
        vDeclaracion.set_declaracion(self.declaracion)
        vDeclaracion.load_widgets_from_xml()
        vDeclaracion.push_statusbar_info("Nueva declaraciĆ³n")
        vDeclaracion.show()