mirror of
				https://gitlab.ub.uni-bielefeld.de/sfb1288inf/nopaque.git
				synced 2025-11-04 12:22:47 +00:00 
			
		
		
		
	Update landing page.
This commit is contained in:
		@@ -0,0 +1,21 @@
 | 
			
		||||
from flask_wtf import FlaskForm
 | 
			
		||||
from wtforms import MultipleFileField, SelectField, StringField, SubmitField
 | 
			
		||||
from wtforms.validators import DataRequired, Length
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
class CreateCorpusForm(FlaskForm):
 | 
			
		||||
    description = StringField(
 | 
			
		||||
        'Description',
 | 
			
		||||
        validators=[DataRequired(), Length(1, 64)]
 | 
			
		||||
    )
 | 
			
		||||
    files = MultipleFileField('Files')
 | 
			
		||||
    title = StringField(
 | 
			
		||||
        'Title',
 | 
			
		||||
        validators=[DataRequired(), Length(1, 32)]
 | 
			
		||||
    )
 | 
			
		||||
    submit = SubmitField('Create corpus')
 | 
			
		||||
    '''
 | 
			
		||||
    def validate_files(form, field):
 | 
			
		||||
        for file in form.files.getlist[field.name]:
 | 
			
		||||
            if file.mimetype
 | 
			
		||||
    '''
 | 
			
		||||
 
 | 
			
		||||
@@ -1,14 +1,47 @@
 | 
			
		||||
from flask import render_template
 | 
			
		||||
from flask import current_app, flash, redirect, render_template, request, url_for
 | 
			
		||||
from flask_login import current_user, login_required
 | 
			
		||||
from ..models import User
 | 
			
		||||
from ..tables import AdminUserTable, AdminUserItem
 | 
			
		||||
from . import main
 | 
			
		||||
from .forms import CreateCorpusForm
 | 
			
		||||
from ..decorators import admin_required
 | 
			
		||||
from flask_login import login_required
 | 
			
		||||
import os
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@main.route('/')
 | 
			
		||||
def index():
 | 
			
		||||
    return render_template('main/index.html.j2', title='Portal')
 | 
			
		||||
@main.route('/', methods=['GET', 'POST'])
 | 
			
		||||
@login_required
 | 
			
		||||
def dashboard():
 | 
			
		||||
    create_corpus_form = CreateCorpusForm()
 | 
			
		||||
 | 
			
		||||
    if create_corpus_form.validate_on_submit():
 | 
			
		||||
        app = current_app._get_current_object()
 | 
			
		||||
        files = request.FILES
 | 
			
		||||
        print(files)
 | 
			
		||||
        corpus = {
 | 
			
		||||
            'description': create_corpus_form.description.data,
 | 
			
		||||
            'files': [],
 | 
			
		||||
            'owner': current_user.id,
 | 
			
		||||
            'title': create_corpus_form.title.data
 | 
			
		||||
        }
 | 
			
		||||
        corpus_dir = os.path.join(
 | 
			
		||||
            app.config['OPAQUE_FILES'],
 | 
			
		||||
            'corpora',
 | 
			
		||||
            corpus['title']
 | 
			
		||||
        )
 | 
			
		||||
 | 
			
		||||
        try:
 | 
			
		||||
            os.mkdir(corpus_dir)
 | 
			
		||||
        except FileExistsError:
 | 
			
		||||
            flash('FileExistsError')
 | 
			
		||||
        else:
 | 
			
		||||
            flash('Corpus created!')
 | 
			
		||||
        return redirect(url_for('main.dashboard'))
 | 
			
		||||
 | 
			
		||||
    return render_template(
 | 
			
		||||
        'main/dashboard.html.j2',
 | 
			
		||||
        title='Dashboard',
 | 
			
		||||
        create_corpus_form=create_corpus_form
 | 
			
		||||
    )
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@main.route('/about')
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user