refactor with blueprints

This commit is contained in:
2021-01-30 06:36:25 -08:00
parent c2ccb01aab
commit 29afdd025c
41 changed files with 696 additions and 607 deletions

View File

@ -0,0 +1,35 @@
{% extends "base.html" %}
{% block content %}
<div class="formContainer">
<h1>Change Password</h1>
<form action='' method="post" novalidate>
{{ form.hidden_tag() }}
<p>
{{ form.password.label }}<br>
{{ form.password(size=24) }}
{% for error in form.password.errors %}
<span class="formWarning">[{{error}}]</span>
{% endfor %}
</p>
<p>
{{ form.new_password.label }}<br>
<span class="inputInfo">
min 15 chars and at least somewhat random
</span><br>
{{ form.new_password(size=24) }}
{% for error in form.new_password.errors %}
<span class="formWarning">[{{error}}]</span>
{% endfor %}
</p>
<p>
{{ form.new_password2.label }}<br>
{{ form.new_password2(size=24) }}
{% for error in form.new_password2.errors %}
<span class="formWarning">[{{error}}]</span>
{% endfor %}
</p>
<p>{{ form.submit() }}</p>
</form>
</div>
{% endblock %}

View File

@ -0,0 +1,23 @@
<style>
.formContainer {
align-items: center;
margin-top: 100px;
}
#submitContainer {
margin-top: 100px;
}
</style>
{% extends "base.html" %}
{% block content %}
<div class='formContainer'>
<form action="" method="post" novalidate>
<h2>Disable 2FA?</h2>
{{ form.hidden_tag() }}
<p id="submitContainer">{{ form.submit() }}</p>
</form>
</div>
{% endblock %}

View File

@ -0,0 +1,49 @@
{% extends "base.html" %}
{% block content %}
<div class="formContainer">
<h1>Edit Profile</h1>
<form action='' method="post" novalidate>
{{ form.hidden_tag() }}
<p>
{{ form.username.label }}<br>
<span class="inputInfo">
letters and digits only (i.e. no spaces)
</span><br>
{{ form.username(size=24) }}
{% for error in form.username.errors %}
<span class="formWarning">[{{error}}]</span>
{% endfor %}
</p>
<p>
{{ form.email.label }}<br>
{{ form.email(size=24) }}
{% for error in form.email.errors %}
<span class="formWarning">[{{error}}]</span>
{% endfor %}
</p>
<p>
{{ form.password.label }}<br>
{{ form.password(size=24) }}
{% for error in form.password.errors %}
<span class="formWarning">[{{error}}]</span>
{% endfor %}
</p>
<p>{{ form.submit() }}</p>
</form>
{% if current_user.is_authenticated %}
<div>
<button class="formButton" onclick="location.href='{{ url_for('prof.change_password') }}';">Change Password</button>
</div>
{% if contributor_use_totp %}
<div>
<button class="formButton" onclick="location.href='{{ url_for('disabletotp.disable_totp') }}';">Disable 2 Factor</button>
</div>
{% else %}
<div>
<button class="formButton" onclick="location.href='{{ url_for('totps.enable_totp') }}';">Enable 2 Factor</button>
</div>
{% endif %}
{% endif %}
</div>
{% endblock %}

View File

@ -0,0 +1,11 @@
<p>Dear {{ contributor.name }},</p>
<p>To reset your password
<a href="{{ external_url + '/reset-password/' + token }}">click here</a>.
</p>
<p>Alternatively, you can paste the following link in your browser's address bar:</p>
<p>{{ external_url + '/reset-password/' + token }}</p>
<p>If you have not requested a password reset simply ignore this message.</p>
<p>Sincerely,</p>
<p>photo_app</p>

View File

@ -0,0 +1,13 @@
Dear {{ contributor.name }},
To reset your password click on the following link:
{{ external_url + '/reset-password/' + token }}
If you have not requested a password reset simply ignore this message.
Sincerely,
photo_app

View File

@ -0,0 +1,38 @@
{% extends "base.html" %}
{% block content %}
<div class="formContainer">
<h1>Sign In</h1>
<h3>(username Or email)</h3>
<form action='' method="post" novalidate>
{{ form.hidden_tag() }}
<p>
{{ form.username.label }}<br>
{{ form.username(size=24) }}
{% for error in form.username.errors %}
<span class="formWarning">[{{error}}]</span>
{% endfor %}
</p>
<p>
{{ form.email.label }}<br>
{{ form.email(size=24) }}
{% for error in form.email.errors %}
<span class="formWarning">[{{error}}]</span>
{% endfor %}
</p>
<p>
{{ form.password.label }}<br>
{{ form.password(size=24) }}
{% for error in form.password.errors %}
<span class="formWarning">[{{error}}]</span>
{% endfor %}
</p>
<p>{{ form.remember_me() }} {{ form.remember_me.label }}</p>
<p>{{ form.submit() }}</p>
</form>
<p>New User? <a href="{{ url_for('reg.register') }}">Click to Register!</a></p>
<p>
Forgot Your Password? <a href="{{ url_for('pwd.reset_password_request') }}">Click to Reset It</a>
</p>
</div>
{% endblock %}

