Exemplo n.º 1
0
def index():
    '''Returns the main app page and saves files'''
    filename = 'untitled'
    questions = Question.query.all()
    form = SaveForm()
    # file has been saved
    if request.method == 'POST':
        print('POSTed')
        # get question ids from POSTed data, split into list
        ids = request.form.get('ids').strip('][').split(',')
        # turn list of strings into list of integers
        ids = [int(id) for id in ids]
        print(current_user.id)
        # get posted filename from form data
        filename = request.form.get('filename')
        flash("File saved successfully.")
        # get file_id from posted data to check if new file
        file_id = request.form.get('file_id')
        print(file_id)
        if file_id == 'null':
            print('No file: creating new entry')
            # No file id sent: create new database entry
            file = File(author=current_user,
                        filename=filename,
                        question_list=ids)
        else:
            # file id submitted: query for file entry and update
            file = File.query.filter_by(id=file_id).first()
            file.author = current_user
            file.question_list = ids
            file.filename = filename
        db.session.add(file)
        db.session.commit()
        data = {'filename': filename, 'file_id': file.id}
        return jsonify(data)
    return render_template('index.html',
                           questions=questions,
                           saveForm=form,
                           filename=filename)