def trigger_loaded(courseId, studentId): loaded = Log(type='loaded', courseId=courseId, student=studentId) loaded.put() loadedUpdated(courseId, { 'student': studentId })
def trigger_help(lti=lti): #def trigger_help(): content = request.get_json(silent=True) logging.info(content) studentId = cgi.escape(content['studentId']) studentName = cgi.escape(content['studentName']) courseId = cgi.escape(content['courseId']) student = ndb.Key('Student', courseId + studentId).get() help = Log(type='help', courseId=courseId, student=studentId) help.put() fullName = student.fullName if student else 'Unknown student' avatarUrl = student.avatarUrl if student else '' feedUpdated(courseId, { 'student': studentId, 'fullName': fullName, 'avatarUrl': avatarUrl }) newMessage(courseId, { 'student': studentId, 'courseId': courseId, 'id': help.key.id(), 'type': 'help', 'content': '', 'info': student.info(), 'date': DateTimeJSONEncoder().encode(help.date).replace('"', '') }) return "Help received"
def new_message(lti=lti): #def new_message(): content = request.get_json(silent=True) logging.info(content) studentId = cgi.escape(content['studentId']) #From Field courseId = cgi.escape(content['courseId']) text = cgi.escape(content['text']) student_key = ndb.Key('Student', courseId + studentId) student = student_key.get() message = Log(type='text', courseId=courseId, student=studentId) message.content = text message.put() fullName = student.fullName if student else 'Unknown student' avatarUrl = student.avatarUrl if student else '' newMessage(courseId, { 'student': studentId, #Broadcast message from: 'courseId': courseId, 'id': message.key.id(), 'type': 'text', 'content': text, 'info': student.info(), 'date': '' }) return "Message received"
def trigger_reward(): studentId = cgi.escape(request.form['studentId']) reward = Log(type=LogType.REWARD, student=studentId) reward.put() p.trigger('private-status', 'client-reward', {'studentId': studentId}) return "Reward received"
def trigger_register(): studentId = cgi.escape(request.form['studentId']) register = Log(type=LogType.REGISTERED, student=studentId) register.put() p.trigger('private-status', 'registered', {'studentId': studentId}) return "Registration received"
def trigger_help(): studentId = cgi.escape(request.form['studentId']) help = Log(type=LogType.HELP_NEEDED, student=studentId) help.put() p.trigger('private-status', 'help', {'studentId': studentId}) return "Help received"
def trigger_ping(): studentId = cgi.escape(request.form['studentId']) pinged = Log(type=LogType.PINGED, student=studentId) pinged.put() p.trigger('private-status', 'client-ping', {'studentId': studentId}) return "Ping received" #endregion
def trigger_register(lti=lti): content = request.get_json(silent=True) studentId = cgi.escape(content['studentId']) courseId = cgi.escape(content['courseId']) register = Log(type='registered', courseId=courseId, student=studentId) register.put() registerUpdated(courseId, { 'student': studentId }) return "Registration received"
def trigger_reward(): studentId = cgi.escape(request.form['studentId']) student = getStudent(studentId) reward = Log(type='reward', student=studentId) reward.put() p.trigger('private-status', 'client-reward', { 'studentId': studentId, 'student': student }) return "Reward received"
def trigger_ping(): studentId = cgi.escape(request.form['studentId']) student = getStudent(studentId) pinged = Log(type='ping', student=studentId) pinged.put() p.trigger('private-status', 'client-ping', { 'studentId': studentId, 'student': student }) return "Ping received" #endregion
def new_teacher_message(lti=lti): #def new_teacher_message(): content = request.get_json(silent=True) logging.info(content) studentId = cgi.escape(content['studentId']) teacherId = cgi.escape(content['teacherId']) courseId = cgi.escape(content['courseId']) text = cgi.escape(content['text']) student_key = ndb.Key('Student', courseId + studentId) student = student_key.get() teacher_key = ndb.Key('Student', courseId + teacherId) teacher = teacher_key.get() message = Log(type='text', courseId=courseId, student=studentId) message.content = text message.teacher = teacherId message.put() newStudentMessage(courseId, studentId, { 'student': teacherId, 'courseId': courseId, 'id': message.key.id(), 'type': 'text', 'content': text, 'info': teacher.info(), 'teacherinfo': student.info(), 'date': DateTimeJSONEncoder().encode(message.date).replace('"', '') }) newMessage(courseId, { 'student': studentId, 'courseId': courseId, 'id': message.key.id(), 'type': 'text', 'content': text, 'info': teacher.info(), 'teacherinfo': student.info(), 'date': DateTimeJSONEncoder().encode(message.date).replace('"', '') }) return "Message received"
def new_student_message(lti=lti): #def new_student_message(): content = request.get_json(silent=True) logging.info(content) studentId = cgi.escape(content['studentId']) courseId = cgi.escape(content['courseId']) text = cgi.escape(content['text']) student_key = ndb.Key('Student', courseId + studentId) student = student_key.get() message = Log(type='text', courseId=courseId, student=studentId) message.content = text message.put() fullName = student.fullName if student else 'Unknown student' avatarUrl = student.avatarUrl if student else '' newStudentMessage(courseId, studentId, { 'student': studentId, 'courseId': courseId, 'id': message.key.id(), 'type': 'text', 'content': text, 'info': student.info(), 'date': DateTimeJSONEncoder().encode(message.date).replace('"', '') }) newMessage(courseId, { 'student': studentId, 'courseId': courseId, 'id': message.key.id(), 'type': 'text', 'info': student.info(), 'content': text, 'date': DateTimeJSONEncoder().encode(message.date).replace('"', '') }) return "Message received"