コード例 #1
0
ファイル: tasks.py プロジェクト: 0x414A/toyz
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
コード例 #2
0
ファイル: core.py プロジェクト: fred3m/toyz
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
コード例 #3
0
ファイル: tasks.py プロジェクト: fred3m/toyz
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
コード例 #4
0
ファイル: core.py プロジェクト: 0x414A/toyz
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