def editQuestion(request, questionId):
    args={}
    args.update(csrf(request))
    objQuestionForm = QuestionForm(request.POST or None)
    objOptionForm = OptionFrom(request.POST or None)
    if request.method == 'POST':
        flag=False
        
        if request.POST['type_text'] == 'MCQ':
 #           objOptionForm.clean_optionheadertext(sOptionHeaderText=request.POST['option_header_text'],nOptionHeaderID=request.POST['option_header_id'])
            if objQuestionForm.is_valid() and objOptionForm.is_valid():
                flag=True
        else:
            objOptionForm = OptionFrom()
            if objQuestionForm.is_valid():
                flag=True   
                
        if flag == True:
            iOptionHeaderID = None 
            i_UserId = UserDetails.objects.get(user_id=request.session['UserID'])
            if request.POST['type_text'] == 'MCQ':
                if request.POST['option_header_id']=='0':
                    objOptionHeader = OptionHeader.objects.create(title=request.POST['option_header_text'], modified_by=i_UserId, modified_on=timezone.now())
                    iOptionHeaderID = OptionHeader.objects.latest('option_header_id')
                    objOptionForm.save(commit=False, userId=i_UserId, optionHeaderId=iOptionHeaderID)
                    
                else:
                    iOptionHeaderID = OptionHeader.objects.get(option_header_id=request.POST['option_header_id'])
            Question.objects.filter(question_id=request.POST['questionID']).update(question=request.POST['question'],level=request.POST['level'],weight=request.POST['weight'],info=request.POST['info'],intent=request.POST['intent'],type=request.POST['type_text'],option_header=iOptionHeaderID)
            return HttpResponseRedirect("/question/QuestionList")
        else:
            args['optionCreateform']=objOptionForm
            args['questionCreateform']=objQuestionForm         
    else:    
        objQuestion=Question.objects.get(question_id=int(questionId))
        
        if objQuestion.type=='MCQ':
            objOptionHeader=OptionHeader.objects.get(option_header_id=objQuestion.option_header_id)
            objOption=Option.objects.filter(option_header=objOptionHeader.option_header_id)
            optionText=''
            for option in objOption:
                optionText+=option.option_text + '|#|' + str(option.option_level)+'|,|'
            optionText=optionText[:-3]
            objOptionForm = OptionFrom(initial={'option_header_id':str(objOptionHeader.option_header_id),'option_text':optionText,'option_header_text':objOptionHeader.title})
            
        args['optionCreateform']=objOptionForm
        
        objQuestionForm = QuestionForm(initial={'questionID':questionId,'question':objQuestion.question,'level':objQuestion.level,'weight':objQuestion.weight,'info':objQuestion.info,'intent':objQuestion.intent,'type_text':objQuestion.type})
        args['questionCreateform']=objQuestionForm
    
    return render_to_response('Questions/CreateQuestion.html',args)
def game_modify(request, gameid=None, qmod=False):
  question_form = None 
  inst = None
  if gameid != "new":
    inst = Game.objects.get(id=gameid)

    questions = Question.objects.all()
    question_form = QuestionForm()
    fields = {}
    our_questions = inst.questionforgame_set

    for question in questions:
      fields["%s" % question.id] = BooleanField(label=question.uniq_name, required=False, widget=CheckboxInput)
      fields["%s_required" % question.id] = BooleanField(label="  %s povinne" % question.uniq_name, required=False, widget=CheckboxInput)

      if question in [ que.question for que in our_questions.all() ]:
        fields["%s" % question.id].initial = True
        if our_questions.get(question=question).required:
          fields["%s_required" % question.id].initial = True
    question_form.setFields(fields)


  if request.method == 'POST':

    if qmod:
      form = QuestionForm()
      fields={}
      for question in Question.objects.all():
        fields["%s" % question.id] = BooleanField(label=question.uniq_name, required=False, widget=CheckboxInput)
        fields["%s_required" % question.id] = BooleanField(label="  %s povinne" % question.uniq_name, required=False, widget=CheckboxInput)
      form.setFields(fields)
      form.setData(request.POST)
      form.validate(request.POST)
      if form.is_valid():
        form.save(gameid)
        return HttpResponseRedirect('/admin/games/')
    else:
      form = GameForm(request.POST, instance=inst)
      print "We should end here"
      if form.is_valid():
        form.save()
        return HttpResponseRedirect('/admin/games/')
  else:
    form = GameForm(instance=inst)
  return render_to_response('admin/gameform.html', 
                            {'form': form, 'gameid': gameid,
                             'menuitems'  : createMenuItems(),
                             'user'       : request.user,
                             'title'      : "Editace hry",
                             'questions'  : question_form})
