diff --git a/seahub/contacts/models.py b/seahub/contacts/models.py index 3b55b9b7ba..f28a2cc4f4 100644 --- a/seahub/contacts/models.py +++ b/seahub/contacts/models.py @@ -4,6 +4,8 @@ from django.db import models from django.forms import ModelForm from django.utils.translation import ugettext as _ +from seaserv import ccnet_threaded_rpc + from seahub.base.fields import LowerCaseCharField from settings import CONTACT_EMAIL_LENGTH @@ -25,11 +27,16 @@ class ContactManager(models.Manager): def get_registered_contacts_by_user(self, user_email): """Get a user's registered contacts. - """ - from seahub.views import is_registered_user - return [ c for c in super(ContactManager, self).filter( - user_email=user_email) if is_registered_user(c.contact_email) ] + Returns: + A list contains contact emails. + """ + contacts = [ c.contact_email for c in super( + ContactManager, self).filter(user_email=user_email) ] + emailusers = ccnet_threaded_rpc.filter_emailusers_by_emails( + ','.join(contacts)) + + return [ e.email for e in emailusers ] class Contact(models.Model): """Record user's contacts.""" diff --git a/seahub/templates/snippets/myhome_extra_script.html b/seahub/templates/snippets/myhome_extra_script.html index 1e9c55b9da..d29da1746c 100644 --- a/seahub/templates/snippets/myhome_extra_script.html +++ b/seahub/templates/snippets/myhome_extra_script.html @@ -1,8 +1,8 @@ {% load seahub_tags avatar_tags i18n %} //repo-share-form share-list autocomplete var share_list = [], contact_email, group_name, group_name_py; - {% for contact in contacts %} - contact_email = '{{ contact.contact_email }}'; + {% for contact_email in contacts %} + contact_email = '{{ contact_email }}'; share_list.push({value:contact_email, label:contact_email}); {% endfor %} diff --git a/seahub/templates/snippets/repo_share_form.html b/seahub/templates/snippets/repo_share_form.html index b67f7024f9..b6e5bbe3be 100644 --- a/seahub/templates/snippets/repo_share_form.html +++ b/seahub/templates/snippets/repo_share_form.html @@ -31,11 +31,11 @@