Esempio n. 1
0
def meusChats(request):
    user = request.user
    chats = Chat.objects.filter((Q(locador=user.id) | Q(locatario=user.id)))

    for chat in chats:
        if chat.locador != str(user.id):
            user = MyUser.objects.get(id=chat.locador)
            try:
                perfil = Dados_usuario.objects.get(user=user)
            except ObjectDoesNotExist:
                perfil = Dados_usuario()

            if perfil.nome == None or perfil.sobrenome == None:
                identificador = user.email
            else:
                identificador = perfil.nome + " " + perfil.sobrenome
            chat.nomeSala = "Chat com " + identificador
        elif chat.locatario != str(user.id):
            user = MyUser.objects.get(id=chat.locatario)
            try:
                perfil = Dados_usuario.objects.get(user=user)
            except ObjectDoesNotExist:
                perfil = Dados_usuario()

            if perfil.nome == None or perfil.sobrenome == None:
                identificador = user.email
            else:
                identificador = perfil.nome + " " + perfil.sobrenome
            chat.nomeSala = "Chat com " + identificador

    return render(request, 'chat/meus-chats.html', {'chats': chats})
Esempio n. 2
0
def excluirContaSubmit(request, userId):
    user = MyUser.objects.get(id=userId)
    excluir = 'excluir'
    senha = request.POST.get("senha")
    auth = authenticate(email=user.email, password=senha)

    try:
        perfil = Dados_usuario.objects.get(user=user)
    except ObjectDoesNotExist:
        perfil = Dados_usuario()

    form = Dados_usuarioForm(instance=perfil)

    if auth is not None:
        auth.delete()
        produtos = Product.objects.filter(
            Q(alugado=False)).order_by('-id')[0:8]
        context = {'products': produtos}
        messages.info(request, 'Sua conta foi excluída com sucesso!')
        return render(request, 'home/home.html', context)
    else:
        messages.error(request,
                       'Senha incorreta, favor informar a senha correta!')
    return render(request, 'user/perfil.html', {
        'form': form,
        'perfil': perfil,
        'excluir': excluir
    })
Esempio n. 3
0
def alugar(request, productId):
    user = request.user

    try:
        perfil = Dados_usuario.objects.get(user=user)
    except ObjectDoesNotExist:
        perfil = Dados_usuario()

    return render(
        request, 'products/alugar.html', {
            'cpf':
            perfil.cpf if perfil.cpf != None else "",
            'cep':
            perfil.cep if perfil.cep != None else "",
            'cidade':
            perfil.cidade if perfil.cidade != None else "",
            'estado':
            perfil.estado if perfil.estado != None else "",
            'rua':
            perfil.rua if perfil.rua != None else "",
            'bairro':
            perfil.bairro if perfil.bairro != None else "",
            'complemento':
            perfil.complemento if perfil.complemento != None else "",
        })
Esempio n. 4
0
def room(request, room_name, userId):
    user = MyUser.objects.get(id=userId)
    try:
        perfil = Dados_usuario.objects.get(user=user)
    except ObjectDoesNotExist:
        perfil = Dados_usuario()

    try:
        chat = Chat.objects.get(codigoSala=room_name)
    except ObjectDoesNotExist:
        return render(request, 'home/home.html')

    if perfil.nome == None or perfil.sobrenome == None:
        identificador = user.email
    else:
        identificador = perfil.nome + " " + perfil.sobrenome

    if chat.locatario == str(userId) or chat.locador == str(userId):
        mensagensChat = chat.mensagem_set.all()
        mensagens = ''

        for mensagemChat in mensagensChat:
            mensagens += mensagemChat.texto + "\n"

        return render(
            request, 'chat/chat.html', {
                'room_name': chat.codigoSala,
                'identificador': identificador,
                'mensagems': mensagens
            })

    return render(request, 'home/home.html')
Esempio n. 5
0
def criarSalaSubmit(request, idLocatario, idLocador):
    mensagemEnviada = request.POST.get("mensagem")

    user = MyUser.objects.get(id=idLocador)
    try:
        perfil = Dados_usuario.objects.get(user=user)
    except ObjectDoesNotExist:
        perfil = Dados_usuario()

    if perfil.nome == None or perfil.sobrenome == None:
        identificador = user.email
    else:
        identificador = perfil.nome + " " + perfil.sobrenome

    chat = Chat.objects.get(locador=idLocador, locatario=idLocatario)
    mensagem = Mensagem()
    mensagem.texto = identificador + ": " + mensagemEnviada
    mensagem.chat = chat
    mensagem.save()

    mensagensChat = chat.mensagem_set.all()
    mensagens = ''

    for mensagemChat in mensagensChat:
        mensagens += mensagemChat.texto + "\n"

    return render(
        request, 'chat/chat.html', {
            'room_name': chat.codigoSala,
            'identificador': identificador,
            'mensagems': mensagens
        })
