mirror of
https://github.com/haiwen/seahub.git
synced 2025-09-05 00:43:53 +00:00
filter out address book group when: (#2092)
1. share library/folder 2. set folder permission
This commit is contained in:
@@ -92,7 +92,7 @@ define([
|
|||||||
$('[name="email"]', $add_user_perm).select2(Common.contactInputOptionsForSelect2());
|
$('[name="email"]', $add_user_perm).select2(Common.contactInputOptionsForSelect2());
|
||||||
|
|
||||||
// use select2 to 'group' input in 'add group perm'
|
// use select2 to 'group' input in 'add group perm'
|
||||||
var groups = app.pageOptions.groups || [],
|
var groups = app.pageOptions.joined_groups_exclude_address_book || [],
|
||||||
g_opts = '';
|
g_opts = '';
|
||||||
for (var i = 0, len = groups.length; i < len; i++) {
|
for (var i = 0, len = groups.length; i < len; i++) {
|
||||||
g_opts += '<option value="' + groups[i].id + '" data-index="' + i + '">' + groups[i].name + '</option>';
|
g_opts += '<option value="' + groups[i].id + '" data-index="' + i + '">' + groups[i].name + '</option>';
|
||||||
|
@@ -466,7 +466,7 @@ define([
|
|||||||
width: '400px'
|
width: '400px'
|
||||||
},Common.contactInputOptionsForSelect2()));
|
},Common.contactInputOptionsForSelect2()));
|
||||||
|
|
||||||
var groups = app.pageOptions.groups || [];
|
var groups = app.pageOptions.joined_groups_exclude_address_book || [];
|
||||||
var g_opts = '';
|
var g_opts = '';
|
||||||
for (var i = 0, len = groups.length; i < len; i++) {
|
for (var i = 0, len = groups.length; i < len; i++) {
|
||||||
g_opts += '<option value="' + groups[i].id + '" data-index="' + i + '">' + groups[i].name + '</option>';
|
g_opts += '<option value="' + groups[i].id + '" data-index="' + i + '">' + groups[i].name + '</option>';
|
||||||
|
@@ -54,6 +54,6 @@ class ShareableGroups(APIView):
|
|||||||
avatar_size = GROUP_AVATAR_DEFAULT_SIZE
|
avatar_size = GROUP_AVATAR_DEFAULT_SIZE
|
||||||
|
|
||||||
result = [get_group_info(request, g.id, avatar_size)
|
result = [get_group_info(request, g.id, avatar_size)
|
||||||
for g in groups]
|
for g in groups if g.parent_group_id == 0]
|
||||||
|
|
||||||
return Response(result)
|
return Response(result)
|
||||||
|
@@ -224,6 +224,13 @@ app["pageOptions"] = {
|
|||||||
{% endfor %}
|
{% endfor %}
|
||||||
return groups;
|
return groups;
|
||||||
})(),
|
})(),
|
||||||
|
joined_groups_exclude_address_book: (function () {
|
||||||
|
var groups = [];
|
||||||
|
{% for group in joined_groups_exclude_address_book %}
|
||||||
|
groups.push({'name': '{{group.group_name}}', 'id': '{{group.id}}'});
|
||||||
|
{% endfor %}
|
||||||
|
return groups;
|
||||||
|
})(),
|
||||||
library_templates: (function () {
|
library_templates: (function () {
|
||||||
var templates = [];
|
var templates = [];
|
||||||
{% for template in library_templates %}
|
{% for template in library_templates %}
|
||||||
|
@@ -23,7 +23,7 @@ import seaserv
|
|||||||
from seaserv import get_repo, get_commits, \
|
from seaserv import get_repo, get_commits, \
|
||||||
seafserv_threaded_rpc, seafserv_rpc, is_repo_owner, \
|
seafserv_threaded_rpc, seafserv_rpc, is_repo_owner, \
|
||||||
get_file_size, MAX_DOWNLOAD_DIR_SIZE, \
|
get_file_size, MAX_DOWNLOAD_DIR_SIZE, \
|
||||||
seafile_api
|
seafile_api, ccnet_api
|
||||||
from pysearpc import SearpcError
|
from pysearpc import SearpcError
|
||||||
|
|
||||||
from seahub.avatar.util import get_avatar_file_storage
|
from seahub.avatar.util import get_avatar_file_storage
|
||||||
@@ -694,7 +694,7 @@ def libraries(request):
|
|||||||
org_id = request.user.org.org_id
|
org_id = request.user.org.org_id
|
||||||
joined_groups = seaserv.get_org_groups_by_user(org_id, username)
|
joined_groups = seaserv.get_org_groups_by_user(org_id, username)
|
||||||
else:
|
else:
|
||||||
joined_groups = seaserv.get_personal_groups_by_user(username)
|
joined_groups = ccnet_api.get_groups(username, return_ancestors=True)
|
||||||
|
|
||||||
if joined_groups:
|
if joined_groups:
|
||||||
try:
|
try:
|
||||||
@@ -703,6 +703,9 @@ def libraries(request):
|
|||||||
logger.error(e)
|
logger.error(e)
|
||||||
joined_groups = []
|
joined_groups = []
|
||||||
|
|
||||||
|
joined_groups_exclude_address_book = [item for item in joined_groups if
|
||||||
|
item.parent_group_id == 0]
|
||||||
|
|
||||||
return render(request, 'libraries.html', {
|
return render(request, 'libraries.html', {
|
||||||
"allow_public_share": allow_public_share,
|
"allow_public_share": allow_public_share,
|
||||||
"guide_enabled": guide_enabled,
|
"guide_enabled": guide_enabled,
|
||||||
@@ -723,6 +726,7 @@ def libraries(request):
|
|||||||
'file_audit_enabled': FILE_AUDIT_ENABLED,
|
'file_audit_enabled': FILE_AUDIT_ENABLED,
|
||||||
'can_add_pub_repo': can_add_pub_repo,
|
'can_add_pub_repo': can_add_pub_repo,
|
||||||
'joined_groups': joined_groups,
|
'joined_groups': joined_groups,
|
||||||
|
'joined_groups_exclude_address_book': joined_groups_exclude_address_book,
|
||||||
'storages': get_library_storages(request),
|
'storages': get_library_storages(request),
|
||||||
'unread_notifications_request_interval': UNREAD_NOTIFICATIONS_REQUEST_INTERVAL,
|
'unread_notifications_request_interval': UNREAD_NOTIFICATIONS_REQUEST_INTERVAL,
|
||||||
'library_templates': LIBRARY_TEMPLATES.keys() if \
|
'library_templates': LIBRARY_TEMPLATES.keys() if \
|
||||||
|
@@ -102,7 +102,7 @@ define([
|
|||||||
placeholder: gettext("Search user or enter email and press Enter") // to override 'placeholder' returned by `Common.conta...`
|
placeholder: gettext("Search user or enter email and press Enter") // to override 'placeholder' returned by `Common.conta...`
|
||||||
}));
|
}));
|
||||||
} else {
|
} else {
|
||||||
var groups = app.pageOptions.groups || [];
|
var groups = app.pageOptions.joined_groups_exclude_address_book || [];
|
||||||
var g_opts = '';
|
var g_opts = '';
|
||||||
for (var i = 0, len = groups.length; i < len; i++) {
|
for (var i = 0, len = groups.length; i < len; i++) {
|
||||||
g_opts += '<option value="' + groups[i].id + '" data-index="' + i + '">' + groups[i].name + '</option>';
|
g_opts += '<option value="' + groups[i].id + '" data-index="' + i + '">' + groups[i].name + '</option>';
|
||||||
|
@@ -103,7 +103,7 @@ define([
|
|||||||
$('[name="email"]', this.$add_user_perm).select2(Common.contactInputOptionsForSelect2());
|
$('[name="email"]', this.$add_user_perm).select2(Common.contactInputOptionsForSelect2());
|
||||||
|
|
||||||
// use select2 to 'group' input in 'add group perm'
|
// use select2 to 'group' input in 'add group perm'
|
||||||
var groups = app.pageOptions.groups || [],
|
var groups = app.pageOptions.joined_groups_exclude_address_book || [],
|
||||||
g_opts = '';
|
g_opts = '';
|
||||||
for (var i = 0, len = groups.length; i < len; i++) {
|
for (var i = 0, len = groups.length; i < len; i++) {
|
||||||
g_opts += '<option value="' + groups[i].id + '" data-index="' + i + '">' + groups[i].name + '</option>';
|
g_opts += '<option value="' + groups[i].id + '" data-index="' + i + '">' + groups[i].name + '</option>';
|
||||||
|
@@ -714,7 +714,7 @@ define([
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
} else {
|
} else {
|
||||||
groups = app.pageOptions.groups || [];
|
groups = app.pageOptions.joined_groups_exclude_address_book || [];
|
||||||
prepareGroupsSelector();
|
prepareGroupsSelector();
|
||||||
$table.removeClass('hide');
|
$table.removeClass('hide');
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user