Handle case where several user attribute items are set primary (#586)

* Handle where several user attributes items are set primary

* Throw error when multiple items are marked primary
This commit is contained in:
Ross Scroggs
2017-09-16 17:56:00 -07:00
committed by Jay Lee
parent d667da4851
commit 323c7da201

View File

@ -6433,21 +6433,27 @@ def doGetUserSchema():
schema = callGAPI(cd.schemas(), u'get', customerId=GC_Values[GC_CUSTOMER_ID], schemaKey=schemaKey)
_showSchema(schema)
def checkClearBodyList(i, body, itemName):
if sys.argv[i].lower() == u'clear':
if itemName in body:
del body[itemName]
body.setdefault(itemName, None)
return True
return False
def appendItemToBodyList(body, itemName, itemValue):
if (itemName in body) and (body[itemName] is None):
del body[itemName]
body.setdefault(itemName, [])
body[itemName].append(itemValue)
def getUserAttributes(i, cd, updateCmd=False):
def checkClearBodyList(i, body, itemName):
if sys.argv[i].lower() == u'clear':
if itemName in body:
del body[itemName]
body.setdefault(itemName, None)
return True
return False
def appendItemToBodyList(body, itemName, itemValue):
if (itemName in body) and (body[itemName] is None):
del body[itemName]
body.setdefault(itemName, [])
# Throw an error if multiple items are marked primary
if itemValue.get(u'primary', False):
for citem in body[itemName]:
if citem.get(u'primary', False):
print u'ERROR: Multiple {0} are marked primary, only one can be primary'.format(itemName)
sys.exit(2)
body[itemName].append(itemValue)
def _splitSchemaNameDotFieldName(sn_fn, fnRequired=True):
if sn_fn.find(u'.') != -1:
schemaName, fieldName = sn_fn.split(u'.', 1)