Move formulário para classe Contribuinte.
authorThadeu Lima de Souza Cascardo <cascardo@cascardo.info>
Sat, 15 Mar 2014 01:42:22 +0000 (22:42 -0300)
committerThadeu Lima de Souza Cascardo <cascardo@cascardo.info>
Sat, 15 Mar 2014 01:43:10 +0000 (22:43 -0300)
src/contribuinte.py
src/menu.py

index 6d0c773..3d8e847 100644 (file)
@@ -1,6 +1,6 @@
 # coding=utf-8
 #
-#   Copyright 2013 Thadeu Lima de Souza Cascardo <cascardo@cascardo.info>
+#   Copyright 2013-2014 Thadeu Lima de Souza Cascardo <cascardo@cascardo.info>
 #
 #   This program is free software: you can redistribute it and/or modify
 #   it under the terms of the GNU General Public License as published by
 import xml.dom.minidom
 import dirs
 import os
+import form
+import ocupacoes
+
+class OcupacaoForm(form.OptionsForm):
+    def __init__(self, ocupacoes, contribuinte):
+        g = ocupacoes.groups()
+        l = []
+        for i in sorted(g):
+            l.extend(g[i])
+        o = map(lambda x: (x[0], x[3]), l)
+        form.OptionsForm.__init__(self, u"Ocupações", o, contribuinte.get_campo_contribuinte("ocupacaoPrincipal"))
+        self.ocupacoes = ocupacoes
+        self.contribuinte = contribuinte
+    def set_value(self, value):
+        form.OptionsForm.set_value(self, value)
+        self.contribuinte.set_campo_contribuinte("ocupacaoPrincipal", value)
+
+class ContribuinteForm(form.StringForm):
+    def __init__(self, name, attr, contribuinte):
+        self.contribuinte = contribuinte
+        self.attr = attr
+        form.StringForm.__init__(self, name, self.contribuinte.get_campo_contribuinte(self.attr))
+    def set_value(self, value):
+        form.StringForm.set_value(self, value)
+        self.contribuinte.set_campo_contribuinte(self.attr, value)
 
 class Contribuinte:
     def __init__(self, cpf):
@@ -141,6 +166,15 @@ class Contribuinte:
         else:
             self._set_attr(self.contribuinte, attr, val)
 
+    def form(self):
+        form = []
+        ocup = ocupacoes.Ocupacoes()
+        form.append(ContribuinteForm("Nome", "nome", self))
+        form.append(OcupacaoForm(ocup, self))
+        for i in contribuinte_attributes:
+            form.append(ContribuinteForm(i, i, self))
+        return form
+
 contribuinte_attributes = [
         "nome",
         "dataNascimento",
index 4ba0d31..acbdcdf 100644 (file)
 
 import baseui
 import contribuinte
-import ocupacoes
 import rendimentoPJ
 import sys
-import form
-
-class OcupacaoForm(form.OptionsForm):
-    def __init__(self, ocupacoes, contribuinte):
-        g = ocupacoes.groups()
-        l = []
-        for i in sorted(g):
-            l.extend(g[i])
-        o = map(lambda x: (x[0], x[3]), l)
-        form.OptionsForm.__init__(self, u"Ocupações", o, contribuinte.get_campo_contribuinte("ocupacaoPrincipal"))
-        self.ocupacoes = ocupacoes
-        self.contribuinte = contribuinte
-    def set_value(self, value):
-        form.OptionsForm.set_value(self, value)
-        self.contribuinte.set_campo_contribuinte("ocupacaoPrincipal", value)
-
-class ContribuinteForm(form.StringForm):
-    def __init__(self, name, attr, contribuinte):
-        self.contribuinte = contribuinte
-        self.attr = attr
-        form.StringForm.__init__(self, name, self.contribuinte.get_campo_contribuinte(self.attr))
-    def set_value(self, value):
-        form.StringForm.set_value(self, value)
-        self.contribuinte.set_campo_contribuinte(self.attr, value)
 
 def List(UI, L, display):
     exit = False
@@ -71,13 +46,7 @@ def RendimentosPJ(UI, contrib):
     return List(UI, rend, "nomeFontePagadora")
 
 def DadosPessoais(UI, contrib):
-    form = []
-    ocup = ocupacoes.Ocupacoes()
-    form.append(ContribuinteForm("Nome", "nome", contrib))
-    form.append(OcupacaoForm(ocup, contrib))
-    for i in contribuinte.contribuinte_attributes:
-        form.append(ContribuinteForm(i, i, contrib))
-    UI.form(form)
+    UI.form(contrib.form())
     return True
 
 def Salvar(UI, contrib):