def questionCreateView(request):
    
    args={}
    args.update(csrf(request))
    args['error']=''
    objQuestionForm = QuestionForm(request.POST or None)
    objOptionForm = OptionFrom(request.POST or None)
    if request.method == 'POST':
        if request.POST['type_text'] == 'MCQ':
 #           objOptionForm.clean_optionheadertext(sOptionHeaderText=request.POST['option_header_text'],nOptionHeaderID=request.POST['option_header_id'])
            if objQuestionForm.is_valid() and objOptionForm.is_valid():
                flag=True
            else:
                flag=False
        else:
            objOptionForm = OptionFrom()
            if objQuestionForm.is_valid():
                flag=True   
            else:
                flag=False
             
        if flag == True:
            iOptionHeaderID = 0 
            i_UserId = UserDetails.objects.get(user_id=request.session['UserID'])
            if request.POST['type_text'] == 'MCQ':
                if request.POST['option_header_id']=='0':
                    objOptionHeader = OptionHeader.objects.create(title=request.POST['option_header_text'], modified_by=i_UserId, modified_on=timezone.now())
                    iOptionHeaderID = OptionHeader.objects.latest('option_header_id')
                    objOptionForm.save(commit=False, userId=i_UserId, optionHeaderId=iOptionHeaderID)
                    
                else:
                    iOptionHeaderID = OptionHeader.objects.get(option_header_id=request.POST['option_header_id'])
            objQuestionForm.save(commit=False, userId = i_UserId, optionHeaderId = iOptionHeaderID)
            args['successMsg']="Question created successfully"
            objOptionForm = OptionFrom()
            initial = {'type_text' : request.POST['type_text']}
            objQuestionForm = QuestionForm()
            args['questionCreateform']=objQuestionForm
            args['optionCreateform']=objOptionForm
            return render_to_response('Questions/CreateQuestion.html',args)
        else:
            args['questionCreateform']=objQuestionForm
            args['optionCreateform']=objOptionForm
            return render_to_response('Questions/CreateQuestion.html',args)
    else:
        args['questionCreateform']=objQuestionForm
        args['optionCreateform']=objOptionForm
        return render_to_response('Questions/CreateQuestion.html',args)
Exemple #4
0
def ask(request):
    if request.method == 'POST':
        form = QuestionForm(request.POST)
        if form.is_valid():
            question = form.save(commit=False)
            if request.user.is_authenticated():
                question.user = request.user
            question.save()
            return render(request, 'ask_librarian/frontend/thanks.html', {
                'question': question,
            })
    else:
        if request.user.is_authenticated():
            form = QuestionForm(
                initial={
                    'fio': request.user.last_name + u' ' + request.user.first_name,
                    'email': request.user.email,
                }
            )
        else:
            form = QuestionForm()

    return render(request, 'ask_librarian/frontend/ask.html', {
        'form': form
    })
Exemple #5
0
def question_entry(request):
    '''Submit question/answer pairs'''
    args = {}
    args["added"] = False

    if request.method == 'POST':
        question_form = QuestionForm(request.POST)

        if question_form.is_valid():
            question_form.save()
            args["added"] = True
            args["prev_question"] = str(question_form.instance.question)
            args["prev_topic"] = str(question_form.instance.subtopic)
            # clear form so next question can be entered.
            question_form = QuestionForm()
    else:
        question_form = QuestionForm()

    args["question_form"] = question_form

    return render_to_response(
        'questionEntry.html',
        args,
        context_instance=RequestContext(request),
    )
Exemple #6
0
def add_question(request):
    context = {}

    settings = Settings.get_by_user(request.user)
    initial = {}

    if settings.group:
        initial["groups"] = [settings.group.id]

    if request.method == "POST":
        form = QuestionForm(request.POST)
        if form.is_valid():
            question = form.save(commit=False)
            question.added_by = request.user
            question.save()

            revision = QuestionRevision(
                question=question, user=request.user,
                text=form.cleaned_data["body"], active=True)
            revision.save()
            return HttpResponseRedirect("/question/%s" % question.id)
    else:
        form = QuestionForm(initial=initial)

    context["form"] = form


    return r2r(request, "add_question", context)
Exemple #7
0
def edit_question(request, question_id):
    context = {}
    question = Question.objects.get(pk=question_id)
    old_revision = question.get_active_revision()

    if request.method == "POST":
        form = QuestionForm(request.POST, instance=question)
        if form.is_valid():
            form.save()
            question = form.save()
            if old_revision.text != form.cleaned_data["body"]:
                new_revision = QuestionRevision(
                    question=question, user=request.user,
                    text=form.cleaned_data["body"], active=True)
                new_revision.save()
                old_revision.active = False
                old_revision.save()
            return HttpResponseRedirect("/question/%s" % question_id)
    else:
        form = QuestionForm(instance=question, initial={
            "body": old_revision.text
        })

    context["form"] = form
    return r2r(request, "edit_question", context)
Exemple #8
0
def createQuestion(request, poll_id):
    if (poll_id == None):
        return redirect("/")
    poll = Poll.objects.get(id=poll_id)
    if (poll.creator != request.user):
        return redirect("/")
    if request.method == "POST":
        question_form = QuestionForm(data=request.POST)
        if question_form.is_valid():  #falta validar por la respuesta.
            question = question_form.save(commit=False)
            question.poll = Poll.objects.get(id=poll_id)
            type = Type.objects.get(id=1)
            question.type = type
            question.save()
            for ans in request.POST.getlist('answers'):
                answer = Answer(question=question, text=ans)
                answer.save()
            if request.POST['continuar'] == "1":
                return render_to_response(
                    "create_question.html",
                    context_instance=RequestContext(request))
            else:
                return redirect('/invitation_list/' + poll_id)
    return render_to_response("create_question.html", {'poll': poll},
                              context_instance=RequestContext(request))
