def get(self):
        # get questions
        all_questions = list(MultipleChoiceQuestion.all())
        random.shuffle(all_questions)
        forms = [MultipleChoiceQuestionForm(None, q) for q in all_questions]

        # if no questions are defined, activate immediately
        if not all_questions:
            self.org_by_code.activate()

        # render page
        self.render(
            activation_template,
            org=self.org_by_code,
            question_forms=forms,
            num_questions_to_ask=self.MAX_NUM_QUESTIONS_TO_ASK,
        )
Example #2
0
    def get(self):
        # get questions
        all_questions = list(MultipleChoiceQuestion.all())
        random.shuffle(all_questions)
        forms = [MultipleChoiceQuestionForm(None, q) for q in all_questions]

        # if no questions are defined, activate immediately
        if not all_questions:
            self.org_by_code.activate()

        # render page
        self.render(
            activation_template,
            org=self.org_by_code,
            question_forms=forms,
            num_questions_to_ask=self.MAX_NUM_QUESTIONS_TO_ASK,
        )
Example #3
0
    def _get_forms(self):
        # unescape POST to allow HTML in forms
        for k in self.request.POST.keys():
            self.request.POST[k] = unescape(self.request.POST[k])

        # load by all questions and order by id
        questions = list(MultipleChoiceQuestion.all())
        questions.sort(key=lambda q: q.key().id(), reverse=True)

        # create forms
        posted_prefix = self.request.POST.get('prefix', '')
        existing_question_forms = [
            MultipleChoiceQuestionEditForm(
                self.request.POST if posted_prefix.startswith(
                    unicode(question.key().id())) else None,
                question,
                prefix=unicode(question.key().id())) for question in questions
        ]
        new_question_form = MultipleChoiceQuestionEditForm(self.request.POST)
        return existing_question_forms, new_question_form
    def _get_forms(self):
        # unescape POST to allow HTML in forms
        for k in self.request.POST.keys():
            self.request.POST[k] = unescape(self.request.POST[k])

        # load by all questions and order by id
        questions = list(MultipleChoiceQuestion.all())
        questions.sort(key=lambda q: q.key().id(), reverse=True)

        # create forms
        posted_prefix = self.request.POST.get('prefix', '')
        existing_question_forms = [
            MultipleChoiceQuestionEditForm(
                self.request.POST
                if posted_prefix.startswith(unicode(question.key().id()))
                else None,
                question,
                prefix=unicode(question.key().id())
            )
            for question in questions
        ]
        new_question_form = MultipleChoiceQuestionEditForm(self.request.POST)
        return existing_question_forms, new_question_form