示例#1
0
    def get(self):
        """Get the data to populate the question editor form."""
        key = self.request.get('key')

        if not CourseOutlineRights.can_view(self):
            transforms.send_json_response(self, 401, 'Access denied.',
                                          {'key': key})
            return

        if key:
            question = QuestionDAO.load(key)
            payload_dict = question.dict
        else:
            payload_dict = {
                'version':
                self.SCHEMA_VERSION,
                'question':
                '',
                'description':
                '',
                'graders': [{
                    'score': '1.0',
                    'matcher': 'case_insensitive',
                    'response': '',
                    'feedback': ''
                }]
            }

        transforms.send_json_response(
            self,
            200,
            'Success',
            payload_dict=payload_dict,
            xsrf_token=XsrfTokenManager.create_xsrf_token(self.XSRF_TOKEN))
示例#2
0
    def get(self):
        """Get the data to populate the question editor form."""
        key = self.request.get('key')

        if not CourseOutlineRights.can_view(self):
            transforms.send_json_response(
                self, 401, 'Access denied.', {'key': key})
            return

        if key:
            question = QuestionDAO.load(key)
            payload_dict = question.dict
        else:
            payload_dict = {
                'version': self.SCHEMA_VERSION,
                'question': '',
                'description': '',
                'graders': [
                    {
                        'score': '1.0',
                        'matcher': 'case_insensitive',
                        'response': '',
                        'feedback': ''}]}

        transforms.send_json_response(
            self, 200, 'Success',
            payload_dict=payload_dict,
            xsrf_token=XsrfTokenManager.create_xsrf_token(self.XSRF_TOKEN))
示例#3
0
    def get(self):
        """Respond to the REST GET verb with the contents of the group."""
        key = self.request.get('key')

        if not CourseOutlineRights.can_view(self):
            transforms.send_json_response(
                self, 401, 'Access denied.', {'key': key})
            return

        if key:
            question_group = QuestionGroupDAO.load(key)
            version = question_group.dict.get('version')
            if self.SCHEMA_VERSION != version:
                transforms.send_json_response(
                    self, 403, 'Cannot edit a Version %s group.' % version,
                    {'key': key})
                return
            payload_dict = question_group.dict
        else:
            payload_dict = {
                'version': self.SCHEMA_VERSION,
                'items': [{'weight': ''}, {'weight': ''}, {'weight': ''}]}

        transforms.send_json_response(
            self, 200, 'Success',
            payload_dict=payload_dict,
            xsrf_token=XsrfTokenManager.create_xsrf_token(self.XSRF_TOKEN))
示例#4
0
    def get(self):
        """Get the data to populate the question editor form."""
        def export(q_dict):
            p_dict = copy.deepcopy(q_dict)
            # InputEx does not correctly roundtrip booleans, so pass strings
            p_dict['multiple_selections'] = (
                'true' if q_dict.get('multiple_selections') else 'false')
            return p_dict

        key = self.request.get('key')

        if not CourseOutlineRights.can_view(self):
            transforms.send_json_response(self, 401, 'Access denied.',
                                          {'key': key})
            return

        if key:
            question = QuestionDAO.load(key)
            payload_dict = export(question.dict)
        else:
            payload_dict = {
                'version':
                self.SCHEMA_VERSION,
                'question':
                '',
                'description':
                '',
                'multiple_selections':
                'false',
                'choices': [{
                    'score': '1',
                    'text': '',
                    'feedback': ''
                }, {
                    'score': '0',
                    'text': '',
                    'feedback': ''
                }, {
                    'score': '0',
                    'text': '',
                    'feedback': ''
                }, {
                    'score': '0',
                    'text': '',
                    'feedback': ''
                }]
            }

        transforms.send_json_response(
            self,
            200,
            'Success',
            payload_dict=payload_dict,
            xsrf_token=XsrfTokenManager.create_xsrf_token(self.XSRF_TOKEN))
示例#5
0
    def get(self):
        """Get the data to populate the question editor form."""

        def export(q_dict):
            p_dict = copy.deepcopy(q_dict)
            # InputEx does not correctly roundtrip booleans, so pass strings
            p_dict['multiple_selections'] = (
                'true' if q_dict.get('multiple_selections') else 'false')
            return p_dict

        key = self.request.get('key')

        if not CourseOutlineRights.can_view(self):
            transforms.send_json_response(
                self, 401, 'Access denied.', {'key': key})
            return

        if key:
            question = QuestionDAO.load(key)
            payload_dict = export(question.dict)
        else:
            payload_dict = {
                'version': self.SCHEMA_VERSION,
                'question': '',
                'description': '',
                'multiple_selections': 'false',
                'choices': [
                    {'score': '1', 'text': '', 'feedback': ''},
                    {'score': '0', 'text': '', 'feedback': ''},
                    {'score': '0', 'text': '', 'feedback': ''},
                    {'score': '0', 'text': '', 'feedback': ''}
                ]}

        transforms.send_json_response(
            self, 200, 'Success',
            payload_dict=payload_dict,
            xsrf_token=XsrfTokenManager.create_xsrf_token(self.XSRF_TOKEN))