def __tabelaEmprestimos(self):
     for emprestimo in self.__emprestimos:
         rowIndex = self.emprestimos.rowCount()
         self.emprestimos.insertRow(rowIndex)
         self.emprestimos.setItem(rowIndex, 0, QTableWidgetItem(emprestimo.descricao))
         self.emprestimos.setItem(rowIndex, 1, QTableWidgetItem(Morador.get_by_id(emprestimo.de_id).nome))
         self.emprestimos.setItem(rowIndex, 2, QTableWidgetItem(Morador.get_by_id(emprestimo.para_id).nome))
         self.emprestimos.setItem(rowIndex, 3, QTableWidgetItem(f"R${emprestimo.valor}"))
    def __atualizarEmprestimos(self):
        if self.registroMensal:
            emprestimos = Emprestimo.select().join(RegistroMensal).where(
                RegistroMensal.id == self.registroMensal.id)

            for emprestimo in emprestimos:
                emprestimo = {
                    'id': emprestimo.id,
                    'de_id': emprestimo.de_id,
                    'para_id': emprestimo.para_id,
                    'valor': emprestimo.valor,
                    'descricao': emprestimo.descricao,
                }
                if emprestimo not in self.__emprestimos:
                    self.__emprestimos.append(emprestimo)

        self.emprestimos.setRowCount(0)

        for emprestimo in self.__emprestimos:
            rowIndex = self.emprestimos.rowCount()

            self.emprestimos.insertRow(rowIndex)

            self.emprestimos.setItem(
                rowIndex, 0,
                QTableWidgetItem(
                    str(emprestimo['id']) if emprestimo['id'] else ""))
            self.emprestimos.setItem(
                rowIndex, 1, QTableWidgetItem(str(emprestimo['descricao'])))
            self.emprestimos.setItem(
                rowIndex, 2,
                QTableWidgetItem(
                    str(Morador.get_by_id(emprestimo['de_id']).nome)))
            self.emprestimos.setItem(
                rowIndex, 3,
                QTableWidgetItem(
                    str(Morador.get_by_id(emprestimo['para_id']).nome)))
            self.emprestimos.setItem(
                rowIndex, 4,
                QTableWidgetItem(f'R$ {round(emprestimo["valor"], 2)}'))
    def __tabelaContas(self):
        total = 0
        for conta in self.__contas:
            rowIndex = self.contas.rowCount()
            self.contas.insertRow(rowIndex)

            self.contas.setItem(rowIndex, 0, QTableWidgetItem(f"R${conta.valor}"))
            self.contas.setItem(rowIndex, 1, QTableWidgetItem(TipoConta.get_by_id(conta.tipo_conta_id).nome))
            self.contas.setItem(rowIndex, 2, QTableWidgetItem(conta.descricao))
            self.contas.setItem(rowIndex, 3, QTableWidgetItem(Morador.get_by_id(conta.morador_id).nome if conta.morador_id else "Não Paga"))
            total += conta.valor

        self.__totais = [{'total_por_pessoa': total / len(self.__moradores)}] * len(self.__moradores)
        self.totalLabel.setText(self.totalLabel.text().replace('valor', str(total).replace('.', ',')))
Ejemplo n.º 4
0
    def __init__(self, *args, **kwargs):
        super(NovoMoradorView, self).__init__()
        self.setupUi(self)
        self.setModal(True)

        self.morador = None

        self.salvarMorador.setEnabled(False)

        self.cancelarNovoMorador.clicked.connect(self.close)
        self.nomeMorador.textChanged.connect(self.__checkName)
        self.salvarMorador.clicked.connect(self.__salvarMorador)

        if 'morador_id' in kwargs:
            self.morador = Morador.get_by_id(kwargs['morador_id'])
            self.nomeMorador.setText(self.morador.nome)
            self.salvarMorador.setEnabled(False)
            self.setWindowTitle(f"Editando morador: {self.morador.nome}")
    def __atualizarContas(self):
        if self.registroMensal:
            contas = Conta.select().join(RegistroMensal).where(
                RegistroMensal.id == self.registroMensal.id)

            for conta in contas:
                conta = {
                    'id': conta.id,
                    'tipo_conta_id': conta.tipo_conta_id,
                    'pagante_id': conta.morador_id,
                    'valor': conta.valor,
                    'descricao': conta.descricao
                }
                if conta not in self.__contas:
                    self.__contas.append(conta)

        self.contas.setRowCount(0)

        for conta in self.__contas:
            rowIndex = self.contas.rowCount()

            self.contas.insertRow(rowIndex)

            self.contas.setItem(
                rowIndex, 0,
                QTableWidgetItem(str(conta['id']) if conta['id'] else ""))
            self.contas.setItem(rowIndex, 1,
                                QTableWidgetItem(str(conta['descricao'])))
            self.contas.setItem(
                rowIndex, 2,
                QTableWidgetItem(
                    str(TipoConta.get_by_id(conta['tipo_conta_id']).nome)))
            self.contas.setItem(
                rowIndex, 3,
                QTableWidgetItem(f'R$ {round(conta["valor"], 2)}'))
            self.contas.setItem(
                rowIndex, 4,
                QTableWidgetItem(
                    str(Morador.get_by_id(conta['pagante_id']).nome
                        ) if conta['pagante_id'] else "Não Paga"))