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))
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)
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