Beispiel #1
0
def create_quiz(user, quiz_obj, act_xml):

    quiz = Quiz()
    quiz.owner = user
    quiz.title = quiz_obj['title']
    quiz.description = quiz_obj['description']
    quiz.save()

    # save gamification events
    if act_xml.getElementsByTagName('gamification')[:1]:
        events = parse_gamification_events(act_xml.getElementsByTagName('gamification')[0])
        # remove anything existing for this course
        QuizGamificationEvent.objects.filter(quiz=quiz).delete()
        # add new
        for event in events:
            e = QuizGamificationEvent(user=user, quiz=quiz, event=event['name'], points=event['points'])
            e.save()

    quiz_obj['id'] = quiz.pk

    # add quiz props
    create_quiz_props(quiz, quiz_obj)

    # add quiz questions
    create_quiz_questions(user, quiz, quiz_obj)

    return json.dumps(quiz_obj)
Beispiel #2
0
def create_quiz(user, quiz_obj, act_xml):

    quiz = Quiz()
    quiz.owner = user
    quiz.title = quiz_obj['title']
    quiz.description = quiz_obj['description']
    quiz.save()

    # save gamification events
    if act_xml.getElementsByTagName('gamification')[:1]:
        events = parse_gamification_events(
            act_xml.getElementsByTagName('gamification')[0])
        # remove anything existing for this course
        QuizGamificationEvent.objects.filter(quiz=quiz).delete()
        # add new
        for event in events:
            e = QuizGamificationEvent(user=user,
                                      quiz=quiz,
                                      event=event['name'],
                                      points=event['points'])
            e.save()

    quiz_obj['id'] = quiz.pk

    # add quiz props
    create_quiz_props(quiz, quiz_obj)

    # add quiz questions
    create_quiz_questions(user, quiz, quiz_obj)

    return json.dumps(quiz_obj)
Beispiel #3
0
def create_quiz(request):

    user = request.user
    if user.is_admin():

        if request.method == 'POST':
            # form is submitted
            quiz_form = QuizForm(request.POST, request.user)

            if quiz_form.is_valid:
                # Create new instance of quiz
                item = Quiz()

                # Create random id and password
                item.quiz_id = create_quiz_id(size=random.randint(5, 10))
                item.quiz_password = get_random_string(
                    length=random.randint(8, 12))

                # Fill other details of the Quiz Object
                item.quiz_name = strip_tags(request.POST['quiz_name'])
                item.description = strip_tags(request.POST['description'])
                item.instructions = strip_tags(request.POST['instructions'])
                item.duration = strip_tags(request.POST['duration'])
                item.quiz_time = request.POST['quiz_time']
                item.quizmaster = request.user
                item.tags = strip_tags(request.POST['tags'])

                # Save the Quiz object and mail the credentials
                item.save()
                send_mail(
                    'New Quiz Created:' + item.quiz_name,
                    'Here are the credentials\n' + 'Quiz_id=' + item.quiz_id +
                    '\nQuiz_password='******'*****@*****.**',
                    [user.email],
                    fail_silently=True,
                )
                return redirect('add_questions/' + item.quiz_id)
            # errors are raised
            else:
                messages.error(request, 'Please correct the error below.')
                return render(request, 'create_quiz.html', {
                    'title': 'Create Quiz',
                    'quiz_form': quiz_form
                })

        else:
            # get request. We have to return the form so that user can fill it.
            create_quiz_form = QuizForm()
            return render(request, 'create_quiz.html', {
                'title': 'Create Quiz',
                'quiz_form': create_quiz_form
            })
    else:
        messages.info(
            request, 'You do not have the permissions required create a quiz')
        return redirect('home')
Beispiel #4
0
def create_quiz(user, quiz_obj):
    quiz = Quiz()
    quiz.owner = user
    quiz.title = clean_lang_dict(quiz_obj['title'])
    quiz.description = clean_lang_dict(quiz_obj['description'])
    quiz.save()

    # add quiz questions
    create_quiz_questions(user, quiz, quiz_obj)

    return quiz
Beispiel #5
0
def create_quiz(req, user, quiz_obj, act_xml, activity=None):

    quiz = Quiz()
    quiz.owner = user
    quiz.title = quiz_obj['title']
    quiz.description = quiz_obj['description']
    quiz.save()

    quiz_obj['id'] = quiz.pk

    # add quiz props
    create_quiz_props(quiz, quiz_obj)

    # add quiz questions
    create_quiz_questions(user, quiz, quiz_obj)

    return json.dumps(quiz_obj)