예제 #1
0
def _get_readonly_review_1_4(handler, unit, review_content):
    return create_readonly_assessment_params(
        courses.Course(handler).get_review_content(unit),
        student_work.StudentWorkUtils.get_answer_list(review_content))
예제 #2
0
def _get_readonly_review_1_4(handler, unit, review_content):
    return create_readonly_assessment_params(
        courses.Course(handler).get_review_content(unit),
        student_work.StudentWorkUtils.get_answer_list(review_content))
예제 #3
0
    def get_edit_assignment(self):
        """Shows interface for selecting and viewing a student assignment."""
        if not AssignmentsRights.can_view(self):
            self.error(401)
            return

        course = courses.Course(self)
        peer_reviewed_units = course.get_peer_reviewed_units()

        template_values = {}
        template_values['page_title'] = self.format_title('Peer Review')
        template_values['page_description'] = (
            messages.ASSIGNMENTS_MENU_DESCRIPTION)

        unit_id = self.request.get('unit_id')
        if not unit_id:
            # No unit has been set yet, so display an empty form.
            template_values['main_content'] = self.get_assignment_html(
                peer_reviewed_units)
            self.render_page(template_values)
            return

        reviewee_id = self.request.get('reviewee_id')
        # This field may be populated due to a redirect from a POST method.
        post_error_msg = self.request.get('post_error_msg')

        request_params, error_msg = self.parse_request(
            course, unit_id, reviewee_id)
        unit = request_params.get('unit')
        reviewee = request_params.get('reviewee')

        if error_msg:
            template_values['main_content'] = self.get_assignment_html(
                peer_reviewed_units, unit_id=unit_id, reviewee_id=reviewee_id,
                error_msg=error_msg)
            self.render_page(template_values)
            return

        # Render content.
        assessment_content = course.get_assessment_content(unit)
        rp = course.get_reviews_processor()

        submission_and_review_steps = rp.get_submission_and_review_steps(
            unit.unit_id, reviewee.get_key())
        if not submission_and_review_steps:
            template_values['main_content'] = self.get_assignment_html(
                peer_reviewed_units, unit_id=unit_id, reviewee_id=reviewee_id,
                error_msg='412: This student hasn\'t submitted the assignment.'
            )
            self.render_page(template_values)
            return

        submission_contents = submission_and_review_steps[0]
        answer_list = student_work.StudentWorkUtils.get_answer_list(
            submission_contents)

        readonly_assessment = create_readonly_assessment_params(
            assessment_content, answer_list
        )

        review_form = course.get_review_form_content(unit)

        review_steps = submission_and_review_steps[1]
        reviews = rp.get_reviews_by_keys(
            unit.unit_id,
            [review_step.review_key for review_step in review_steps],
            handle_empty_keys=True)

        reviews_params = []
        reviewers = []
        for idx, review_step in enumerate(review_steps):
            params = create_readonly_assessment_params(
                review_form,
                student_work.StudentWorkUtils.get_answer_list(reviews[idx])
            )
            reviews_params.append(params)

            reviewer = models.Student.get_student_by_user_id(
                review_step.reviewer_key.name()).key().name()
            reviewers.append(reviewer)

        assert len(reviewers) == len(review_steps)
        assert len(reviews_params) == len(review_steps)

        template_values['main_content'] = self.get_assignment_html(
            peer_reviewed_units, unit_id=unit_id, reviewee_id=reviewee_id,
            readonly_assessment=readonly_assessment, review_steps=review_steps,
            error_msg=post_error_msg, reviewers=reviewers,
            reviews_params=reviews_params)
        self.render_page(template_values)
 def get_readonly_review_1_4(self, unit, review_content):
     return create_readonly_assessment_params(
         courses.Course(self).get_review_form_content(unit),
         student_work.StudentWorkUtils.get_answer_list(review_content))
 def get_readonly_assessment_1_4(self, unit, submission_content):
     return create_readonly_assessment_params(
         courses.Course(self).get_assessment_content(unit),
         student_work.StudentWorkUtils.get_answer_list(submission_content))
예제 #6
0
 def get_readonly_review_1_4(self, unit, review_content):
     return create_readonly_assessment_params(
         courses.Course(self).get_review_form_content(unit),
         student_work.StudentWorkUtils.get_answer_list(review_content))
예제 #7
0
 def get_readonly_assessment_1_4(self, unit, submission_content):
     return create_readonly_assessment_params(
         courses.Course(self).get_assessment_content(unit),
         student_work.StudentWorkUtils.get_answer_list(submission_content))