def manage_doCustomize(self, folder_path, RESPONSE=None): ''' Makes a Folder with the same properties. ''' custFolder = self.getCustomizableObject() fpath = tuple(split(folder_path, '/')) folder = self.restrictedTraverse(fpath) id = self.getId() obj = Folder(id) map = [] for p in self._properties: # This should be secure since the properties come # from the filesystem. setattr(obj, p['id'], getattr(self, p['id'])) map.append({ 'id': p['id'], 'type': p['type'], 'mode': 'wd', }) obj._properties = tuple(map) obj.id = id folder._verifyObjectPaste(obj, validate_src=0) folder._setObject(id, obj) if RESPONSE is not None: RESPONSE.redirect('%s/%s/manage_propertiesForm' % (folder.absolute_url(), id))
def _createZODBClone(self): """Create a ZODB (editable) equivalent of this object.""" # Create a Folder to hold the properties. obj = Folder() obj.id = self.getId() map = [] for p in self._properties: # This should be secure since the properties come # from the filesystem. setattr(obj, p['id'], getattr(self, p['id'])) map.append({'id': p['id'], 'type': p['type'], 'mode': 'wd',}) obj._properties = tuple(map) return obj
def _createZODBClone(self): """Create a ZODB (editable) equivalent of this object.""" # Create a Folder to hold the properties. obj = Folder() obj.id = self.getId() map = [] for p in self._properties: # This should be secure since the properties come # from the filesystem. setattr(obj, p['id'], getattr(self, p['id'])) map.append({'id': p['id'], 'type': p['type'], 'mode': 'wd', }) obj._properties = tuple(map) return obj
def manage_doCustomize(self, folder_path, RESPONSE=None): ''' Makes a Folder with the same properties. ''' custFolder = self.getCustomizableObject() fpath = tuple(split(folder_path, '/')) folder = self.restrictedTraverse(fpath) id = self.getId() obj = Folder(id) map = [] for p in self._properties: # This should be secure since the properties come # from the filesystem. setattr(obj, p['id'], getattr(self, p['id'])) map.append({'id': p['id'], 'type': p['type'], 'mode': 'wd',}) obj._properties = tuple(map) obj.id = id folder._verifyObjectPaste(obj, validate_src=0) folder._setObject(id, obj) if RESPONSE is not None: RESPONSE.redirect('%s/%s/manage_propertiesForm' % ( folder.absolute_url(), id))