]> git.ipfire.org Git - ipfire.org.git/blob - src/templates/people/user.html
f3736729da8a3683003b7a2c59d1ba9ebc48d330
[ipfire.org.git] / src / templates / people / user.html
1 {% extends "base.html" %}
2
3 {% block main %}
4 {% import phonenumbers %}
5
6 <div class="card mb-3">
7 <div class="card-body">
8 <div class="row">
9 <div class="col">
10 <a class="btn btn-dark btn-block" href="mailto:{{ account.email }}">
11 {{ _("Email %s") % account.first_name }}
12 </a>
13 </div>
14 </div>
15
16 {% if current_user == account or current_user.is_staff() %}
17 <div class="row">
18 {% if account.address %}
19 <div class="col-md-6 mt-5">
20 <h6>{{ _("Postal Address") }}</h6>
21
22 <address>
23 <strong>{{ account.name }}</strong>
24 <br>
25 {% for line in account.address %}
26 {{ line }}<br>
27 {% end %}
28 </address>
29 </div>
30 {% end %}
31
32 <div class="col-md-6 mt-5">
33 {% if account.phone_number or account.fax_number %}
34 <h6 class="mb-2">{{ _("Phone Numbers") }}</h6>
35
36 <ul class="list-unstyled">
37 {% if account.phone_number %}
38 <li>
39 <span class="fas fa-phone"></span>
40
41 <a href="tel:{{ format_phone_number_to_e164(account.phone_number) }}">
42 {{ format_phone_number(account.phone_number) }}
43 </a>
44 </li>
45 {% end %}
46
47 {% if account.fax_number %}
48 <li>
49 <span class="fas fa-fax"></span>
50
51 <a href="fax:{{ format_phone_number_to_e164(account.fax_number) }}">
52 {{ format_phone_number(account.fax_number) }}
53 </a>
54 </li>
55 {% end %}
56 </ul>
57 {% end %}
58
59 {% if account.phone_numbers %}
60 <h6 class="mb-2">{{ _("External Phone Numbers") }}</h6>
61
62 <ul class="list-unstyled">
63 {% for number in account.phone_numbers %}
64 <li>
65 {% if phonenumbers.number_type(number) == phonenumbers.PhoneNumberType.MOBILE %}
66 <span class="fas fa-mobile" title="{{ _("Mobile") }}"></span>
67 {% else %}
68 <span class="fas fa-phone"></span>
69 {% end %}
70
71 <a href="tel:{{ format_phone_number_to_e164(number) }}"
72 title="{{ format_phone_number_location(number) }}">{{ format_phone_number(number) }}</a>
73 </li>
74 {% end %}
75 </ul>
76 {% end %}
77 </div>
78 </div>
79 {% end %}
80 </div>
81
82 {% if account.groups %}
83 <div class="card-body">
84 <div class="row">
85 <div class="col">
86 <h6 class="mb-0">{{ _("Groups") }}</h6>
87 </div>
88 </div>
89 </div>
90
91 <ul class="list-group list-group-flush">
92 {% for g in account.groups %}
93 <li class="list-group-item">
94 <i class="fas fa-users mr-2"></i>
95 {{ g }}
96 </li>
97 {% end %}
98 </ul>
99 {% end %}
100 </div>
101
102 <ul class="list-unstyled small text-muted">
103 <li>
104 {{ _("Joined %s") % locale.format_date(account.created_at, shorter=True) }}
105 </li>
106
107 {% if current_user.is_admin() %}
108 <li>
109 {{ _("Last Modified %s") % locale.format_date(account.modified_at) }}
110 </li>
111
112 {% if account.last_successful_authentication %}
113 <li>
114 {{ _("Last successful authentication: %s") % locale.format_date(account.last_successful_authentication) }}
115 </li>
116 {% end %}
117
118 {% if account.failed_login_count %}
119 <li class="text-warning">
120 {{ _("One unsuccessful authentication attempt.", "%(num)s unsuccessful authentication attempts.", account.failed_login_count) % { "num" : account.failed_login_count } }}
121
122 {% if account.last_failed_authentication %}
123 {{ _("Last attempt: %s") % locale.format_date(account.last_failed_authentication) }}
124 {% end %}
125 </li>
126 {% end %}
127 {% end %}
128 </ul>
129 {% end block %}