Esempio n. 6
0
def criarSala(request, idLocatario, idLocador):
    user = MyUser.objects.get(id=idLocador)
    try:
        perfil = Dados_usuario.objects.get(user=user)
    except ObjectDoesNotExist:
        perfil = Dados_usuario()

    try:
        chat = Chat.objects.get(locador=idLocador, locatario=idLocatario)
    except ObjectDoesNotExist:
        chat = Chat()
        chat.codigoSala = gerarHash(50)
        chat.locatario = idLocatario
        chat.locador = idLocador
        chat.save()

    if perfil.nome == None or perfil.sobrenome == None:
        identificador = user.email
    else:
        identificador = perfil.nome + " " + perfil.sobrenome

    mensagensChat = chat.mensagem_set.all()
    mensagens = ''

    for mensagemChat in mensagensChat:
        mensagens += mensagemChat.texto + "\n"

    return render(
        request, 'chat/chat.html', {
            'room_name': chat.codigoSala,
            'identificador': identificador,
            'mensagems': mensagens
        })
Esempio n. 7
0
def room(request, room_name):
    user = request.user

    try:
        perfil = Dados_usuario.objects.get(user=user)
    except ObjectDoesNotExist:
        perfil = Dados_usuario()

    try:
        chat = Chat.objects.get(codigoSala=room_name)
    except ObjectDoesNotExist:
        return render(request, 'home/home.html')

    if perfil.nome == None or perfil.sobrenome == None:
        identificador = user.email
    else:
        identificador = perfil.nome + " " + perfil.sobrenome

    if chat.locatario == user or chat.locador == user:
        mensagensChat = chat.mensagem_set.all()
        mensagens = ''

        for mensagemChat in mensagensChat:
            mensagens += mensagemChat.texto + "\n"

        return render(
            request, 'chat/chat.html', {
                'room_name': chat.codigoSala,
                'identificador': identificador,
                'mensagems': mensagens,
                'produto': chat.produto,
                'desabilitarAlugar': existeAluguelEmAndamento(chat.produto)
            })

    return render(request, 'home/home.html')
Esempio n. 8
0
def alugarSubmit(request, productId):
    user = request.user
    form = AlugarForm(request.POST or None)
    produto = Product.objects.get(id=productId)
    if request.POST.get("id_cpf") != None:
        salvarPerfil(request)
    locador1 = produto.user.id
    locador = MyUser.objects.get(id=locador1)

    if request.POST and form.is_valid():
        alugar = form.save(commit=False)
        alugar.locatario = user
        alugar.locador = locador
        alugar.produto = produto
        alugar.inicio = str(form.cleaned_data['inicio'])
        alugar.fim = str(form.cleaned_data['fim'])
        alugar.confirmado = False
        alugar.save()

        status = StatusAguardando()
        status.locador = locador
        status.locatario = user
        status.produto = produto
        status.encerrado = False
        status.save()

        messages.info(
            request,
            'O locador recebeu seu pedido de aluguel, aguarde o retorno dele, ou entre em contato com ele(a) pelo chat!'
        )
        is_favourite = False
        if produto.favourite.filter(id=request.user.id).exists():
            is_favourite = True
        try:
            perfil = Dados_usuario.objects.get(user=produto.user)
        except ObjectDoesNotExist:
            perfil = Dados_usuario()

        if perfil.nome != None:
            identificador = perfil.nome
        else:
            identificador = 'Anônimo'
        return render(
            request, 'products/products-detail.html', {
                'is_favourite': is_favourite,
                'product': produto,
                'identificador': identificador
            })

    context = {
        'user': user,
        'produto': produto,
        'form': form,
        'locador': locador,  # 'productId':productId
    }

    return render(request, 'products/alugarProduto.html', context)
Esempio n. 9
0
def salvarPerfil(request):
    user = request.user

    try:
        perfil = Dados_usuario.objects.get(user=user)
    except ObjectDoesNotExist:
        perfil = Dados_usuario()

    perfil.cpf = request.POST.get("id_cpf")
    perfil.cep = request.POST.get("id_cep")
    perfil.rua = request.POST.get("id_rua")
    perfil.bairro = request.POST.get("id_bairro")
    perfil.cidade = request.POST.get("id_cidade")
    perfil.estado = request.POST.get("id_estado")
    perfil.complemento = request.POST.get("id_complemento")
    perfil.user = user
    perfil.save()
Esempio n. 10
0
def exportarpdf(request, room_name, userId):
    user = MyUser.objects.get(id=userId)
    chat = Chat.objects.get(codigoSala=room_name)
    try:
        perfil = Dados_usuario.objects.get(user=user)
    except ObjectDoesNotExist:
        perfil = Dados_usuario()

    try:
        chat = Chat.objects.get(codigoSala=room_name)
    except ObjectDoesNotExist:
        return render(request, 'home/home.html')

    if perfil.nome == None or perfil.sobrenome == None:
        identificador = user.email
    else:
        identificador = perfil.nome + " " + perfil.sobrenome

    if chat.locatario == str(userId) or chat.locador == str(userId):
        mensagensChat = chat.mensagem_set.all()
        mensagens = ''

        for mensagemChat in mensagensChat:
            mensagens += mensagemChat.texto + "\n"

    #ddaqui para baixo funciona

    usuario = 1
    try:
        template = get_template('chat/chat2.html')
        context = {
            'mensagems': mensagens,
            'room_name': chat.codigoSala,
            'user.id': user.id,
            'title': 'chhat'
        }
        html = template.render(context)
        response = HttpResponse(content_type='application/pdf')
        response['Content-Disposition'] = 'attachment; filename="chat.pdf"'
        pisaStatus = pisa.CreatePDF(html, dest=response)

        return response
    except:
        pass
    return HttpResponseRedirect(reverse_lazy('meusChats'))
