]> git.ipfire.org Git - ipfire.org.git/blob - src/templates/people/user.html
people: Link from groups to accounts and vice-versa
[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 <div class="list-group list-group-flush">
92 {% for g in account.groups %}
93 <a class="list-group-item list-group-item-active" {% if current_user.is_staff() %}href="/groups/{{ g.gid }}"{% end %}>
94 <i class="fas fa-users mr-2"></i> {{ g }}
95 </a>
96 {% end %}
97 </div>
98 {% end %}
99 </div>
100
101 <ul class="list-unstyled small text-muted">
102 <li>
103 {{ _("Joined %s") % locale.format_date(account.created_at, shorter=True) }}
104 </li>
105
106 {% if current_user.is_admin() %}
107 <li>
108 {{ _("Last Modified %s") % locale.format_date(account.modified_at) }}
109 </li>
110
111 {% if account.last_successful_authentication %}
112 <li>
113 {{ _("Last successful authentication: %s") % locale.format_date(account.last_successful_authentication) }}
114 </li>
115 {% end %}
116
117 {% if account.failed_login_count %}
118 <li class="text-warning">
119 {{ _("One unsuccessful authentication attempt.", "%(num)s unsuccessful authentication attempts.", account.failed_login_count) % { "num" : account.failed_login_count } }}
120
121 {% if account.last_failed_authentication %}
122 {{ _("Last attempt: %s") % locale.format_date(account.last_failed_authentication) }}
123 {% end %}
124 </li>
125 {% end %}
126 {% end %}
127 </ul>
128 {% end block %}