:bird:👀 and some docs

This commit is contained in:
Martin Cech
2015-09-28 12:42:56 -04:00
parent b77c28cd77
commit f778a3864c
2 changed files with 17 additions and 9 deletions
+15 -3
View File
@@ -148,13 +148,25 @@ class FolderManager( object ):
def update( self, trans, folder, name=None, description=None):
"""
Update the given folder's name or description.
:param folder: the model object
:type folder: LibraryFolder
:param name: new name for the library folder
:type name: str
:param description: new description for the library folder
:type description: str
:returns: the folder
:rtype: LibraryFolder
:raises: ItemAccessibilityException, InsufficientPermissionsException
"""
changed = False
if not trans.user_is_admin():
if not self.check_manageable( trans, folder ):
raise InsufficientPermissionsException( "You do not have proper permission to update the library folder." )
if folder.deleted is True:
raise ItemAccessibilityException( "You cannot update deleted library folder. Undelete it first." )
raise ItemAccessibilityException( "You cannot update a deleted library folder. Undelete it first." )
if name is not None and name != folder.name:
folder.name = name
changed = True
@@ -170,8 +182,8 @@ class FolderManager( object ):
"""
Mark given folder deleted/undeleted based on the flag.
:param folder: the model object
:type folder: LibraryFolder
:param folder: the model object
:type folder: LibraryFolder
:param undelete: flag whether to delete (when False) or undelete
:type undelete: Bool
+2 -6
View File
@@ -277,22 +277,18 @@ class FoldersController( BaseAPIController, UsesLibraryMixin, UsesLibraryMixinIt
"""
decoded_folder_id = self.folder_manager.cut_and_decode( trans, encoded_folder_id )
folder = self.folder_manager.get( trans, decoded_folder_id )
payload = kwd.get( 'payload', None )
if payload:
name = payload.get( 'name', None )
if not name:
raise exceptions.RequestParameterMissingException( "Parameter 'name' of folder is required. You cannot remove it." )
if payload.get( 'description', None ) or payload.get( 'description', None ) == '':
description = payload.get( 'description', None )
raise exceptions.RequestParameterMissingException( "Parameter 'name' of library folder is required. You cannot remove it." )
description = payload.get( 'description', None )
else:
raise exceptions.RequestParameterMissingException( "You did not specify any payload." )
updated_folder = self.folder_manager.update( trans, folder, name, description )
folder_dict = self.folder_manager.get_folder_dict( trans, updated_folder )
return folder_dict
raise exceptions.NotImplemented( 'Updating folder through this endpoint is not implemented yet.' )
# TODO move to Role manager
def _load_role( self, trans, role_name ):
"""