def list_user_shared_items(self, request, repo_id, path): if is_org_context(request): # when calling seafile API to share authority related functions, change the uesrname to repo owner. repo_owner = seafile_api.get_org_repo_owner(repo_id) org_id = request.user.org.org_id if path == '/': share_items = seafile_api.list_org_repo_shared_to(org_id, repo_owner, repo_id) else: share_items = seafile_api.get_org_shared_users_for_subdir(org_id, repo_id, path, repo_owner) else: repo_owner = seafile_api.get_repo_owner(repo_id) if path == '/': share_items = seafile_api.list_repo_shared_to(repo_owner, repo_id) else: share_items = seafile_api.get_shared_users_for_subdir(repo_id, path, repo_owner) # change is_admin to True if user is repo admin. admin_users = ExtraSharePermission.objects.get_admin_users_by_repo(repo_id) ret = [] for item in share_items: ret.append({ "share_type": "user", "user_info": { "name": item.user, "nickname": email2nickname(item.user), }, "permission": item.perm, "is_admin": item.user in admin_users }) return ret
def list_user_shared_items(self, request, repo_id, path): username = request.user.username if is_org_context(request): org_id = request.user.org.org_id if path == '/': share_items = seafile_api.list_org_repo_shared_to(org_id, username, repo_id) else: share_items = seafile_api.get_org_shared_users_for_subdir(org_id, repo_id, path, username) else: if path == '/': share_items = seafile_api.list_repo_shared_to(username, repo_id) else: share_items = seafile_api.get_shared_users_for_subdir(repo_id, path, username) ret = [] for item in share_items: ret.append({ "share_type": "user", "user_info": { "name": item.user, "nickname": email2nickname(item.user), }, "permission": item.perm, }) return ret
def has_shared_to_user(repo_id, path, username, org_id=None): if is_valid_org_id(org_id): # when calling seafile API to share authority related functions, change the uesrname to repo owner. repo_owner = seafile_api.get_org_repo_owner(repo_id) if path == '/': share_items = seafile_api.list_org_repo_shared_to( org_id, repo_owner, repo_id) else: share_items = seafile_api.get_org_shared_users_for_subdir( org_id, repo_id, path, repo_owner) else: repo_owner = seafile_api.get_repo_owner(repo_id) if path == '/': share_items = seafile_api.list_repo_shared_to(repo_owner, repo_id) else: share_items = seafile_api.get_shared_users_for_subdir( repo_id, path, repo_owner) return username in [item.user for item in share_items]
def get_shared_users_by_repo_path(self, repo_id, repo_owner, path='/', org_id=None): """ Get user list this repo/folder is shared to. Return: a list of SharedUser objects (lib/repo.vala) """ if is_valid_org_id(org_id): if path == '/': return seafile_api.list_org_repo_shared_to( org_id, repo_owner, repo_id) else: return seafile_api.get_org_shared_users_for_subdir( org_id, repo_id, path, repo_owner) else: if path == '/': return seafile_api.list_repo_shared_to(repo_owner, repo_id) else: return seafile_api.get_shared_users_for_subdir( repo_id, path, repo_owner)
def has_shared_to_user(repo_id, path, username, org_id=None): if is_valid_org_id(org_id): # when calling seafile API to share authority related functions, change the uesrname to repo owner. repo_owner = seafile_api.get_org_repo_owner(repo_id) if path == '/': share_items = seafile_api.list_org_repo_shared_to(org_id, repo_owner, repo_id) else: share_items = seafile_api.get_org_shared_users_for_subdir(org_id, repo_id, path, repo_owner) else: repo_owner = seafile_api.get_repo_owner(repo_id) if path == '/': share_items = seafile_api.list_repo_shared_to(repo_owner, repo_id) else: share_items = seafile_api.get_shared_users_for_subdir(repo_id, path, repo_owner) return username in [item.user for item in share_items]
def get_shared_users_by_repo_path(self, repo_id, repo_owner, path='/', org_id=None): """ Get user list this repo/folder is shared to. Return: a list of SharedUser objects (lib/repo.vala) """ if is_valid_org_id(org_id): if path == '/': return seafile_api.list_org_repo_shared_to( org_id, repo_owner, repo_id) else: return seafile_api.get_org_shared_users_for_subdir( org_id, repo_id, path, repo_owner) else: if path == '/': return seafile_api.list_repo_shared_to(repo_owner, repo_id) else: return seafile_api.get_shared_users_for_subdir( repo_id, path, repo_owner)