mirror of
https://github.com/haiwen/seahub.git
synced 2025-09-17 07:41:26 +00:00
[share-group] add judege of global config
This commit is contained in:
@@ -1,4 +1,5 @@
|
|||||||
# Copyright (c) 2011-2016 Seafile Ltd.
|
# Copyright (c) 2011-2016 Seafile Ltd.
|
||||||
|
from django.conf import settings
|
||||||
from rest_framework.authentication import SessionAuthentication
|
from rest_framework.authentication import SessionAuthentication
|
||||||
from rest_framework.permissions import IsAuthenticated
|
from rest_framework.permissions import IsAuthenticated
|
||||||
from rest_framework.response import Response
|
from rest_framework.response import Response
|
||||||
@@ -20,7 +21,10 @@ class AllGroupsView(APIView):
|
|||||||
def get(self, request):
|
def get(self, request):
|
||||||
"""List all groups
|
"""List all groups
|
||||||
"""
|
"""
|
||||||
groups_list = ccnet_api.get_all_groups(-1, -1)
|
if settings.ENABLE_SHARE_TO_ALL_GROUPS:
|
||||||
|
groups_list = ccnet_api.get_all_groups(-1, -1)
|
||||||
|
else:
|
||||||
|
return Response([])
|
||||||
try:
|
try:
|
||||||
avatar_size = int(request.GET.get('avatar_size',
|
avatar_size = int(request.GET.get('avatar_size',
|
||||||
GROUP_AVATAR_DEFAULT_SIZE))
|
GROUP_AVATAR_DEFAULT_SIZE))
|
||||||
|
@@ -1,27 +1,37 @@
|
|||||||
# Copyright (c) 2011-2016 Seafile Ltd.
|
# Copyright (c) 2011-2016 Seafile Ltd.
|
||||||
# -*- coding: utf-8 -*-
|
# -*- coding: utf-8 -*-
|
||||||
import json
|
import json
|
||||||
from mock import patch
|
|
||||||
|
|
||||||
from django.core.urlresolvers import reverse
|
from django.core.urlresolvers import reverse
|
||||||
|
from django.test import override_settings
|
||||||
|
|
||||||
from seahub.test_utils import BaseTestCase
|
from seahub.test_utils import BaseTestCase
|
||||||
|
|
||||||
|
|
||||||
class GroupsShareTest(BaseTestCase):
|
class GroupsShareTest(BaseTestCase):
|
||||||
|
|
||||||
@patch('seahub.api2.endpoints.groups_share.config')
|
@override_settings(ENABLE_SHARE_TO_ALL_GROUPS=True)
|
||||||
def test_can_get(self, mock_settings):
|
def test_can_get(self):
|
||||||
mock_settings.ENABLE_SHARE_ANY_GROUPS.return_value = True
|
|
||||||
self.logout()
|
self.logout()
|
||||||
self.login_as(self.admin)
|
self.login_as(self.admin)
|
||||||
self.admin_group = self.create_group(group_name='onetoone',
|
self.admin_group = self.create_group(group_name='test_group',
|
||||||
username=self.admin.username)
|
username=self.admin.username)
|
||||||
self.logout()
|
self.logout()
|
||||||
self.login_as(self.user)
|
self.login_as(self.user)
|
||||||
resp = [group["name"] for group in
|
resp = [group["name"] for group in
|
||||||
json.loads(self.client.get(reverse('api-v2.1-all-groups')).content)]
|
json.loads(self.client.get(reverse('api-v2.1-all-groups')).content)]
|
||||||
self.assertIn('onetoone', resp)
|
self.assertIn('test_group', resp)
|
||||||
|
|
||||||
def tearDown(self):
|
def tearDown(self):
|
||||||
self.remove_group(self.admin_group.id)
|
self.remove_group(self.admin_group.id)
|
||||||
|
|
||||||
|
@override_settings(ENABLE_SHARE_TO_ALL_GROUPS=True)
|
||||||
|
def test_can_get_with_disable_config(self):
|
||||||
|
self.logout()
|
||||||
|
self.login_as(self.admin)
|
||||||
|
self.admin_group = self.create_group(group_name='test_disable_config',
|
||||||
|
username=self.admin.username)
|
||||||
|
self.logout()
|
||||||
|
self.login_as(self.user)
|
||||||
|
resp = self.client.get(reverse('api-v2.1-all-groups'))
|
||||||
|
self.assertEqual(200, resp.status_code)
|
||||||
|
Reference in New Issue
Block a user