Exemple #9
0
def SaveQuestionForm(request):
    if request.is_ajax():
        data = request.POST.copy()
        faq_form = QuestionForm(data)
        if faq_form.is_valid():
            saved_object = faq_form.save()
            subject = u'%s - Новый вопрос' % settings.SITE_NAME
            subject = u''.join(subject.splitlines())
            message = render_to_string(
                'faq/admin_message_template.html',
                    {
                    'saved_object': saved_object,
                    'site_name': settings.SITE_NAME,
                }
            )
            try:
                emailto = Settings.objects.get(name='workemail').value
            except Settings.DoesNotExist:
                emailto = False

            if emailto:
                msg = EmailMessage(subject, message, settings.DEFAULT_FROM_EMAIL, [emailto])
                msg.content_subtype = "html"
                msg.send()

            return HttpResponse('success')
        else:
            faq_form_html = render_to_string(
                'faq/faq_form.html',
                    {'form': faq_form}
            )
            return HttpResponse(faq_form_html)
    else:
        return HttpResponseBadRequest()
Exemple #10
0
def qpool_edit(request, id):
    question = get_object_or_404(Question, pk=id)
    categs = [(c.name.capitalize(), c.name) for c in Category.objects.all()]

    if request.method == 'POST':
        form = QuestionForm(request.POST, instance=question)
        if form.is_valid():
            newq = form.save()
            newq.proposed_by = request.user
            if newq.endorsed_by is None:
                newq.endorsed_by = request.user
                newq.save()
            return redirect('qpool_home', cat=newq.category.name)
        else:
            print "nevalid"
    else:
        show_users = False
        if question:
            if question.category:
                if question.category.name == 'proposed':
                    show_users = True

        form = QuestionForm(instance=question)

    return render_to_response('cpanel/qpool_edit.html',
                              {'question': question,
                               'form': form,
                               'module': 'qpool',
                               'categs': categs},
                              context_instance=RequestContext(request))
Exemple #11
0
def question_edit(request, id=None):
    if id is not None:
        question = get_object_or_404(Question, pk=id)
    else:
        question = None

    categs = [(c.name.capitalize(), c.name) for c in Category.objects.all()]

    if request.method == 'POST':
        form = QuestionForm(request.POST, instance=question)
        if form.is_valid():
            newq = form.save()
            if (newq.endorsed_by is None):
                newq.endorsed_by = request.user
                newq.save()
            return HttpResponseRedirect(reverse('wouso.interface.cpanel.views.qpool_home', args = (newq.category.name,)))
    else:
        show_users = False
        if question:
            if question.category:
                if question.category.name == 'proposed':
                    show_users = True

        form = QuestionForm(instance=question, users=show_users)

    return render_to_response('cpanel/question_edit.html',
                              {'question': question,
                               'form': form,
                               'module': 'qpool',
                               'categs': categs},
                              context_instance=RequestContext(request))
Exemple #12
0
def question_edit(request, id=None):
    if id is not None:
        question = get_object_or_404(Question, pk=id)
    else:
        question = None

    categs = [(c.name.capitalize(), c.name) for c in Category.objects.all()]

    if request.method == 'POST':
        form = QuestionForm(request.POST, instance=question)
        if form.is_valid():
            newq = form.save()
            if (newq.endorsed_by is None):
                newq.endorsed_by = request.user
                newq.save()
            return HttpResponseRedirect(
                reverse('wouso.interface.cpanel.views.qpool_home',
                        args=(newq.category.name, )))
    else:
        show_users = False
        if question:
            if question.category:
                if question.category.name == 'proposed':
                    show_users = True

        form = QuestionForm(instance=question, users=show_users)

    return render_to_response('cpanel/question_edit.html', {
        'question': question,
        'form': form,
        'module': 'qpool',
        'categs': categs
    },
                              context_instance=RequestContext(request))
Exemple #13
0
def add_question(request):
    context = {}

    settings = Settings.get_by_user(request.user)
    initial = {}

    if settings.group:
        initial["groups"] = [settings.group.id]

    if request.method == "POST":
        form = QuestionForm(request.POST)
        if form.is_valid():
            question = form.save(commit=False)
            question.added_by = request.user
            question.save()

            revision = QuestionRevision(question=question,
                                        user=request.user,
                                        text=form.cleaned_data["body"],
                                        active=True)
            revision.save()
            return HttpResponseRedirect("/question/%s" % question.id)
    else:
        form = QuestionForm(initial=initial)

    context["form"] = form

    return r2r(request, "add_question", context)
