]> git.ipfire.org Git - people/shoehn/ipfire.org.git/commitdiff
Forgot to add fireinfo templates.
authorMichael Tremer <michael.tremer@ipfire.org>
Tue, 19 Feb 2013 11:45:45 +0000 (12:45 +0100)
committerMichael Tremer <michael.tremer@ipfire.org>
Tue, 19 Feb 2013 11:45:45 +0000 (12:45 +0100)
15 files changed:
templates/fireinfo/base.html [new file with mode: 0644]
templates/fireinfo/index.html [new file with mode: 0644]
templates/fireinfo/model-detail.html [new file with mode: 0644]
templates/fireinfo/profile-detail.html [new file with mode: 0644]
templates/fireinfo/profile-notfound.html [new file with mode: 0644]
templates/fireinfo/stats-admin.html [new file with mode: 0644]
templates/fireinfo/stats-cpu-flags.html [new file with mode: 0644]
templates/fireinfo/stats-cpus.html [new file with mode: 0644]
templates/fireinfo/stats-geo.html [new file with mode: 0644]
templates/fireinfo/stats-memory.html [new file with mode: 0644]
templates/fireinfo/stats-network.html [new file with mode: 0644]
templates/fireinfo/stats-oses.html [new file with mode: 0644]
templates/fireinfo/stats-virtual.html [new file with mode: 0644]
templates/fireinfo/stats.html [new file with mode: 0644]
templates/fireinfo/vendor-detail.html [new file with mode: 0644]

