1
0
mirror of https://github.com/haiwen/seahub.git synced 2025-09-05 00:43:53 +00:00

Rewrite get registerred contacts

This commit is contained in:
zhengxie
2013-08-29 19:57:16 +08:00
parent dc000c0c93
commit af3a24f3eb
3 changed files with 16 additions and 9 deletions

View File

@@ -4,6 +4,8 @@ from django.db import models
from django.forms import ModelForm from django.forms import ModelForm
from django.utils.translation import ugettext as _ from django.utils.translation import ugettext as _
from seaserv import ccnet_threaded_rpc
from seahub.base.fields import LowerCaseCharField from seahub.base.fields import LowerCaseCharField
from settings import CONTACT_EMAIL_LENGTH from settings import CONTACT_EMAIL_LENGTH
@@ -25,11 +27,16 @@ class ContactManager(models.Manager):
def get_registered_contacts_by_user(self, user_email): def get_registered_contacts_by_user(self, user_email):
"""Get a user's registered contacts. """Get a user's registered contacts.
"""
from seahub.views import is_registered_user
return [ c for c in super(ContactManager, self).filter( Returns:
user_email=user_email) if is_registered_user(c.contact_email) ] 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): class Contact(models.Model):
"""Record user's contacts.""" """Record user's contacts."""

View File

@@ -1,8 +1,8 @@
{% load seahub_tags avatar_tags i18n %} {% load seahub_tags avatar_tags i18n %}
//repo-share-form share-list autocomplete //repo-share-form share-list autocomplete
var share_list = [], contact_email, group_name, group_name_py; var share_list = [], contact_email, group_name, group_name_py;
{% for contact in contacts %} {% for contact_email in contacts %}
contact_email = '{{ contact.contact_email }}'; contact_email = '{{ contact_email }}';
share_list.push({value:contact_email, label:contact_email}); share_list.push({value:contact_email, label:contact_email});
{% endfor %} {% endfor %}

View File

@@ -31,11 +31,11 @@
</div> </div>
<div id="share-contact-options" class="hide"> <div id="share-contact-options" class="hide">
<ul class="option-list"> <ul class="option-list">
{% for contact in contacts %} {% for contact_email in contacts %}
<li> <li>
<label class="checkbox-label"> <label class="checkbox-label">
<span class="checkbox"><input type="checkbox" name="contact" value="{{ contact.contact_email }}" class="checkbox-orig" /></span> <span class="checkbox"><input type="checkbox" name="contact" value="{{ contact_email }}" class="checkbox-orig" /></span>
{% avatar contact.contact_email 20 %} <span class="checkbox-option">{{ contact.contact_email }}</span> {% avatar contact_email 20 %} <span class="checkbox-option">{{ contact_email }}</span>
</label> </label>
</li> </li>
{% endfor %} {% endfor %}