示例#1
0
文件: views.py 项目: nandel/locais
def promote(request, slug, codigo):
    """
    Processa um promote

    Se for informado um código valido, salva o Promote
    Se este promote for o primeiro do dia (promote valido)
    é incrementado um aos promotes do estabelecimento.

    Caso o promote não seja valido, apenas redireciona ao estabelecimento
    """
    estab = get_object_or_404(Estabelecimento, slug=slug)

    # Apenas se tiver um código valido, salvamos o promote
    from estabelecimento.utils import get_codigo_validacao, promote_valido
    from models import Promote
    if get_codigo_validacao(request, estab) == codigo:
        # Salvamos o Promote
        try:
            ip_adress = request.META['HTTP_X_FORWARDED_FOR']
        except:
            ip_adress = request.META['REMOTE_ADDR']

        Promote(
            estabelecimento=estab,
            ip=ip_adress
            ).save()

        # Validamos o promote. se for valido, incrementamos um ao estabelecimento.
        if promote_valido(request, estab):
            estab.promotes = estab.promotes + 1
            estab.save()

    # Redirecionamos
    return HttpResponseRedirect(estab.get_absolute_url())
示例#2
0
文件: promote.py 项目: nandel/locais
def promote(request, estabelecimento):
    "Retorna URL para prmote do estabelecimento"
    return reverse('estabelecimento:promote', args=(estabelecimento.slug, get_codigo_validacao(request, estabelecimento)))