mirror of
https://github.com/haiwen/seahub.git
synced 2025-09-19 18:29:23 +00:00
Modify message reply notification
This commit is contained in:
@@ -37,20 +37,23 @@ def msgreply_save_handler(sender, instance, **kwargs):
|
|||||||
m = re.match(at_pattern, reply_msg)
|
m = re.match(at_pattern, reply_msg)
|
||||||
if m:
|
if m:
|
||||||
nickname_or_emailprefix = m.group()[1:]
|
nickname_or_emailprefix = m.group()[1:]
|
||||||
p = get_first_object_or_none(\
|
for member in get_group_members(group_msg.group_id):
|
||||||
Profile.objects.filter(nickname=nickname_or_emailprefix))
|
# For every group member, get his username and nickname if
|
||||||
if p:
|
# it exists, check whether match.
|
||||||
to_user = p.user
|
username = member.user_name
|
||||||
else:
|
if username == from_email:
|
||||||
# Match email prefix in group members.
|
continue
|
||||||
group_members = get_group_members(group_msg.group_id)
|
|
||||||
for m in group_members:
|
|
||||||
if m.user_name.startswith(nickname_or_emailprefix):
|
|
||||||
to_user = m.user_name
|
|
||||||
break
|
|
||||||
|
|
||||||
if to_user and to_user != from_email:
|
p = get_first_object_or_none(\
|
||||||
# Send notification to the user if user replies someone else'
|
Profile.objects.filter(user=username))
|
||||||
|
nickname = p.nickname if p else ''
|
||||||
|
if nickname == nickname_or_emailprefix or \
|
||||||
|
username.split('@')[0] == nickname_or_emailprefix:
|
||||||
|
to_user = username
|
||||||
|
break
|
||||||
|
|
||||||
|
if to_user:
|
||||||
|
# Send notification to the user if he replies someone else'
|
||||||
# message.
|
# message.
|
||||||
try:
|
try:
|
||||||
UserNotification.objects.get(to_user=to_user,
|
UserNotification.objects.get(to_user=to_user,
|
||||||
@@ -62,5 +65,3 @@ def msgreply_save_handler(sender, instance, **kwargs):
|
|||||||
detail=group_msg.id)
|
detail=group_msg.id)
|
||||||
n.save()
|
n.save()
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user