def editSurvey(id_survey): #get survey survey = Survey.query.get(id_survey) sections = survey.sections.all() form = SurveyForm() if form.validate_on_submit(): survey.title = form.title.data survey.description = form.description.data survey.startDate = form.startDate.data survey.endDate = form.endDate.data survey.maxNumberRespondents = form.maxNumberRespondents.data survey.duration = form.duration.data db.session.add(survey) db.session.commit() flash('Your changes have been saved.') elif request.method != "POST": form.title.data = survey.title form.description.data = survey.description form.startDate.data = survey.startDate form.endDate.data = survey.endDate form.maxNumberRespondents.data = survey.maxNumberRespondents form.duration.data = survey.duration return render_template('/researcher/editSurvey.html', title = survey.title, form = form, survey = survey, sections = sections)
def postsurvey(): user = models.User.query.filter_by(username=current_user.username).first() if request.method == "GET" and user.time_end == None: local_user = db.session.merge(user) local_user.time_end = datetime.datetime.now() db.session.add(local_user) db.session.commit() form = SurveyForm() if form.validate_on_submit(): responses = models.SurveyAnswers(user=current_user.username, timestamp=datetime.datetime.now(), mental=form.mental.data, physical=form.physical.data, temporal=form.temporal.data, performance=form.performance.data, effort=form.effort.data, frustration=form.frustration.data, useful_info=clean( form.useful_info.data), feedback=clean(form.feedback.data)) local_user = db.session.merge(user) local_user.survey_complete = True db.session.add(responses, local_user) db.session.commit() return redirect(url_for('completion')) return render_template('postsurvey.html', form=form)
def new(): form = SurveyForm() if form.validate_on_submit(): # file = request.files['file'] # if file: filename = secure_filename(form.surveyXml.data.filename) if filename: tf = tempfile.NamedTemporaryFile() form.surveyXml.data.save(tf.name) msg, survey = Survey.from_xml(tf.name, g.user) tf.close() for m in msg: flash(m) return redirect(url_for('researcher.index')) else: survey = Survey( title = form.title.data, description = form.description.data, endDate = form.endDate.data, startDate = None, maxNumberRespondents = form.maxNumberRespondents.data, duration = form.duration.data, researcher = g.user) db.session.add(survey) db.session.commit() flash('Your survey have been saved.') return redirect(url_for('researcher.editSurvey',id_survey = survey.id)) return render_template('/researcher/new.html', title = 'New survey', form = form)
def survey_detail(id): ''' Shows the details of a survey specified by its id (web GUI). ''' #srvy = SurveyModel.find_survey_by_id(id) srvy = db.session.query(SurveyModel).get(id) if srvy is None: abort(404) form = SurveyForm() if request.method != 'POST': form.status.default = srvy.status form.process() if form.validate_on_submit(): if (srvy.status == 'created' or srvy.status == 'active' or srvy.status == 'paused') and (form.status.data == 'active' or form.status.data == 'paused' or form.status.data == 'done'): old_status = srvy.status srvy.status = form.status.data srvy.save_to_db() flash("Status changed") return redirect(url_for('surveys_list')) else: print(form.errors) return render_template('srvys/survey.html', srvy=srvy, form=form, title='survey details')
def Survey(): form = SurveyForm() if form.validate_on_submit(): flash( f'F&B: {form.f_budget.data}\n Essential: {form.e_budget.data}\n Leisure: {form.l_budget.data}\n Others: {form.o_budget.data} Submitted!', 'success') data.save_budget(form) return redirect(url_for('Advisor')) return render_template("Survey.html", title='Survey', form=form)
def questions_page(): submit_form = SurveyForm() user_persona_id = int(request.args.get('user_persona_id')) if submit_form.validate_on_submit(): forms = [ submit_form.sat, submit_form.wlb, submit_form.opp, submit_form.ski, submit_form.fin, submit_form.imp ] evidence = {} for f in forms: evidence[f.form_name] = { f.answer.label.text: f.answer.data, f.weight.label.text: f.weight.data } return redirect( url_for('frontend.result_page', evidence=evidence, user_persona_id=user_persona_id)) return render_template("questions.html", submit_form=submit_form, user_persona_id=user_persona_id)
def survey(): form = SurveyForm() if form.validate_on_submit(): if form.purchase_online.data == 'false': last_purchase = 'none' purchase_frequency = 'none' else: last_purchase = form.last_purchase.data purchase_frequency = form.purchase_frequency.data survey = Survey( sex=form.sex.data, comment=form.comment.data, age=form.age.data, martial_status=form.martial_status.data, internet_usage=form.internet_usage.data, internet_frequency=form.internet_frequency.data, purchase_online=form.purchase_online.data, purchase_frequency=purchase_frequency, last_purchase=last_purchase, employment_status=form.employment_status.data, income_range=form.income_range.data, q01_1=int(form.q01_1.data), q01_2=int(form.q01_2.data), q02_1=int(form.q02_1.data), q02_2=int(form.q02_2.data), q03_1=int(form.q03_1.data), q03_2=int(form.q03_2.data), q04_1=int(form.q04_1.data), q04_2=int(form.q04_2.data), q05_1=int(form.q05_1.data), q05_2=int(form.q05_2.data), q06_1=int(form.q06_1.data), q06_2=int(form.q06_2.data), q07_1=int(form.q07_1.data), q07_2=int(form.q07_2.data), q08_1=int(form.q08_1.data), q08_2=int(form.q08_2.data), q09_1=int(form.q09_1.data), q09_2=int(form.q09_2.data), q10_1=int(form.q10_1.data), q10_2=int(form.q10_2.data), q11_1=int(form.q11_1.data), q11_2=int(form.q11_2.data), q12_1=int(form.q12_1.data), q12_2=int(form.q12_2.data), q13_1=int(form.q13_1.data), q13_2=int(form.q13_2.data), q14_1=int(form.q14_1.data), q14_2=int(form.q14_2.data), q15_1=int(form.q15_1.data), q15_2=int(form.q15_2.data), q16_1=int(form.q16_1.data), q16_2=int(form.q16_2.data), q17_1=int(form.q17_1.data), q17_2=int(form.q17_2.data), q18_1=int(form.q18_1.data), q18_2=int(form.q18_2.data), q19_1=int(form.q19_1.data), q19_2=int(form.q19_2.data), q20_1=int(form.q20_1.data), q20_2=int(form.q20_2.data), q21_1=int(form.q21_1.data), q21_2=int(form.q21_2.data), q22_1=int(form.q22_1.data), q22_2=int(form.q22_2.data), q23_1=int(form.q23_1.data), q23_2=int(form.q23_2.data), q24_1=int(form.q24_1.data), q24_2=int(form.q24_2.data), q25_1=int(form.q25_1.data), q25_2=int(form.q25_2.data), q26_1=int(form.q26_1.data), q27_1=int(form.q27_1.data), ) try: survey.put() flash(u'Thank you', 'success') return redirect(url_for('thankyou')) except CapabilityDisabledError: flash(u'App Engine Datastore is currently in read-only mode.', 'info') return redirect(url_for('home')) return render_template('survey.html', form=form)