-# -*- 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)
+def List(UI, L, display):
+ exit = False
+ while not exit:
+ ls = []
+ for i in L.items:
+ 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':
+ UI.form(L.form(L.new_item()))
+ elif r[1] == 'edit':
+ UI.form(L.form(L.items[r[0] - 1]))
+ elif r[1] == 'delete':
+ L.remove_item(r[0] - 1)
+ return True
-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)
+def RendimentosPJ(UI, contrib):
+ rend = rendimentoPJ.RendimentosPJ(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 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" ]
- f = [ None, DadosPessoais ]
+ m = [
+ "Sair",
+ "Salvar",
+ "Dados Pessoais",
+ "Rendimentos PJ",
+ "Bens",
+ ]
+ f = [
+ None,
+ Salvar,
+ DadosPessoais,
+ RendimentosPJ,
+ Bens,
+ ]
exit = False
while not exit:
r = UI.menu(m)