mirror of
				https://gitlab.ub.uni-bielefeld.de/sfb1288inf/nopaque.git
				synced 2025-11-03 20:02:47 +00:00 
			
		
		
		
	integrate nopaque repo
This commit is contained in:
		@@ -1,5 +0,0 @@
 | 
			
		||||
from flask import Blueprint
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
main = Blueprint('main', __name__)
 | 
			
		||||
from . import errors, views  # noqa
 | 
			
		||||
@@ -1,32 +0,0 @@
 | 
			
		||||
from flask import render_template, request, jsonify
 | 
			
		||||
from . import main
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@main.app_errorhandler(403)
 | 
			
		||||
def forbidden(e):
 | 
			
		||||
    if request.accept_mimetypes.accept_json and \
 | 
			
		||||
            not request.accept_mimetypes.accept_html:
 | 
			
		||||
        response = jsonify({'error': 'forbidden'})
 | 
			
		||||
        response.status_code = 403
 | 
			
		||||
        return response
 | 
			
		||||
    return render_template('403.html.j2', title='Forbidden'), 403
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@main.app_errorhandler(404)
 | 
			
		||||
def page_not_found(e):
 | 
			
		||||
    if request.accept_mimetypes.accept_json and \
 | 
			
		||||
            not request.accept_mimetypes.accept_html:
 | 
			
		||||
        response = jsonify({'error': 'not found'})
 | 
			
		||||
        response.status_code = 404
 | 
			
		||||
        return response
 | 
			
		||||
    return render_template('404.html.j2', title='Not Found'), 404
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@main.app_errorhandler(500)
 | 
			
		||||
def internal_server_error(e):
 | 
			
		||||
    if request.accept_mimetypes.accept_json and \
 | 
			
		||||
            not request.accept_mimetypes.accept_html:
 | 
			
		||||
        response = jsonify({'error': 'internal server error'})
 | 
			
		||||
        response.status_code = 500
 | 
			
		||||
        return response
 | 
			
		||||
    return render_template('500.html.j2', title='Internal Server Error'), 500
 | 
			
		||||
@@ -1,12 +0,0 @@
 | 
			
		||||
from flask_wtf import FlaskForm
 | 
			
		||||
from wtforms import DecimalField, StringField, SubmitField, TextAreaField
 | 
			
		||||
from wtforms.validators import DataRequired, Email, Length, NumberRange
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
class FeedbackForm(FlaskForm):
 | 
			
		||||
    email = StringField('Email', validators=[DataRequired(), Email()])
 | 
			
		||||
    feedback = TextAreaField('Feedback', validators=[Length(0, 255)])
 | 
			
		||||
    like_range = DecimalField('How would you rate nopaque?',
 | 
			
		||||
                              validators=[DataRequired(),
 | 
			
		||||
                                          NumberRange(min=1, max=10)])
 | 
			
		||||
    submit = SubmitField('Send feedback')
 | 
			
		||||
@@ -1,61 +0,0 @@
 | 
			
		||||
from flask import flash, redirect, render_template, url_for
 | 
			
		||||
from flask_login import login_required, login_user
 | 
			
		||||
from . import main
 | 
			
		||||
from .forms import FeedbackForm
 | 
			
		||||
from .. import logger
 | 
			
		||||
from ..auth.forms import LoginForm
 | 
			
		||||
from ..models import User
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@main.route('/', methods=['GET', 'POST'])
 | 
			
		||||
def index():
 | 
			
		||||
    login_form = LoginForm(prefix='login-form')
 | 
			
		||||
    if login_form.validate_on_submit():
 | 
			
		||||
        user = User.query.filter_by(username=login_form.user.data).first()
 | 
			
		||||
        if user is None:
 | 
			
		||||
            user = User.query.filter_by(email=login_form.user.data).first()
 | 
			
		||||
        if user is not None and user.verify_password(login_form.password.data):
 | 
			
		||||
            login_user(user, login_form.remember_me.data)
 | 
			
		||||
            return redirect(url_for('main.dashboard'))
 | 
			
		||||
        flash('Invalid email/username or password.')
 | 
			
		||||
    return render_template('main/index.html.j2', login_form=login_form,
 | 
			
		||||
                           title='nopaque')
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@main.route('/dashboard')
 | 
			
		||||
@login_required
 | 
			
		||||
def dashboard():
 | 
			
		||||
    return render_template('main/dashboard.html.j2', title='Dashboard')
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@main.route('/feedback', methods=['GET', 'POST'])
 | 
			
		||||
@login_required
 | 
			
		||||
def feedback():
 | 
			
		||||
    feedback_form = FeedbackForm(prefix='feedback-form')
 | 
			
		||||
    if feedback_form.validate_on_submit():
 | 
			
		||||
        logger.warning(feedback_form.email)
 | 
			
		||||
        logger.warning(feedback_form.feedback)
 | 
			
		||||
        logger.warning(feedback_form.like_range)
 | 
			
		||||
    return render_template('main/feedback.html.j2',
 | 
			
		||||
                           feedback_form=feedback_form, title='Feedback')
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@main.route('/poster', methods=['GET', 'POST'])
 | 
			
		||||
def poster():
 | 
			
		||||
    login_form = LoginForm(prefix='login-form')
 | 
			
		||||
    if login_form.validate_on_submit():
 | 
			
		||||
        user = User.query.filter_by(username=login_form.user.data).first()
 | 
			
		||||
        if user is None:
 | 
			
		||||
            user = User.query.filter_by(email=login_form.user.data).first()
 | 
			
		||||
        if user is not None and user.verify_password(login_form.password.data):
 | 
			
		||||
            login_user(user, login_form.remember_me.data)
 | 
			
		||||
            return redirect(url_for('main.dashboard'))
 | 
			
		||||
        flash('Invalid email/username or password.')
 | 
			
		||||
    return render_template('main/poster.html.j2', login_form=login_form,
 | 
			
		||||
                           title='Poster')
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@main.route('/privacy_policy')
 | 
			
		||||
def privacy_policy():
 | 
			
		||||
    return render_template('main/privacy_policy.html.j2',
 | 
			
		||||
                           title='Privacy policy')
 | 
			
		||||
		Reference in New Issue
	
	Block a user