Skip to content
Snippets Groups Projects
Commit c327291c authored by Patrick Jentsch's avatar Patrick Jentsch
Browse files

Small changes everywhere

parent 75d09b98
No related branches found
No related tags found
No related merge requests found
...@@ -10,7 +10,7 @@ import logging ...@@ -10,7 +10,7 @@ import logging
db = SQLAlchemy() db = SQLAlchemy()
logger = logging.getLogger(__name__) logger = logging.getLogger(__name__)
login_manager = LoginManager() login_manager = LoginManager()
login_manager.login_view = 'auth.login' login_manager.login_view = 'main.index'
mail = Mail() mail = Mail()
socketio = SocketIO() socketio = SocketIO()
......
...@@ -35,10 +35,8 @@ class RegistrationForm(FlaskForm): ...@@ -35,10 +35,8 @@ class RegistrationForm(FlaskForm):
email = StringField('Email', validators=[DataRequired(), Email()]) email = StringField('Email', validators=[DataRequired(), Email()])
username = StringField( username = StringField(
'Username', 'Username',
validators=[DataRequired(), validators=[DataRequired(), Length(1, 64),
Length(1, 64), Regexp('^[A-Za-z][A-Za-z0-9_.]*$', 0,
Regexp('^[A-Za-z][A-Za-z0-9_.]*$',
0,
'Usernames must have only letters, numbers, dots ' 'Usernames must have only letters, numbers, dots '
'or underscores')] 'or underscores')]
) )
......
...@@ -22,15 +22,14 @@ def logout(): ...@@ -22,15 +22,14 @@ def logout():
def register(): def register():
if not current_user.is_anonymous: if not current_user.is_anonymous:
return redirect(url_for('main.dashboard')) return redirect(url_for('main.dashboard'))
registration_form = RegistrationForm() registration_form = RegistrationForm(prefix='registration-form')
if registration_form.validate_on_submit(): if registration_form.validate_on_submit():
user = User(email=registration_form.email.data.lower(), user = User(email=registration_form.email.data.lower(),
password=registration_form.password.data, password=registration_form.password.data,
username=registration_form.username.data) username=registration_form.username.data)
db.session.add(user) db.session.add(user)
db.session.commit() db.session.commit()
dir = os.path.join(current_app.config['NOPAQUE_STORAGE'], dir = os.path.join(current_app.config['NOPAQUE_STORAGE'], str(user.id))
str(user.id))
try: try:
os.makedirs(dir) os.makedirs(dir)
except OSError: except OSError:
...@@ -41,8 +40,9 @@ def register(): ...@@ -41,8 +40,9 @@ def register():
send_email(user.email, 'Confirm Your Account', send_email(user.email, 'Confirm Your Account',
'auth/email/confirm', token=token, user=user) 'auth/email/confirm', token=token, user=user)
flash('A confirmation email has been sent to you by email.') flash('A confirmation email has been sent to you by email.')
return redirect(url_for('auth.login')) return redirect(url_for('main.index'))
return render_template('auth/register.html.j2', form=registration_form, return render_template('auth/register.html.j2',
registration_form=registration_form,
title='Register') title='Register')
...@@ -108,7 +108,7 @@ def password_reset_request(): ...@@ -108,7 +108,7 @@ def password_reset_request():
user=user) user=user)
flash('An email with instructions to reset your password has been ' flash('An email with instructions to reset your password has been '
'sent to you.') 'sent to you.')
return redirect(url_for('auth.login')) return redirect(url_for('main.index'))
return render_template('auth/reset_password_request.html.j2', return render_template('auth/reset_password_request.html.j2',
form=form, form=form,
title='Password Reset') title='Password Reset')
...@@ -123,7 +123,7 @@ def password_reset(token): ...@@ -123,7 +123,7 @@ def password_reset(token):
if User.reset_password(token, form.password.data): if User.reset_password(token, form.password.data):
db.session.commit() db.session.commit()
flash('Your password has been updated.') flash('Your password has been updated.')
return redirect(url_for('auth.login')) return redirect(url_for('main.index'))
else: else:
return redirect(url_for('main.index')) return redirect(url_for('main.index'))
return render_template('auth/reset_password.html.j2', return render_template('auth/reset_password.html.j2',
......
{% extends "nopaque.html.j2" %}
{% set full_width = False %}
{% set roadmap = False %}
{% block page_content %}
<div class="col s12 m4">
<h3>New to Opaque?</h3>
<p>It's free to join and easy to use. Continue on to our registration page to create your Opaque account.</p>
<p><a href="{{ url_for('auth.register') }}" class="waves-effect waves-light btn">Registration</a>
</div>
<div class="col s12 m8">
<div class="card small">
<form method="POST">
<div class="card-content">
{{ form.hidden_tag() }}
<div class="input-field">
<i class="material-icons prefix">person</i>
{{ form.login(class='validate', placeholder='Email address or username') }}
{{ form.login.label }}
{% for error in form.login.errors %}
<span class="helper-text red-text">{{ error }}</span>
{% endfor %}
</div>
<div class="input-field">
<i class="material-icons prefix">vpn_key</i>
{{ form.password(class='validate') }}
{{ form.password.label }}
{% for error in form.password.errors %}
<span class="helper-text red-text">{{ error }}</span>
{% endfor %}
</div>
<a href="{{ url_for('auth.password_reset_request') }}" class="left">Forgot your password?</a>
<div class="switch right">
<label>
Remember me
{{ form.remember_me() }}
<span class="lever"></span>
</label>
</div>
</div>
<div class="card-action">
{{ form.submit(class='btn right') }}
</div>
</form>
</div>
</div>
{% endblock %}
...@@ -5,50 +5,50 @@ ...@@ -5,50 +5,50 @@
{% block page_content %} {% block page_content %}
<div class="col s12 m4"> <div class="col s12 m4">
<h3>&nbsp;</h3> <h3>DSGVO</h3>
<img src="{{ url_for('static', filename='images/logo_sfb_1288.png') }}" class="responsive-img"> <p>Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet.</p>
</div> </div>
<div class="col s12 m8"> <div class="col s12 m8">
<div class="card"> <div class="card">
<form method="POST"> <form method="POST">
<div class="card-content"> <div class="card-content">
{{ form.hidden_tag() }} {{ registration_form.hidden_tag() }}
<div class="input-field"> <div class="input-field">
<i class="material-icons prefix">person</i> <i class="material-icons prefix">person</i>
{{ form.username(class='validate', data_length='64') }} {{ registration_form.username(class='validate', data_length='64') }}
{{ form.username.label }} {{ registration_form.username.label }}
{% for error in form.username.errors %} {% for error in registration_form.username.errors %}
<span class="helper-text red-text">{{ error }}</span> <span class="helper-text red-text">{{ error }}</span>
{% endfor %} {% endfor %}
</div> </div>
<div class="input-field"> <div class="input-field">
<i class="material-icons prefix">vpn_key</i> <i class="material-icons prefix">vpn_key</i>
{{ form.password(class='validate') }} {{ registration_form.password(class='validate') }}
{{ form.password.label }} {{ registration_form.password.label }}
{% for error in form.password.errors %} {% for error in registration_form.password.errors %}
<span class="helper-text red-text">{{ error }}</span> <span class="helper-text red-text">{{ error }}</span>
{% endfor %} {% endfor %}
</div> </div>
<div class="input-field"> <div class="input-field">
<i class="material-icons prefix">vpn_key</i> <i class="material-icons prefix">vpn_key</i>
{{ form.password2(class='validate') }} {{ registration_form.password2(class='validate') }}
{{ form.password2.label }} {{ registration_form.password2.label }}
{% for error in form.password2.errors %} {% for error in registration_form.password2.errors %}
<span class="helper-text red-text">{{ error }}</span> <span class="helper-text red-text">{{ error }}</span>
{% endfor %} {% endfor %}
</div> </div>
<div class="input-field "> <div class="input-field ">
<i class="material-icons prefix">email</i> <i class="material-icons prefix">email</i>
{{ form.email(class='validate', type='email') }} {{ registration_form.email(class='validate', type='email') }}
{{ form.email.label }} {{ registration_form.email.label }}
{% for error in form.email.errors %} {% for error in registration_form.email.errors %}
<span class="helper-text red-text">{{ error }}</span> <span class="helper-text red-text">{{ error }}</span>
{% endfor %} {% endfor %}
</div> </div>
</div> </div>
<div class="card-action right-align"> <div class="card-action right-align">
{{ form.submit(class='btn') }} <button class="btn waves-effect waves-light" id="registration-form-submit" name="registration-form-submit" type="submit">Register<i class="material-icons right">send</i></button>
</div> </div>
</form> </form>
</div> </div>
......
...@@ -7,7 +7,8 @@ ...@@ -7,7 +7,8 @@
{% if current_user.is_anonymous %} {% if current_user.is_anonymous %}
<div class="col s12 m4"> <div class="col s12 m4">
<h3>No account?</h3> <h3>No account?</h3>
<p>Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren,</p> <p>Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet.</p>
<p>&nbsp;</p>
<a class="btn" href="{{ url_for('auth.register') }}"><i class="material-icons left">person_add</i>Register</a> <a class="btn" href="{{ url_for('auth.register') }}"><i class="material-icons left">person_add</i>Register</a>
</div> </div>
...@@ -57,74 +58,70 @@ ...@@ -57,74 +58,70 @@
{% endif %} {% endif %}
<div class="col s12"> <div class="col s12">
<p>&nbsp;</p> <h3>&nbsp;</h3>
</div> </div>
<div class="col s4 center-align"> <div class="col s12 l10 offset-l1">
<i class="large material-icons" style="color: #ee6e73;">flash_on</i> <div class="row">
<p>Speeds up your work</p> <div class="col s3 center-align">
<p class="light">All tools provided by nopaque are carefully selected to provide a complete tool suite without delaying compatibility issues.</p> <i class="large material-icons" style="color: #ee6e73;">flash_on</i>
</div> <p>Speeds up your work</p>
<div class="col s4 center-align"> <p class="light">All tools provided by nopaque are carefully selected to provide a complete tool suite without delaying compatibility issues.</p>
<i class="large material-icons" style="color: #ee6e73;">group</i> </div>
<p>User Experience Focused</p> <div class="col s3 center-align">
<p class="light">By utilizing elements and principles of Material Design, we were able to create a framework that focuses on User Experience.</p> <i class="large material-icons" style="color: #ee6e73;">cloud</i>
</div> <p>Cloud infrastructure</p>
<div class="col s4 center-align"> <p class="light">All computational work is processed within nopaques cloud infrastructure. You don't need to install any software, great right?</p>
<i class="large material-icons" style="color: #ee6e73;">settings</i> </div>
<p>Easy to work with</p> <div class="col s3 center-align">
<p class="light">We have provided detailed documentation as well as specific code examples to help new users get started.</p> <i class="large material-icons" style="color: #ee6e73;">group</i>
<p>User Experience Focused</p>
<p class="light">By utilizing elements and principles of Material Design, we were able to create a framework that focuses on User Experience.</p>
</div>
<div class="col s3 center-align">
<i class="large material-icons" style="color: #ee6e73;">settings</i>
<p>Easy to work with</p>
<p class="light">We have provided detailed documentation as well as specific code examples to help new users get started.</p>
</div>
</div>
</div> </div>
<div class="col s12"> <div class="col s12 m4">
<h3>Processes and Services</h3> <h3>Processes and Services</h3>
<p>Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum.</p>
</div> </div>
<div class="col s12 m6 l3"> <div class="col s12 m8">
<div class="card"> <br class="hide-on-small-only">
<div class="card-content"> <ul class="collection">
<div class="center-align"> <li class="collection-item avatar">
<i class="large material-icons">burst_mode</i> <i class="circle material-icons">burst_mode</i>
<span class="card-title">File setup<span class="hide-on-small-only"><br><br></span></span> <span class="title">File setup</span>
</div>
<p class="light">Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua.</p> <p class="light">Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua.</p>
</div> <a href="#!" class="secondary-content"><i class="material-icons">help</i></a>
</div> </li>
</div> <li class="collection-item avatar">
<i class="circle material-icons">find_in_page</i>
<div class="col s12 m6 l3"> <span class="title">Optical Character Recognition</span>
<div class="card">
<div class="card-content">
<div class="center-align">
<i class="large material-icons">find_in_page</i>
<span class="card-title">Optical Character Recognition</span>
</div>
<p class="light">Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua.</p> <p class="light">Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua.</p>
</div> <a href="#!" class="secondary-content"><i class="material-icons">help</i></a>
</div> </li>
</div> <li class="collection-item avatar">
<i class="circle material-icons">format_textdirection_l_to_r</i>
<div class="col s12 m6 l3"> <span class="title">Natural Language Processing</span>
<div class="card">
<div class="card-content">
<div class="center-align">
<i class="large material-icons">format_textdirection_l_to_r</i>
<span class="card-title">Natural Language Processing</span>
</div>
<p class="light">Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua.</p> <p class="light">Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua.</p>
</div> <a href="#!" class="secondary-content"><i class="material-icons">help</i></a>
</div> </li>
<li class="collection-item avatar">
<i class="circle material-icons">search</i>
<span class="title">Corpus analysis</span>
<p class="light">Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua.</p>
<a href="#!" class="secondary-content"><i class="material-icons">help</i></a>
</li>
</ul>
</div> </div>
<div class="col s12 m6 l3"> <div class="col s12">
<div class="card"> <h3>Get things done with nopaque</h3>
<div class="card-content">
<div class="center-align">
<i class="large material-icons">search</i>
<span class="card-title">Corpus analysis<span class="hide-on-small-only"><br><br></span></span>
</div>
<p class="light">Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua.</p>
</div>
</div>
</div> </div>
{% endblock %} {% endblock %}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment