mirror of
https://github.com/haiwen/seahub.git
synced 2025-07-13 15:05:30 +00:00
44 lines
1.6 KiB
Python
44 lines
1.6 KiB
Python
from signals import grpmsg_added
|
|
from models import GroupMessage
|
|
from notifications.models import UserNotification
|
|
|
|
from seaserv import get_group_members
|
|
|
|
def grpmsg_added_cb(sender, **kwargs):
|
|
group_id = kwargs['group_id']
|
|
from_email = kwargs['from_email']
|
|
group_members = get_group_members(int(group_id))
|
|
if len(group_members) > 15: # No need to send notification when group is
|
|
return # too large
|
|
|
|
for m in group_members:
|
|
if from_email == m.user_name:
|
|
continue
|
|
try:
|
|
UserNotification.objects.get(to_user=m.user_name,
|
|
msg_type='group_msg',
|
|
detail=group_id)
|
|
except UserNotification.DoesNotExist:
|
|
n = UserNotification(to_user=m.user_name, msg_type='group_msg',
|
|
detail=group_id)
|
|
n.save()
|
|
|
|
def grpmsg_reply_added_cb(sender, **kwargs):
|
|
msg_id = kwargs['msg_id']
|
|
reply_from_email = kwargs['from_email'] # this value may be used in future
|
|
try:
|
|
group_msg = GroupMessage.objects.get(id=msg_id)
|
|
except GroupMessage.DoesNotExist:
|
|
pass
|
|
|
|
try:
|
|
UserNotification.objects.get(to_user=group_msg.from_email,
|
|
msg_type='grpmsg_reply',
|
|
detail=msg_id)
|
|
except UserNotification.DoesNotExist:
|
|
n = UserNotification(to_user=group_msg.from_email,
|
|
msg_type='grpmsg_reply',
|
|
detail=msg_id)
|
|
n.save()
|
|
|