Beispiel #1
0
    def delete(self):
        """Remove a question from the datastore in response to DELETE."""
        key = self.request.get('key')

        if not self.assert_xsrf_token_or_fail(self.request, self.XSRF_TOKEN,
                                              {'key': key}):
            return

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

        question = QuestionDAO.load(key)
        if not question:
            transforms.send_json_response(self, 404, 'Question not found.',
                                          {'key': key})
            return

        used_by = QuestionDAO.used_by(question.id)
        if used_by:
            group_names = ['"%s"' % x for x in used_by]
            transforms.send_json_response(
                self, 403,
                ('Question in use by question groups:\n%s.\nPlease delete it '
                 'from those groups and try again.') % ',\n'.join(group_names),
                {'key': key})
            return

        QuestionDAO.delete(question)
        transforms.send_json_response(self, 200, 'Deleted.')
    def delete(self):
        """Remove a question from the datastore in response to DELETE."""
        key = self.request.get('key')

        if not self.assert_xsrf_token_or_fail(
                self.request, self.XSRF_TOKEN, {'key': key}):
            return

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

        question = QuestionDAO.load(key)
        if not question:
            transforms.send_json_response(
                self, 404, 'Question not found.', {'key': key})
            return

        used_by = QuestionDAO.used_by(question.id)
        if used_by:
            group_names = ['"%s"' % x for x in used_by]
            transforms.send_json_response(
                self, 403,
                ('Question in use by question groups:\n%s.\nPlease delete it '
                 'from those groups and try again.') % ',\n'.join(group_names),
                {'key': key})
            return

        QuestionDAO.delete(question)
        transforms.send_json_response(self, 200, 'Deleted.')
Beispiel #3
0
    def delete(self):
        """Delete the question_group in response to REST request."""
        key = self.request.get('key')

        if not self.assert_xsrf_token_or_fail(
                self.request, self.XSRF_TOKEN, {'key': key}):
            return

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

        question_group = QuestionGroupDAO.load(key)
        if not question_group:
            transforms.send_json_response(
                self, 404, 'Question Group not found.', {'key': key})
            return
        QuestionGroupDAO.delete(question_group)
        transforms.send_json_response(self, 200, 'Deleted.')