From 02dfc6fe762d8c049308473ce3fbe924e2e12796 Mon Sep 17 00:00:00 2001 From: Thadeu Lima de Souza Cascardo Date: Thu, 13 Mar 2014 18:42:00 -0300 Subject: [PATCH] Interface para Rendimentos PJ Permite editar, adicionar e remover Rendimentos de PJ. --- src/menu.py | 46 ++++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 44 insertions(+), 2 deletions(-) diff --git a/src/menu.py b/src/menu.py index c66d17d..95d50a2 100644 --- a/src/menu.py +++ b/src/menu.py @@ -18,6 +18,7 @@ import baseui import contribuinte import ocupacoes +import rendimentoPJ import sys class OcupacaoForm(baseui.OptionsForm): @@ -43,6 +44,47 @@ class ContribuinteForm(baseui.StringForm): 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): + exit = False + while not exit: + ls = [] + for i in L.items: + ls.append(i.get_attr(display)) + r = UI.list(ls) + if r[1] == None: + exit = True + elif r[1] == 'add': + Edit(UI, L.new_item()) + elif r[1] == 'edit': + Edit(UI, 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") + def DadosPessoais(UI, contrib): form = [] ocup = ocupacoes.Ocupacoes() @@ -54,8 +96,8 @@ def DadosPessoais(UI, contrib): return True def menu(UI, contrib): - m = [ "Sair", "Dados Pessoais" ] - f = [ None, DadosPessoais ] + m = [ "Sair", "Dados Pessoais", "Rendimentos PJ" ] + f = [ None, DadosPessoais, RendimentosPJ ] exit = False while not exit: r = UI.menu(m) -- 2.20.1