def get_one(self, workspace_id): user = tmpl_context.current_user current_user_content = Context(CTX.CURRENT_USER).toDict(user) current_user_content.roles.sort(key=lambda role: role.workspace.name) workspace_api = WorkspaceApi(user) workspace = workspace_api.get_one(workspace_id) dictified_current_user = Context(CTX.CURRENT_USER).toDict(user) dictified_folders = self.folders.get_all_fake(workspace).result fake_api = DictLikeClass( current_user=dictified_current_user, current_workspace_folders=dictified_folders, current_user_workspace_role=workspace.get_user_role(user) ) fake_api.sub_items = Context(CTX.FOLDER_CONTENT_LIST).toDict( # TODO BS 20161209: Is the correct way to grab folders? No use API? workspace.get_valid_children(ContentApi.DISPLAYABLE_CONTENTS) ) dictified_workspace = Context(CTX.WORKSPACE).toDict(workspace, 'workspace') webdav_url = CFG.get_instance().WSGIDAV_CLIENT_BASE_URL return DictLikeClass( result=dictified_workspace, fake_api=fake_api, webdav_url=webdav_url, )
def get_one(self, workspace_id, **kwargs): """ :param workspace_id: Displayed workspace id :param kwargs: * show_deleted: bool: Display deleted contents or hide them if False * show_archived: bool: Display archived contents or hide them if False """ show_deleted = str_as_bool(kwargs.get('show_deleted', False)) show_archived = str_as_bool(kwargs.get('show_archived', '')) user = tmpl_context.current_user workspace_api = WorkspaceApi(user) workspace = workspace_api.get_one(workspace_id) unread_contents = ContentApi(user).get_last_unread(None, ContentType.Any, workspace=workspace) current_user_content = Context(CTX.CURRENT_USER).toDict(user) current_user_content.roles.sort(key=lambda role: role.workspace.name) dictified_current_user = Context(CTX.CURRENT_USER).toDict(user) dictified_folders = self.folders.get_all_fake(workspace).result fake_api = DictLikeClass( last_unread=Context(CTX.CONTENT_LIST).toDict(unread_contents, 'contents', 'nb'), current_user=dictified_current_user, current_workspace_folders=dictified_folders, current_user_workspace_role=workspace.get_user_role(user) ) fake_api.sub_items = Context(CTX.FOLDER_CONTENT_LIST).toDict( # TODO BS 20161209: Is the correct way to grab folders? No use API? workspace.get_valid_children( ContentApi.DISPLAYABLE_CONTENTS, show_deleted=show_deleted, show_archived=show_archived, ) ) dictified_workspace = Context(CTX.WORKSPACE).toDict(workspace, 'workspace') webdav_url = CFG.get_instance().WSGIDAV_CLIENT_BASE_URL return DictLikeClass( result=dictified_workspace, fake_api=fake_api, webdav_url=webdav_url, show_deleted=show_deleted, show_archived=show_archived, )
def get_one(self, workspace_id): user = tmpl_context.current_user current_user_content = Context(CTX.CURRENT_USER).toDict(user) current_user_content.roles.sort(key=lambda role: role.workspace.name) workspace_api = WorkspaceApi(user) workspace = workspace_api.get_one(workspace_id) dictified_current_user = Context(CTX.CURRENT_USER).toDict(user) dictified_folders = self.folders.get_all_fake(workspace).result fake_api = DictLikeClass(current_user=dictified_current_user, current_workspace_folders=dictified_folders)\ # , # sub_items=Context(CTX.FOLDER_CONTENT_LIST).toDict(dictified_folders)) fake_api.sub_items = Context(CTX.FOLDER_CONTENT_LIST).toDict(workspace.get_valid_children()) dictified_workspace = Context(CTX.WORKSPACE).toDict(workspace, 'workspace') return DictLikeClass(result = dictified_workspace, fake_api=fake_api)
def get_one(self, workspace_id): user = tmpl_context.current_user current_user_content = Context(CTX.CURRENT_USER).toDict(user) current_user_content.roles.sort(key=lambda role: role.workspace.name) workspace_api = WorkspaceApi(user) workspace = workspace_api.get_one(workspace_id) dictified_current_user = Context(CTX.CURRENT_USER).toDict(user) dictified_folders = self.folders.get_all_fake(workspace).result fake_api = DictLikeClass( current_user=dictified_current_user, current_workspace_folders=dictified_folders, current_user_workspace_role=workspace.get_user_role(user)) fake_api.sub_items = Context(CTX.FOLDER_CONTENT_LIST).toDict( workspace.get_valid_children(ContentApi.DISPLAYABLE_CONTENTS)) dictified_workspace = Context(CTX.WORKSPACE).toDict( workspace, 'workspace') return DictLikeClass(result=dictified_workspace, fake_api=fake_api)