-# -*- mode: python; encoding: utf-8; -*-
+# coding=utf-8
#
# Copyright 2013 Thadeu Lima de Souza Cascardo <cascardo@cascardo.info>
#
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
+# -*- mode: python; encoding: utf-8; -*-
import baseui
import contribuinte
-import ocupacoes
import rendimentoPJ
+import bens
import sys
-class OcupacaoForm(baseui.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)
- baseui.OptionsForm.__init__(self, u"Ocupações", o, contribuinte.get_campo_contribuinte("ocupacaoPrincipal"))
- self.ocupacoes = ocupacoes
- self.contribuinte = contribuinte
- def set_value(self, value):
- baseui.OptionsForm.set_value(self, value)
- self.contribuinte.set_campo_contribuinte("ocupacaoPrincipal", value)
-
-class ContribuinteForm(baseui.StringForm):
- def __init__(self, name, attr, contribuinte):
- self.contribuinte = contribuinte
- self.attr = attr
- baseui.StringForm.__init__(self, name, self.contribuinte.get_campo_contribuinte(self.attr))
- def set_value(self, value):
- baseui.StringForm.set_value(self, value)
- self.contribuinte.set_campo_contribuinte(self.attr, value)
-
-class AttrForm(baseui.StringForm):
- def __init__(self, name, attr, element):
- self.element = element
- self.attr = attr
- baseui.StringForm.__init__(self, name, self.element.get_attr(self.attr))
- def set_value(self, value):
- baseui.StringForm.set_value(self, value)
- self.element.set_attr(self.attr, value)
-
-def RendimentoPJ(UI, rend):
- form = []
- form.append(AttrForm("Nome", "nomeFontePagadora", rend))
- form.append(AttrForm("CNPJ", "NIFontePagadora", rend))
- form.append(AttrForm("Rendimentos", "rendRecebidoPJ", rend))
- form.append(AttrForm(u"Previdência", "contribuicaoPrevOficial", rend))
- form.append(AttrForm("Imposto Retido", "impostoRetidoFonte", rend))
- form.append(AttrForm(u"Décimo Terceiro", "decimoTerceiro", rend))
- UI.form(form)
- return True
-
-def List(UI, L, Edit, display):
+def List(UI, L, display):
exit = False
while not exit:
ls = []
for i in L.items:
- ls.append(i.get_attr(display))
+ d = i.get_attr(display)
+ if d == None:
+ d = ""
+ ls.append(d)
r = UI.list(ls)
if r[1] == None:
exit = True
elif r[1] == 'add':
- Edit(UI, L.new_item())
+ UI.form(L.form(L.new_item()))
elif r[1] == 'edit':
- Edit(UI, L.items[r[0] - 1])
+ UI.form(L.form(L.items[r[0] - 1]))
elif r[1] == 'delete':
L.remove_item(r[0] - 1)
return True
def RendimentosPJ(UI, contrib):
rend = rendimentoPJ.RendimentosPJ(contrib)
- return List(UI, rend, RendimentoPJ, "nomeFontePagadora")
+ 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 Bens(UI, contrib):
+ b = bens.Bens(contrib)
+ return List(UI, b, "discriminacao")
+
+def Salvar(UI, contrib):
+ contrib.save()
+
def menu(UI, contrib):
- m = [ "Sair", "Dados Pessoais", "Rendimentos PJ" ]
- f = [ None, DadosPessoais, RendimentosPJ ]
+ m = [
+ "Sair",
+ "Salvar",
+ "Dados Pessoais",
+ "Rendimentos PJ",
+ "Bens",
+ ]
+ f = [
+ None,
+ Salvar,
+ DadosPessoais,
+ RendimentosPJ,
+ Bens,
+ ]
exit = False
while not exit:
r = UI.menu(m)