1
0
mirror of https://github.com/haiwen/seafile-server.git synced 2025-09-17 07:40:25 +00:00

Merge pull request #113 from haiwen/set_subdir_perm_by_path

Fix that sometimes shared folder can't be set permission .
This commit is contained in:
Jiaqiang Xu
2018-01-06 16:00:46 +08:00
committed by GitHub
5 changed files with 63 additions and 29 deletions

View File

@@ -2525,29 +2525,19 @@ seafile_update_share_subdir_perm_for_user (const char *repo_id,
}
char *real_path;
char *vrepo_id;
int ret = 0;
real_path = format_dir_path (path);
vrepo_id = seaf_repo_manager_get_virtual_repo_id (seaf->repo_mgr, repo_id,
real_path, owner);
if (!vrepo_id) {
g_set_error (error, SEAFILE_DOMAIN, SEAF_ERR_GENERAL,
"Failed to get shared sub repo");
ret = -1;
goto out;
}
ret = seaf_share_manager_set_permission (seaf->share_mgr, vrepo_id,
owner, share_user,
permission);
ret = seaf_share_manager_set_subdir_perm_by_path (seaf->share_mgr,
repo_id, owner, share_user,
permission, real_path);
if (ret < 0) {
g_set_error (error, SEAFILE_DOMAIN, SEAF_ERR_GENERAL,
"Failed to update share subdir permission for user");
}
g_free (vrepo_id);
out:
g_free (real_path);
return ret;
}
@@ -2802,29 +2792,17 @@ seafile_update_share_subdir_perm_for_group (const char *repo_id,
}
char *real_path;
char *vrepo_id;
int ret = 0;
real_path = format_dir_path (path);
vrepo_id = seaf_repo_manager_get_virtual_repo_id (seaf->repo_mgr, repo_id,
real_path, owner);
if (!vrepo_id) {
g_set_error (error, SEAFILE_DOMAIN, SEAF_ERR_GENERAL,
"Failed to get shared sub repo");
ret = -1;
goto out;
}
ret = seaf_repo_manager_set_group_repo_perm (seaf->repo_mgr, vrepo_id,
share_group, permission,
error);
ret = seaf_repo_manager_set_subdir_group_perm_by_path (seaf->repo_mgr,
repo_id, owner, share_group,
permission, real_path);
if (ret < 0) {
g_set_error (error, SEAFILE_DOMAIN, SEAF_ERR_GENERAL,
"Failed to update share subdir permission for group");
}
g_free (vrepo_id);
out:
g_free (real_path);
return ret;
}