diff --git a/src/server/models/user.js b/src/server/models/user.js index 8827c73..670556a 100755 --- a/src/server/models/user.js +++ b/src/server/models/user.js @@ -1681,7 +1681,7 @@ UserSchema.statics.ifAlreadyInGroup = async function(idapp, usernameOrig, groupn }; -UserSchema.statics.setGroupsCmd = async function(idapp, usernameOrig, groupnameDest, cmd, value) { +UserSchema.statics.setGroupsCmd = async function(idapp, usernameOrig, groupnameDest, cmd, value, username_action) { let ris = null; let update = {}; @@ -1709,7 +1709,7 @@ UserSchema.statics.setGroupsCmd = async function(idapp, usernameOrig, groupnameD } if (ris) { // Invia una notifica alla persona e agli Admin - tools.sendNotificationByGroupname(idapp, usernameOrig, groupnameDest, cmd, true); + tools.sendNotificationByGroupname(idapp, usernameOrig, groupnameDest, cmd, true, username_action); ris = await MyGroup.getInfoGroupByGroupname(idapp, groupnameDest); } } else if (cmd === shared_consts.GROUPSCMD.REQGROUP) { @@ -1737,7 +1737,7 @@ UserSchema.statics.setGroupsCmd = async function(idapp, usernameOrig, groupnameD } if (ris) { // Invia una notifica alla persona - tools.sendNotificationByGroupname(idapp, usernameOrig, groupnameDest, cmd, true); + tools.sendNotificationByGroupname(idapp, usernameOrig, groupnameDest, cmd, true, username_action); } } else { if (foundIfAlreadyAskGroup) { @@ -1772,7 +1772,7 @@ UserSchema.statics.setGroupsCmd = async function(idapp, usernameOrig, groupnameD }, }); //++Todo: Send Notification to Admin and Group's manager - tools.sendNotificationByGroupname(idapp, usernameOrig, groupnameDest, cmd, true); + tools.sendNotificationByGroupname(idapp, usernameOrig, groupnameDest, cmd, true, username_action); } } catch (e) { diff --git a/src/server/populate/goods.js b/src/server/populate/goods.js index da5065d..e422319 100644 --- a/src/server/populate/goods.js +++ b/src/server/populate/goods.js @@ -60,5 +60,7 @@ module.exports = { {_id: 58, idSectorGood: [17], descr: 'Cucito'}, {_id: 59, idSectorGood: [17], descr: 'Pulizia'}, {_id: 60, idSectorGood: [17], descr: 'Per Imbiancare'}, + {_id: 61, idSectorGood: [17], descr: 'Giardinaggio'}, + {_id: 62, idSectorGood: [17], descr: 'Falegnameria'}, ], }; diff --git a/src/server/router/index_router.js b/src/server/router/index_router.js index f956e0f..944a87c 100755 --- a/src/server/router/index_router.js +++ b/src/server/router/index_router.js @@ -223,6 +223,7 @@ router.post('/settable', authenticate, async (req, res) => { const fieldsvalue = {'ALL': 1}; mydata.idapp = req.user.idapp; + const idapp = mydata.idapp; let consentito = false; @@ -1385,6 +1386,11 @@ function uploadFile(req, res, version) { oldpath = file.path; file.path = newname; + if (!tools.sulServer()) { + res.end(); + return; + } + // Move in the folder application ! tools.move(oldpath, newname, (err) => { if (err) { diff --git a/src/server/router/mygroups_router.js b/src/server/router/mygroups_router.js index a08250f..1e95a6e 100755 --- a/src/server/router/mygroups_router.js +++ b/src/server/router/mygroups_router.js @@ -16,13 +16,25 @@ const _ = require('lodash'); const {ObjectID} = require('mongodb'); +async function getGroupRecAdminsInfo(idapp, data) { + + for (const admin of data.admins) { + const myuser = await User.findOne({idapp, username: admin.username}).lean(); + admin.profile = { img: myuser.profile.img }; + } + + return data; +} + router.post('/load', authenticate, async (req, res) => { const idapp = req.body.idapp; const groupname = req.body.groupname; try { const whatshow = MyGroup.getWhatToShow(idapp, req.user.username); - const data = await MyGroup.findOne({idapp, groupname}, whatshow).lean(); + let data = await MyGroup.findOne({idapp, groupname}, whatshow).lean(); + + data = await getGroupRecAdminsInfo(idapp, data); const whatshowUsers = await User.getWhatToShow_IfFriends(idapp, req.user.username); @@ -31,9 +43,9 @@ router.post('/load', authenticate, async (req, res) => { idapp, 'profile.mygroups': { $elemMatch: {groupname: {$eq: groupname}}, - } + }, }, - whatshowUsers + whatshowUsers, ); res.send({mygroup: data, users_in_group}); diff --git a/src/server/telegram/telegrambot.js b/src/server/telegram/telegrambot.js index 91e1868..a7e5816 100755 --- a/src/server/telegram/telegrambot.js +++ b/src/server/telegram/telegrambot.js @@ -3667,6 +3667,8 @@ if (true) { const rec = myclTelegram.getRecInMem(msg); + const username_action = rec.user ? rec.user.username : ''; + data.username = await User.getRealUsernameByUsername(idapp, data.username); data.userDest = await User.getRealUsernameByUsername(idapp, data.userDest); @@ -3748,7 +3750,7 @@ if (true) { if (!foundIfAlreadyGroup) { // Aggiungilo nel Gruppo - await User.setGroupsCmd(user.idapp, data.username, group.groupname, cmd); + await User.setGroupsCmd(user.idapp, data.username, group.groupname, cmd, 0, username_action); } } @@ -3760,7 +3762,7 @@ if (true) { if (foundIfAlreadyGroup) { // Rimuovilo nel Gruppo - await User.setGroupsCmd(user.idapp, data.username, group.groupname, cmd); + await User.setGroupsCmd(user.idapp, data.username, group.groupname, cmd, 0, username_action); } } diff --git a/src/server/tools/general.js b/src/server/tools/general.js index 22cd7de..b5ef2c9 100755 --- a/src/server/tools/general.js +++ b/src/server/tools/general.js @@ -123,8 +123,8 @@ const textlang = { 'MSG_SEND_FROM': 'Msg Inviato da', 'ZOOM_CONFERMATO': 'Sei stato confermato ad aver visto la Video Conferenza di Benvenuto!', 'RICHIESTA_AMICIZIA': '🌈 Richiesta d\'Amicizia da parte di %s', - 'ACCETTATO_SUL_GRUPPO': 'Sei stato accettato da %s a far parte del Gruppo %s', - 'ACCETTATO_NOTIFICA_ADMINS': 'l\'utente %s è stato accettato a far parte del Gruppo %s', + 'ACCETTATO_SUL_GRUPPO': '✅ Sei stato accettato da %s a far parte del Gruppo %s', + 'ACCETTATO_NOTIFICA_ADMINS': '✅ l\'utente %s è stato accettato a far parte del Gruppo %s (da parte di %s)', 'RICHIESTA_GRUPPO': 'Richiesta di entrare nel Gruppo %s da parte di %s', 'RICHIESTA_BLOCCO_GRUPPO': 'Richiesta di bloccare il Gruppo %s da parte di %s', }, @@ -194,7 +194,7 @@ const textlang = { 'ZOOM_CONFERMATO': '¡Se ha confirmado que ha visto la Video Conferencia de Bienvenida!', 'RICHIESTA_AMICIZIA': 'Richiesta d\'Amicizia da parte di %s', 'ACCETTATO_SUL_GRUPPO': 'Sei stato accettato da %s a far parte del Gruppo %s', - 'ACCETTATO_NOTIFICA_ADMINS': 'l\'utente %s è stato accettato a far parte del Gruppo %s', + 'ACCETTATO_NOTIFICA_ADMINS': 'l\'utente %s è stato accettato a far parte del Gruppo %s (da parte di %s)', 'RICHIESTA_GRUPPO': 'Richiesta di entrare nel Gruppo %s da parte di %s', 'RICHIESTA_BLOCCO_GRUPPO': 'Richiesta di bloccare il Gruppo %s da parte di %s', }, @@ -258,7 +258,7 @@ const textlang = { 'ZOOM_CONFERMATO': 'You have been confirmed to have seen the Welcome Video Conference!', 'RICHIESTA_AMICIZIA': 'Richiesta d\'Amicizia da parte di %s', 'ACCETTATO_SUL_GRUPPO': 'Sei stato accettato da %s a far parte del Gruppo %s', - 'ACCETTATO_NOTIFICA_ADMINS': 'l\'utente %s è stato accettato a far parte del Gruppo %s', + 'ACCETTATO_NOTIFICA_ADMINS': 'l\'utente %s è stato accettato a far parte del Gruppo %s (da parte di %s)', 'RICHIESTA_GRUPPO': 'Richiesta di entrare nel Gruppo %s da parte di %s', 'RICHIESTA_BLOCCO_GRUPPO': 'Richiesta di bloccare il Gruppo %s da parte di %s', }, @@ -327,7 +327,7 @@ const textlang = { 'ZOOM_CONFERMATO': 'Vous avez été confirmé comme ayant vu la vidéoconférence de bienvenue !', 'RICHIESTA_AMICIZIA': 'Richiesta d\'Amicizia da parte di %s', 'ACCETTATO_SUL_GRUPPO': 'Sei stato accettato da %s a far parte del Gruppo %s', - 'ACCETTATO_NOTIFICA_ADMINS': 'l\'utente %s è stato accettato a far parte del Gruppo %s', + 'ACCETTATO_NOTIFICA_ADMINS': 'l\'utente %s è stato accettato a far parte del Gruppo %s (da parte di %s)', 'RICHIESTA_GRUPPO': 'Richiesta di entrare nel Gruppo %s da parte di %s', 'RICHIESTA_BLOCCO_GRUPPO': 'Richiesta di bloccare il Gruppo %s da parte di %s', }, @@ -394,7 +394,7 @@ const textlang = { 'ZOOM_CONFERMATO': 'Foi-lhe confirmado que assistiu à Conferência de Vídeo de Boas-vindas!', 'RICHIESTA_AMICIZIA': 'Richiesta d\'Amicizia da parte di %s', 'ACCETTATO_SUL_GRUPPO': 'Sei stato accettato da %s a far parte del Gruppo %s', - 'ACCETTATO_NOTIFICA_ADMINS': 'l\'utente %s è stato accettato a far parte del Gruppo %s', + 'ACCETTATO_NOTIFICA_ADMINS': 'l\'utente %s è stato accettato a far parte del Gruppo %s (da parte di %s)', 'RICHIESTA_GRUPPO': 'Richiesta di entrare nel Gruppo %s da parte di %s', 'RICHIESTA_BLOCCO_GRUPPO': 'Richiesta di bloccare il Gruppo %s da parte di %s', }, @@ -897,7 +897,7 @@ module.exports = { } }, - sendNotificationByGroupname: async function(idapp, usernameOrig, groupname, cmd, telegram) { + sendNotificationByGroupname: async function(idapp, usernameOrig, groupname, cmd, telegram, username_action) { var {User} = require('../models/user'); var {MyGroup} = require('../models/mygroup'); @@ -939,7 +939,7 @@ module.exports = { if (cmd) { if (cmd === shared_consts.GROUPSCMD.SETGROUP) { - objmsg.descr = printf(this.get__('ACCETTATO_NOTIFICA_ADMINS', lang), singleadmin.username, groupname); + objmsg.descr = printf(this.get__('ACCETTATO_NOTIFICA_ADMINS', lang), usernameOrig, groupname, username_action); objmsg.openUrl = '/grp/' + groupname; objmsg.tag = 'addgroups'; @@ -974,7 +974,7 @@ module.exports = { if (cmd === shared_consts.GROUPSCMD.SETGROUP) { const reclang = await User.getRecLangAndIdByUsername(idapp, usernameOrig); - objmsg.descr = printf(this.get__('ACCETTATO_SUL_GRUPPO', reclang.lang), usernameOrig, groupname); + objmsg.descr = printf(this.get__('ACCETTATO_SUL_GRUPPO', reclang.lang), username_action, groupname); objmsg.openUrl = '/grp/' + groupname; objmsg.tag = 'addgroups';