Server-Bibliothek
2026-07-23 481bb2176b1ec8beef72995b1c462c81810ae2c8
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
{% extends "base.html" %}
{% block title %}Rechner einrichten – Server-Bibliothek{% endblock %}
{% block content %}
 
<div class="page-head">
  <div>
    <p class="eyebrow">Verteilung</p>
    <h1>Rechner einrichten</h1>
  </div>
</div>
 
<div class="panel" style="margin-bottom:18px;">
  <p style="margin:0 0 8px; font-size:13.5px;">
    Häkchen bei den benötigten Tools setzen, Mitarbeiter eintragen und
    herunterladen. Auf dem <strong>neuen Rechner</strong> das ZIP entpacken
    und <code>Rechner-einrichten-starten.bat</code> doppelklicken. Alles landet
    dabei gesammelt unter <code>C:\ClientBibliothek</code> – dafür wird
    automatisch eine Windows-Defender-Ausnahme für genau diesen einen Ordner
    eingetragen. Tools mit Installer-Datei werden still installiert
    (<code>\downloads</code>, danach automatisch aufgeräumt). Tools ohne
    Installer ("als ZIP bereitgestellt", z. B. portable Tools) landen
    unangetastet als ZIP in <code>\pakete</code> – die entpackt ihr bewusst
    von Hand an den gewünschten Zielort. Anschließend trägt das Skript selbst
    ein Protokoll ein (zentral auf dem Server und lokal unter
    <code>\protokoll.log</code>).
  </p>
</div>
 
{% if not installierbar %}
  <div class="empty-state">
    Kein Tool im Katalog hat aktuell eine verfügbare Installer-Datei.
    <a href="{{ url_for('software_neu') }}">Erst ein Tool anlegen</a> oder
    eine automatische Aktualisierung einmal ausführen.
  </div>
{% else %}
<form method="post" class="form-grid">
  <div class="field">
    <label for="mitarbeiter">Mitarbeiter *</label>
    <input type="text" id="mitarbeiter" name="mitarbeiter" required placeholder="z. B. Max Mustermann">
    <div class="hint">Der Rechnername wird vom Skript automatisch erkannt (nicht nötig, hier einzutragen).</div>
  </div>
 
  <div class="field">
    <label>Software (mehrere möglich) *</label>
    <label class="checklist-kopf">
      <input type="checkbox" id="alle_auswaehlen" onchange="alleUmschalten(this)"> Alle auswählen
    </label>
    <div class="checklist">
      {% for kategorie, gruppe in installierbar | groupby("kategorie") %}
      <div class="checklist-gruppe">
        <div class="checklist-gruppen-titel">{{ kategorie }}</div>
        {% for sw in gruppe %}
        <label class="check-item">
          <input type="checkbox" name="software_ids" value="{{ sw.id }}" class="sw-checkbox">
          {{ sw.name }}{% if sw.version %} <span class="v">v{{ sw.version }}</span>{% endif %}
          {% if sw.typ == "ordner" %}<span class="v">(als ZIP bereitgestellt, kein Auto-Entpacken)</span>{% endif %}
        </label>
        {% endfor %}
      </div>
      {% endfor %}
    </div>
  </div>
 
  <div class="form-actions">
    <button type="submit" class="btn">Installations-Paket herunterladen</button>
    <a href="{{ url_for('dashboard') }}" class="btn btn-secondary">Abbrechen</a>
  </div>
</form>
 
{% if nicht_installierbar %}
<div class="hint" style="margin-top:18px;">
  Nicht wählbar (keine automatisch verwaltete Installer-Datei vorhanden):
  {{ nicht_installierbar | join(", ") }}
</div>
{% endif %}
 
<script>
  function alleUmschalten(quelle) {
    document.querySelectorAll(".sw-checkbox").forEach(function (cb) {
      cb.checked = quelle.checked;
    });
  }
</script>
{% endif %}
 
{% endblock %}