2018-03-18 19:14:55 +01:00
|
|
|
{% extends "base.html" %}
|
|
|
|
|
|
|
|
{% block title %}
|
|
|
|
{{ user.username }}
|
|
|
|
{% endblock %}
|
|
|
|
|
|
|
|
{% block content %}
|
|
|
|
|
2018-05-29 19:16:05 +02:00
|
|
|
{% if not current_user.is_authenticated and user.rank == user.rank.NOT_JOINED and user.forums_username %}
|
2019-07-02 01:45:04 +02:00
|
|
|
<div class="alert alert-info">
|
2018-12-22 13:36:49 +01:00
|
|
|
<a class="float-right btn btn-default btn-sm"
|
2019-11-16 00:51:42 +01:00
|
|
|
href="{{ url_for('users.claim', username=user.forums_username) }}">Claim</a>
|
2018-05-29 19:16:05 +02:00
|
|
|
|
2018-12-22 13:36:49 +01:00
|
|
|
Is this you? Claim your account now!
|
2018-05-29 19:16:05 +02:00
|
|
|
</div>
|
|
|
|
{% endif %}
|
|
|
|
|
2018-12-22 13:36:49 +01:00
|
|
|
<div class="row mb-3">
|
|
|
|
<div class="col-sm-6">
|
|
|
|
<div class="card">
|
|
|
|
<h2 class="card-header">{{ user.display_name }}</h2>
|
2018-12-25 19:25:25 +01:00
|
|
|
<div class="card-body row">
|
|
|
|
<div class="col-md-2">
|
2018-12-25 20:28:32 +01:00
|
|
|
{% if user.forums_username %}
|
|
|
|
<a href="https://forum.minetest.net/ucp.php?i=profile&mode=avatar">
|
|
|
|
{% elif user.email %}
|
2018-12-25 19:36:02 +01:00
|
|
|
<a href="https://en.gravatar.com/">
|
2018-12-25 19:25:25 +01:00
|
|
|
{% endif %}
|
2018-12-25 20:28:32 +01:00
|
|
|
<img class="img-responsive user-photo img-thumbnail img-thumbnail-1" src="{{ user.getProfilePicURL() }}">
|
|
|
|
{% if user.forums_username or user.email %}
|
2018-12-25 19:25:25 +01:00
|
|
|
</a>
|
|
|
|
{% endif %}
|
|
|
|
</div>
|
|
|
|
<div class="col">
|
|
|
|
<table class="table">
|
|
|
|
<tr>
|
|
|
|
<td>Rank:</td>
|
|
|
|
<td>
|
|
|
|
{{ user.rank.getTitle() }}
|
|
|
|
</td>
|
|
|
|
</tr>
|
|
|
|
<tr>
|
2019-07-02 01:45:04 +02:00
|
|
|
<td>Links:</td>
|
2018-12-25 19:25:25 +01:00
|
|
|
<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 %}
|
|
|
|
No forum account
|
|
|
|
{% endif %}
|
|
|
|
|
2019-07-02 01:45:04 +02:00
|
|
|
{% if user.github_username or user == current_user %}
|
2018-12-25 19:25:25 +01:00
|
|
|
|
|
|
|
|
{% endif %}
|
|
|
|
|
|
|
|
{% if user.github_username %}
|
|
|
|
<a href="https://github.com/{{ user.github_username }}">GitHub</a>
|
|
|
|
{% elif user == current_user %}
|
2020-01-24 19:15:09 +01:00
|
|
|
<a href="{{ url_for('github.start') }}">Link Github</a>
|
2018-12-25 19:25:25 +01:00
|
|
|
{% endif %}
|
|
|
|
|
2019-07-02 01:45:04 +02:00
|
|
|
{% if user.website_url %}
|
|
|
|
| <a href="{{ user.website_url }}" rel="nofollow">Website</a>
|
|
|
|
{% endif %}
|
|
|
|
|
2020-01-30 22:39:51 +01:00
|
|
|
|
2018-12-25 19:25:25 +01:00
|
|
|
{% if user == current_user %}
|
2019-07-02 01:45:04 +02:00
|
|
|
<br>
|
|
|
|
<small class="text-muted">
|
|
|
|
<span style="padding-right: 5px;">🌎</span>
|
|
|
|
Visible to everyone
|
|
|
|
</small>
|
2018-12-25 19:25:25 +01:00
|
|
|
{% endif %}
|
|
|
|
</td>
|
|
|
|
</tr>
|
2020-01-30 22:39:51 +01:00
|
|
|
|
|
|
|
{% if user == current_user and user.github_username %}
|
|
|
|
<tr>
|
|
|
|
<td>Privacy:</td>
|
|
|
|
<td>
|
|
|
|
<a href="{{ url_for('github.view_permissions') }}">View ContentDB's GitHub Permissions</a>
|
|
|
|
</td>
|
|
|
|
</tr>
|
|
|
|
{% endif %}
|
|
|
|
|
2019-01-04 18:57:00 +01:00
|
|
|
{% if current_user.is_authenticated and current_user.rank.atLeast(current_user.rank.MODERATOR) %}
|
|
|
|
<tr>
|
|
|
|
<td>Admin</td>
|
|
|
|
<td>
|
|
|
|
{% if user.email %}
|
2019-11-16 00:51:42 +01:00
|
|
|
<a class="btn btn-primary" href="{{ url_for('users.send_email', username=user.username) }}">
|
2019-01-04 18:57:00 +01:00
|
|
|
Email
|
|
|
|
</a>
|
|
|
|
{% else %}
|
|
|
|
<a class="btn btn-primary disabled"
|
|
|
|
data-toggle="tooltip" data-placement="bottom"
|
|
|
|
title="No email address for user"
|
|
|
|
style="pointer-events: all;">
|
|
|
|
Email
|
|
|
|
</a>
|
|
|
|
{% endif %}
|
|
|
|
</td>
|
|
|
|
</tr>
|
|
|
|
{% endif %}
|
2018-12-22 21:13:43 +01:00
|
|
|
{% if user == current_user %}
|
2018-12-25 19:25:25 +01:00
|
|
|
<tr>
|
|
|
|
<td>Profile Picture:</td>
|
|
|
|
<td>
|
2018-12-25 20:28:32 +01:00
|
|
|
{% if user.forums_username %}
|
2019-11-16 00:51:42 +01:00
|
|
|
<form method="post" action="{{ url_for('users.user_check', username=user.username) }}" class="" style="display:inline-block;">
|
2018-12-25 20:28:32 +01:00
|
|
|
<input type="hidden" name="csrf_token" value="{{ csrf_token() }}" />
|
|
|
|
<input type="submit" class="btn btn-primary" value="Sync with Forums" />
|
|
|
|
</form>
|
|
|
|
{% endif %}
|
2018-12-25 19:25:25 +01:00
|
|
|
{% if user.email %}
|
|
|
|
<a class="btn btn-primary" href="https://en.gravatar.com/">
|
|
|
|
Gravatar
|
|
|
|
</a>
|
|
|
|
{% else %}
|
2018-12-25 20:28:32 +01:00
|
|
|
<a class="btn btn-primary disabled"
|
|
|
|
data-toggle="tooltip" data-placement="bottom"
|
|
|
|
title="Please add an email address to use Gravatar"
|
|
|
|
style="pointer-events: all;">
|
|
|
|
Gravatar
|
|
|
|
</a>
|
2018-12-25 19:25:25 +01:00
|
|
|
{% endif %}
|
|
|
|
</td>
|
2020-01-30 22:39:51 +01:00
|
|
|
</tr>
|
2018-12-25 19:25:25 +01:00
|
|
|
<tr>
|
|
|
|
<td>Password:</td>
|
|
|
|
<td>
|
|
|
|
{% if user.password %}
|
|
|
|
Set | <a href="{{ url_for('user.change_password') }}">Change</a>
|
|
|
|
{% else %}
|
2019-11-16 00:51:42 +01:00
|
|
|
Not set | <a href="{{ url_for('users.set_password') }}">Set</a>
|
2018-12-25 19:25:25 +01:00
|
|
|
{% endif %}
|
|
|
|
</td>
|
|
|
|
</tr>
|
2018-12-22 21:13:43 +01:00
|
|
|
{% endif %}
|
2019-11-22 15:33:22 +01:00
|
|
|
{% if user.checkPerm(current_user, "CREATE_TOKEN") %}
|
|
|
|
<tr>
|
|
|
|
<td>API Tokens:</td>
|
|
|
|
<td>
|
|
|
|
<a href="{{ url_for('api.list_tokens', username=user.username) }}">Manage</a>
|
|
|
|
<span class="badge badge-primary">{{ user.tokens.count() }}</span>
|
|
|
|
</td>
|
|
|
|
</tr>
|
|
|
|
{% endif %}
|
2018-12-25 19:25:25 +01:00
|
|
|
</table>
|
2018-12-22 21:13:43 +01:00
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
2018-12-22 13:36:49 +01:00
|
|
|
</div>
|
2018-03-18 19:14:55 +01:00
|
|
|
|
|
|
|
{% if form %}
|
|
|
|
{% from "macros/forms.html" import render_field, render_submit_field %}
|
2018-12-22 13:36:49 +01:00
|
|
|
<div class="col-sm-6">
|
|
|
|
<div class="card">
|
2018-12-22 21:13:43 +01:00
|
|
|
<div class="card-header">Edit Details</div>
|
2018-12-22 13:36:49 +01:00
|
|
|
<div class="card-body">
|
|
|
|
<form action="" method="POST" class="form box-body" role="form">
|
2018-05-18 05:06:27 +02:00
|
|
|
{{ form.hidden_tag() }}
|
2018-03-18 19:14:55 +01:00
|
|
|
|
2020-07-10 23:59:41 +02:00
|
|
|
{% if user.checkPerm(current_user, "CHANGE_USERNAMES") %}
|
2018-05-21 23:31:50 +02:00
|
|
|
{{ render_field(form.display_name, tabindex=230) }}
|
2020-07-10 23:59:41 +02:00
|
|
|
{{ render_field(form.forums_username, tabindex=230) }}
|
|
|
|
{{ render_field(form.github_username, tabindex=230) }}
|
2020-02-23 21:12:32 +01:00
|
|
|
{% endif %}
|
|
|
|
|
|
|
|
{% if user.checkPerm(current_user, "CHANGE_PROFILE_URLS") %}
|
2019-07-02 01:45:04 +02:00
|
|
|
{{ render_field(form.website_url, tabindex=232) }}
|
|
|
|
{{ render_field(form.donate_url, tabindex=233) }}
|
2018-05-21 23:31:50 +02:00
|
|
|
{% endif %}
|
2018-05-14 01:40:34 +02:00
|
|
|
|
2018-05-18 05:06:27 +02:00
|
|
|
{% if user.checkPerm(current_user, "CHANGE_EMAIL") %}
|
|
|
|
{{ render_field(form.email, tabindex=240) }}
|
2018-05-21 23:46:48 +02:00
|
|
|
<i>We'll send you an email to verify it if changed.</i>
|
2018-05-18 05:06:27 +02:00
|
|
|
{% endif %}
|
2018-03-18 19:14:55 +01:00
|
|
|
|
2018-05-18 05:06:27 +02:00
|
|
|
{% if user.checkPerm(current_user, "CHANGE_RANK") %}
|
|
|
|
{{ render_field(form.rank, tabindex=250) }}
|
|
|
|
{% endif %}
|
2018-03-24 20:37:33 +01:00
|
|
|
|
2020-02-23 21:12:32 +01:00
|
|
|
<p>
|
|
|
|
{{ render_submit_field(form.submit, tabindex=280) }}
|
|
|
|
</p>
|
2018-12-22 13:36:49 +01:00
|
|
|
</form>
|
2018-03-18 19:14:55 +01:00
|
|
|
</div>
|
2018-12-22 13:36:49 +01:00
|
|
|
</div>
|
2018-05-18 05:06:27 +02:00
|
|
|
</div>
|
2018-03-18 19:14:55 +01:00
|
|
|
{% endif %}
|
2018-12-22 13:36:49 +01:00
|
|
|
</div>
|
2018-05-29 23:58:46 +02:00
|
|
|
|
2020-07-10 20:10:36 +02:00
|
|
|
|
|
|
|
<h2 class="my-3">{{ _("Packages") }}</h2>
|
|
|
|
|
2018-05-29 23:58:46 +02:00
|
|
|
{% from "macros/packagegridtile.html" import render_pkggrid %}
|
|
|
|
{{ render_pkggrid(packages, show_author=False) }}
|
|
|
|
|
2019-07-02 01:45:04 +02:00
|
|
|
{% if user.donate_url %}
|
|
|
|
<div class="alert alert-secondary">
|
|
|
|
Like {{ user.display_name }}'s work?
|
|
|
|
<a href="{{ user.donate_url }}" rel="nofollow">Donate now!</a>
|
|
|
|
</div>
|
|
|
|
{% endif %}
|
|
|
|
|
2020-07-10 20:10:36 +02:00
|
|
|
|
|
|
|
<h2 class="my-3">{{ _("Reviews") }}</h2>
|
|
|
|
{% from "macros/reviews.html" import render_reviews %}
|
|
|
|
{{ render_reviews(user.reviews, current_user, True) }}
|
|
|
|
|
|
|
|
|
2018-12-25 20:49:17 +01:00
|
|
|
{% if current_user == user or (current_user.is_authenticated and current_user.rank.atLeast(current_user.rank.EDITOR)) %}
|
2020-07-10 20:10:36 +02:00
|
|
|
<div class="card mt-5">
|
2018-12-25 19:32:23 +01:00
|
|
|
<a name="unadded-topics"></a>
|
|
|
|
<h2 class="card-header">Unadded topics</h2>
|
|
|
|
|
|
|
|
{% if topics_to_add %}
|
|
|
|
<p class="card-body">
|
|
|
|
List of your forum topics which do not have a matching package.
|
|
|
|
Topics with a strikethrough have been marked as discarded.
|
|
|
|
</p>
|
|
|
|
|
|
|
|
{% from "macros/topics.html" import render_topics_table %}
|
|
|
|
{{ render_topics_table(topics_to_add, show_author=False, show_discard=True, current_user=current_user) }}
|
|
|
|
{% else %}
|
2018-12-25 20:49:17 +01:00
|
|
|
<p class="card-body">Congrats! You don't have any topics which aren't on CDB.</p>
|
2018-12-25 19:32:23 +01:00
|
|
|
{% endif %}
|
2018-06-02 19:22:57 +02:00
|
|
|
</div>
|
|
|
|
{% endif %}
|
|
|
|
|
2018-03-18 19:14:55 +01:00
|
|
|
{% endblock %}
|
2018-12-25 18:51:29 +01:00
|
|
|
|
|
|
|
|
|
|
|
{% block scriptextra %}
|
|
|
|
<script>
|
|
|
|
var csrf_token = "{{ csrf_token() }}";
|
|
|
|
</script>
|
|
|
|
<script src="/static/topic_discard.js"></script>
|
|
|
|
{% endblock %}
|