Added Editor api views
This commit is contained in:
		@@ -1,4 +1,10 @@
 | 
			
		||||
from flask import Blueprint, render_template
 | 
			
		||||
from ..forms.admin import EditDataset
 | 
			
		||||
from ..models import Dataset, User
 | 
			
		||||
from ..tools.forms import get_dataset_choices, send_errors_to_client
 | 
			
		||||
 | 
			
		||||
from flask import Blueprint, flash, jsonify, redirect, render_template, request
 | 
			
		||||
from flask.helpers import url_for
 | 
			
		||||
from flask_login import login_required
 | 
			
		||||
 | 
			
		||||
editor = Blueprint(
 | 
			
		||||
    name='editor',
 | 
			
		||||
@@ -7,6 +13,26 @@ editor = Blueprint(
 | 
			
		||||
    static_folder='static'
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
@editor.route('/')
 | 
			
		||||
@editor.route('/', methods=['GET','POST'])
 | 
			
		||||
@login_required
 | 
			
		||||
def _editor():
 | 
			
		||||
    return render_template('/editor/index.html')
 | 
			
		||||
    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('editor._editor_console', id=id)}),200
 | 
			
		||||
        return send_errors_to_client(form=form)
 | 
			
		||||
    form.process()
 | 
			
		||||
    return render_template('/editor/index.html', form=form)
 | 
			
		||||
 | 
			
		||||
@editor.route('/<string:id>/')
 | 
			
		||||
@login_required
 | 
			
		||||
def _editor_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('/editor/console.html', dataset=dataset, datasets=datasets, users=users)
 | 
			
		||||
		Reference in New Issue
	
	Block a user