예제 #1
0
 def get_most_recently_completed_interview(self, phone_number, for_update = False):
     last_interview = None
     db_session = DB_Session_Factory.get_db_session()
     query = db_session.query(interview.Interview).filter(interview.Interview.interviewer_email==self.email, func.date(interview.Interview.start_time) == func.date(func.now()), interview.Interview.end_time < func.now(), interview.Interview.phone_number_to_use == phone_number).order_by(interview.Interview.end_time.desc())
     if for_update is True:
         query = query.with_lockmode('update')
     return query.first()
예제 #2
0
 def session_is_active(session_id):
     db_session = DB_Session_Factory.get_db_session()
     user = db_session.query(User).filter(User.session_id == session_id).first()
     session_is_active = False
     if user is not None and user.session_expiration > datetime.now():
         session_is_active = True
     return session_is_active
예제 #3
0
 def user_for_session_cookie(session_id):
     if session_id is None:
         return None
     db_session = DB_Session_Factory.get_db_session()
     user = db_session.query(User).filter(User.session_id == session_id).first()
     session_is_active = False
     if user is None or user.session_expiration < datetime.now():
         user = None
     return user
예제 #4
0
 def department_for_keyword(keyword):
     db_session = DB_Session_Factory.get_db_session()
     best_dep_keyword = None
     for dep_keyword in db_session.query(Department_Keyword).filter(func.instr(keyword, Department_Keyword.keyword) > 0):
         if best_dep_keyword is None or len(best_dep_keyword.keyword) < len(dep_keyword.keyword):
             best_dep_keyword = dep_keyword
     department = None
     if best_dep_keyword is not None:
         department = db_session.query(Department).get(best_dep_keyword.department_id)
     return department
예제 #5
0
 def refresh_user_session(email):
     db_session = DB_Session_Factory.get_db_session()
     user = db_session.query(User).get(email)
     if user is None:
         user = User(email)
     else:
         user.session_expiration = datetime.now() + timedelta(hours = 2)
     db_session.add(user)
     db_session.commit()
     return user
예제 #6
0
 def refresh_user_session(email):
     db_session = DB_Session_Factory.get_db_session()
     user = db_session.query(User).get(email)
     if user is None:
         user = User(email)
     else:
         if user.session_expiration < datetime.now():
             user.session_id = hashlib.sha1(email + user.session_expiration.isoformat()).hexdigest()
         user.session_expiration = datetime.now() + timedelta(hours=2)
     db_session.add(user)
     db_session.commit()
     return user
예제 #7
0
 def get_interviewer_by_phone_number(phone_number):
     session = DB_Session_Factory.get_db_session()
     return session.query(Interviewer).filter(Interviewer.phone_number == phone_number).first()
예제 #8
0
 def get_opt_ins_after_date(min_date):
     if min_date is None:
         min_date = datetime.fromtimestamp(28800)
     db_session = DB_Session_Factory.get_db_session()
     return db_session.query(Opt_In).filter(Opt_In.updated > min_date).order_by(Opt_In.updated.asc())