- fixed cookie too down to the screen

- fix verified: if Telegram OK is not necessary the email verification.
- contribtype fix
This commit is contained in:
paoloar77
2022-02-12 22:12:49 +01:00
parent a71f081407
commit 621848d9d7
8 changed files with 732 additions and 341 deletions

View File

@@ -5,66 +5,169 @@ module.exports = {
{ {
"_id" : ObjectID("615a353c002c8298f4495be7"), "_id" : ObjectID("615a353c002c8298f4495be7"),
"idapp" : "1", "idapp" : "1",
"label" : "Dono" "label" : "Dono",
"__v" : 0
}, },
{ {
"_id" : ObjectID("61bc466567de9a1f54b25494"), "_id" : ObjectID("61bc466567de9a1f54b25494"),
"idapp" : "1", "idapp" : "1",
"label" : "Offerta Libera" "label" : "Offerta Libera",
"__v" : 0
}, },
{ {
"_id" : ObjectID("61bc454867de9a1f54b25462"), "_id" : ObjectID("61bc454867de9a1f54b25462"),
"idapp" : "1", "idapp" : "1",
"label" : "Baratto (scambio Beni o Servizi)" "label" : "Baratto (scambio Beni o Servizi)",
"__v" : 0
}, },
{ {
"_id" : ObjectID("61bc482667de9a1f54b2549c"), "_id" : ObjectID("61bc482667de9a1f54b2549c"),
"idapp" : "1", "idapp" : "1",
"label" : "Scambio Lavoro" "label" : "Scambio Lavoro",
"__v" : 0
}, },
{ {
"_id" : ObjectID("61bc482667de9a1f54b2649c"), "_id" : ObjectID("61bc482667de9a1f54b2649c"),
"idapp" : "1", "idapp" : "1",
"label" : "Monete Alternative" "label" : "Monete Alternative",
"__v" : 0
}, },
{ {
"_id" : ObjectID("61bc482667de9a1f54b3549e"), "_id" : ObjectID("61bc482667de9a1f54b3549e"),
"idapp" : "1", "idapp" : "1",
"label" : "Euro" "label" : "Euro",
"__v" : 0
}, },
{ {
"_id" : ObjectID("615a353c002c8298f4495bf7"), "_id" : ObjectID("615a353c002c8298f4495bf7"),
"idapp" : "12", "idapp" : "12",
"label" : "Dono" "label" : "Dono",
"__v" : 0
}, },
{ {
"_id" : ObjectID("61bc466567de9a1f54b254f4"), "_id" : ObjectID("61bc466567de9a1f54b254f4"),
"idapp" : "12", "idapp" : "12",
"label" : "Offerta Libera" "label" : "Offerta Libera",
"__v" : 0
}, },
{ {
"_id" : ObjectID("61bc454867de9a1f54b254f2"), "_id" : ObjectID("61bc454867de9a1f54b254f2"),
"idapp" : "12", "idapp" : "12",
"label" : "Baratto (scambio Beni o Servizi)" "label" : "Baratto (scambio Beni o Servizi)",
"__v" : 0
}, },
{ {
"_id" : ObjectID("61bc482667de9a1f54b25412"), "_id" : ObjectID("61bc482667de9a1f54b25412"),
"idapp" : "12", "idapp" : "12",
"label" : "Scambio Lavoro" "label" : "Scambio Lavoro",
"__v" : 0
}, },
{ {
"_id" : ObjectID("61bc482667de9a1f64b254ab"), "_id" : ObjectID("61bc482667de9a1f64b254ab"),
"idapp" : "12", "idapp" : "12",
"label" : "Monete Alternative" "label" : "Monete Alternative",
"__v" : 0
}, },
{ {
"_id" : ObjectID("61bc482667de9a1f64b254fb"), "_id" : ObjectID("61bc482667de9a1f64b254fb"),
"idapp" : "12", "idapp" : "12",
"label" : "Euro" "label" : "Euro",
"__v" : 0
},
{
"_id" : ObjectID("5dbc6b0801234f629f75e98d"),
"idapp" : "2",
"__v" : 0,
"label" : "Offerta Libera"
},
/* 2 */
{
"_id" : ObjectID("5dbc6b1001234f629f75e98e"),
"idapp" : "2",
"__v" : 0,
"label" : "Ingresso Gratuito"
},
/* 3 */
{
"_id" : ObjectID("5dbc6b1801234f629f75e98f"),
"idapp" : "2",
"__v" : 0,
"label" : "Contributo",
"showprice" : true
},
/* 4 */
{
"_id" : ObjectID("5dbc6b3001234f629f75e990"),
"idapp" : "2",
"__v" : 0
},
{
"_id" : ObjectID("602c315137d9f0738ded312f"),
"idapp" : "10",
"__v" : 0,
"label" : "Contributo",
"showprice" : true
},
/* 7 */
{
"_id" : ObjectID("602c316037d9f0738ded3132"),
"idapp" : "10",
"__v" : 0,
"label" : "Gratuito"
},
/* 8 */
{
"_id" : ObjectID("60514b3f733ce468d09366f2"),
"idapp" : "10",
"__v" : 0,
"label" : "Evento ONLINE Gratuito"
},
{
"_id" : ObjectID("515a353c002c8298f4495bf7"),
"idapp" : "13",
"label" : "Dono",
"__v" : 0
},
{
"_id" : ObjectID("51bc466567de9a1f54b254f4"),
"idapp" : "13",
"label" : "Offerta Libera",
"__v" : 0
},
{
"_id" : ObjectID("51bc454867de9a1f54b254f2"),
"idapp" : "13",
"label" : "Baratto (scambio Beni o Servizi)",
"__v" : 0
},
{
"_id" : ObjectID("51bc482667de9a1f54b25412"),
"idapp" : "13",
"label" : "Scambio Lavoro",
"__v" : 0
},
{
"_id" : ObjectID("51bc482667de9a1f64b254ab"),
"idapp" : "13",
"label" : "Monete Alternative",
"__v" : 0
},
{
"_id" : ObjectID("51bc482667de9a1f64b254fb"),
"idapp" : "13",
"label" : "Euro",
"__v" : 0
}, },
] ]
} }

View File

