diff --git a/lib/galaxy/model/__init__.py b/lib/galaxy/model/__init__.py index 399d5ce2788..7276a2928ca 100644 --- a/lib/galaxy/model/__init__.py +++ b/lib/galaxy/model/__init__.py @@ -2078,8 +2078,8 @@ class LibraryFolder( object, Dictifiable, HasName ): # This needs to be a list return [ ld for ld in self.datasets if ld.library_dataset_dataset_association and not ld.library_dataset_dataset_association.dataset.deleted ] - def to_dict( self, view='collection' ): - rval = super( LibraryFolder, self ).to_dict( view=view ) + def to_dict( self, view='collection', value_mapper=None ): + rval = super( LibraryFolder, self ).to_dict( view=view, value_mapper=value_mapper ) info_association, inherited = self.get_info_association() if info_association: if inherited: diff --git a/lib/galaxy/webapps/galaxy/api/library_contents.py b/lib/galaxy/webapps/galaxy/api/library_contents.py index d8be4ae6f16..192d9970853 100644 --- a/lib/galaxy/webapps/galaxy/api/library_contents.py +++ b/lib/galaxy/webapps/galaxy/api/library_contents.py @@ -123,11 +123,18 @@ class LibraryContentsController( BaseAPIController, UsesLibraryMixin, UsesLibrar class_name, content_id = self.__decode_library_content_id( trans, id ) if class_name == 'LibraryFolder': content = self.get_library_folder( trans, content_id, check_ownership=False, check_accessible=True ) + rval = content.to_dict( view='element', value_mapper={ 'id' : trans.security.encode_id } ) + rval[ 'id' ] = 'F' + str( rval[ 'id' ] ) + rval[ 'parent_id' ] = 'F' + str( trans.security.encode_id( rval[ 'parent_id' ] ) ) + rval[ 'parent_library_id' ] = trans.security.encode_id( rval[ 'parent_library_id' ] ) else: content = self.get_library_dataset( trans, content_id, check_ownership=False, check_accessible=True ) - - return content.to_dict( view='element', value_mapper={ 'id' : trans.security.encode_id } ) - # return self.encode_all_ids( trans, content.to_dict( view='element' ) ) + rval = content.to_dict( view='element') + rval[ 'id' ] = trans.security.encode_id( rval[ 'id' ] ) + rval[ 'ldda_id' ] = trans.security.encode_id( rval[ 'ldda_id' ] ) + rval[ 'folder_id' ] = 'F' + str( trans.security.encode_id( rval[ 'folder_id' ] ) ) + rval[ 'parent_library_id' ] = trans.security.encode_id( rval[ 'parent_library_id' ] ) + return rval @web.expose_api def create( self, trans, library_id, payload, **kwd ):