diff --git a/base/models.py b/base/models.py index 46a520f9cd..37390038cb 100644 --- a/base/models.py +++ b/base/models.py @@ -7,6 +7,7 @@ from django.dispatch import receiver from seaserv import get_emailusers from shortcuts import get_first_object_or_none +from base.templatetags.seahub_tags import at_pattern from notifications.models import UserNotification from profile.models import Profile @@ -64,8 +65,6 @@ class InnerPubMsgReply(models.Model): message = models.CharField(max_length=150) timestamp = models.DateTimeField(default=datetime.datetime.now) -at_pattern = re.compile(r'(\s|^)(@\w+)', flags=re.U) - # @receiver(post_save, sender=InnerPubMsgReply) def msgreply_save_handler(sender, instance, **kwargs): """ @@ -75,7 +74,8 @@ def msgreply_save_handler(sender, instance, **kwargs): reply_msg = instance.message innerpub_msg = instance.reply_to to_user = '' - + + m = re.match(at_pattern, reply_msg) if m: nickname_or_emailprefix = m.group()[1:] diff --git a/base/templatetags/seahub_tags.py b/base/templatetags/seahub_tags.py index a7599eaf8f..13b0b4e800 100644 --- a/base/templatetags/seahub_tags.py +++ b/base/templatetags/seahub_tags.py @@ -138,11 +138,11 @@ def url_target_blank(text): return text.replace('\2', text) + return at_pattern.sub(r'\1', text) find_at.is_safe=True @register.filter(name='short_email') diff --git a/base/utils.py b/base/utils.py index f562fa5387..63e783b97b 100644 --- a/base/utils.py +++ b/base/utils.py @@ -62,9 +62,9 @@ def urlize(text, trim_url_limit=None, nofollow=False, autoescape=False): middle and middle[0] in string.ascii_letters + string.digits and \ (middle.endswith('.org') or middle.endswith('.net') or middle.endswith('.com'))): url = urlquote('http://%s' % middle, safe='/&=:;#?+*%') - elif '@' in middle and not ':' in middle and simple_email_re.match(middle): - url = 'mailto:%s' % middle - nofollow_attr = '' + # elif '@' in middle and not ':' in middle and simple_email_re.match(middle): + # url = 'mailto:%s' % middle + # nofollow_attr = '' # Make link. if url: trimmed = trim_url(middle) diff --git a/forms.py b/forms.py index fbad0b1a2b..5209a2ae85 100644 --- a/forms.py +++ b/forms.py @@ -63,7 +63,7 @@ class RepoCreateForm(forms.Form): """ Form for creating repo and org repo. """ - repo_name = forms.CharField(max_length=15, error_messages={ + repo_name = forms.CharField(max_length=50, error_messages={ 'required': '目录名不能为空', 'max_length': '目录名太长,不超过50个字符' }) diff --git a/group/models.py b/group/models.py index 0d7758c5c7..d7e3699211 100644 --- a/group/models.py +++ b/group/models.py @@ -8,6 +8,7 @@ from django.dispatch import receiver from seaserv import get_group_members from shortcuts import get_first_object_or_none +from base.templatetags.seahub_tags import at_pattern from notifications.models import UserNotification from profile.models import Profile @@ -44,8 +45,6 @@ class BusinessGroup(models.Model): class Meta: unique_together = ("group_id", "group_type") -at_pattern = re.compile(r'(\s|^)(@\w+)', flags=re.U) - @receiver(post_save, sender=MessageReply) def msgreply_save_handler(sender, instance, **kwargs): """