Esempio n. 11
0
def roomSubmit(request, room_name):
    user = request.user
    try:
        chat = Chat.objects.get(codigoSala=room_name)
    except ObjectDoesNotExist:
        return render(request, 'home/home.html')

    try:
        perfil = Dados_usuario.objects.get(user=user)
    except ObjectDoesNotExist:
        perfil = Dados_usuario()

    if perfil.nome == None or perfil.sobrenome == None:
        identificador = user.email
    else:
        identificador = perfil.nome + " " + perfil.sobrenome

    if user != chat.locatario:
        usuarioNotificacao = chat.locatario
    else:
        usuarioNotificacao = chat.locador

    mensagemEnviada = request.POST.get("mensagem")
    mensagem = Mensagem()
    mensagem.texto = identificador + ": " + mensagemEnviada
    mensagem.chat = chat
    mensagem.user = usuarioNotificacao
    mensagem.save()

    mensagensChat = chat.mensagem_set.all()
    mensagens = ''

    for mensagemChat in mensagensChat:
        mensagens += mensagemChat.texto + "\n"

    return render(
        request, 'chat/chat.html', {
            'room_name': chat.codigoSala,
            'identificador': identificador,
            'mensagems': mensagens,
            'produto': chat.produto,
            'desabilitarAlugar': existeAluguelEmAndamento(chat.produto)
        })
Esempio n. 12
0
def criarSala(request, idProduto):
    user = request.user
    produto = Product.objects.get(id=idProduto)
    locador = produto.user
    if user == produto.user:
        return render(request, 'paginaErro.html')
    try:
        perfil = Dados_usuario.objects.get(user=user)
    except ObjectDoesNotExist:
        perfil = Dados_usuario()

    try:
        chat = Chat.objects.get(locatario=user,
                                locador=locador,
                                produto=produto)
    except ObjectDoesNotExist:
        chat = Chat()
        chat.codigoSala = gerarHash(20)
        chat.locatario = user
        chat.locador = locador
        chat.produto = produto
        chat.save()

    if perfil.nome == None or perfil.sobrenome == None:
        identificador = user.email
    else:
        identificador = perfil.nome + " " + perfil.sobrenome

    mensagensChat = chat.mensagem_set.all()
    mensagens = ''

    for mensagemChat in mensagensChat:
        mensagens += mensagemChat.texto + "\n"

    return render(
        request, 'chat/chat.html', {
            'room_name': chat.codigoSala,
            'identificador': identificador,
            'mensagems': mensagens,
            'produto': produto,
            'desabilitarAlugar': existeAluguelEmAndamento(produto)
        })
Esempio n. 13
0
def detail_product(request, id):
    product = get_object_or_404(Product, pk=id)

    is_favourite = False
    if product.favourite.filter(id=request.user.id).exists():
        is_favourite = True

    try:
        perfil = Dados_usuario.objects.get(user=product.user)
    except ObjectDoesNotExist:
        perfil = Dados_usuario()

    if perfil.nome != None:
        identificador = perfil.nome
    else:
        identificador = 'Anônimo'

    return render(
        request, 'products/products-detail.html', {
            'is_favourite': is_favourite,
            'product': product,
            'identificador': identificador
        })
Esempio n. 14
0
def criarSalaSubmit(request, idProduto):
    mensagemEnviada = request.POST.get("mensagem")
    user = request.user
    produto = Product.objects.get(id=idProduto)
    locador = produto.user

    try:
        perfil = Dados_usuario.objects.get(user=user)
    except ObjectDoesNotExist:
        perfil = Dados_usuario()

    if perfil.nome == None or perfil.sobrenome == None:
        identificador = user.email
    else:
        identificador = perfil.nome + " " + perfil.sobrenome

    chat = Chat.objects.get(locador=locador, locatario=user, produto=produto)
    mensagem = Mensagem()
    mensagem.texto = identificador + ": " + mensagemEnviada
    mensagem.chat = chat
    mensagem.user = locador
    mensagem.save()

    mensagensChat = chat.mensagem_set.all()
    mensagens = ''

    for mensagemChat in mensagensChat:
        mensagens += mensagemChat.texto + "\n"

    return render(
        request, 'chat/chat.html', {
            'room_name': chat.codigoSala,
            'identificador': identificador,
            'mensagems': mensagens,
            'produto': produto,
            'desabilitarAlugar': existeAluguelEmAndamento(produto)
        })