예제 #1
0
    def student_endpoint(self):
        if not is_subjectroom_student_relationship(self.focusroom.subjectRoom, self.user):
            raise Http404

        return render(self.request, self.template, AuthenticatedVM(self.user,
                                                                   StudentFocusIdBody(self.user,
                                                                                      self.focusroom))
                      .as_context())
예제 #2
0
def parent_focus_id_get(request, focus_id, child_id):
    statsd.increment('core.hits.get.parent_focus_id')

    focusroom = get_object_or_404(FocusRoom, pk=focus_id)
    child = get_object_or_404(User, pk=child_id)

    if not is_subjectroom_student_relationship(focusroom.subjectRoom, child):
        raise Http404

    return ParentFocusIdGet(request, focusroom, child).handle()
예제 #3
0
def parent_subject_id_get(request, subject_id, child_id):
    statsd.increment('core.hits.get.parent_subject_id')

    subjectroom = get_object_or_404(SubjectRoom, pk=subject_id)
    child = get_object_or_404(User, pk=child_id)

    if not is_subjectroom_student_relationship(subjectroom, child):
        raise Http404

    return ParentSubjectIdGet(request, subjectroom, child).handle()
예제 #4
0
    def open_student_endpoint(self):
        if not is_subjectroom_student_relationship(self.subjectroom,
                                                   self.user):
            raise Http404

        return render(
            self.request, self.template,
            AuthenticatedVM(
                self.user,
                OpenStudentSubjectIdBody(self.user,
                                         self.subjectroom)).as_context())
예제 #5
0
def student_id_get(request, student_id, subjectroom_id):
    statsd.increment('edge.hits.get.student_id')
    try:
        student = get_object_or_404(User, pk=student_id)
        if student.userinfo.group != HWCentralGroup.refs.STUDENT and student.userinfo.group != HWCentralGroup.refs.OPEN_STUDENT:
            raise Http404

        subjectroom = get_object_or_404(SubjectRoom, pk=subjectroom_id)
        if not is_subjectroom_student_relationship(subjectroom, student):
            raise Http404
    except Http404, e:
        return Json404Response(e)
예제 #6
0
@login_required
@statsd.timed('core.chart.single_subject_student')
def single_subject_student_chart_get(request, student_id, subjectroom_id):
    statsd.increment('core.hits.chart.single_subject_student')

    try:
        student = get_object_or_404(User, pk=student_id)
    except Http404, e:
        return Json404Response(e)
    try:
        subjectroom = get_object_or_404(SubjectRoom, pk=subjectroom_id)
    except Http404, e:
        return Json404Response(e)

    # check if provided student belongs to the provided subjectroom
    if not is_subjectroom_student_relationship(subjectroom, student):
        return Json404Response()

    return SingleSubjectStudentChartGet(request, subjectroom, student).handle()


@login_required
@statsd.timed('core.chart.subjectroom')
def subjectroom_chart_get(request, subjectroom_id):
    statsd.increment('core.hits.chart.subjectroom')
    try:
        subjectroom = get_object_or_404(SubjectRoom, pk=subjectroom_id)
    except Http404, e:
        return Json404Response(e)
    return SubjectroomChartGet(request, subjectroom).handle()