-{% extends "base.html" %}
+{% extends "../base.html" %}
{% block title %}{{ _("Profile") }} {{ profile.public_id }}{% end block %}
{% block body %}
<div class="page-header">
- <h1>{{ _("Profile") }} <small>{{ profile.public_id }}</small></h1>
+ <h2>{{ _("Profile") }} <small>{{ profile.public_id }}</small></h2>
</div>
- <div class="row">
- <div class="col-lg-6 col-md-6">
- <h3>{{ _("Operating system") }}</h3>
- <table class="table">
- <tr>
- <td>
- {{ _("Version") }}
- </td>
- <td>
- {{ profile.release }}
- </td>
- </tr>
- <tr>
- <td>
- {{ _("Architecture") }}
- </td>
- <td>
- {{ profile.cpu.arch }}
- </td>
- </tr>
- <tr>
- <td>
- {{ _("Kernel version") }}
- </td>
- <td>
- {{ profile.kernel }}
- </td>
- </tr>
- </table>
- </div>
-
- <div class="col-lg-6 col-md-6">
- {% if profile.hypervisor %}
- <h3>{{ _("Hypervisor") }}</h3>
- <p>
- {{ _("This machine is running in a virtual environment.") }}
- </p>
-
- <table class="table">
- <tr>
- <td>
- {{ _("Vendor") }}
- </td>
- <td>
- {{ profile.hypervisor.vendor }}
- </td>
- </tr>
- <tr>
- <td>
- {{ _("Type") }}
- </td>
- <td>
- {{ profile.hypervisor.type }}
- </td>
- </tr>
- </table>
- {% else %}
- <h3>{{ _("Hardware vendor") }}</h3>
- <table class="table">
- <tr>
- <td>
- {{ _("Vendor") }}
- </td>
- <td>
- {{ profile.vendor or _("Unknown") }}
- </td>
- </tr>
- <tr>
- <td>
- {{ _("Model") }}
- </td>
- <td>
- {{ profile.model or _("Unknown") }}
- </td>
- </tr>
- </table>
+ <div class="ac">
+ <h3>{{ profile.release }}</h3>
+
+ {% for zone in profile.network %}
+ {% if zone == "red" %}
+ <span class="label label-danger">{{ _("RED") }}</span>
+ {% elif zone == "green" %}
+ <span class="label label-success">{{ _("GREEN") }}</span>
+ {% elif zone == "orange" %}
+ <span class="label label-warning">{{ _("ORANGE") }}</span>
+ {% elif zone == "blue" %}
+ <span class="label label-info">{{ _("BLUE") }}</span>
{% end %}
- </div>
+ {% end %}
</div>
-
+
<hr>
- {% if profile.network %}
+ {% if profile.appliance_id %}
+ <div class="alert alert-success">
+ {% if profile.appliance_id.startswith("lightningwirelabs-") %}
+ <span class="pull-right">
+ {{ _("Get yours at") }}
+ <a href="http://www.lightningwirelabs.com/products/ipfire/appliances" class="alert-link">
+ lightningwirelabs.com
+ </a>
+ </span>
+ {% end %}
+
+ <strong>{{ profile.appliance }}</strong>
+ </div>
+ {% end %}
+
+ <div class="well well-sm">
<div class="row">
- <div class="col-lg-12 col-md-12">
- <h2>{{ _("Network") }}</h2>
+ <div class="col-md-7">
+ <h4>
+ <a href="/stats/cpus">{{ _("Processor") }}</a>
+ </h4>
<p>
- {{ _("Enabled network zones") }}
-
- {% for zone in ("GREEN", "RED", "BLUE", "ORANGE") %}
- {% if profile.network.has_zone(zone.lower()) %}
- {% if zone == "GREEN" %}
- <span class="label label-success">{{ _(zone) }}</span>
- {% elif zone == "RED" %}
- <span class="label label-important">{{ _(zone) }}</span>
- {% elif zone == "ORANGE" %}
- <span class="label label-warning">{{ _(zone) }}</span>
- {% elif zone == "BLUE" %}
- <span class="label label-info">{{ _(zone) }}</span>
- {% end %}
+ <strong>{{ profile.processor }}</strong>
+ </p>
+
+ {% if profile.processor.count >= 2 %}
+ <p>
+ {% if profile.processor.count == 2 %}
+ {{ _("Dual-core processor") }}
+ {% elif profile.processor.count == 4 %}
+ {{ _("Quad-core processor") }}
+ {% elif profile.processor.count == 8 %}
+ {{ ("Octo-core processor") }}
+ {% else %}
+ {{ _("%s core processor") % profile.processor.count }}
{% end %}
+
+ {% if profile.processor.uses_ht() %}
+ {{ _("using Intel Hyper-Threading Technology") }}
+ {% end %}
+ </p>
+ {% end %}
+
+ <ul class="list-inline">
+ <li>
+ {{ _("Supported features") }}:
+ </li>
+ {% for cap, available in profile.processor.capabilities %}
+ <li>
+ <span class="label {% if available is None %}label-default{% elif available %}label-success{% else %}label-danger{% end %}">
+ {% if cap == "64bit" %}
+ {{ _("64 bit") }}
+ {% elif cap == "aes" %}
+ {{ _("AES-NI") }}
+ {% elif cap == "nx" %}
+ {{ _("NX") }}
+ {% elif cap == "pae" %}
+ {{ _("PAE") }}
+ {% elif cap == "rdrand" %}
+ {{ _("RDRAND") }}
+ {% elif cap == "virt" %}
+ {{ _("VT-x/AMD-V") }}
+ {% end %}
+ </span>
+ </li>
{% end %}
- </p>
+ </ul>
</div>
- </div>
- {% end %}
- <hr>
+ <div class="col-md-5">
+ <dl class="dl-horizontal">
+ {% if profile.virtual %}
+ <dt>
+ <a href="/stats/virtual">{{ _("Hypervisor") }}</a>
+ </dt>
+ <dd>
+ {% if profile.hypervisor == "VMWare" %}
+ {{ _("VMware") }}
+ {% elif profile.hypervisor is None %}
+ {{ _("Unknown") }}
+ {% else %}
+ {{ profile.hypervisor }}
+ {% end %}
+ </dd>
+ {% elif not profile.appliance_id and profile.system %}
+ {% if profile.system_vendor %}
+ <dt>{{ _("Vendor") }}</dt>
+ <dd>{{ profile.system_vendor }}</dd>
+ {% end %}
- <h2>{{ _("Hardware") }}</h2>
- <div class="row">
- <div class="col-lg-6 col-md-6">
- <table class="table">
- <tr>
- <td colspan="2">
- <strong>{{ _("CPU") }}</strong>
- </td>
- </tr>
- <tr>
- <td>
- {{ _("Vendor") }}
- </td>
- <td>
- <a href="/stats/cpus">{{ profile.cpu.vendor }}</a>
- </td>
- </tr>
- <tr>
- <td>
- {{ _("Model") }}
- </td>
- <td>
- {{ profile.cpu.model_string or _("Not available") }}
- </td>
- </tr>
- <tr>
- <td>
- {{ _("Cores") }}
- </td>
- <td>
- {{ profile.cpu.count }}
- </td>
- </tr>
- <tr>
- <td>
- {{ _("Speed") }}
- </td>
- <td>
- {{ profile.cpu.speed }} MHz
- {% if profile.cpu.speed != profile.cpu.bogomips %}
- (Bogomips: {{ profile.cpu.bogomips }})
+ {% if profile.system_model %}
+ <dt>{{ _("Model") }}</dt>
+ <dd>{{ profile.system_model }}</dd>
{% end %}
- </td>
- </tr>
- {% if profile.cpu.vendor != "ARM" %}
- <tr>
- <td>
- {{ _("Supported features") }}
- </td>
- <td>
- {% if profile.cpu.capable_64bit %}
- <span class="label label-success">{{ _("64 bit capable") }}</span>
- {% end %}
+ {% end %}
- {% if profile.cpu.capable_pae %}
- <span class="label label-success">{{ _("PAE capable") }}</span>
+ {% if profile.memory %}
+ <dt>
+ <a href="/stats/memory">{{ _("Memory") }}</a>
+ </dt>
+ <dd>
+ {% if profile.memory <= (256 * 1024 ** 2) %}
+ <span class="text-danger">
+ {% elif profile.memory >= 1024 ** 3 %}
+ <span class="text-success">
+ {% else %}
+ <span class="text-warning">
{% end %}
+ {{ format_size(profile.memory) }}
+ </span>
+ </dd>
+ {% end %}
- {% if profile.cpu.capable_virt %}
- <span class="label label-success">{{ _("VT-x/AMD-V") }}</span>
- {% end %}
- </td>
- </tr>
- {% end %}
- </table>
- </div>
+ {% if profile.storage %}
+ <dt>{{ _("System Storage") }}</dt>
+ <dd>{{ format_size(profile.storage) }}</dd>
+ {% end %}
+
+ {% if profile.kernel %}
+ <dt>{{ _("Kernel") }}</dt>
+ <dd>{{ profile.kernel }}</dd>
+ {% end %}
+
+ {% if profile.location %}
+ <dt>
+ <a href="/stats/geo">{{ _("Location") }}</a>
+ </dt>
+ <dd>
+ {{ profile.location_string }}
+ </dd>
+ {% end %}
- <div class="col-lg-6 col-md-6">
- <table class="table">
- <tr>
- <td>
- {{ _("Memory size") }}
- </td>
- <td>
- {{ format_size(profile.memory) }}
- </td>
- </tr>
- <tr>
- <td>
- {{ _("System disk size") }}
- </td>
- <td>
- {{ format_size(profile.root_size) }}
- </td>
- </tr>
- </table>
+ {% if profile.language %}
+ <dt>
+ <a href="/stats/languages">{{ _("Language") }}</a>
+ </dt>
+ <dd>{% module LanguageName(profile.language) %}</dd>
+ {% end %}
+ </dl>
+ </div>
</div>
</div>
- <hr>
-
{% if profile.devices %}
- <h3>{{ _("Peripherial devices") }}</h3>
- {% module StasyDeviceTable(profile.devices) %}
+ {% module FireinfoDeviceAndGroupsTable([d for d in profile.devices if d.is_showable()]) %}
<hr>
{% end %}
<div class="pull-right">
<p>
- {{ _("Last update") }}: {{ locale.format_date(profile.updated) }}
+ {{ _("Last update") }}: {{ locale.format_date(profile.time_updated) }}
</p>
</div>
{% end block %}