Exemple #1
0
def rescindir_contrato(request, id):
    dados = {}
    contrato = get_object_or_404(ContratoLocacao, id=id)
    motivo = request.POST.get('rescisao')
    rescisao = RescisaoContrato(
        contrato=contrato, data=today, usuario=request.user, motivo=motivo)
    rescisao.save()
    exclui_parcelas_aberto_contrato_locacao(contrato.id)
    dados['mensagem'] = 'Contrato rescindido com sucesso!'
    return contrato_detalhe(request, id, dados['mensagem'])
Exemple #2
0
def contrato_gerar_receber(request, id):
    dados = {}
    contrato = get_object_or_404(ContratoLocacao, id=id)
    parametros = ParametrosGerais.objects.all()

    if contrato.inicio_contrato > contrato.termino_contrato:
        dados['mensagem_erro'] = """
                            As contas a receber deste contrato não
                            foram geradas pois a data inicial de
                            vigência do contrato é maior ou igual a data final,
                            por favor corrija este problema primeiro.
                            """
        return contrato_detalhe(request, id, dados['mensagem_erro'])

    if not parametros[0].conta_caixa:
        dados['mensagem_erro'] = """
                            As contas a receber deste contrato não
                            foram geradas pois não existe uma conta-caixa para
                            contratos informada no cadastro de parâmetros.
                            Por favor resolva este problema antes de continuar
                            """
        return contrato_detalhe(request, id, dados['mensagem_erro'])

    num_parcelas = month_between(
        contrato.inicio_contrato, contrato.termino_contrato) + 1

    funcionario = Funcionario.objects.filter(usuario=request.user)

    if contrato.gerou_receber:
        exclui_parcelas_aberto_contrato_locacao(contrato.id)

    gera_parcelas(
        num_parcelas, contrato.inicio_contrato,
        contrato.imovel.valor_aluguel,
        parametros[0].conta_caixa,
        contrato.locatario, contrato,
        funcionario[0].empresa, request.user)

    dados['mens_parcelas'] =\
        """
        Contas a receber geradas com sucesso:
        Qtd.: {num_parcelas}, Data da primeira parcela:
           {dataini} data da última parcela: {datafim}
        """.format(
        num_parcelas=num_parcelas,
        dataini=contrato.inicio_contrato.strftime("%d/%m/%y"),
        datafim=contrato.termino_contrato.strftime("%d/%m/%y"))

    dados['form'] = ContratoLocacaoForm(instance=contrato)
    contrato.gerou_receber = True
    contrato.save()
    dados['contrato'] = contrato
    return render(request, template_contrato_detalhe, dados)