示例#1
0
文件: views.py 项目: joncasdam/llv
def lojas_mais_solicitadas(request, shopping_id):
    inicio_str = inicio = fim_str = fim = None
    if request.method == "POST":
        inicio_str = request.POST.get('inicio', None)
        inicio = datetime.strptime(inicio_str, '%d/%m/%Y')
        fim_str = request.POST.get('fim', None)
        fim = datetime.strptime(fim_str, '%d/%m/%Y')

    contexto = {'nome_shopping': Shopping.objects.get(id=shopping_id).nome}

    if inicio and fim:
        query_filtro = Loja.objects.annotate(pedidos=Count('pk', only=Q(shopping=shopping_id,
                                                                        solicitacoes__data_criacao__gte=inicio,
                                                                        solicitacoes__data_criacao__lte=fim))) \
                                   .order_by('-pedidos')
        filtradas, total_filtradas = listas_e_totais(query_filtro, 'pedidos')
        contexto.update({'filtradas': filtradas, 'total_filtradas': total_filtradas,
                         'inicio': inicio_str, 'fim': fim_str})
    else:
        hoje = date.today()
        mes = hoje + timedelta(days=-30)
        semana = hoje + timedelta(days=-7)
        solicitadas_query = Loja.relatorio_solicitacoes(shopping_id)
        mais_solicitadas, total_solicitadas = listas_e_totais(solicitadas_query, 'pedidos')
        mes_query = Loja.relatorio_solicitacoes(shopping_id, date=mes)
        mais_do_mes, total_mes = listas_e_totais(mes_query, 'pedidos')
        semana_query = Loja.relatorio_solicitacoes(shopping_id, date=semana)
        mais_da_semana, total_semana = listas_e_totais(semana_query, 'pedidos')
        contexto.update({'mais_solicitadas': mais_solicitadas, 'total_solicitadas': total_solicitadas,
                         'mais_do_mes': mais_do_mes, 'total_mes': total_mes,
                         'mais_da_semana': mais_da_semana, 'total_semana': total_semana})
    return render(request, "relatorios/lojas_mais_solicitadas.html", contexto)
示例#2
0
文件: views.py 项目: joncasdam/llv
def categoria(request, categoria):
    categoria = Categoria.objects.filter(slug=categoria).get()
    hoje = date.today()
    items = Oferta.objects.filter(status=Oferta.PUBLICADO, categoria=categoria)\
                          .filter(inicio__lte=hoje,fim__gte=hoje)
    destaques, ofertas, eventos, mais_paginas = destaques_ofertas_eventos(items)

    contexto = {'destaques': destaques,
                'ultimo_destaque_id': [int(d['id']) for d in destaques],
                'eventos': eventos,
                'ultimo_evento_id': [int(e['id']) for e in eventos],
                'ofertas': ofertas,
                'ultima_oferta_id': [int(o['id']) for o in ofertas],
                'categorias': Categoria.publicadas_com_oferta(),
                'mais_paginas': mais_paginas,
                'lojas': Loja.publicadas_com_oferta(),
                'lojas_splash': Loja.publicadas_sem_oferta()}
    return render(request, "home.html", contexto)
示例#3
0
 def function_depara(linha):
     id = linha[0].replace("'","").strip()
     if Loja.objects.filter(id=id).exists():
         loja = Loja.objects.get(id=id)
     else:
         loja = Loja()
     
     loja.nome = linha[1].replace("'","").strip()
     loja.logo = linha[2].replace("'","").strip()
     loja.site = linha[3].replace("'","").strip()
     loja.save()
