def _serialize_period(self, period, userobj, devilry_qualifiesforexam_enabled): qualifies = None if devilry_qualifiesforexam_enabled: try: status = Status.get_current_status(period) except Status.DoesNotExist: pass else: if status.status == Status.READY: try: qualification_status = status.students.get(relatedstudent__user=userobj) qualifies = qualification_status.qualifies except QualifiesForFinalExam.DoesNotExist: pass return { 'id': period.id, 'short_name': period.short_name, 'long_name': period.long_name, 'start_time': format_datetime(period.start_time), 'end_time': format_datetime(period.end_time), 'is_active': period.is_active(), 'is_relatedstudent': period.relatedstudent_set.filter(user=userobj).exists(), 'qualified_forexams': qualifies, 'assignments': MappedList() }
def _serialize_assignment(self, assignment): return { 'id': assignment.id, 'short_name': assignment.short_name, 'long_name': assignment.long_name, 'publishing_time': format_datetime(assignment.publishing_time), 'deadline_handling': assignment.deadline_handling, 'anonymous': assignment.anonymous, 'delivery_types': assignment.delivery_types, 'groups': [] }
def _serialize_feedback(self, staticfeedback): return {'id': staticfeedback.id, 'rendered_view': staticfeedback.rendered_view, 'save_timestamp': format_datetime(staticfeedback.save_timestamp), 'grade': staticfeedback.grade, 'is_passing_grade': staticfeedback.is_passing_grade}