def get_workspace_sharing(toyz_settings, tid, params): """ Get shared workspace settings for users and groups Params - work_id ( *string* ): name of the workspace """ core.check4keys(params, ['work_id']) shared_workspaces = db_utils.get_workspace_sharing( toyz_settings.db, user_id=tid['user_id'], work_id=params['work_id']) ws_users = [row for row in shared_workspaces if row['share_id_type']=='user_id'] ws_groups = [row for row in shared_workspaces if row['share_id_type']=='group_id'] response = { 'id': 'get_workspace_sharing', 'ws_users': ws_users, 'ws_groups': ws_groups } return response
def get_workspace_permissions(toyz_settings, tid, params): groups = db_utils.get_param(toyz_settings.db, 'groups', user_id=tid['user_id']) shared_workspaces = db_utils.get_workspace_sharing( toyz_settings.db, user_id=params['user_id'], work_id=params['work_id']) permissions = {'view': False, 'modify': False, 'share': False} if tid['user_id'] == 'admin' or 'admin' in groups: for p in permissions: permissions[p] = True else: if len(shared_workspaces) > 0: for shared_user in shared_workspaces: if (shared_user['share_id_type'] == 'user_id' and shared_user['share_id'] == tid['user_id']): for p in permissions: permissions[p] = permissions[p] or shared_user[p] elif (shared_user['share_id_type'] == 'group_id' and shared_user['share_id'] in groups): for p in permissions: permissions[p] = permissions[p] or shared_user[p] return permissions
def get_workspace_sharing(toyz_settings, tid, params): """ Get shared workspace settings for users and groups Params - work_id ( *string* ): name of the workspace """ core.check4keys(params, ['work_id']) shared_workspaces = db_utils.get_workspace_sharing( toyz_settings.db, user_id=tid['user_id'], work_id=params['work_id']) ws_users = [ row for row in shared_workspaces if row['share_id_type'] == 'user_id' ] ws_groups = [ row for row in shared_workspaces if row['share_id_type'] == 'group_id' ] response = { 'id': 'get_workspace_sharing', 'ws_users': ws_users, 'ws_groups': ws_groups } return response
def get_workspace_permissions(toyz_settings, tid, params): groups = db_utils.get_param(toyz_settings.db, 'groups', user_id=tid['user_id']) shared_workspaces = db_utils.get_workspace_sharing( toyz_settings.db, user_id=params['user_id'], work_id=params['work_id']) permissions = { 'view': False, 'modify': False, 'share': False } if tid['user_id']=='admin' or 'admin' in groups: for p in permissions: permissions[p] = True else: if len(shared_workspaces)>0: for shared_user in shared_workspaces: if (shared_user['share_id_type']=='user_id' and shared_user['share_id']==tid['user_id']): for p in permissions: permissions[p] = permissions[p] or shared_user[p] elif (shared_user['share_id_type']=='group_id' and shared_user['share_id'] in groups): for p in permissions: permissions[p] = permissions[p] or shared_user[p] return permissions