Esempio n. 1
0
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)
Esempio n. 2
0
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)
Esempio n. 3
0
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)
Esempio n. 4
0
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')
Esempio n. 5
0
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)
Esempio n. 6
0
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)