def list_user_code(request): """return a list of code packages uploaded by a user""" mm = MessageManager(request) if request.GET: form = LoginForm(request.GET) if form.is_valid(): e = form.cleaned_data['username'] p = form.cleaned_data['password'] try: user = authenticate(username=e, password=p) except NameError: user = None if user is not None: if user.is_active: packages = CodePackage.objects.filter(user=user) results = '' for p in packages: results += p.title + "\n" return render_to_response('api/serve.html', {'result':results.rstrip('\n')}) else: # account is disabled mm.set_error('This account has been disabled, or has not been activated.') else: # invalid login mm.set_error('Invalid credentials.') return render(request, 'api/list_user_code.html', {'form':form}, mm.messages()) else: # return form errors to user return render(request, 'api/list_user_code.html', {'form':form}, mm.messages()) else: form = DeleteCodePackageForm() return render(request, 'api/list_user_code.html', {'form':form}, mm.messages())
def login_view(request): """Login to a user account and redirect to profile""" # TODO: put link on profile page to return to original page # prepare messages mm = MessageManager(request) if request.user.is_authenticated(): return redirect(request.user.get_absolute_url()) if request.POST: if request.session.test_cookie_worked(): request.session.delete_test_cookie() # cookies are enabled form = LoginForm(request.POST) if not form == None and form.is_valid(): # log the user in. we extended to backend to allow using email # instead of just username e = form.cleaned_data['username'] p = form.cleaned_data['password'] try: user = authenticate(username=e, password=p) except NameError: user = None if user is not None: if user.is_active: #request.user = user login(request, user) mm.set_success('you are logged in!') return redirect(request.user.get_absolute_url()) else: # account is disabled mm.set_error('This account has been disabled, or has not been activated.') else: # invalid login mm.set_error('Invalid credentials.') else: #mm.set_error('The form is invalid') pass else: # cookies are not enabled mm.set_error('Please enable cookies and try again.') else: form = LoginForm() request.session.set_test_cookie() return render(request, 'accounts/login.html', {'form':form}, mm.messages())