mirror of
https://github.com/haiwen/seahub.git
synced 2025-09-01 15:09:14 +00:00
[notice email] improved code
This commit is contained in:
@@ -44,7 +44,15 @@ class Command(BaseCommand):
|
||||
repl = r'src="%s\1"' % get_site_scheme_and_netloc()
|
||||
return re.sub(pattern, repl, img_tag)
|
||||
|
||||
def get_file_upload_avatar_url(self, default_size=32):
|
||||
def get_avatar_src(self, username, default_size=32):
|
||||
avatar_img = self.get_avatar(username, default_size)
|
||||
m = re.search('<img src="(.*?)".*', avatar_img)
|
||||
if m:
|
||||
return m.group(1)
|
||||
else:
|
||||
return ''
|
||||
|
||||
def get_default_avatar(self, default_size=32):
|
||||
# user default avatar
|
||||
img_tag = """<img src="%s" width="%s" height="%s" class="avatar" alt="" />""" % \
|
||||
(get_default_avatar_url(), default_size, default_size)
|
||||
@@ -52,6 +60,14 @@ class Command(BaseCommand):
|
||||
repl = r'src="%s\1"' % get_site_scheme_and_netloc()
|
||||
return re.sub(pattern, repl, img_tag)
|
||||
|
||||
def get_default_avatar_src(self, default_size=32):
|
||||
avatar_img = self.get_default_avatar(default_size)
|
||||
m = re.search('<img src="(.*?)".*', avatar_img)
|
||||
if m:
|
||||
return m.group(1)
|
||||
else:
|
||||
return ''
|
||||
|
||||
def format_priv_file_share_msg(self, notice):
|
||||
d = json.loads(notice.detail)
|
||||
priv_share_token = d['priv_share_token']
|
||||
@@ -59,7 +75,7 @@ class Command(BaseCommand):
|
||||
args=[priv_share_token])
|
||||
notice.notice_from = escape(email2nickname(d['share_from']))
|
||||
notice.priv_shared_file_name = d['file_name']
|
||||
notice.avatar = self.get_avatar(d['share_from'])
|
||||
notice.avatar_src = self.get_avatar_src(d['share_from'])
|
||||
return notice
|
||||
|
||||
def format_user_message(self, notice):
|
||||
@@ -68,7 +84,7 @@ class Command(BaseCommand):
|
||||
message = d.get('message')
|
||||
|
||||
notice.notice_from = escape(email2nickname(msg_from))
|
||||
notice.avatar = self.get_avatar(msg_from)
|
||||
notice.avatar_src = self.get_avatar_src(msg_from)
|
||||
notice.user_msg_url = reverse('user_msg_list', args=[msg_from])
|
||||
notice.user_msg = message
|
||||
return notice
|
||||
@@ -84,7 +100,7 @@ class Command(BaseCommand):
|
||||
notice.group_url = reverse('group_discuss', args=[group.id])
|
||||
notice.notice_from = escape(email2nickname(d['msg_from']))
|
||||
notice.group_name = group.group_name
|
||||
notice.avatar = self.get_avatar(d['msg_from'])
|
||||
notice.avatar_src = self.get_avatar_src(d['msg_from'])
|
||||
notice.grp_msg = message
|
||||
return notice
|
||||
|
||||
@@ -95,7 +111,7 @@ class Command(BaseCommand):
|
||||
|
||||
notice.group_msg_reply_url = reverse('msg_reply_new')
|
||||
notice.notice_from = escape(email2nickname(d['reply_from']))
|
||||
notice.avatar = self.get_avatar(d['reply_from'])
|
||||
notice.avatar_src = self.get_avatar_src(d['reply_from'])
|
||||
notice.grp_reply_msg = message
|
||||
notice.grpmsg_topic = grpmsg_topic
|
||||
return notice
|
||||
@@ -111,7 +127,7 @@ class Command(BaseCommand):
|
||||
notice.repo_url = reverse('repo', args=[repo.id])
|
||||
notice.notice_from = escape(email2nickname(d['share_from']))
|
||||
notice.repo_name = repo.name
|
||||
notice.avatar = self.get_avatar(d['share_from'])
|
||||
notice.avatar_src = self.get_avatar_src(d['share_from'])
|
||||
return notice
|
||||
|
||||
def format_file_uploaded_msg(self, notice):
|
||||
@@ -129,7 +145,7 @@ class Command(BaseCommand):
|
||||
notice.file_name = file_name
|
||||
notice.folder_link = folder_link
|
||||
notice.folder_name = folder_name
|
||||
notice.avatar = self.get_file_upload_avatar_url()
|
||||
notice.avatar_src = self.get_default_avatar_src()
|
||||
return notice
|
||||
|
||||
def format_group_join_request(self, notice):
|
||||
@@ -148,7 +164,7 @@ class Command(BaseCommand):
|
||||
notice.notice_from = username
|
||||
notice.grpjoin_group_name = group.group_name
|
||||
notice.grpjoin_request_msg = join_request_msg
|
||||
notice.avatar = self.get_avatar(username)
|
||||
notice.avatar_src = self.get_avatar_src(username)
|
||||
return notice
|
||||
|
||||
def get_user_language(self, username):
|
||||
|
@@ -4,22 +4,8 @@
|
||||
|
||||
{% block email_con %}
|
||||
|
||||
<style type="text/css">
|
||||
table { width:100%; margin:12px 0 20px; table-layout:fixed; border-spacing: 0; border-collapse: collapse;}
|
||||
td, th { font-size: 13px; padding: 5px 3px; word-wrap: break-word; border-bottom: 1px solid #eee; }
|
||||
th { text-align: left; font-weight: normal; color: #9c9c9c; }
|
||||
td { color: #333; }
|
||||
p { line-height: 1.5; margin:.2em 0; }
|
||||
.hi { color:#121214;font-size:14px;margin-bottom:12px; }
|
||||
.amount { font-size:14px;color:#434144; }
|
||||
.avatar-cell { text-align:center; vertical-align:top; padding-top:8px; }
|
||||
.avatar {border-radius: 1000px;}
|
||||
.topic { padding: 4px 13px; border-left: 3px solid #e0e0e0; margin-left: 7px; }
|
||||
.brief, .detail { margin-right:10px; }
|
||||
</style>
|
||||
|
||||
<p class="hi">{% blocktrans with name=to_user|email2nickname %}Hi, {{ name }}{% endblocktrans %}</p>
|
||||
<p class="amount">
|
||||
<p style="font-size:14px; line-height: 1.5; color:#121214; margin:.2em 0 12px;">{% blocktrans with name=to_user|email2nickname %}Hi, {{ name }}{% endblocktrans %}</p>
|
||||
<p style="font-size:14px; line-height: 1.5; color:#434144; margin:.2em 0;">
|
||||
{% blocktrans count num=notice_count %}
|
||||
You've got 1 new notice on {{ site_name }}:
|
||||
{% plural %}
|
||||
@@ -27,53 +13,53 @@ You've got {{num}} new notices on {{ site_name }}:
|
||||
{% endblocktrans %}
|
||||
</p>
|
||||
|
||||
<table>
|
||||
<table style="width:100%; margin:12px 0 20px; table-layout:fixed; border-spacing: 0; border-collapse: collapse;">
|
||||
<tr>
|
||||
<th width="10%"></th>
|
||||
<th width="70%">{% trans "Message" %}</th>
|
||||
<th width="20%">{% trans "Time" %}</th>
|
||||
<th width="9%" style="padding: 5px 3px; border-bottom: 1px solid #eee;"></th>
|
||||
<th width="69%" style="padding: 5px 3px; border-bottom: 1px solid #eee; font-size:13px; text-align: left; font-weight: normal; color: #9c9c9c;">{% trans "Message" %}</th>
|
||||
<th width="22%" style="padding: 5px 3px; border-bottom: 1px solid #eee; font-size:13px; text-align: left; font-weight: normal; color: #9c9c9c;">{% trans "Time" %}</th>
|
||||
</tr>
|
||||
{% for notice in notices %}
|
||||
<tr>
|
||||
<td class="avatar-cell">{{notice.avatar|safe}}</td>
|
||||
<td>
|
||||
<td style="padding:8px 3px 5px; border-bottom: 1px solid #eee; text-align:center; vertical-align:top;"><img src="{{notice.avatar_src}}" width="32" height="32" alt="" style="border-radius:1000px;" /></td>
|
||||
<td style="padding: 5px 3px; border-bottom: 1px solid #eee; font-size: 13px; color: #333; word-wrap: break-word;">
|
||||
{% if notice.is_group_msg %}
|
||||
<p class="brief">{% blocktrans with user=notice.notice_from grp_url=notice.group_url grp_name=notice.group_name%}{{user}} posted a new discussion in <a href="{{url_base}}{{grp_url}}">{{grp_name}}</a>{% endblocktrans %}</p>
|
||||
<p style="line-height:1.5; margin:.2em 10px .2em 0;">{% blocktrans with user=notice.notice_from grp_url=notice.group_url grp_name=notice.group_name%}{{user}} posted a new discussion in <a href="{{url_base}}{{grp_url}}">{{grp_name}}</a>{% endblocktrans %}</p>
|
||||
{% if notice.grp_msg %}
|
||||
<p class="detail">{{notice.grp_msg}}</p>
|
||||
<p style="line-height:1.5; margin:.2em 10px .2em 0;">{{notice.grp_msg}}</p>
|
||||
{% endif %}
|
||||
|
||||
{% elif notice.is_grpmsg_reply %}
|
||||
<p class="brief">{% blocktrans with user=notice.notice_from reply_url=notice.group_msg_reply_url%}{{user}} replied your <a href="{{url_base}}{{reply_url}}">group discussion</a>{% endblocktrans %}</p>
|
||||
<p style="line-height:1.5; margin:.2em 10px .2em 0;">{% blocktrans with user=notice.notice_from reply_url=notice.group_msg_reply_url%}{{user}} replied your <a href="{{url_base}}{{reply_url}}">group discussion</a>{% endblocktrans %}</p>
|
||||
{% if notice.grp_reply_msg %}
|
||||
<div class="detail">
|
||||
<div style="margin-right: 10px;">
|
||||
{% if notice.grpmsg_topic %}
|
||||
<p class="topic">{{notice.grpmsg_topic|truncatechars:45}}</p>
|
||||
<p style="padding: 4px 13px; border-left: 3px solid #e0e0e0; line-height:1.5; margin:.2em 0 .2em 7px;">{{notice.grpmsg_topic|truncatechars:45}}</p>
|
||||
{% endif %}
|
||||
<p>{{notice.grp_reply_msg}}</p>
|
||||
<p style="line-height:1.5; margin:.2em 0;">{{notice.grp_reply_msg}}</p>
|
||||
</div>
|
||||
{% endif %}
|
||||
|
||||
{% elif notice.is_repo_share_msg %}
|
||||
<p class="brief">{% blocktrans with user=notice.notice_from lib_url=notice.repo_url lib_name=notice.repo_name%}{{user}} has shared a library named <a href="{{url_base}}{{lib_url}}">{{lib_name}}</a> to you.{% endblocktrans %}</p>
|
||||
<p style="line-height:1.5; margin:.2em 10px .2em 0;">{% blocktrans with user=notice.notice_from lib_url=notice.repo_url lib_name=notice.repo_name%}{{user}} has shared a library named <a href="{{url_base}}{{lib_url}}">{{lib_name}}</a> to you.{% endblocktrans %}</p>
|
||||
|
||||
{% elif notice.is_priv_file_share_msg %}
|
||||
<p class="brief">{% blocktrans with user=notice.notice_from file_url=notice.priv_shared_file_url file_name=notice.priv_shared_file_name %}{{user}} has shared a file named <a href="{{url_base}}{{file_url}}">{{file_name}}</a> to you.{% endblocktrans %}</p>
|
||||
<p style="line-height:1.5; margin:.2em 10px .2em 0;">{% blocktrans with user=notice.notice_from file_url=notice.priv_shared_file_url file_name=notice.priv_shared_file_name %}{{user}} has shared a file named <a href="{{url_base}}{{file_url}}">{{file_name}}</a> to you.{% endblocktrans %}</p>
|
||||
|
||||
{% elif notice.is_user_message %}
|
||||
<p class="brief">{% blocktrans with msg_url=notice.user_msg_url user=notice.notice_from %}You have received a <a href="{{ url_base }}{{msg_url}}">new message</a> from {{user}}.{% endblocktrans %}</p>
|
||||
<p style="line-height:1.5; margin:.2em 10px .2em 0;">{% blocktrans with msg_url=notice.user_msg_url user=notice.notice_from %}You have received a <a href="{{ url_base }}{{msg_url}}">new message</a> from {{user}}.{% endblocktrans %}</p>
|
||||
{% if notice.user_msg %}
|
||||
<p class="detail">{{notice.user_msg}}</p>
|
||||
<p style="line-height:1.5; margin:.2em 10px .2em 0;">{{notice.user_msg}}</p>
|
||||
{% endif %}
|
||||
|
||||
{% elif notice.is_file_uploaded_msg %}
|
||||
<p class="brief">{% blocktrans with file_url=notice.file_link file_name=notice.file_name folder_url=notice.folder_link folder_name=notice.folder_name %}A file named <a href="{{url_base}}{{file_url}}">{{file_name}}</a> is uploaded to your folder <a href="{{url_base}}{{folder_url}}">{{folder_name}}</a>.{% endblocktrans %}</p>
|
||||
<p style="line-height:1.5; margin:.2em 10px .2em 0;">{% blocktrans with file_url=notice.file_link file_name=notice.file_name folder_url=notice.folder_link folder_name=notice.folder_name %}A file named <a href="{{url_base}}{{file_url}}">{{file_name}}</a> is uploaded to your folder <a href="{{url_base}}{{folder_url}}">{{folder_name}}</a>.{% endblocktrans %}</p>
|
||||
|
||||
{% elif notice.is_group_join_request %}
|
||||
<p class="brief">{% blocktrans with user_url=notice.grpjoin_user_profile_url user=notice.notice_from grp_url=notice.grpjoin_group_url grp_name=notice.grpjoin_group_name msg=notice.grpjoin_request_msg %}User <a href="{{url_base}}{{user_url}}">{{user}}</a> has asked to join group <a href="{{url_base}}{{grp_url}}">{{grp_name}}</a>, verification message: {{msg}}{% endblocktrans %}</p>
|
||||
<p style="line-height:1.5; margin:.2em 10px .2em 0;">{% blocktrans with user_url=notice.grpjoin_user_profile_url user=notice.notice_from grp_url=notice.grpjoin_group_url grp_name=notice.grpjoin_group_name msg=notice.grpjoin_request_msg %}User <a href="{{url_base}}{{user_url}}">{{user}}</a> has asked to join group <a href="{{url_base}}{{grp_url}}">{{grp_name}}</a>, verification message: {{msg}}{% endblocktrans %}</p>
|
||||
{% endif %}
|
||||
</td>
|
||||
<td>{{ notice.timestamp|date:"Y-m-d G:i:s"}}</td>
|
||||
<td style="padding: 5px 3px; border-bottom: 1px solid #eee; font-size: 13px; color: #333; word-wrap: break-word;">{{ notice.timestamp|date:"Y-m-d G:i:s"}}</td>
|
||||
</tr>
|
||||
{% endfor %}
|
||||
</table>
|
||||
|
Reference in New Issue
Block a user