1
0
mirror of https://github.com/haiwen/seahub.git synced 2025-08-02 07:47:32 +00:00

fix bug when admin searching unexisting user

This commit is contained in:
lian 2016-11-01 11:45:32 +08:00
parent 5e63501675
commit 7a2ad81be2
2 changed files with 17 additions and 4 deletions

View File

@ -201,6 +201,7 @@ def sys_user_admin(request):
trial_users = TrialAccount.objects.filter(user_or_org__in=[x.email for x in users])
else:
trial_users = []
for user in users:
if user.email == request.user.email:
user.is_self = True
@ -1481,6 +1482,7 @@ def user_search(request):
trial_users = TrialAccount.objects.filter(user_or_org__in=[x.email for x in users])
else:
trial_users = []
for user in users:
populate_user_info(user)
_populate_user_quota_usage(user)
@ -1488,9 +1490,6 @@ def user_search(request):
# check user's role
user.is_guest = True if get_user_role(user) == GUEST_USER else False
user.is_default = True if get_user_role(user) == DEFAULT_USER else False
extra_user_roles = [x for x in get_available_roles()
if x not in get_basic_user_roles()]
# populate user last login time
user.last_login = None
for last_login in last_logins:
@ -1502,6 +1501,9 @@ def user_search(request):
if trial_user.user_or_org == user.email:
user.trial_info = {'expire_date': trial_user.expire_date}
extra_user_roles = [x for x in get_available_roles()
if x not in get_basic_user_roles()]
return render_to_response('sysadmin/user_search.html', {
'users': users,
'email': email,

View File

@ -1,9 +1,11 @@
from django.core.urlresolvers import reverse
from tests.common.utils import randstring
from seahub.profile.models import Profile
from seahub.test_utils import BaseTestCase
class UserResetTest(BaseTestCase):
class UserSearchTest(BaseTestCase):
def setUp(self):
self.user_name = self.user.username
@ -50,3 +52,12 @@ class UserResetTest(BaseTestCase):
'?email=%s' % self.user_name)
self.assertEqual(404, resp.status_code)
def test_search_invalid_user(self):
self.login_as(self.admin)
invalid_user = randstring(20)
resp = self.client.get(reverse('user_search') + '?email=%s' % invalid_user)
self.assertEqual(200, resp.status_code)
self.assertTemplateUsed('sysadmin/user_search.html')
self.assertContains(resp, invalid_user)