Exemple #14
0
def edit_question(request, question_id):
    context = {}
    question = Question.objects.get(pk=question_id)
    old_revision = question.get_active_revision()

    if request.method == "POST":
        form = QuestionForm(request.POST, instance=question)
        if form.is_valid():
            form.save()
            question = form.save()
            if old_revision.text != form.cleaned_data["body"]:
                new_revision = QuestionRevision(question=question,
                                                user=request.user,
                                                text=form.cleaned_data["body"],
                                                active=True)
                new_revision.save()
                old_revision.active = False
                old_revision.save()
            return HttpResponseRedirect("/question/%s" % question_id)
    else:
        form = QuestionForm(instance=question,
                            initial={"body": old_revision.text})

    context["form"] = form
    return r2r(request, "edit_question", context)
Exemple #15
0
def questions_edit(request, instance_pk=None):
    if instance_pk is not None:
        instance = get_object_or_404(Question, pk=instance_pk)
    else:
        instance = None
    
    if request.method == 'POST':
        form = QuestionForm(request.POST, instance=instance)
        if form.is_valid():
            question = form.save(commit=False)
            question.user = request.user
            question.save()
            #
            form.save_m2m()
            # return a message
            messages.success(request, 'Question Created')
            # return a redirect
            return HttpResponseRedirect(reverse('journals:journal_today'))
    
    if request.method == 'GET':
        form = QuestionForm(instance=instance)
    
    return render_to_response('journals/questions_edit.html', RequestContext(request,{
        'form' : form,
        'instance' : instance,
    }))
Exemple #16
0
def edit_question(request, question_id):
    a_question = get_object_or_404(Question, pk=question_id)
    form = QuestionForm (request.POST or None, instance = a_question)
    if form.is_valid():
        question = form.save()
        return redirect(reverse("polls:index"))

    return render (request, "polls/edit_template.html", {'form': form })
Exemple #17
0
def ask_question(request, project_id):
    proj = Project.objects.get(id=int(project_id))
    form = QuestionForm(request.POST)
    if form.is_valid():
        new_question = Question(text=form.cleaned_data["question"],
                                project=proj,
                                asker=request.user,
                                reply="")
        new_question.save()
    return HttpResponseRedirect(request.META.get('HTTP_REFERER'))
Exemple #18
0
def add_question(request):
    form = QuestionForm()
    if request.method == 'POST':
        form = QuestionForm(request.POST)
        if form.is_valid():
            form.instance.user = request.user
            form.save()
            return HttpResponseRedirect(reverse('index'))
    
    return request_response(request, 'answers/add_question.html', {'form':form})
Exemple #19
0
def questionEdit(request, mode, type, test_id, question_id=0):
    render = render_options(request)
    if request.method == 'GET':
        if mode == 'add':
            render['form'] = QuestionForm()
        elif mode == 'edit':
            render['form'] = QuestionForm(
                instance=get_object_or_404(Question, id=question_id))
        else:
            question = get_object_or_404(Question, id=question_id)
            question.delete()
            return HttpResponseRedirect('/tests/test/%s/' % test_id)
        return render_to_response('question.html', render)
    else:
        if mode == 'add':
            form = QuestionForm(request.POST)
            if form.is_valid():
                from django.db.models import Max
                question = form.save(commit=False)
                question.test = get_object_or_404(Test, id=test_id)
                question.type = type
                number = Question.objects.aggregate(
                    Max('number'))['number__max']
                if number == None:
                    number = 0
                question.number = number + 1
                question.save()
                return HttpResponseRedirect('/tests/test/%s/#%s' %
                                            (test_id, question.id))
            else:
                return render_to_response('question.html', render)
        elif mode == 'edit':
            form = QuestionForm(request.POST,
                                instance=get_object_or_404(Question,
                                                           id=question_id))
            if form.is_valid():
                form.save()
                return HttpResponseRedirect('/tests/test/%s/#%s' %
                                            (test_id, question.id))
            else:
                return render_to_response('question.html', render)
        else:
            return HttpResponseRedirect('/tests/test/%s/' % test_id)
Exemple #20
0
def add_new_question(request):
    if request.POST:
        form = QuestionForm(request.POST)
        if form.is_valid():
            new_question = form.save()
#            return HttpResponseRedirect('/question/updated/%s/' %(new_question.id))
            return HttpResponseRedirect('/question/show/')
    else:
        form = QuestionForm()
    return render_to_response('question_model_form.html', dict(form=form))
Exemple #21
0
def create_question(request, question_id=None):
    '''create or update a answer based on a question id'''
    user = request.user
    if request.POST:
        #save form
        question = None
        question_id = request.POST["question_id"]
        if question_id:
            #editing
            question = Question.objects.get(id=question_id)
        form = QuestionForm(request.POST, instance=question)
        if form.is_valid():
            author = user.username
            question = form.save(commit=False)
            question.author = user
            question.save()

            currentTags = question.tags.all()
            for eachTag in currentTags:
                question.tags.remove(eachTag)

            tags = request.POST['tags']
            if tags:
                tags = tags.split(",")
                print >> sys.stderr, repr(tags)
                for eachTag in tags:
                    thisTag = Tag.objects.filter(text=eachTag)
                    if not thisTag:
                        #new tag
                        tag = Tag(text=eachTag.strip())
                        tag.save()
                    else:
                        #old tag
                        tag = thisTag[0]
                    question.tags.add(tag)
            return HttpResponseRedirect('/hello/question/%s' % question.id)
    else:
        #show form
        args = {}
        question = None
        tags = ""
        if question_id:
            #editing current
            question = Question.objects.get(id=question_id)
            args['question'] = question
            args['command'] = "Update"
            tags = ",".join(question.tags.values_list("text", flat=True))
        else:
            args['command'] = "Create"
        form = QuestionForm(tags=tags, instance=question)
        args['form'] = form

        return render_to_response("create_question.html",
                                  args,
                                  context_instance=RequestContext(request))
