Ejemplo n.º 1
0
    def get_queryset(self):
        lojas = ""
        cat = ""
        if self.request.user.is_authenticated:
            try:
                """
                Tenta filtrar quais lojas entregam em sua residencia,
                caso não consiga filtrar retornara todas as lojas cadastras no site
                """
                u = usuarios.objects.get(id=self.request.user.id)
                end = enderecos.objects.get(cliente=u)
                c = end.CEP
                x = criarLista(c)
                lojas = x

            except:
                """caso não consiga filtrar as lojas que fassam entrega na sua residencia, 
                ira retornar todas as lojas cadastradas"""
                lojas = Lojas.objects.all()
        else:
            lojas = Lojas.objects.all()

        try:
            if self.request.GET['pesquisa']:
                import re
                import unidecode
                p = self.request.GET['pesquisa']
                l = []
                lista = lojas
                for item in lista:
                    encontrou = False
                    if re.search(str(p), str(unidecode.unidecode(item.nome)),
                                 re.IGNORECASE):
                        l.append(item)
                        encontrou = True
                    if re.search(str(unidecode.unidecode(p)),
                                 str(unidecode.unidecode(item.nome)),
                                 re.IGNORECASE) and encontrou == False:
                        l.append(item)
                        encontrou = True
                    if re.search(str(p), str(item.nome),
                                 re.IGNORECASE) and encontrou == False:
                        l.append(item)
                        encontrou = True
                return l
        except:
            pass

        return lojas
Ejemplo n.º 2
0
def pesquisa_home(req, pesquisa, page):
    ender = ""
    lista_lojas = ""
    pagina = page
    h = ""
    if req.user.is_authenticated:
        try:
            usu = usuarios.objects.filter(id=req.user.id)
        except:
            lista_lojas = Lojas.objects.all()
        if len(usu) != 0:
            try:
                ender = enderecos.objects.filter(cliente=req.user.id)
                qt = len(ender)
                if qt == 0:
                    try:
                        return redirect('novo-endereco')
                    except:
                        pass
            except:
                pass
        try:
            """
            Tenta filtrar quais lojas entregam em sua residencia,
            caso não consiga filtrar retornara todas as lojas cadastras no site
            """
            u = get_object_or_404(usuarios, pk=req.user.id)
            end = get_object_or_404(enderecos, cliente=u)
            c = end.CEP
            x = criarLista(c)
            lista_lojas = x

        except:
            """caso não consiga filtrar as lojas que fassam entrega na sua residencia, 
            ira retornar todas as lojas cadastradas"""
            lista_lojas = Lojas.objects.all()

    else:
        lista_lojas = Lojas.objects.all()

    if req.method == 'POST':
        obj = ""
        try:
            obj = loads(req.body)
        except:
            obj = "vazio"
        if obj != 'vazio':
            try:
                h = float(obj['h'])
            except:
                h = "vazio"
        else:
            import re
            import unidecode
            pesquisa = req.POST['pesquisa']
            l = []
            for item in lista_lojas:
                encontrou = False
                if re.search(str(pesquisa),
                             str(unidecode.unidecode(item.nome)),
                             re.IGNORECASE):
                    l.append(item)
                    encontrou = True
                if re.search(str(unidecode.unidecode(pesquisa)),
                             str(unidecode.unidecode(item.nome)),
                             re.IGNORECASE) and encontrou == False:
                    l.append(item)
                    encontrou = True
                if re.search(str(pesquisa), str(item.nome),
                             re.IGNORECASE) and encontrou == False:
                    l.append(item)
                    encontrou = True
            lista_lojas = l
            page = 0

    else:
        #aqui fara o filtro da pesquisa que foi feita
        if pesquisa != "null":
            l = []
            for item in lista_lojas:
                import re
                import unidecode
                encontrou = False
                if re.search(str(pesquisa),
                             str(unidecode.unidecode(item.nome)),
                             re.IGNORECASE):
                    l.append(item)
                    encontrou = True
                if re.search(str(unidecode.unidecode(pesquisa)),
                             str(unidecode.unidecode(item.nome)),
                             re.IGNORECASE) and encontrou == False:
                    l.append(item)
                    encontrou = True
                if re.search(str(pesquisa), str(item.nome),
                             re.IGNORECASE) and encontrou == False:
                    l.append(item)
                    encontrou = True
                lista_lojas = l

    #caso esteja sendo feita uma nova pesquisa sera executada esta função
    if h != "" and h != "vazio":
        a = []
        resposta = ""
        for loja in lista_lojas:
            if verificar_horario(loja, h) == False:
                a.append(loja.id)
        resposta = {'fechadas': a}
        return HttpResponse(json.dumps(resposta))
    sublistas = dividir_lista(lista_lojas, n)
    lista_lojas = sublistas[page]
    voltar = page - 1
    #print(obj[0])
    if page < len(sublistas) - 1:
        page += 1
    else:
        page = 'ultima'

    print("IP: " + str(req.META['REMOTE_ADDR']))

    return render(
        req, 'home/pesquisa_home.html', {
            'lojas': lista_lojas,
            'carregar_mais': page,
            'voltar': voltar,
            'pagina': pagina,
            'pesquisa': pesquisa
        })
