diff --git a/server/auth.js b/server/auth.js index aabc567..90bcc24 100644 --- a/server/auth.js +++ b/server/auth.js @@ -123,17 +123,17 @@ module.exports = function(app, app_cfg, db, async, bcrypt, passport, io) { // if(err) if (row) { req.flash('errorMessage', "Es existiert bereits ein Benutzer mit diesem Namen!"); - res.redirect('/edit_users'); + res.redirect('/adm_edit_users'); } else { bcrypt.hash(req.body.password, app_cfg.global.saltRounds, function(err, hash) { db.run('INSERT INTO waip_users ( user, password, permissions, ip_address ) VALUES( ?, ?, ?, ? )', req.body.username, hash, req.body.permissions, req.body.ip, function(err) { // if(err) if (this.lastID) { req.flash('successMessage', "Neuer Benutzer wurde angelegt."); - res.redirect('/edit_users'); + res.redirect('/adm_edit_users'); } else { req.flash('errorMessage', "Da ist etwas schief gegangen..."); - res.redirect('/edit_users'); + res.redirect('/adm_edit_users'); } }); }); @@ -144,14 +144,14 @@ module.exports = function(app, app_cfg, db, async, bcrypt, passport, io) { function deleteUser(req, res) { if (req.user.id == req.body.id) { req.flash('errorMessage', "Sie können sich nicht selbst löschen!"); - res.redirect('/edit_users'); + res.redirect('/adm_edit_users'); } else { db.run('DELETE FROM waip_users WHERE id = ?', req.body.id, function(err) { if (err) { //... } else { req.flash('successMessage', "Benutzer \'" + req.body.username + "\' wurde gelöscht!"); - res.redirect('/edit_users'); + res.redirect('/adm_edit_users'); } }); }; @@ -195,15 +195,15 @@ module.exports = function(app, app_cfg, db, async, bcrypt, passport, io) { //... console.log(err); req.flash('errorMessage', "Da ist etwas schief gegangen..."); - res.redirect('/edit_users'); + res.redirect('/adm_edit_users'); } else { req.flash('successMessage', "Benutzer aktualisiert."); - res.redirect('/edit_users'); + res.redirect('/adm_edit_users'); } }); } else { req.flash('errorMessage', "Da ist etwas schief gegangen..."); - res.redirect('/edit_users'); + res.redirect('/adm_edit_users'); } }); }; diff --git a/server/routing.js b/server/routing.js index 73b1190..5e2bda2 100755 --- a/server/routing.js +++ b/server/routing.js @@ -170,13 +170,31 @@ module.exports = function(app, sql, uuidv4, app_cfg, passport, auth, waip, udp) var waip_uuid = req.params.waip_uuid; sql.db_get_einsatzdaten_by_uuid(waip_uuid, function(einsatzdaten) { if (einsatzdaten) { - res.render('rmld', { - public: app_cfg.public, - title: 'Einsatz-Rückmeldung', - user: req.user, - einsatzdaten: einsatzdaten, - error: req.flash("errorMessage"), - success: req.flash("successMessage") + + + + sql.db_check_permission(req.user, einsatzdaten.id, function(valid) { + //console.log(permissions + ' ' + wachen_nr); + //if (permissions == wachen_nr || permissions == 'admin') {} else { + if (!valid) { + //einsatzdaten.objekt = ''; + einsatzdaten.besonderheiten = 'nicht angemeldet'; + //einsatzdaten.strasse = ''; + //einsatzdaten.wgs84_x = einsatzdaten.wgs84_x.substring(0, einsatzdaten.wgs84_x.indexOf('.') + 3); + //einsatzdaten.wgs84_y = einsatzdaten.wgs84_y.substring(0, einsatzdaten.wgs84_y.indexOf('.') + 3); + }; + + + + + res.render('rmld', { + public: app_cfg.public, + title: 'Einsatz-Rückmeldung', + user: req.user, + einsatzdaten: einsatzdaten, + error: req.flash("errorMessage"), + success: req.flash("successMessage") + }); }); } else { var err = new Error('Der angefragte Einsatz ist nicht - oder nicht mehr - vorhanden!'); diff --git a/server/sql_qry.js b/server/sql_qry.js index bb2833e..c53bf34 100755 --- a/server/sql_qry.js +++ b/server/sql_qry.js @@ -492,11 +492,9 @@ module.exports = function(db, uuidv4, app_cfg) { }); }; - function db_check_permission(permissions, waip_id, callback) { - if (permissions === undefined) { - callback && callback(false); - } else { - if (permissions == 'admin') { + function db_check_permission(user, waip_id, callback) { + if (user && user.permissions) { + if (user.permissions == 'admin') { callback && callback(true); } else { //permissions -> 52,62,6690,.... @@ -504,7 +502,7 @@ module.exports = function(db, uuidv4, app_cfg) { left join waip_wachen wa on wa.id = em.waip_wachen_ID where waip_einsaetze_ID = ?`, [waip_id], function(err, row) { if (err == null && row) { - var permission_arr = permissions.split(","); + var permission_arr = user.permissions.split(","); var wachen_arr = row.wache.split(","); const found = permission_arr.some(r => row.wache.search(RegExp(',' + r + '|\\b' + r)) >= 0); if (found) { @@ -517,6 +515,8 @@ module.exports = function(db, uuidv4, app_cfg) { }; }); }; + } else { + callback && callback(false); }; }; diff --git a/server/waip.js b/server/waip.js index 2cc2b69..d158035 100755 --- a/server/waip.js +++ b/server/waip.js @@ -36,8 +36,8 @@ module.exports = function(io, sql, async, app_cfg) { sql.db_get_einsatzdaten(waip_id, wachen_nr, io.sockets.sockets[socket_id].request.user.id, function(einsatzdaten) { if (einsatzdaten) { // Berechtigung ueberpruefen - var permissions = io.sockets.sockets[socket_id].request.user.permissions; - sql.db_check_permission(permissions, waip_id, function(valid) { + var user = io.sockets.sockets[socket_id].request.user; + sql.db_check_permission(user, waip_id, function(valid) { //console.log(permissions + ' ' + wachen_nr); //if (permissions == wachen_nr || permissions == 'admin') {} else { if (!valid) {