Exemple #22
0
def add_question(request, quiz_id):
    """Add the new question that superuser created to the database."""
    form = QuestionForm(request.POST)
    if form.is_valid():
        new_ques = form.save()
        new_ques.save()
        return HttpResponseRedirect(
            reverse('create_question', kwargs={'quiz_id': quiz_id}))
    else:
        return render(request, 'invalidAttempt.html',
                      {'message': 'Invalid input!'})
Exemple #23
0
def create(request):
    if request.method == 'POST':
        form = QuestionForm(request.POST)
        if form.is_valid():
            form.save()
            mail_admins('Someone made a question!', 'http://' + request.get_host() + '/admin/quiz/question/?state=NEW')
            return HttpResponseRedirect('/quiz/created')
    else:
        form = QuestionForm()
    return render(request, 'quiz/create.html',
        {'form':form, 'title':'Create question'})
Exemple #24
0
def create(request):
    if request.method == 'POST':
        form = QuestionForm(request.POST)
        if form.is_valid():
            form.save()
            return redirect('index')
    else:
        form = QuestionForm()
    return render_to_response('questionsandanswers/create.html',
                              {'form': form},
                              context_instance=RequestContext(request))
Exemple #25
0
def create(request):
    if request.method == "POST":
        form = QuestionForm(request.POST)
        if form.is_valid():
            form.save()
            mail_admins(
                "Someone made a question!", "http://" + request.get_host() + "/admin/quiz/question/?published__exact=0"
            )
            return HttpResponseRedirect("/quiz/created")
    else:
        form = QuestionForm()
    return render_to_response("quiz/create.html", {"form": form}, context_instance=RequestContext(request))
Exemple #26
0
def edit(request, question_id):
    question = get_object_or_404(Question, pk=question_id)
    if request.method == 'POST':
        form = QuestionForm(request.POST, instance=question)
        if form.is_valid():
            form.save()
            return redirect('index')
    else:
        form = QuestionForm(instance=question)
    return render_to_response('questionsandanswers/edit.html',
                              {'form': form},
                              context_instance=RequestContext(request))
Exemple #27
0
def qs_ask_page(request):
    if request.method == 'POST':
        qform = QuestionForm(request.POST);
        if qform.is_valid():
            ctrls.saveQuestionByForm(request,qform);
            return HttpResponseRedirect("/question/quest/")
    else:
        if request.user.is_authenticated():
            quest_types = Question_Type.objects.all(); #@UndefinedVariable
            return render_to_response('faqs_ask.html', {'quest_types':quest_types},context_instance=RequestContext(request))
        else:
            return HttpResponseRedirect("/login/")
Exemple #28
0
def questionbuilder(request):
    if request.method == "POST":
        form = QuestionForm(request.POST)
        if form.is_valid():
            # Add tag section to form.
            # The tag section will be parsed, and the question will be tagged with the tags recognized.
            # Any unrecognized tags will be created and put into the tag table. Then the question will
            # tagged with these.
            return HttpResponseRedirect("/questionbuilder/successful/")
    else:
        form = QuestionForm()
    return render_to_response("testgenerator.html", {"form": form}, context_instance=RequestContext(request))
Exemple #29
0
def question_admin(request, slug):
    q = get_object_or_404(Question, slug=slug)
    if request.method == 'POST':
        form = QuestionForm(request.POST, request.FILES, instance=q)
        if form.is_valid():
            return HttpResponseRedirect(form.save().get_absolute_url())
    else:
        form = QuestionForm(instance=q)
    return render_to_response('qna/admin.html', {
            'question':q,
            'form':form,
        }, context_instance=RequestContext(request))   
Exemple #30
0
def create_question(request, question_id=None):
    '''create or update a answer based on a question id'''
    user = request.user
    if request.POST:
        #save form
        question=None
        question_id = request.POST["question_id"]
        if question_id:
            #editing
            question=Question.objects.get(id=question_id)
        form = QuestionForm(request.POST, instance=question)
        if form.is_valid():
            author  = user.username
            question=form.save(commit=False)
            question.author = user
            question.save()
            
            currentTags=question.tags.all()
            for eachTag in currentTags:
                question.tags.remove(eachTag)
            
            tags=request.POST['tags']
            if tags:
                tags=tags.split(",")
                print >>sys.stderr, repr(tags)
                for eachTag in tags:
                    thisTag=Tag.objects.filter(text=eachTag)
                    if not thisTag:
                        #new tag
                        tag = Tag(text=eachTag.strip())
                        tag.save()
                    else:
                        #old tag
                        tag=thisTag[0]
                    question.tags.add(tag)
            return HttpResponseRedirect('/hello/question/%s'%question.id)
    else:
        #show form
        args={}
        question=None
        tags=""
        if question_id:
            #editing current
            question=Question.objects.get(id=question_id)
            args['question']=question
            args['command']="Update"
            tags=",".join(question.tags.values_list("text", flat=True))
        else:
            args['command']="Create"
        form = QuestionForm(tags=tags, instance=question)
        args['form'] = form
        
        return render_to_response("create_question.html", args, context_instance=RequestContext(request))
