338 lines
5.2 KiB
HTML
338 lines
5.2 KiB
HTML
<!DOCTYPE html>
|
|
<html>
|
|
|
|
<head>
|
|
<meta charset="UTF-8">
|
|
<title>ResMan</title>
|
|
|
|
<link rel="stylesheet" href="css/style.css">
|
|
<link rel="icon" type="image/svg+xml" href="favicon.svg">
|
|
|
|
</head>
|
|
|
|
<body>
|
|
|
|
<h1>Ressourcen Verwaltung</h1>
|
|
|
|
<button class="btn-secondary" onclick="toggleDarkMode()">🌙 Dark Mode</button>
|
|
|
|
<div id="lastUpdate" style="margin-bottom:10px;color:#555;">
|
|
Letztes Update: -
|
|
</div>
|
|
|
|
<section>
|
|
|
|
<h2>Kosten Dashboard</h2>
|
|
|
|
<div id="costDashboard">
|
|
|
|
Server monatlich: <span id="costMonth">0</span> €<br>
|
|
Server jährlich: <span id="costYear">0</span> €<br>
|
|
Domains jährlich: <span id="costDomain">0</span> €<br>
|
|
|
|
<hr>
|
|
|
|
<b>Gesamt jährlich: <span id="costTotal">0</span> €</b>
|
|
|
|
</div>
|
|
|
|
</section>
|
|
|
|
|
|
<section>
|
|
|
|
<h2>Aktive Ressourcen</h2>
|
|
|
|
<button onclick="openCreate()">Neue Resource</button>
|
|
|
|
<table>
|
|
|
|
<thead>
|
|
<tr>
|
|
<th></th>
|
|
<th>Name</th>
|
|
<th>Produkt</th>
|
|
<th>Provider</th>
|
|
<th>Status</th>
|
|
<th>System</th>
|
|
<th>Domains</th>
|
|
<th>IPs</th>
|
|
<th>Aktionen</th>
|
|
</tr>
|
|
</thead>
|
|
|
|
<tbody id="resources"></tbody>
|
|
|
|
</table>
|
|
|
|
</section>
|
|
|
|
|
|
<section>
|
|
|
|
<h2>Infrastruktur Übersicht</h2>
|
|
|
|
<div id="infraView"></div>
|
|
|
|
</section>
|
|
|
|
|
|
<section>
|
|
|
|
<h2>Domains</h2>
|
|
|
|
<button onclick="openDomainCreate()">Neue Domain</button>
|
|
|
|
<table>
|
|
|
|
<thead>
|
|
<tr>
|
|
<th></th>
|
|
<th>Domain</th>
|
|
<th>Provider</th>
|
|
<th>IP</th>
|
|
<th>Server</th>
|
|
<th>DNS</th>
|
|
<th>Kosten/Jahr</th>
|
|
<th>Aktionen</th>
|
|
</tr>
|
|
</thead>
|
|
|
|
<tbody id="domains"></tbody>
|
|
|
|
</table>
|
|
|
|
</section>
|
|
|
|
|
|
<section>
|
|
|
|
<h2>Domain → Server Zuordnung</h2>
|
|
|
|
<table>
|
|
|
|
<thead>
|
|
<tr>
|
|
<th>Domain</th>
|
|
<th>IP</th>
|
|
<th>Server</th>
|
|
</tr>
|
|
</thead>
|
|
|
|
<tbody id="mapping"></tbody>
|
|
|
|
</table>
|
|
|
|
</section>
|
|
|
|
|
|
<section>
|
|
|
|
<h2>Gekündigte Resources</h2>
|
|
|
|
<table>
|
|
|
|
<thead>
|
|
<tr>
|
|
<th></th>
|
|
<th>Name</th>
|
|
<th>Produkt</th>
|
|
<th>Provider</th>
|
|
<th>CPU</th>
|
|
<th>RAM</th>
|
|
<th>Disk</th>
|
|
<th>Status</th>
|
|
</tr>
|
|
</thead>
|
|
|
|
<tbody id="cancelled"></tbody>
|
|
|
|
</table>
|
|
|
|
</section>
|
|
|
|
|
|
|
|
<div id="resourceModal" class="modal">
|
|
|
|
<h3 id="modalTitle">Resource</h3>
|
|
|
|
<input type="hidden" id="resource_id">
|
|
|
|
<label>Name</label>
|
|
<input id="name">
|
|
|
|
<label>Produkt</label>
|
|
<input id="produkt">
|
|
|
|
<label>Provider</label>
|
|
<input id="provider">
|
|
|
|
<label>Art</label>
|
|
<input id="art">
|
|
|
|
<label>CPU</label>
|
|
<input id="cpu">
|
|
|
|
<label>RAM</label>
|
|
<input id="ram">
|
|
|
|
<label>Disk</label>
|
|
<input id="disk">
|
|
|
|
<label>OS</label>
|
|
<input id="os">
|
|
|
|
<label>Kosten Monat</label>
|
|
<input id="kosten_monat" type="number" step="0.01">
|
|
|
|
<label>Kosten Jahr</label>
|
|
<input id="kosten_jahr" type="number" step="0.01">
|
|
|
|
<label>Providername</label>
|
|
<input id="providername">
|
|
|
|
<label>IPv6 Netz</label>
|
|
<input id="ipv6_net">
|
|
|
|
<label>Bestelldatum</label>
|
|
<input id="bestelldatum" type="date">
|
|
|
|
<label>Kündbar ab</label>
|
|
<input id="kuendbar_ab" type="date">
|
|
|
|
<label>Kündigungsdatum</label>
|
|
<input id="kuendigungsdatum" type="date">
|
|
|
|
<label>Status</label>
|
|
<select id="status">
|
|
<option value="aktiv">aktiv</option>
|
|
<option value="gekündigt">gekündigt</option>
|
|
</select>
|
|
|
|
<label>Bemerkung</label>
|
|
<textarea id="bemerkung"></textarea>
|
|
|
|
<br><br>
|
|
|
|
<button onclick="saveResource()">Speichern</button>
|
|
<button class="btn-secondary" onclick="closeModal()">Abbrechen</button>
|
|
|
|
</div>
|
|
|
|
|
|
<div id="ipModal" class="modal">
|
|
|
|
<h3>IP Verwaltung</h3>
|
|
|
|
<input type="hidden" id="ip_resource_id">
|
|
|
|
<div id="ipList"></div>
|
|
|
|
<hr>
|
|
|
|
<div id="ipForm">
|
|
<input id="new_ip" placeholder="IP">
|
|
<input id="new_type" placeholder="public / private">
|
|
<input id="new_comment" placeholder="Beschreibung">
|
|
|
|
|
|
<button id="ipSaveBtn" onclick="saveIP()">Add</button>
|
|
<button class="btn-secondary" id="ipCancelBtn" onclick="cancelIPEdit()" style="display:none">
|
|
Cancel
|
|
</button>
|
|
</div>
|
|
|
|
|
|
|
|
<br><br>
|
|
|
|
<button class="btn-secondary" onclick="closeIPModal()">Close</button>
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
<div id="domainModal" class="modal">
|
|
|
|
<h3 id="domainModalTitle">Domain</h3>
|
|
<div id="domainModalMeta" class="modal-meta"></div>
|
|
|
|
<input type="hidden" id="domain_id">
|
|
|
|
<label>Domain</label>
|
|
<input id="domain_name">
|
|
|
|
<label>Provider</label>
|
|
<input id="domain_provider">
|
|
|
|
<label>IP Adresse</label>
|
|
<input id="domain_ip">
|
|
|
|
<label>Jährliche Kosten</label>
|
|
<input id="domain_cost" type="number" step="0.01">
|
|
|
|
<label>Notizen</label>
|
|
<textarea id="domain_notes"></textarea>
|
|
|
|
<br><br>
|
|
|
|
<button id="domainSaveBtn" onclick="saveDomain()">Save</button>
|
|
<button class="btn-secondary" onclick="closeDomainModal()">Cancel</button>
|
|
|
|
</div>
|
|
|
|
<div id="serverDetailModal" class="modal">
|
|
|
|
<div class="modal-content">
|
|
|
|
<h3>Server Details</h3>
|
|
|
|
<div id="serverDetailContent"></div>
|
|
|
|
<br>
|
|
|
|
<button class="btn-secondary" onclick="closeServerDetail()">Schließen</button>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
|
|
<div id="subdomainModal" class="modal">
|
|
|
|
<h3>Subdomain erstellen</h3>
|
|
<div id="subdomainModalMeta" class="modal-meta"></div>
|
|
|
|
<input type="hidden" id="sub_domain_id">
|
|
<input type="hidden" id="sub_id">
|
|
|
|
<label>Subdomain</label>
|
|
<input id="sub_name">
|
|
|
|
<label>IP Adresse</label>
|
|
<input id="sub_ip">
|
|
|
|
<br><br>
|
|
|
|
<button id="subdomainSaveBtn" onclick="saveSubdomain()">Save</button>
|
|
<button class="btn-secondary" onclick="closeSubModal()">Cancel</button>
|
|
|
|
</div>
|
|
|
|
|
|
|
|
<script src="js/api.js"></script>
|
|
<script src="js/resources.js"></script>
|
|
<script src="js/domains.js"></script>
|
|
<script src="js/modals.js"></script>
|
|
<script src="js/infra.js"></script>
|
|
<script src="js/costs.js"></script>
|
|
<script src="js/main.js"></script>
|
|
|
|
|
|
|
|
</body>
|
|
</html>
|