def next_test(): # Get the users to import sheet_name = "STUDENT USERS" #rows = db(db.student_import_queue.sheet_name == sheet_name).select() #rows = db(db.student_info).select() #for row in rows: #_ad_encoding = "iso-8859-1" #_ldap = Connection(AD._ldap_session, "huskers", # "testing", # authentication=ldap3.NTLM, # auto_bind=True, # raise_exceptions=True, # auto_referrals=False, # client_strategy=ldap3.RESTARTABLE, # #receive_timeout=60, # # ) AD.ConnectAD() return locals()
def refresh_all_ad_logins(run_from="UI"): # Go to the AD server and refresh all student and staff AD login times ret = "" # Might be longer running - make sure to commit so we don't leave databases locked db.commit() # Update the last login value for all users (students and faculty) if AD._ldap_enabled is not True: ret = "[AD Disabled]" return ret if AD.ConnectAD() is not True: ret = "[AD Connection Error]" + AD.GetErrorString() return ret # Grab list of students rows = db(db.student_info).select(db.student_info.user_id) for row in rows: # ret += "UID: " + row.user_id ll = Student.GetLastADLoginTime(row.user_id) # if (ll == None): # ret += "None" # else: # ret += str(ll) db(db.student_info.user_id == row.user_id).update(ad_last_login=ll) db.commit() # Grab a list of faculty rows = db(db.faculty_info).select(db.faculty_info.user_id) for row in rows: # ret += "UID: " + row.user_id ll = Faculty.GetLastADLoginTime(row.user_id) # if (ll == None): # ret += "None" # else: # ret += str(ll) db(db.faculty_info.user_id == row.user_id).update(ad_last_login=ll) db.commit() rows = None ad_errors = AD.GetErrorString() ret = "Done." # Have to call commit in tasks if changes made to the db db.commit() return ret