Exemple #31
0
def addQuestion(request):
    if request.method == "POST":
        form = QuestionForm(request.POST)
        if form.is_valid():
            newQuestion = Question(course_id = form.cleaned_data['course_id'], student_id = form.cleaned_data['student_id'], title = form.cleaned_data['title'], content = form.cleaned_data['content'])
            newQuestion.post_time = str(datetime.datetime.now()).split('.')[0]
            newQuestion.save()
            return HttpResponseRedirect('/admin')
    else:
        form = QuestionForm() 

    return render(request, 'polls/addQuestion.html', {'form': form})
Exemple #32
0
def create(request):
    if request.method == 'POST':
        form = QuestionForm(request.POST)
        if form.is_valid():
            form.save()
            mail_admins(
                'Someone made a question!', 'http://' + request.get_host() +
                '/admin/quiz/question/?published__exact=0')
            return HttpResponseRedirect('/quiz/created')
    else:
        form = QuestionForm()
    return render_to_response('quiz/create.html', {'form': form},
                              context_instance=RequestContext(request))
Exemple #33
0
def create(request):
    if request.method == 'POST':
        form = QuestionForm(request.POST)
        if form.is_valid():
            form.save()
            mail_admins('Someone made a question!', 'http://' + request.get_host() + '/admin/quiz/question/?published__exact=0')
            return HttpResponseRedirect('/quiz/created')
    else:
        form = QuestionForm()
    return render_to_response('quiz/create.html',
        {'form':form, 'title':'Create question'},
        context_instance=RequestContext(request)
        )
Exemple #34
0
def create_question(request):
    form = QuestionForm(request.POST or None)
    #choice_form = ChoiceForm(request.POST or None)
    if form.is_valid(): #and choice_form.is_valid():
        #choice = choice_form.save(commit=False)
        question = form.save(commit=False)
        question.pub_date = timezone.now()
        question.save()
        #choice.question = question
        #choice.save()
        return redirect(reverse("polls:index"))

    return render(request, 'polls/my_template.html', {'form':form,})# 'choice_form':choice_form})
Exemple #35
0
def question_admin(request, slug):
    q = get_object_or_404(Question, slug=slug)
    if request.method == 'POST':
        form = QuestionForm(request.POST, request.FILES, instance=q)
        if form.is_valid():
            return HttpResponseRedirect(form.save().get_absolute_url())
    else:
        form = QuestionForm(instance=q)
    return render_to_response('qna/admin.html', {
        'question': q,
        'form': form,
    },
                              context_instance=RequestContext(request))
def edit_question(request, question_id):

    question_to_edit = Question.objects.get(id=question_id)

    if request.method == 'POST':
        form = QuestionForm(request.POST, instance=question_to_edit)

        if form.is_valid():
            form.save()        
            return questions(request)
    else:
        form = QuestionForm(instance=question_to_edit)

    return render(request, 'edit_questions.html', {'form' : form})
Exemple #37
0
def editQuestion(request, project_id, question_id):
	p = get_object_or_404(Project, pk = project_id, owner = request.user)
	q = get_object_or_404(Question, pk = question_id)
	
	#answer = Answer.objects.get(pk=p)
	if request.method == 'POST': # If the form has been submitted...
		form = QuestionForm(request.POST, instance = q) # A form bound to the POST data
		if form.is_valid(): # All validation rules pass
			form.save()			
			return HttpResponseRedirect('/flow/' + project_id +'/#' + question_id) # Redirect after POST
	else:
		form = QuestionForm(instance=q) # A form initiated with the question data
		variables = RequestContext(request, { 'form': form,	 'url_project' : p, 'url_question' : q })
		return render_to_response('flow/editQuestion.html', variables)
Exemple #38
0
def questionEdit(request, mode, type, test_id, question_id = 0):
    render = render_options(request)
    if request.method == 'GET':
        if mode == 'add':
            render['form'] = QuestionForm()
        elif mode == 'edit':
            render['form'] = QuestionForm(instance = get_object_or_404(Question, id = question_id))
        else:
            question = get_object_or_404(Question, id = question_id)
            question.delete()
            return HttpResponseRedirect('/tests/test/%s/' % test_id)
        return render_to_response('tests/question.html', render)
    else:
        if mode == 'add':
            form = QuestionForm(request.POST)
            if form.is_valid():
                from django.db.models import Max
                question = form.save(commit = False)
                question.test = get_object_or_404(Test, id = test_id)
                question.type = type
                number = Question.objects.aggregate(Max('number'))['number__max']
                if number == None:
                    number = 0
                question.number = number + 1
                question.save()
                return HttpResponseRedirect('/tests/test/%s/#%s' % (test_id, question.id))
            else:
                return render_to_response('tests/question.html', render)
        elif mode == 'edit':
            form = QuestionForm(request.POST, instance = get_object_or_404(Question, id = question_id))
            if form.is_valid():
                form.save()
                return HttpResponseRedirect('/tests/test/%s/#%s' % (test_id, question.id))
            else:
                return render_to_response('tests/question.html', render)
        else:
            return HttpResponseRedirect('/tests/test/%s/' % test_id)
