]> git.ipfire.org Git - ipfire.org.git/blob - src/templates/fireinfo/profile.html
fireinfo: Fix kernel stats
[ipfire.org.git] / src / templates / fireinfo / profile.html
1 {% extends "../base.html" %}
2
3 {% block title %}{{ _("Profile %s") % profile.public_id }}{% end block %}
4
5 {% block container %}
6 <section class="hero is-primary">
7 <div class="hero-body">
8 <div class="container">
9 <nav class="breadcrumb" aria-label="breadcrumbs">
10 <ul>
11 <li>
12 <a href="https://ipfire.org/">
13 Home
14 </a>
15 </li>
16 <li>
17 <a href="/">
18 {{ _("Fireinfo") }}
19 </a>
20 </li>
21 <li>
22 <a href="../profile/random">
23 {{ _("Random Profile") }}
24 </a>
25 </li>
26 <li class="is-active">
27 <a href="../profile/random">
28 {{ profile.public_id }}
29 </a>
30 </li>
31 </ul>
32 </nav>
33
34 <h1 class="title">{{ _("Profile") }}</h1>
35 <h4 class="subtitle is-4">{{ profile.public_id }}</h4>
36 </div>
37 </div>
38 </section>
39
40 <section class="hero is-light">
41 <div class="hero-body">
42 <div class="container">
43 <h4 class="title is-4">
44 {{ _("Running %s") % profile.system.release }}
45 </h4>
46
47 <h5 class="title is-5">
48 {{ _("Last update %s") % locale.format_date(profile.last_updated_at) }}
49 </h5>
50
51 {% for zone in profile.network %}
52 {% if zone == "red" %}
53 <span class="tag is-danger">{{ _("RED") }}</span>
54 {% elif zone == "green" %}
55 <span class="tag is-success">{{ _("GREEN") }}</span>
56 {% elif zone == "orange" %}
57 <span class="tag is-warning">{{ _("ORANGE") }}</span>
58 {% elif zone == "blue" %}
59 <span class="tag is-info">{{ _("BLUE") }}</span>
60 {% end %}
61 {% end %}
62 </div>
63 </div>
64 </section>
65
66 <div class="container">
67 <section class="section">
68 <div class="block">
69 {% if profile.is_virtual() %}
70 <div class="columns">
71 <div class="column is-3">{{ _("Hypervisor") }}</div>
72 <div class="column is-9">
73 {% if profile.hypervisor == "VMWare" %}
74 {{ _("VMware") }}
75 {% elif profile.hypervisor is None %}
76 {{ _("Unknown") }}
77 {% else %}
78 {{ profile.hypervisor }}
79 {% end %}
80 </div>
81 </div>
82 {% elif profile.system %}
83 <div class="columns">
84 <div class="column is-3">{{ _("System") }}</div>
85 <div class="column is-9">
86 {% if profile.system.vendor %}
87 {{ profile.system.vendor }}
88 {% end %}
89
90 {% if profile.system.vendor and profile.system.model %}
91 &dash;
92 {% end %}
93
94 {% if profile.system.model %}
95 {{ profile.system.model }}
96 {% end %}
97 </div>
98 </div>
99 {% end %}
100 </div>
101
102 <div class="block">
103 {% if profile.processor %}
104 <div class="columns">
105 <div class="column is-3">{{ _("Processor") }}</div>
106 <div class="column is-9">
107 <p>{{ profile.processor }}</p>
108
109 {% for cap, available in profile.processor.capabilities %}
110 <span class="tag {% if available %}is-success{% else %}is-light{% end %}">
111 {% if cap == "64bit" %}
112 {{ _("64 bit") }}
113 {% elif cap == "aes" %}
114 {{ _("AES-NI") }}
115 {% elif cap == "nx" %}
116 {{ _("NX") }}
117 {% elif cap == "pae" %}
118 {{ _("PAE") }}
119 {% elif cap == "rdrand" %}
120 {{ _("RDRAND") }}
121 {% elif cap == "virt" %}
122 {{ _("VT-x/AMD-V") }}
123 {% end %}
124 </span>
125 {% end %}
126 </div>
127 </div>
128 {% end %}
129 </div>
130
131 <div class="block">
132 {% if profile.memory %}
133 <div class="columns">
134 <div class="column is-3">{{ _("Memory") }}</div>
135 <div class="column is-9">
136 {{ format_size(profile.memory) }}
137 </div>
138 </div>
139 {% end %}
140 </div>
141
142 <div class="block">
143 {% if profile.system.storage %}
144 <div class="columns">
145 <div class="column is-3">{{ _("Storage") }}</div>
146 <div class="column is-9">
147 {{ format_size(profile.system.storage) }}
148 </div>
149 </div>
150 {% end %}
151 </div>
152
153 <div class="block">
154 {% if profile.location %}
155 <div class="columns">
156 <div class="column is-3">{{ _("Location") }}</div>
157 <div class="column is-9">
158 {{ profile.location_string }}
159 </div>
160 </div>
161 {% end %}
162 </div>
163
164 <div class="block">
165 {% if profile.system.language %}
166 <div class="columns">
167 <div class="column is-3">{{ _("Language") }}</div>
168 <div class="column is-9">
169 {{ format_language_name(profile.system.language) }}
170 </div>
171 </div>
172 {% end %}
173 </div>
174 </section>
175
176 <section class="section">
177 {% if profile.devices %}
178 {% module FireinfoDeviceTable([d for d in profile.devices if d.is_showable()], embedded=True) %}
179 {% end %}
180 </section>
181
182 <section class="section">
183 <h5>{{ _("Signature images") }}</h5>
184
185 <ul class="list-unstyled">
186 {% for i in range(1) %}
187 <li class="list-inline-item">
188 <!-- XXX need some bbcode here -->
189 <a href="//i-use.ipfire.org/profile/{{ profile.public_id }}/{{ i }}.png">
190 <img class="img-fluid" src="//i-use.ipfire.org/profile/{{ profile.public_id }}/{{ i }}.png"
191 alt="{{ _("Signature image") }}" />
192 </a>
193 </li>
194 {% end %}
195 </ul>
196 </section>
197 </div>
198 {% end block %}