def busline_profile(request, line_number):
    """Return the profle page from a line number when requested."""
    busline = Busline.get_by_line_equals(line_number)
    posts = Post.objects.filter(busline__id=busline.id)
    posts = sorted(posts, key=lambda post: (post.time), reverse=True)
    return render_to_response("busline_profile.html", {
        'busline': busline,
        'posts': posts,
    },
                              context_instance=RequestContext(request))
示例#2
0
def make_post_page(request):
    """Return the post page when requested. """
    line_number = request.GET['line_number']
    busline = Busline.get_by_line_equals(line_number)
    busline_id = busline.id
    terminals = busline.terminals
    try:
        last_post = Post.last(busline_id)
    except LineWithoutPostError:
        last_post = None
    if request.user.is_authenticated():
        return render_to_response("make_post_page.html", {
            'line_number': line_number,
            'last_post': last_post,
            'terminals': terminals
        },
                                  context_instance=RequestContext(request))
    else:
        return modal_message(
            "Erro :(", "Usuário não logado.", "Para realizar esta ação.\
             você deve estar logado.", "login_page.html", request)
示例#3
0
def make_post_action(request):
    """Perform the action of saving the post. """

    post = Post()
    post.capacity = request.POST['capacity']
    post.traffic = request.POST['traffic']
    post.comment = request.POST['description']
    post.latitude = request.POST['codigo_latitude']
    post.longitude = request.POST['codigo_longitude']
    post.user_id = request.user.id
    try:
        post.terminal_id = request.POST["terminal"]
    except:
        return call_feed_page(request,
                              alert_title='Erro :(',
                              error_lead='Campo não preenchido.',
                              modal_message='O campo de terminal deve ser \
                              preenchido para realizar uma businada.')
    pontuation = 0

    if request.POST['review'] == '':
        pontuation = 0
    else:
        pontuation = int(request.POST['review'])
    try:
        busline = Busline.get_by_line_equals(request.POST['line_number'])
        post.busline_id = busline.id
        try:
            last_post = Post.last(post.busline_id)
            last_post.user.pontuation = last_post.user.pontuation + \
                pontuation
            last_post.user.save()
        except LineWithoutPostError:
            pass
        if post.latitude == "" or post.longitude == "":
            return call_feed_page(request,
                                  alert_title='Erro :(',
                                  error_lead='Serviço não disponível',
                                  modal_message='Não conseguimos obter sua\
                                       geolocalização.')
        post.save()
        response = call_feed_page(request,
                                  alert_title='Sucesso',
                                  error_lead='Post realizado',
                                  modal_message='Post realizado com sucesso!')
    except ApiException:
        response = call_feed_page(request,
                                  alert_title='Erro :(',
                                  error_lead='Servidor não disponível',
                                  modal_message='O acesso ao servidor está \
                                  indisponível no momento, verifique sua \
                                  conexão.')

    if post.latitude == "" or post.longitude == "":
        return call_feed_page(request,
                              alert_title='Erro :(',
                              error_lead='Servidor não disponível',
                              modal_message='Não conseguimos obter sua \
                              geolocalização')
    post.save()
    return response