def buildUserJSONObj()

in SupportScripts/Python/AccountManagement/scim_sdk.py [0:0]


def buildUserJSONObj(userObj):
	data = {}
	schemas = [SCHEME_CORE]
	ent = {}
	keys = userObj.keys()
	if csv_header.EMAIL_HEADER in keys:
		data[FIELD_USER_NAME] = userObj.get(csv_header.EMAIL_HEADER, None)
	if csv_header.EXTERNALID_HEADER in keys:
		data[FIELD_EXTERNALID]  = userObj[csv_header.EXTERNALID_HEADER]
	if csv_header.FIRST_NAME_HEADER in keys or csv_header.LAST_NAME_HEADER in keys:
		data[FIELD_NAME]  = getName(userObj)
	if csv_header.JOB_HEADER in keys:
		data[FIELD_TITLE] = userObj[csv_header.JOB_HEADER]
	if csv_header.PHONE_HEADER in keys:
		data[FIELD_PHONE_NUMBERS] = [{FIELD_VALUE:userObj[csv_header.PHONE_HEADER], FIELD_TYPE:FIELD_WORK, FIELD_PRIMARY: True}]
	if csv_header.STARTDATE_HEADER in keys:
				startTime = userObj.get(csv_header.STARTDATE_HEADER)
				if re.search('\d{4}\-\d{2}\-\d{2}',startTime):
						d = datetime.datetime.strptime(startTime, '%Y-%m-%d')
						data[SCHEME_TERMDATES] = {FIELD_STARTDATE:int(time.mktime(d.timetuple())),"termDate":0}
				else:
						data[SCHEME_TERMDATES] = {FIELD_STARTDATE:int(startTime), "termDate":0}
				schemas.append(SCHEME_TERMDATES)
	if csv_header.DEPARTMENT_HEADER in keys:
		ent[FIELD_DEPARTMENT] = userObj.get(csv_header.DEPARTMENT_HEADER, None)
	if csv_header.ORGANIZATION_HEADER in keys:
		ent[FIELD_ORGANIZATION] = userObj.get(csv_header.ORGANIZATION_HEADER, None)
	if csv_header.DIVISION_HEADER in keys:
		ent[FIELD_DIVISION] = userObj.get(csv_header.DIVISION_HEADER, None)
	if csv_header.COSTCENTER_HEADER in keys:
		ent[FIELD_COSTCENTER] = userObj.get(csv_header.COSTCENTER_HEADER, None)
	if csv_header.LOCATION_HEADER in keys:
		data[FIELD_ADDRESSES] = [{FIELD_TYPE:FIELD_WORK, FIELD_FORMATTED:userObj.get(csv_header.LOCATION_HEADER, None), FIELD_PRIMARY:True}]
	if csv_header.LOCALE_HEADER in keys:
		data[FIELD_LOCALE] = userObj.get(csv_header.LOCALE_HEADER, None)
	if csv_header.TIMEZONE_HEADER in keys:
		data[FIELD_TIMEZONE] = userObj.get(csv_header.TIMEZONE_HEADER, None)
	if FIELD_ID in keys:
		data[FIELD_ID] = userObj[FIELD_ID]
	if FIELD_ACTIVE in keys:
		data[FIELD_ACTIVE] = userObj.get(FIELD_ACTIVE, None)
	if FIELD_MANAGER_ID in keys:
		ent[FIELD_MANAGER] = {FIELD_MANAGER_ID:userObj.get(FIELD_MANAGER_ID, None)}
	if len(ent) > 0:		
		data[SCHEME_NTP] = ent
		schemas.append(SCHEME_NTP)


	#add schmeas to obj
	data[FIELD_SCHEMAS] = schemas

	return data