def dologin(request): if 'email' not in request.POST and 'password' not in request.POST: data = {'success':False, 'error_id': 1, 'error_msg': 'Login data not set'} return HttpResponse(json.dumps(data), 'application/json') email = request.POST['email'] password = request.POST['password'] try: user = User.objects.get(email=email) except: data = {'success':False, 'error_id':3, 'error_msg':'Account does not exist'} return HttpResponse(json.dumps(data), 'application/json') try: user_login = UserLogin.objects.get(user_id=user.id) except: return render_json({'success': False, 'error_id': 4, 'error_msg':'User login doesnt exist'}) salt = user_login.salt from alloy.modules.password_encryption import hash_password hashed_password = hash_password(password,salt) if user_login.password == hashed_password: #check if this user has a user_token try: user_token = UserToken.objects.get(user_id=user.id) except: try: user_token = UserToken.objects.create(user_id=user.id, token=get_random_token(), expires_at=current_datetime()) except: print traceback.print_exc() #user has successfully logged in request.session['user'] = user return render_json({'success':True, 'user': model_to_dict(user)}) else: #user login failed data = {'success':False, 'error_id':4, 'error_msg':'Invalid login'} return HttpResponse(json.dumps(data), 'application/json')
def dosignup(request): if 'user_name' not in request.POST or 'email' not in request.POST or 'password' not in request.POST: data = {'success': False, 'error_id': 1, 'error_msg': 'Data is not set'} return HttpResponse(json.dumps(data), 'application/json') user_name = request.POST['user_name'] email = request.POST['email'] password = request.POST['password'] print ":???" try: from alloy.modules.password_encryption import salt, hash_password new_salt = salt() hashed_password = hash_password(password,new_salt) token = salt() new_user = User.objects.create(name=user_name, email=email) user_login = UserLogin.objects.create(user_id=new_user.id, password=hashed_password, salt=new_salt) user_token = UserToken.objects.create(user_id=new_user.id, token=token, expires_at=datetime.datetime.utcnow()) request.session['user'] = new_user create_default_alert_setting(new_user.id) return render_json({'success': True, 'user': model_to_dict(new_user)}) except: print traceback.print_exc() data = {'success': False, 'error_id': 2, 'error_msg': 'Error creating user', 'post': request.POST} return HttpResponse(json.dumps(data), 'application/json')