Vivek Santayana
02290e968c
Added view questions panel to editor interface Added view questions section of web site Added links to navbars
41 lines
1.4 KiB
Python
41 lines
1.4 KiB
Python
from ..forms.admin import EditDataset
|
|
from ..models import Dataset, User
|
|
from ..tools.forms import get_dataset_choices, send_errors_to_client
|
|
from ..tools.data import check_dataset_exists
|
|
|
|
from flask import Blueprint, flash, jsonify, redirect, render_template, request
|
|
from flask.helpers import url_for
|
|
from flask_login import login_required
|
|
|
|
view = Blueprint(
|
|
name='view',
|
|
import_name=__name__,
|
|
template_folder='templates',
|
|
static_folder='static'
|
|
)
|
|
|
|
@view.route('/', methods=['GET','POST'])
|
|
@login_required
|
|
@check_dataset_exists
|
|
def _view():
|
|
form = EditDataset()
|
|
form.dataset.choices = get_dataset_choices()
|
|
if request.method == 'POST':
|
|
if form.validate_on_submit():
|
|
id = request.form.get('dataset')
|
|
return jsonify({'success': 'Selected dataset', 'redirect_to': url_for('view._view_console', id=id)}),200
|
|
return send_errors_to_client(form=form)
|
|
form.process()
|
|
return render_template('/view/index.html', form=form)
|
|
|
|
@view.route('/<string:id>/')
|
|
@login_required
|
|
@check_dataset_exists
|
|
def _view_console(id:str=None):
|
|
dataset = Dataset.query.filter_by(id=id).first()
|
|
datasets = Dataset.query.count()
|
|
users = User.query.all()
|
|
if not dataset:
|
|
flash('Invalid dataset ID.', 'error')
|
|
return redirect(url_for('admin._questions'))
|
|
return render_template('/view/console.html', dataset=dataset, datasets=datasets, users=users) |