diff --git a/product/ERP5Type/XMLMatrix.py b/product/ERP5Type/XMLMatrix.py index 894bca1c98f9e7b7b3955e7d11e0c9bce3374813..ca4b56ff8ed62ab40b83db0e6d0f390114177e5c 100644 --- a/product/ERP5Type/XMLMatrix.py +++ b/product/ERP5Type/XMLMatrix.py @@ -197,14 +197,13 @@ class XMLMatrix(Folder): # Create an index for this base_id self.index[base_id] = PersistentMapping() - new_index[base_id] = PersistentMapping() # Recreate a new index for the new range defined in *kw i = 0 for index_ids in kw: - new_index[base_id][i] = PersistentMapping() + new_index[i] = PersistentMapping() j = 0 for my_id in index_ids: - new_index[base_id][i][my_id] = j + new_index[i][my_id] = j j += 1 i += 1 @@ -213,10 +212,10 @@ class XMLMatrix(Folder): movement[i] = {} # If the new index has the same dimensionality # Look at new location of cells - if new_index[base_id].has_key(i): + if new_index.has_key(i): # Look at each index in a given dimension i for my_id in self.index[base_id][i].keys(): - new_place = new_index[base_id][i].get(my_id) + new_place = new_index[i].get(my_id) old_place = self.index[base_id][i][my_id] # create a movement in dimension i between old_place and new_place movement[i][old_place] = new_place @@ -252,7 +251,7 @@ class XMLMatrix(Folder): object_place = object_id[len(base_id)+1:].split('_') to_delete = 1 # We must have the same number of dimensions - if len(object_place) == len(new_index[base_id]): + if len(object_place) == len(new_index): # Let us browse each dimension of the previous index for i in range(len(object_place)): # Build each part of the nex id by looking up int. values @@ -309,7 +308,7 @@ class XMLMatrix(Folder): # from catalog automaticaly # We don't need the old index any more, we # can set the new index - self.index[base_id] = new_index[base_id] + self.index[base_id] = new_index security.declareProtected( Permissions.ModifyPortalContent, 'setCellRange' ) def setCellRange(self, *kw, **kwd):