示例#4
0
文件: views.py 项目: joncasdam/llv
def contexto_home(destaques, eventos, ofertas, mais_paginas, shopping, com_filtro=False):
    trinta = tem_trinta = tem_cinq = cinquenta = tem_setenta = setenta \
    = preco1 = tem_preco1 = preco2 = tem_preco2 = preco3 = tem_preco3 = preco4 \
        = tem_preco4 = preco5 = tem_preco5 = False
    generos = []

    if com_filtro:
        destaques_x = Oferta.prontos(tipo=Oferta.DESTAQUE, shopping=shopping.id)
        eventos_x = Oferta.prontos(tipo=Oferta.EVENTO, shopping=shopping.id)
        ofertas_x = Oferta.prontos(shopping=shopping.id)
        ofertas_x = ofertas_x[:slice_oferta(len(destaques_x), len(eventos_x))]
    else:
        destaques_x = destaques
        eventos_x = eventos
        ofertas_x = ofertas

    lojas_dict = {}
    for i in Oferta.itens_por_shopping(shopping=shopping.id):
        #Condição antiga. **Fabiano Miranda**
        #if i.genero and Oferta.GENEROS[i.genero][1].lower() not in generos: 
        if Oferta.GENEROS[i.genero][1].lower() not in generos:
            generos.append(Oferta.GENEROS[i.genero][1])
        desconto = int(i.desconto) if i.desconto else None
        if desconto:
            if not tem_trinta and desconto <= 30:
                trinta = tem_trinta = True
            if not tem_cinq and desconto > 30 and desconto <= 50:
                cinquenta = tem_cinq = True
            if not tem_setenta and desconto > 50:
                setenta = tem_setenta = True

        preco = int(i.preco_final) if i.preco_final else None
        if preco:
            if not tem_preco1 and preco <= 30:
                preco1 = tem_preco1 = True
            if not tem_preco2 and preco > 30 and preco <= 50:
                preco2 = tem_preco2 = True
            if not tem_preco3 and preco > 50 and preco <= 100:
                preco3 = tem_preco3 = True
            if not tem_preco4 and preco > 100 and preco <= 300:
                preco4 = tem_preco4 = True
            if not tem_preco5 and preco > 300:
                preco5 = tem_preco5 = True
        if i.loja:
            lojas_dict[i.loja.slug] = i.loja.nome
    #for i in destaques_x+eventos_x+ofertas_x:
    #    if i.get('genero', None) and i['genero'].lower() not in generos:
    #        generos.append(i['genero'])
    #    desconto = int(i['desconto']) if i.get('desconto', None) else None
    #    if desconto:
    #        if not tem_trinta and desconto <= 30:
    #            trinta = tem_trinta = True
    #        if not tem_cinq and desconto > 30 and desconto <= 50:
    #            cinquenta = tem_cinq = True
    #        if not tem_setenta and desconto > 50:
    #            setenta = tem_setenta = True
    #    if i.get('loja', None):
    #        lojas_dict[i['loja']['slug']] = i['loja']['nome'] 
    #    preco = int(i['preco_final']) if i.get('preco_final', None) else None
    #    if preco:
    #        if not tem_preco1 and preco <= 30:
    #            preco1 = tem_preco1 = True
    #        if not tem_preco2 and preco > 30 and preco <= 50:
    #            preco2 = tem_preco2 = True
    #        if not tem_preco3 and preco > 50 and preco <= 100:
    #            preco3 = tem_preco3 = True
    #        if not tem_preco4 and preco > 100 and preco <= 300:
    #            preco4 = tem_preco4 = True
    #        if not tem_preco5 and preco > 300:
    #            preco5 = tem_preco5 = True

    return {'destaques': destaques,
            'ultimo_destaque_id': [int(d['id']) for d in destaques],
            'eventos': eventos,
            'ultimo_evento_id': [int(e['id']) for e in eventos],
            'ofertas': ofertas,
            'ultima_oferta_id': [int(o['id']) for o in ofertas],
            'categorias': Categoria.publicadas_com_oferta(shopping.id),
            'mais_paginas': mais_paginas,
            #'lojas': Loja.publicadas_com_oferta(shopping=shopping.id),
            'lojas_dict': OrderedDict(sorted(lojas_dict.items(), key=lambda n: n[1])),
            'lojas_splash': Loja.publicadas_sem_oferta(shopping=shopping.id),
            'sazonal': Sazonal.atual(shopping=shopping.id),
            'shopping_id': shopping.id,
            'shopping_slug': shopping.slug,
            'shopping_nome': shopping.nome,
            'generos': set(generos),
            'trinta': trinta,
            'cinquenta': cinquenta,
            'setenta': setenta,
            'preco1': preco1,
            'preco2': preco2,
            'preco3': preco3,
            'preco4': preco4,
            'preco5': preco5}