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)
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 })
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), )
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)
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)
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))
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()
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))
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))
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))
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)
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)
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, }))
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 })
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'))
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})
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)
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))
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))
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!'})
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 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))
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))
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))
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/")
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))
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 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))
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})
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))
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) )
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})
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})
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)
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)
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)
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))
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"})
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) )
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))
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) )
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)
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))
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)
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/')
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())