@@ -2,7 +2,7 @@ module.exports = {
list: [ list: [
{idSector: [1], descr: 'Arredamento'}, {idSector: [1], descr: 'Arredamento'},
{idSector: [1], descr: 'Costruzioni'}, {idSector: [1], descr: 'Costruzioni'},
{idSector: [1], descr: 'Ecovillaggi'}, {idSector: [1], descr: 'Ecovillaggi / Comunità'},
{idSector: [1], descr: 'Giardini'}, {idSector: [1], descr: 'Giardini'},
{idSector: [1], descr: 'Impianti TV'}, {idSector: [1], descr: 'Impianti TV'},
{idSector: [1], descr: 'Pozzi Acqua'}, {idSector: [1], descr: 'Pozzi Acqua'},
@@ -24,6 +24,7 @@ module.exports = {
{idSector: [3], descr: 'Toelettatura cani'}, {idSector: [3], descr: 'Toelettatura cani'},
{idSector: [3], descr: 'Toelettatura gatti'}, {idSector: [3], descr: 'Toelettatura gatti'},
{idSector: [3], descr: 'Vendita prodotti'}, {idSector: [3], descr: 'Vendita prodotti'},
{idSector: [3], descr: 'Cura degli animali'},
{idSector: [3], descr: 'Veterinario'}, {idSector: [3], descr: 'Veterinario'},
{idSector: [4], descr: 'Ballo'}, {idSector: [4], descr: 'Ballo'},
{idSector: [4], descr: 'Canto'}, {idSector: [4], descr: 'Canto'},
@@ -32,14 +33,18 @@ module.exports = {
{idSector: [4], descr: 'Letteratura'}, {idSector: [4], descr: 'Letteratura'},
{idSector: [4], descr: 'Musica'}, {idSector: [4], descr: 'Musica'},
{idSector: [4], descr: 'Pittura'}, {idSector: [4], descr: 'Pittura'},
{idSector: [4], descr: 'Libri'},
{idSector: [4], descr: 'Teatro'},
{idSector: [4], descr: 'Moda'},
{idSector: [5], descr: 'Benessere Corpo'}, {idSector: [5], descr: 'Benessere Corpo'},
{idSector: [5], descr: 'Benessere Olistico'}, {idSector: [5], descr: 'Benessere Olistico'},
{idSector: [5], descr: 'Centro Benessere'}, {idSector: [5], descr: 'Centro Benessere'},
{idSector: [5], descr: 'Gravidanza'}, {idSector: [5], descr: 'Gravidanza'},
{idSector: [5], descr: 'Medicina Alternativa'}, {idSector: [5], descr: 'Medicina Alternativa'},
{idSector: [5], descr: 'Medicina Convenzionale'}, {idSector: [5], descr: 'Medicina Convenzionale'},
{idSector: [5], descr: 'Pronto Soccorso'},
{idSector: [5], descr: 'Operatore Olistico'}, {idSector: [5], descr: 'Operatore Olistico'},
{idSector: [5], descr: 'Operatori'}, {idSector: [5], descr: 'Operatori Sanitari'},
{idSector: [5], descr: 'Salute Corpo'}, {idSector: [5], descr: 'Salute Corpo'},
{idSector: [5], descr: 'Salute Globale'}, {idSector: [5], descr: 'Salute Globale'},
{idSector: [5], descr: 'Salute Psiche'}, {idSector: [5], descr: 'Salute Psiche'},
@@ -52,13 +57,14 @@ module.exports = {
{idSector: [6], descr: 'Frigorista'}, {idSector: [6], descr: 'Frigorista'},
{idSector: [6], descr: 'Giardiniere'}, {idSector: [6], descr: 'Giardiniere'},
{idSector: [6], descr: 'Idraulico'}, {idSector: [6], descr: 'Idraulico'},
{idSector: [6], descr: 'Imbiancatura e tinteggiatura'}, {idSector: [6], descr: 'Imbianchino'},
{idSector: [6], descr: 'Impermeabilizzazioni'}, {idSector: [6], descr: 'Impermeabilizzazioni'},
{idSector: [6], descr: 'Installatore Linea Telefono e Modem'}, {idSector: [6], descr: 'Installatore Linea Telefono e Modem'},
{idSector: [6], descr: 'Installazioni'}, {idSector: [6], descr: 'Installazioni'},
{idSector: [6], descr: 'Restaurazione'}, {idSector: [6], descr: 'Restaurazione'},
{idSector: [6], descr: 'Riparazioni Casa'}, {idSector: [6], descr: 'Riparazioni Casa'},
{idSector: [6], descr: 'Servizio Traslochi'}, {idSector: [6], descr: 'Servizio Traslochi'},
{idSector: [6], descr: 'Riscaldamento'},
{idSector: [6], descr: 'Smontaggio e Montaggio'}, {idSector: [6], descr: 'Smontaggio e Montaggio'},
{idSector: [6], descr: 'Strutturazioni e Riparazioni'}, {idSector: [6], descr: 'Strutturazioni e Riparazioni'},
{idSector: [6], descr: 'Tuttofare'}, {idSector: [6], descr: 'Tuttofare'},
@@ -71,13 +77,21 @@ module.exports = {
{idSector: [7], descr: 'Assistenza Persone'}, {idSector: [7], descr: 'Assistenza Persone'},
{idSector: [7], descr: 'Baby sitter'}, {idSector: [7], descr: 'Baby sitter'},
{idSector: [7], descr: 'Corsi'}, {idSector: [7], descr: 'Corsi'},
{idSector: [7], descr: 'Corsi per Bambini e Adolescenti'},
{idSector: [7], descr: 'Finanza'}, {idSector: [7], descr: 'Finanza'},
{idSector: [7], descr: 'Insegnante'}, {idSector: [7], descr: 'Insegnante'},
{idSector: [7], descr: 'Interprete e traduzioni'}, {idSector: [7], descr: 'Interprete e traduzioni'},
{idSector: [7], descr: 'Istruzione'}, {idSector: [7], descr: 'Educazione'},
{idSector: [7], descr: 'Formazione'},
{idSector: [7], descr: 'Gruppi di Acquisto'},
{idSector: [7], descr: 'Banca del Tempo'},
{idSector: [7], descr: 'Collabora con noi'},
{idSector: [7], descr: 'Eventi'},
{idSector: [7], descr: 'Laboratori'},
{idSector: [7], descr: 'Idee'},
{idSector: [7], descr: 'Progetti'},
{idSector: [7], descr: 'Mobilità'}, {idSector: [7], descr: 'Mobilità'},
{idSector: [7], descr: 'Oggettistica'}, {idSector: [7], descr: 'Oggettistica'},
{idSector: [7], descr: 'Organizzazione eventi'},
{idSector: [7], descr: 'Solidarietà'}, {idSector: [7], descr: 'Solidarietà'},
{idSector: [7], descr: 'Sport'}, {idSector: [7], descr: 'Sport'},
{idSector: [7], descr: 'Trasporti'}, {idSector: [7], descr: 'Trasporti'},
@@ -85,8 +99,10 @@ module.exports = {
{idSector: [8], descr: 'Biologia'}, {idSector: [8], descr: 'Biologia'},
{idSector: [8], descr: 'Chimica'}, {idSector: [8], descr: 'Chimica'},
{idSector: [8], descr: 'Informatica'}, {idSector: [8], descr: 'Informatica'},
{idSector: [8], descr: 'Elettronica'},
{idSector: [8], descr: 'Meccanica'}, {idSector: [8], descr: 'Meccanica'},
{idSector: [8], descr: 'Telefonia'}, {idSector: [8], descr: 'Telefonia'},
{idSector: [9], descr: 'Vacanze'}, {idSector: [9], descr: 'Vacanze'},
], {idSector: [9], descr: 'Receptionist'}
}; ]
}

View File

@@ -59,6 +59,7 @@ module.exports = {
{idSkill: 11, descr: 'Efficientamento energetico'}, {idSkill: 11, descr: 'Efficientamento energetico'},
{idSkill: 11, descr: 'Giardini e terrazze'}, {idSkill: 11, descr: 'Giardini e terrazze'},
{idSkill: 11, descr: 'Interior Design'}, {idSkill: 11, descr: 'Interior Design'},
{idSkill: 11, descr: 'Design'},
{idSkill: 11, descr: 'Intonaco'}, {idSkill: 11, descr: 'Intonaco'},
{idSkill: 11, descr: 'Irrigazione'}, {idSkill: 11, descr: 'Irrigazione'},
{idSkill: 11, descr: 'Lamatura e levigatura parquet'}, {idSkill: 11, descr: 'Lamatura e levigatura parquet'},
@@ -88,6 +89,7 @@ module.exports = {
{idSkill: 14, descr: 'Orto Tradizionale'}, {idSkill: 14, descr: 'Orto Tradizionale'},
{idSkill: 14, descr: 'Permacultura'}, {idSkill: 14, descr: 'Permacultura'},
{idSkill: 14, descr: 'Idroponica'}, {idSkill: 14, descr: 'Idroponica'},
{idSkill: 14, descr: 'Elettrocoltura'},
{idSkill: 14, descr: 'Microrganismi Effettivi (E.M.)'}, {idSkill: 14, descr: 'Microrganismi Effettivi (E.M.)'},
{idSkill: 15, descr: 'Bar'}, {idSkill: 15, descr: 'Bar'},
{idSkill: 15, descr: 'Catering casalingo'}, {idSkill: 15, descr: 'Catering casalingo'},
@@ -127,301 +129,318 @@ module.exports = {
{idSkill: 19, descr: 'Frutta'}, {idSkill: 19, descr: 'Frutta'},
{idSkill: 19, descr: 'Farina'}, {idSkill: 19, descr: 'Farina'},
{idSkill: 19, descr: 'Uova'}, {idSkill: 19, descr: 'Uova'},
{idSkill: 33, descr: 'Estetista'}, {idSkill: 34, descr: 'Scrittore'},
{idSkill: 33, descr: 'Ginnastica in gravidanza'}, {idSkill: 34, descr: 'Editore'},
{idSkill: 33, descr: 'Ginnastica posturale'}, {idSkill: 37, descr: 'Estetista'},
{idSkill: 33, descr: 'Massaggi'}, {idSkill: 37, descr: 'Ginnastica in gravidanza'},
{idSkill: 33, descr: 'Parrucchiere/a'}, {idSkill: 37, descr: 'Ginnastica posturale'},
{idSkill: 33, descr: 'Personal trainer e benessere'}, {idSkill: 37, descr: 'Massaggi'},
{idSkill: 33, descr: 'Shiatsu'}, {idSkill: 37, descr: 'Parrucchiere/a'},
{idSkill: 33, descr: 'Pilates'}, {idSkill: 37, descr: 'Personal trainer e benessere'},
{idSkill: 33, descr: 'Aerobica'}, {idSkill: 37, descr: 'Shiatsu'},
{idSkill: 33, descr: 'Centro dimagrimento'}, {idSkill: 37, descr: 'Pilates'},
{idSkill: 34, descr: 'Trattamenti Energetici'}, {idSkill: 37, descr: 'Aerobica'},
{idSkill: 34, descr: 'Reiki'}, {idSkill: 37, descr: 'Centro dimagrimento'},
{idSkill: 34, descr: 'Yoga'}, {idSkill: 38, descr: 'Trattamenti Energetici'},
{idSkill: 34, descr: 'Feldenkrais'}, {idSkill: 38, descr: 'Reiki'},
{idSkill: 34, descr: 'Musicoterapia'}, {idSkill: 38, descr: 'Yoga'},
{idSkill: 34, descr: 'Watsu'}, {idSkill: 38, descr: 'Feldenkrais'},
{idSkill: 36, descr: 'Ostetrica'}, {idSkill: 38, descr: 'Musicoterapia'},
{idSkill: 36, descr: 'Doula'}, {idSkill: 38, descr: 'Watsu'},
{idSkill: 36, descr: 'Puericultrici'}, {idSkill: 38, descr: 'Educazione visiva'},
{idSkill: 37, descr: 'Terapia Domiciliare'}, {idSkill: 38, descr: 'Meditazione'},
{idSkill: 37, descr: 'Omeopatia'}, {idSkill: 38, descr: 'Mindfulness'},
{idSkill: 37, descr: 'Fitoterapia'}, {idSkill: 38, descr: 'Qi gong'},
{idSkill: 37, descr: 'Agopuntura'}, {idSkill: 39, descr: 'Bagni di foresta'},
{idSkill: 37, descr: 'antroposofica'}, {idSkill: 40, descr: 'Ostetrica'},
{idSkill: 37, descr: 'Ayurvedica'}, {idSkill: 40, descr: 'Doula'},
{idSkill: 37, descr: 'Medicina Tradizionale Cinese (MTC)'}, {idSkill: 40, descr: 'Puericultrici'},
{idSkill: 37, descr: 'Osteopatia'}, {idSkill: 41, descr: 'Terapia Domiciliare'},
{idSkill: 37, descr: 'Chiropratica'}, {idSkill: 41, descr: 'Omeopatia'},
{idSkill: 38, descr: 'Medico di Base'}, {idSkill: 41, descr: 'Fitoterapia'},
{idSkill: 38, descr: 'Pediatra'}, {idSkill: 41, descr: 'Agopuntura'},
{idSkill: 38, descr: 'Infermiere/a'}, {idSkill: 41, descr: 'antroposofica'},
{idSkill: 38, descr: 'Oncologo'}, {idSkill: 41, descr: 'Ayurvedica'},
{idSkill: 38, descr: 'Endocrinologo'}, {idSkill: 41, descr: 'Medicina Tradizionale Cinese (MTC)'},
{idSkill: 38, descr: 'Chirurgo'}, {idSkill: 41, descr: 'Osteopatia'},
{idSkill: 38, descr: 'Ottico'}, {idSkill: 41, descr: 'Chiropratica'},
{idSkill: 38, descr: 'Oculista'}, {idSkill: 41, descr: 'Iridologia'},
{idSkill: 38, descr: 'Ginecologo/a'}, {idSkill: 41, descr: 'Kinesiologia'},
{idSkill: 38, descr: 'Podologo'}, {idSkill: 41, descr: 'Morfochirologia'},
{idSkill: 40, descr: 'OSS (Operatore Socio Sanitario)'}, {idSkill: 42, descr: 'Medico di Base'},
{idSkill: 41, descr: 'Fisioterapia'}, {idSkill: 42, descr: 'Pediatra'},
{idSkill: 41, descr: 'Logopedia'}, {idSkill: 42, descr: 'Infermiere/a'},
{idSkill: 41, descr: 'Nutrizionista'}, {idSkill: 42, descr: 'Oncologo'},
{idSkill: 41, descr: 'Osteopata'}, {idSkill: 42, descr: 'Endocrinologo'},
{idSkill: 41, descr: 'Dentista'}, {idSkill: 42, descr: 'Chirurgo'},
{idSkill: 41, descr: 'Dermatologo'}, {idSkill: 42, descr: 'Ottico'},
{idSkill: 41, descr: 'Dieta a zona'}, {idSkill: 42, descr: 'Oculista'},
{idSkill: 41, descr: 'Assistenza Socio Sanitaria'}, {idSkill: 42, descr: 'Ginecologo/a'},
{idSkill: 41, descr: 'Assistenza infermieristica'}, {idSkill: 42, descr: 'Podologo'},
{idSkill: 42, descr: 'Naturopata'}, {idSkill: 45, descr: 'OSS'},
{idSkill: 42, descr: 'Igienismo Naturale'}, {idSkill: 46, descr: 'Fisioterapia'},
{idSkill: 43, descr: 'Counseling psicologico'}, {idSkill: 46, descr: 'Logopedia'},
{idSkill: 43, descr: 'Facilitazione-Orientamento e Tessitura Sociale'}, {idSkill: 46, descr: 'Nutrizionista'},
{idSkill: 43, descr: 'Psicanalista'}, {idSkill: 46, descr: 'Osteopata'},
{idSkill: 43, descr: 'Assistenza Demenze Senili'}, {idSkill: 46, descr: 'Dentista'},
{idSkill: 43, descr: 'Psichiatra'}, {idSkill: 46, descr: 'Dermatologo'},
{idSkill: 43, descr: 'Psicologo e coaching'}, {idSkill: 46, descr: 'Dieta a zona'},
{idSkill: 43, descr: 'Psicologo infantile'}, {idSkill: 46, descr: 'Assistenza Socio Sanitaria'},
{idSkill: 43, descr: 'Psicoterapia cognitivo comportamentale'}, {idSkill: 46, descr: 'Assistenza infermieristica'},
{idSkill: 44, descr: 'Assistenza anziani'}, {idSkill: 47, descr: 'Naturopata'},
{idSkill: 45, descr: 'Centro Olistico'}, {idSkill: 47, descr: 'Igienismo Naturale'},
{idSkill: 45, descr: 'Centro Benessere'}, {idSkill: 48, descr: 'Counseling psicologico'},
{idSkill: 46, descr: 'Dichiarazione di conformità impianto elettrico'}, {idSkill: 48, descr: 'Facilitazione-Orientamento e Tessitura Sociale'},
{idSkill: 46, descr: 'Dichiarazione di conformità impianto gas'}, {idSkill: 48, descr: 'Psicanalista'},
{idSkill: 46, descr: 'Dichiarazione di rispondenza impianto idrico'}, {idSkill: 48, descr: 'Assistenza Demenze Senili'},
{idSkill: 46, descr: 'Dichiarazione di rispondenza impianto termico'}, {idSkill: 48, descr: 'Psichiatra'},
{idSkill: 48, descr: 'Psicologo e coaching'},
{idSkill: 48, descr: 'Psicologo infantile'},
{idSkill: 48, descr: 'Psicoterapia cognitivo comportamentale'},
{idSkill: 49, descr: 'Assistenza anziani'},
{idSkill: 50, descr: 'Centro Olistico'},
{idSkill: 50, descr: 'Centro Benessere'},
{idSkill: 50, descr: 'Centro Anziani'},
{idSkill: 51, descr: 'Dichiarazione di conformità impianto elettrico'},
{idSkill: 51, descr: 'Dichiarazione di conformità impianto gas'},
{idSkill: 51, descr: 'Dichiarazione di rispondenza impianto idrico'},
{idSkill: 51, descr: 'Dichiarazione di rispondenza impianto termico'},
{idSkill: 2, descr: 'Piastrellista'}, {idSkill: 2, descr: 'Piastrellista'},
{idSkill: 54, descr: 'Impermeabilizzazione balcone'}, {idSkill: 59, descr: 'Impermeabilizzazione balcone'},
{idSkill: 54, descr: 'Impermeabilizzazione muri controterra'}, {idSkill: 59, descr: 'Impermeabilizzazione muri controterra'},
{idSkill: 54, descr: 'Impermeabilizzazione terrazzo'}, {idSkill: 59, descr: 'Impermeabilizzazione terrazzo'},
{idSkill: 54, descr: 'Impermeabilizzazione tetto'}, {idSkill: 59, descr: 'Impermeabilizzazione tetto'},
{idSkill: 56, descr: 'antifurto casa'}, {idSkill: 61, descr: 'antifurto casa'},
{idSkill: 56, descr: 'aria condizionata'}, {idSkill: 61, descr: 'aria condizionata'},
{idSkill: 56, descr: 'Installazione ascensore'}, {idSkill: 61, descr: 'Installazione ascensore'},
{ {
idSkill: 56, idSkill: 61,
descr: 'Installazione Assistenza Caldaie/Condizionatori/Camini e stufe', descr: 'Installazione Assistenza Caldaie/Condizionatori/Camini e stufe',
}, },
{idSkill: 56, descr: 'Automazione basculante'}, {idSkill: 61, descr: 'Automazione basculante'},
{idSkill: 56, descr: 'Caldaia a condensazione'}, {idSkill: 61, descr: 'Caldaia a condensazione'},
{idSkill: 56, descr: 'Camino'}, {idSkill: 61, descr: 'Camino'},
{idSkill: 56, descr: 'Cancello'}, {idSkill: 61, descr: 'Cancello'},
{idSkill: 56, descr: 'Canna fumaria'}, {idSkill: 61, descr: 'Canna fumaria'},
{idSkill: 56, descr: 'Citofono'}, {idSkill: 61, descr: 'Citofono'},
{idSkill: 56, descr: 'Elettrodomestici'}, {idSkill: 61, descr: 'Elettrodomestici'},
{idSkill: 56, descr: 'Impianti elettrici'}, {idSkill: 61, descr: 'Impianti elettrici'},
{idSkill: 56, descr: 'Impianto fotovoltaico'}, {idSkill: 61, descr: 'Impianto fotovoltaico'},
{idSkill: 56, descr: 'Inferriate'}, {idSkill: 61, descr: 'Inferriate'},
{idSkill: 56, descr: 'Pannelli solari'}, {idSkill: 61, descr: 'Pannelli solari'},
{idSkill: 56, descr: 'Parabola e antenna'}, {idSkill: 61, descr: 'Parabola e antenna'},
{idSkill: 56, descr: 'Pompa di calore'}, {idSkill: 61, descr: 'Pompa di calore'},
{idSkill: 56, descr: 'Porta garage'}, {idSkill: 61, descr: 'Porta garage'},
{idSkill: 56, descr: 'Rampe per disabili'}, {idSkill: 61, descr: 'Rampe per disabili'},
{idSkill: 56, descr: 'Recinzioni'}, {idSkill: 61, descr: 'Recinzioni'},
{idSkill: 56, descr: 'Sanitari'}, {idSkill: 61, descr: 'Sanitari'},
{idSkill: 56, descr: 'Scaldabagno a gas'}, {idSkill: 61, descr: 'Scaldabagno a gas'},
{idSkill: 56, descr: 'Stufa a legna'}, {idSkill: 61, descr: 'Stufa a legna'},
{idSkill: 56, descr: 'Stufa a pellet'}, {idSkill: 61, descr: 'Stufa a pellet'},
{idSkill: 56, descr: 'Telecamere'}, {idSkill: 61, descr: 'Telecamere'},
{idSkill: 56, descr: 'Telecamere esterne'}, {idSkill: 61, descr: 'Telecamere esterne'},
{idSkill: 56, descr: 'Chiusura veranda'}, {idSkill: 61, descr: 'Chiusura veranda'},
{idSkill: 56, descr: 'Pensiline'}, {idSkill: 61, descr: 'Pensiline'},
{idSkill: 56, descr: 'Pergolato'}, {idSkill: 61, descr: 'Pergolato'},
{idSkill: 56, descr: 'Zanzariere'}, {idSkill: 61, descr: 'Zanzariere'},
{idSkill: 57, descr: 'Restauratore mobili'}, {idSkill: 62, descr: 'Restauratore mobili'},
{idSkill: 57, descr: 'Restauro lampadari'}, {idSkill: 62, descr: 'Restauro lampadari'},
{idSkill: 57, descr: 'Restauro legno'}, {idSkill: 62, descr: 'Restauro legno'},
{idSkill: 57, descr: 'Restauro mobili'}, {idSkill: 62, descr: 'Restauro mobili'},
{idSkill: 57, descr: 'Restauro sedie'}, {idSkill: 62, descr: 'Restauro sedie'},
{idSkill: 58, descr: 'Coibentazione tetto'}, {idSkill: 63, descr: 'Coibentazione tetto'},
{idSkill: 65, descr: 'Forniture Legna'},
{idSkill: 65, descr: 'Forniture Pellet'},
{idSkill: 13, descr: 'Cassaforte'}, {idSkill: 13, descr: 'Cassaforte'},
{idSkill: 13, descr: 'Citofono senza fili'}, {idSkill: 13, descr: 'Citofono senza fili'},
{idSkill: 13, descr: 'Videocitofono citofono e campanelli'}, {idSkill: 13, descr: 'Videocitofono citofono e campanelli'},
{idSkill: 60, descr: 'Servizio di smontaggio e montaggio'}, {idSkill: 66, descr: 'Servizio di smontaggio e montaggio'},
{idSkill: 61, descr: 'Piscine'}, {idSkill: 67, descr: 'Piscine'},
{idSkill: 61, descr: 'Porte automatiche'}, {idSkill: 67, descr: 'Porte automatiche'},
{idSkill: 61, descr: 'Porte e porte blindate'}, {idSkill: 67, descr: 'Porte e porte blindate'},
{idSkill: 61, descr: 'Porte tagliafuoco'}, {idSkill: 67, descr: 'Porte tagliafuoco'},
{idSkill: 61, descr: 'Porticati in ferro'}, {idSkill: 67, descr: 'Porticati in ferro'},
{idSkill: 61, descr: 'Porticato in legno'}, {idSkill: 67, descr: 'Porticato in legno'},
{idSkill: 61, descr: 'Portoni'}, {idSkill: 67, descr: 'Portoni'},
{idSkill: 61, descr: 'Posa carta da parati'}, {idSkill: 67, descr: 'Posa carta da parati'},
{idSkill: 61, descr: 'Posa laminato'}, {idSkill: 67, descr: 'Posa laminato'},
{idSkill: 61, descr: 'Posa moquette'}, {idSkill: 67, descr: 'Posa moquette'},
{idSkill: 61, descr: 'Posa parquet'}, {idSkill: 67, descr: 'Posa parquet'},
{idSkill: 61, descr: 'Posa parquet laminato'}, {idSkill: 67, descr: 'Posa parquet laminato'},
{idSkill: 61, descr: 'Posa pavimento pvc'}, {idSkill: 67, descr: 'Posa pavimento pvc'},
{idSkill: 61, descr: 'Posa piastrelle'}, {idSkill: 67, descr: 'Posa piastrelle'},
{idSkill: 18, descr: 'Detergenti'}, {idSkill: 18, descr: 'Detergenti'},
{idSkill: 18, descr: 'Oggettistica'}, {idSkill: 18, descr: 'Oggettistica'},
{idSkill: 64, descr: 'Abiti su misura'}, {idSkill: 70, descr: 'Produzione Abiti'},
{idSkill: 64, descr: 'Abiti usati'}, {idSkill: 70, descr: 'Abiti usati'},
{idSkill: 64, descr: 'Camicie personalizzate'}, {idSkill: 70, descr: 'Camicie personalizzate'},
{idSkill: 64, descr: 'Piccola sartoria'}, {idSkill: 70, descr: 'Piccola sartoria'},
{idSkill: 64, descr: 'Sartoria e abiti da cerimonia'}, {idSkill: 70, descr: 'Sartoria e abiti da cerimonia'},
{idSkill: 65, descr: 'Broker assicurativo'}, {idSkill: 71, descr: 'Broker assicurativo'},
{idSkill: 66, descr: 'Badante'}, {idSkill: 72, descr: 'Badante'},
{idSkill: 67, descr: 'Dichiarazione dei redditi'}, {idSkill: 73, descr: 'Dichiarazione dei redditi'},
{idSkill: 68, descr: 'Legale'}, {idSkill: 74, descr: 'Legale'},
{idSkill: 69, descr: 'Diversamente abili'}, {idSkill: 75, descr: 'Diversamente abili'},
{idSkill: 69, descr: 'Guardia del corpo'}, {idSkill: 75, descr: 'Guardia del corpo'},
{idSkill: 71, descr: 'Corsi di chitarra per principianti'}, {idSkill: 77, descr: 'Chitarra per principianti'},
{idSkill: 71, descr: 'Corsi di cucina'}, {idSkill: 77, descr: 'Cucina'},
{idSkill: 71, descr: 'Corsi di cucina per bambini'}, {idSkill: 77, descr: 'Giardinaggio'},
{idSkill: 71, descr: 'Corsi di giardinaggio'}, {idSkill: 77, descr: 'Lingue'},
{idSkill: 71, descr: 'Corsi di lingue'}, {idSkill: 77, descr: 'Massaggio'},
{idSkill: 71, descr: 'Corsi di massaggio'}, {idSkill: 77, descr: 'Teatro e recitazione'},
{idSkill: 71, descr: 'Corsi di musica per bambini'}, {idSkill: 77, descr: 'Yoga'},
{idSkill: 71, descr: 'Corsi di teatro e recitazione'}, {idSkill: 77, descr: 'Tai Chi'},
{idSkill: 71, descr: 'Corsi di yoga'}, {idSkill: 77, descr: 'Kung Fu'},
{idSkill: 71, descr: 'Corso autostima'}, {idSkill: 77, descr: 'Karate'},
{idSkill: 71, descr: 'Corso barman'}, {idSkill: 77, descr: 'Aikido'},
{idSkill: 71, descr: 'Corso di calligrafia'}, {idSkill: 77, descr: 'Judo'},
{idSkill: 71, descr: 'Corso di comunicazione e public speaking'}, {idSkill: 77, descr: 'Yoga della risata'},
{idSkill: 71, descr: 'Corso di cucito'}, {idSkill: 77, descr: 'Autostima'},
{idSkill: 71, descr: 'Corso di disegno e pittura'}, {idSkill: 77, descr: 'Barman'},
{idSkill: 71, descr: 'Corso di dizione'}, {idSkill: 77, descr: 'Calligrafia'},
{idSkill: 71, descr: 'Corso di grafica e grafica pubblicitaria'}, {idSkill: 77, descr: 'Comunicazione e public speaking'},
{idSkill: 71, descr: 'Corso di marketing'}, {idSkill: 77, descr: 'Cucito'},
{idSkill: 71, descr: 'Corso di teatro per bambini'}, {idSkill: 77, descr: 'Disegno e pittura'},
{idSkill: 71, descr: 'Corso difesa personale'}, {idSkill: 77, descr: 'Dizione'},
{idSkill: 71, descr: 'Corso falegnameria'}, {idSkill: 77, descr: 'Grafica e grafica pubblicitaria'},
{idSkill: 71, descr: 'Corso makeup artist'}, {idSkill: 77, descr: 'Marketing'},
{idSkill: 71, descr: 'Corso pasticceria'}, {idSkill: 77, descr: 'Difesa personale'},
{idSkill: 71, descr: 'Corso patente nautica'}, {idSkill: 77, descr: 'Falegnameria'},
{idSkill: 71, descr: 'Corso public speaking'}, {idSkill: 77, descr: 'Makeup artist'},
{idSkill: 72, descr: 'Consulenza bancaria e finanziaria'}, {idSkill: 77, descr: 'Pasticceria'},
{idSkill: 73, descr: 'Asilo Nido'}, {idSkill: 77, descr: 'Patente nautica'},
{idSkill: 73, descr: 'Scuola Elementare'}, {idSkill: 77, descr: 'Public speaking'},
{idSkill: 73, descr: 'Scuola Media'}, {idSkill: 77, descr: 'Riconoscimento Piante'},
{idSkill: 73, descr: 'Scuola Superiore'}, {idSkill: 77, descr: 'Antichi Mestieri'},
{idSkill: 73, descr: 'Scuola Universitaria'}, {idSkill: 77, descr: 'Produzione di Olii per automedicazione'},
{idSkill: 75, descr: 'Aiuto tesi'}, {idSkill: 77, descr: 'Orto Sinergico'},
{idSkill: 75, descr: 'Parentale e supporto all\'istruzione'}, {idSkill: 78, descr: 'Corso di Yoga'},
{idSkill: 75, descr: 'Privatista'}, {idSkill: 78, descr: 'Corso di Teatro'},
{idSkill: 75, descr: 'Ripetizioni elementari'}, {idSkill: 78, descr: 'Corso di Musica'},
{idSkill: 75, descr: 'Ripetizioni medie'}, {idSkill: 78, descr: 'Corso di Canto'},
{idSkill: 75, descr: 'Ripetizioni superiori'}, {idSkill: 78, descr: 'Corso di Cucina'},
{idSkill: 75, descr: 'Ripetizioni università'}, {idSkill: 78, descr: 'Corso di Disegno'},
{idSkill: 75, descr: 'Scuola Parentale'}, {idSkill: 79, descr: 'Consulenza bancaria e finanziaria'},
{idSkill: 75, descr: 'Lezioni di italiano'}, {idSkill: 80, descr: 'Asilo Nido'},
{idSkill: 75, descr: 'Lezioni di musica'}, {idSkill: 80, descr: 'Scuola Elementare'},
{idSkill: 75, descr: 'Lezioni strumenti musicali'}, {idSkill: 80, descr: 'Scuola Media'},
{idSkill: 76, descr: 'Trasporto Solidale'}, {idSkill: 80, descr: 'Scuola Superiore'},
{idSkill: 78, descr: 'Addio al celibato/nubilato'}, {idSkill: 80, descr: 'Scuola Universitaria'},
{idSkill: 78, descr: 'Buffet di compleanno'}, {idSkill: 82, descr: 'Parentale e supporto all\'istruzione'},
{idSkill: 78, descr: 'Cake designer'}, {idSkill: 82, descr: 'Privatista'},
{idSkill: 78, descr: 'Cantante per matrimonio'}, {idSkill: 82, descr: 'Ripetizioni elementari'},
{idSkill: 78, descr: 'Compleanni'}, {idSkill: 82, descr: 'Ripetizioni medie'},
{idSkill: 78, descr: 'Gruppi musicali per matrimoni'}, {idSkill: 82, descr: 'Ripetizioni superiori'},
{idSkill: 78, descr: 'Location per eventi'}, {idSkill: 82, descr: 'Ripetizioni università'},
{idSkill: 78, descr: 'Mago per bambini'}, {idSkill: 82, descr: 'Scuola Parentale'},
{idSkill: 78, descr: 'Makeup artist e trucco sposa'}, {idSkill: 82, descr: 'Home Schooling'},
{idSkill: 78, descr: 'Matrimoni'}, {idSkill: 82, descr: 'Lezioni di italiano'},
{idSkill: 78, descr: 'Noleggio attrezzature e catering'}, {idSkill: 82, descr: 'Lezioni di musica'},
{idSkill: 78, descr: 'Noleggio gazebo'}, {idSkill: 82, descr: 'Lezioni strumenti musicali'},
{idSkill: 78, descr: 'Noleggio gonfiabili'}, {idSkill: 82, descr: 'Asili nel Bosco'},
{idSkill: 78, descr: 'Ricevimento e sala ricevimenti'}, {idSkill: 82, descr: 'Asili Montessoriani'},
{idSkill: 78, descr: 'Torta matrimonio'}, {idSkill: 82, descr: 'Asili Steineriani'},
{idSkill: 78, descr: 'Torte di compleanno'}, {idSkill: 82, descr: 'Asili Sistemici'},
{idSkill: 78, descr: 'Trucco matrimonio'}, {idSkill: 91, descr: 'Trasporto Solidale'},
{idSkill: 78, descr: 'Video matrimonio'}, {idSkill: 93, descr: 'Supporto nella spesa'},
{idSkill: 78, descr: 'Ville per matrimoni'}, {idSkill: 93, descr: 'Volontariato'},
{idSkill: 78, descr: 'Wedding planner'}, {idSkill: 94, descr: 'Agonistico'},
{idSkill: 79, descr: 'Supporto nella spesa'}, {idSkill: 94, descr: 'Escursioni per esperti'},
{idSkill: 79, descr: 'Volontariato'}, {idSkill: 94, descr: 'Escursioni semplici'},
{idSkill: 80, descr: 'Agonistico'}, {idSkill: 94, descr: 'Non Agonistico'},
{idSkill: 80, descr: 'Escursioni per esperti'}, {idSkill: 94, descr: 'Corsi di arti marziali'},
{idSkill: 80, descr: 'Escursioni semplici'}, {idSkill: 95, descr: 'Noleggio furgoni'},
{idSkill: 80, descr: 'Non Agonistico'}, {idSkill: 95, descr: 'Noleggio minivan'},
{idSkill: 80, descr: 'Corsi di arti marziali'}, {idSkill: 95, descr: 'Autista privato'},
{idSkill: 81, descr: 'Noleggio furgoni'}, {idSkill: 95, descr: 'Car Sharing'},
{idSkill: 81, descr: 'Noleggio minivan'},
{idSkill: 81, descr: 'Autista privato'},
{idSkill: 18, descr: 'Sapone'}, {idSkill: 18, descr: 'Sapone'},
{idSkill: 18, descr: 'Cosmesi'}, {idSkill: 18, descr: 'Cosmesi'},
{idSkill: 18, descr: 'Shampoo'}, {idSkill: 18, descr: 'Shampoo'},
{idSkill: 82, descr: 'Agenzia video'}, {idSkill: 96, descr: 'Agenzia video'},
{idSkill: 82, descr: 'Corso videomaker'}, {idSkill: 96, descr: 'Corso videomaker'},
{idSkill: 82, descr: 'Noleggio videoproiettori'}, {idSkill: 96, descr: 'Noleggio videoproiettori'},
{idSkill: 82, descr: 'Puntamento parabola'}, {idSkill: 96, descr: 'Puntamento parabola'},
{idSkill: 82, descr: 'Recording studio'}, {idSkill: 96, descr: 'Recording studio'},
{idSkill: 82, descr: 'Riparazione altoparlanti'}, {idSkill: 96, descr: 'Riparazione altoparlanti'},
{idSkill: 82, descr: 'Riparazione casse acustiche'}, {idSkill: 96, descr: 'Riparazione casse acustiche'},
{idSkill: 82, descr: 'Riparazione stereo'}, {idSkill: 96, descr: 'Riparazione stereo'},
{idSkill: 82, descr: 'Riprese con drone'}, {idSkill: 96, descr: 'Riprese con drone'},
{idSkill: 82, descr: 'Service audio'}, {idSkill: 96, descr: 'Service audio'},
{idSkill: 82, descr: 'Studio registrazione audio'}, {idSkill: 96, descr: 'Studio registrazione audio'},
{idSkill: 82, descr: 'Tecnico del suono'}, {idSkill: 96, descr: 'Tecnico del suono'},
{idSkill: 82, descr: 'Videomaking'}, {idSkill: 96, descr: 'Videomaking'},
{idSkill: 29, descr: 'Book fotografico'}, {idSkill: 30, descr: 'Book fotografico'},
{idSkill: 29, descr: 'Corso di fotografia'}, {idSkill: 30, descr: 'Corso di fotografia'},
{idSkill: 29, descr: 'Foto e-commerce'}, {idSkill: 30, descr: 'Foto e-commerce'},
{idSkill: 29, descr: 'Foto prima comunione'}, {idSkill: 30, descr: 'Foto prima comunione'},
{idSkill: 29, descr: 'Fotografia di moda'}, {idSkill: 30, descr: 'Fotografia di moda'},
{idSkill: 29, descr: 'Fotografo battesimo'}, {idSkill: 30, descr: 'Fotografo battesimo'},
{idSkill: 29, descr: 'Fotografo industriale'}, {idSkill: 30, descr: 'Fotografo industriale'},
{idSkill: 29, descr: 'Fotografo interni'}, {idSkill: 30, descr: 'Fotografo interni'},
{idSkill: 29, descr: 'Fotografo matrimonio'}, {idSkill: 30, descr: 'Fotografo matrimonio'},
{idSkill: 29, descr: 'Fotografo neonati'}, {idSkill: 30, descr: 'Fotografo neonati'},
{idSkill: 29, descr: 'Recupero foto e video cancellati'}, {idSkill: 30, descr: 'Recupero foto e video cancellati'},
{idSkill: 29, descr: 'Riparazione macchine fotografiche'}, {idSkill: 30, descr: 'Riparazione macchine fotografiche'},
{idSkill: 29, descr: 'Servizi fotografici bambini'}, {idSkill: 30, descr: 'Servizi fotografici bambini'},
{idSkill: 85, descr: 'Assistenza computer/software/stampante'}, {idSkill: 99, descr: 'Esperto Informatico'},
{idSkill: 85, descr: 'Corsi Informatica'}, {idSkill: 99, descr: 'Assistenza computer/software/stampante'},
{idSkill: 85, descr: 'Corso di programmazione'}, {idSkill: 99, descr: 'Corsi Informatica'},
{idSkill: 85, descr: 'Noleggio fotocopiatrici e stampanti'}, {idSkill: 99, descr: 'Corso di programmazione'},
{idSkill: 85, descr: 'Realizzazione e-commerce'}, {idSkill: 99, descr: 'Noleggio fotocopiatrici e stampanti'},
{idSkill: 85, descr: 'Realizzazione App per Cellulare'}, {idSkill: 99, descr: 'Realizzazione e-commerce'},
{idSkill: 85, descr: 'Recupero dati'}, {idSkill: 99, descr: 'Realizzazione App per Cellulare'},
{idSkill: 85, descr: 'Rendering 3D'}, {idSkill: 99, descr: 'Recupero dati'},
{idSkill: 85, descr: 'Riparazione iMac'}, {idSkill: 99, descr: 'Rendering 3D'},
{idSkill: 85, descr: 'Riparazione notebook'}, {idSkill: 99, descr: 'Riparazione iMac'},
{idSkill: 85, descr: 'Riparazione plotter'}, {idSkill: 99, descr: 'Riparazione notebook'},
{idSkill: 85, descr: 'Riparazione stampanti'}, {idSkill: 99, descr: 'Riparazione plotter'},
{idSkill: 85, descr: 'Riparazione tablet'}, {idSkill: 99, descr: 'Riparazione stampanti'},
{idSkill: 85, descr: 'Sistemista'}, {idSkill: 99, descr: 'Riparazione tablet'},
{idSkill: 85, descr: 'Soluzioni informatiche'}, {idSkill: 99, descr: 'Sistemista'},
{idSkill: 85, descr: 'Sviluppatore'}, {idSkill: 99, descr: 'Soluzioni informatiche'},
{idSkill: 85, descr: 'Sviluppo app per cellulare'}, {idSkill: 99, descr: 'Sviluppatore'},
{idSkill: 85, descr: 'Sviluppo software'}, {idSkill: 99, descr: 'Sviluppo app per cellulare'},
{idSkill: 85, descr: 'Tecnico informatico'}, {idSkill: 99, descr: 'Sviluppo software'},
{idSkill: 85, descr: 'Web Agency'}, {idSkill: 99, descr: 'Tecnico informatico'},
{idSkill: 85, descr: 'Webmaster'}, {idSkill: 99, descr: 'Web Agency'},
{idSkill: 85, descr: 'WordPress developer'}, {idSkill: 99, descr: 'Webmaster'},
{idSkill: 86, descr: 'Antifurti auto e moto'}, {idSkill: 99, descr: 'WordPress developer'},
{idSkill: 86, descr: 'Gommista'}, {idSkill: 100, descr: 'Riparazione Elettrodomestici'},
{idSkill: 86, descr: 'Installazione autoradio'}, {idSkill: 100, descr: 'Riparazione Strumenti Informatici'},
{idSkill: 86, descr: 'Lavaggio auto'}, {idSkill: 101, descr: 'Antifurti auto e moto'},
{idSkill: 86, descr: 'Lavaggio auto a domicilio'}, {idSkill: 101, descr: 'Gommista'},
{idSkill: 86, descr: 'Lavaggio moto'}, {idSkill: 101, descr: 'Installazione autoradio'},
{idSkill: 86, descr: 'Lavaggio tappezzeria auto'}, {idSkill: 101, descr: 'Lavaggio auto'},
{idSkill: 86, descr: 'Lucidatura auto'}, {idSkill: 101, descr: 'Lavaggio auto a domicilio'},
{idSkill: 86, descr: 'Manutenzione Auto'}, {idSkill: 101, descr: 'Lavaggio moto'},
{idSkill: 86, descr: 'Manutenzione Motocicli/Biciclette'}, {idSkill: 101, descr: 'Lavaggio tappezzeria auto'},
{idSkill: 86, descr: 'Restauro auto d\'epoca'}, {idSkill: 101, descr: 'Lucidatura auto'},
{idSkill: 86, descr: 'Restauro moto d\'epoca'}, {idSkill: 101, descr: 'Manutenzione Auto'},
{idSkill: 86, descr: 'Revisione bombole metano'}, {idSkill: 101, descr: 'Manutenzione Motocicli/Biciclette'},
{idSkill: 86, descr: 'Revisione impianto gpl'}, {idSkill: 101, descr: 'Restauro auto d\'epoca'},
{idSkill: 86, descr: 'Riparazione carrozzeria auto'}, {idSkill: 101, descr: 'Restauro moto d\'epoca'},
{idSkill: 86, descr: 'Riparazione cerchi in lega'}, {idSkill: 101, descr: 'Revisione bombole metano'},
{idSkill: 86, descr: 'Riparazione radiatori'}, {idSkill: 101, descr: 'Revisione impianto gpl'},
{idSkill: 86, descr: 'Riparazione sedili auto'}, {idSkill: 101, descr: 'Riparazione carrozzeria auto'},
{idSkill: 86, descr: 'Sanificazione auto'}, {idSkill: 101, descr: 'Riparazione cerchi in lega'},
{idSkill: 86, descr: 'Tagliando auto'}, {idSkill: 101, descr: 'Riparazione radiatori'},
{idSkill: 86, descr: 'Tappezziere per auto'}, {idSkill: 101, descr: 'Riparazione sedili auto'},
{idSkill: 87, descr: 'Riparazione cellulari e telefoni'}, {idSkill: 101, descr: 'Sanificazione auto'},
{idSkill: 87, descr: 'Riparazione schede elettroniche'}, {idSkill: 101, descr: 'Tagliando auto'},
{idSkill: 81, descr: 'Noleggio auto e veicoli'}, {idSkill: 101, descr: 'Tappezziere per auto'},
{idSkill: 81, descr: 'Noleggio camper'}, {idSkill: 102, descr: 'Riparazione cellulari e telefoni'},
{idSkill: 81, descr: 'Noleggio Camper e roulotte ad uso vacanze'}, {idSkill: 102, descr: 'Riparazione schede elettroniche'},
{idSkill: 81, descr: 'Noleggio roulotte'}, {idSkill: 95, descr: 'Noleggio auto e veicoli'},
{idSkill: 88, descr: 'Affitto case'}, {idSkill: 95, descr: 'Noleggio camper'},
{idSkill: 88, descr: 'Affitto camere'}, {idSkill: 95, descr: 'Noleggio Camper e roulotte ad uso vacanze'},
{idSkill: 88, descr: 'Agenzia viaggi'}, {idSkill: 95, descr: 'Noleggio roulotte'},
{idSkill: 88, descr: 'Vacanze studio'}, {idSkill: 103, descr: 'Affitto casa'},
{idSkill: 88, descr: 'B&B'}, {idSkill: 103, descr: 'Affitto camera'},
], {idSkill: 103, descr: 'Agenzia viaggi'},
{idSkill: 103, descr: 'Vacanze studio'},
{idSkill: 103, descr: 'Offresi ospitalità'},
{idSkill: 103, descr: 'Offresi ospitalità (per 1 notte)'},
{idSkill: 103, descr: 'Offresi ospitalità (per 3 notti)'},
{idSkill: 103, descr: 'Offresi ospitalità (per 7 notti)'},
{idSkill: 103, descr: 'B&B'}],
}; };

View File

@@ -271,6 +271,8 @@ function getTableByTableName(tablename) {
mytable = MyEvent; mytable = MyEvent;
else if (tablename === 'contribtypes') else if (tablename === 'contribtypes')
mytable = Contribtype; mytable = Contribtype;
else if (tablename === 'contribtype')
mytable = Contribtype;
else if (tablename === 'paymenttypes') else if (tablename === 'paymenttypes')
mytable = PaymentType; mytable = PaymentType;
else if (tablename === 'disciplines') else if (tablename === 'disciplines')
@@ -864,32 +866,32 @@ router.patch('/callfunz', authenticate, async (req, res) => {
}); });
router.get('/copyfromapptoapp/:idapporig/:idappdest', async (req, res) => { router.get('/copyfromapptoapp/:idapporig/:idappdest', async (req, res) => {
// const idapporig = req.params.idapporig; // const idapporig = req.params.idapporig;
// const idappdest = req.params.idappdest; // const idappdest = req.params.idappdest;
// if (!idapporig || !idappdest) // if (!idapporig || !idappdest)
// res.status(400).send(); // res.status(400).send();
// //
// const mytablesstr = ['settings', 'users', 'templemail', 'contribtype']; // const mytablesstr = ['settings', 'users', 'templemail'];
// //
// try { // try {
// let numrectot = 0; // let numrectot = 0;
// for (const table of mytablesstr) { // for (const table of mytablesstr) {
// const mytable = getTableByTableName(table); // const mytable = getTableByTableName(table);
// //
// tools.mylogshow('copyfromapptoapp: ', table, mytable); // tools.mylogshow('copyfromapptoapp: ', table, mytable);
// //
// await mytable.DuplicateAllRecords(idapporig, idappdest).then((numrec) => { // await mytable.DuplicateAllRecords(idapporig, idappdest).then((numrec) => {
// // tools.mylogshow(' REC TO MODIFY: ', rec); // // tools.mylogshow(' REC TO MODIFY: ', rec);
// numrectot += numrec // numrectot += numrec
// }); // });
// } // }
// //
// res.send({ code: server_constants.RIS_CODE_OK, msg: '', numrectot }); // res.send({ code: server_constants.RIS_CODE_OK, msg: '', numrectot });
// //
// } catch (e) { // } catch (e) {
// tools.mylogserr('Error copyfromapptoapp: ', e); // tools.mylogserr('Error copyfromapptoapp: ', e);
// res.status(400).send(); // res.status(400).send();
// } // }
}); });
router.delete('/delrec/:table/:id', authenticate, async (req, res) => { router.delete('/delrec/:table/:id', authenticate, async (req, res) => {

View File

@@ -872,6 +872,33 @@ async function eseguiDbOp(idapp, mydata, locale) {
populate.rewriteTable('contribtypes'); populate.rewriteTable('contribtypes');
} else if (mydata.dbop === 'copyFrom1To13') {
const idapporig = 1;
const idappdest = 13;
if (!idapporig || !idappdest)
return;
const globalTables = require('../tools/globalTables');
const mytablesstr = ['settings', 'users', 'templemail', 'contribtypes'];
try {
let numrectot = 0;
for (const table of mytablesstr) {
const mytable = globalTables.getTableByTableName(table);
tools.mylogshow('copyfromapptoapp: ', table, mytable);
await mytable.DuplicateAllRecords(idapporig, idappdest).
then((numrec) => {
// tools.mylogshow(' REC TO MODIFY: ', rec);
numrectot += numrec
});
}
}catch (e){
console.log('e', e);
}
} else if (mydata.dbop === 'emptyDbSkill') { } else if (mydata.dbop === 'emptyDbSkill') {
const {Sector} = require('../models/sector'); const {Sector} = require('../models/sector');

View File

@@ -1,8 +1,8 @@
const tools = require('../tools/general'); const tools = require('../tools/general');
const appTelegram = [tools.FREEPLANET]; const appTelegram = [tools.FREEPLANET, tools.ISP];
const appTelegram_TEST = [tools.FREEPLANET, tools.PDNM]; const appTelegram_TEST = [tools.FREEPLANET, tools.PDNM, tools.ISP];
const appTelegram_DEVELOP = [tools.PDNM]; const appTelegram_DEVELOP = [tools.PDNM];
const appTelegramFinti = ['2', tools.CNM]; const appTelegramFinti = ['2', tools.CNM];
@@ -487,6 +487,13 @@ const txt_es = {
MSG_EXIT_TELEGRAM: 'La cuenta ha sido desconectada de Telegram BOT.', MSG_EXIT_TELEGRAM: 'La cuenta ha sido desconectada de Telegram BOT.',
MSG_APORTADOR_USER_REGISTERED: emo.FIRE + MSG_APORTADOR_USER_REGISTERED: emo.FIRE +
' Acaba de registrarse "%s (n. %s)"\n(Invitado de %s)', ' Acaba de registrarse "%s (n. %s)"\n(Invitado de %s)',
MSG_APORTADOR_ASK_CONFIRM: '🆕💥 🧍‍♂️ Abilita Nuova Registrazione: %s',
MSG_APORTADOR_CONFIRMED: '✅ %s è stato Abilitato correttamente!',
MSG_APORTADOR_DEST_CONFIRMED: '✅ Sei stato Abilitato correttamente da %s!',
MSG_APORTADOR_DEST_NOT_CONFIRMED: emo.EXCLAMATION_MARK +
'🚫 Ci dispiace ma non sei stato Verificato correttamente dal tuo invitante %s.<br>Contattalo per farti abilitare !',
MSG_APORTADOR_NOT_CONFIRMED: emo.EXCLAMATION_MARK +
'🚫 %s Non è stato Abilitato !',
MSG_MSG_SENT: emoji.get('envelope') + ' Mensajes enviados !', MSG_MSG_SENT: emoji.get('envelope') + ' Mensajes enviados !',
MSG_MSG_TOSENT: emoji.get('envelope') + ' Mensajes a enviar', MSG_MSG_TOSENT: emoji.get('envelope') + ' Mensajes a enviar',
MSG_MSG_INCORSO: emoji.get('envelope') + MSG_MSG_INCORSO: emoji.get('envelope') +
@@ -515,6 +522,13 @@ const txt_fr = {
MSG_EXIT_TELEGRAM: 'L\'account a été déconnecté de Telegram BOT.', MSG_EXIT_TELEGRAM: 'L\'account a été déconnecté de Telegram BOT.',
MSG_APORTADOR_USER_REGISTERED: emo.FIRE + MSG_APORTADOR_USER_REGISTERED: emo.FIRE +
' Vous venez à peine de vous inscrire "%s (n. %s) %s', ' Vous venez à peine de vous inscrire "%s (n. %s) %s',
MSG_APORTADOR_ASK_CONFIRM: '🆕💥 🧍‍♂️ Abilita Nuova Registrazione: %s',
MSG_APORTADOR_CONFIRMED: '✅ %s è stato Abilitato correttamente!',
MSG_APORTADOR_DEST_CONFIRMED: '✅ Sei stato Abilitato correttamente da %s!',
MSG_APORTADOR_DEST_NOT_CONFIRMED: emo.EXCLAMATION_MARK +
'🚫 Ci dispiace ma non sei stato Verificato correttamente dal tuo invitante %s.<br>Contattalo per farti abilitare !',
MSG_APORTADOR_NOT_CONFIRMED: emo.EXCLAMATION_MARK +
'🚫 %s Non è stato Abilitato !',
MSG_MSG_SENT: emoji.get('envelope') + ' Messages envoyés !', MSG_MSG_SENT: emoji.get('envelope') + ' Messages envoyés !',
MSG_MSG_TOSENT: emoji.get('envelope') + ' Messages à envoyer', MSG_MSG_TOSENT: emoji.get('envelope') + ' Messages à envoyer',
MSG_MSG_INCORSO: emoji.get('envelope') + MSG_MSG_INCORSO: emoji.get('envelope') +
@@ -541,6 +555,13 @@ const txt_si = {
MSG_EXIT_TELEGRAM: 'Račun se nahaja v programu Telegram BOT.', MSG_EXIT_TELEGRAM: 'Račun se nahaja v programu Telegram BOT.',
MSG_APORTADOR_USER_REGISTERED: emo.FIRE + MSG_APORTADOR_USER_REGISTERED: emo.FIRE +
'Registracija registracije %s (n. %s)\n(povabil ga %s)', 'Registracija registracije %s (n. %s)\n(povabil ga %s)',
MSG_APORTADOR_ASK_CONFIRM: '🆕💥 🧍‍♂️ Abilita Nuova Registrazione: %s',
MSG_APORTADOR_CONFIRMED: '✅ %s è stato Abilitato correttamente!',
MSG_APORTADOR_DEST_CONFIRMED: '✅ Sei stato Abilitato correttamente da %s!',
MSG_APORTADOR_DEST_NOT_CONFIRMED: emo.EXCLAMATION_MARK +
'🚫 Ci dispiace ma non sei stato Verificato correttamente dal tuo invitante %s.<br>Contattalo per farti abilitare !',
MSG_APORTADOR_NOT_CONFIRMED: emo.EXCLAMATION_MARK +
'🚫 %s Non è stato Abilitato !',
}; };
const txt_en = { const txt_en = {
@@ -566,6 +587,13 @@ const txt_en = {
MSG_EXIT_TELEGRAM: 'The account has now been disconnected from this Telegram BOT.', MSG_EXIT_TELEGRAM: 'The account has now been disconnected from this Telegram BOT.',
MSG_APORTADOR_USER_REGISTERED: emo.FIRE + MSG_APORTADOR_USER_REGISTERED: emo.FIRE +
' He/She\'s just registered "%s (n. %s)"\n(Invited from %s)', ' He/She\'s just registered "%s (n. %s)"\n(Invited from %s)',
MSG_APORTADOR_ASK_CONFIRM: '🆕💥 🧍‍♂️ Abilita Nuova Registrazione: %s',
MSG_APORTADOR_CONFIRMED: '✅ %s è stato Abilitato correttamente!',
MSG_APORTADOR_DEST_CONFIRMED: '✅ Sei stato Abilitato correttamente da %s!',
MSG_APORTADOR_DEST_NOT_CONFIRMED: emo.EXCLAMATION_MARK +
'🚫 Ci dispiace ma non sei stato Verificato correttamente dal tuo invitante %s.<br>Contattalo per farti abilitare !',
MSG_APORTADOR_NOT_CONFIRMED: emo.EXCLAMATION_MARK +
'🚫 %s Non è stato Abilitato !',
MSG_MSG_SENT: emoji.get('envelope') + ' Sent Messages !', MSG_MSG_SENT: emoji.get('envelope') + ' Sent Messages !',
MSG_MSG_TOSENT: emoji.get('envelope') + ' Messages to Send', MSG_MSG_TOSENT: emoji.get('envelope') + ' Messages to Send',
MSG_MSG_INCORSO: emoji.get('envelope') + MSG_MSG_INCORSO: emoji.get('envelope') +
@@ -594,6 +622,13 @@ const txt_pt = {
MSG_EXIT_TELEGRAM: 'A conta foi agora desconectada deste Telegrama BOT.', MSG_EXIT_TELEGRAM: 'A conta foi agora desconectada deste Telegrama BOT.',
MSG_APORTADOR_USER_REGISTERED: emo.FIRE + MSG_APORTADOR_USER_REGISTERED: emo.FIRE +
' Acabou de se registar "%s (n. %s)"\n(Convidado por %s)', ' Acabou de se registar "%s (n. %s)"\n(Convidado por %s)',
MSG_APORTADOR_ASK_CONFIRM: '🆕💥 🧍‍♂️ Abilita Nuova Registrazione: %s',
MSG_APORTADOR_CONFIRMED: '✅ %s è stato Abilitato correttamente!',
MSG_APORTADOR_DEST_CONFIRMED: '✅ Sei stato Abilitato correttamente da %s!',
MSG_APORTADOR_DEST_NOT_CONFIRMED: emo.EXCLAMATION_MARK +
'🚫 Ci dispiace ma non sei stato Verificato correttamente dal tuo invitante %s.<br>Contattalo per farti abilitare !',
MSG_APORTADOR_NOT_CONFIRMED: emo.EXCLAMATION_MARK +
'🚫 %s Non è stato Abilitato !',
MSG_MSG_SENT: emoji.get('envelope') + ' Mensagens Enviadas !', MSG_MSG_SENT: emoji.get('envelope') + ' Mensagens Enviadas !',
MSG_MSG_TOSENT: emoji.get('envelope') + ' Mensagens a enviar', MSG_MSG_TOSENT: emoji.get('envelope') + ' Mensagens a enviar',
MSG_MSG_INCORSO: emoji.get('envelope') + MSG_MSG_INCORSO: emoji.get('envelope') +

View File

@@ -389,6 +389,7 @@ module.exports = {
AYNI: '7', AYNI: '7',
CNM: '10', CNM: '10',
PDNM: '12', PDNM: '12',
ISP: '13',
HELP_CHAT: '', HELP_CHAT: '',
TYPECONF_ZOOM: 'zoom', TYPECONF_ZOOM: 'zoom',
@@ -1589,7 +1590,7 @@ module.exports = {
// Before check if exist more than 1 record in the destination, // Before check if exist more than 1 record in the destination,
// if Yes don't copy // if Yes don't copy
if (numrec <= 0) { if (numrec <= 0) {
return await mythistable.findAllIdApp(idapporig).then(async (arrrec) => { return mythistable.findAllIdApp(idapporig).then(async (arrrec) => {
let num = 0; let num = 0;
for (let ind = 0; ind < arrrec.length; ind++) { for (let ind = 0; ind < arrrec.length; ind++) {
@@ -1597,12 +1598,16 @@ module.exports = {
newrec._id = new ObjectID(); newrec._id = new ObjectID();
newrec.idapp = idappdest; newrec.idapp = idappdest;
await newrec.save((err, rec) => { try {
if (rec) { await newrec.save((err, rec) => {
num++; if (rec) {
} num++;
}
}); });
}catch (e) {
console.error('e', e);
}
} }
return num; return num;
@@ -2340,10 +2345,16 @@ module.exports = {
blockwords(mystr) { blockwords(mystr) {
const arrwords = ['http', 'Http', 'Asasfasfas', '://', 'mrbit', 'admin', 'superuser']; const arrwords = ['http', 'Http', 'Asasfasfas', '://', 'mrbit', 'admin', 'superuser'];
for (const myword of arrwords) { try {
if (mystr.includes(myword)) { for (const myword of arrwords) {
return true; if (mystr) {
if (mystr.includes(myword)) {
return true;
}
}
} }
} catch (e) {
} }
return false; return false;

178
src/server/tools/globalTables.js Executable file
View File

@@ -0,0 +1,178 @@
const os = require('os');
const fs = require('fs');
const path = require('path');
require('../config/config');
require('../models/subscribers');
const {ObjectID} = require('mongodb');
const {User} = require('../models/user');
const {MyGroup} = require('../models/mygroup');
const {Booking} = require('../models/booking');
const {Operator} = require('../models/operator');
const {Where} = require('../models/where');
const {MyEvent} = require('../models/myevent');
const {Contribtype} = require('../models/contribtype');
const {PaymentType} = require('../models/paymenttype');
const {Discipline} = require('../models/discipline');
const {Skill} = require('../models/skill');
const {SubSkill} = require('../models/subskill');
const {MySkill} = require('../models/myskill');
const {StatusSkill} = require('../models/statusSkill');
const {City} = require('../models/city');
const {Province} = require('../models/province');
const {Sector} = require('../models/sector');
const {CatGrp} = require('../models/catgrp');
const {Level} = require('../models/level');
const {AdType} = require('../models/adtype');
const Pickup = require('../models/pickup');
const {Newstosent} = require('../models/newstosent');
const {MyPage} = require('../models/mypage');
const {MyBot} = require('../models/bot');
const {CalZoom} = require('../models/calzoom');
const {Gallery} = require('../models/gallery');
const {TemplEmail} = require('../models/templemail');
const {OpzEmail} = require('../models/opzemail');
const {MailingList} = require('../models/mailinglist');
const {Settings} = require('../models/settings');
const {SendMsg} = require('../models/sendmsg');
const {Permission} = require('../models/permission');
const {MsgTemplate} = require('../models/msg_template');
const Product = require('../models/product');
const Producer = require('../models/producer');
const Cart = require('../models/cart');
const OrdersCart = require('../models/orderscart');
const Storehouse = require('../models/storehouse');
const Department = require('../models/department');
const ShareWithUs = require('../models/sharewithus');
const Site = require('../models/site');
const IscrittiConacreis = require('../models/iscrittiConacreis');
const Group = require('../models/group');
const {Todo} = require('../models/todo');
const Hours = require('../models/hours');
const Order = require('../models/order');
const Cash = require('../models/cash');
const CashCategory = require('../models/cashCategory');
const CashSubCategory = require('../models/cashSubCategory');
const tools = require('./general');
module.exports = {
getTableByTableName(tablename) {
let mytable = '';
if (tablename === 'users')
mytable = User;
else if (tablename === 'mygroups')
mytable = MyGroup;
else if (tablename === 'tessitura')
mytable = Tessitura;
// else if (tablename === 'extralist')
// mytable = ExtraList;
else if (tablename === 'bookings')
mytable = Booking;
else if (tablename === 'operators')
mytable = Operator;
else if (tablename === 'products')
mytable = Product;
else if (tablename === 'storehouses')
mytable = Storehouse;
else if (tablename === 'departments')
mytable = Department;
else if (tablename === 'sharewithus')
mytable = ShareWithUs;
else if (tablename === 'sites')
mytable = Site;
else if (tablename === 'iscritticonacreis')
mytable = IscrittiConacreis;
else if (tablename === 'groups')
mytable = Group;
else if (tablename === 'todos')
mytable = Todo;
else if (tablename === 'hours')
mytable = Hours;
else if (tablename === 'orders')
mytable = Order;
else if (tablename === 'cashs')
mytable = Cash;
else if (tablename === 'cashCategorys')
mytable = CashCategory;
else if (tablename === 'cashSubCategorys')
mytable = CashSubCategory;
else if (tablename === 'producers')
mytable = Producer;
else if (tablename === 'carts')
mytable = Cart;
else if (tablename === 'orderscart')
mytable = OrdersCart;
else if (tablename === 'sendmsgs')
mytable = SendMsg;
else if (tablename === 'wheres')
mytable = Where;
else if (tablename === 'myevents')
mytable = MyEvent;
else if (tablename === 'contribtypes')
mytable = Contribtype;
else if (tablename === 'paymenttypes')
mytable = PaymentType;
else if (tablename === 'disciplines')
mytable = Discipline;
else if (tablename === 'newstosent')
mytable = Newstosent;
else if (tablename === 'gallery')
mytable = Gallery;
else if (tablename === 'mypage')
mytable = MyPage;
else if (tablename === 'mybots')
mytable = MyBot;
else if (tablename === 'calzoom')
mytable = CalZoom;
else if (tablename === 'templemail')
mytable = TemplEmail;
else if (tablename === 'opzemail')
mytable = OpzEmail;
else if (tablename === 'settings')
mytable = Settings;
else if (tablename === 'permissions')
mytable = Permission;
else if (tablename === 'mailinglist')
mytable = MailingList;
else if (tablename === 'msg_templates')
mytable = MsgTemplate;
else if (tablename === 'navepersistente')
mytable = NavePersistente;
// else if (tablename === 'listaingressos')
// mytable = ListaIngresso;
else if (tablename === 'graduatorias')
mytable = Graduatoria;
else if (tablename === 'skills')
mytable = Skill;
else if (tablename === 'subskills')
mytable = SubSkill;
else if (tablename === 'myskills')
mytable = MySkill;
else if (tablename === 'statusSkills')
mytable = StatusSkill;
else if (tablename === 'cities')
mytable = City;
else if (tablename === 'provinces')
mytable = Province;
else if (tablename === 'sectors')
mytable = Sector;
else if (tablename === 'catgrps')
mytable = CatGrp;
else if (tablename === 'levels')
mytable = Level;
else if (shared_consts.TablePickup.includes(tablename))
mytable = Pickup;
//else if (shared_consts.TableCities.includes(tablename))
// mytable = City;
return mytable;
},
};