def create_user(user_type, user_dict): user_dict["password"] = hashlib.md5(user_dict["password"]).hexdigest() if user_type == "scholar": new_user = ScholarUser(**user_dict) else : new_user = DonorUser(**user_dict) Session.add(new_user) Session.commit() return new_user
def valid_login(email, password): password = hashlib.md5(password).hexdigest() try: user = Session.query(User).filter(User.email==email).\ filter(User.password==password).one() except: user = False return user
def profile_update(self): user = ScholarUser.by_id(session['user']['id']) profile = Profile.by_user_id(session['user']['id']) if 'school' in request.params : school = School.by_name(request.params['school']) if not school: school = create_school(request.params['school']) profile.school = school profile.school_id = school.id if 'major' in request.params : profile.major = request.params['major'] if 'gpa' in request.params : profile.gpa = request.params['gpa'] if 'hometown' in request.params : profile.hometown = request.params['hometown'] #birthdate #race #religion #activities Session.add(profile) Session.commit() return "Profile updated."
def create(self): user = User.by_name(username=request.params['username']) if user: # The client tried to create a user that already exists abort(409, '409 Conflict', headers=[('location', url('user', id=user.username))]) user_dict = {} for param in request.params: if param == "user_type": user_type = request.params[param] else : user_dict[param] = request.params[param] new_user = create_user(user_type, user_dict) #new_user does not have a user id until after commit if user_type == "scholar": Session.add(Profile(new_user)) Session.commit() session["user"] = {"id": new_user.id, "name": "%s %s" % (new_user.firstname, new_user.lastname)} session.save() return redirect("/"+user_type+"/")
def by_user_id(cls, user_id): try: profile = Session.query(cls).filter(cls.user_id==user_id).one() except orm.exc.NoResultFound: profile = False return profile
def by_id(cls,user_id): try: user = Session.query(cls).filter(cls.id==user_id).one() except orm.exc.NoResultFound: return False return user
def by_name(cls,username): try: user = Session.query(cls).filter(cls.username==username).one() except orm.exc.NoResultFound: return False return user
def create_school(name): school = School(name) Session.add(school) Session.commit() return school
def by_name(cls, name): try: school = Session.query(cls).filter(cls.name==name).one() except orm.exc.NoResultFound: school = False return school