mirror of
https://github.com/haiwen/seahub.git
synced 2025-09-20 02:48:51 +00:00
Improve at_find tag and urlize tag
This commit is contained in:
@@ -4,11 +4,13 @@ import re
|
|||||||
from datetime import datetime
|
from datetime import datetime
|
||||||
|
|
||||||
from django import template
|
from django import template
|
||||||
|
from django.utils.safestring import mark_safe
|
||||||
|
|
||||||
from seahub.settings import FILEEXT_ICON_MAP
|
from seahub.settings import FILEEXT_ICON_MAP
|
||||||
from seahub.po import TRANSLATION_MAP
|
from seahub.po import TRANSLATION_MAP
|
||||||
from seahub.profile.models import Profile
|
from seahub.profile.models import Profile
|
||||||
|
|
||||||
|
|
||||||
register = template.Library()
|
register = template.Library()
|
||||||
|
|
||||||
@register.filter(name='tsstr_sec')
|
@register.filter(name='tsstr_sec')
|
||||||
@@ -123,11 +125,11 @@ def url_target_blank(text):
|
|||||||
return text.replace('<a ', '<a target="_blank" ')
|
return text.replace('<a ', '<a target="_blank" ')
|
||||||
url_target_blank.is_safe=True
|
url_target_blank.is_safe=True
|
||||||
|
|
||||||
at_pattern = re.compile('(@\w+)', flags=re.U)
|
at_pattern = re.compile(r'(\s|^)(@\w+)', flags=re.U)
|
||||||
|
|
||||||
@register.filter(name='find_at')
|
@register.filter(name='find_at')
|
||||||
def find_at(text):
|
def find_at(text):
|
||||||
return at_pattern.sub(r'<span class="at-in-msg">\1</span>', text)
|
return at_pattern.sub(r'\1<span class="at-in-msg">\2</span>', text)
|
||||||
find_at.is_safe=True
|
find_at.is_safe=True
|
||||||
|
|
||||||
@register.filter(name='short_email')
|
@register.filter(name='short_email')
|
||||||
@@ -140,3 +142,11 @@ def short_email(email):
|
|||||||
return email
|
return email
|
||||||
else:
|
else:
|
||||||
return email[:idx]
|
return email[:idx]
|
||||||
|
|
||||||
|
@register.filter(name='seahub_urlize')
|
||||||
|
def seahub_urlize(value, autoescape=None):
|
||||||
|
"""Converts URLs in plain text into clickable links."""
|
||||||
|
from seahub.base.utils import urlize
|
||||||
|
return mark_safe(urlize(value, nofollow=True, autoescape=autoescape))
|
||||||
|
seahub_urlize.is_safe=True
|
||||||
|
seahub_urlize.needs_autoescape = True
|
||||||
|
@@ -102,7 +102,7 @@
|
|||||||
<a href="{{ SITE_ROOT }}profile/{{ msg.from_email }}/">{{ msg.from_email|email2nickname }}</a>
|
<a href="{{ SITE_ROOT }}profile/{{ msg.from_email }}/">{{ msg.from_email|email2nickname }}</a>
|
||||||
</div>
|
</div>
|
||||||
<div class="msg-bd">
|
<div class="msg-bd">
|
||||||
<p>{{ msg.message|linebreaksbr|urlize|url_target_blank|find_at }}</p>
|
<p>{{ msg.message|linebreaksbr|seahub_urlize|find_at }}</p>
|
||||||
{% if msg.reply_cnt == 0 %}
|
{% if msg.reply_cnt == 0 %}
|
||||||
<a class="reply op" href="#" data="{{ msg.id }}">回复</a>
|
<a class="reply op" href="#" data="{{ msg.id }}">回复</a>
|
||||||
{% else %}
|
{% else %}
|
||||||
|
Reference in New Issue
Block a user