diff --git a/emails/registration_sip/enUs/html.pug b/emails/registration_sip/enUs/html.pug
new file mode 100755
index 0000000..5dd333b
--- /dev/null
+++ b/emails/registration_sip/enUs/html.pug
@@ -0,0 +1,38 @@
+p Welcome #{name} to the portal #{nomeapp}!
+p Your access data to remember are:
+span Username:
+ strong #{username}
+span Forgot your Password? :
+ strong Find it here
+span Email:
+ strong #{emailto}
+p To confirm the registration click on the button, or click here #{strlinkreg}:
+div.divbtn
+ button.btn.btn-lg Verify Registration
+
+
+p You could enter to the site and Login.
+
+
+style(type="text/css").
+ html, body {
+ padding: 0;
+ margin: 0;
+ }
+
+ .divbtn {
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ }
+
+ .btn-lg {
+ padding: 5px;
+ margin: 5px;
+ font-size: 26px;
+ cursor: pointer;
+ color: white;
+ background: #027be3 !important;
+ border-radius: 28px;
+
+ }
diff --git a/emails/registration_sip/enUs/subject.pug b/emails/registration_sip/enUs/subject.pug
new file mode 100755
index 0000000..b65f1d4
--- /dev/null
+++ b/emails/registration_sip/enUs/subject.pug
@@ -0,0 +1 @@
+=`Confirm Registration to ${nomeapp}`
diff --git a/emails/registration_sip/esEs/html.pug b/emails/registration_sip/esEs/html.pug
new file mode 100755
index 0000000..2ef9213
--- /dev/null
+++ b/emails/registration_sip/esEs/html.pug
@@ -0,0 +1,37 @@
+p ¡Bienvenido #{name} al portal #{nomeapp}!
+p Sus datos de acceso a recordar son:
+Nombre Usuario:
+ strong #{username}
+span ¿Olvidaste tu contraseña? :
+ strong Encuéntrelo aquí
+span Email:
+ strong #{emailto}
+p Para confirmar el registro haz clic en el botón:
+div.divbtn
+ button.btn.btn-lg Verificar registro
+
+p Así puedes entrar al sitio e iniciar la sesión.
+
+
+style(type="text/css").
+ html, body {
+ padding: 0;
+ margin: 0;
+ }
+
+ .divbtn {
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ }
+
+ .btn-lg {
+ padding: 5px;
+ margin: 5px;
+ font-size: 26px;
+ cursor: pointer;
+ color: white;
+ background: #027be3 !important;
+ border-radius: 28px;
+
+ }
diff --git a/emails/registration_sip/esEs/subject.pug b/emails/registration_sip/esEs/subject.pug
new file mode 100755
index 0000000..0249b3d
--- /dev/null
+++ b/emails/registration_sip/esEs/subject.pug
@@ -0,0 +1 @@
+=`Confirmar registro a ${nomeapp}`
diff --git a/emails/registration_sip/it/html.pug b/emails/registration_sip/it/html.pug
new file mode 100755
index 0000000..c170004
--- /dev/null
+++ b/emails/registration_sip/it/html.pug
@@ -0,0 +1,37 @@
+p Benvenuto #{name} nel portale di #{nomeapp}!
+p I tuoi dati di accesso da ricordare sono:
+span Username:
+ strong #{username}
+span hai dimenticato la Password? :
+ strong Trovala qui
+span Email:
+ strong #{emailto}
+p Per confermare la registrazione clicca sul bottone, oppure qui: #{strlinkreg}:
+div.divbtn
+ button.btn.btn-lg Verifica Registrazione
+
+p Potrai cosi' accedere al sito digitando i tuoi dati di accesso.
+
+
+style(type="text/css").
+ html, body {
+ padding: 0;
+ margin: 0;
+ }
+
+ .divbtn {
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ }
+
+ .btn-lg {
+ padding: 5px;
+ margin: 5px;
+ font-size: 26px;
+ cursor: pointer;
+ color: white;
+ background: #027be3 !important;
+ border-radius: 28px;
+
+ }
diff --git a/emails/registration_sip/it/subject.pug b/emails/registration_sip/it/subject.pug
new file mode 100755
index 0000000..19c2e8a
--- /dev/null
+++ b/emails/registration_sip/it/subject.pug
@@ -0,0 +1 @@
+=`Confermare la Registrazione a ${nomeapp}`
diff --git a/src/server/config/config.js b/src/server/config/config.js
index 52ce048..30b5c82 100755
--- a/src/server/config/config.js
+++ b/src/server/config/config.js
@@ -132,6 +132,22 @@ if (process.env.NODE_ENV === 'production') {
pathreg_add:'',
abilitanave: false,
},
+ {
+ idapp: '9',
+ name: 'SalviamoIlPianeta',
+ adminemail: 'noisalviamoilpianeta@gmail.com',
+ manageremail: '',
+ replyTo: '',
+ host: 'https://salviamoilpianeta.app',
+ portapp: '0',
+ dir: '/var/www/salviamoilpianeta.app',
+ email_from: 'noisalviamoilpianeta@gmail.com',
+ email_pwd: '',
+ telegram_key:'1202788747:AAErwzIsD7k-3Yj5AX6ci3p7ELMuyASq4vA',
+ telegram_bot_name: 'SalviamoIlPianeta_bot',
+ pathreg_add:'_sip',
+ abilitanave: false,
+ },
];
} else if (process.env.NODE_ENV === 'test') {
// ---------------- AMBIENTE DI TEST --------------------
@@ -244,6 +260,22 @@ if (process.env.NODE_ENV === 'production') {
pathreg_add:'',
abilitanave: false,
},
+ {
+ idapp: '9',
+ name: 'SalviamoIlPianeta (Server Test)',
+ adminemail: 'noisalviamoilpianeta@gmail.com',
+ manageremail: '',
+ replyTo: '',
+ host: 'https://test.salviamoilpianeta.app',
+ portapp: '0',
+ dir: '/var/www/test.salviamoilpianeta.app',
+ email_from: 'info.pianetalibero@gmail.com',
+ email_pwd: '2df135e2b6c02b2c68ec6bf6b103751fcb4dfc48c57d0acb302482358ee8141fmaDuooPabDvlThiBI2XMyA==',
+ telegram_key:'1049833543:AAE1RhGUJVdm0N_vrj0ijHZ04GCkKjl8TuQ',
+ telegram_bot_name: 'TestSalviamoIlPianeta_bot',
+ pathreg_add:'_sip',
+ abilitanave: false,
+ },
];
} else {
// ---------------- AMBIENTE IN L O C A L E --------------------
@@ -354,6 +386,21 @@ if (process.env.NODE_ENV === 'production') {
pathreg_add:'',
abilitanave: false,
},
+ {
+ idapp: '9',
+ name: 'SalviamoIlPianeta',
+ adminemail: 'paolo.arena77@gmail.com',
+ manageremail: '',
+ host: 'http://localhost',
+ portapp: '8087',
+ dir: '',
+ email_from: 'info.pianetalibero@gmail.com',
+ email_pwd: '66ffeb915e71fada64ad5c26947dd087c262be3b343734a0447c6dee534b888aZcfbjXEuMBWKxvbh60cniw==',
+ telegram_bot_name: 'paotestlocalebot',
+ telegram_key:'353996190:AAEcEbfrm_zTK6mBKf8ye9j-PXt958SDxew',
+ pathreg_add:'_sip',
+ abilitanave: false,
+ },
];
}
diff --git a/src/server/models/user.js b/src/server/models/user.js
index da357f0..2644881 100755
--- a/src/server/models/user.js
+++ b/src/server/models/user.js
@@ -790,7 +790,6 @@ UserSchema.statics.getLangByIndOrder = async function (idapp, ind_order) {
};
-
UserSchema.statics.SetLang = async function (idapp, id, lang) {
const User = this;
@@ -969,15 +968,15 @@ UserSchema.statics.getUsersListByParams = function (params) {
*/
UserSchema.statics.getFieldsForSearch = function () {
- return [{field: 'username', type: tools.FieldType.string},
- {field: 'name', type: tools.FieldType.string },
- {field: 'ind_order', type: tools.FieldType.number },
- {field: 'surname', type: tools.FieldType.string },
- {field: 'email', type: tools.FieldType.string },
- {field: 'profile.cell', type: tools.FieldType.string},
- {field: 'profile.email_paypal', type: tools.FieldType.string},
- {field: 'profile.username_telegram', type: tools.FieldType.string},
- {field: 'aportador_solidario', type: tools.FieldType.string}]
+ return [{ field: 'username', type: tools.FieldType.string },
+ { field: 'name', type: tools.FieldType.string },
+ { field: 'ind_order', type: tools.FieldType.number },
+ { field: 'surname', type: tools.FieldType.string },
+ { field: 'email', type: tools.FieldType.string },
+ { field: 'profile.cell', type: tools.FieldType.string },
+ { field: 'profile.email_paypal', type: tools.FieldType.string },
+ { field: 'profile.username_telegram', type: tools.FieldType.string },
+ { field: 'aportador_solidario', type: tools.FieldType.string }]
};
UserSchema.statics.executeQueryTable = function (idapp, params) {
@@ -1139,6 +1138,96 @@ UserSchema.statics.getUsersQualified = async function (idapp, numinvitati) {
};
+UserSchema.statics.visuUtentiNonInNavi = async function (idapp) {
+ const User = this;
+
+ const arrusers = await User.find({
+ idapp,
+ $or: [
+ {
+ 'profile.special_req': true
+ },
+ {
+ verified_email: true,
+ 'profile.teleg_id': { $gt: 0 },
+ 'profile.paymenttypes': { "$in": ['paypal'] },
+ 'profile.saw_and_accepted': shared_consts.ALL_SAW_AND_ACCEPTED,
+ 'profile.saw_zoom_presentation': true,
+ 'profile.my_dream': { $exists: true },
+ $and: [
+ { "$expr": { "$gt": [{ "$strLenCP": "$profile.my_dream" }, 10] } },
+ { "$expr": { "$gt": [{ "$strLenCP": "$profile.email_paypal" }, 6] } }
+ ],
+ }]
+
+ }, {
+ name: 1,
+ surname: 1,
+ username: 1,
+ ind_order: 1,
+ });
+
+
+ let num = 0;
+ let innave = 0;
+ let noninnave = 0;
+ let mystr = 'visuUtentiNonInNavi: ' + tools.ACAPO;
+ let reg = 0;
+ let num0inv = 0;
+ let num1inv = 0;
+ let num2inv = 0;
+ let numnoinlista = 0;
+
+ for (const user of arrusers) {
+ user.numinvitati = await User.getnumInvitati(idapp, user.username);
+ reg++;
+ let mianave = await Nave.findOne({ idapp, ind_order: user.ind_order });
+ let mialistaingresso = await ListaIngresso.findOne({ idapp, ind_order: user.ind_order });
+ let trovato = false;
+ if (!mianave) {
+ mystr += user.username + ' ' + user.name + ' ' + user.surname + ' [' + user.ind_order + '] [inv=' + user.numinvitati + ']'
+ noninnave++;
+ trovato = true;
+ } else {
+ innave++;
+ }
+
+ if (!mialistaingresso) {
+ mystr += ' NO IN LISTA INGRESSO!';
+ trovato = true;
+ numnoinlista++;
+ }
+
+ if (trovato)
+ mystr += tools.ACAPO;
+
+ if (user.numinvitati === 0) {
+ num0inv++;
+ }
+ if (user.numinvitati === 1) {
+ num1inv++;
+ }
+ if (user.numinvitati >= 2) {
+ num2inv++;
+ }
+ }
+
+
+ mystrstart = 'Registrati: ' + reg + tools.ACAPO;
+ mystrstart += '0 Invitati: ' + num0inv + tools.ACAPO;
+ mystrstart += '1 Invitato: ' + num1inv + tools.ACAPO;
+ mystrstart += '2 o più Invitati: ' + num2inv + tools.ACAPO;
+ mystrstart += 'Presente in Nave: ' + innave + tools.ACAPO;
+ mystrstart += 'Non in Nave: ' + noninnave + tools.ACAPO;
+ mystrstart += 'Non in Lista Imbarco: ' + numnoinlista + tools.ACAPO;
+
+ mystrstart += tools.ACAPO;
+
+ mystr = mystrstart + mystr;
+
+ return { num, mystr };
+};
+
UserSchema.statics.getNumUsersQualified = async function (idapp, numinvitati) {
arrrec = await this.getUsersQualified(idapp, numinvitati);
diff --git a/src/server/router/index_router.js b/src/server/router/index_router.js
index c218712..0c20fe8 100755
--- a/src/server/router/index_router.js
+++ b/src/server/router/index_router.js
@@ -370,7 +370,7 @@ router.patch('/chval', authenticate, async (req, res) => {
// tools.mylogshow('PATCH CHVAL: ', id, fieldsvalue);
// If I change my record...
- if ((!User.isAdmin(req.user.perm) && !User.isManager(req.user.perm)) && !(req.user._id.toString() === id) && !tools.ModificheConsentite(mydata.table, fieldsvalue)) {
+ if ((!User.isAdmin(req.user.perm) && !User.isManager(req.user.perm) && !User.isTutor(req.user.perm)) && !(req.user._id.toString() === id) && !tools.ModificheConsentite(mydata.table, fieldsvalue)) {
// If without permissions, exit
return res.status(404).send({ code: server_constants.RIS_CODE_ERR_UNAUTHORIZED, msg: '' });
}
diff --git a/src/server/router/notevole_router.js b/src/server/router/site_router.js
similarity index 100%
rename from src/server/router/notevole_router.js
rename to src/server/router/site_router.js
diff --git a/src/server/router/users_router.js b/src/server/router/users_router.js
index bcf9dcf..0d64b0f 100755
--- a/src/server/router/users_router.js
+++ b/src/server/router/users_router.js
@@ -420,6 +420,8 @@ router.post('/dbop', authenticate, async (req, res) => {
let ris = await User.DbOp(idapp, mydata);
+ let mystr = '';
+
try {
if (mydata.dbop === 'creaNavi') {
@@ -462,19 +464,21 @@ router.post('/dbop', authenticate, async (req, res) => {
ris = { num };
} else if (mydata.dbop === 'visuListaNave') {
- const mystr = await Nave.showListaOrd(idapp);
+ mystr = await Nave.showListaOrd(idapp);
ris = { mystr };
+ } else if (mydata.dbop === 'visuUtentiNonInNavi') {
+ ris = await User.visuUtentiNonInNavi(idapp);
} else if (mydata.dbop === 'pulisciNonPresenzeInNave') {
- const mystr = await Nave.pulisciNonPresenzeInNave(idapp);
+ mystr = await Nave.pulisciNonPresenzeInNave(idapp);
ris = { mystr };
} else if (mydata.dbop === 'checkInserimentiUtentiInNave') {
- const mystr = await Nave.checkIfDevoAggiungereInNave(idapp);
+ mystr = await Nave.checkIfDevoAggiungereInNave(idapp);
ris = { mystr };
} else if (mydata.dbop === 'visuListaIngresso') {
- const mystr = await ListaIngresso.showListaOrd(idapp, false);
+ mystr = await ListaIngresso.showListaOrd(idapp, false);
ris = { mystr };
} else if (mydata.dbop === 'visuListaIngressoNuovi') {
- const mystr = await ListaIngresso.showListaOrd(idapp, true);
+ mystr = await ListaIngresso.showListaOrd(idapp, true);
ris = { mystr };
} else if (mydata.dbop === 'visuNaviUtentiEliminati') {
ris = await Nave.visuNaviUtentiEliminati(idapp);
@@ -620,7 +624,7 @@ router.post('/dbop', authenticate, async (req, res) => {
ris = { placca };
} else if (mydata.dbop === 'visuNave') {
- const mystr = await Nave.getNavePos(idapp, parseInt(mydata.riga), parseInt(mydata.col));
+ mystr = await Nave.getNavePos(idapp, parseInt(mydata.riga), parseInt(mydata.col));
const visu_nave_Bot = await Settings.getValDbSettings(idapp, 'VISU_NAVE_BOT');
if (visu_nave_Bot)
diff --git a/src/server/server.js b/src/server/server.js
index f893282..b42707b 100755
--- a/src/server/server.js
+++ b/src/server/server.js
@@ -57,7 +57,7 @@ const todos_router = require('./router/todos_router');
const test_router = require('./router/test_router');
const projects_router = require('./router/projects_router');
const users_router = require('./router/users_router');
-const notevole_router = require('./router/notevole_router');
+const site_router = require('./router/site_router');
const admin_router = require('./router/admin_router');
const { MyEvent } = require('./models/myevent');
@@ -121,7 +121,7 @@ app.use('/todos', todos_router);
app.use('/test', test_router);
app.use('/projects', projects_router);
app.use('/users', users_router);
-app.use('/ayni', notevole_router);
+app.use('/site', site_router);
app.use('/admin', admin_router);
// catch 404 and forward to error handler
@@ -253,16 +253,18 @@ function testmsgwebpush() {
// console.log('nomeapp 1: ' , tools.getNomeAppByIdApp(1));
// console.log('nomeapp 2: ' , tools.getNomeAppByIdApp(2));
- User.findOne().then((user) => {
- if (user !== null) {
- tools.sendNotificationToUser(user._id, 'Titolo msg Test', 'Test Messaggio', '/', 'msg')
- .then(ris => {
- if (ris) {
+ User.find({ username: 'paoloar77' }).then((arrusers) => {
+ if (arrusers !== null) {
+ for (const user of arrusers) {
+ tools.sendNotificationToUser(user._id, 'Titolo msg Test', 'Test Messaggio', '/', 'msg')
+ .then(ris => {
+ if (ris) {
- } else {
- // already sent the error on calling sendNotificationToUser
- }
- })
+ } else {
+ // already sent the error on calling sendNotificationToUser
+ }
+ })
+ }
}
});
@@ -270,7 +272,7 @@ function testmsgwebpush() {
// Cron every X minutes
cron.schedule('*/2 * * * *', () => {
- console.log('Running Cron Job');
+ // console.log('Running Cron Job');
mycron();
});
diff --git a/src/server/telegram/telegrambot.js b/src/server/telegram/telegrambot.js
index 9a38623..9f2103a 100755
--- a/src/server/telegram/telegrambot.js
+++ b/src/server/telegram/telegrambot.js
@@ -1040,7 +1040,17 @@ class Telegram {
} catch (e) {
miomenu = Menu['it'][key];
}
- return (miomenu === menuselect);
+ let trovato = (miomenu === menuselect);
+ if (!trovato) {
+ try {
+ let miomenu2 = Menu['it'][key];
+ trovato = (miomenu2 === menuselect);
+ }catch (e) {
+
+ }
+ }
+
+ return trovato;
}
async isMenu(rec, msg) {
diff --git a/src/server/tools/general.js b/src/server/tools/general.js
index 5ff46a9..0ffbc8a 100755
--- a/src/server/tools/general.js
+++ b/src/server/tools/general.js
@@ -573,9 +573,12 @@ module.exports = {
return Subscription.find({ userId }, (err, subscriptions) => {
if (err) {
console.error(`Error occurred while getting subscriptions`);
- res.status(500).json({
- error: 'Technical error occurred'
- });
+ // res.status(500).json({
+ // error: 'Technical error occurred'
+ // });
+
+ //++ Rimuovi questo record !?
+
return false;
} else {
let conta = 0;