Ejemplo n.º 3
0
def home_categoria(req, categoria, page):
    ender = ""
    lista_lojas = ""
    pagina = page
    h = ""
    if req.method == 'POST':
        obj = ""
        try:
            obj = loads(req.body)
        except:
            obj = "vazio"
        if obj != 'vazio':
            try:
                h = float(obj['h'])
            except:
                h = "vazio"
        else:
            page = 0
            pesquisa = req.POST['pesquisa']
            if not pesquisa:
                pesquisa = "null"
            return redirect('pesquisa_categoria', categoria, pesquisa, page)

    if req.user.is_authenticated:
        try:
            usu = usuarios.objects.filter(id=req.user.id)
        except:
            lista_lojas = Lojas.objects.all()
        if len(usu) != 0:
            try:
                ender = enderecos.objects.filter(cliente=req.user.id)
                qt = len(ender)
                if qt == 0:
                    try:
                        return redirect('novo-endereco')
                    except:
                        pass
            except:
                pass
        try:
            """
            Tenta filtrar quais lojas entregam em sua residencia,
            caso não consiga filtrar retornara todas as lojas cadastras no site
            """
            u = get_object_or_404(usuarios, pk=req.user.id)
            end = get_object_or_404(enderecos, cliente=u)
            c = end.CEP
            x = criarLista(c)
            lista_lojas = x

        except:
            """caso não consiga filtrar as lojas que fassam entrega na sua residencia, 
            ira retornar todas as lojas cadastradas"""
            lista_lojas = Lojas.objects.all()

    else:
        lista_lojas = Lojas.objects.all()

    l = []
    for loja in lista_lojas:
        if str(categoria) == 'comida':
            if loja.categoria.categoria == 'Restaurantes':
                l.append(loja)

            if loja.categoria.categoria == 'Pizzarias':
                l.append(loja)

            if loja.categoria.categoria == 'Lanchonetes':
                l.append(loja)
        else:
            if str(loja.categoria) == str(categoria):
                l.append(loja)

    #Função que verifica o horario das Lojas
    if h != "" and h != "vazio":
        a = []
        resposta = ""
        for loja in lista_lojas:
            if verificar_horario(loja, h) == False:
                a.append(loja.id)
        resposta = {'fechadas': a}
        return HttpResponse(json.dumps(resposta))
    lista_lojas = l
    sublistas = dividir_lista(lista_lojas, n)
    lista_lojas = sublistas[page]
    voltar = page - 1
    #print(obj[0])
    if page < len(sublistas) - 1:
        page += 1
    else:
        page = 'ultima'

    print("IP: " + str(req.META['REMOTE_ADDR']))

    return render(
        req, 'home/home_categoria.html', {
            'lojas': lista_lojas,
            'carregar_mais': page,
            'voltar': voltar,
            'pagina': pagina,
            'categoria': categoria
        })
Ejemplo n.º 4
0
def home(req, page):
    #primeiro faz a verifição se o usuario é uma loja
    is_loja = False
    pagina = page
    if req.user.is_authenticated:
        try:
            grupo = req.user.groups.all()
            if grupo[0].name == "Administração":
                print('é do grupo')
        except:
            pass
        u = Lojas.objects.filter(pk=req.user.id)
        if len(u) == 1:
            is_loja = True
        else:
            is_loja = False
    if is_loja == True:
        return redirect('vender')

    ender = ""
    lista_lojas = ""
    h = ""
    if req.method == 'POST':
        obj = ""
        try:
            obj = loads(req.body)
        except:
            obj = "vazio"
        if obj != 'vazio':
            try:
                h = float(obj['h'])
            except:
                h = "vazio"
        else:
            page = 0
            pesquisa = req.POST['pesquisa']
            if not pesquisa:
                pesquisa = "null"
            return redirect('pesquisa_home', pesquisa, page)

    if req.user.is_authenticated:
        try:
            usu = usuarios.objects.filter(id=req.user.id)
        except:
            lista_lojas = Lojas.objects.all()
        if len(usu) != 0:
            try:
                ender = enderecos.objects.filter(cliente=req.user.id)
                qt = len(ender)
                if qt == 0:
                    try:
                        return redirect('novo-endereco')
                    except:
                        pass
            except:
                pass
        try:
            """
            Tenta filtrar quais lojas entregam em sua residencia,
            caso não consiga filtrar retornara todas as lojas cadastras no site
            """
            u = get_object_or_404(usuarios, pk=req.user.id)
            end = get_object_or_404(enderecos, cliente=u)
            c = end.CEP
            x = criarLista(c)
            lista_lojas = x

        except:
            """caso não consiga filtrar as lojas que fassam entrega na sua residencia, 
            ira retornar todas as lojas cadastradas"""
            lista_lojas = Lojas.objects.all()

    else:
        lista_lojas = Lojas.objects.all()

    if h != "" and h != "vazio":
        a = []
        resposta = ""
        for loja in lista_lojas:
            if verificar_horario(loja, h) == False:
                a.append(loja.id)
        resposta = {'fechadas': a}
        return HttpResponse(json.dumps(resposta))
    sublistas = dividir_lista(lista_lojas, n)
    lista_lojas = sublistas[page]
    voltar = page - 1
    #print(obj[0])
    if page < len(sublistas) - 1:
        page += 1
    else:
        page = 'ultima'

    print("IP: " + str(req.META['REMOTE_ADDR']))

    return render(
        req, 'home/home.html', {
            'lojas': lista_lojas,
            'carregar_mais': page,
            'voltar': voltar,
            'pagina': pagina
        })