diff --git a/templates/fireinfo/base.html b/templates/fireinfo/base.html
new file mode 100644 (file)
index 0000000..eb14a00
--- /dev/null
@@ -0,0 +1,10 @@
+{% extends "../base.html" %}
+
+{% block header %}
+       <header class="jumbotron subhead" id="overview">
+               <div class="container">
+                       <h1>{{ _("Fireinfo") }}</h1>
+                       <p class="lead">{{ _("A hardware data collection tool for IPFire") }}</p>
+               </div>
+       </header>
+{% end header %}
diff --git a/templates/fireinfo/index.html b/templates/fireinfo/index.html
new file mode 100644 (file)
index 0000000..e43b62a
--- /dev/null
@@ -0,0 +1,58 @@
+{% extends "base.html" %}
+
+{% block title %}Fireinfo{% end block %}
+
+{% block body %}
+       <div class="row">
+               <div class="span12">
+                       {% if lang == "de" %}
+                               <p class="lead">
+                                       <strong>Fireinfo</strong> ist ein Tool, welches anonym Informationen
+                                       über die in IPFire-Systemen verbaute Hardware sammelt.
+                               </p>
+                               <p class="lead">
+                                       Diese Daten sollen den Entwicklern helfen zu erkennen, welche
+                                       Hardware am häufigsten eingesetzt wird und sind auch hilfreich
+                                       um Hardware-Probleme ausfindig zu machen.
+                               </p>
+                       {% else %}
+                               <p class="lead">
+                                       <strong>Fireinfo</strong> is a tool that anonymously collects statistical
+                                       data from IPFire systems.
+                               </p>
+                               <p class="lead">
+                                       These data should help the developers to learn
+                                       which hardware is used most often to run an IPFire system, but is also
+                                       handy when it comes to debugging hardware problems.
+                               </p>
+                       {% end %}
+                       <hr>
+               </div>
+       </div>
+
+       <div class="row">
+               <div class="span8 offset2 well">
+                       {% if lang == "de" %}
+                               <p>
+                                       Bitte geben Sie die Profil-ID von ihrem System ein, welche
+                                       Sie auf der Fireinfo-Seite des Webinterfaces finden können:
+                               </p>
+                       {% else %}
+                               <p>
+                                       Please enter the profile ID of your system, which can be found
+                                       on the fireinfo page on the web interface, to see your profile:
+                               </p>
+                       {% end %}
+
+                       <hr>
+
+                       <form method="POST" action="">
+                               <div class="input-append">
+                                       <input type="text" class="span7" name="profile_id" value=""
+                                               placeholder="{{ _("Profile ID") }}"><button type="submit" class="btn">{{ _("Show") }}</button>
+                               </div>
+                               {% raw xsrf_form_html() %}
+                       </form>
+               </div>
+       </div>
+{% end block %}
diff --git a/templates/fireinfo/model-detail.html b/templates/fireinfo/model-detail.html
new file mode 100644 (file)
index 0000000..cb0789c
--- /dev/null
@@ -0,0 +1,31 @@
+{% extends "base.html" %}
+
+{% block title %}{{ vendor_name }} - {{ model_name or model_id }}{% end block %}
+
+{% block body %}
+       <div class="page-header">
+               <h1>{{ vendor_name }} - {{ model_name or model_id  }}</h1>
+       </div>
+
+       <p>
+               {{ _("This device is installed on approximately %.2f%% of all systems.") % percentage }}
+       </p>
+
+       <h2>{{ _("Feedback") }}</h2>
+       {% if lang == "de" %}
+               <p>
+                       Im IPFire-Wiki befindet sich eine Sektion mit Kommentaren und Ratschlägen
+                       zu dieser Hardware. Diese werden von der Community gesammelt.
+               </p>
+       {% else %}
+               <p>
+                       In the IPFire wiki is a section that keeps comments or instructions on
+                       the hardware. These information is maintained by the community.
+               </p>
+       {% end %}
+
+       <p>
+               {{ _("Go to the wiki") }}:
+               <a href="http://wiki.ipfire.org/{{ lang }}/hardware/fireinfo/{{ bus }}/{{ vendor_id }}/{{ model_id }}">{{ vendor_name }} - {{ model_name or model_id }}</a>
+       </p>
+{% end block %}
diff --git a/templates/fireinfo/profile-detail.html b/templates/fireinfo/profile-detail.html
new file mode 100644 (file)
index 0000000..09ab713
--- /dev/null
@@ -0,0 +1,234 @@
+{% 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>
+       </div>
+
+       <div class="row">
+               <div class="span6">
+                       <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="span6">
+                       {% 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>
+                       {% end %}
+               </div>
+       </div>
+
+       <hr>
+
+       {% if profile.network %}
+               <div class="row">
+                       <div class="span12">
+                               <h2>{{ _("Network") }}</h2>
+                               <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 %}
+                                               {% end %}
+                                       {% end %}
+                               </p>
+                       </div>
+               </div>
+       {% end %}
+
+       <hr>
+
+       <h2>{{ _("Hardware") }}</h2>
+       <div class="row">
+               <div class="span6">
+                       <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 }})
+                                               {% 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 %}
+
+                                                       {% if profile.cpu.capable_pae %}
+                                                               <span class="label label-success">{{ _("PAE capable") }}</span>
+                                                       {% end %}
+
+                                                       {% if profile.cpu.capable_virt %}
+                                                               <span class="label label-success">{{ _("VT-x/AMD-V") }}</span>
+                                                       {% end %}
+                                               </td>
+                                       </tr>
+                               {% end %}
+                       </table>
+               </div>
+
+               <div class="span6">
+                       <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>
+               </div>
+       </div>
+
+       <hr>
+
+       {% if profile.devices %}
+               <h3>{{ _("Peripherial devices") }}</h3>
+               {% module StasyDeviceTable(profile.devices) %}
+               <hr>
+       {% end %}
+
+       <h3>{{ _("Signature images") }}</h3>
+       <ul class="unstyled">
+               {% for i in range(1) %}
+                       <li>
+                               <!-- XXX need some bbcode here -->
+                               <a href="http://i-use.ipfire.org/profile/{{ profile.public_id }}/{{ i }}.png">
+                                       <img src="http://i-use.ipfire.org/profile/{{ profile.public_id }}/{{ i }}.png"
+                                               alt="{{ _("Signature image") }}" />
+                               </a>
+                       </li>
+               {% end %}
+       </ul>
+
+       <div class="pull-right">
+               <p>
+                       {{ _("Last update") }}: {{ locale.format_date(profile.updated) }}
+               </p>
+       </div>
+{% end block %}
diff --git a/templates/fireinfo/profile-notfound.html b/templates/fireinfo/profile-notfound.html
new file mode 100644 (file)
index 0000000..40757b3
--- /dev/null
@@ -0,0 +1,43 @@
+{% extends "base.html" %}
+
+{% block title %}{{ _("Profile not found") }}}{% end block %}
+
+{% block body %}
+       <img class="pull-right" src="{{ static_url("images/error/404.png") }}" alt="{{ _("Error") }}" />
+       <div class="page-header">
+               <h1>404 - {{ _("Profile not found") }}</h1>
+       </div>
+
+       <div class="row">
+               <div class="span12">
+                       <p>
+                               {% if lang == "de" %}
+                                       Es wurden keine Daten für das Profil <code>{{ profile_id }}</code>
+                                       gefunden.
+                               {% else %}
+                                       There was no profile data found for profile <code>{{ profile_id }}</code>.
+                               {% end %}
+                       </p>
+                       <p>
+                               {% if lang == "de" %}
+                                       Der Eigentümer dieses Profils hat möglicherweise der Veröffentlichung
+                                       der Daten nicht zugestimmt oder diese abgeschaltet.
+                               {% else %}
+                                       The profile owner has probably not submitted any data 
+                                       or recently disabled the transmission.
+                               {% end %}
+                       </p>
+                       <p>
+                               {% if lang == "de" %}
+                                       Falls dieses Profil Ihr eigenes ist, so können Sie die Veröffentlichung
+                                       im Web-Interface
+                                       <a href="http://wiki.ipfire.org/de/fireinfo/my_profile" target="_blank">einschalten</a>.
+                               {% else %}
+                                       If this is your own profile, you can
+                                       <a href="http://wiki.ipfire.org/en/fireinfo/my_profile" target="_blank">enable</a>
+                                       the submission on the web user interface.
+                               {% end %}
+                       </p>
+               </div>
+       </div>
+{% end block %}
diff --git a/templates/fireinfo/stats-admin.html b/templates/fireinfo/stats-admin.html
new file mode 100644 (file)
index 0000000..2e89c7e
--- /dev/null
@@ -0,0 +1,27 @@
+{% extends "base.html" %}
+
+{% block title %}{{ _("Admin") }}{% end block %}
+
+{% block body %}
+       <h3>Need a headline</h3>
+
+       <table>
+               <tr>
+                       <td>
+                               {{ _("Sending profiles") }}
+                       </td>
+                       <td>
+                               {{ profiles_count }} / {{ profiles_count_all }}
+                       </td>
+               </tr>
+               <tr>
+                       <td>
+                               {{ _("Archive size") }}
+                       </td>
+                       <td>
+                               {{ archives_count }}
+                       </td>
+               </tr>
+       </table>
+{% end block %}
+
diff --git a/templates/fireinfo/stats-cpu-flags.html b/templates/fireinfo/stats-cpu-flags.html
new file mode 100644 (file)
index 0000000..e45fc8c
--- /dev/null
@@ -0,0 +1,78 @@
+{% extends "base.html" %}
+
+{% block title %}{{ _("CPU flags") }}{% end block %}
+
+{% block body %}
+       <div class="page-header">
+               <h1>{{ _("Processor flags") }}</h1>
+       </div>
+
+       <div class="row">
+               <div class="span12">
+                       {% if lang == "de" %}
+                               <p>
+                                       Diese Seite untersucht CPUs und ihre Funktionalitäten.
+                                       Anhand dieser Graphen können die Entwickler einige Entscheidungen
+                                       über die Betriebssystemkonfiguration treffen.
+                               </p>
+                       {% else %}
+                               <p>
+                                       On this page we will examine which CPUs provide a specific feature.
+                                       These charts will help the IPFire developers to make decisions about
+                                       the operating system configuration.
+                               </p>
+                       {% end %}
+               </div>
+       </div>
+
+       <div class="row">
+               <div class="span12">
+                       <h2>{{ _("CPUs that support 64 bits") }}</h2>
+                       {% if lang == "de" %}
+                               <p>
+                                       Wieviele Prozessoren unterstützen die 64-Bit-Architektur?
+                               </p>
+                       {% else %}
+                               <p>
+                                       How many CPUs support the 64-bit architecture?
+                               </p>
+                       {% end %}
+                       {% module StasyTable(cpus_lm, sortby="percentage") %}
+               </div>
+       </div>
+
+       <div class="row">
+               <div class="span12">
+                       <h2>{{ _("CPUs with PAE") }}</h2>
+                       {% if lang == "de" %}
+                               <p>
+                                       Diese Grafik zeigt uns wieviele Prozessoren das PAE-Flag unterstützen.
+                               </p>
+                       {% else %}
+                               <p>
+                                       This chart shows us which CPUs have got the PAE flag.
+                               </p>
+                       {% end %}
+                       {% module StasyTable(cpus_pae, sortby="percentage") %}
+               </div>
+       </div>
+
+       <div class="row">
+               <div class="span12">
+                       <h2>{{ _("CPUs that support virtualization") }}</h2>
+                       {% if lang == "de" %}
+                               <p>
+                                       Für zukünftige Planungen ist es nötig zu wissen, ob genug
+                                       Hardware mit Virtualisierungsunterstützung vorhanden ist
+                                       (Intels VT-x and AMD-V).
+                               </p>
+                       {% else %}
+                               <p>
+                                       For future planning it is important to know if there is enough hardware
+                                       support for virtualization like VT-x and AMD-V.
+                               </p>
+                       {% end %}
+                       {% module StasyTable(cpus_virt, sortby="percentage") %}
+               </div>
+       </div>
+{% end block %}
diff --git a/templates/fireinfo/stats-cpus.html b/templates/fireinfo/stats-cpus.html
new file mode 100644 (file)
index 0000000..b637767
--- /dev/null
@@ -0,0 +1,55 @@
+{% extends "base.html" %}
+
+{% block title %}{{ _("Processors") }}{% end block %}
+
+{% block body %}
+       <div class="page-header">
+               <h1>{{ _("Hardware: CPUs") }}</h1>
+       </div>
+
+       <div class="row">
+               <div class="span12">
+                       <a href="/stats/cpuflags">{{ _("See statistics about common CPU flags") }}</a>
+                       <hr>
+               </div>
+       </div>
+
+       <div class="row">
+               <div class="span12">
+                       <h2>{{ _("Vendors") }}</h2>
+                       {% if lang == "de" %}
+                               <p>
+                                       Eine Aufstellung über den beliebtesten Prozessor-Hersteller:
+                               </p>
+                       {% else %}
+                               <p>
+                                       This chart shows us which vendors is the most favorite for the CPUs
+                                       used in IPFire.
+                               </p>
+                       {% end %}
+                       {% module StasyTable(cpu_vendors, sortby="percentage") %}
+               </div>
+       </div>
+
+       <div class="row">
+               <div class="span12">
+                       <h2>{{ _("Speed") }}</h2>
+                       <p>
+                               {{ _("The average speed of all systems in the database is: <strong>%.2f MHz</strong>.") % average_speed }}
+                               <br>
+                               {{ _("All together, there are <strong>%s bogomips</strong> out there.") % locale.friendly_number(bogomips) }}
+                       </p>
+                       {% module StasyTable(cpu_speeds) %}
+               </div>
+       </div>
+
+       <div class="row">
+               <div class="span12">
+                       <h2>{{ _("CPU core counter") }}</h2>
+                       <p>
+                               {{ _("See a breakdown of the CPU cores that are installed on the IPFire systems.") }}
+                       </p>
+                       {% module StasyCPUCoreTable(cpu_cores) %}
+               </div>
+       </div>
+{% end block %}
diff --git a/templates/fireinfo/stats-geo.html b/templates/fireinfo/stats-geo.html
new file mode 100644 (file)
index 0000000..128d054
--- /dev/null
@@ -0,0 +1,43 @@
+{% extends "base.html" %}
+
+{% block title %}{{ _("Geo locations") }}{% end block %}
+
+{% block body %}
+       <div class="page-header">
+               <h1>{{ _("Geo locations") }}</h1>
+       </div>
+
+       <div class="row">
+               <div class="span12">
+                       {% if lang == "de" %}
+                               <p>
+                                       Dieses Diagramm zeigt in welchem Land IPFire am häufigsten
+                                       eingesetzt wird.
+                               </p>
+                       {% else %}
+                               <p>
+                                       This chart shows us in which country IPFire is running.
+                               </p>
+                       {% end %}
+                       {% module StasyGeoTable(geo_locations) %}
+               </div>
+       </div>
+
+       <div class="row">
+               <div class="span12">
+                       <h2>{{ _("Language selection") }}</h2>
+                       {% if lang == "de" %}
+                               <p>
+                                       Dies gibt einen Überblick über die Häufigkeit der ausgewählten
+                                       Sprachen.
+                               </p>
+                       {% else %}
+                               <p>
+                                       This will give a short overview about what languages are configured
+                                       on the IPFire webinterface.
+                               </p>
+                       {% end %}
+                       {% module StasyTable(languages, sortby="percentage", locale=True) %}
+               </div>
+       </div>
+{% end block %}
diff --git a/templates/fireinfo/stats-memory.html b/templates/fireinfo/stats-memory.html
new file mode 100644 (file)
index 0000000..1f600e5
--- /dev/null
@@ -0,0 +1,18 @@
+{% extends "base.html" %}
+
+{% block title %}{{ _("Memory") }}{% end block %}
+
+{% block body %}
+       <div class="page-header">
+               <h1>{{ _("Memory") }}</h1>
+       </div>
+
+       <div class="row">
+               <div class="span12">
+                       <p>
+                               {{ _("The average amount of memory of all systems in the database is: <strong>%.2f MB</strong>.") % average_memory }}
+                       </p>
+                       {% module StasyTable(memory) %}
+               </div>
+       </div>
+{% end block %}
diff --git a/templates/fireinfo/stats-network.html b/templates/fireinfo/stats-network.html
new file mode 100644 (file)
index 0000000..cb2abac
--- /dev/null
@@ -0,0 +1,25 @@
+{% extends "base.html" %}
+
+{% block title %}{{ _("Network") }}{% end block %}
+
+{% block body %}
+       <div class="page-header">
+               <h1>{{ _("Network configuration") }}</h1>
+       </div>
+
+       <div class="row">
+               <div class="span12">
+                       {% if lang == "de" %}
+                               <p>
+                                       Diese Grafik zeigt uns die beliebteste Netzwerkkonfiguration.
+                               </p>
+                       {% else %}
+                               <p>
+                                       This chart shows us which is the most favourite network configuration.
+                               </p>
+                       {% end %}
+                       {% module StasyTable(network_zones, sortby="percentage", percentage=True) %}
+               </div>
+       </div>
+{% end block %}
+
diff --git a/templates/fireinfo/stats-oses.html b/templates/fireinfo/stats-oses.html
new file mode 100644 (file)
index 0000000..da5961e
--- /dev/null
@@ -0,0 +1,39 @@
+{% extends "base.html" %}
+
+{% block title %}{{ _("Operating system") }}{% end block %}
+
+{% block body %}
+       <div class="page-header">
+               <h1>{{ _("Releases") }}</h1>
+       </div>
+
+       <div class="row">
+               <div class="span12">
+                       {% module StasyTable(releases, sortby="percentage") %}
+               </div>
+       </div>
+
+       <div class="row">
+               <div class="span12">
+                       <h2>{{ _("Architectures") }}</h2>
+                       {% module StasyTable(arches, sortby="percentage") %}
+               </div>
+       </div>
+
+       <div class="row">
+               <div class="span12">
+                       <h3>{{ _("Kernels") }}</h3>
+                       {% if lang == "de" %}
+                               <p>
+                                       Dies zeigt uns, welche Kernel am häufigsten verwendet werden.
+                               </p>
+                       {% else %}
+                               <p>
+                                       This chart gives an overview about what kernel the machines are
+                                       runnning.
+                               </p>
+                       {% end %}
+                       {% module StasyTable(kernels, sortby="percentage") %}
+               </div>
+       </div>
+{% end block %}
diff --git a/templates/fireinfo/stats-virtual.html b/templates/fireinfo/stats-virtual.html
new file mode 100644 (file)
index 0000000..da5bd3b
--- /dev/null
@@ -0,0 +1,48 @@
+{% extends "base.html" %}
+
+{% block title %}{{ _("Virtualization") }}{% end block %}
+
+{% block body %}
+       <div class="page-header">
+               <h1>{{ _("Virtualization support") }}</h1>
+       </div>
+
+       <div class="row">
+               <div class="span12">
+                       {% if lang == "de" %}
+                               <p>
+                                       IPFire läuft hervorragend in virtuellen Umgebungen.
+                               </p>
+                               <p>
+                                       Dieser Graph gibt Aufschluss darüber, wieviele Systeme
+                                       virtuell laufen.
+                               </p>
+                       {% else %}
+                               <p>
+                                       IPFire is running very well in a virtual environment.
+                               </p>
+                               <p>
+                                       See this chart to get a clue about how many machines are running
+                                       virtually.
+                               </p>
+                       {% end %}
+                       {% module StasyTable(is_virtual, sortby="percentage") %}
+               </div>
+       </div>
+
+       <div class="row">
+               <div class="span12">
+                       <h2>{{ _("Hypervisors") }}</h2>
+                       {% if lang == "de" %}
+                               <p>
+                                       Diese Systeme werden eingesetzt um IPFire zu virtualisieren:
+                               </p>
+                       {% else %}
+                               <p>
+                                       This is a list of all hypervisor vendors that IPFire is running on.
+                               </p>
+                       {% end %}
+                       {% module StasyTable(hypervisor_vendors, sortby="percentage") %}
+               </div>
+       </div>
+{% end block %}
diff --git a/templates/fireinfo/stats.html b/templates/fireinfo/stats.html
new file mode 100644 (file)
index 0000000..b13eab6
--- /dev/null
@@ -0,0 +1,145 @@
+{% extends "base.html" %}
+
+{% block title %}{{ _("Statistics") }}{% end block %}
+
+{% block body %}
+       <div class="page-header">
+               <h1>{{ _("fireinfo statistics") }}</h1>
+       </div>
+
+       <ul class="thumbnails">
+           <li class="span4">
+               <div class="thumbnail">
+                               <img src="{{ static_url("images/tux/ipfire_tux_256x256.png") }}" alt="">
+                               <div class="caption">
+                                       <h3>
+                                               <a href="/stats/oses">
+                                                       {{ _("IPFire versions") }}
+                                               </a>
+                                       </h3>
+                                       <p>
+                                               {% if lang == "de" %}
+                                                       Übersicht über die aktuell laufenden Versionen der
+                                                       IPFire Systeme.
+                                               {% else %}
+                                                       Get an overview over all currently running versions
+                                                       of IPFire.
+                                               {% end %}
+                                       </p>
+                               </div>
+                       </div>
+               </li>
+           <li class="span4">
+               <div class="thumbnail">
+                               <img src="{{ static_url("images/tux/ipfire_tux_256x256.png") }}" alt="">
+                               <div class="caption">
+                                       <h3>
+                                               <a href="/stats/geo">
+                                                       {{ _("Geo locations") }}
+                                               </a>
+                                       </h3>
+                                       <p>
+                                               {% if lang == "de" %}
+                                                       Zeigt eine Verteilung über die Länder, in
+                                                       denen IPFire-Systeme laufen.
+                                               {% else %}
+                                                       Shows a plot from all the countries in which
+                                                       IPFire systems are running.
+                                               {% end %}
+                                       </p>
+                               </div>
+                       </div>
+               </li>
+           <li class="span4">
+               <div class="thumbnail">
+                               <img src="{{ static_url("images/tux/ipfire_tux_256x256.png") }}" alt="">
+                               <div class="caption">
+                                       <h3>
+                                               <a href="/stats/cpus">
+                                                       {{ _("Hardware: CPUs") }}
+                                               </a>
+                                       </h3>
+                                       <p>
+                                               {% if lang == "de" %}
+                                                       Zeigt Informationen über die Prozessortypen,
+                                                       Hersteller und Geschwindigkeiten.
+                                               {% else %}
+                                                       Shows information about processor types, vendors
+                                                       and clock speeds.
+                                               {% end %}
+                                       </p>
+                                       <h4>
+                                               <a href="/stats/cpuflags">
+                                                       {{ _("CPU features") }}
+                                               </a>
+                                       </h4>
+                               </div>
+                       </div>
+               </li>
+           <li class="span4">
+               <div class="thumbnail">
+                               <img src="{{ static_url("images/tux/ipfire_tux_256x256.png") }}" alt="">
+                               <div class="caption">
+                                       <h3>
+                                               <a href="/stats/memory">
+                                                       {{ _("Hardware: Memory") }}
+                                               </a>
+                                       </h3>
+                                       <p>
+                                               {% if lang == "de" %}
+                                                       Zeigt Informationen über die durchschnittlich
+                                                       verbaute Menge an Arbeitsspeicher und mehr.
+                                               {% else %}
+                                                       Shows information about the average installed
+                                                       amount of RAM.
+                                               {% end %}
+                                       </p>
+                               </div>
+                       </div>
+               </li>
+           <li class="span4">
+               <div class="thumbnail">
+                               <img src="{{ static_url("images/tux/ipfire_tux_256x256.png") }}" alt="">
+                               <div class="caption">
+                                       <h3>
+                                               <a href="/stats/network">
+                                                       {{ _("Network") }}
+                                               </a>
+                                       </h3>
+                                       <p>
+                                               {% if lang == "de" %}
+                                                       Zeigt Grafiken über die beliebteste
+                                                       Netzwerkkonfiguration.
+                                               {% else %}
+                                                       Shows plots about the favourite network
+                                                       configurations.
+                                               {% end %}
+                                       </p>
+                               </div>
+                       </div>
+               </li>
+           <li class="span4">
+               <div class="thumbnail">
+                               <img src="{{ static_url("images/tux/ipfire_tux_256x256.png") }}" alt="">
+                               <div class="caption">
+                                       <h3>
+                                               <a href="/stats/virtual">
+                                                       {{ _("Virtualization") }}
+                                               </a>
+                                       </h3>
+                                       <p>
+                                               {% if lang == "de" %}
+                                                       Welcher Hypervisor wird am häufigsten eingesetzt?
+                                                       Wieviele Systeme laufen in einer virtuellen
+                                                       Umgebung?
+                                               {% else %}
+                                                       Which hypervisor is the most common one?
+                                                       How many systems are running in a virtual
+                                                       environment?
+                                               {% end %}
+                                       </p>
+                               </div>
+                       </div>
+               </li>
+    </ul>
+{% end block %}
diff --git a/templates/fireinfo/vendor-detail.html b/templates/fireinfo/vendor-detail.html
new file mode 100644 (file)
index 0000000..aaab95b
--- /dev/null
@@ -0,0 +1,26 @@
+{% extends "base.html" %}
+
+{% block title %}{{ vendor_name }}{% end block %}
+
+{% block body %}
+       <div class="page-header">
+               <h1>{{ vendor_name }}</h1>
+       </div>
+
+       <div class="row">
+               <div class="span12">
+                       {% if lang == "de" %}
+                               <p>
+                                       Dies ist eine Aufstellung über alle Geräte von
+                                       <strong>{{ vendor_name }}</strong> in der Datenbank.
+                       {% else %}
+                               <p>
+                                       This is a list of all devices this database knows about from
+                                       <strong>{{ vendor_name }}</strong>.
+                               </p>
+                       {% end %}
+
+                       {% module StasyDeviceTable(models) %}
+               </div>
+       </div>
+{% end block %}