Yhdistä Sijainnit ja Laitetilat samaksi konseptiksi

Sijainnit (sites) ja Laitetilat olivat käytännössä sama asia.
Nyt kaikki hallitaan Laitetilat-välilehdeltä:
- DB-migraatio kopioi vanhat sites → laitetilat (sama ID säilyy)
- Laitteiden site_id päivitetty automaattisesti laitetila_id:ksi
- IPAM JOINaa nyt laitetilat-taulua sites:n sijaan
- Sijainnit sub-tab poistettu Tekniikasta
- Laiteformissa yksi "Sijainti / Laitetila" dropdown
- Sites API-endpointit poistettu (sites palauttaa laitetilat)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-03-12 00:54:03 +02:00
parent 13feb31304
commit 8e9fa76f9c
4 changed files with 45 additions and 211 deletions

View File

@@ -203,7 +203,6 @@
<div class="tab-content" id="tab-content-tekniikka">
<div class="sub-tab-bar">
<button class="sub-tab active" data-subtab="devices">Laitteet</button>
<button class="sub-tab" data-subtab="sites">Sijainnit</button>
<button class="sub-tab" data-subtab="ipam">IPAM</button>
</div>
@@ -241,35 +240,6 @@
</div>
</div>
<!-- Sub-tab: Sijainnit -->
<div class="sub-tab-content" id="subtab-sites">
<div class="main-container">
<div class="search-bar" style="display:flex;gap:0.5rem;align-items:center;">
<input type="text" id="site-search-input" placeholder="Hae sijainteja..." style="flex:1;">
</div>
<div class="table-card">
<table id="site-table">
<thead>
<tr>
<th>Nimi</th>
<th>Osoite</th>
<th>Kaupunki</th>
<th>Laitteita</th>
<th>Toiminnot</th>
</tr>
</thead>
<tbody id="site-tbody"></tbody>
</table>
<div id="no-sites-tab" class="empty-state" style="display:none;">
<p>Ei sijainteja vielä. Lisää ensimmäinen sijainti.</p>
</div>
</div>
<div class="summary-bar">
<span id="site-count">0 sijaintia</span>
</div>
</div>
</div>
<!-- Sub-tab: IPAM -->
<div class="sub-tab-content" id="subtab-ipam">
<div class="main-container">
@@ -1763,15 +1733,9 @@
<input type="text" id="device-form-serial">
</div>
<div class="form-group">
<label for="device-form-site">Sijainti</label>
<select id="device-form-site">
<option value="">— Ei sijaintia —</option>
</select>
</div>
<div class="form-group">
<label for="device-form-laitetila">Laitetila</label>
<label for="device-form-laitetila">Sijainti / Laitetila</label>
<select id="device-form-laitetila">
<option value="">— Ei laitetilaa —</option>
<option value="">— Ei sijaintia —</option>
</select>
</div>
<div class="form-group">
@@ -1860,7 +1824,7 @@
<input type="text" id="ipam-form-nimi" placeholder="esim. Asiakasverkko">
</div>
<div class="form-group">
<label for="ipam-form-site">Sijainti</label>
<label for="ipam-form-site">Sijainti / Laitetila</label>
<select id="ipam-form-site">
<option value="">— Ei sijaintia —</option>
</select>