+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")
+