Exemple #39
0
def ajax_suggest(request):
    if request.method == 'POST':
        form = QuestionForm(request.POST)
        if form.is_valid():
            q = Question(question=form.cleaned_data['question'],
                         twitter_user=form.cleaned_data['twitter_user'],
                         approved=False)
            q.save()
            message = "success"
        else:
            # shouldn't be reached accept if HTML5 validation is bypassed
            message = "form not valid"
    else:
        message = "you must post"
    return HttpResponse(message)
Exemple #40
0
def ask(request):
    if request.method == "POST":
        user = request.user
        form = QuestionForm(request.POST)
        if form.is_valid():
            title = form.cleaned_data['name']
            tag_name = form.cleaned_data['tag']
            description = form.cleaned_data['description']
            tag = Tag.objects.create(tag=tag_name)
            question = Question.objects.create(title=title,
                                               description=description,
                                               asker=user)
            question.tags.add(tag)
            return redirect('polls:question', question_id=question.id)
    return render_to_response('ask.html', context=RequestContext(request))
Exemple #41
0
def create(request):
    if request.method == 'POST':
        form = QuestionForm(request.POST)
        if form.is_valid():
            form.save()
            mail_admins(
                'Someone made a question!', 'http://' + request.get_host() +
                '/admin/quiz/question/?state=NEW')
            return HttpResponseRedirect('/quiz/created')
    else:
        form = QuestionForm()
    return render(request, 'quiz/create.html', {
        'form': form,
        'title': 'Create question'
    })
def question(request):
    """
    Handle question
    :param request:
    :return:
    """
    if request.method == 'POST':
        form = QuestionForm(request.POST)
        if form.is_valid():
            if 'name' in form.cleaned_data:
                name = form.cleaned_data['name']
            else:
                name = None
            if 'email' in form.cleaned_data:
                email = form.cleaned_data['email']
            else:
                email = None
            if 'phone' in form.cleaned_data:
                phone = form.cleaned_data['phone']
            else:
                phone = None
            if email == "" and phone == "":
                return JsonResponse({"result": "error"})
            if 'question' in form.cleaned_data:
                question = form.cleaned_data['question']
            else:
                question = None
            Question.objects.create(
                name=name,
                email=email,
                phone=phone,
                datetime=timezone.now(),
                question=question,
            )
            try:
                send_mail(
                    "New question",
                    'Phone: ' + phone + '\n \nEmail: ' + email,
                    getattr(settings, "EMAIL_HOST_USER", None),
                    [settings.EMAIL_ADDRESS, ],
                    fail_silently=False,
                )
            except:
                pass
            return JsonResponse({"result": "ok"})
        else:
            return JsonResponse({"result": "error"})
Exemple #43
0
def landing_page(request):
    
    if request.method == 'POST':
        form = QuestionForm(request.POST)
        if form.is_valid():
            instance = form.save()
	    #return HttpResponseRedirect("qanda.views.question", kwargs={'qid': instance.pk})
    else:
        form = QuestionForm()
        
    form.action = reverse("qanda.views.landing_page")
    
    return render_to_response(
        "qanda/landing.html", 
        { "form": form, }, 
        RequestContext (request)
    )
Exemple #44
0
def qpool_new(request, cat=None):
    form = QuestionForm()
    categs = [(c.name.capitalize(), c.name) for c in Category.objects.all()]
    if request.method == "POST":
        question = QuestionForm(data=request.POST)
        if question.is_valid():
            newq = question.save()
            return redirect('qpool_home', cat=newq.category.name)
        else:
            form = question

    return render_to_response('cpanel/qpool_new.html', {
        'form': form,
        'module': 'qpool',
        'categs': categs
    },
                              context_instance=RequestContext(request))
Exemple #45
0
def qpool_new(request, cat=None):
    form = QuestionForm()
    categs = [(c.name.capitalize(), c.name) for c in Category.objects.all()]
    if request.method == "POST":
        question = QuestionForm(data = request.POST)
        if question.is_valid():
            newq = question.save()
            return redirect('qpool_home', cat=newq.category.name)
        else:
            form = question

    return render_to_response('cpanel/qpool_new.html',
            {'form': form,
             'module': 'qpool',
             'categs': categs},
            context_instance=RequestContext(request)
    )
