import baseui
import contribuinte
-import ocupacoes
import rendimentoPJ
+import bens
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)
+import isentos
+import exclusivos
def List(UI, L, display):
exit = False
rend = rendimentoPJ.RendimentosPJ(contrib)
return List(UI, rend, "nomeFontePagadora")
+def Declaracao(UI, contrib):
+ UI.form(contrib.declaracoes.form(contrib.declaracao))
+ return True
+
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 Bens(UI, contrib):
+ b = bens.Bens(contrib)
+ return List(UI, b, "discriminacao")
+
+def Quadro(UI, quadro):
+ return List(UI, quadro, "especificacao")
+
+def Quadros(quadros):
+ def fQuadros(UI, contrib):
+ exit = False
+ while not exit:
+ r = UI.menu(map(lambda x: x.name, quadros.quadros))
+ if r < 0:
+ exit = True
+ else:
+ Quadro(UI, quadros.quadros[r])
+ return fQuadros
+
def Salvar(UI, contrib):
contrib.save()
def menu(UI, contrib):
- m = [ "Sair", "Salvar", "Dados Pessoais", "Rendimentos PJ" ]
- f = [ None, Salvar, DadosPessoais, RendimentosPJ ]
+ m = [
+ "Sair",
+ "Salvar",
+ u"Declaração",
+ "Dados Pessoais",
+ "Rendimentos PJ",
+ "Bens",
+ "Rendimentos Isentos",
+ "Rendimentos Exclusivos na Fonte",
+ ]
+ f = [
+ None,
+ Salvar,
+ Declaracao,
+ DadosPessoais,
+ RendimentosPJ,
+ Bens,
+ Quadros(isentos.RendimentosIsentos(contrib)),
+ Quadros(exclusivos.RendimentosExclusivos(contrib)),
+ ]
exit = False
while not exit:
r = UI.menu(m)