def trippins_login(request): context = {} # if already login, directly redirect to stream page if request.user.is_authenticated(): return redirect(reverse('index')) if request.method == 'GET': context['form'] = LoginForm() return render(request, 'authentication/login.html', context) form = LoginForm(request.POST) context['form'] = form if not form.is_valid(): print form.errors return render(request, 'authentication/login.html', context) user = authenticate(username=form.cleaned_data['username'], \ password=form.cleaned_data['password']) try: login(request, user) request.session["max_follow_pid"] = getMaxFeedPid(request) print getMaxFeedPid(request) except Exception as err: print err print 'username password mismatch' context['error_message'] = "Your username and password seems wrong, please try again" return render(request, 'authentication/login.html', context) return redirect(reverse('index'))
def check_updates(request, max_pid=0): try: # in case user logined in via cookie max_pid = request.session["max_follow_pid"] except: max_pid = getMaxFeedPid(request) request.session["max_follow_pid"] = max_pid context = {} user = TripUser.objects.get(user = request.user) following_set = [followee for followee in user.followings.all()] new_pins = Pin.objects.filter(user__in = following_set, id__gt = max_pid).order_by('-date') if len(new_pins)>0: request.session["max_follow_pid"] = new_pins[0].id print "current max follow pid %s" % (Pin.get_max_id()) context['pins'] = new_pins return render(request, 'pins.json', context, content_type='application/json')