From f6d059ff9174f5c4ef0949641a6e701dc0ff42cc Mon Sep 17 00:00:00 2001 From: cajus Date: Mon, 28 Dec 2009 10:37:10 +0000 Subject: [PATCH] Updated functions git-svn-id: https://oss.gonicus.de/repositories/gosa/trunk@14957 594d385d-05f5-0310-b6e9-bd551577e9d8 --- gosa-si/contrib/90_gosa.conf | 134 ++++++++++++++++++----------------- 1 file changed, 69 insertions(+), 65 deletions(-) diff --git a/gosa-si/contrib/90_gosa.conf b/gosa-si/contrib/90_gosa.conf index 1ae7362c7..81eade305 100644 --- a/gosa-si/contrib/90_gosa.conf +++ b/gosa-si/contrib/90_gosa.conf @@ -63,73 +63,77 @@ def getProductInformation_list(self, installationStatus=None, type='localboot'): return result -def getFullProductHostInformation_list(self, objectId=None, installationStatus=None, type='localboot'): +def getFullProductHostInformation_list(self, objectId=None, installationStatus=None): result = [] - # Load product ids - productIds= self.getProductIds_list(type, None, installationStatus) - - # Load product states - productStates= self.getProductStates_hash(objectId) - - # Extend every entry by name and description - for productId in productIds: - - # Add missing information to the productInfo - productInfo= self.getProduct_hash(productId) - productInfo['productId']= productId - - # Find product entry - currentState= None - for state in productStates[objectId]: - if state['productId'] == productId: - currentState= state - break - - # Add missing information to the productInfo - if currentState['installationStatus'] != "not_installed" or \ - currentState['actionRequest'] == "setup": - - # Add state for enabled products - productInfo['installationStatus']= currentState['installationStatus'] - productInfo['actionRequest']= currentState['actionRequest'] - - # Add properties - productInfo['action']= self.getPossibleProductActions_list(productId) - - # Load actual property values - propertyDefinitions= self.getProductPropertyDefinitions_listOfHashes(productId) - propertyValues= dict() - propertyDescriptions= dict() - propertyDefaults= dict() - - for property in propertyDefinitions: - if property.has_key('values'): - propertyValues[property['name']]= property['values'] - if property.has_key('description'): - propertyDescriptions[property['name']]= property['description'] - if property.has_key('default'): - propertyDefaults[property['name']]= property['default'] - - # Load all properties and complete with values/descriptions - combinedProperties= dict() - productProperties= self.getProductProperties_hash(productId, objectId) - properties= productProperties.keys() - for property in properties: - combinedProperties[property]= dict() - if propertyDescriptions.has_key(property): - combinedProperties[property]['description']= propertyDescriptions[property] - if propertyValues.has_key(property): - combinedProperties[property]['values']= propertyValues[property] - if propertyDefaults.has_key(property): - combinedProperties[property]['default']= propertyDefaults[property] - combinedProperties[property]['current']= productProperties[property] - - # Add product properties to current product info - productInfo['properties']= combinedProperties - - # Push information - result.append(productInfo) + types = ['localboot','netboot'] + for type in types: + + # Load product ids + productIds= self.getProductIds_list(type, None, installationStatus) + + # Load product states + productStates= self.getProductStates_hash(objectId) + + # Extend every entry by name and description + for productId in productIds: + + # Add missing information to the productInfo + productInfo= self.getProduct_hash(productId) + productInfo['productId']= productId + productInfo['type']= type; + + # Find product entry + currentState= None + for state in productStates[objectId]: + if state['productId'] == productId: + currentState= state + break + + # Add missing information to the productInfo + if currentState['installationStatus'] != "not_installed" or \ + currentState['actionRequest'] == "setup": + + # Add state for enabled products + productInfo['installationStatus']= currentState['installationStatus'] + productInfo['actionRequest']= currentState['actionRequest'] + + # Add properties + productInfo['action']= self.getPossibleProductActions_list(productId) + + # Load actual property values + propertyDefinitions= self.getProductPropertyDefinitions_listOfHashes(productId) + propertyValues= dict() + propertyDescriptions= dict() + propertyDefaults= dict() + + for property in propertyDefinitions: + if property.has_key('values'): + propertyValues[property['name']]= property['values'] + if property.has_key('description'): + propertyDescriptions[property['name']]= property['description'] + if property.has_key('default'): + propertyDefaults[property['name']]= property['default'] + + # Load all properties and complete with values/descriptions + combinedProperties= dict() + productProperties= self.getProductProperties_hash(productId, objectId) + properties= productProperties.keys() + for property in properties: + combinedProperties[property]= dict() + if propertyDescriptions.has_key(property): + combinedProperties[property]['description']= propertyDescriptions[property] + if propertyValues.has_key(property): + combinedProperties[property]['values']= propertyValues[property] + if propertyDefaults.has_key(property): + combinedProperties[property]['default']= propertyDefaults[property] + combinedProperties[property]['current']= productProperties[property] + + # Add product properties to current product info + productInfo['properties']= combinedProperties + + # Push information + result.append(productInfo) return result -- 2.30.2