View File

@ -0,0 +1,53 @@
<style>
.formWarning {
margin-bottom: 20px;
}
#totpp {
margin-top: 80px;
margin-bottom: 50px;
display: flex;
flex-direction: column;
align-items: center;
height: 50px;
justify-content: space-between;
}
#submitContainer {
display: flex;
justify-content: center;
}
#submit {
margin-top: 30px;
}
#svg_container {
margin-top: 100px;
align-items: center;
}
svg {
transform: scale(1.5);
}
</style>
{% extends "base.html" %}
{% block content %}
<div id='svg_container' class='formContainer'>
<form action='' method="post" novalidate>
{{ form.hidden_tag() }}
<p>{{ qr | safe }}</p>
<p id="totpp">
{{ form.totp_code.label }}<br>
{% for error in form.totp_code.errors %}
<span class="formWarning">[{{error}}]</span>
{% endfor %}
{{ form.totp_code(size=6) }}
</p>
<p id="submitContainer">{{ form.submit() }}</p>
</form>
</div>
{% endblock %}

View File

@ -0,0 +1,45 @@
{% extends "base.html" %}
{% block content %}
<div class="formContainer">
<h1>Register</h1>
<form action="" method="post" novalidate>
{{ form.hidden_tag() }}
<p>
{{ form.username.label }}<br>
<span class="inputInfo">
letters and digits only (i.e. no spaces)
</span><br>
{{ form.username(size=24) }}
{% for error in form.username.errors %}
<span class="formWarning">[{{error}}]</span>
{% endfor %}
</p>
<p>
{{ form.email.label }}<br>
{{ form.email(size=24) }}
{% for error in form.email.errors %}
<span class="formWarning">[{{error}}]</span>
{% endfor %}
</p>
<p>
{{ form.password.label }}<br>
<span class="inputInfo">
min 15 chars and at least somewhat random
</span><br>
{{ form.password(size=24) }}
{% for error in form.password.errors %}
<span class="formWarning">[{{error}}]</span>
{% endfor %}
</p>
<p>
{{ form.password2.label }}<br>
{{ form.password2(size=24) }}
{% for error in form.password2.errors %}
<span class="formWarning">[{{error}}]</span>
{% endfor %}
</p>
<p>{{ form.submit() }}</p>
</form>
</div>
{% endblock %}

View File

@ -0,0 +1,28 @@
{% extends "base.html" %}
{% block content %}
<div class="formContainer">
<h1>Reset Your Password</h1>
<form action="" method="post">
{{ form.hidden_tag() }}
<p>
{{ form.password.label }}<br>
<span class="inputInfo">
min 15 chars and at least somewhat random
</span><br>
{{ form.password(size=24) }}<br>
{% for error in form.password.errors %}
<span class="formWarning">[{{ error }}]</span>
{% endfor %}
</p>
<p>
{{ form.password2.label }}<br>
{{ form.password2(size=24) }}<br>
{% for error in form.password2.errors %}
<span class="formWarning">[{{ error }}]</span>
{% endfor %}
</p>
<p>{{ form.submit() }}</p>
</form>
</div>
{% endblock %}

View File

@ -0,0 +1,18 @@
{% extends "base.html" %}
{% block content %}
<div class="formContainer">
<h1>{{ title }}</h1>
<form action="" method="post">
{{ form.hidden_tag() }}
<p>
{{ form.email.label }}<br>
{{ form.email(size=24) }}<br>
{% for error in form.email.errors %}
<span class="formWarning">[{{ error }}]</span>
{% endfor %}
</p>
<p>{{ form.submit() }}</p>
</form>
</div>
{% endblock %}

View File

@ -0,0 +1,45 @@
<style>
#totpp {
margin-top: 10%;
margin-bottom: 50px;
display: flex;
flex-direction: column;
align-items: center;
height: 50px;
justify-content: space-between;
}
#submitContainer {
display: flex;
justify-content: center;
}
#submit {
margin-top: 30px;
}
h3 {
align-self: center;
margin-top: 10%;
}
</style>
{% extends "base.html" %}
{% block content %}
<h3>{{ inst }}</h3>
<div class='formContainer'>
<form action={{ url_for('auths.two_factor_input') }} method="post" novalidate>
{{ form.hidden_tag() }}
<p id="totpp">
{{ form.totp_code.label }}<br>
{% for error in form.totp_code.errors %}
<span class="formWarning">[{{error}}]</span>
{% endfor %}
{{ form.totp_code(size=6) }}
</p>
<p id="submitContainer">{{ form.submit() }}</p>
</form>
</div>
{% endblock %}