mirror of
https://github.com/minetest/contentdb.git
synced 2024-12-22 22:12:24 +01:00
Fix profile page
This commit is contained in:
parent
7d20c49ebb
commit
84f123a0ab
42
app/templates/macros/forms.html
Normal file
42
app/templates/macros/forms.html
Normal file
@ -0,0 +1,42 @@
|
||||
{% macro render_field(field, label=None, label_visible=true, right_url=None, right_label=None) -%}
|
||||
<div class="form-group {% if field.errors %}has-error{% endif %} {{ kwargs.pop('class_', '') }}">
|
||||
{% if field.type != 'HiddenField' and label_visible %}
|
||||
{% if not label %}{% set label=field.label.text %}{% endif %}
|
||||
<label for="{{ field.id }}" class="control-label">{{ label|safe }}</label>
|
||||
{% endif %}
|
||||
{{ field(class_='form-control', **kwargs) }}
|
||||
{% if field.errors %}
|
||||
{% for e in field.errors %}
|
||||
<p class="help-block">{{ e }}</p>
|
||||
{% endfor %}
|
||||
{% endif %}
|
||||
</div>
|
||||
{%- endmacro %}
|
||||
|
||||
{% macro render_checkbox_field(field, label=None) -%}
|
||||
{% if not label %}{% set label=field.label.text %}{% endif %}
|
||||
<div class="checkbox">
|
||||
<label>
|
||||
{{ field(type='checkbox', **kwargs) }} {{ label }}
|
||||
</label>
|
||||
</div>
|
||||
{%- endmacro %}
|
||||
|
||||
{% macro render_radio_field(field) -%}
|
||||
{% for value, label, checked in field.iter_choices() %}
|
||||
<div class="radio">
|
||||
<label>
|
||||
<input type="radio" name="{{ field.id }}" id="{{ field.id }}" value="{{ value }}"{% if checked %} checked{% endif %}>
|
||||
{{ label }}
|
||||
</label>
|
||||
</div>
|
||||
{% endfor %}
|
||||
{%- endmacro %}
|
||||
|
||||
{% macro render_submit_field(field, label=None, tabindex=None) -%}
|
||||
{% if not label %}{% set label=field.label.text %}{% endif %}
|
||||
{#<button type="submit" class="form-control btn btn-default btn-primary">{{label}}</button>#}
|
||||
<input type="submit" value="{{label}}"
|
||||
{% if tabindex %}tabindex="{{ tabindex }}"{% endif %}
|
||||
>
|
||||
{%- endmacro %}
|
72
app/templates/users/user_profile_page.html
Normal file
72
app/templates/users/user_profile_page.html
Normal file
@ -0,0 +1,72 @@
|
||||
{% extends "base.html" %}
|
||||
|
||||
{% block title %}
|
||||
{{ user.username }}
|
||||
{% endblock %}
|
||||
|
||||
{% block content %}
|
||||
|
||||
<div class="box box_grey">
|
||||
<h2>{{ user.username }}</h2>
|
||||
|
||||
<table>
|
||||
<tr>
|
||||
<td>Accounts:</td>
|
||||
<td>
|
||||
{% if user.forums_username %}
|
||||
<a href="https://forum.minetest.net/memberlist.php?mode=viewprofile&un={{ user.forums_username }}">
|
||||
Minetest Forum
|
||||
</a>
|
||||
{% elif user == current_user %}
|
||||
<a href="">Link Forums Account</a>
|
||||
{% endif %}
|
||||
|
|
||||
{% if user.github_username %}
|
||||
<a href="https://github.com/{{ user.github_username }}">GitHub</a>
|
||||
{% elif user == current_user %}
|
||||
<a href="{{ url_for('github_signin_page') }}">Link Github</a>
|
||||
{% endif %}
|
||||
|
||||
{% if user == current_user %}
|
||||
🌎
|
||||
{% endif %}
|
||||
</td>
|
||||
</tr>
|
||||
{% if user == current_user %}
|
||||
<tr>
|
||||
<td>Email:</td>
|
||||
<td>
|
||||
{{ user.email }} |
|
||||
<a href="">{% if user.email %}change{% else %}add{% endif %}</a>
|
||||
🔒
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Password:</td>
|
||||
<td>
|
||||
<a href="{{ url_for('user.change_password') }}">
|
||||
{% if user.password %}Change password{% else %}Add password{% endif %}
|
||||
</a> 🔒
|
||||
</td>
|
||||
</tr>
|
||||
{% endif %}
|
||||
</table>
|
||||
</div>
|
||||
|
||||
{% if form %}
|
||||
{% from "macros/forms.html" import render_field, render_submit_field %}
|
||||
<form class="box box_grey" action="" method="POST" class="form" role="form">
|
||||
<h2>Edit Details</h2>
|
||||
|
||||
<div class="row">
|
||||
<div class="col-sm-6 col-md-5 col-lg-4">
|
||||
{{ form.hidden_tag() }}
|
||||
|
||||
{{ render_field(form.display_name, tabindex=240) }}
|
||||
|
||||
{{ render_submit_field(form.submit, tabindex=280) }}
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
{% endif %}
|
||||
{% endblock %}
|
@ -13,17 +13,11 @@ from flask_user.forms import RegisterForm
|
||||
from flask_wtf import FlaskForm
|
||||
from wtforms import StringField, SubmitField, validators
|
||||
class MyRegisterForm(RegisterForm):
|
||||
first_name = StringField('First name', validators=[
|
||||
validators.DataRequired('First name is required')])
|
||||
last_name = StringField('Last name', validators=[
|
||||
validators.DataRequired('Last name is required')])
|
||||
display_name = StringField("Diplay name")
|
||||
|
||||
# Define the User profile form
|
||||
class UserProfileForm(FlaskForm):
|
||||
first_name = StringField('First name', validators=[
|
||||
validators.DataRequired('First name is required')])
|
||||
last_name = StringField('Last name', validators=[
|
||||
validators.DataRequired('Last name is required')])
|
||||
display_name = StringField("Diplay name")
|
||||
submit = SubmitField('Save')
|
||||
|
||||
@app.route('/user/', methods=['GET', 'POST'])
|
||||
@ -42,7 +36,7 @@ def user_profile_page(username=None):
|
||||
|
||||
if user == current_user:
|
||||
# Initialize form
|
||||
form = UserProfileForm(request.form, current_user)
|
||||
form = UserProfileForm(formdata=request.form, obj=current_user)
|
||||
|
||||
# Process valid POST
|
||||
if request.method=='POST' and form.validate():
|
||||
|
Loading…
Reference in New Issue
Block a user