def get_manager(self, manager_cn): try: manager_obj = LDAPUser.objects.get(cn=manager_cn) except LDAPUser.DoesNotExist: manager_obj = LDAPUser( cn=manager_cn, displayName='', mail='', hire_date='1900-01-01') try: print "Adding blank manager: %s" % manager_cn manager_obj.save() except IntegrityError as e: print "Trying to save:%s" % info transaction.rollback() raise e return manager_obj
def write_user_info_to_db(self, info): #print "INFO:%s" % info # make sure the manager exists if 'manager' in info: manager = self.get_manager(info['manager']) else: manager = None try: ldap_user_obj = LDAPUser.objects.get(cn=info['CN']) # overwrite ldap_user_obj.cn = info['CN'] ldap_user_obj.displayName = info['displayName'] ldap_user_obj.mail = info['mail'] ldap_user_obj.hire_date = info['whenCreated'] ldap_user_obj.department = info.get('department', '') ldap_user_obj.title = info.get('title', '') ldap_user_obj.state = info.get('st', '') ldap_user_obj.location = info.get('l', '') ldap_user_obj.manager = manager except LDAPUser.DoesNotExist: ldap_user_obj = LDAPUser( cn=info['CN'], displayName=info['displayName'], mail=info['mail'], hire_date=info['whenCreated'], department=info.get('department', ''), title=info.get('title', ''), state=info.get('st', ''), location=info.get('l', ''), manager=manager) try: print "Saving %s" % info['CN'] ldap_user_obj.save() except IntegrityError as e: print "Trying to save:%s" % info transaction.rollback() raise e