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