Exemple #46
0
def ask(request):
    if request.method == 'POST':
        form = QuestionForm(request.POST)
        if form.is_valid():
            question = form.save(commit=False)
            if request.user.is_authenticated():
                question.user = request.user
            question.save()

            ask_librarian_settings = getattr(settings, 'ASK_LIBRARIAN', {})
            print ask_librarian_settings
            main_dispatcher = ask_librarian_settings.get('MAIN_DISPATCHER', None)
            print main_dispatcher
            if main_dispatcher:
                fail_silently = True
                if settings.DEBUG:
                    fail_silently = False

                domain = getattr(settings, 'SITE_DOMAIN', 'localhost')
                from_mail = settings.DEFAULT_FROM_EMAIL
                send_mail(u"Спроси библиографа. Новый вопрос.",
                    u'Поступил новый вопрос. Информация находится по адресу http://%s%s' %
                    (domain, reverse('ask_librarian:administration:question_detail', args=(question.id,))),
                    from_mail,
                    [main_dispatcher],
                    fail_silently=fail_silently
                )
            return render(request, 'ask_librarian/frontend/thanks.html', {
                'question': question,
                })
    else:
        if request.user.is_authenticated():
            form = QuestionForm(
                initial={
                    'fio': request.user.last_name + u' ' + request.user.first_name,
                    'email': request.user.email,
                    }
            )
        else:
            form = QuestionForm()


    return render(request, 'ask_librarian/frontend/ask.html', {
        'form': form
    })
def ask(request):
    if request.method == 'POST':
        instance=Student.objects.get(email_id=request.user.email)
        form = QuestionForm(request.POST)
        if form.is_valid():
            uploader=request.user.first_name+" "+request.user.last_name
            question_text=request.POST.get('question_text','')
            additional_info=request.POST.get('additional_info','')
            now = datetime.datetime.now()
            for_school=instance.school_name
            for_class=instance.class_name
            show=True
            obj = Question(uploader=uploader, question_text=question_text,pub_date=now,additional_info=additional_info,for_class=for_class,for_school=for_school,show=show)
            obj.save()
            return index(request)
        else:
            print form.errors
    return index(request)
Exemple #48
0
def propose(request):

    MAX_ANSWERS = 6

    if request.method == 'POST':
        form = QuestionForm(nr_ans=MAX_ANSWERS, data=request.POST)
        if form.is_valid():
            # create and save the question
            qdict = {}
            qdict['text'] = form.cleaned_data['text']
            qdict['answer_type'] = form.cleaned_data['answer_type']
            qdict['proposed_by'] = request.user
            qdict['category'] = Category.objects.filter(name='proposed')[0]
            q = Question(**qdict)
            q.save()

            tag = Tag.objects.filter(name=form.cleaned_data['category'])[0]
            q.tags.add(tag)

            # add the tags
            for tag_name in form.cleaned_data['tags']:
                tag = Tag.objects.filter(name=tag_name)[0]
                q.tags.add(tag)
            q.save()

            # add the answers
            for i in range(form.nr_ans):
                ansdict = {}
                if not form.cleaned_data['answer_%d' % i]:
                    continue
                ansdict['text'] = form.cleaned_data['answer_%d' % i]
                ansdict['correct'] = form.cleaned_data['correct_%d' % i]
                ans = Answer(question=q, **ansdict)
                ans.save()

            return render_to_response('qproposal/thanks.html',
                                      context_instance=RequestContext(request))
    else:
        form = QuestionForm(MAX_ANSWERS)
    return render_to_response('qproposal/propose.html', {'form': form},
                              context_instance=RequestContext(request))
Exemple #49
0
def add_question(request,classes,lecture_number,noteslug):
    lectures = Lecture.objects.filter(slug=classes,
        lecture_number=lecture_number)
    notes = Note.objects.filter(slug=noteslug)
    if request.POST:
        questionform = QuestionForm(request.POST)
        if questionform.is_valid():
            newquestion = questionform.save(commit=False)
            newquestion.author = User.objects.get(username=request.user)
            newquestion.note = notes[0]
            newquestion.save()
            return HttpResponseRedirect('../..')
    else:
        questionform = QuestionForm(request.POST)
    args = {}
    args.update(csrf(request))
    args['form'] = questionform
    args['classes'] = classes
    args['lecture_number'] = lecture_number
    args['note'] = notes[0]
    return render_to_response('add_question.html', args)
Exemple #50
0
def CheckAnswerView(request):
    user = check_validation(request)
    if user and request.method == "POST":
        form = QuestionForm(request.POST)
        print request.body
        if form.is_valid():
            print "HERE"
            response = form.cleaned_data.get('answer')
            ques_response = form.cleaned_data.get('question')
            question = QuestionModel.objects.filter(id=ques_response).first()
            temp = ValidationModel.objects.get(Q(user=user) & Q(question=ques_response))
            temp.response = response
            val = False
            answer = question.answer
            print answer, response
            if answer == response:
                val = True
                user.score += 1
                user.save()
            temp.correct = val
            temp.save()
        return redirect('/quiz/')
    else:
        return redirect('/login/')
Exemple #51
0
 def test_question_form(self):
     """Testing whether the question form is valid."""
     form_data = {'text': "What is Django?", 'quiz': self.quiz.id}
     form = QuestionForm(data=form_data)
     self.assertTrue(form.is_valid())