Example #1
0
    def get( self ):
        q = get_approving_question()

        if q == None or q.question == None:
            q = get_unapproved_question()

        if q == None:
            q = Question()
            
        """
        q_submitters = get_questions_with_submitters()
        submitters   = []
        for s in q_submitters:
            if s.submitter and not s.submitter in submitters:
                submitters.append( s.submitter )
        """

        logging.info('Question: %s %s %s' % (q.question, q.category, q.answer))

        q.state = 'approving'
        q.put()

        template_values = { 
            'CSS_FILE' : 'admin',
            'JS_FILE' : '',
            'q' : q,
            'num_not_approved' : get_unapproved_question_count()
        }
        
        self.response.out.write( template.render( 'templates/admin.html', template_values ) )
Example #2
0
    def post( self ):
        question    = self.request.get( 'question' )
        correct     = self.request.get( 'answer' )
        cat         = self.request.get( 'category' )
        diff        = self.request.get( 'difficulty' )
        incorrect_1 = self.request.get( 'incorrect_1' )
        incorrect_2 = self.request.get( 'incorrect_2' )
        incorrect_3 = self.request.get( 'incorrect_3' )
        submitter_id = self.request.get( 'submitter_uuid' )

        q = get_approving_question()
        submitter = User.get_by_uuid( submitter_id )

        random.seed( question )
        a = random.randint( 1, 4 )

        if a == 1:
            q.question = question
            q.opt_1    = correct
            q.opt_2    = incorrect_1
            q.opt_3    = incorrect_2
            q.opt_4    = incorrect_3
            q.answer   = correct
            q.state    = 'unused'
            q.category = cat
            q.difficulty = diff
            q.submitter  = submitter

        elif a == 2:
            q.question = question
            q.opt_1    = incorrect_1
            q.opt_2    = correct
            q.opt_3    = incorrect_2
            q.opt_4    = incorrect_3
            q.answer   = correct
            q.state    = 'unused'
            q.category = cat
            q.difficulty = diff
            q.submitter  = submitter
        
        elif a == 3:
            q.question = question
            q.opt_1    = incorrect_1
            q.opt_2    = incorrect_2
            q.opt_3    = correct
            q.opt_4    = incorrect_3
            q.answer   = correct
            q.state    = 'unused'
            q.category = cat
            q.difficulty = diff
            q.submitter  = submitter

        else:
            q.question = question
            q.opt_1    = incorrect_1
            q.opt_2    = incorrect_3
            q.opt_3    = incorrect_2
            q.opt_4    = correct
            q.answer   = correct
            q.state    = 'unused'
            q.category = cat
            q.difficulty = diff
            q.submitter  = submitter


        if submitter:
            q.put()
            
            old_place = submitter.get_place()
            
            submitter.add_message( 'The question you submitted was approved!<br /> You\'ve gained 3 points! Keep submitting to gain even more points!' )
            submitter.score += 3
            submitter.put()
            
            new_place = submitter.get_place()
            if new_place < old_place:
                submitter.add_message( 'You just overtook someone and scored place #%s' % new_place )

        self.redirect( '/admin' )