From b2696d18985d2c551bfe374a4f61f162742e4367 Mon Sep 17 00:00:00 2001 From: Paolo Arena Date: Sat, 21 Mar 2020 10:28:26 +0100 Subject: [PATCH] Lista Doni Navi --- .directory | 0 .gitignore | 0 css/basic.css | 0 css/one/styles.css | 0 docs/email.md | 0 ecosystem.config.js | 0 emails/admin/added_to_newsletter/it/html.pug | 0 .../admin/added_to_newsletter/it/subject.pug | 0 emails/admin/cancelbooking/it/html.pug | 0 emails/admin/cancelbooking/it/subject.pug | 0 emails/admin/makebooking/it/html.pug | 0 emails/admin/makebooking/it/subject.pug | 0 emails/admin/modifybooking/it/html.pug | 0 emails/admin/modifybooking/it/subject.pug | 0 emails/admin/registration/enUs/html.pug | 0 emails/admin/registration/enUs/subject.pug | 0 emails/admin/registration/es/html.pug | 0 emails/admin/registration/es/subject.pug | 0 emails/admin/registration/it/html.pug | 0 emails/admin/registration/it/subject.pug | 0 emails/admin/registration/it/text.pug | 0 emails/booking/cancelbooking/it/html.pug | 0 emails/booking/cancelbooking/it/subject.pug | 0 emails/booking/makebooking/it/html.pug | 0 emails/booking/makebooking/it/subject.pug | 0 emails/booking/modifybooking/it/html.pug | 0 emails/booking/modifybooking/it/subject.pug | 0 emails/msg/sendmsg/it/html.pug | 0 emails/msg/sendmsg/it/subject.pug | 0 emails/msg/sendmsgchat/it/html.pug | 0 emails/msg/sendmsgchat/it/subject.pug | 0 emails/newsletter/it/html.pug | 0 emails/newsletter/it/subject.pug | 0 emails/one/one.template.pug | 0 emails/registration/enUs/html.pug | 0 emails/registration/enUs/subject.pug | 0 emails/registration/esEs/html.pug | 0 emails/registration/esEs/subject.pug | 0 emails/registration/it/html.pug | 0 emails/registration/it/subject.pug | 0 emails/registration_ayni/enUs/html.pug | 0 emails/registration_ayni/enUs/subject.pug | 0 emails/registration_ayni/es/html.pug | 0 emails/registration_ayni/es/subject.pug | 0 emails/registration_ayni/fr/html.pug | 0 emails/registration_ayni/fr/subject.pug | 0 emails/registration_ayni/it/html.pug | 0 emails/registration_ayni/it/subject.pug | 0 emails/registration_ayni/pt/html.pug | 0 emails/registration_ayni/pt/subject.pug | 0 emails/registration_ayni/si/html.pug | 0 emails/registration_ayni/si/subject.pug | 0 emails/resetpwd/en/html.pug | 0 emails/resetpwd/en/subject.pug | 0 emails/resetpwd/es/html.pug | 0 emails/resetpwd/es/subject.pug | 0 emails/resetpwd/it/html.pug | 0 emails/resetpwd/it/subject.pug | 0 gulpfile.js | 0 package.json | 0 plugins/file.js | 0 plugins/googleapi.js | 0 sass/basic.scss | 0 sass/one/styles.scss | 0 src/server/calculations/todo.js | 0 src/server/classes/queryclass.js | 0 src/server/config/config.js | 0 src/server/db/mongoose.js | 0 src/server/ftp/FTPClient.js | 0 src/server/locales/back/en.json | 0 src/server/locales/back/es.json | 0 src/server/locales/back/it.json | 0 src/server/locales/en.json | 0 src/server/locales/es.json | 0 src/server/locales/it.json | 0 src/server/middleware/authenticate.js | 0 src/server/models/booking.js | 0 src/server/models/calzoom.js | 2 +- src/server/models/cfgserver.js | 0 src/server/models/contribtype.js | 2 +- src/server/models/discipline.js | 3 +- src/server/models/extralist.js | 8 +- src/server/models/gallery.js | 2 +- src/server/models/listaingresso.js | 11 +- src/server/models/mailinglist.js | 8 +- src/server/models/myevent.js | 7 +- src/server/models/mypage.js | 5 +- src/server/models/nave.js | 255 +++++++++++++++--- src/server/models/newstosent.js | 5 +- src/server/models/operator.js | 5 +- src/server/models/opzemail.js | 2 +- src/server/models/paymenttype.js | 2 +- src/server/models/permission.js | 0 src/server/models/project.js | 0 src/server/models/sendmsg.js | 0 src/server/models/settings.js | 9 +- src/server/models/subscribers.js | 0 src/server/models/templemail.js | 2 +- src/server/models/todo.js | 0 src/server/models/user.js | 19 +- src/server/models/where.js | 2 +- src/server/mysql/mysql_func.js | 0 src/server/reg/registration.js | 0 src/server/router/admin_router.js | 0 src/server/router/api/actions.js | 0 src/server/router/booking_router.js | 0 src/server/router/dashboard_router.js | 110 +++++++- src/server/router/email_router.js | 0 .../router/files/Musica_Dell_Anima_Serata.jpg | Bin .../files/batidora-de-brazo-600-w--5.jpg | Bin .../router/files/estados_emocionales.jpg | Bin src/server/router/files/flat_earth.png | Bin src/server/router/files/malaga_beach.jpg | Bin src/server/router/files/paolo_piano3.jpg | Bin src/server/router/files/terra_piatta.jpg | Bin src/server/router/index_router.js | 2 +- src/server/router/myevent_router.js | 0 src/server/router/newsletter_router.js | 0 src/server/router/notevole_router.js | 0 src/server/router/projects_router.js | 0 src/server/router/push_router.js | 0 src/server/router/sendmsg_router.js | 0 src/server/router/subscribe_router.js | 0 src/server/router/test_router.js | 0 src/server/router/todos_router.js | 0 ...2455539731334358_8338493870618705920_n.jpg | Bin ...WhatsApp Image 2019-11-02 at 18.05.25.jpeg | Bin ...WhatsApp Image 2019-11-27 at 13.25.20.jpeg | Bin src/server/router/upload/olii_essenziali.jpg | Bin src/server/router/users_router.js | 31 ++- src/server/sendemail.js | 0 src/server/server.js | 0 src/server/telegram/telegrambot.js | 16 +- src/server/tests/seed/seed.js | 0 src/server/tests/server.test.js | 0 src/server/tools/general.js | 35 ++- src/server/tools/server_constants.js | 0 src/server/tools/shared_nodejs.js | 0 src/server/views/integrated-mailchimp.html | 0 139 files changed, 463 insertions(+), 80 deletions(-) mode change 100644 => 100755 .directory mode change 100644 => 100755 .gitignore mode change 100644 => 100755 css/basic.css mode change 100644 => 100755 css/one/styles.css mode change 100644 => 100755 docs/email.md mode change 100644 => 100755 ecosystem.config.js mode change 100644 => 100755 emails/admin/added_to_newsletter/it/html.pug mode change 100644 => 100755 emails/admin/added_to_newsletter/it/subject.pug mode change 100644 => 100755 emails/admin/cancelbooking/it/html.pug mode change 100644 => 100755 emails/admin/cancelbooking/it/subject.pug mode change 100644 => 100755 emails/admin/makebooking/it/html.pug mode change 100644 => 100755 emails/admin/makebooking/it/subject.pug mode change 100644 => 100755 emails/admin/modifybooking/it/html.pug mode change 100644 => 100755 emails/admin/modifybooking/it/subject.pug mode change 100644 => 100755 emails/admin/registration/enUs/html.pug mode change 100644 => 100755 emails/admin/registration/enUs/subject.pug mode change 100644 => 100755 emails/admin/registration/es/html.pug mode change 100644 => 100755 emails/admin/registration/es/subject.pug mode change 100644 => 100755 emails/admin/registration/it/html.pug mode change 100644 => 100755 emails/admin/registration/it/subject.pug mode change 100644 => 100755 emails/admin/registration/it/text.pug mode change 100644 => 100755 emails/booking/cancelbooking/it/html.pug mode change 100644 => 100755 emails/booking/cancelbooking/it/subject.pug mode change 100644 => 100755 emails/booking/makebooking/it/html.pug mode change 100644 => 100755 emails/booking/makebooking/it/subject.pug mode change 100644 => 100755 emails/booking/modifybooking/it/html.pug mode change 100644 => 100755 emails/booking/modifybooking/it/subject.pug mode change 100644 => 100755 emails/msg/sendmsg/it/html.pug mode change 100644 => 100755 emails/msg/sendmsg/it/subject.pug mode change 100644 => 100755 emails/msg/sendmsgchat/it/html.pug mode change 100644 => 100755 emails/msg/sendmsgchat/it/subject.pug mode change 100644 => 100755 emails/newsletter/it/html.pug mode change 100644 => 100755 emails/newsletter/it/subject.pug mode change 100644 => 100755 emails/one/one.template.pug mode change 100644 => 100755 emails/registration/enUs/html.pug mode change 100644 => 100755 emails/registration/enUs/subject.pug mode change 100644 => 100755 emails/registration/esEs/html.pug mode change 100644 => 100755 emails/registration/esEs/subject.pug mode change 100644 => 100755 emails/registration/it/html.pug mode change 100644 => 100755 emails/registration/it/subject.pug mode change 100644 => 100755 emails/registration_ayni/enUs/html.pug mode change 100644 => 100755 emails/registration_ayni/enUs/subject.pug mode change 100644 => 100755 emails/registration_ayni/es/html.pug mode change 100644 => 100755 emails/registration_ayni/es/subject.pug mode change 100644 => 100755 emails/registration_ayni/fr/html.pug mode change 100644 => 100755 emails/registration_ayni/fr/subject.pug mode change 100644 => 100755 emails/registration_ayni/it/html.pug mode change 100644 => 100755 emails/registration_ayni/it/subject.pug mode change 100644 => 100755 emails/registration_ayni/pt/html.pug mode change 100644 => 100755 emails/registration_ayni/pt/subject.pug mode change 100644 => 100755 emails/registration_ayni/si/html.pug mode change 100644 => 100755 emails/registration_ayni/si/subject.pug mode change 100644 => 100755 emails/resetpwd/en/html.pug mode change 100644 => 100755 emails/resetpwd/en/subject.pug mode change 100644 => 100755 emails/resetpwd/es/html.pug mode change 100644 => 100755 emails/resetpwd/es/subject.pug mode change 100644 => 100755 emails/resetpwd/it/html.pug mode change 100644 => 100755 emails/resetpwd/it/subject.pug mode change 100644 => 100755 gulpfile.js mode change 100644 => 100755 package.json mode change 100644 => 100755 plugins/file.js mode change 100644 => 100755 plugins/googleapi.js mode change 100644 => 100755 sass/basic.scss mode change 100644 => 100755 sass/one/styles.scss mode change 100644 => 100755 src/server/calculations/todo.js mode change 100644 => 100755 src/server/classes/queryclass.js mode change 100644 => 100755 src/server/config/config.js mode change 100644 => 100755 src/server/db/mongoose.js mode change 100644 => 100755 src/server/ftp/FTPClient.js mode change 100644 => 100755 src/server/locales/back/en.json mode change 100644 => 100755 src/server/locales/back/es.json mode change 100644 => 100755 src/server/locales/back/it.json mode change 100644 => 100755 src/server/locales/en.json mode change 100644 => 100755 src/server/locales/es.json mode change 100644 => 100755 src/server/locales/it.json mode change 100644 => 100755 src/server/middleware/authenticate.js mode change 100644 => 100755 src/server/models/booking.js mode change 100644 => 100755 src/server/models/calzoom.js mode change 100644 => 100755 src/server/models/cfgserver.js mode change 100644 => 100755 src/server/models/contribtype.js mode change 100644 => 100755 src/server/models/discipline.js mode change 100644 => 100755 src/server/models/extralist.js mode change 100644 => 100755 src/server/models/gallery.js mode change 100644 => 100755 src/server/models/listaingresso.js mode change 100644 => 100755 src/server/models/mailinglist.js mode change 100644 => 100755 src/server/models/myevent.js mode change 100644 => 100755 src/server/models/mypage.js mode change 100644 => 100755 src/server/models/nave.js mode change 100644 => 100755 src/server/models/newstosent.js mode change 100644 => 100755 src/server/models/operator.js mode change 100644 => 100755 src/server/models/opzemail.js mode change 100644 => 100755 src/server/models/paymenttype.js mode change 100644 => 100755 src/server/models/permission.js mode change 100644 => 100755 src/server/models/project.js mode change 100644 => 100755 src/server/models/sendmsg.js mode change 100644 => 100755 src/server/models/settings.js mode change 100644 => 100755 src/server/models/subscribers.js mode change 100644 => 100755 src/server/models/templemail.js mode change 100644 => 100755 src/server/models/todo.js mode change 100644 => 100755 src/server/models/user.js mode change 100644 => 100755 src/server/models/where.js mode change 100644 => 100755 src/server/mysql/mysql_func.js mode change 100644 => 100755 src/server/reg/registration.js mode change 100644 => 100755 src/server/router/admin_router.js mode change 100644 => 100755 src/server/router/api/actions.js mode change 100644 => 100755 src/server/router/booking_router.js mode change 100644 => 100755 src/server/router/dashboard_router.js mode change 100644 => 100755 src/server/router/email_router.js mode change 100644 => 100755 src/server/router/files/Musica_Dell_Anima_Serata.jpg mode change 100644 => 100755 src/server/router/files/batidora-de-brazo-600-w--5.jpg mode change 100644 => 100755 src/server/router/files/estados_emocionales.jpg mode change 100644 => 100755 src/server/router/files/flat_earth.png mode change 100644 => 100755 src/server/router/files/malaga_beach.jpg mode change 100644 => 100755 src/server/router/files/paolo_piano3.jpg mode change 100644 => 100755 src/server/router/files/terra_piatta.jpg mode change 100644 => 100755 src/server/router/index_router.js mode change 100644 => 100755 src/server/router/myevent_router.js mode change 100644 => 100755 src/server/router/newsletter_router.js mode change 100644 => 100755 src/server/router/notevole_router.js mode change 100644 => 100755 src/server/router/projects_router.js mode change 100644 => 100755 src/server/router/push_router.js mode change 100644 => 100755 src/server/router/sendmsg_router.js mode change 100644 => 100755 src/server/router/subscribe_router.js mode change 100644 => 100755 src/server/router/test_router.js mode change 100644 => 100755 src/server/router/todos_router.js mode change 100644 => 100755 src/server/router/upload/78672181_2455539731334358_8338493870618705920_n.jpg mode change 100644 => 100755 src/server/router/upload/WhatsApp Image 2019-11-02 at 18.05.25.jpeg mode change 100644 => 100755 src/server/router/upload/WhatsApp Image 2019-11-27 at 13.25.20.jpeg mode change 100644 => 100755 src/server/router/upload/olii_essenziali.jpg mode change 100644 => 100755 src/server/router/users_router.js mode change 100644 => 100755 src/server/sendemail.js mode change 100644 => 100755 src/server/server.js mode change 100644 => 100755 src/server/telegram/telegrambot.js mode change 100644 => 100755 src/server/tests/seed/seed.js mode change 100644 => 100755 src/server/tests/server.test.js mode change 100644 => 100755 src/server/tools/general.js mode change 100644 => 100755 src/server/tools/server_constants.js mode change 100644 => 100755 src/server/tools/shared_nodejs.js mode change 100644 => 100755 src/server/views/integrated-mailchimp.html diff --git a/.directory b/.directory old mode 100644 new mode 100755 diff --git a/.gitignore b/.gitignore old mode 100644 new mode 100755 diff --git a/css/basic.css b/css/basic.css old mode 100644 new mode 100755 diff --git a/css/one/styles.css b/css/one/styles.css old mode 100644 new mode 100755 diff --git a/docs/email.md b/docs/email.md old mode 100644 new mode 100755 diff --git a/ecosystem.config.js b/ecosystem.config.js old mode 100644 new mode 100755 diff --git a/emails/admin/added_to_newsletter/it/html.pug b/emails/admin/added_to_newsletter/it/html.pug old mode 100644 new mode 100755 diff --git a/emails/admin/added_to_newsletter/it/subject.pug b/emails/admin/added_to_newsletter/it/subject.pug old mode 100644 new mode 100755 diff --git a/emails/admin/cancelbooking/it/html.pug b/emails/admin/cancelbooking/it/html.pug old mode 100644 new mode 100755 diff --git a/emails/admin/cancelbooking/it/subject.pug b/emails/admin/cancelbooking/it/subject.pug old mode 100644 new mode 100755 diff --git a/emails/admin/makebooking/it/html.pug b/emails/admin/makebooking/it/html.pug old mode 100644 new mode 100755 diff --git a/emails/admin/makebooking/it/subject.pug b/emails/admin/makebooking/it/subject.pug old mode 100644 new mode 100755 diff --git a/emails/admin/modifybooking/it/html.pug b/emails/admin/modifybooking/it/html.pug old mode 100644 new mode 100755 diff --git a/emails/admin/modifybooking/it/subject.pug b/emails/admin/modifybooking/it/subject.pug old mode 100644 new mode 100755 diff --git a/emails/admin/registration/enUs/html.pug b/emails/admin/registration/enUs/html.pug old mode 100644 new mode 100755 diff --git a/emails/admin/registration/enUs/subject.pug b/emails/admin/registration/enUs/subject.pug old mode 100644 new mode 100755 diff --git a/emails/admin/registration/es/html.pug b/emails/admin/registration/es/html.pug old mode 100644 new mode 100755 diff --git a/emails/admin/registration/es/subject.pug b/emails/admin/registration/es/subject.pug old mode 100644 new mode 100755 diff --git a/emails/admin/registration/it/html.pug b/emails/admin/registration/it/html.pug old mode 100644 new mode 100755 diff --git a/emails/admin/registration/it/subject.pug b/emails/admin/registration/it/subject.pug old mode 100644 new mode 100755 diff --git a/emails/admin/registration/it/text.pug b/emails/admin/registration/it/text.pug old mode 100644 new mode 100755 diff --git a/emails/booking/cancelbooking/it/html.pug b/emails/booking/cancelbooking/it/html.pug old mode 100644 new mode 100755 diff --git a/emails/booking/cancelbooking/it/subject.pug b/emails/booking/cancelbooking/it/subject.pug old mode 100644 new mode 100755 diff --git a/emails/booking/makebooking/it/html.pug b/emails/booking/makebooking/it/html.pug old mode 100644 new mode 100755 diff --git a/emails/booking/makebooking/it/subject.pug b/emails/booking/makebooking/it/subject.pug old mode 100644 new mode 100755 diff --git a/emails/booking/modifybooking/it/html.pug b/emails/booking/modifybooking/it/html.pug old mode 100644 new mode 100755 diff --git a/emails/booking/modifybooking/it/subject.pug b/emails/booking/modifybooking/it/subject.pug old mode 100644 new mode 100755 diff --git a/emails/msg/sendmsg/it/html.pug b/emails/msg/sendmsg/it/html.pug old mode 100644 new mode 100755 diff --git a/emails/msg/sendmsg/it/subject.pug b/emails/msg/sendmsg/it/subject.pug old mode 100644 new mode 100755 diff --git a/emails/msg/sendmsgchat/it/html.pug b/emails/msg/sendmsgchat/it/html.pug old mode 100644 new mode 100755 diff --git a/emails/msg/sendmsgchat/it/subject.pug b/emails/msg/sendmsgchat/it/subject.pug old mode 100644 new mode 100755 diff --git a/emails/newsletter/it/html.pug b/emails/newsletter/it/html.pug old mode 100644 new mode 100755 diff --git a/emails/newsletter/it/subject.pug b/emails/newsletter/it/subject.pug old mode 100644 new mode 100755 diff --git a/emails/one/one.template.pug b/emails/one/one.template.pug old mode 100644 new mode 100755 diff --git a/emails/registration/enUs/html.pug b/emails/registration/enUs/html.pug old mode 100644 new mode 100755 diff --git a/emails/registration/enUs/subject.pug b/emails/registration/enUs/subject.pug old mode 100644 new mode 100755 diff --git a/emails/registration/esEs/html.pug b/emails/registration/esEs/html.pug old mode 100644 new mode 100755 diff --git a/emails/registration/esEs/subject.pug b/emails/registration/esEs/subject.pug old mode 100644 new mode 100755 diff --git a/emails/registration/it/html.pug b/emails/registration/it/html.pug old mode 100644 new mode 100755 diff --git a/emails/registration/it/subject.pug b/emails/registration/it/subject.pug old mode 100644 new mode 100755 diff --git a/emails/registration_ayni/enUs/html.pug b/emails/registration_ayni/enUs/html.pug old mode 100644 new mode 100755 diff --git a/emails/registration_ayni/enUs/subject.pug b/emails/registration_ayni/enUs/subject.pug old mode 100644 new mode 100755 diff --git a/emails/registration_ayni/es/html.pug b/emails/registration_ayni/es/html.pug old mode 100644 new mode 100755 diff --git a/emails/registration_ayni/es/subject.pug b/emails/registration_ayni/es/subject.pug old mode 100644 new mode 100755 diff --git a/emails/registration_ayni/fr/html.pug b/emails/registration_ayni/fr/html.pug old mode 100644 new mode 100755 diff --git a/emails/registration_ayni/fr/subject.pug b/emails/registration_ayni/fr/subject.pug old mode 100644 new mode 100755 diff --git a/emails/registration_ayni/it/html.pug b/emails/registration_ayni/it/html.pug old mode 100644 new mode 100755 diff --git a/emails/registration_ayni/it/subject.pug b/emails/registration_ayni/it/subject.pug old mode 100644 new mode 100755 diff --git a/emails/registration_ayni/pt/html.pug b/emails/registration_ayni/pt/html.pug old mode 100644 new mode 100755 diff --git a/emails/registration_ayni/pt/subject.pug b/emails/registration_ayni/pt/subject.pug old mode 100644 new mode 100755 diff --git a/emails/registration_ayni/si/html.pug b/emails/registration_ayni/si/html.pug old mode 100644 new mode 100755 diff --git a/emails/registration_ayni/si/subject.pug b/emails/registration_ayni/si/subject.pug old mode 100644 new mode 100755 diff --git a/emails/resetpwd/en/html.pug b/emails/resetpwd/en/html.pug old mode 100644 new mode 100755 diff --git a/emails/resetpwd/en/subject.pug b/emails/resetpwd/en/subject.pug old mode 100644 new mode 100755 diff --git a/emails/resetpwd/es/html.pug b/emails/resetpwd/es/html.pug old mode 100644 new mode 100755 diff --git a/emails/resetpwd/es/subject.pug b/emails/resetpwd/es/subject.pug old mode 100644 new mode 100755 diff --git a/emails/resetpwd/it/html.pug b/emails/resetpwd/it/html.pug old mode 100644 new mode 100755 diff --git a/emails/resetpwd/it/subject.pug b/emails/resetpwd/it/subject.pug old mode 100644 new mode 100755 diff --git a/gulpfile.js b/gulpfile.js old mode 100644 new mode 100755 diff --git a/package.json b/package.json old mode 100644 new mode 100755 diff --git a/plugins/file.js b/plugins/file.js old mode 100644 new mode 100755 diff --git a/plugins/googleapi.js b/plugins/googleapi.js old mode 100644 new mode 100755 diff --git a/sass/basic.scss b/sass/basic.scss old mode 100644 new mode 100755 diff --git a/sass/one/styles.scss b/sass/one/styles.scss old mode 100644 new mode 100755 diff --git a/src/server/calculations/todo.js b/src/server/calculations/todo.js old mode 100644 new mode 100755 diff --git a/src/server/classes/queryclass.js b/src/server/classes/queryclass.js old mode 100644 new mode 100755 diff --git a/src/server/config/config.js b/src/server/config/config.js old mode 100644 new mode 100755 diff --git a/src/server/db/mongoose.js b/src/server/db/mongoose.js old mode 100644 new mode 100755 diff --git a/src/server/ftp/FTPClient.js b/src/server/ftp/FTPClient.js old mode 100644 new mode 100755 diff --git a/src/server/locales/back/en.json b/src/server/locales/back/en.json old mode 100644 new mode 100755 diff --git a/src/server/locales/back/es.json b/src/server/locales/back/es.json old mode 100644 new mode 100755 diff --git a/src/server/locales/back/it.json b/src/server/locales/back/it.json old mode 100644 new mode 100755 diff --git a/src/server/locales/en.json b/src/server/locales/en.json old mode 100644 new mode 100755 diff --git a/src/server/locales/es.json b/src/server/locales/es.json old mode 100644 new mode 100755 diff --git a/src/server/locales/it.json b/src/server/locales/it.json old mode 100644 new mode 100755 diff --git a/src/server/middleware/authenticate.js b/src/server/middleware/authenticate.js old mode 100644 new mode 100755 diff --git a/src/server/models/booking.js b/src/server/models/booking.js old mode 100644 new mode 100755 diff --git a/src/server/models/calzoom.js b/src/server/models/calzoom.js old mode 100644 new mode 100755 index 1579b80..fcd3759 --- a/src/server/models/calzoom.js +++ b/src/server/models/calzoom.js @@ -40,7 +40,7 @@ const CalZoomSchema = new Schema({ }); CalZoomSchema.statics.getFieldsForSearch = function () { - return ['title'] + return [{field: 'title', type: tools.FieldType.string}] }; CalZoomSchema.statics.executeQueryTable = function (idapp, params) { diff --git a/src/server/models/cfgserver.js b/src/server/models/cfgserver.js old mode 100644 new mode 100755 diff --git a/src/server/models/contribtype.js b/src/server/models/contribtype.js old mode 100644 new mode 100755 index 63910db..fefe349 --- a/src/server/models/contribtype.js +++ b/src/server/models/contribtype.js @@ -25,7 +25,7 @@ const ContribtypeSchema = new Schema({ }); ContribtypeSchema.statics.getFieldsForSearch = function () { - return ['label'] + return [{field: 'label', type: tools.FieldType.string}] }; ContribtypeSchema.statics.executeQueryTable = function (idapp, params) { diff --git a/src/server/models/discipline.js b/src/server/models/discipline.js old mode 100644 new mode 100755 index 79e34c3..a03478c --- a/src/server/models/discipline.js +++ b/src/server/models/discipline.js @@ -89,7 +89,8 @@ DisciplineSchema.statics.getDisciplineforNewsletter = function (idapp) { DisciplineSchema.statics.getFieldsForSearch = function () { - return ['label', 'description'] + return [{ field: 'label', type: tools.FieldType.string }, + { field: 'description', type: tools.FieldType.string }] }; DisciplineSchema.statics.executeQueryTable = function (idapp, params) { diff --git a/src/server/models/extralist.js b/src/server/models/extralist.js old mode 100644 new mode 100755 index 9b60398..fffb7ab --- a/src/server/models/extralist.js +++ b/src/server/models/extralist.js @@ -208,7 +208,12 @@ ExtraListSchema.statics.getUserNotRegisteredByNameSurname = function (idapp, nam ExtraListSchema.statics.getFieldsForSearch = function () { - return ['username', 'name', 'surname', 'cell_complete', 'aportador_solidario_name_surname', 'aportador_solidario_originale_name_surname'] + return [{ field: 'username', type: tools.FieldType.string }, + { field: 'name', type: tools.FieldType.string }, + { field: 'surname', type: tools.FieldType.string }, + { field: 'cell_complete', type: tools.FieldType.string }, + { field: 'aportador_solidario_name_surname', type: tools.FieldType.string }, + { field: 'aportador_solidario_originale_name_surname', type: tools.FieldType.string }] }; ExtraListSchema.statics.executeQueryTable = function (idapp, params) { @@ -321,7 +326,6 @@ ExtraListSchema.statics.ImportData = async function (locale, idapp, strdata) { }; - const ExtraList = mongoose.model('ExtraList', ExtraListSchema); diff --git a/src/server/models/gallery.js b/src/server/models/gallery.js old mode 100644 new mode 100755 index 89310cf..9b72f7e --- a/src/server/models/gallery.js +++ b/src/server/models/gallery.js @@ -44,7 +44,7 @@ const GallerySchema = new Schema({ }); GallerySchema.statics.getFieldsForSearch = function () { - return ['title'] + return [{ field: 'title', type: tools.FieldType.string }] }; GallerySchema.statics.executeQueryTable = function (idapp, params) { diff --git a/src/server/models/listaingresso.js b/src/server/models/listaingresso.js old mode 100644 new mode 100755 index 9511780..1787a2d --- a/src/server/models/listaingresso.js +++ b/src/server/models/listaingresso.js @@ -144,8 +144,8 @@ ListaIngressoSchema.statics.addUserInListaIngresso = async function (idapp, ind_ const telegrambot = require('../telegram/telegrambot'); try { - let listaingresso = null; - if (!await ListaIngresso.findByIndOrderETess(idapp, ind_order, num_tess)) { + let listaingresso = await ListaIngresso.findByIndOrderETess(idapp, ind_order, num_tess); + if (!listaingresso) { listaingresso = new ListaIngresso({ ind_order: ind_order, idapp, @@ -168,11 +168,11 @@ ListaIngressoSchema.statics.addUserInListaIngresso = async function (idapp, ind_ } } - const giapresente = await Nave.findOne({ idapp, ind_order: num_tess }); + const giapresente = await Nave.findOne({ idapp, ind_order, num_tess }); if (!!giapresente) { // Era stato giΓ  aggiunto! let fields_to_update = { added: true }; - await ListaIngresso.findOneAndUpdate({ _id: params.id.toString() }, { $set: fields_to_update }, { new: false }); + await ListaIngresso.findOneAndUpdate({ _id: listaingresso._id }, { $set: fields_to_update }, { new: false }); return false; } @@ -229,7 +229,7 @@ ListaIngressoSchema.statics.showListaOrd = async function (idapp) { ListaIngressoSchema.statics.getFieldsForSearch = function () { - return ['ind_order'] + return [{field: 'ind_order', type: tools.FieldType.number }] }; ListaIngressoSchema.statics.executeQueryTable = function (idapp, params) { @@ -273,6 +273,7 @@ ListaIngressoSchema.statics.getProssimiInLista = async function (idapp, tutti) { if (rec.numinvitatiattivi > 2) rec.numinvitatiattivi = 2; } + if (arrlista) { arrlista = sortRec(arrlista); // arrlista.reverse(); diff --git a/src/server/models/mailinglist.js b/src/server/models/mailinglist.js old mode 100644 new mode 100755 index f7e7ee7..de7dc61 --- a/src/server/models/mailinglist.js +++ b/src/server/models/mailinglist.js @@ -45,7 +45,9 @@ const MailingListSchema = new Schema({ }); MailingListSchema.statics.getFieldsForSearch = function () { - return ['name', 'surname', 'email'] + return [{ field: 'name', type: tools.FieldType.string }, + { field: 'surname', type: tools.FieldType.string }, + { field: 'email', type: tools.FieldType.string }] }; MailingListSchema.statics.executeQueryTable = function (idapp, params) { @@ -56,7 +58,7 @@ MailingListSchema.statics.executeQueryTable = function (idapp, params) { MailingListSchema.statics.findAllIdAppSubscribed = function (idapp) { const MailingList = this; - const myfind = { idapp, statesub: true, wrongerr: {$ne: true} }; + const myfind = { idapp, statesub: true, wrongerr: { $ne: true } }; // Extract only the Teacher where in the users table the field permissions is set 'Teacher' bit. @@ -78,7 +80,7 @@ MailingListSchema.statics.getnumSent = async function (idapp, idmailinglist) { MailingListSchema.statics.isOk = async function (idapp, iduser, idmailinglist) { const MailingList = this; - const myfind = { idapp, _id: iduser, statesub: true, lastid_newstosent: {$ne: idmailinglist } }; + const myfind = { idapp, _id: iduser, statesub: true, lastid_newstosent: { $ne: idmailinglist } }; // Extract only the Teacher where in the users table the field permissions is set 'Teacher' bit. diff --git a/src/server/models/myevent.js b/src/server/models/myevent.js old mode 100644 new mode 100755 index c13ed0e..4e27601 --- a/src/server/models/myevent.js +++ b/src/server/models/myevent.js @@ -121,7 +121,7 @@ MyEventSchema.statics.getLastEvents = async function (idapp) { const lastn = await Settings.getValDbSettings(idapp, 'SHOW_LAST_N_EV', 1); const query = [ - { $match: { idapp, dateTimeStart: { $gte: tools.IncDateNow(- 1000 * 60 * 60 * 24) } } }, + { $match: { idapp, dateTimeStart: { $gte: tools.IncDateNow(-1000 * 60 * 60 * 24) } } }, { $lookup: { from: 'operators', @@ -165,7 +165,10 @@ MyEventSchema.statics.getLastEvents = async function (idapp) { MyEventSchema.statics.getFieldsForSearch = function () { - return ['short_tit', 'title', 'teacher', 'details'] + return [{ field: 'short_tit', type: tools.FieldType.string }, + { field: 'title', type: tools.FieldType.string }, + { field: 'teacher', type: tools.FieldType.string }, + { field: 'details', type: tools.FieldType.string }] }; MyEventSchema.statics.executeQueryTable = function (idapp, params) { diff --git a/src/server/models/mypage.js b/src/server/models/mypage.js old mode 100644 new mode 100755 index 682f8ef..9043d81 --- a/src/server/models/mypage.js +++ b/src/server/models/mypage.js @@ -74,7 +74,10 @@ const MyPageSchema = new Schema({ }); MyPageSchema.statics.getFieldsForSearch = function () { - return ['title', 'keywords', 'description', 'content'] + return [{ field: 'title', type: tools.FieldType.string }, + { field: 'keywords', type: tools.FieldType.string }, + { field: 'description', type: tools.FieldType.string }, + { field: 'content', type: tools.FieldType.string }] }; MyPageSchema.statics.executeQueryTable = function (idapp, params) { diff --git a/src/server/models/nave.js b/src/server/models/nave.js old mode 100644 new mode 100755 index 32a6a74..e6fdb16 --- a/src/server/models/nave.js +++ b/src/server/models/nave.js @@ -45,6 +45,9 @@ const NaveSchema = new mongoose.Schema({ date_start: { type: Date }, + date_gift_chat_open: { + type: Date + }, link_chat: { type: String, }, @@ -72,6 +75,9 @@ const NaveSchema = new mongoose.Schema({ num_tess: { // numero di tessitura type: Number, default: 1 + }, + provvisoria: { + type: Boolean } }); @@ -121,7 +127,8 @@ NaveSchema.statics.findByIndPrimario = function (idapp, indprimario) { NaveSchema.statics.getFieldsForSearch = function () { - return ['username', 'name', 'surname', 'ind_order'] + return [{ field: 'ind_order', type: tools.FieldType.number }, + { field: 'col', type: tools.FieldType.number }] }; NaveSchema.statics.executeQueryTable = function (idapp, params) { @@ -187,13 +194,16 @@ function getIndColonneByNave(navemediatore) { let col = navemediatore.col; let col_ini = calcval(riga, col, 8) + 1; - let col_fine = col_ini + 8; + let col_fine = col_ini + 7; return { riga: riga + 3, col_ini, col_fine } } NaveSchema.statics.getusersByNave = function (idapp, navemediatore) { + if ((!navemediatore.riga) || (!navemediatore.col)) + return []; + const obj = getIndColonneByNave(navemediatore); const miacol_ini = obj.col_ini; @@ -248,7 +258,8 @@ NaveSchema.statics.findRecByRigaColParent = async function (idapp, riga, col, nu myrigacol.riga = lastrec.riga; myrigacol.col = lastrec.col; } else { - lastrec = await User.findByIndOrder(idapp, 0); + //lastrec = await User.findByIndOrder(idapp, 0); + lastrec = await Nave.findGeneric({ idapp, riga: 0, col: 0 }); break; } } @@ -257,7 +268,8 @@ NaveSchema.statics.findRecByRigaColParent = async function (idapp, riga, col, nu } if (!lastrec) { - return await User.findByIndOrder(idapp, 0); + // return await User.findByIndOrder(idapp, 0); + return await Nave.findGeneric({ idapp, riga: 0, col: 0 }); } return lastrec; @@ -278,14 +290,6 @@ function getlimiti(mypos) { return mypos; } -function getRigaColByPosUp(mypos) { - mypos.riga = mypos.riga - mypos.numup; - mypos.col = Math.floor(mypos.col / (Math.pow(2, mypos.numup))); - // if ((mypos.col % 2) !== 0) - // mypos.col++; - -} - function getRigaColGenerica(idapp, riga, col, numup) { mypos = { idapp, @@ -295,7 +299,7 @@ function getRigaColGenerica(idapp, riga, col, numup) { }; if (idapp === tools.AYNI) { - getRigaColByPosUp(mypos); + tools.getRigaColByPosUp(mypos); ris = getlimiti(mypos); } @@ -395,22 +399,26 @@ NaveSchema.statics.findMediatoreByFuoco = async function (idapp, riga, col, offs // return Nave.findGeneric(myrigacol); return await Nave.findRecByRigaColParent(idapp, riga, col, 3 - offset); - }; function getQueryProj(myfilter) { myobjField = { _id: 1, + idapp: 1, lang: 1, ind_order: 1, name: 1, surname: 1, username: 1, + 'profile.paymenttypes': 1, + 'profile.email_paypal': 1, date_start: 1, + date_gift_chat_open: 1, made_gift: 1, link_chat: 1, date_made_gift: 1, + provvisoria: 1, received_gift: 1, date_received_gift: 1, num_tess: 1, @@ -464,7 +472,11 @@ function getmaxcol(riga) { } function getPrimoFuocoByIndCol(col) { - return Math.floor(col - (col % 8)) + 1; + // let ris = Math.ceil(col - (col % 8)) + 1; + let ris = ((Math.ceil(col / 8) - 1) * 8) + 1; + if (ris <= 0) + ris = 1; + return ris } async function getusertextbyrec(myrec, symbol, lettera, riga, col, ind) { @@ -480,12 +492,26 @@ async function getusertextbyrec(myrec, symbol, lettera, riga, col, ind) { } else { if (myrec) - return lettera + ind + ' - ' + symbol + '[' + miariga + ',' + miacol + ']' + ' ' + myrec.name + ' ' + myrec.surname + ''; + return lettera + ind + ' - ' + symbol + '[' + riga + ',' + col + ']' + ' ' + myrec.name + ' ' + myrec.surname + ''; else return lettera + ind + ' - ' + symbol; } } +function checkifNullThenEmpty(rec, riga, col) { + if (rec === null) { + return { + name: '', + surname: '', + username: '', + riga, + col, + } + } else { + return rec; + } +} + NaveSchema.statics.getPlaccaGenerica = async function (idapp, riga, col, offset, solorecord) { const Nave = this; @@ -526,17 +552,25 @@ NaveSchema.statics.getPlaccaGenerica = async function (idapp, riga, col, offset, // mystr += 'πŸ”₯πŸŒπŸ’¦πŸ’¨πŸ”₯πŸŒπŸ’¦πŸ’¨' + tools.ACAPO; let arrdonatori = []; + // let numcol = Math.pow(2, indriga - 1); + primofuoco = getPrimoFuocoByIndCol(col * Math.pow(2, offset)); + let ind = 1; for (let indcol = primofuoco; indcol < primofuoco + 8; indcol++) { let indr = riga + offset; let indc = indcol + (offset * indr); indr = riga + offset; - indc = calcval(riga, col, 8) + (indcol - primofuoco + 1); + // indc = calcval(riga, col, 8) + (indcol - primofuoco + 1); + if (offset === 0) + indc = indcol; + else + indc = indcol; // miacol = calcval(riga, col, 8) + (indfuoco); let recfuoco = await Nave.findByRigaCol(idapp, indr, indc, true); + recfuoco = checkifNullThenEmpty(recfuoco, indr, indc); arrdonatori.push(recfuoco); mystr += await getusertextbyrec(recfuoco, symb.icona, symb.car, indr, indc, ind) + tools.ACAPO; ind++; @@ -560,14 +594,63 @@ NaveSchema.statics.getPlaccaGenerica = async function (idapp, riga, col, offset, }; -NaveSchema.statics.getPlaccaPerDonatore = async function (idapp, riga, col, solorecord) { +NaveSchema.statics.getPlaccaPerDonatore = async function (idapp, riga, col, solorecord, rec) { const Nave = this; - return Nave.getPlaccaGenerica(idapp, riga, col, tools.Placca.SONOFUOCO, solorecord); + + if (solorecord) { + + rec.donatore = await Nave.getPlaccaGenerica(idapp, riga, col, tools.Placca.SONOFUOCO, solorecord); + newcol = Math.ceil(col / (Math.pow(2, 3))); + rec.donatore.arrterra = await Nave.getArrTerra(idapp, riga - 3, newcol); + rec.donatore.arraria = await Nave.getArrAria(idapp, riga - 3, newcol); + + return rec; + } else { + return await Nave.getPlaccaGenerica(idapp, riga, col, tools.Placca.SONOFUOCO, solorecord); + } + + }; -NaveSchema.statics.getPlaccaPerMediatore = async function (idapp, riga, col, solorecord) { +NaveSchema.statics.getPlaccaPerMediatore = async function (idapp, riga, col, solorecord, rec) { const Nave = this; - return Nave.getPlaccaGenerica(idapp, riga, col, tools.Placca.SONOACQUA, solorecord); + rec.mediatore = await Nave.getPlaccaGenerica(idapp, riga, col, tools.Placca.SONOACQUA, solorecord); + + rec.mediatore.arrterra = await Nave.getArrTerra(idapp, riga, col); + rec.mediatore.arraria = await Nave.getArrAria(idapp, riga, col); + + return rec; +}; + +NaveSchema.statics.getArrTerra = async function (idapp, riga, col) { + const Nave = this; + + let arrterra = []; + for (let indterra = 1; indterra <= 2; indterra++) { + miacol = calcval(riga, col, 2) + (indterra); + miariga = riga + 1; + let rec = await Nave.findByRigaCol(idapp, miariga, miacol, true); + rec = checkifNullThenEmpty(rec, miariga, miacol); + arrterra.push(rec); + } + + return arrterra; +}; + +NaveSchema.statics.getArrAria = async function (idapp, riga, col) { + const Nave = this; + + let arraria = []; + for (let indaria = 1; indaria <= 4; indaria++) { + miacol = calcval(riga, col, 4) + (indaria); + miariga = riga + 2; + let rec = await Nave.findByRigaCol(idapp, miariga, miacol, true); + rec = checkifNullThenEmpty(rec, miariga, miacol); + arraria.push(rec); + } + + return arraria; + }; function calcval(riga, col, quanti) { @@ -624,12 +707,21 @@ NaveSchema.statics.getNavePos = async function (idapp, riga, col, solorecord) { } let data = ""; - if (primofuoco) - data = "Partenza il " + tools.getstrDateLong(primofuoco.date_start) + tools.ACAPO; - else + let mystrtemp = ''; + if (primofuoco) { + data = 'πŸ’¬ Giorno di Apertura GIFT CHAT: ' + tools.getstrDateLong(primofuoco.date_gift_chat_open) + tools.ACAPO; + data += "🎁 Giorno in cui Inviare il DONO : " + tools.getstrDateLong(primofuoco.date_start) + tools.ACAPO; + data += tools.ACAPO; + + data += 'Il Mediatore sarΓ  contattato 1 giorno prima dal Tutor' + tools.ACAPO; + + if (primofuoco.provvisoria) + mystrtemp = 'TEMPORANEA '; + } else data = ""; - mystr = tools.ACAPO + 'NAVE (' + riga + '.' + col + ') ' + tools.ACAPO + data + tools.ACAPO + mystr; + + mystr = tools.ACAPO + 'NAVE ' + '[' + riga + '.' + col + '] ' + mystrtemp + tools.ACAPO + data + tools.ACAPO + mystr; return mystr; } catch (e) { @@ -679,7 +771,7 @@ NaveSchema.statics.getArrPosizioniByIndOrder = async function (idapp, ind_order) NaveSchema.statics.getPrimaNaveByRiga = async function (idapp, riga) { const Nave = this; - nave = await Nave.find({ 'idapp': idapp, riga: (riga + 3), col: 1 }); + nave = await Nave.findOne({ 'idapp': idapp, riga: (riga + 3), col: 1 }); return nave; }; @@ -702,12 +794,20 @@ NaveSchema.statics.showListaOrd = async function (idapp) { return mystr; }; +NaveSchema.statics.getLastRigaCol = async function (idapp) { + return Nave.findOne({ idapp }).sort({ _id: -1 }); +}; + async function addRecordNaveByParams(params, siRitesse) { const { ListaIngresso } = require('./listaingresso'); if (!siRitesse) { // Check if Exist: - const giapresente = await Nave.findOne({ idapp: params.idapp, ind_order: params.ind_order, num_tess: params.num_tess }); + const giapresente = await Nave.findOne({ + idapp: params.idapp, + ind_order: params.ind_order, + num_tess: params.num_tess + }); if (!!giapresente) { let fields_to_update = { added: true }; await ListaIngresso.findOneAndUpdate({ _id: params.id.toString() }, { $set: fields_to_update }, { new: false }); @@ -724,7 +824,9 @@ async function addRecordNaveByParams(params, siRitesse) { riga: params.riga, col: params.col, date_start: params.date_start, + date_gift_chat_open: params.date_gift_chat_open, num_tess: params.num_tess, + provvisoria: params.provvisoria, }); myNave.created = new Date(); @@ -834,10 +936,13 @@ NaveSchema.statics.addUserFromListaIngresso_IntoNave = async function (init, ida let recmediatore = await Nave.findMediatoreByFuoco(idapp, myriga, mycol, 0); if (!!recmediatore) { const ris = await Nave.checkifDeveRitessersi(recmediatore); - if (ris.num_tess > 2) { + if (ris.num_tess >= 2) { console.log('E\' arrivato alla TERZA RITESSITURA, PERTANTO LO METTIAMO IN CODA... [riga=', params.riga, 'col', params.col, '] indorder=' + recmediatore.ind_order); // E' arrivato alla TERZA RITESSITURA, PERTANTO LO METTIAMO IN CODA... - const risultato = await ListaIngresso.addUserInListaIngresso(idapp, recmediatore.ind_order, rec.lang, false, ris.num_tess); + + //++Todo: TESSITURA???? + + //const risultato = await ListaIngresso.addUserInListaIngresso(idapp, recmediatore.ind_order, rec.lang, false, ris.num_tess); } else { console.log('Si deve ritessere: [riga=', params.riga, 'col', params.col, ']'); @@ -883,6 +988,7 @@ NaveSchema.statics.generaNave = async function (idapp, mydata) { riga: await Nave.getRiga(idapp), col: await Nave.getCol(idapp), date_start: mydata.date_start, + date_gift_chat_open: tools.AddDate(mydata.date_start, -7), numpersone: mydata.numpersone, }; @@ -912,6 +1018,7 @@ NaveSchema.statics.generaNave = async function (idapp, mydata) { params.ind_order = reclista.ind_order; params.id = reclista._id; params.num_tess = reclista.num_tess; + params.provvisoria = mydata.provvisoria; await Nave.addUserFromListaIngresso_IntoNave(index === 0, idapp, params, false); index++; @@ -932,6 +1039,7 @@ async function addUserToNave(idapp, rec) { params.ind_order = rec.ind_order; params.id = rec._id; params.num_tess = rec.num_tess; + params.provvisoria = false; return await Nave.addUserFromListaIngresso_IntoNave(true, idapp, params, true); @@ -952,16 +1060,48 @@ NaveSchema.statics.checkIfDevoAggiungereInNave = async function (idapp) { }; +NaveSchema.statics.pulisciNonPresenzeInNave = async function (idapp) { + const Nave = this; + + let numrec = 0; + + const { ListaIngresso } = require('./listaingresso'); + + const myquery = getQueryProj({ + idapp, + ind_order: { $gt: 0 }, + added: true, + deleted: false, + }); + + arrrec = await ListaIngresso.aggregate(myquery) + .then(async (arrlista) => { + for (const rec of arrlista) { + const trovato = await Nave.findByIndOrder(idapp, rec.ind_order); + if (!trovato) { + let fields_to_update = { added: false }; + await ListaIngresso.findOneAndUpdate({ _id: rec._id }, { $set: fields_to_update }, { new: false }); + numrec++; + } + } + + }); + + return numrec; + +}; + NaveSchema.statics.getNaveByUser = async function (idapp, ind_order, lang, fuoco) { const Nave = this; let mystr = ''; + let rec = {}; const arrposiz = await Nave.getArrPosizioniByIndOrder(idapp, ind_order); if (!!arrposiz) { for (const pos of arrposiz) { mystr += await Nave.getNavePos(idapp, pos.riga - 3, Math.floor(pos.col / (2 * 4)), false); - mystr += await Nave.getPlaccaPerDonatore(idapp, pos.riga, pos.col, false); - mystr += await Nave.getPlaccaPerMediatore(idapp, pos.riga, pos.col, false); + mystr += await Nave.getPlaccaPerDonatore(idapp, pos.riga, pos.col, false, rec); + mystr += await Nave.getPlaccaPerMediatore(idapp, pos.riga, pos.col, false, rec); } } @@ -972,20 +1112,65 @@ NaveSchema.statics.getNaveByUser = async function (idapp, ind_order, lang, fuoco return mystr; }; -NaveSchema.statics.getNaveByRigaCol = async function (idapp, riga, col) { +NaveSchema.statics.getNaveByRigaCol = async function (idapp, riganave, colnave) { const Nave = this; + const rigaprec = riganave; + rec = {}; - rec.donatore = await Nave.getPlaccaPerDonatore(idapp, riga, col, true); - rec.mediatore = await Nave.getPlaccaPerMediatore(idapp, riga, col, true); + rec = await Nave.getPlaccaPerMediatore(idapp, riganave, colnave, true, rec); + + if (riganave < 4) { + riganave = 4; + colnave = 1; + } + rec = await Nave.getPlaccaPerDonatore(idapp, riganave, colnave, true, rec); return rec; }; +NaveSchema.statics.getDonatoridelSognatore = async function (idapp, riganave, colnave) { + const Nave = this; + + coldonatoreIni = calcval(riganave, colnave, 8) + (1); + coldonatoreFine = calcval(riganave, colnave, 8) + (64); + + const myquery = getQueryProj({ + idapp, + riga: riganave + 6, + col: { $gte: coldonatoreIni, $lte: coldonatoreFine } + }); + + const arrnaviout = []; + + const arrnavi = await Nave.aggregate(myquery); + + for (const nave of arrnavi) { + // Se Γ¨ il mediatore, allora non includerlo nei Donatori! + mypos = { + riga: nave.riga, + col: nave.col, + numup: 3, + }; + + tools.getRigaColByPosUp(mypos); + + const navemediatore = await Nave.findByRigaCol(idapp, mypos.riga, mypos.col, true); + if (!!navemediatore) { + if (navemediatore.ind_order !== nave.ind_order) { + arrnaviout.push(nave); + } + } else { + arrnaviout.push(nave); + } + } + + return arrnaviout; + +}; const Nave = mongoose.model('Nave', NaveSchema); - module.exports = { Nave }; diff --git a/src/server/models/newstosent.js b/src/server/models/newstosent.js old mode 100644 new mode 100755 index 435ae16..d60781b --- a/src/server/models/newstosent.js +++ b/src/server/models/newstosent.js @@ -64,7 +64,9 @@ const NewstosentSchema = new Schema({ }); NewstosentSchema.statics.getFieldsForSearch = function () { - return ['name', 'surname', 'email'] + return [{ field: 'name', type: tools.FieldType.string }, + { field: 'surname', type: tools.FieldType.string }, + { field: 'email', type: tools.FieldType.string }] }; NewstosentSchema.statics.executeQueryTable = function (idapp, params) { @@ -166,7 +168,6 @@ NewstosentSchema.statics.isActivated = async function (_id) { }; - const Newstosent = mongoose.model('Newstosent', NewstosentSchema); module.exports = { Newstosent }; diff --git a/src/server/models/operator.js b/src/server/models/operator.js old mode 100644 new mode 100755 index 99b4a1e..39901cd --- a/src/server/models/operator.js +++ b/src/server/models/operator.js @@ -85,7 +85,10 @@ OperatorSchema.statics.getEmailByUsername = async function (idapp, username) { }; OperatorSchema.statics.getFieldsForSearch = function () { - return ['name', 'surname', 'email', 'cell'] + return [{ field: 'name', type: tools.FieldType.string }, + { field: 'surname', type: tools.FieldType.string }, + { field: 'email', type: tools.FieldType.string }, + { field: 'cell', type: tools.FieldType.string }] }; diff --git a/src/server/models/opzemail.js b/src/server/models/opzemail.js old mode 100644 new mode 100755 index 5bc0c05..a87ed32 --- a/src/server/models/opzemail.js +++ b/src/server/models/opzemail.js @@ -24,7 +24,7 @@ const OpzEmailSchema = new Schema({ OpzEmailSchema.statics.getFieldsForSearch = function () { - return ['label_it'] + return [{field: 'label_it', type: tools.FieldType.string}] }; OpzEmailSchema.statics.executeQueryTable = function (idapp, params) { diff --git a/src/server/models/paymenttype.js b/src/server/models/paymenttype.js old mode 100644 new mode 100755 index 75591e6..0c4c08a --- a/src/server/models/paymenttype.js +++ b/src/server/models/paymenttype.js @@ -25,7 +25,7 @@ const PaymentTypeSchema = new Schema({ }); PaymentTypeSchema.statics.getFieldsForSearch = function () { - return ['label'] + return [{field: 'label', type: tools.FieldType.string}] }; PaymentTypeSchema.statics.executeQueryTable = function (idapp, params) { diff --git a/src/server/models/permission.js b/src/server/models/permission.js old mode 100644 new mode 100755 diff --git a/src/server/models/project.js b/src/server/models/project.js old mode 100644 new mode 100755 diff --git a/src/server/models/sendmsg.js b/src/server/models/sendmsg.js old mode 100644 new mode 100755 diff --git a/src/server/models/settings.js b/src/server/models/settings.js old mode 100644 new mode 100755 index 29457e6..d2ea399 --- a/src/server/models/settings.js +++ b/src/server/models/settings.js @@ -43,7 +43,8 @@ const SettingsSchema = new Schema({ }); SettingsSchema.statics.getFieldsForSearch = function () { - return ['key', 'value_str'] + return [{ field: 'key', type: tools.FieldType.string }, + { field: 'value_str', type: tools.FieldType.string }, { field: 'value_num', type: tools.FieldType.number }] }; SettingsSchema.statics.executeQueryTable = function (idapp, params) { @@ -108,7 +109,7 @@ SettingsSchema.statics.setKeyNum = async function (idapp, key, value) { return await myrec.save(); } else { - myrec = await Settings.findOneAndUpdate({ idapp, key }, { $set: { value_num: value } }, { new: false}); + myrec = await Settings.findOneAndUpdate({ idapp, key }, { $set: { value_num: value } }, { new: false }); } }; @@ -117,7 +118,7 @@ SettingsSchema.statics.setKeyNum = async function (idapp, key, value) { SettingsSchema.statics.getKeyNum = async function (idapp, key, mydefault) { const Settings = this; - const ret = await Settings.findOne({ idapp, key}); + const ret = await Settings.findOne({ idapp, key }); if (!!ret) { return ret.value_num; } else { @@ -126,6 +127,6 @@ SettingsSchema.statics.getKeyNum = async function (idapp, key, mydefault) { }; - const Settings = mongoose.model('Settings', SettingsSchema); +const Settings = mongoose.model('Settings', SettingsSchema); module.exports = { Settings }; diff --git a/src/server/models/subscribers.js b/src/server/models/subscribers.js old mode 100644 new mode 100755 diff --git a/src/server/models/templemail.js b/src/server/models/templemail.js old mode 100644 new mode 100755 index 9dff5b1..6ad11d7 --- a/src/server/models/templemail.js +++ b/src/server/models/templemail.js @@ -41,7 +41,7 @@ const TemplEmailSchema = new Schema({ }); TemplEmailSchema.statics.getFieldsForSearch = function () { - return [''] + return [] }; TemplEmailSchema.statics.executeQueryTable = function (idapp, params) { diff --git a/src/server/models/todo.js b/src/server/models/todo.js old mode 100644 new mode 100755 diff --git a/src/server/models/user.js b/src/server/models/user.js old mode 100644 new mode 100755 index 817507e..4da93f4 --- a/src/server/models/user.js +++ b/src/server/models/user.js @@ -800,6 +800,7 @@ UserSchema.statics.getSmallRecByIndOrder = async function (idapp, ind_order) { return await User.findOne({ idapp, ind_order }, { + idapp: 1, ind_order: 1, username: 1, name: 1, @@ -929,7 +930,15 @@ UserSchema.statics.getUsersListByParams = function (params) { */ UserSchema.statics.getFieldsForSearch = function () { - return ['username', 'name', 'surname', 'email', 'profile.cell', 'profile.email_paypal', 'profile.username_telegram', 'aportador_solidario'] + return [{field: 'username', type: tools.FieldType.string}, + {filed: 'name', type: tools.FieldType.string }, + {filed: '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) { @@ -998,8 +1007,11 @@ UserSchema.statics.getDashboard = async function (idapp, aportador_solidario, us for (let mynave of dashboard.arrnavi) { mynave._doc.rec = await Nave.getNaveByRigaCol(idapp, mynave.riga, mynave.col); + mynave._doc.listadonatoridelsognatore = await Nave.getDonatoridelSognatore(idapp, mynave.riga, mynave.col); } + // console.table(dashboard.arrnavi); + return dashboard; } catch (e) { console.error(e); @@ -1303,12 +1315,7 @@ async function addUtentiInLista(idapp, mode, arrusers) { } else if (mode === 4) { ok = qualified && (numinvitati === 1); } else if (mode === 5) { - // 7 punti qualificati ok = qualified; - // // almeno telegram ID - // ok = user.profile.teleg_id > 0; - // } else { - // ok = true; } if (ok) { diff --git a/src/server/models/where.js b/src/server/models/where.js old mode 100644 new mode 100755 index ccf5b1a..d342c17 --- a/src/server/models/where.js +++ b/src/server/models/where.js @@ -31,7 +31,7 @@ const WhereSchema = new Schema({ }); WhereSchema.statics.getFieldsForSearch = function () { - return ['placename'] + return [{ field: 'placename', type: tools.FieldType.string }] }; WhereSchema.statics.executeQueryTable = function (idapp, params) { diff --git a/src/server/mysql/mysql_func.js b/src/server/mysql/mysql_func.js old mode 100644 new mode 100755 diff --git a/src/server/reg/registration.js b/src/server/reg/registration.js old mode 100644 new mode 100755 diff --git a/src/server/router/admin_router.js b/src/server/router/admin_router.js old mode 100644 new mode 100755 diff --git a/src/server/router/api/actions.js b/src/server/router/api/actions.js old mode 100644 new mode 100755 diff --git a/src/server/router/booking_router.js b/src/server/router/booking_router.js old mode 100644 new mode 100755 diff --git a/src/server/router/dashboard_router.js b/src/server/router/dashboard_router.js old mode 100644 new mode 100755 index 2f27a7b..5826a2f --- a/src/server/router/dashboard_router.js +++ b/src/server/router/dashboard_router.js @@ -9,6 +9,8 @@ const { authenticate } = require('../middleware/authenticate'); const { User } = require('../models/user'); +const { Nave } = require('../models/nave'); + const mongoose = require('mongoose'); const Subscription = mongoose.model('subscribers'); @@ -57,8 +59,114 @@ router.post('/msgnave', authenticate, async (req, res) => { let mydata = req.body; const ris = await telegrambot.sendMsgTelegramToNave(idapp, mydata); - res.send({ code: server_constants.RIS_CODE_OK, ris }); + if (ris) + res.send({ code: server_constants.RIS_CODE_OK, ris }); + else + res.status(400).send(e); }); +router.post('/getnavi', authenticate, async (req, res) => { + const idapp = req.body.idapp; + + let arrnavi = []; + let navi_partenza = []; + let test = false; + for (let indriga = 1; indriga <= 4; indriga++) { + navi_partenza.push(await Nave.getPrimaNaveByRiga(idapp, indriga)); + } + if (test) { + let indriga = 7; + let indcol = 49; + arrnavi.push({ riga: indriga, col: indcol }); + + } else { + + for (let indriga = 4; indriga <= 9; indriga++) { + navi_partenza.push(await Nave.getPrimaNaveByRiga(idapp, indriga)); + let numcol = Math.pow(2, indriga - 1); + + let quanti = Math.ceil(numcol / 8); + + for (let indquanti = 1; indquanti <= quanti; indquanti++) { + arrnavi.push({ riga: indriga, col: (indquanti * 8) - 7 }); + } + } + + } + + for (nave of arrnavi) { + nave.rec = await Nave.getNaveByRigaCol(idapp, nave.riga, nave.col); + } + + ris = { arrnavi, navi_partenza }; + + if (ris) + res.send({ code: server_constants.RIS_CODE_OK, ris }); + else + res.status(400).send(e); + +}); + +router.post('/getdoninavi', authenticate, async (req, res) => { + const idapp = req.body.idapp; + + let arrnavi = []; + let navi_partenza = []; + let test = false; + + try { + for (let indriga = 1; indriga <= 9; indriga++) { + const mynave = await Nave.getPrimaNaveByRiga(idapp, indriga); + if (!!mynave) { + navi_partenza.push(mynave); + let numcol = Math.pow(2, indriga - 1); + + // let quanti = Math.ceil(numcol / 8); + + for (let indcol = 1; indcol <= numcol; indcol++) { + arrnavi.push({ riga: indriga, col: indcol }); + } + } + } + + let index = 1; + + for (nave of arrnavi) { + nave.rec = await Nave.getNaveByRigaCol(idapp, nave.riga, nave.col); + mypos = { + riga: nave.riga, + col: nave.col, + numup: 3, + }; + tools.getRigaColByPosUp(mypos); + + nave.index = index; + nave.DoniAttesaDiConferma = 0; + nave.DoniMancanti = 0; + nave.DoniMancanti = 0; + + if (!!nave.rec) { + if (!!nave.rec.mediatore) { + nave.DoniAttesaDiConferma = nave.rec.mediatore.arrdonatori.filter((rec) => (!!rec.date_made_gift && !rec.made_gift)).reduce((sum, item) => sum + 1, 0); + nave.DoniMancanti = nave.rec.mediatore.arrdonatori.filter((rec) => (!rec.made_gift && !rec.date_made_gift)).reduce((sum, item) => sum + 1, 0); + nave.DoniConfermati = nave.rec.mediatore.arrdonatori.filter((rec) => rec.made_gift).reduce((sum, item) => sum + 1, 0); + } + } + index++; + } + + ris = { arrnavi }; + + if (ris) + res.send({ code: server_constants.RIS_CODE_OK, ris }); + else + res.status(400).send(e); + } catch (e) { + console.log(e) + } + +}); + + module.exports = router; diff --git a/src/server/router/email_router.js b/src/server/router/email_router.js old mode 100644 new mode 100755 diff --git a/src/server/router/files/Musica_Dell_Anima_Serata.jpg b/src/server/router/files/Musica_Dell_Anima_Serata.jpg old mode 100644 new mode 100755 diff --git a/src/server/router/files/batidora-de-brazo-600-w--5.jpg b/src/server/router/files/batidora-de-brazo-600-w--5.jpg old mode 100644 new mode 100755 diff --git a/src/server/router/files/estados_emocionales.jpg b/src/server/router/files/estados_emocionales.jpg old mode 100644 new mode 100755 diff --git a/src/server/router/files/flat_earth.png b/src/server/router/files/flat_earth.png old mode 100644 new mode 100755 diff --git a/src/server/router/files/malaga_beach.jpg b/src/server/router/files/malaga_beach.jpg old mode 100644 new mode 100755 diff --git a/src/server/router/files/paolo_piano3.jpg b/src/server/router/files/paolo_piano3.jpg old mode 100644 new mode 100755 diff --git a/src/server/router/files/terra_piatta.jpg b/src/server/router/files/terra_piatta.jpg old mode 100644 new mode 100755 diff --git a/src/server/router/index_router.js b/src/server/router/index_router.js old mode 100644 new mode 100755 index 4d6f9a5..6b453af --- a/src/server/router/index_router.js +++ b/src/server/router/index_router.js @@ -313,7 +313,7 @@ async function checkIfSbloccatiRequisiti(idapp, allData, id) { if (!allData.precDataAportador.is9req && is9reqAportador) { // ORA HAI I 9 REQUISITI ! const msgtext = telegrambot.getCiao(idapp, allData.myuser.aportador_solidario, allData.useraportador.lang) + tools.gettranslate('HAI_I_9_REQUISITI', allData.useraportador.lang); - telegrambot.sendMsgTelegram(idapp, allData.useraportador.username, msgtext, true); // Anche a STAFF + telegrambot.sendMsgTelegram(idapp, allData.myuser.aportador_solidario, msgtext, true); // Anche a STAFF } } diff --git a/src/server/router/myevent_router.js b/src/server/router/myevent_router.js old mode 100644 new mode 100755 diff --git a/src/server/router/newsletter_router.js b/src/server/router/newsletter_router.js old mode 100644 new mode 100755 diff --git a/src/server/router/notevole_router.js b/src/server/router/notevole_router.js old mode 100644 new mode 100755 diff --git a/src/server/router/projects_router.js b/src/server/router/projects_router.js old mode 100644 new mode 100755 diff --git a/src/server/router/push_router.js b/src/server/router/push_router.js old mode 100644 new mode 100755 diff --git a/src/server/router/sendmsg_router.js b/src/server/router/sendmsg_router.js old mode 100644 new mode 100755 diff --git a/src/server/router/subscribe_router.js b/src/server/router/subscribe_router.js old mode 100644 new mode 100755 diff --git a/src/server/router/test_router.js b/src/server/router/test_router.js old mode 100644 new mode 100755 diff --git a/src/server/router/todos_router.js b/src/server/router/todos_router.js old mode 100644 new mode 100755 diff --git a/src/server/router/upload/78672181_2455539731334358_8338493870618705920_n.jpg b/src/server/router/upload/78672181_2455539731334358_8338493870618705920_n.jpg old mode 100644 new mode 100755 diff --git a/src/server/router/upload/WhatsApp Image 2019-11-02 at 18.05.25.jpeg b/src/server/router/upload/WhatsApp Image 2019-11-02 at 18.05.25.jpeg old mode 100644 new mode 100755 diff --git a/src/server/router/upload/WhatsApp Image 2019-11-27 at 13.25.20.jpeg b/src/server/router/upload/WhatsApp Image 2019-11-27 at 13.25.20.jpeg old mode 100644 new mode 100755 diff --git a/src/server/router/upload/olii_essenziali.jpg b/src/server/router/upload/olii_essenziali.jpg old mode 100644 new mode 100755 diff --git a/src/server/router/users_router.js b/src/server/router/users_router.js old mode 100644 new mode 100755 index a2893fc..42ef3ca --- a/src/server/router/users_router.js +++ b/src/server/router/users_router.js @@ -172,7 +172,7 @@ router.post('/', async (req, res) => { return 1; } - const already_registered = recextra || user.aportador_solidario === tools.APORTADOR_NONE; + let already_registered = recextra || user.aportador_solidario === tools.APORTADOR_NONE; // Check if is an other people aportador_solidario @@ -417,7 +417,12 @@ router.post('/dbop', authenticate, async (req, res) => { let ris = await User.DbOp(idapp, mydata); - if (mydata.dbop === 'creaNave') { + if (mydata.dbop === 'creaNaviProvvisorie') { + mydata.provvisoria = true; + const num = await Nave.generaNave(idapp, mydata); + ris = { num }; + } else if (mydata.dbop === 'creaNaviDefinitive') { + mydata.provvisoria = false; const num = await Nave.generaNave(idapp, mydata); ris = { num }; } else if (mydata.dbop === 'delNavi') { @@ -429,10 +434,21 @@ router.post('/dbop', authenticate, async (req, res) => { await Nave.setRiga(idapp, 1); await Nave.setCol(idapp, 1); const num = await Nave.remove({ idapp, date_start : { $gte: tools.IncDateNow(-1000 * 60 * 60 * 24 * 3) } }); + ris = { num }; + } else if (mydata.dbop === 'delNaviProvvisorie') { + const num = await Nave.remove({ idapp, provvisoria: true }); + + const data = await Nave.getLastRigaCol(idapp); + await Nave.setRiga(idapp, data.riga); + await Nave.setCol(idapp, data.col + 1); + ris = { num }; } else if (mydata.dbop === 'visuListaNave') { const mystr = await Nave.showListaOrd(idapp); ris = { mystr }; + } else if (mydata.dbop === 'pulisciNonPresenzeInNave') { + const mystr = await Nave.pulisciNonPresenzeInNave(idapp); + ris = { mystr }; } else if (mydata.dbop === 'checkInserimentiUtentiInNave') { const mystr = await Nave.checkIfDevoAggiungereInNave(idapp); ris = { mystr }; @@ -440,6 +456,8 @@ router.post('/dbop', authenticate, async (req, res) => { const mystr = await ListaIngresso.showListaOrd(idapp); ris = { mystr }; } else if (mydata.dbop === 'initListaIngresso') { + // const aaa = await User.updateMany({ idapp }, { $set: { 'profile.nationality': 'IT' } }); + const num = await ListaIngresso.updateMany({ idapp }, { $set: { added: false } }); ris = { num }; @@ -478,7 +496,7 @@ router.post('/dbop', authenticate, async (req, res) => { let num = 0; lastrec = await User.find({ idapp }).sort({ _id: -1 }).limit(1); - for (let ind = 0; ind < 1; ind++) { + for (let ind = 0; ind < 100; ind++) { let myuser = new User(); myuser._id = new ObjectID(); myuser.ind_order = lastrec[0].ind_order + ind + 1; @@ -487,18 +505,21 @@ router.post('/dbop', authenticate, async (req, res) => { myuser.lang = 'it'; myuser.email = "miaemail@email.it"; myuser.name = 'U' + myuser.ind_order; + myuser.surname = 'Ar' + myuser.ind_order; myuser.verified_email = true; if (myuser.ind_order < 2) myuser.perm = "3"; myuser.username = "Userna_" + myuser.name; myuser.profile.special_req = true; + myuser.profile.nationality = 'IT'; await myuser.save(); num++; } ris = { num }; } else if (mydata.dbop === 'visuPlacca') { - const placca = await Nave.getPlaccaPerDonatore(idapp, parseInt(mydata.riga), parseInt(mydata.col)); + const rec = {}; + const placca = await Nave.getPlaccaPerDonatore(idapp, parseInt(mydata.riga), parseInt(mydata.col), false, rec); telegrambot.sendMsgTelegramToTheAdmin(idapp, placca); @@ -508,7 +529,7 @@ router.post('/dbop', authenticate, async (req, res) => { const visu_nave_Bot = await Settings.getValDbSettings(idapp, 'VISU_NAVE_BOT'); if (visu_nave_Bot) - telegrambot.sendMsgTelegramToTheAdmin(idapp, mystr); + telegrambot.sendMsgTelegramToTheAdmin(idapp, mystr, true); ris = { mystr }; } else if (mydata.dbop === 'getnavibyuser') { diff --git a/src/server/sendemail.js b/src/server/sendemail.js old mode 100644 new mode 100755 diff --git a/src/server/server.js b/src/server/server.js old mode 100644 new mode 100755 diff --git a/src/server/telegram/telegrambot.js b/src/server/telegram/telegrambot.js old mode 100644 new mode 100755 index 33a217e..fb61589 --- a/src/server/telegram/telegrambot.js +++ b/src/server/telegram/telegrambot.js @@ -333,6 +333,14 @@ module.exports = { } nummsgsent++; } + if ((nummsgsent === 1) && (mydata.inviareale)) { + try { + this.sendMsgTelegramToTheManagers(idapp, 'Inviato messaggio a tutti i Donatori della Nave ' + mydata.navemediatore.riga + '.' + mydata.navemediatore.col + '\n' + mymsg) + }catch (e) { + + } + } + } } @@ -353,13 +361,17 @@ module.exports = { } }, - sendMsgTelegramToTheAdmin: async function (idapp, text) { + sendMsgTelegramToTheAdmin: async function (idapp, text, senzaintestazione) { const usersmanagers = await User.getusersManagers(idapp); + let intestaz = emo.ROBOT_FACE + '[BOT-ADMIN]' + emo.ADMIN + ': '; + if (senzaintestazione) + intestaz = ''; + if (usersmanagers) { for (const rec of usersmanagers) { if (User.isAdmin(rec.perm)) { - this.sendMsgTelegramByIdTelegram(idapp, rec.profile.teleg_id, emo.ROBOT_FACE + '[BOT-ADMIN]' + emo.ADMIN + ': ' + text, undefined, undefined, true); + this.sendMsgTelegramByIdTelegram(idapp, rec.profile.teleg_id, intestaz + text, undefined, undefined, true); await tools.snooze(300) } } diff --git a/src/server/tests/seed/seed.js b/src/server/tests/seed/seed.js old mode 100644 new mode 100755 diff --git a/src/server/tests/server.test.js b/src/server/tests/server.test.js old mode 100644 new mode 100755 diff --git a/src/server/tools/general.js b/src/server/tools/general.js old mode 100644 new mode 100755 index 6ec2457..694c536 --- a/src/server/tools/general.js +++ b/src/server/tools/general.js @@ -30,6 +30,7 @@ const subject = process.env.URLBASE_APP1; const publicVapidKey = process.env.PUBLIC_VAPI_KEY; const privateVapidKey = process.env.PRIVATE_VAPI_KEY; +const FIELDS_REGEX = ['username', 'name', 'surname']; // Code goes here const keySize = 256; @@ -197,6 +198,8 @@ module.exports = { MEDIATORE: 'A1 πŸ’¦ ', SONOFUOCO: 0, SONOACQUA: 3, + SONOTERRA: 2, + SONOARIA: 1, }, FieldType: { @@ -634,13 +637,18 @@ module.exports = { let query = []; if (params.filter && params.fieldsearch) { + let myregexp = {}; myregexp = new RegExp(params.filter.trim().replace(' ', '|'), "ig"); const myfilters = []; - params.fieldsearch.forEach((field) => { + params.fieldsearch.forEach((rec) => { const data = {}; - data[field] = myregexp; + if (rec.type === this.FieldType.string) { + data[rec.field] = myregexp; + } else if (rec.type === this.FieldType.number) { + data[rec.field] = parseInt(params.filter.trim()); + } myfilters.push(data); }); @@ -819,6 +827,17 @@ module.exports = { return mydate }, + AddDate(mydate, days) { + let date = new Date(mydate); + date.setTime(date.getTime() + days * 86400000); + return date; + }, + + getRigaColByPosUp(mypos) { + mypos.riga = mypos.riga - mypos.numup; + mypos.col = Math.ceil(mypos.col / (Math.pow(2, mypos.numup))); + }, + appendLeadingZeroes(n) { if (n <= 9) { return "0" + n; @@ -1086,6 +1105,18 @@ module.exports = { } } + if (table === 'navi') { + if ('link_chat' in fieldsvalue) { + return true; + } + if ('date_made_gift' in fieldsvalue) { + return true; + } + if ('made_gift' in fieldsvalue) { + return true; + } + } + return false; }, diff --git a/src/server/tools/server_constants.js b/src/server/tools/server_constants.js old mode 100644 new mode 100755 diff --git a/src/server/tools/shared_nodejs.js b/src/server/tools/shared_nodejs.js old mode 100644 new mode 100755 diff --git a/src/server/views/integrated-mailchimp.html b/src/server/views/integrated-mailchimp.html old mode 100644 new mode 100755