77import six
88import dateutil .parser
99
10- from girder import logger
10+ from girder import events , logger
1111from ..constants import PluginSettings
1212from girder .api .rest import RestException
1313from girder .constants import AccessType , SortDir
@@ -34,6 +34,8 @@ def initialize(self):
3434 'mountPoint' , 'lastActivity' })
3535 self .exposeFields (level = AccessType .SITE_ADMIN ,
3636 fields = {'args' , 'kwargs' })
37+ events .bind ('model.user.save.created' , 'ythub' ,
38+ self ._addDefaultFolders )
3739
3840 def validate (self , notebook ):
3941 if not NotebookStatus .isValid (notebook ['status' ]):
@@ -169,3 +171,10 @@ def createNotebook(self, folder, user, token, when=None, save=True):
169171 notebook = self .save (notebook )
170172
171173 return notebook
174+
175+ def _addDefaultFolders (self , event ):
176+ user = event .info
177+ notebookFolder = self .model ('folder' ).createFolder (
178+ user , 'Notebooks' , parentType = 'user' , public = True , creator = user )
179+ self .model ('folder' ).setUserAccess (
180+ notebookFolder , user , AccessType .ADMIN , save = True )
0 commit comments