blob: 15588e85f8fca9944797a84392c61bf2991ec69e (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
|
{% extends "layout.jinja2" %}
{% import "util.jinja2" as util with context %}
{% block content %}
<div class="container">
<h1>{{ _("page.my_profile.title") }}</h1>
<hr>
<h2>{{ _("page.my_profile.personal_data") }}</h2>
<form method="POST" action="{{ request.route_path('user-data') }}" class="needs-validation" novalidate>
<div class="form-floating mb-3 col-lg-5">
<input type="text" class="form-control" id="inputName" name="name" value="{{ user.name }}" placeholder="x">
<label for="inputName">{{ _("page.my_profile.personal_data.name") }}</label>
</div>
<div class="form-floating mb-3 col-lg-5">
<input type="password" class="form-control" id="inputPassword" name="password" onchange="checkPasswordValidity('#inputPassword', '#repeatPassword')" placeholder="x">
<div class="invalid-feedback">
{{ _("page.my_profile.personal_data.password_invalid") }}
</div>
<label for="inputPassword">{{ _("page.my_profile.personal_data.password") }}</label>
</div>
<div class="form-floating mb-3 col-lg-5">
<input type="password" class="form-control" id="repeatPassword" name="repeat-password" onchange="checkPasswordValidity('#inputPassword', '#repeatPassword')" placeholder="x">
<div class="invalid-feedback">
{{ _("page.my_profile.personal_data.password_must_match") }}
</div>
<label for="repeatPassword">{{ _("page.my_profile.personal_data.repeat_password") }}</label>
</div>
{{ util.hidden_csrf_input() }}
<button type="submit" class="btn btn-primary"><i class="bi bi-save"></i> {{ _("page.my_profile.personal_data.save") }}</button>
</form>
<hr>
<h2>{{ _("page.my_profile.friends") }}</h2>
<ul class="list-group">
{% for friend in user.get_friends() %}
<li class="list-group-item d-flex align-items-center">
<form action="{{ request.route_url('delete-friend') }}" method="POST">
<input type="hidden" name="friend-id" value="{{ friend.id }}">
{{ util.hidden_csrf_input() }}
<button type="submit" class="btn btn-danger"><i class="bi bi-person-dash"></i> {{ _("page.my_profile.unfriend") }}</button>
</form>
<span class="ms-3">{{ friend.name }} ({{ friend.email }})</span>
</li>
{% endfor %}
{% for friend_request in incoming_friend_requests %}
<li class="list-group-item list-group-item-success d-flex align-items-center">
<form action="{{ request.route_url('accept-friend') }}" method="POST">
<input type="hidden" name="request-id" value="{{ friend_request.id }}">
{{ util.hidden_csrf_input() }}
<button type="submit" class="btn btn-success"><i class="bi bi-person-check"></i> {{ _("page.my_profile.accept_friend") }}</button>
</form>
<span class="ms-3">{{ friend_request.sender.name }} ({{ friend_request.sender.email }})</span>
</li>
{% endfor %}
{% for friend_request in outgoing_friend_requests %}
<li class="list-group-item list-group-item-dark">{{ friend_request.recipient.name }} ({{ friend_request.recipient.email }})</li>
{% endfor %}
</ul>
<div class="my-3">
<form action="{{ request.route_url('add-friend') }}" method="POST">
{{ util.hidden_csrf_input() }}
<div class="row align-items-center">
<div class="col-lg-5">
<div class="form-floating">
<input type="email" id="friendRequestEmail" name="friend-email" class="form-control" placeholder="x">
<label for="friendRequestEmail">{{ _("page.my_profile.friend_request_email") }}</label>
</div>
</div>
<div class="col-lg-3">
<button class="btn btn-primary"><i class="bi bi-person-plus"></i> {{ _("page.my_profile.send_friend_request") }}</button>
</div>
</div>
</form>
</div>
</div>
{% endblock %}
|