Exemple #1
0
    def __init__(self, *args, **kwargs):
        super(NovoEmprestimoView, self).__init__()
        self.setupUi(self)
        self.setModal(True)
        self.salvar.setEnabled(False)

        self.cancelar.clicked.connect(self.close)
        self.salvar.clicked.connect(self.__salvar)

        self.moradores = Morador.select().where(Morador.deleted == False)

        for morador in self.moradores:
            self.de.addItem(morador.nome, morador.id)
            self.para.addItem(morador.nome, morador.id)

        self.de.currentIndexChanged.connect(self.__validar)
        self.para.currentIndexChanged.connect(self.__validar)
        self.valor.textChanged.connect(self.__validar)
        self.descricao.textChanged.connect(self.__validar)

        self.emprestimo_id = None

        if 'dados_emprestimo' in kwargs:
            self.emprestimo_id = kwargs['dados_emprestimo']['id']
            self.de.setCurrentIndex(self.de.findData(kwargs['dados_emprestimo']['de_id']))
            self.para.setCurrentIndex(self.para.findData(kwargs['dados_emprestimo']['para_id']))
            self.descricao.setText(kwargs['dados_emprestimo']['descricao'])
            self.valor.setText(f"R${str(kwargs['dados_emprestimo']['valor']).replace('.', ',')}")
            self.salvar.setEnabled(True)
            self.cancelar.setVisible(False)
            self.setWindowTitle('Editando Empréstimo')
Exemple #2
0
    def __init__(self, *args, **kwargs):
        super(NovaContaView, self).__init__()
        self.setupUi(self)
        self.setModal(True)
        self.salvar.setEnabled(False)

        self.cancelar.clicked.connect(self.close)
        self.salvar.clicked.connect(self.__salvar)

        self.moradores = Morador.select().where(Morador.deleted == False)
        self.tiposConta = TipoConta.select()

        self.pagante.addItem('Não pago', None)

        for morador in self.moradores:
            self.pagante.addItem(morador.nome, morador.id)

        for tipoConta in self.tiposConta:
            self.tipoConta.addItem(tipoConta.nome, tipoConta.id)

        self.conta_id = None

        self.tipoConta.currentIndexChanged.connect(self.__validar)
        self.valor.textChanged.connect(self.__validar)
        self.descricao.textChanged.connect(self.__validar)

        if 'dados_conta' in kwargs:
            self.conta_id = kwargs['dados_conta']['id']
            self.tipoConta.setCurrentIndex(self.tipoConta.findData(kwargs['dados_conta']['tipo_conta_id']))
            self.pagante.setCurrentIndex(self.pagante.findData(kwargs['dados_conta']['pagante_id']))
            self.descricao.setText(kwargs['dados_conta']['descricao'])
            self.valor.setText(f"R${str(kwargs['dados_conta']['valor']).replace('.', ',')}")
            self.salvar.setEnabled(True)
            self.cancelar.setVisible(False)
            self.setWindowTitle('Editando Conta')
    def __init__(self, *args, **kwargs):
        super(RelatorioRegistroMensalView, self).__init__()
        self.setupUi(self)
        self.setModal(True)

        self.sair.clicked.connect(self.close)

        self.contas.setSelectionBehavior(QAbstractItemView.SelectRows)
        self.totais.setSelectionBehavior(QAbstractItemView.SelectRows)
        self.emprestimos.setSelectionBehavior(QAbstractItemView.SelectRows)
        self.contas.setEditTriggers(QAbstractItemView.NoEditTriggers)
        self.totais.setEditTriggers(QAbstractItemView.NoEditTriggers)
        self.emprestimos.setEditTriggers(QAbstractItemView.NoEditTriggers)


        self.__registroMensal = RegistroMensal.get_by_id(kwargs['registro_mensal_id'])
        self.__contas = Conta.select().where(Conta.registro_mensal_id == self.__registroMensal.id)
        self.__emprestimos = Emprestimo.select().where(Emprestimo.registro_mensal_id == self.__registroMensal.id)
        self.__moradores = Morador.select().where(Morador.deleted == False)
        self.__totais = []

        self.__adjustHeaders()
        self.titulo.setText(self.titulo.text().replace('mes_ano', self.__registroMensal.data.strftime('%m/%Y')))
        self.__tabelaContas()
        self.__tabelaEmprestimos()
        self.__tabelaTotais()
    def __salvar(self):
        if len(self.__contas) == 0 and len(self.__emprestimos) == 0:
            self.salvar.setEnabled(False)
        else:
            if self.registroMensal:
                registro_mensal = self.registroMensal
            else:
                registro_mensal = RegistroMensal.create(
                    data=date.today().strftime('%Y-%m-%d'),
                    total=0,
                    numero_pessoas=0)

            total = 0
            moradores = len(Morador.select().where(Morador.deleted == False))

            for emprestimo in self.__emprestimos:
                if emprestimo['id']:
                    Emprestimo.update(
                        valor=emprestimo['valor'],
                        descricao=emprestimo['descricao'],
                        de_id=emprestimo['de_id'],
                        para_id=emprestimo['para_id']).where(
                            Emprestimo.id == emprestimo['id']).execute()
                else:
                    Emprestimo.create(data=date.today().strftime('%Y-%m-%d'),
                                      valor=emprestimo['valor'],
                                      descricao=emprestimo['descricao'],
                                      registro_mensal_id=registro_mensal.id,
                                      de_id=emprestimo['de_id'],
                                      para_id=emprestimo['para_id'])

            for conta in self.__contas:
                total += conta['valor']
                if conta['id']:
                    Conta.update(valor=conta['valor'],
                                 descricao=conta['descricao'],
                                 morador_id=conta['pagante_id'],
                                 tipo_conta_id=conta['tipo_conta_id']).where(
                                     Conta.id == conta['id']).execute()
                else:
                    Conta.create(data=date.today().strftime('%Y-%m-%d'),
                                 valor=conta['valor'],
                                 descricao=conta['descricao'],
                                 registro_mensal_id=registro_mensal.id,
                                 morador_id=conta['pagante_id'],
                                 tipo_conta_id=conta['tipo_conta_id'])

            mes = int(self.mes.text()) if self.mes.text() != '' else 0
            ano = int(self.ano.text()) if self.ano.text() != '' else 0

            registro_mensal.data = date(ano, mes, 1)
            registro_mensal.total = total
            registro_mensal.numero_pessoas = moradores
            registro_mensal.save()

            self.__emprestimos = []
            self.__contas = []

            self.registroMensal = registro_mensal

            self.salvo.emit()
            self.__atualizarContas()
            self.__atualizarEmprestimos()
            self.gerarRelatorio.setEnabled(True)