Skip to content

Commit

Permalink
message
Browse files Browse the repository at this point in the history
Change-Id: I6e853d829f064b2f77cb25f1c9628dca73d190ce
  • Loading branch information
guiyutong.sky committed May 11, 2020
1 parent 63d18fc commit 4af25b5
Show file tree
Hide file tree
Showing 2 changed files with 15 additions and 12 deletions.
5 changes: 5 additions & 0 deletions dkt/const.py
Original file line number Diff line number Diff line change
Expand Up @@ -47,3 +47,8 @@ class UserRole(Enum):
STUDENT = 'student'
PARENT = 'parent'
ADMIN = 'admin'


class MessageObjects(Enum):
PUB = u'pub'
ALL = u'all'
22 changes: 10 additions & 12 deletions dkt/service/message.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,10 +6,8 @@
import time
from django.db.models import Q

from dkt.database.models import MESSAGES
from dkt.database.models import USERS
from dkt.database.models import COURSE
from dkt.const import ObjectStatus
from dkt.database.models import MESSAGES, USERS, COURSE
from dkt.const import ObjectStatus, MessageObjects

def get_message(request, post_data):
"""
Expand All @@ -23,8 +21,8 @@ def get_message(request, post_data):
since = post_data.get('since', int(time.time()))
sender = post_data.get('sender')

if sender == 'pub':
msgs = MESSAGES.objects.filter(course_id=course_id, receiver='all', _t__lte=since)[:10]
if sender == MessageObjects.PUB.value:
msgs = MESSAGES.objects.filter(course_id=course_id, receiver=MessageObjects.ALL.value, _t__lte=since)[:10]
else:
msgs = MESSAGES.objects.filter(course_id=course_id, sender=sender, receiver=receiver, _t__lte=since)[:10]

Expand All @@ -45,12 +43,12 @@ def pub_message(request, post_data):
receiver = post_data.get('receiver')
msg = post_data.get('msg')

if not COURSE.objects.filter(Q(course_id=course_id), Q(t_account=sender)|Q(s_account=sender)):
return "Course and sender can't match!"
if receiver != 'all' and not COURSE.objects.filter(Q(course_id=course_id), Q(t_account=receiver)|Q(s_account=receiver)):
return "Course and receiver can't match!"
if receiver == 'all' and USERS.objects.get(account=sender).role != 'teacher':
return "Can't send to all, because you are not a teacher!"
# if not COURSE.objects.filter(Q(course_id=course_id), Q(t_account=sender)|Q(s_account=sender)):
# return "Course and sender can't match!"
# if receiver != 'all' and not COURSE.objects.filter(Q(course_id=course_id), Q(t_account=receiver)|Q(s_account=receiver)):
# return "Course and receiver can't match!"
# if receiver == 'all' and USERS.objects.get(account=sender).role != 'teacher':
# return "Can't send to all, because you are not a teacher!"

MESSAGES.objects.create(course_id=course_id, sender=sender, receiver=receiver, _t=int(time.time()), msg=msg)

Expand Down

0 comments on commit 4af25b5

Please sign in to comment.