diff --git a/public/js/client_waip.js b/public/js/client_waip.js index 30912a7..84aa5fc 100644 --- a/public/js/client_waip.js +++ b/public/js/client_waip.js @@ -489,14 +489,14 @@ setInterval(set_clock, 1000); // Uhrzeit verschieben $(document).ready(function () { - - setTimeout(function () { + // Position neu setzen var newq = makeNewPosition(); - $('.clock_y').css('top', newq[0]); - $('.clock_y').css('left', newq[1]); + $('.clock_y').css('top', newq[0]); + $('.clock_y').css('left', newq[1]); + // langsam verschieben animateDiv(); - }, 1000); + }, 500); }); // neue Random-Position fuer Uhrzeit ermitteln diff --git a/server/app_cfg.js b/server/app_cfg.js index 3f244e8..5db8692 100644 --- a/server/app_cfg.js +++ b/server/app_cfg.js @@ -25,6 +25,8 @@ app_cfg.public = { version: 'Version 1.2', map_tile: 'https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png', map_attribution: '© OpenStreetMap contributors' + // TODO: Link Impressium + // TODO: Link Datenschutzerklärung }; app_cfg.remote = { diff --git a/server/socket.js b/server/socket.js index 8696625..456c7e5 100755 --- a/server/socket.js +++ b/server/socket.js @@ -101,5 +101,10 @@ nsp_dbrd.on('connection', function (socket) { }); +// Socket.IO API + +// TODO: Schnittstelle zu weiterem Wachalarm-Web-Server um Einsätze und Rückmeldungen untereinander auszutauschen + + }; \ No newline at end of file diff --git a/server/sql_cfg.js b/server/sql_cfg.js index d2a467a..89de6f4 100644 --- a/server/sql_cfg.js +++ b/server/sql_cfg.js @@ -1,6 +1,7 @@ module.exports = function (fs, bcrypt, app_cfg) { // TODO: gegen better-sqlite3 ersetzen + // BUG: Zeit von UTC auf lokale Zeit anpassen // Datenbank einrichten const sqlite3 = require('sqlite3').verbose(); diff --git a/server/waip.js b/server/waip.js index 986a9b5..877cd9e 100755 --- a/server/waip.js +++ b/server/waip.js @@ -2,10 +2,12 @@ module.exports = function (io, sql, tw, async, app_cfg) { // Einsatzmeldung in Datenbank speichern function einsatz_speichern(einsatz_rohdaten) { + // TODO: Einsatzdaten auf Validität prüfen // Einsatzmeldung (JSON) speichern sql.db_einsatz_speichern(einsatz_rohdaten, function (waip_id) { sql.db_log('WAIP', 'DEBUG: Neuer Einsatz mit der ID ' + waip_id); - // nach dem Speichern anhand der waip_id die beteiligten Wachennummern zum Einsatz ermitteln + // nach dem Speichern anhand der waip_id die beteiligten Wachennummern zum Einsatz ermitteln + // FIXME: Einsatz nur verteilen, falls dieser nicht bereits so angezeigt wurde (Doppelalarmierung vermeiden) sql.db_get_einsatz_rooms(waip_id, function (socket_rooms) { if (socket_rooms) { socket_rooms.forEach(function (rooms) { @@ -303,13 +305,13 @@ module.exports = function (io, sql, tw, async, app_cfg) { }; }); // TODO: an Dashboard senden, das der Einsatz gelöscht wurde - // TODO: Rueckmeldung löschen, und vorher backup + // FIXME: Rueckmeldung löschen, und vorher backup // Einsatz löschen sql.db_log('WAIP', 'Einsatz ' + waip_id + ' wird gelöscht'); sql.db_einsatz_loeschen(waip_id); }; }); - // TODO: löschen alter Sounddaten nach alter (15min) und socket-id (nicht mehr verbunden) + // löschen alter Sounddaten nach alter (15min) und socket-id (nicht mehr verbunden) const fs = require('fs'); fs.readdirSync(process.cwd() + app_cfg.global.soundpath).forEach(file => { // nur die mp3s von alten clients loeschen diff --git a/views/admin/adm_show_clients.pug b/views/admin/adm_show_clients.pug index 7a1e2fe..38ab3a7 100644 --- a/views/admin/adm_show_clients.pug +++ b/views/admin/adm_show_clients.pug @@ -5,6 +5,10 @@ append head script(src='/js/datatables.min.js') script(src='/js/dataTables.bootstrap4.min.js') +// TODO: Seite mit aktiven Clients anpassen: +    - nicht zwingend als Tabelle, sondern eher als .col mit Buttons um Aktionen an Clients zu senden +    - einzelnen Client über Verwaltungsoberfläche neu laden lassen + block content main(role='main') .container diff --git a/views/includes/master_wachalarm.pug b/views/includes/master_wachalarm.pug index 8ad16ed..1540fb0 100644 --- a/views/includes/master_wachalarm.pug +++ b/views/includes/master_wachalarm.pug @@ -1,4 +1,6 @@ +// BUG: Darstellung in Safari-Mobil fehlerhaft (generell Mobil, ggf. extra Darstellung) #waiptableau.fullheight.row.no-gutters + // BUG: Buttons für Sounds werden fehlerhaft dargestellt .col-6.h-5.d-flex.align-items-center.py-1.text-muted.tf_singleline button#replay.btn.btn-outline-light.h-100.py-1 .ion-md-play-circle diff --git a/views/login.pug b/views/login.pug index 39b6a7f..8e66c94 100644 --- a/views/login.pug +++ b/views/login.pug @@ -1,5 +1,12 @@ extends layout +// TODO: - Login verbessern: +    - Login-Seite benötigt Fehlerrückmeldung (wie Nutzerverwaltung): falsches Kennwort, Nutzer nicht vorhanden etc. +    - Login/Logout protokollieren +    - fehlerhafte/doppelte Logins protokollieren  +    - prüfen ob es sinnvoll ist, bereits eingeloggte User nicht mehr zulassen (Session prüfen) +    - bei fehlendem Login zur Login-Seite weiterleiten und nach dem Login die zuvor besuchte Seite anzeigen + block content main(role='main') .container diff --git a/views/overviews/overview_dbrd.pug b/views/overviews/overview_dbrd.pug index 3281c6e..b3cb3dc 100755 --- a/views/overviews/overview_dbrd.pug +++ b/views/overviews/overview_dbrd.pug @@ -38,6 +38,7 @@ block content script(src='/js/leaflet.js') script. // TODO: internen Kartendienst nutzen + // TODO: Kartendienst-Credit anzeigen // var map_tile = !{JSON.stringify(public.map_tile).replace(/<\//g, '<\\/')} var data = !{JSON.stringify(dataSet).replace(/<\//g, '<\\/')} for (var i in data) { diff --git a/views/user/user_config.pug b/views/user/user_config.pug index aff29a6..fa2d5ec 100644 --- a/views/user/user_config.pug +++ b/views/user/user_config.pug @@ -22,4 +22,6 @@ block content if(i+1 == reset_counter) option(selected)= i+1 else - option= i+1 + option= i+1 + // TODO: anpassen der Durchsage je Benutzer, durch eigene Ersetzung und Reihenfolge + // TODO: Ausnahmen festlegen können, wann keine Musik abgespielt wird