Mostrare il Bene, Servizio, solo ai Propri Gruppi.
Nella pagina profilo, i "Gruppi" personali non si vedevano !
@@ -1,6 +1,6 @@
|
||||
APP_VERSION="0.3.21"
|
||||
APP_VERSION="0.3.22"
|
||||
SERVICE_WORKER_FILE="service-worker.js"
|
||||
APP_ID="14"
|
||||
APP_ID="13"
|
||||
DIRECTORY_LOCAL="newfreeplanet"
|
||||
DIRECTORY_SERVER="freeplanet_serverside"
|
||||
SERVERDIR_WEBSITE=""
|
||||
@@ -12,7 +12,7 @@ LANG_DEFAULT="it"
|
||||
PAO_APP_ID="KKPPAA5KJK435J3KSS9F9D8S9F8SD98F9SDF"
|
||||
MASTER_KEY="KKPPSS5KJK435J3KSS9F9D8S9F8SD3CR3T"
|
||||
MONGODB_HOST="http://localhost:3000"
|
||||
LOGO_REG='tdv-logo-full.png'
|
||||
LOGO_REG='riso-logo-full.png'
|
||||
TEST_NAME="Paolo"
|
||||
TEST_SURNAME="Arena"
|
||||
TEST_EMAIL=""
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
APP_VERSION="0.3.21"
|
||||
APP_VERSION="0.3.22"
|
||||
SERVICE_WORKER_FILE="service-worker.js"
|
||||
APP_ID="13"
|
||||
DIRECTORY_LOCAL=newfreeplanet
|
||||
|
||||
@@ -11,6 +11,7 @@ const functionality: IFunctionality = {
|
||||
SHOW_PROFILE: true,
|
||||
SHOW_REG_BUTTON: false,
|
||||
ENABLE_REGISTRATION: true, // Cambiare con true
|
||||
ENABLE_REG_NEED_TELEGRAM: true,
|
||||
SHOW_NEWSLETTER: false,
|
||||
SHOW_ONLY_POLICY: false,
|
||||
ENABLE_TODOS_LOADING: false,
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
APP_VERSION="0.3.21"
|
||||
APP_VERSION="0.3.22"
|
||||
SERVICE_WORKER_FILE="service-worker.js"
|
||||
APP_ID="13"
|
||||
DIRECTORY_LOCAL="newfreeplanet"
|
||||
|
||||
@@ -11,6 +11,7 @@ const functionality: IFunctionality = {
|
||||
SHOW_PROFILE: true,
|
||||
SHOW_REG_BUTTON: false,
|
||||
ENABLE_REGISTRATION: true, // Cambiare con true
|
||||
ENABLE_REG_NEED_TELEGRAM: true,
|
||||
SHOW_NEWSLETTER: false,
|
||||
SHOW_ONLY_POLICY: false,
|
||||
ENABLE_TODOS_LOADING: false,
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
APP_VERSION="0.3.21"
|
||||
APP_VERSION="0.3.22"
|
||||
SERVICE_WORKER_FILE="service-worker.js"
|
||||
APP_ID="12"
|
||||
DIRECTORY_LOCAL="newfreeplanet"
|
||||
|
||||
@@ -11,6 +11,7 @@ const functionality: IFunctionality = {
|
||||
SHOW_PROFILE: true,
|
||||
SHOW_REG_BUTTON: false,
|
||||
ENABLE_REGISTRATION: true, // Cambiare con true
|
||||
ENABLE_REG_NEED_TELEGRAM: false,
|
||||
SHOW_NEWSLETTER: false,
|
||||
SHOW_ONLY_POLICY: false,
|
||||
ENABLE_TODOS_LOADING: false,
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
APP_VERSION="0.3.21"
|
||||
APP_VERSION="0.3.22"
|
||||
SERVICE_WORKER_FILE="service-worker.js"
|
||||
APP_ID="13"
|
||||
DIRECTORY_LOCAL="newfreeplanet"
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
APP_VERSION="0.3.21"
|
||||
APP_VERSION="0.3.22"
|
||||
SERVICE_WORKER_FILE="service-worker.js"
|
||||
APP_ID="13"
|
||||
DIRECTORY_LOCAL=newfreeplanet
|
||||
|
||||
@@ -11,6 +11,7 @@ const functionality: IFunctionality = {
|
||||
SHOW_PROFILE: true,
|
||||
SHOW_REG_BUTTON: false,
|
||||
ENABLE_REGISTRATION: true, // Cambiare con true
|
||||
ENABLE_REG_NEED_TELEGRAM: true,
|
||||
SHOW_NEWSLETTER: false,
|
||||
SHOW_ONLY_POLICY: true,
|
||||
ENABLE_TODOS_LOADING: false,
|
||||
@@ -630,7 +631,7 @@ const baseroutes: IListRoutes[] = [
|
||||
active: true,
|
||||
order: 150,
|
||||
path: '/fundraising',
|
||||
materialIcon: 'fas fa-hand-holding',
|
||||
materialIcon: 'fas fa-hand-holding-heart',
|
||||
name: 'pages.fundraising',
|
||||
component: () => import('@src/root/fundraising/fundraising.vue'),
|
||||
inmenu: true,
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "riso",
|
||||
"version": "0.3.21",
|
||||
"version": "0.3.22",
|
||||
"description": "Siamo la Rete Italiana di Scambio Orizzontale, abbiamo creato questa piattaforma per metterla al servizio di chi vuole riscoprire il valore della condivisione e della cooperazione. Valori semplici e profondi che ci aiutano a ritrovare il Senso della Vita, perduto in questa società consumista, e riporti quei Sani Pricìpi Naturali ed Umani di Fratellanza che intere popolazioni antiche conoscevano bene.",
|
||||
"productName": "Riso",
|
||||
"author": "Paolo Arena",
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
APP_VERSION="0.3.21"
|
||||
APP_VERSION="0.3.22"
|
||||
SERVICE_WORKER_FILE="service-worker.js"
|
||||
APP_ID="14"
|
||||
DIRECTORY_LOCAL="newfreeplanet"
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
APP_VERSION="0.3.21"
|
||||
APP_VERSION="0.3.22"
|
||||
SERVICE_WORKER_FILE="service-worker.js"
|
||||
APP_ID="14"
|
||||
DIRECTORY_LOCAL=newfreeplanet
|
||||
|
||||
@@ -11,6 +11,7 @@ const functionality: IFunctionality = {
|
||||
SHOW_PROFILE: true,
|
||||
SHOW_REG_BUTTON: true,
|
||||
ENABLE_REGISTRATION: true, // Cambiare con true
|
||||
ENABLE_REG_NEED_TELEGRAM: false,
|
||||
SHOW_NEWSLETTER: false,
|
||||
SHOW_ONLY_POLICY: true,
|
||||
ENABLE_TODOS_LOADING: false,
|
||||
@@ -578,7 +579,7 @@ const baseroutes: IListRoutes[] = [
|
||||
path: '/signup',
|
||||
materialIcon: 'how_to_reg',
|
||||
name: 'pages.SignUp',
|
||||
component: () => import('@/views/login/signup_noteleg/signup_noteleg.vue'),
|
||||
component: () => import('@/views/login/signup/signup_noteleg.vue'),
|
||||
inmenu: false,
|
||||
infooter: false,
|
||||
separator: false
|
||||
@@ -645,7 +646,7 @@ const baseroutes: IListRoutes[] = [
|
||||
active: true,
|
||||
order: 70,
|
||||
path: '/chisiamo',
|
||||
materialIcon: 'event',
|
||||
materialIcon: 'fa fa-users',
|
||||
name: 'pages.chisiamo',
|
||||
component: () => import('@/rootgen/operators/operators.vue'),
|
||||
inmenu: true,
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "terradellavisione",
|
||||
"version": "0.3.21",
|
||||
"version": "0.3.22",
|
||||
"description": "TerraDellaVisione",
|
||||
"productName": "TerraDellaVisione",
|
||||
"author": "Paolo Arena",
|
||||
|
||||
@@ -125,7 +125,7 @@
|
||||
</div>
|
||||
|
||||
|
||||
<section class="maxwidth padding_gallery bg-white text-grey-10 text-center">
|
||||
<section class="padding_gallery bg-white text-grey-10 text-center">
|
||||
|
||||
<q-carousel
|
||||
swipeable
|
||||
@@ -135,7 +135,7 @@
|
||||
arrows
|
||||
thumbnails
|
||||
infinite
|
||||
:height="tools.heightgallery()">
|
||||
>
|
||||
<q-carousel-slide v-for="(rec, index) in getArrImgSlideHome()" :key="index" :name="index"
|
||||
:img-src="getdirectory() + '/' + rec.imagefile"
|
||||
:alt="rec.description"
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
{
|
||||
"name": "terradellavisione",
|
||||
"version": "0.3.21",
|
||||
"description": "TerraDellaVisione",
|
||||
"productName": "TerraDellaVisione",
|
||||
"name": "riso",
|
||||
"version": "0.3.22",
|
||||
"description": "Siamo la Rete Italiana di Scambio Orizzontale, abbiamo creato questa piattaforma per metterla al servizio di chi vuole riscoprire il valore della condivisione e della cooperazione. Valori semplici e profondi che ci aiutano a ritrovare il Senso della Vita, perduto in questa società consumista, e riporti quei Sani Pricìpi Naturali ed Umani di Fratellanza che intere popolazioni antiche conoscevano bene.",
|
||||
"productName": "Riso",
|
||||
"author": "Paolo Arena",
|
||||
"private": true,
|
||||
"keywords": [],
|
||||
|
||||
|
Before Width: | Height: | Size: 86 KiB After Width: | Height: | Size: 43 KiB |
|
Before Width: | Height: | Size: 1.6 KiB After Width: | Height: | Size: 1.6 KiB |
|
Before Width: | Height: | Size: 3.5 KiB After Width: | Height: | Size: 2.6 KiB |
|
Before Width: | Height: | Size: 1.1 KiB After Width: | Height: | Size: 1.1 KiB |
|
Before Width: | Height: | Size: 222 KiB After Width: | Height: | Size: 87 KiB |
|
Before Width: | Height: | Size: 305 KiB After Width: | Height: | Size: 303 KiB |
@@ -147,7 +147,7 @@ module.exports = configure((ctx) => ({
|
||||
},
|
||||
devServer: {
|
||||
https: false,
|
||||
port: 8085,
|
||||
port: 8084,
|
||||
open: false, // opens browser window automatically
|
||||
},
|
||||
|
||||
@@ -286,36 +286,36 @@ module.exports = configure((ctx) => ({
|
||||
},
|
||||
|
||||
manifest: {
|
||||
name: 'Terra Della Visione',
|
||||
short_name: 'Terra della Visione',
|
||||
description: 'Centro per ritiri CurArte: un viaggio nella Natura per incontrare il tuo essere potrai partecipare a sessioni di yoga, meditazione, massaggi, danze, eventi musicali, cibo naturale vegetariano/vegano, laboratori artigianali',
|
||||
name: 'Riso',
|
||||
short_name: 'Riso',
|
||||
description: 'Siamo la Rete Italiana di Scambio Orizzontale, abbiamo creato questa piattaforma per metterla al servizio di chi vuole riscoprire il valore della condivisione e della cooperazione. Valori semplici e profondi che ci aiutano a ritrovare il Senso della Vita, perduto in questa società consumista, e riporti quei Sani Pricìpi Naturali ed Umani di Fratellanza che intere popolazioni antiche conoscevano bene.',
|
||||
display: 'standalone',
|
||||
orientation: 'portrait',
|
||||
background_color: '#ffffff',
|
||||
theme_color: '#027be3',
|
||||
icons: [
|
||||
{
|
||||
src: 'images/tdv-android-icon-512x512.png',
|
||||
src: 'images/riso-android-icon-512x512.png',
|
||||
sizes: '512x512',
|
||||
type: 'image/png',
|
||||
},
|
||||
{
|
||||
src: 'images/tdv-android-icon-96x96.png',
|
||||
src: 'images/riso-android-icon-96x96.png',
|
||||
sizes: '96x96',
|
||||
type: 'image/png',
|
||||
},
|
||||
{
|
||||
src: 'images/tdv-android-icon-144x144.png',
|
||||
src: 'images/riso-android-icon-144x144.png',
|
||||
sizes: '144x144',
|
||||
type: 'image/png',
|
||||
},
|
||||
{
|
||||
src: 'images/tdv-android-icon-192x192.png',
|
||||
src: 'images/riso-android-icon-192x192.png',
|
||||
sizes: '192x192',
|
||||
type: 'image/png',
|
||||
},
|
||||
{
|
||||
src: 'images/tdv-android-icon-384x384.png',
|
||||
src: 'images/riso-android-icon-384x384.png',
|
||||
sizes: '384x384',
|
||||
type: 'image/png',
|
||||
},
|
||||
|
||||
268
query_gruppi.js
Normal file
@@ -0,0 +1,268 @@
|
||||
db.getCollection('myskills').aggregate(
|
||||
[
|
||||
{
|
||||
"$match": {
|
||||
"idapp": "13"
|
||||
}
|
||||
},
|
||||
{
|
||||
"$sort": {
|
||||
"date_created": -1
|
||||
}
|
||||
},
|
||||
{
|
||||
"$addFields": {
|
||||
"myId1": {
|
||||
"$toObjectId": "$userId"
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"$lookup": {
|
||||
"from": "users",
|
||||
"localField": "myId1",
|
||||
"foreignField": "_id",
|
||||
"as": "user"
|
||||
}
|
||||
},
|
||||
{
|
||||
"$replaceRoot": {
|
||||
"newRoot": {
|
||||
"$mergeObjects": [
|
||||
{
|
||||
"$arrayElemAt": [
|
||||
"$user",
|
||||
0
|
||||
]
|
||||
},
|
||||
"$$ROOT"
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"$project": {
|
||||
"recGood": 1,
|
||||
"sectorGood": 1,
|
||||
"idSectorGood": 1,
|
||||
"idGood": 1,
|
||||
"mygood": 1,
|
||||
"idStatusSkill": 1,
|
||||
"idContribType": 1,
|
||||
"idCity": 1,
|
||||
"pub_to_share": 1,
|
||||
"numLevel": 1,
|
||||
"adType": 1,
|
||||
"photos": 1,
|
||||
"note": 1,
|
||||
"website": 1,
|
||||
"descr": 1,
|
||||
"date_created": 1,
|
||||
"date_updated": 1,
|
||||
"userId": 1,
|
||||
"username": 1,
|
||||
"name": 1,
|
||||
"surname": 1,
|
||||
"comune": 1,
|
||||
"mycities": 1,
|
||||
"profile.img": 1,
|
||||
"profile.mygroups": 1,
|
||||
"profile.qualifica": 1
|
||||
}
|
||||
},
|
||||
{
|
||||
"$lookup": {
|
||||
"from": "goods",
|
||||
"localField": "idGood",
|
||||
"foreignField": "_id",
|
||||
"as": "recGood"
|
||||
}
|
||||
},
|
||||
{
|
||||
"$replaceRoot": {
|
||||
"newRoot": {
|
||||
"$mergeObjects": [
|
||||
{
|
||||
"$arrayElemAt": [
|
||||
"$recGood",
|
||||
0
|
||||
]
|
||||
},
|
||||
"$$ROOT"
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"$project": {
|
||||
"recGood": 1,
|
||||
"sectorGood": 1,
|
||||
"idSectorGood": 1,
|
||||
"idGood": 1,
|
||||
"mygood": 1,
|
||||
"idStatusSkill": 1,
|
||||
"idContribType": 1,
|
||||
"idCity": 1,
|
||||
"pub_to_share": 1,
|
||||
"numLevel": 1,
|
||||
"adType": 1,
|
||||
"photos": 1,
|
||||
"note": 1,
|
||||
"website": 1,
|
||||
"descr": 1,
|
||||
"date_created": 1,
|
||||
"date_updated": 1,
|
||||
"userId": 1,
|
||||
"username": 1,
|
||||
"name": 1,
|
||||
"surname": 1,
|
||||
"comune": 1,
|
||||
"mycities": 1,
|
||||
"profile.img": 1,
|
||||
"profile.mygroups": 1,
|
||||
"profile.qualifica": 1
|
||||
}
|
||||
},
|
||||
{
|
||||
"$lookup": {
|
||||
"from": "sectorgoods",
|
||||
"localField": "recGood.idSectorGood",
|
||||
"foreignField": "_id",
|
||||
"as": "sectorgood"
|
||||
}
|
||||
},
|
||||
{
|
||||
"$replaceRoot": {
|
||||
"newRoot": {
|
||||
"$mergeObjects": [
|
||||
{
|
||||
"$arrayElemAt": [
|
||||
"$sectorgood",
|
||||
0
|
||||
]
|
||||
},
|
||||
"$$ROOT"
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"$project": {
|
||||
"recGood": 1,
|
||||
"sectorGood": 1,
|
||||
"idSectorGood": 1,
|
||||
"idGood": 1,
|
||||
"mygood": 1,
|
||||
"idStatusSkill": 1,
|
||||
"idContribType": 1,
|
||||
"idCity": 1,
|
||||
"pub_to_share": 1,
|
||||
"numLevel": 1,
|
||||
"adType": 1,
|
||||
"photos": 1,
|
||||
"note": 1,
|
||||
"website": 1,
|
||||
"descr": 1,
|
||||
"date_created": 1,
|
||||
"date_updated": 1,
|
||||
"userId": 1,
|
||||
"username": 1,
|
||||
"name": 1,
|
||||
"surname": 1,
|
||||
"comune": 1,
|
||||
"mycities": 1,
|
||||
"profile.img": 1,
|
||||
"profile.mygroups": 1,
|
||||
"profile.qualifica": 1
|
||||
}
|
||||
},
|
||||
{
|
||||
"$lookup": {
|
||||
"from": "cities",
|
||||
"localField": "idCity",
|
||||
"foreignField": "_id",
|
||||
"as": "mycities"
|
||||
}
|
||||
},
|
||||
{
|
||||
"$replaceRoot": {
|
||||
"newRoot": {
|
||||
"$mergeObjects": [
|
||||
{
|
||||
"$arrayElemAt": [
|
||||
"$mycities",
|
||||
0
|
||||
]
|
||||
},
|
||||
"$$ROOT"
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"$project": {
|
||||
"recGood": 1,
|
||||
"sectorGood": 1,
|
||||
"idSectorGood": 1,
|
||||
"idGood": 1,
|
||||
"mygood": 1,
|
||||
"idStatusSkill": 1,
|
||||
"idContribType": 1,
|
||||
"idCity": 1,
|
||||
"pub_to_share": 1,
|
||||
"numLevel": 1,
|
||||
"adType": 1,
|
||||
"photos": 1,
|
||||
"note": 1,
|
||||
"website": 1,
|
||||
"descr": 1,
|
||||
"date_created": 1,
|
||||
"date_updated": 1,
|
||||
"userId": 1,
|
||||
"username": 1,
|
||||
"name": 1,
|
||||
"surname": 1,
|
||||
"comune": 1,
|
||||
"mycities": 1,
|
||||
"profile.img": 1,
|
||||
"profile.mygroups": 1,
|
||||
"profile.qualifica": 1
|
||||
}
|
||||
},
|
||||
{
|
||||
"$match": {
|
||||
"$and": [
|
||||
{
|
||||
"mycities.reg": "EMR"
|
||||
},
|
||||
{
|
||||
"idCity": 5730
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"$group": {
|
||||
"_id": null,
|
||||
"count": {
|
||||
"$sum": 1
|
||||
},
|
||||
"results": {
|
||||
"$push": "$$ROOT"
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"$project": {
|
||||
"count": 1,
|
||||
"rows": {
|
||||
"$slice": [
|
||||
"$results",
|
||||
0,
|
||||
20
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
)
|
||||
@@ -69,6 +69,11 @@ export const shared_consts = {
|
||||
FIND_GROUP: 1166,
|
||||
},
|
||||
|
||||
PUBTOSHARE: {
|
||||
ALL: 0,
|
||||
ONLY_GROUPS_FOLLOW: 1,
|
||||
},
|
||||
|
||||
REPORT_FILT_RESP: 1,
|
||||
REPORT_FILT_ATTIVITA: 2,
|
||||
|
||||
@@ -95,6 +100,7 @@ export const shared_consts = {
|
||||
TABLES_USER_INCLUDE_MY: ['mygroups'],
|
||||
TABLES_GETCOMPLETEREC: ['myskills', 'mybachecas', 'myhosps', 'mygoods'],
|
||||
TABLES_WITH_FILTER_FIELD: ['caldate'],
|
||||
TABLES_WITH_SPECIAL_FILTER: ['pub_to_share'],
|
||||
COL_WITH_FILTER_GTE: ['numMaxPeopleHosp'],
|
||||
TABLES_WITH_DATE: ['mybachecas', 'myhosps'],
|
||||
TABLES_WITH_SORTING: ['mybachecas', 'myhosps'],
|
||||
@@ -546,6 +552,18 @@ export const shared_consts = {
|
||||
},
|
||||
],
|
||||
|
||||
Pub_to_Share: [
|
||||
{
|
||||
value: 0,
|
||||
label: 'Tutti',
|
||||
},
|
||||
{
|
||||
value: 1,
|
||||
label: 'Miei Gruppi',
|
||||
},
|
||||
],
|
||||
|
||||
|
||||
VisibilGroup: [
|
||||
{
|
||||
value: 1,
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
<template>
|
||||
<div v-if="numcol === 3" class="col-xs-4 col-sm-4 col-md-3 col-lg-2">
|
||||
<div class="q-ma-sm">
|
||||
<q-btn v-if="!small" class="mybox_3" :color="color" rounded push :to="to" v-bind="$attrs" :style="tools.getbackgroundGradient(color, 180)">
|
||||
<q-btn v-if="!small" :flat="flat" class="mybox_3" :color="color" rounded push :to="to" v-bind="$attrs" :style="tools.getbackgroundGradient(color, 180)">
|
||||
<q-icon class="q-ma-sm" :name="icon"/>
|
||||
<div class="q-ma-sm my-text_3 text-cls no-wrap"><span v-html="label"></span></div>
|
||||
</q-btn>
|
||||
<q-btn v-if="small" class="mybox_small" :color="color" rounded push :to="to" v-bind="$attrs" :style="tools.getbackgroundGradient(color, 180)">
|
||||
<q-btn v-if="small" :flat="flat" class="mybox_small" :color="color" rounded push :to="to" v-bind="$attrs" :style="tools.getbackgroundGradient(color, 180)">
|
||||
<q-icon class="q-ma-sm" :name="icon" size="sm"/>
|
||||
<div class="q-ma-xs my-text-small text-cls no-wrap"><span v-html="label"></span></div>
|
||||
</q-btn>
|
||||
@@ -13,11 +13,11 @@
|
||||
</div>
|
||||
<div v-else class="col-xs-6 col-sm-6 col-md-4 col-lg-3">
|
||||
<div class="q-ma-sm">
|
||||
<q-btn v-if="!small" class="mybox" :color="color" rounded push :to="to" v-bind="$attrs" :style="tools.getbackgroundGradient(color, 0)">
|
||||
<q-btn v-if="!small" :flat="flat" class="mybox" :color="color" rounded push :to="to" v-bind="$attrs" :style="tools.getbackgroundGradient(color, 0)">
|
||||
<q-icon class="q-ma-sm" size="3rem" :name="icon"/>
|
||||
<div class="q-ma-sm text-h5 text-cls no-wrap"><span v-html="label"></span></div>
|
||||
</q-btn>
|
||||
<q-btn v-if="small" class="mybox_small" :color="color" rounded push :to="to" v-bind="$attrs" :style="tools.getbackgroundGradient(color, 0)">
|
||||
<q-btn v-if="small" :flat="flat" class="mybox_small" :color="color" rounded push :to="to" v-bind="$attrs" :style="tools.getbackgroundGradient(color, 0)">
|
||||
<q-icon class="q-ma-sm" :name="icon" size="sm"/>
|
||||
<div class="q-ma-xs my-text-small text-cls no-wrap"><span v-html="label"></span></div>
|
||||
</q-btn>
|
||||
|
||||
@@ -31,12 +31,18 @@ export default defineComponent({
|
||||
return costanti.MAINCARDS.filter((rec: IMainCard) => rec.visuonstat)
|
||||
})
|
||||
|
||||
const visulinks = computed(() => {
|
||||
// @ts-ignore
|
||||
return costanti.MAINCARDS.filter((rec: IMainCard) => rec.link)
|
||||
})
|
||||
|
||||
return {
|
||||
userStore,
|
||||
tools,
|
||||
calcstat,
|
||||
shared_consts,
|
||||
visustat,
|
||||
visulinks,
|
||||
}
|
||||
},
|
||||
})
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
<template>
|
||||
<div class="q-ma-md">
|
||||
<div class="row q-my-md shadow" style="border-radius: 4px;border: 1px solid rgba(0, 0, 0, 0.12);">
|
||||
<div class="col-md-3 col-lg-3 col-sm-12 col-xs-12 box_4" style="border-left: 1px solid #efefef;"
|
||||
<!--<div class="col-md-3 col-lg-3 col-sm-12 col-xs-12 box_4" style="border-left: 1px solid #efefef;"
|
||||
v-bind:class="{'border-top': $q.platform.is.mobile}">
|
||||
<q-card class="no-shadow q-pa-sm">
|
||||
<q-item class="q-pb-none q-pt-xs">
|
||||
@@ -26,24 +26,24 @@
|
||||
</q-item-section>
|
||||
</q-item>
|
||||
</q-card>
|
||||
</div>
|
||||
</div>-->
|
||||
|
||||
<div v-for="(rec, index) of visustat" :class="`col-md-3 col-lg-3 col-sm-6 col-xs-6 text-` + rec.color"
|
||||
style="border-left: 1px solid #efefef;" :key="index"
|
||||
>
|
||||
<q-card class="no-shadow q-pa-sm">
|
||||
<q-item class="q-pb-none q-pt-xs">
|
||||
<q-item class="q-pb-none q-pt-xs cursor-pointer" :to="rec.to">
|
||||
<q-item-section>
|
||||
<q-item-label class="text-h4" style="font-weight: 500;letter-spacing: 3px;">
|
||||
{{ calcstat.numByTab[rec.table] }}
|
||||
</q-item-label>
|
||||
<q-item-label :class="!$q.dark.isActive? 'text-grey-7':'text-white'" style="letter-spacing: 1px;">
|
||||
<q-item-label :class="(!$q.dark.isActive? 'text-grey-7':'text-white') + ` title_view_shadow`" style="letter-spacing: 1px;">
|
||||
{{ rec.title }}
|
||||
</q-item-label>
|
||||
</q-item-section>
|
||||
|
||||
<q-item-section side>
|
||||
<q-icon :name="rec.icon" :class="`text-` + rec.color" size="60px"></q-icon>
|
||||
<q-icon :name="rec.icon" :class="`text-` + rec.color" size="50px"></q-icon>
|
||||
</q-item-section>
|
||||
</q-item>
|
||||
<q-item class="q-py-xs" style="min-height: unset">
|
||||
@@ -56,6 +56,26 @@
|
||||
</q-card>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row q-my-md shadow" style="border-radius: 4px;border: 1px solid rgba(0, 0, 0, 0.12);">
|
||||
<div v-for="(rec, index) of visulinks" :class="`col-md-3 col-lg-3 col-sm-6 col-xs-6 text-` + rec.color"
|
||||
style="border-left: 1px solid #efefef;" :key="index"
|
||||
>
|
||||
<q-card class="no-shadow q-pa-sm">
|
||||
<q-item class="q-pb-none q-pt-xs cursor-pointer" :to="rec.to">
|
||||
<q-item-section>
|
||||
<q-item-label :class="(!$q.dark.isActive? 'text-grey-7':'text-white') + ` title_view_shadow`" style="letter-spacing: 0.5px;">
|
||||
{{ rec.title }}
|
||||
</q-item-label>
|
||||
</q-item-section>
|
||||
|
||||
<q-item-section side>
|
||||
<q-icon :name="rec.icon" :class="`text-` + rec.color" size="50px"></q-icon>
|
||||
</q-item-section>
|
||||
</q-item>
|
||||
</q-card>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
|
||||
@@ -300,6 +300,17 @@ export default defineComponent({
|
||||
// param1: shared_consts.PARAM_SHOW_PROVINCE,
|
||||
tablesel: 'cities',
|
||||
},
|
||||
{
|
||||
label: 'Visiblità',
|
||||
table: 'pub_to_share',
|
||||
key: 'pub_to_share',
|
||||
type: costanti.FieldType.select,
|
||||
value: tools.getCookie(tools.COOK_SEARCH + 'pub_to_share', shared_consts.PUBTOSHARE.ALL, true),
|
||||
addall: false,
|
||||
arrvalue: [],
|
||||
useinput: false,
|
||||
filter: null,
|
||||
},
|
||||
{
|
||||
label: 'Offro/Cerco',
|
||||
table: 'adtypes',
|
||||
@@ -452,6 +463,18 @@ export default defineComponent({
|
||||
// param1: shared_consts.PARAM_SHOW_PROVINCE,
|
||||
tablesel: 'cities',
|
||||
},
|
||||
{
|
||||
label: 'Visiblità',
|
||||
table: 'pub_to_share',
|
||||
key: 'pub_to_share',
|
||||
type: costanti.FieldType.select,
|
||||
value: tools.getCookie(tools.COOK_SEARCH + 'pub_to_share', shared_consts.PUBTOSHARE.ALL, true),
|
||||
addall: false,
|
||||
arrvalue: [],
|
||||
useinput: true,
|
||||
filter: null,
|
||||
tablesel: 'pub_to_share',
|
||||
},
|
||||
{
|
||||
label: 'Data Inizio',
|
||||
table: 'caldate',
|
||||
@@ -542,6 +565,18 @@ export default defineComponent({
|
||||
// param1: shared_consts.PARAM_SHOW_PROVINCE,
|
||||
tablesel: 'cities',
|
||||
},
|
||||
{
|
||||
label: 'Visiblità',
|
||||
table: 'pub_to_share',
|
||||
key: 'pub_to_share',
|
||||
type: costanti.FieldType.select,
|
||||
value: tools.getCookie(tools.COOK_SEARCH + 'pub_to_share', shared_consts.PUBTOSHARE.ALL, true),
|
||||
addall: false,
|
||||
arrvalue: [],
|
||||
useinput: true,
|
||||
filter: null,
|
||||
tablesel: 'pub_to_share',
|
||||
},
|
||||
{
|
||||
label: 'Tipologia',
|
||||
table: toolsext.TABTYPEHOSP,
|
||||
@@ -633,6 +668,18 @@ export default defineComponent({
|
||||
// param1: shared_consts.PARAM_SHOW_PROVINCE,
|
||||
tablesel: 'cities',
|
||||
},
|
||||
{
|
||||
label: 'Visiblità',
|
||||
table: 'pub_to_share',
|
||||
key: 'pub_to_share',
|
||||
type: costanti.FieldType.select,
|
||||
value: tools.getCookie(tools.COOK_SEARCH + 'pub_to_share', shared_consts.PUBTOSHARE.ALL, true),
|
||||
addall: false,
|
||||
arrvalue: [],
|
||||
useinput: true,
|
||||
filter: null,
|
||||
tablesel: 'pub_to_share',
|
||||
},
|
||||
{
|
||||
label: 'Offro/Cerco',
|
||||
table: 'adtypes',
|
||||
@@ -794,6 +841,18 @@ export default defineComponent({
|
||||
tablesel: 'cities',
|
||||
icon: 'fas fa-map-marker-alt',
|
||||
},
|
||||
{
|
||||
label: 'Visiblità',
|
||||
table: 'visibility',
|
||||
key: 'visibility',
|
||||
type: costanti.FieldType.multiselect,
|
||||
value: tools.getCookie(tools.COOK_SEARCH + 'visibility', costanti.FILTER_TUTTI),
|
||||
addall: true,
|
||||
arrvalue: [],
|
||||
useinput: true,
|
||||
filter: null,
|
||||
tablesel: 'visibility',
|
||||
},
|
||||
{
|
||||
label: 'Categorie',
|
||||
table: 'catgrps',
|
||||
@@ -927,6 +986,7 @@ export default defineComponent({
|
||||
idStatusSkill: 1,
|
||||
idContribType: 1,
|
||||
idCity: 1,
|
||||
pub_to_share: 1,
|
||||
numLevel: 1,
|
||||
adType: 1,
|
||||
photos: 1,
|
||||
@@ -943,6 +1003,7 @@ export default defineComponent({
|
||||
comune: 1,
|
||||
mycities: 1,
|
||||
'profile.img': 1,
|
||||
'profile.mygroups': 1,
|
||||
'profile.qualifica': 1,
|
||||
}
|
||||
},
|
||||
@@ -987,6 +1048,7 @@ export default defineComponent({
|
||||
idStatusSkill: 1,
|
||||
idContribType: 1,
|
||||
idCity: 1,
|
||||
pub_to_share: 1,
|
||||
dateTimeStart: 1,
|
||||
dateTimeEnd: 1,
|
||||
numLevel: 1,
|
||||
@@ -1005,6 +1067,7 @@ export default defineComponent({
|
||||
comune: 1,
|
||||
mycities: 1,
|
||||
'profile.img': 1,
|
||||
'profile.mygroups': 1,
|
||||
'profile.qualifica': 1,
|
||||
}
|
||||
},
|
||||
@@ -1056,6 +1119,7 @@ export default defineComponent({
|
||||
idContribType: 1,
|
||||
photos: 1,
|
||||
idCity: 1,
|
||||
pub_to_share: 1,
|
||||
note: 1,
|
||||
website: 1,
|
||||
link_maplocation: 1,
|
||||
@@ -1099,6 +1163,7 @@ export default defineComponent({
|
||||
idStatusSkill: 1,
|
||||
idContribType: 1,
|
||||
idCity: 1,
|
||||
pub_to_share: 1,
|
||||
numLevel: 1,
|
||||
adType: 1,
|
||||
photos: 1,
|
||||
@@ -1115,6 +1180,7 @@ export default defineComponent({
|
||||
comune: 1,
|
||||
mycities: 1,
|
||||
'profile.img': 1,
|
||||
'profile.mygroups': 1,
|
||||
'profile.qualifica': 1,
|
||||
}
|
||||
},
|
||||
|
||||
@@ -1,15 +1,13 @@
|
||||
<template>
|
||||
<q-page class="text-white">
|
||||
<q-page class="text-black">
|
||||
|
||||
<div class="landing">
|
||||
|
||||
<section class="bg-primary">
|
||||
<section class="bg-white">
|
||||
<div class=" row justify-between items-start q-col-gutter-sm">
|
||||
<div class="col-12">
|
||||
<div class="feature-item"><i
|
||||
aria-hidden="true"
|
||||
class="q-icon fas fa-hands-holding"> </i>
|
||||
<div class="text-big" v-html="t('homepage.freesostieni.title')"></div>
|
||||
<div class="feature-item" style="margin-top: 0px !important;">
|
||||
<div class="text-big" style="margin: 0px !important; padding: 2px !important;" v-html="t('homepage.freesostieni.title')"></div>
|
||||
<p class="feat-descr" v-html="t('homepage.freesostieni.descr')"></p></div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -104,13 +104,13 @@ export default defineComponent({
|
||||
required: false,
|
||||
default: '',
|
||||
},
|
||||
/* keyMain: {
|
||||
type: String,
|
||||
required: false,
|
||||
default: '',
|
||||
},
|
||||
/* keyMain: {
|
||||
type: String,
|
||||
required: false,
|
||||
default: '',
|
||||
},
|
||||
|
||||
*/
|
||||
*/
|
||||
nodataLabel: {
|
||||
type: String,
|
||||
required: false,
|
||||
@@ -250,7 +250,7 @@ export default defineComponent({
|
||||
|
||||
const serverData: any = ref([])
|
||||
const spinner_visible = ref(false)
|
||||
const searchList = ref(<ISearchList[]> [])
|
||||
const searchList = ref(<ISearchList[]>[])
|
||||
|
||||
let actual = ''
|
||||
|
||||
@@ -511,7 +511,7 @@ export default defineComponent({
|
||||
}
|
||||
|
||||
if (item.value && recProvince && idRegion !== costanti.FILTER_TUTTI) {
|
||||
arrfilter_provices.push({key: 'reg', value: idRegion })
|
||||
arrfilter_provices.push({ key: 'reg', value: idRegion })
|
||||
}
|
||||
|
||||
} else if (item.table === 'provinces') {
|
||||
@@ -525,7 +525,7 @@ export default defineComponent({
|
||||
}
|
||||
|
||||
if (item.value && recCities && idProvince !== costanti.FILTER_TUTTI) {
|
||||
arrfilter_cities.push({key: 'prov', value: idProvince })
|
||||
arrfilter_cities.push({ key: 'prov', value: idProvince })
|
||||
}
|
||||
|
||||
} else if (item.table === 'cities') {
|
||||
@@ -551,13 +551,18 @@ export default defineComponent({
|
||||
|
||||
}
|
||||
}
|
||||
} else if (shared_consts.TABLES_WITH_SPECIAL_FILTER.includes(item.table)) {
|
||||
|
||||
objitem[item.key] = item.value
|
||||
filtercustom.push(objitem)
|
||||
|
||||
} else if (shared_consts.COL_WITH_FILTER_GTE.includes(item.key)) {
|
||||
objitem[item.key] = item.value
|
||||
filter_gte.push(objitem)
|
||||
|
||||
} else if (item.value > 0) {
|
||||
objitem[item.key] = item.value
|
||||
filtersearch.push(objitem)
|
||||
filtersearch.push(objitem)
|
||||
|
||||
} else if (item.arrvalue.length > 0) {
|
||||
|
||||
@@ -592,7 +597,8 @@ export default defineComponent({
|
||||
|
||||
if (idSector > 0) {
|
||||
// idSector
|
||||
obj2['sector._id'] = idSector
|
||||
// obj2['sector._id'] = idSector
|
||||
obj2['idSector'] = idSector
|
||||
filtersearch2.push(obj2)
|
||||
}
|
||||
if (idSkill > 0) {
|
||||
@@ -1047,7 +1053,7 @@ export default defineComponent({
|
||||
function saveFieldValue(mydata: any) {
|
||||
// console.log('saveFieldValue', mydata)
|
||||
|
||||
if (newRecordBool.value){
|
||||
if (newRecordBool.value) {
|
||||
return false
|
||||
}
|
||||
|
||||
@@ -1138,14 +1144,14 @@ export default defineComponent({
|
||||
const funccancel = 0
|
||||
const par = {
|
||||
param1: item._id,
|
||||
param2: {...item},
|
||||
param2: { ...item },
|
||||
}
|
||||
|
||||
if (col.action === lists.MenuAction.CAN_EDIT_TABLE) {
|
||||
console.log('Edit', item)
|
||||
selItem(item, col)
|
||||
recModif.value = {...item}
|
||||
recSaved.value = {...item}
|
||||
recModif.value = { ...item }
|
||||
recSaved.value = { ...item }
|
||||
editRecordBool.value = true
|
||||
} else {
|
||||
|
||||
@@ -1230,7 +1236,7 @@ export default defineComponent({
|
||||
// console.log('changecol', mytable.value)
|
||||
if (!!mytable.value) {
|
||||
let arrcol = []
|
||||
let col: IColGridTable = {name: '', sortable: false}
|
||||
let col: IColGridTable = { name: '', sortable: false }
|
||||
for (col of mycolumns.value) {
|
||||
if (col.field !== costanti.NOFIELD) {
|
||||
let obj = {
|
||||
@@ -1445,7 +1451,7 @@ export default defineComponent({
|
||||
if (col.required) {
|
||||
// console.log('newRecord.value', newRecord.value, newRecord.value[col.name])
|
||||
if (tools.isArray(newRecord.value[col.name])) {
|
||||
if (newRecord.value[col.name].length <= 0){
|
||||
if (newRecord.value[col.name].length <= 0) {
|
||||
return translate(col.label_trans)
|
||||
}
|
||||
} else {
|
||||
@@ -1490,7 +1496,7 @@ export default defineComponent({
|
||||
const data = await globalStore.saveTable(mydata)
|
||||
.then((ris) => {
|
||||
if (ris.hasOwnProperty('code')) {
|
||||
tools.checkErrors($q, ris.code, '');
|
||||
tools.checkErrors($q, ris.code, '')
|
||||
} else {
|
||||
if (ris) {
|
||||
// console.log('ris', ris)
|
||||
@@ -1522,7 +1528,7 @@ export default defineComponent({
|
||||
}
|
||||
|
||||
function cancelrecModif() {
|
||||
recModif.value = {...recSaved.value}
|
||||
recModif.value = { ...recSaved.value }
|
||||
|
||||
editRecordBool.value = false
|
||||
/*if (recModif.value._id) {
|
||||
@@ -1580,7 +1586,7 @@ export default defineComponent({
|
||||
return ((rec._id > 0 && typeof rec._id === 'number') || rec._id !== 'number') && rec !== -100
|
||||
}
|
||||
|
||||
function showColCheck(col: IColGridTable, tipovis: number, visulabel:boolean, value: any = '', record: any = null){
|
||||
function showColCheck(col: IColGridTable, tipovis: number, visulabel: boolean, value: any = '', record: any = null) {
|
||||
|
||||
//if (col.isadvanced_field && !showfilteradv.value)
|
||||
// return false
|
||||
@@ -1657,6 +1663,7 @@ export default defineComponent({
|
||||
}
|
||||
return false
|
||||
}
|
||||
|
||||
function getActualDate(mydate: any) {
|
||||
return actualDate.value
|
||||
}
|
||||
|
||||
@@ -23,11 +23,15 @@ export default defineComponent({
|
||||
|
||||
const cardsbig = computed(() => {
|
||||
// @ts-ignore
|
||||
return costanti.MAINCARDS.filter((rec: IMainCard) => !rec.small && rec.visible)
|
||||
return costanti.MAINCARDS.filter((rec: IMainCard) => !rec.small && rec.visible && !rec.link && !rec.visuonstat)
|
||||
})
|
||||
|
||||
const cardssmall = computed(() => {
|
||||
return costanti.MAINCARDS.filter((rec: any) => rec.small && rec.visible)
|
||||
return costanti.MAINCARDS.filter((rec: any) => rec.small && rec.visible && !rec.link && !rec.visuonstat)
|
||||
})
|
||||
|
||||
const arrlinks = computed(() => {
|
||||
return costanti.MAINCARDS.filter((rec: any) => rec.link && rec.visible)
|
||||
})
|
||||
|
||||
return {
|
||||
@@ -36,6 +40,7 @@ export default defineComponent({
|
||||
costanti,
|
||||
cardsbig,
|
||||
cardssmall,
|
||||
arrlinks,
|
||||
showInfo,
|
||||
}
|
||||
}
|
||||
|
||||
@@ -76,6 +76,10 @@ export default defineComponent({
|
||||
emit('setCmd', cmd, myusername, value)
|
||||
}
|
||||
|
||||
function myusername() {
|
||||
return userStore.my.username
|
||||
}
|
||||
|
||||
onMounted(mounted)
|
||||
|
||||
return {
|
||||
@@ -88,6 +92,7 @@ export default defineComponent({
|
||||
userStore,
|
||||
tools,
|
||||
table,
|
||||
myusername,
|
||||
}
|
||||
},
|
||||
})
|
||||
|
||||
@@ -33,6 +33,29 @@
|
||||
</q-btn>
|
||||
</q-item-label>
|
||||
</q-item-section>
|
||||
<q-item-section side v-if="visu === costanti.USER_GROUPS">
|
||||
<q-item-label>
|
||||
<q-btn rounded :icon="userStore.IsMyGroupByGroupname(grp.groupname) ? `fas fa-ellipsis-h` : `fas fa-user`">
|
||||
<q-menu>
|
||||
<q-list v-if="(!userStore.IsMyGroupByGroupname(grp.groupname) && !userStore.IsAskedGroupByGroupname(grp.groupname))" style="min-width: 200px">
|
||||
<q-item clickable v-close-popup @click="tools.setCmd($q, shared_consts.GROUPSCMD.REQGROUP, myusername(), true, grp.groupname)">
|
||||
<q-item-section>{{ $t('groups.ask_group') }}</q-item-section>
|
||||
</q-item>
|
||||
</q-list>
|
||||
<q-list v-else-if="(!userStore.IsMyGroupByGroupname(grp.groupname) && userStore.IsAskedGroupByGroupname(grp.groupname))" style="min-width: 200px">
|
||||
<q-item clickable v-close-popup @click="tools.setCmd($q, shared_consts.GROUPSCMD.REQGROUP, myusername(), false, grp.groupname)">
|
||||
<q-item-section>{{ $t('groups.cancel_ask_group') }}</q-item-section>
|
||||
</q-item>
|
||||
</q-list>
|
||||
<q-list v-else-if="userStore.IsMyGroupByGroupname(grp.groupname)" style="min-width: 200px">
|
||||
<q-item clickable v-close-popup @click="tools.setCmd($q, shared_consts.GROUPSCMD.REMOVE_FROM_MYGROUP, myusername(), '', grp.groupname)">
|
||||
<q-item-section>{{ $t('groups.exit_group') }}</q-item-section>
|
||||
</q-item>
|
||||
</q-list>
|
||||
</q-menu>
|
||||
</q-btn>
|
||||
</q-item-label>
|
||||
</q-item-section>
|
||||
<q-item-section side v-if="visu === costanti.REQ_GROUP">
|
||||
<q-item-label>
|
||||
<q-btn rounded icon="fas fa-ellipsis-h">
|
||||
@@ -76,8 +99,8 @@
|
||||
</q-item>
|
||||
</q-list>
|
||||
<q-list v-else-if="userStore.IsMyGroupByGroupname(grp.groupname)" style="min-width: 200px">
|
||||
<q-item clickable v-close-popup @click="tools.setCmd($q, shared_consts.GROUPSCMD.REMOVE_FROM_MYGROUPS, myusername(), '', grp.groupname)">
|
||||
<q-item-section>{{ $t('groups.remove_from_mygroups') }}</q-item-section>
|
||||
<q-item clickable v-close-popup @click="tools.setCmd($q, shared_consts.GROUPSCMD.REMOVE_FROM_MYGROUP, myusername(), '', grp.groupname)">
|
||||
<q-item-section>{{ $t('groups.exit_group') }}</q-item-section>
|
||||
</q-item>
|
||||
</q-list>
|
||||
</q-menu>
|
||||
|
||||
@@ -54,7 +54,7 @@ export default defineComponent({
|
||||
try {
|
||||
if (props.modelValue === costanti.GROUPS) {
|
||||
arr = userStore.my.profile.mygroups
|
||||
} else if (props.modelValue === costanti.MY_GROUPS) {
|
||||
} else if (props.modelValue === costanti.MY_GROUPS || props.modelValue === costanti.USER_GROUPS) {
|
||||
arr = userStore.groups.filter((grp: IMyGroup) => userStore.my.profile.mygroups.findIndex((rec: IMyGroup) => rec.groupname === grp.groupname) >= 0)
|
||||
} else if (props.modelValue === costanti.MANAGE_GROUPS) {
|
||||
arr = userStore.my.profile.manage_mygroups
|
||||
@@ -98,20 +98,10 @@ export default defineComponent({
|
||||
return (arr) ? arr.length : 0
|
||||
})
|
||||
|
||||
function loadGroups() {
|
||||
async function loadGroups() {
|
||||
// Carica il profilo di quest'utente
|
||||
if (username.value) {
|
||||
userStore.loadGroups(username.value).then((ris) => {
|
||||
// console.log('ris', ris)
|
||||
if (ris) {
|
||||
userStore.my.profile.mygroups = ris.mygroups ? ris.mygroups : []
|
||||
userStore.my.profile.list_usersgroup = ris.listUsersGroup ? ris.listUsersGroup : []
|
||||
userStore.groups = ris.listgroups ? ris.listgroups : []
|
||||
userStore.my.profile.asked_groups = ris.listSentRequestGroups ? ris.listSentRequestGroups : []
|
||||
filtroutente.value = [{ userId: userStore.my._id }]
|
||||
}
|
||||
})
|
||||
|
||||
filtroutente.value = await tools.loadGroupsByUsername(username.value)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -533,7 +533,7 @@
|
||||
<q-btn
|
||||
v-if="myvalue && col.field_extra1"
|
||||
icon="far fa-file-alt" :label="col.titlepopupedit" color="primary" text-color="white"
|
||||
:to="getToByCol(col)"
|
||||
:to="tools.getToByCol(col)"
|
||||
>
|
||||
</q-btn>
|
||||
</div>
|
||||
|
||||
@@ -105,6 +105,7 @@ export default defineComponent({
|
||||
idStatusSkill: 1,
|
||||
idContribType: 1,
|
||||
idCity: 1,
|
||||
pub_to_share: 1,
|
||||
numLevel: 1,
|
||||
adType: 1,
|
||||
photos: 1,
|
||||
@@ -121,6 +122,7 @@ export default defineComponent({
|
||||
comune: 1,
|
||||
mycities: 1,
|
||||
'profile.img': 1,
|
||||
'profile.mygroups': 1,
|
||||
'profile.qualifica': 1,
|
||||
}
|
||||
},
|
||||
@@ -139,6 +141,7 @@ export default defineComponent({
|
||||
idStatusSkill: 1,
|
||||
idContribType: 1,
|
||||
idCity: 1,
|
||||
pub_to_share: 1,
|
||||
numLevel: 1,
|
||||
adType: 1,
|
||||
photos: 1,
|
||||
@@ -155,6 +158,7 @@ export default defineComponent({
|
||||
surname: 1,
|
||||
mycities: 1,
|
||||
'profile.img': 1,
|
||||
'profile.mygroups': 1,
|
||||
'profile.qualifica': 1,
|
||||
}
|
||||
},
|
||||
@@ -173,6 +177,7 @@ export default defineComponent({
|
||||
idStatusSkill: 1,
|
||||
idContribType: 1,
|
||||
idCity: 1,
|
||||
pub_to_share: 1,
|
||||
numLevel: 1,
|
||||
adType: 1,
|
||||
photos: 1,
|
||||
@@ -189,6 +194,7 @@ export default defineComponent({
|
||||
comune: 1,
|
||||
mycities: 1,
|
||||
'profile.img': 1,
|
||||
'profile.mygroups': 1,
|
||||
'profile.qualifica': 1,
|
||||
}
|
||||
},
|
||||
@@ -232,6 +238,7 @@ export default defineComponent({
|
||||
idStatusSkill: 1,
|
||||
idContribType: 1,
|
||||
idCity: 1,
|
||||
pub_to_share: 1,
|
||||
numLevel: 1,
|
||||
adType: 1,
|
||||
photos: 1,
|
||||
@@ -248,6 +255,7 @@ export default defineComponent({
|
||||
comune: 1,
|
||||
mycities: 1,
|
||||
'profile.img': 1,
|
||||
'profile.mygroups': 1,
|
||||
'profile.qualifica': 1,
|
||||
}
|
||||
},
|
||||
@@ -268,6 +276,7 @@ export default defineComponent({
|
||||
idStatusSkill: 1,
|
||||
idContribType: 1,
|
||||
idCity: 1,
|
||||
pub_to_share: 1,
|
||||
numLevel: 1,
|
||||
adType: 1,
|
||||
photos: 1,
|
||||
@@ -284,6 +293,7 @@ export default defineComponent({
|
||||
surname: 1,
|
||||
mycities: 1,
|
||||
'profile.img': 1,
|
||||
'profile.mygroups': 1,
|
||||
'profile.qualifica': 1,
|
||||
}
|
||||
},
|
||||
@@ -304,6 +314,7 @@ export default defineComponent({
|
||||
idStatusSkill: 1,
|
||||
idContribType: 1,
|
||||
idCity: 1,
|
||||
pub_to_share: 1,
|
||||
numLevel: 1,
|
||||
adType: 1,
|
||||
photos: 1,
|
||||
@@ -320,6 +331,7 @@ export default defineComponent({
|
||||
comune: 1,
|
||||
mycities: 1,
|
||||
'profile.img': 1,
|
||||
'profile.mygroups': 1,
|
||||
'profile.qualifica': 1,
|
||||
}
|
||||
},
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
|
||||
<div class="flex flex-center">
|
||||
|
||||
<CCardState :mytext="$t('pages.statusreg.verifieds')" :myval="datastat.num_teleg_attivo"
|
||||
<CCardState :mytext="$t('pages.statusreg.reg')" :myval="datastat.num_teleg_attivo"
|
||||
mycolor="blue"
|
||||
:myperc="(datastat.num_teleg_attivo / datastat.num_reg) * 100"></CCardState>
|
||||
|
||||
|
||||
@@ -10,6 +10,9 @@ import { tools } from '@store/Modules/tools'
|
||||
|
||||
import { CVerifyEmail } from '@src/components/CVerifyEmail'
|
||||
import { CVerifyTelegram } from '@src/components/CVerifyTelegram'
|
||||
|
||||
import { static_data } from '@src/db/static_data'
|
||||
|
||||
import MixinUsers from '@/mixins/mixin-users'
|
||||
|
||||
|
||||
@@ -29,6 +32,7 @@ export default defineComponent({
|
||||
userStore,
|
||||
globalStore,
|
||||
tools,
|
||||
static_data,
|
||||
}
|
||||
},
|
||||
})
|
||||
|
||||
@@ -60,6 +60,17 @@
|
||||
|
||||
</q-banner>
|
||||
</div>
|
||||
<div v-else-if="userStore.isOldRegNotFinished()">
|
||||
<div v-if="static_data.functionality.ENABLE_REG_NEED_TELEGRAM && !tools.isTelegOk()">
|
||||
<h3>La Verifica su Telegram non è stata completata, pertanto se ancora non avete inserito nessun annuncio (Bene, Servizio, ecc...), è consigliato cancellare la vecchia registrazione per ripetere con una nuova registrazione.</h3><br>
|
||||
<h3>Per contattare il supporto tecnico e farvi cancellare la registrazione: "Help - RISO", clicca qui sotto:</h3><br>
|
||||
<h4><a href="https://t.me/+dTHFNIwkc_phNmQ8" target="_blank"><strong>Entra in Supporto Tecnico su Telegram: (Help - RISO)</strong></a></h4>
|
||||
<br><br>
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
|
||||
@@ -1017,6 +1017,15 @@ $heightBtn: 100%;
|
||||
text-shadow: .1rem .1rem .1rem $grayshadow;
|
||||
}
|
||||
|
||||
.title_view_shadow{
|
||||
font-family: WalterTurncoat,handwriting, Arial, sans-serif;
|
||||
font-size: 0.85rem;
|
||||
text-shadow: .05rem .05rem .05rem $grayshadow;
|
||||
letter-spacing: 0.25px;
|
||||
}
|
||||
|
||||
|
||||
|
||||
.text-normal {
|
||||
font-family: 'Open Sans', Arial, sans-serif;
|
||||
font-size: 1rem;
|
||||
|
||||
@@ -40,7 +40,7 @@ const msg_website = {
|
||||
+ ' che intere popolazioni antiche conoscevano bene.',
|
||||
descrapp_pag2: 'E\' giunta l\'ora di utilizzare i nuovi strumenti <strong>Tecnologici</strong> a nostro <strong>favore</strong>, per <strong>Liberarci</strong> '
|
||||
+ 'così piano piano dalla <strong>schiavitù</strong> del <strong>"Lavoro per generare Denaro"</strong> e trasformando le nostre <strong>Capacitá</strong> in '
|
||||
+ '<strong>TerraDellaVisionerse Umane</strong> per poterci sostenere e vivere in <strong>Armonia</strong> con gli altri.',
|
||||
+ '<strong>Risorse Umane</strong> per poterci sostenere e vivere in <strong>Armonia</strong> con gli altri.',
|
||||
freesocial: {
|
||||
title: 'Free Social',
|
||||
descr: 'Una Community organizzata per <strong>Categorie</strong>, dove potrai unirti a <strong>Gruppi Tematici</strong>, '
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
const msg_website_enUs = {
|
||||
ws: {
|
||||
sitename: 'TerraDellaVisione',
|
||||
siteshortname: 'TerraDellaVisione',
|
||||
botname: 'TerraDellaVisione BOT',
|
||||
sitename: 'Riso',
|
||||
siteshortname: 'RISO',
|
||||
botname: 'Riso BOT',
|
||||
},
|
||||
products: {
|
||||
quantity: 'Quantità',
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
const msg_website_es = {
|
||||
ws: {
|
||||
sitename: 'TerraDellaVisione',
|
||||
siteshortname: 'TerraDellaVisione',
|
||||
botname: 'TerraDellaVisione BOT',
|
||||
sitename: 'Riso',
|
||||
siteshortname: 'RISO',
|
||||
botname: 'Riso BOT',
|
||||
},
|
||||
products: {
|
||||
quantity: 'Quantità',
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
const msg_website_fr = {
|
||||
ws: {
|
||||
sitename: 'TerraDellaVisione',
|
||||
siteshortname: 'TerraDellaVisione',
|
||||
botname: 'TerraDellaVisione BOT',
|
||||
sitename: 'Riso',
|
||||
siteshortname: 'RISO',
|
||||
botname: 'Riso BOT',
|
||||
},
|
||||
homepage: {
|
||||
titlecontatti: 'CONTACTS',
|
||||
|
||||
@@ -1,7 +1,9 @@
|
||||
const msg_website_it = {
|
||||
ws: {
|
||||
sitename: 'Terra Della Visione',
|
||||
siteshortname: 'TDV',
|
||||
sitename: 'Riso',
|
||||
siteshortname: 'RISO',
|
||||
description: 'Siamo la Rete Italiana di Scambio Orizzontale, abbiamo creato questa piattaforma per metterla al servizio di chi vuole riscoprire il valore della condivisione e della cooperazione. Valori semplici e profondi che ci aiutano a ritrovare il Senso della Vita, perduto in questa società consumista, e riporti quei Sani Pricìpi Naturali ed Umani di Fratellanza che intere popolazioni antiche conoscevano bene.',
|
||||
keywords: 'riso, piattaforma di scambio, rete italiana scambio orizzontale, riso app, riso piattaforma, scambio e baratto, momenta RIS',
|
||||
},
|
||||
products: {
|
||||
quantity: 'Quantità',
|
||||
@@ -27,6 +29,7 @@ const msg_website_it = {
|
||||
myservice2: 'myservice2',
|
||||
myhosps2: 'myhosps2',
|
||||
mygood2: 'mygood2',
|
||||
fundraising: 'Sostieni il Progetto',
|
||||
test: 'Test',
|
||||
projects: 'Progetti',
|
||||
report: 'Report Ore',
|
||||
@@ -48,7 +51,7 @@ const msg_website_it = {
|
||||
invita: 'Invita Persone',
|
||||
SignUp: 'Modulo di Registrazione:',
|
||||
need_Telegram: 'Per poter utilizzare la Piattaforma occorre avere Telegram installato.<br><a href="https://play.google.com/store/apps/details?id=org.telegram.messenger" target="_blank">Clicca qui per scaricarlo</a>',
|
||||
Registrazione_Con_Bot: 'Per Registrarsi occorre prima verificarsi su Telegram sul <strong>BOT TerraDellaVisione</strong>',
|
||||
Registrazione_Con_Bot: 'Per Registrarsi occorre prima verificarsi su Telegram sul <strong>BOT RISO</strong>',
|
||||
SignUpIscrizione: 'Diventa Socio CNM',
|
||||
SignUp_alreadylista: 'Registrazione per quelli che erano già nella lista di Notevole (del 2019) !',
|
||||
SignUp2: 'Registrazione',
|
||||
@@ -136,19 +139,100 @@ const msg_website_it = {
|
||||
color: 'Colore',
|
||||
},
|
||||
msg: {
|
||||
myAppName: 'Terra Della Visione',
|
||||
myAppDescription: '',
|
||||
myAppName: 'Riso',
|
||||
myAppDescription: 'Il primo Vero Social Libero, Equo e Solidale, dove Vive Consapevolezza e Aiuto Comunitario. Gratuito',
|
||||
underconstruction: 'App in costruzione...',
|
||||
myDescriz: '',
|
||||
sottoTitoloApp: 'Centro per ritiri CurArte',
|
||||
sottoTitoloApp2: 'un viaggio nella Natura',
|
||||
sottoTitoloApp3: 'per incontrare il tuo essere potrai partecipare a sessioni di yoga, meditazione, massaggi, danze, eventi musicali, cibo naturale vegetariano/vegano, laboratori artigianali',
|
||||
sottoTitoloApp4: '',
|
||||
sottoTitoloApp: 'Il primo Vero Social',
|
||||
sottoTitoloApp2: 'Libero, Equo e Solidale',
|
||||
sottoTitoloApp3: 'dove Vive Consapevolezza e Aiuto Comunitario',
|
||||
sottoTitoloApp4: 'Gratuito e senza Pubblicità',
|
||||
},
|
||||
homepage: {
|
||||
descrapp_title1: '',
|
||||
descrapp_pag1: '',
|
||||
descrapp_pag2: '',
|
||||
descrapp_title1: 'Uniti per Evolvere e Sperimentare',
|
||||
descrapp_pag1: 'Siamo la <strong>Rete Italiana di Scambio Orizzontale</strong>, abbiamo creato questa piattaforma per metterla al servizio di chi vuole riscoprire il valore della <strong>condivisione</strong> e della <strong>cooperazione</strong>. ' +
|
||||
'Valori semplici e profondi che ci aiutano a ritrovare il <strong>Senso della Vita</strong>, perduto in questa società consumista, e riporti quei <strong>Sani Pricìpi Naturali</strong> ed Umani di <strong>Fratellanza</strong>'
|
||||
+ ' che intere popolazioni antiche conoscevano bene.',
|
||||
descrapp_pag2: 'E\' giunta l\'ora di utilizzare i nuovi strumenti <strong>Tecnologici</strong> a nostro <strong>favore</strong>, per <strong>Liberarci</strong> '
|
||||
+ 'così piano piano dalla <strong>schiavitù</strong> del <strong>"Lavoro per generare Denaro"</strong> e trasformando le nostre <strong>Capacitá</strong> in '
|
||||
+ '<strong>Risorse Umane</strong> per poterci sostenere e vivere in <strong>Armonia</strong> con gli altri.',
|
||||
freesocial: {
|
||||
title: 'Social',
|
||||
descr: 'Una Community organizzata per <strong>Categorie</strong>, dove potrai unirti a <strong>Gruppi Tematici</strong>, '
|
||||
+ 'Condividere <strong>Esperienze</strong> e unire Competenze per organizzare e sostenere <strong>Progetti Innovativi</strong> per il Popolo.<br><br>'
|
||||
+ 'Verranno evidenziati sviluppi <strong>Etici</strong> come l\'<strong>Auto-Produzione</strong>, la <strong>Sostenibilitá</strong>, '
|
||||
+ 'la Buona <strong>Salute Naturale</strong> e il <strong>Rispetto per l\'Ambiente</strong> e per tutti gli <strong>Esseri Viventi</strong> di questo '
|
||||
+ '<strong>Pianeta</strong>. Chiunque potrá esprimere il proprio <strong>Consenso o Dissenso</strong> partecipando a <strong>Sondaggi Interattivi</strong>'
|
||||
+ ' e realizzare insieme i <strong>Cambiamenti</strong> necessari alla nostra Società.',
|
||||
},
|
||||
freetalent: {
|
||||
title: 'Beni e Servizi',
|
||||
descr: 'Condividi i tuoi <strong>Talenti</strong> e <strong>Abilità</strong>, '
|
||||
+ 'Nel Dare e Ricevere, si creeranno così legami di <strong>Amicizia, Solidarietà, Cooperazione e Divertimento</strong><br><br>' +
|
||||
'Favoriamo lo scambio locale di <strong>Beni e Servizi</strong> grazie ad un sistema di baratto organizzato, in cui la comunità stessa si pone come garante.'
|
||||
},
|
||||
coin: {
|
||||
title: 'RIS - Credito Alternativo',
|
||||
descr: '<strong>Stiamo lavorando</strong> anche per creare una sorta di "moneta alternativa" per conteggiare gli scambi che avvengono tra di noi, quando il semplice baratto risulta non applicabile.<br>' +
|
||||
'Partendo dalle basi del <strong>Si.Cre.Na.C.C - Sistema di Credito Naturale a Copertura Certa</strong>.<br>' +
|
||||
'<em>Ciascun operatore potrà creare moneta all\'occorrenza, se il saldo del suo conto non sarà sufficiente a coprire la spesa. Potrà quindi mandare il suo conto in "scoperto", accollandosi il conseguente' +
|
||||
' Debito, accreditando l\'equivalente somma all\'operatore ricevente, il quale la annovera nel suo conto in qualità di Credito. ' +
|
||||
'L\'equilibrio tra il credito dell\'uno ed il debito dell\'altro ha come conseguenza che il debitore dovrà lavorare per rifondere il debito, mentre il ricevente potrà usare il credito come moneta.</em><br>' +
|
||||
'Per maggiori informazioni consultare il libro gratuito <a href="https://sicrenacc.info/" target="_blank">cliccando qui</a>.'
|
||||
|
||||
|
||||
},
|
||||
freeliving: {
|
||||
title: 'Gruppi Territoriali',
|
||||
descr: 'Questo progetto vuole diffondere la creazione di Gruppi Territoriali Provinciali,'
|
||||
+ 'per poter favorire progetti condivisi in ambito territoriale e creare così una <strong>Rete di Fiducia</strong> fino al vicinato, come giá viene praticato in piccolo, in numerosi <strong>Ecovillaggi</strong> e Comunità del mondo.',
|
||||
|
||||
},
|
||||
freecollabora: {
|
||||
title: 'Chi può Collaborare?',
|
||||
descr: 'Tutti coloro che sono in linea con <strong>Princìpi Etici</strong> e ricerca del <strong>Benessere Globale del Pianeta</strong><br>'
|
||||
+ 'Pertanto sono i benvenuti:'
|
||||
+ '<ul class="mylist" style="padding-left: 20px;">'
|
||||
+ '<li><strong>Associazioni no-profit, Ecovillaggi, Comunità</strong></li>'
|
||||
+ '<li>Gruppi che intendono promuovere <strong>Progetti Sociali Innovativi</strong> per una <strong>Decrescita Felice</strong></li>'
|
||||
+ '<li>Chi gestisce un <strong>Gruppo di Acquisto Solidale (G.A.S.)</strong></li>'
|
||||
+ '<li><strong>Produttori Locali Etici</strong></li>'
|
||||
+ '<li><strong>Chiunque voglia partecipare</strong>, nella forma che ritiene più opportuna.</li>'
|
||||
+ '</ul>',
|
||||
},
|
||||
freesostieni: {
|
||||
title: 'Come Sostenere il progetto <strong>Riso.app</strong>?',
|
||||
descr: '<ul class="mylist" style="padding-left: 20px;">'
|
||||
+ '<li>📱<strong>Condividendo la APP</strong> a tutti coloro che vogliono far parte insieme della crescita e sviluppo di una Nuova Era</li>'
|
||||
+ '<li>👥 Aiutando a creare Gruppi Territoriali nella vostra città, impegnandosi a realizzare progetti per il Bene Comune, in onore ai principi Amorevoli e di condivisione.</li>'
|
||||
+ '<li>🌱 Sostenendo le persone attorno a voi, e rispettando la nostra vera Casa: Madre Natura e Tutti gli Esseri Viventi. ❤️</li>'
|
||||
+ '<li>👨🏻💻 Con una <strong>piccola donazione</strong> per le spese dei Server</li></ul>' +
|
||||
'<strong>Tramite Paypal:</strong><br>' +
|
||||
'<div style="font-size: 1.5rem; background-color: white; color: blue; border: solid 2px #f00; margin: 10px; padding: 10px; border-radius: 10px; " ' +
|
||||
'class="row justify-around">' +
|
||||
'<span><a href="https://paypal.me/paoloarena/1" target="_blank">1€</a></span>' +
|
||||
'<span><a href="https://paypal.me/paoloarena/2" target="_blank">2€</a></span>' +
|
||||
'<span><a href="https://paypal.me/paoloarena/5" target="_blank">5€</a></span>' +
|
||||
'<span><a href="https://paypal.me/paoloarena/10" target="_blank">10€</a></span>' +
|
||||
'<span><a href="https://paypal.me/paoloarena" target="_blank">scegli</a></span>' +
|
||||
'</div><em>clicca sull\'importo per fare una <strong>donazione</strong> </em><br>' +
|
||||
'In alternativa inventati una forma di scambio da donare a Paolo (soprannome <a href="https://t.me/surya1977" target="_blank">Surya</a>)<br />' +
|
||||
'<span style="color: red; font-size: 2rem;">❤</span> Sono graditi messaggi sia di suggerimenti che di apprezzamenti.<br>' +
|
||||
'Grazie Mille per l\'Aiuto' +
|
||||
'<br>',
|
||||
},
|
||||
multiplatform: {
|
||||
title: 'Multi-piattaforma',
|
||||
descr: 'E\' compatibile con Google Chrome, Firefox, Opera, Safari, iPhone, Android e PC. L\'Applicazione s\'installa facilmente, senza passare dallo store. '
|
||||
+ 'basta entrare sul sito <strong>www.riso.app</strong>.<br>'
|
||||
+ 'Dopo la registrazione chiederà di aggiungerlo allo schermo (o cliccare sul menu del browser "Installa APP")',
|
||||
},
|
||||
free: {
|
||||
title: 'Gratuita, Open Source e Niente Pubblicità',
|
||||
descr: 'Questa App <strong>non è in vendita</strong>, non ha scopi commerciali, quindi <strong>non ha prezzo</strong> e nessun dato contenuto in esso verrà mai venduto, in quanto appartiene a <strong>Tutti Noi</strong> ed a nessuno in particolare.<br>Chiunque potrá utilizzarla e beneficiarne da essa.<br>' +
|
||||
'<em>Progetto Open Source su <a href="https://github.com/paoloar77/newfreeplanet" target="_blank">GitHub</a>.</em><br><br>'
|
||||
+ '<strong>Grazie a Tutti per il sostegno</strong>. ',
|
||||
},
|
||||
titlecontatti: 'Contatti',
|
||||
contacts: '',
|
||||
},
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
const msg_website_pt = {
|
||||
ws: {
|
||||
sitename: 'TerraDellaVisione',
|
||||
siteshortname: 'TerraDellaVisione',
|
||||
botname: 'TerraDellaVisione BOT',
|
||||
sitename: 'Riso',
|
||||
siteshortname: 'RISO',
|
||||
botname: 'Riso BOT',
|
||||
},
|
||||
pages: {
|
||||
home: 'Home',
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
const msg_website_si = {
|
||||
ws: {
|
||||
sitename: 'Terra Della Visione',
|
||||
siteshortname: 'Terra Della Visione',
|
||||
botname: 'Terra Della Visione BOT',
|
||||
sitename: 'Riso',
|
||||
siteshortname: 'RISO',
|
||||
botname: 'Riso BOT',
|
||||
},
|
||||
pages: {
|
||||
home: 'Domača stran',
|
||||
|
||||
@@ -4,13 +4,15 @@ import {
|
||||
IFunctionality,
|
||||
IPreloadImages,
|
||||
} from '@model'
|
||||
import { func } from '@store/Modules/fieldsTable'
|
||||
|
||||
const functionality: IFunctionality = {
|
||||
PWA: true,
|
||||
SHOW_USER_MENU: true, // Cambiare con true
|
||||
SHOW_PROFILE: true,
|
||||
SHOW_REG_BUTTON: true,
|
||||
ENABLE_REGISTRATION: true, // Cambiare con true
|
||||
SHOW_REG_BUTTON: false,
|
||||
ENABLE_REGISTRATION: true,
|
||||
ENABLE_REG_NEED_TELEGRAM: true,
|
||||
SHOW_NEWSLETTER: false,
|
||||
SHOW_ONLY_POLICY: true,
|
||||
ENABLE_TODOS_LOADING: false,
|
||||
@@ -20,12 +22,11 @@ const functionality: IFunctionality = {
|
||||
BOOKING_EVENTS: true,
|
||||
ENABLE_ECOMMERCE: false,
|
||||
ENABLE_REG_ISP: true,
|
||||
ENABLE_GROUPS: false,
|
||||
SHOW_COMPETENZE: false,
|
||||
ENABLE_VIEW_GROUPS: false,
|
||||
ENABLE_VIEW_USERS: false,
|
||||
ENABLE_VIEW_PROFILE: false,
|
||||
ENABLE_VIEW_BOOKINGS: true,
|
||||
ENABLE_GROUPS: true,
|
||||
SHOW_COMPETENZE: true,
|
||||
ENABLE_VIEW_GROUPS: true,
|
||||
ENABLE_VIEW_USERS: true,
|
||||
ENABLE_VIEW_PROFILE: true,
|
||||
}
|
||||
|
||||
// const SHOW_PROJINTHEMENU = false
|
||||
@@ -326,34 +327,6 @@ const routes_manager: IListRoutes[] = [
|
||||
onlyManager: true,
|
||||
onlyEditor: true
|
||||
},
|
||||
{
|
||||
active: true,
|
||||
order: 30,
|
||||
path: '/admin/operators',
|
||||
materialIcon: 'fas fa-file-alt',
|
||||
name: 'otherpages.admin.operators',
|
||||
component: () => import('@/rootgen/admin/operators/operators.vue'),
|
||||
inmenu: true,
|
||||
submenu: true,
|
||||
level_parent: 0,
|
||||
level_child: 0.5,
|
||||
onlyManager: true,
|
||||
onlyEditor: true
|
||||
},
|
||||
{
|
||||
active: true,
|
||||
order: 30,
|
||||
path: '/admin/disciplines',
|
||||
materialIcon: 'fas fa-file-alt',
|
||||
name: 'otherpages.admin.disciplines',
|
||||
component: () => import('@/rootgen/admin/disciplines/disciplines.vue'),
|
||||
inmenu: true,
|
||||
submenu: true,
|
||||
level_parent: 0,
|
||||
level_child: 0.5,
|
||||
onlyManager: true,
|
||||
onlyEditor: true
|
||||
},
|
||||
{
|
||||
active: true,
|
||||
order: 30,
|
||||
@@ -485,11 +458,110 @@ const baseroutes: IListRoutes[] = [
|
||||
path: '/',
|
||||
materialIcon: 'home',
|
||||
name: 'pages.home',
|
||||
component: () => import('@src/root_spec/home_tdv/home_tdv.vue'),
|
||||
component: () => import('@src/root/mainview/mainview.vue'),
|
||||
reqauth: false,
|
||||
inmenu: true,
|
||||
infooter: true,
|
||||
},
|
||||
{
|
||||
active: true,
|
||||
order: 12,
|
||||
path: '/goods',
|
||||
materialIcon: 'fas fa-tshirt',
|
||||
name: 'mypages.goods',
|
||||
component: () => import('@/root/goods/goods.vue'),
|
||||
meta: { requiresAuth: true },
|
||||
inmenu: true,
|
||||
infooter: true,
|
||||
},
|
||||
{
|
||||
active: true,
|
||||
order: 15,
|
||||
path: '/services',
|
||||
materialIcon: 'fas fa-house-user',
|
||||
name: 'mypages.services',
|
||||
component: () => import('@/root/services/services.vue'),
|
||||
meta: { requiresAuth: true },
|
||||
inmenu: true,
|
||||
infooter: true,
|
||||
},
|
||||
{
|
||||
active: true,
|
||||
order: 15,
|
||||
path: '/hosps',
|
||||
materialIcon: 'fas fa-bed',
|
||||
name: 'mypages.hosp',
|
||||
component: () => import('@/root/hosp/hosp.vue'),
|
||||
meta: { requiresAuth: true },
|
||||
inmenu: true,
|
||||
infooter: true,
|
||||
},
|
||||
{
|
||||
active: true,
|
||||
order: 20,
|
||||
path: '/events',
|
||||
materialIcon: 'fas fa-bullhorn',
|
||||
name: 'mypages.events',
|
||||
component: () => import('@/root/eventi/eventi.vue'),
|
||||
meta: { requiresAuth: true },
|
||||
inmenu: true,
|
||||
infooter: true,
|
||||
},
|
||||
{
|
||||
active: true,
|
||||
order: 100,
|
||||
path: '/presentazione',
|
||||
materialIcon: 'fas fa-info',
|
||||
name: 'pages.presentazione',
|
||||
component: () => import('@src/root/presentazione/presentazione.vue'),
|
||||
reqauth: false,
|
||||
inmenu: true,
|
||||
infooter: true,
|
||||
},
|
||||
{
|
||||
active: true,
|
||||
order: 120,
|
||||
path: '/myprofile',
|
||||
materialIcon: 'fas fa-user',
|
||||
name: 'pages.profile',
|
||||
component: () => import('@/views/user/myprofile/myprofile.vue'),
|
||||
meta: { requiresAuth: true },
|
||||
inmenu: true,
|
||||
infooter: true,
|
||||
},
|
||||
{
|
||||
active: true,
|
||||
order: 120,
|
||||
path: '/editprofile',
|
||||
materialIcon: 'fas fa-user',
|
||||
name: 'pages.profile3',
|
||||
component: () => import('@/views/user/editprofile/editprofile.vue'),
|
||||
meta: { requiresAuth: true },
|
||||
inmenu: false,
|
||||
infooter: false,
|
||||
},
|
||||
{
|
||||
active: true,
|
||||
order: 130,
|
||||
path: '/friends',
|
||||
materialIcon: 'fas fa-user-friends',
|
||||
name: 'mypages.friends',
|
||||
component: () => import('@/views/user/myfriends/myfriends.vue'),
|
||||
meta: { requiresAuth: true },
|
||||
inmenu: true,
|
||||
infooter: true,
|
||||
},
|
||||
{
|
||||
active: functionality.ENABLE_GROUPS,
|
||||
order: 132,
|
||||
path: '/groups',
|
||||
materialIcon: 'fas fa-users',
|
||||
name: 'mypages.groups',
|
||||
component: () => import('@/views/user/mygroups/mygroups.vue'),
|
||||
meta: { requiresAuth: true },
|
||||
inmenu: true,
|
||||
infooter: true,
|
||||
},
|
||||
{
|
||||
active: true,
|
||||
order: 135,
|
||||
@@ -501,6 +573,71 @@ const baseroutes: IListRoutes[] = [
|
||||
inmenu: false,
|
||||
infooter: false,
|
||||
},
|
||||
{
|
||||
active: true,
|
||||
order: 136,
|
||||
path: '/grp/:groupname',
|
||||
materialIcon: 'fas fa-user',
|
||||
name: 'proj.group2',
|
||||
component: () => import('@/views/user/mygroup/mygroup.vue'),
|
||||
meta: { requiresAuth: true },
|
||||
inmenu: false,
|
||||
infooter: false,
|
||||
},
|
||||
{
|
||||
active: true,
|
||||
order: 130,
|
||||
path: '/mypage/:idBacheca',
|
||||
materialIcon: 'fas fa-user',
|
||||
name: 'pages.mypage2',
|
||||
component: () => import('@/views/user/mypagebacheca/mypagebacheca.vue'),
|
||||
meta: { requiresAuth: true },
|
||||
inmenu: false,
|
||||
infooter: false,
|
||||
},
|
||||
{
|
||||
active: true,
|
||||
order: 130,
|
||||
path: '/myservice/:idSkill',
|
||||
materialIcon: '',
|
||||
name: 'pages.myservice2',
|
||||
component: () => import('@/views/user/myservice/myservice.vue'),
|
||||
meta: { requiresAuth: true },
|
||||
inmenu: false,
|
||||
infooter: false,
|
||||
},
|
||||
{
|
||||
active: true,
|
||||
order: 135,
|
||||
path: '/myhosps/:idHosp',
|
||||
materialIcon: '',
|
||||
name: 'pages.myhosps2',
|
||||
component: () => import('@/views/user/mypagehosp/mypagehosp.vue'),
|
||||
meta: { requiresAuth: true },
|
||||
inmenu: false,
|
||||
infooter: false,
|
||||
},
|
||||
{
|
||||
active: true,
|
||||
order: 132,
|
||||
path: '/mygood/:idGood',
|
||||
materialIcon: '',
|
||||
name: 'pages.mygood2',
|
||||
component: () => import('@/views/user/mypagegood/mypagegood.vue'),
|
||||
meta: { requiresAuth: true },
|
||||
inmenu: false,
|
||||
infooter: false,
|
||||
},
|
||||
{
|
||||
active: true,
|
||||
order: 150,
|
||||
path: '/fundraising',
|
||||
materialIcon: 'fas fa-hand-holding-heart',
|
||||
name: 'pages.fundraising',
|
||||
component: () => import('@src/root/fundraising/fundraising.vue'),
|
||||
inmenu: true,
|
||||
infooter: true,
|
||||
},
|
||||
{
|
||||
active: true,
|
||||
order: 400,
|
||||
@@ -573,12 +710,34 @@ const baseroutes: IListRoutes[] = [
|
||||
infooter: true
|
||||
},
|
||||
{
|
||||
active: functionality.ENABLE_REGISTRATION,
|
||||
active: functionality.ENABLE_REGISTRATION && functionality.ENABLE_REG_NEED_TELEGRAM,
|
||||
order: 1000,
|
||||
path: '/signup/:invited/:usernameteleg/:idteleg',
|
||||
materialIcon: 'how_to_reg',
|
||||
name: 'pages.SignUp',
|
||||
component: () => import('@/views/login/signup/signup.vue'),
|
||||
inmenu: false,
|
||||
infooter: false,
|
||||
separator: false
|
||||
},
|
||||
/*{
|
||||
active: functionality.ENABLE_REGISTRATION && !functionality.ENABLE_REG_NEED_TELEGRAM,
|
||||
order: 1000,
|
||||
path: '/signup',
|
||||
materialIcon: 'how_to_reg',
|
||||
name: 'pages.SignUp',
|
||||
component: () => import('@/views/login/signup_noteleg/signup_noteleg.vue'),
|
||||
component: () => import('@/views/login/signup/signup_noteleg.vue'),
|
||||
inmenu: false,
|
||||
infooter: false,
|
||||
separator: false
|
||||
},*/
|
||||
{
|
||||
active: true,
|
||||
order: 1001,
|
||||
path: '/signup/:invited',
|
||||
materialIcon: 'how_to_reg',
|
||||
name: 'pages.SignUp2',
|
||||
component: () => import('@/views/login/signup/signup.vue'),
|
||||
inmenu: false,
|
||||
infooter: false,
|
||||
separator: false
|
||||
@@ -637,20 +796,10 @@ const baseroutes: IListRoutes[] = [
|
||||
active: true,
|
||||
path: '/separator',
|
||||
name: 'separator',
|
||||
order: 1010,
|
||||
order: 35,
|
||||
isseparator: true,
|
||||
inmenu: true,
|
||||
},
|
||||
{
|
||||
active: true,
|
||||
order: 70,
|
||||
path: '/chisiamo',
|
||||
materialIcon: 'event',
|
||||
name: 'pages.chisiamo',
|
||||
component: () => import('@/rootgen/operators/operators.vue'),
|
||||
inmenu: true,
|
||||
infooter: true
|
||||
},
|
||||
{
|
||||
active: true,
|
||||
order: 80,
|
||||
@@ -659,8 +808,8 @@ const baseroutes: IListRoutes[] = [
|
||||
name: 'pages.calendarioeventi',
|
||||
component: () => import('@/root/calendarioeventi/calendarioeventi.vue'),
|
||||
extraclass: 'isCalendar',
|
||||
inmenu: true,
|
||||
infooter: true
|
||||
inmenu: false,
|
||||
infooter: false
|
||||
},
|
||||
{
|
||||
active: true,
|
||||
@@ -692,24 +841,8 @@ const baseroutes: IListRoutes[] = [
|
||||
inmenu: false,
|
||||
infooter: false
|
||||
},
|
||||
{
|
||||
active: true,
|
||||
order: 130,
|
||||
path: '/admin/eventlist',
|
||||
materialIcon: 'fas fa-calendar-plus',
|
||||
name: 'otherpages.admin.eventlist',
|
||||
component: () => import('@/rootgen/admin/eventlist/eventlist.vue'),
|
||||
inmenu: true,
|
||||
infooter: true
|
||||
},
|
||||
|
||||
]
|
||||
export function firstimagehome() {
|
||||
|
||||
let img = 'images/foto1.jpg'
|
||||
return img
|
||||
}
|
||||
|
||||
|
||||
const arrLangUsed = [
|
||||
'it',
|
||||
@@ -717,6 +850,12 @@ const arrLangUsed = [
|
||||
// 'es',
|
||||
]
|
||||
|
||||
export function firstimagehome() {
|
||||
|
||||
let img = 'statics/images/background.jpg'
|
||||
return img
|
||||
}
|
||||
|
||||
const lang_available: ILang[] = [
|
||||
{
|
||||
label: 'Italiano', icon: 'fa-flag-it', value: 'it', image: '../images/it.png', short: 'IT',
|
||||
@@ -739,7 +878,6 @@ export const preloadedimages = []
|
||||
|
||||
export const routes = baseroutes
|
||||
|
||||
|
||||
export const static_data = {
|
||||
baseroutes,
|
||||
routes,
|
||||
|
||||
@@ -310,6 +310,7 @@ export interface IGlobalState {
|
||||
provinces: IProvince[],
|
||||
datastat?: INotData
|
||||
site?: ISites,
|
||||
mygroups: IMyGroup[],
|
||||
}
|
||||
|
||||
export interface IMenuList {
|
||||
@@ -478,6 +479,7 @@ export interface IParamDialog {
|
||||
export interface IFunctionality {
|
||||
PWA?: boolean
|
||||
ENABLE_REGISTRATION?: boolean
|
||||
ENABLE_REG_NEED_TELEGRAM?: boolean
|
||||
SHOW_REG_BUTTON?: boolean
|
||||
SHOW_PROFILE?: boolean
|
||||
SHOW_USER_MENU?: boolean
|
||||
@@ -782,7 +784,7 @@ export interface IProvince {
|
||||
link_grp: string
|
||||
}
|
||||
|
||||
export interface IMySkill {
|
||||
export interface IMySkill extends IMyMain{
|
||||
_id: number
|
||||
idSector: number
|
||||
idSkill: number
|
||||
@@ -803,7 +805,11 @@ export interface IMySkill {
|
||||
username?: string
|
||||
}
|
||||
|
||||
export interface IMyGoods {
|
||||
export interface IMyMain {
|
||||
pub_to_share?: number
|
||||
}
|
||||
|
||||
export interface IMyGoods extends IMyMain{
|
||||
_id: number
|
||||
idSector: number
|
||||
idSkill: number
|
||||
@@ -823,7 +829,7 @@ export interface IMyGoods {
|
||||
date_updated?: Date,
|
||||
}
|
||||
|
||||
export interface IMyBacheca {
|
||||
export interface IMyBacheca extends IMyMain {
|
||||
_id: number
|
||||
idSector: number
|
||||
idSkill: number
|
||||
@@ -850,7 +856,7 @@ export interface IAccomodation {
|
||||
num: number
|
||||
}
|
||||
|
||||
export interface IMyHosp {
|
||||
export interface IMyHosp extends IMyMain {
|
||||
_id: number
|
||||
visibile: boolean
|
||||
typeHosp: number
|
||||
|
||||
@@ -53,9 +53,9 @@
|
||||
<CUserNonVerif></CUserNonVerif>
|
||||
</div>
|
||||
<div v-else>
|
||||
<CMainView></CMainView>
|
||||
|
||||
<CDashboard></CDashboard>
|
||||
<CMainView></CMainView>
|
||||
|
||||
<div class="row justify-evenly items-center q-pa-sm q-ma-sm">
|
||||
<q-btn
|
||||
|
||||
@@ -865,6 +865,7 @@ const msg_it = {
|
||||
skill: {
|
||||
name: 'Categoria',
|
||||
city: 'Comune',
|
||||
pub_to_share: 'Visibilità',
|
||||
photos: 'Foto',
|
||||
note: 'Note',
|
||||
short_node: 'Breve Nota',
|
||||
@@ -908,7 +909,7 @@ const msg_it = {
|
||||
find_people: 'Cerca Persone',
|
||||
find_group: 'Cerca Gruppo',
|
||||
manage_my_groups: 'Gruppi che Gestisco',
|
||||
follow_groups: 'Gruppi che Seguo',
|
||||
follow_groups: 'Miei Gruppi (di cui fai parte)',
|
||||
create_group: 'Crea Gruppo',
|
||||
friends: 'Amici',
|
||||
bacheca: 'Bacheca',
|
||||
|
||||
@@ -116,15 +116,27 @@ export const costanti = {
|
||||
disable: true,
|
||||
small: true,
|
||||
},
|
||||
{
|
||||
visible: true,
|
||||
title: 'Sostieni il Progetto️',
|
||||
to: '/fundraising',
|
||||
icon: 'fas fa-hand-holding-heart',
|
||||
color: 'purple',
|
||||
hint: '',
|
||||
disable: false,
|
||||
small: false,
|
||||
link: true,
|
||||
},
|
||||
{
|
||||
visible: true,
|
||||
title: 'Help (Faq)',
|
||||
to: '/faq',
|
||||
icon: 'fas fa-users',
|
||||
color: 'green-6',
|
||||
icon: 'fas fa-question',
|
||||
color: 'yellow',
|
||||
hint: '',
|
||||
disable: false,
|
||||
small: true,
|
||||
link: true,
|
||||
},
|
||||
{
|
||||
visible: false,
|
||||
@@ -136,20 +148,10 @@ export const costanti = {
|
||||
disable: true,
|
||||
small: true,
|
||||
},
|
||||
{
|
||||
visible: true,
|
||||
title: 'Per sostienere il Progetto?',
|
||||
to: '/fundraising',
|
||||
icon: 'fas fa-hand-holding',
|
||||
color: 'blue-6',
|
||||
hint: '',
|
||||
disable: false,
|
||||
small: false,
|
||||
},
|
||||
{
|
||||
visible: false,
|
||||
title: 'Gruppi',
|
||||
to: '',
|
||||
to: '/groups',
|
||||
table: 'mygroups',
|
||||
icon: 'fas fa-users',
|
||||
color: 'blue-6',
|
||||
@@ -186,6 +188,7 @@ export const costanti = {
|
||||
ASK_SENT_GROUP: 16,
|
||||
FIND_GROUP: 20,
|
||||
MY_GROUPS: 21,
|
||||
USER_GROUPS: 22,
|
||||
CREATE_GROUP: 30,
|
||||
MANAGE_GROUPS: 31,
|
||||
|
||||
|
||||
@@ -189,7 +189,7 @@ export const colmybot = [
|
||||
name: 'visibility',
|
||||
label_trans: 'bot.visibility',
|
||||
fieldtype: costanti.FieldType.binary,
|
||||
jointable: 'visibility'
|
||||
jointable: 'visibility',
|
||||
}),
|
||||
AddCol({ name: 'date_updated', label_trans: 'bot.date_updated', fieldtype: costanti.FieldType.date }),
|
||||
AddCol(DeleteRec),
|
||||
@@ -659,6 +659,14 @@ export const colmyGoods = [
|
||||
remote_field: 'comune',
|
||||
required: true,
|
||||
}),
|
||||
AddCol({
|
||||
name: 'pub_to_share',
|
||||
label_trans: 'skill.pub_to_share',
|
||||
fieldtype: costanti.FieldType.select,
|
||||
jointable: 'pub_to_share',
|
||||
icon: 'fas fa-users',
|
||||
showWhen: costanti.showWhen.NewRec + costanti.showWhen.InPage + costanti.showWhen.InEdit + costanti.showWhen.InView_OnlyifExist,
|
||||
}),
|
||||
AddCol({
|
||||
name: 'adType',
|
||||
label_trans: 'adTypes.name',
|
||||
@@ -828,6 +836,14 @@ export const colmySkills = [
|
||||
remote_field: 'comune',
|
||||
required: true,
|
||||
}),
|
||||
AddCol({
|
||||
name: 'pub_to_share',
|
||||
label_trans: 'skill.pub_to_share',
|
||||
fieldtype: costanti.FieldType.select,
|
||||
jointable: 'pub_to_share',
|
||||
icon: 'fas fa-users',
|
||||
showWhen: costanti.showWhen.NewRec + costanti.showWhen.InPage + costanti.showWhen.InEdit + costanti.showWhen.InView_OnlyifExist,
|
||||
}),
|
||||
AddCol({
|
||||
name: 'adType',
|
||||
label_trans: 'adTypes.name',
|
||||
@@ -1030,6 +1046,14 @@ export const colmyHosp = [
|
||||
sortable: false,
|
||||
required: true,
|
||||
}),
|
||||
AddCol({
|
||||
name: 'pub_to_share',
|
||||
label_trans: 'skill.pub_to_share',
|
||||
fieldtype: costanti.FieldType.select,
|
||||
jointable: 'pub_to_share',
|
||||
icon: 'fas fa-users',
|
||||
showWhen: costanti.showWhen.NewRec + costanti.showWhen.InPage + costanti.showWhen.InEdit + costanti.showWhen.InView_OnlyifExist,
|
||||
}),
|
||||
AddCol({
|
||||
name: 'idContribType',
|
||||
label_trans: 'contribtype.name',
|
||||
@@ -1131,6 +1155,13 @@ export const colmyBachecas = [
|
||||
sortable: false,
|
||||
required: true,
|
||||
}),
|
||||
AddCol({
|
||||
name: 'pub_to_share',
|
||||
label_trans: 'skill.pub_to_share',
|
||||
fieldtype: costanti.FieldType.select,
|
||||
icon: 'fas fa-users',
|
||||
jointable: 'pub_to_share',
|
||||
}),
|
||||
AddCol(
|
||||
{
|
||||
name: 'dateTimeStart',
|
||||
@@ -1896,6 +1927,7 @@ export const colTableUsers = [
|
||||
name: 'profile.myshares',
|
||||
field: 'profile',
|
||||
subfield: 'myshares',
|
||||
icon: 'fas fa-users',
|
||||
label_trans: 'reg.myshares',
|
||||
}),
|
||||
AddCol({
|
||||
@@ -2323,6 +2355,7 @@ export const colTableSubCashCategory = [
|
||||
]
|
||||
|
||||
export const colTableCircuit = [
|
||||
AddCol({ name: 'Num', label_trans: 'circuit.num', fieldtype: costanti.FieldType.number }),
|
||||
AddCol({ name: 'name', label_trans: 'circuit.name' }),
|
||||
AddCol({ name: 'subname', label_trans: 'circuit.subname' }),
|
||||
AddCol({ name: 'descr', label_trans: 'circuit.descr' }),
|
||||
@@ -2705,6 +2738,15 @@ export const fieldsTable = {
|
||||
colicon: 'icon',
|
||||
noshow: true,
|
||||
},
|
||||
{
|
||||
value: 'pub_to_share',
|
||||
label: 'Visibilità',
|
||||
columns: colTablePermission,
|
||||
colkey: 'value',
|
||||
collabel: 'label',
|
||||
colicon: 'icon',
|
||||
noshow: true,
|
||||
},
|
||||
{
|
||||
value: 'visibilGroup',
|
||||
label: 'Visibilità',
|
||||
|
||||
@@ -5027,7 +5027,7 @@ export const tools = {
|
||||
setCmd($q: any, cmd: number, username: string, value: any, dest: string) {
|
||||
console.log('setcmd', cmd)
|
||||
if (cmd === shared_consts.GROUPSCMD.REMOVE_FROM_MYGROUP) {
|
||||
tools.removeFromMyGroups($q, username, dest)
|
||||
tools.removeFromMyGroups($q, username, dest, t('db.domanda_exit_fromgroup', { username }))
|
||||
} else if (cmd === shared_consts.GROUPSCMD.BLOCK_GROUP) {
|
||||
tools.blockGroup($q, username, dest)
|
||||
} else if (cmd === shared_consts.GROUPSCMD.SETGROUP) {
|
||||
@@ -5144,17 +5144,23 @@ export const tools = {
|
||||
|
||||
getSelectionByTable(table: string, mydef: any) {
|
||||
|
||||
const arrtable = ['sectors', 'statusSkills', 'contribtypes', 'adtypes', 'sectorgoods', 'otherfilters', 'shippings']
|
||||
const arrtable = ['sectors', 'statusSkills', 'contribtypes', 'adtypes', 'sectorgoods', 'otherfilters', 'shippings', 'pub_to_share']
|
||||
const arrmultisel_tab = ['skills', 'goods']
|
||||
const arrmultisel = [
|
||||
{ table: 'skills', join: 'sectors' },
|
||||
{ table: 'goods', join: 'sectorgoods' }
|
||||
]
|
||||
|
||||
let convertiint = false
|
||||
|
||||
if (table === 'pub_to_share') {
|
||||
convertiint = true
|
||||
}
|
||||
|
||||
let ris = mydef
|
||||
|
||||
if (arrtable.includes(table)) {
|
||||
ris = tools.getCookie(tools.COOK_SEARCH + table, mydef)
|
||||
ris = tools.getCookie(tools.COOK_SEARCH + table, mydef, convertiint)
|
||||
} else if (arrmultisel_tab.includes(table)) {
|
||||
const rec = arrmultisel.find((rec) => rec.table === table)
|
||||
if (rec) {
|
||||
@@ -5180,6 +5186,7 @@ export const tools = {
|
||||
idCity: this.getCitySel(),
|
||||
NumLevel: 0,
|
||||
adType: tools.getSelectionByTable('adtypes', costanti.AdType.OFFRO),
|
||||
pub_to_share: tools.getSelectionByTable('pub_to_share', shared_consts.PUBTOSHARE.ALL),
|
||||
photos: [],
|
||||
note: '',
|
||||
//**ADDFIELD_MYSKILL
|
||||
@@ -5210,6 +5217,7 @@ export const tools = {
|
||||
adType: tools.getSelectionByTable('adtypes', costanti.AdType.OFFRO),
|
||||
idShipping: tools.getSelectionByTable('shippings', []),
|
||||
otherfilters: tools.getSelectionByTable('otherfilters', []),
|
||||
pub_to_share: tools.getSelectionByTable('pub_to_share', shared_consts.PUBTOSHARE.ALL),
|
||||
photos: [],
|
||||
note: '',
|
||||
//**ADDFIELD_MYSKILL
|
||||
@@ -5245,6 +5253,7 @@ export const tools = {
|
||||
idCity: this.getCitySel(),
|
||||
NumLevel: 0,
|
||||
adType: tools.getSelectionByTable('adtypes', costanti.AdType.OFFRO),
|
||||
pub_to_share: tools.getSelectionByTable('pub_to_share', shared_consts.PUBTOSHARE.ALL),
|
||||
photos: [],
|
||||
note: '',
|
||||
//**ADDFIELD_MYBACHECAS
|
||||
@@ -5261,6 +5270,7 @@ export const tools = {
|
||||
typeHosp: tools.getSelectionByTable(toolsext.TABTYPEHOSP, 2),
|
||||
idContribType: tools.getSelectionByTable('contribtypes', []),
|
||||
idCity: this.getCitySel(),
|
||||
pub_to_share: tools.getSelectionByTable('pub_to_share', shared_consts.PUBTOSHARE.ALL),
|
||||
photos: [],
|
||||
descr: '',
|
||||
note: '',
|
||||
@@ -5361,14 +5371,18 @@ export const tools = {
|
||||
},
|
||||
|
||||
getbackgroundGradient(color: string, degree: number) {
|
||||
const mycol = tools.colourNameToHex(color)
|
||||
const arrcol = color.split('-')
|
||||
let newcol = arrcol[0] + '-4'
|
||||
const mycolchiaro = tools.colourNameToHex(newcol)
|
||||
if (color !== '-1') {
|
||||
const mycol = tools.colourNameToHex(color)
|
||||
const arrcol = color.split('-')
|
||||
let newcol = arrcol[0] + '-4'
|
||||
const mycolchiaro = tools.colourNameToHex(newcol)
|
||||
|
||||
return 'background: ' + mycol +
|
||||
' background: -webkit-linear-gradient(' + degree + 'deg, ' + mycol + ', ' + mycolchiaro + ') !important; ' +
|
||||
' background: linear-gradient(' + degree + 'deg, ' + mycol + ', ' + mycolchiaro + ') !important;'
|
||||
return 'background: ' + mycol +
|
||||
' background: -webkit-linear-gradient(' + degree + 'deg, ' + mycol + ', ' + mycolchiaro + ') !important; ' +
|
||||
' background: linear-gradient(' + degree + 'deg, ' + mycol + ', ' + mycolchiaro + ') !important;'
|
||||
} else {
|
||||
return ''
|
||||
}
|
||||
},
|
||||
|
||||
getCurrentUrl() {
|
||||
@@ -5435,6 +5449,27 @@ export const tools = {
|
||||
return this.getConfSiteOptionEnabled(shared_consts.ConfSite.Need_Aportador_On_DataReg_To_Verify_Reg)
|
||||
},
|
||||
|
||||
async loadGroupsByUsername(username: string) {
|
||||
const userStore = useUserStore()
|
||||
// Carica il profilo di quest'utente
|
||||
|
||||
if (username) {
|
||||
await userStore.loadGroups(username).then((ris) => {
|
||||
// console.log('ris', ris)
|
||||
if (ris) {
|
||||
userStore.my.profile.mygroups = ris.mygroups ? ris.mygroups : []
|
||||
userStore.my.profile.list_usersgroup = ris.listUsersGroup ? ris.listUsersGroup : []
|
||||
userStore.groups = ris.listgroups ? ris.listgroups : []
|
||||
userStore.my.profile.asked_groups = ris.listSentRequestGroups ? ris.listSentRequestGroups : []
|
||||
return [{ userId: userStore.my._id }]
|
||||
}
|
||||
})
|
||||
|
||||
}
|
||||
|
||||
return []
|
||||
},
|
||||
|
||||
|
||||
// getLocale() {
|
||||
// if (navigator.languages && navigator.languages.length > 0) {
|
||||
|
||||
@@ -274,6 +274,11 @@ export const useUserStore = defineStore('UserStore', {
|
||||
// return this.my.verified_email! && this.my.profile.teleg_id! > 0 && this.my.verified_by_aportador!
|
||||
},
|
||||
|
||||
isOldRegNotFinished(): boolean {
|
||||
return (!this.my.profile.teleg_id || this.my.profile.teleg_id <= 0) || !this.isUsernameTelegOk()
|
||||
// return this.my.verified_email! && this.my.profile.teleg_id! > 0 && this.my.verified_by_aportador!
|
||||
},
|
||||
|
||||
isTelegOk(): boolean {
|
||||
return this.my.profile.teleg_id! > 0
|
||||
// return this.my.verified_email! && this.my.profile.teleg_id! > 0 && this.my.verified_by_aportador!
|
||||
|
||||
@@ -134,6 +134,7 @@ export const useGlobalStore = defineStore('GlobalStore', {
|
||||
},
|
||||
},
|
||||
provinces: [],
|
||||
mygroups: [],
|
||||
}),
|
||||
|
||||
getters: {
|
||||
@@ -1325,6 +1326,7 @@ export const useGlobalStore = defineStore('GlobalStore', {
|
||||
this.provinces = (res.data.provinces) ? [...res.data.provinces] : []
|
||||
this.catgrps = (res.data.catgrps) ? [...res.data.catgrps] : []
|
||||
this.site = (res.data.site) ? res.data.site : {}
|
||||
this.mygroups = (res.data.mygroups) ? [...res.data.mygroups] : []
|
||||
this.adtypes = (res.data.adtypes) ? [...res.data.adtypes] : []
|
||||
this.adtypegoods = (res.data.adtypegoods) ? [...res.data.adtypegoods] : []
|
||||
|
||||
@@ -1559,6 +1561,7 @@ export const useGlobalStore = defineStore('GlobalStore', {
|
||||
else if (table === 'confsite_opt') myarr = tools.ConfSiteOpt
|
||||
else if (table === 'bottype') myarr = shared_consts.BotType
|
||||
else if (table === 'visibility') myarr = shared_consts.Visibility
|
||||
else if (table === 'pub_to_share') myarr = shared_consts.Pub_to_Share
|
||||
else if (table === 'visibilGroup') myarr = shared_consts.VisibilGroup
|
||||
else if (table === 'lang') myarr = shared_consts.Lang
|
||||
else if (table === 'regions') myarr = shared_consts.Regions
|
||||
|
||||
@@ -7,7 +7,7 @@ import { useRoute } from 'vue-router'
|
||||
import { tools } from '@store/Modules/tools'
|
||||
|
||||
export default defineComponent({
|
||||
name: 'SignUp',
|
||||
name: 'SignUp_noteleg',
|
||||
components: { CSignUp },
|
||||
props: {},
|
||||
setup() {
|
||||
|
||||
@@ -144,6 +144,7 @@ export default defineComponent({
|
||||
lk_proj: {
|
||||
'username': 1,
|
||||
'profile.img': 1,
|
||||
'profile.mygroups': 1,
|
||||
'profile.qualifica': 1,
|
||||
}
|
||||
},
|
||||
|
||||
@@ -6,6 +6,7 @@ import { CLabel } from '@/components/CLabel'
|
||||
import { CCopyBtn } from '@/components/CCopyBtn'
|
||||
import { CSkill } from '@/components/CSkill'
|
||||
import { CDateTime } from '@/components/CDateTime'
|
||||
import { CMyGroup } from '@/components/CMyGroup'
|
||||
import { CUserNonVerif } from '@/components/CUserNonVerif'
|
||||
import { tools } from '@store/Modules/tools'
|
||||
import { computed, defineComponent, onMounted, ref, watch } from 'vue'
|
||||
@@ -16,7 +17,7 @@ import { useI18n } from '@/boot/i18n'
|
||||
import { toolsext } from '@store/Modules/toolsext'
|
||||
import { useQuasar } from 'quasar'
|
||||
import { costanti } from '@costanti'
|
||||
import { IUserFields } from 'model'
|
||||
import { IMyGroup, IUserFields } from 'model'
|
||||
import { shared_consts } from '@/common/shared_vuejs'
|
||||
import { static_data } from '@/db/static_data'
|
||||
import { fieldsTable } from '@store/Modules/fieldsTable'
|
||||
@@ -25,10 +26,14 @@ import MixinUsers from '@/mixins/mixin-users'
|
||||
|
||||
export default defineComponent({
|
||||
name: 'myprofile',
|
||||
components: { CProfile, CTitleBanner, CMyFieldDb, CSkill, CDateTime, CCopyBtn, CUserNonVerif, CMyFieldRec, CLabel },
|
||||
components: {
|
||||
CProfile, CTitleBanner, CMyFieldDb, CSkill, CDateTime, CCopyBtn, CUserNonVerif, CMyFieldRec,
|
||||
CMyGroup, CLabel
|
||||
},
|
||||
props: {},
|
||||
setup() {
|
||||
const userStore = useUserStore()
|
||||
const globalStore = useGlobalStore()
|
||||
const $route = useRoute()
|
||||
const $q = useQuasar()
|
||||
const { t } = useI18n()
|
||||
@@ -41,8 +46,9 @@ export default defineComponent({
|
||||
|
||||
const filtroutente = ref(<any[]>[])
|
||||
const showPic = ref(false)
|
||||
const caricato = ref(false)
|
||||
|
||||
const myuser = ref(<IUserFields>{})
|
||||
const myuser = ref(<IUserFields | null>null)
|
||||
|
||||
const actualcard = ref('mygoods')
|
||||
|
||||
@@ -50,6 +56,8 @@ export default defineComponent({
|
||||
return costanti.MAINCARDS.filter((rec: any) => rec.table)
|
||||
})
|
||||
|
||||
const listgroupsfiltered = ref(<IMyGroup[]>[])
|
||||
|
||||
|
||||
function profile() {
|
||||
return userStore.my.profile
|
||||
@@ -59,27 +67,44 @@ export default defineComponent({
|
||||
return userStore.my.username
|
||||
}
|
||||
|
||||
function loadProfile() {
|
||||
async function loadProfile() {
|
||||
// Carica il profilo di quest'utente
|
||||
if (username.value) {
|
||||
userStore.loadUserProfile(username.value).then((ris) => {
|
||||
await userStore.loadUserProfile(username.value).then((ris) => {
|
||||
myuser.value = ris
|
||||
filtroutente.value = [{ userId: myuser.value._id }]
|
||||
if (myuser.value) {
|
||||
filtroutente.value = [{ userId: myuser.value._id }]
|
||||
|
||||
try {
|
||||
listgroupsfiltered.value = globalStore.mygroups.filter((grp: IMyGroup) => myuser.value!.profile.mygroups.findIndex((rec: IMyGroup) => rec.groupname === grp.groupname) >= 0)
|
||||
} catch (e) {
|
||||
listgroupsfiltered.value = []
|
||||
}
|
||||
|
||||
}
|
||||
})
|
||||
|
||||
}
|
||||
caricato.value = true
|
||||
}
|
||||
|
||||
watch(() => username.value, (to: any, from: any) => {
|
||||
loadProfile()
|
||||
})
|
||||
|
||||
watch(() => actualcard.value, (to: any, from: any) => {
|
||||
loadProfile()
|
||||
})
|
||||
|
||||
function mounted() {
|
||||
loadProfile()
|
||||
}
|
||||
|
||||
function getImgUser() {
|
||||
return userStore.getImgByProfile(myuser.value)
|
||||
if (myuser.value)
|
||||
return userStore.getImgByProfile(myuser.value)
|
||||
else
|
||||
return ''
|
||||
}
|
||||
|
||||
function checkifShow(col: string) {
|
||||
@@ -89,22 +114,30 @@ export default defineComponent({
|
||||
|
||||
function getLinkUserTelegram() {
|
||||
|
||||
if (!!myuser.value.profile.username_telegram) {
|
||||
return 'https://t.me/' + myuser.value.profile.username_telegram
|
||||
if (myuser.value) {
|
||||
if (!!myuser.value.profile.username_telegram) {
|
||||
return 'https://t.me/' + myuser.value.profile.username_telegram
|
||||
}
|
||||
} else {
|
||||
return ''
|
||||
}
|
||||
}
|
||||
|
||||
function getLinkWebSite() {
|
||||
let site = myuser.value.profile.website!
|
||||
if (site) {
|
||||
if (!site.startsWith('http')) {
|
||||
site = 'https://' + site
|
||||
if (myuser.value) {
|
||||
let site = myuser.value.profile.website!
|
||||
if (site) {
|
||||
if (!site.startsWith('http')) {
|
||||
site = 'https://' + site
|
||||
}
|
||||
}
|
||||
return site
|
||||
} else {
|
||||
return ''
|
||||
}
|
||||
return site
|
||||
}
|
||||
|
||||
function isMyRecord(username: string){
|
||||
function isMyRecord(username: string) {
|
||||
return username === userStore.my.username
|
||||
}
|
||||
|
||||
@@ -133,6 +166,8 @@ export default defineComponent({
|
||||
fieldsTable,
|
||||
mycards,
|
||||
actualcard,
|
||||
caricato,
|
||||
listgroupsfiltered,
|
||||
}
|
||||
}
|
||||
})
|
||||
|
||||
@@ -1,26 +1,48 @@
|
||||
<template>
|
||||
<div v-if="tools.isUserOk() || (tools.isLogged() && username === tools.getAportadorSolidario())">
|
||||
<div class="q-gutter-sm q-pa-sm q-pb-md">
|
||||
<div v-if="myuser.date_reg" class="fit column no-wrap justify-evenly items-center content-start">
|
||||
<div v-if="!caricato" class="fit column no-wrap justify-evenly items-center content-start">
|
||||
<q-skeleton type="QAvatar" size="140px" height="140px" animation="fade"/>
|
||||
<q-card flat bordered style="width: 250px">
|
||||
<div class="text-h6">
|
||||
<q-skeleton :animation="animation"/>
|
||||
</div>
|
||||
<div class="col-12 text-h7 text-grey text-center">
|
||||
{{ username }}
|
||||
</div>
|
||||
<div class="col-12 text-h7">
|
||||
<q-skeleton :animation="animation"/>
|
||||
</div>
|
||||
|
||||
<div class="">
|
||||
<q-avatar size="140px">
|
||||
<q-img :src="getImgUser()" :alt="username" img-class="imgprofile" height="140px" @click="showPic = true"/>
|
||||
</q-avatar>
|
||||
</div>
|
||||
<div class="col-12 text-h8 q-mt-sm">
|
||||
<q-skeleton :animation="animation"/>
|
||||
</div>
|
||||
<div class="col-12 text-h8 q-mt-sm">
|
||||
<q-skeleton :animation="animation"/>
|
||||
</div>
|
||||
</q-card>
|
||||
</div>
|
||||
<div v-else-if="(tools.isUserOk() || (tools.isLogged()))">
|
||||
<div v-if="myuser">
|
||||
<div class="q-gutter-sm q-pa-sm q-pb-md">
|
||||
<div v-if="myuser && myuser.date_reg" class="fit column no-wrap justify-evenly items-center content-start">
|
||||
|
||||
<div v-if="static_data.functionality.SHOW_NAMESURNAME">
|
||||
<div class="text-h6">
|
||||
<span v-if="checkifShow('name')"> {{ myuser.name }}</span> <span v-if="checkifShow('surname')">{{
|
||||
myuser.surname
|
||||
}}</span>
|
||||
<div class="">
|
||||
<q-avatar size="140px">
|
||||
<q-img :src="getImgUser()" :alt="username" img-class="imgprofile" height="140px" @click="showPic = true"/>
|
||||
</q-avatar>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-12 text-h7 text-blue text-shadow-2">
|
||||
{{ myuser.username }}
|
||||
</div>
|
||||
|
||||
<div class="col-12 text-h7">
|
||||
<div v-if="static_data.functionality.SHOW_NAMESURNAME">
|
||||
<div class="text-h6">
|
||||
<span v-if="checkifShow('name')"> {{ myuser.name }}</span> <span v-if="checkifShow('surname')">{{
|
||||
myuser.surname
|
||||
}}</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-12 text-h7 text-blue text-shadow-2">
|
||||
{{ myuser.username }}
|
||||
</div>
|
||||
|
||||
<div class="col-12 text-h7">
|
||||
<span v-if="myuser.profile && myuser.profile.born_city_id">
|
||||
<CMyFieldRec
|
||||
title=""
|
||||
@@ -35,212 +57,208 @@
|
||||
|
||||
|
||||
{{ myuser.profile.born_city_str }}</span> <span
|
||||
v-if="myuser.profile && myuser.profile.nationality && myuser.profile.nationality !== 'Italia'">({{
|
||||
myuser.profile.nationality
|
||||
}})</span>
|
||||
</div>
|
||||
<div v-if="myuser._id" class="col-12 text-h8 q-mt-sm">
|
||||
v-if="myuser.profile && myuser.profile.nationality && myuser.profile.nationality !== 'Italia'">({{
|
||||
myuser.profile.nationality
|
||||
}})</span>
|
||||
</div>
|
||||
<div v-if="myuser._id" class="col-12 text-h8 q-mt-sm">
|
||||
<span v-if="myuser.profile.qualifica">
|
||||
<em><span class="qualifica">{{ myuser.profile.qualifica }}</span></em>
|
||||
</span>
|
||||
</div>
|
||||
<div v-if="myuser._id" class="col-12 text-h8 q-mt-sm">
|
||||
{{ myuser.profile.biografia }}
|
||||
</div>
|
||||
|
||||
<div v-if="!isMyRecord(myuser.username)">
|
||||
<q-btn
|
||||
v-if="userStore.IsReqFriendByUsername(myuser.username)"
|
||||
icon="fas fa-user-plus"
|
||||
color="primary" :label="$t('friends.accept_friend')"
|
||||
@click="tools.addToMyFriends($q, userStore.my.username, myuser.username)"
|
||||
/>
|
||||
<div v-else>
|
||||
<q-btn
|
||||
v-if="!userStore.IsMyFriendByUsername(myuser.username) && !userStore.IsAskedFriendByUsername(myuser.username)"
|
||||
icon="fas fa-user-plus"
|
||||
color="primary" :label="$t('friends.ask_friend')"
|
||||
@click="tools.setRequestFriendship($q, userStore.my.username, myuser.username, true)"
|
||||
/>
|
||||
</div>
|
||||
<div v-if="myuser._id" class="col-12 text-h8 q-mt-sm">
|
||||
{{ myuser.profile.biografia }}
|
||||
</div>
|
||||
|
||||
<q-btn v-if="userStore.IsMyFriendByUsername(myuser.username)" rounded icon="fas fa-ellipsis-h">
|
||||
<q-menu>
|
||||
<q-list v-if="true" style="min-width: 150px">
|
||||
<q-item clickable
|
||||
icon="fas fa-user-minus"
|
||||
v-close-popup @click="tools.removeFromMyFriends($q, userStore.my.username, myuser.username)">
|
||||
<q-item-section>{{ $t('friends.remove_from_myfriends') }}</q-item-section>
|
||||
</q-item>
|
||||
<q-item clickable
|
||||
icon="fas fa-ban"
|
||||
v-close-popup @click="tools.blockUser($q, userStore.my.username, myuser.username)">
|
||||
<q-item-section>{{ $t('friends.block_user') }}</q-item-section>
|
||||
</q-item>
|
||||
</q-list>
|
||||
</q-menu>
|
||||
<div v-if="!isMyRecord(myuser.username)">
|
||||
<q-btn
|
||||
v-if="userStore.IsReqFriendByUsername(myuser.username)"
|
||||
icon="fas fa-user-plus"
|
||||
color="primary" :label="$t('friends.accept_friend')"
|
||||
@click="tools.addToMyFriends($q, userStore.my.username, myuser.username)"
|
||||
/>
|
||||
<div v-else>
|
||||
<q-btn
|
||||
v-if="!userStore.IsMyFriendByUsername(myuser.username) && !userStore.IsAskedFriendByUsername(myuser.username)"
|
||||
icon="fas fa-user-plus"
|
||||
color="primary" :label="$t('friends.ask_friend')"
|
||||
@click="tools.setRequestFriendship($q, userStore.my.username, myuser.username, true)"
|
||||
/>
|
||||
</div>
|
||||
|
||||
<q-btn v-if="userStore.IsMyFriendByUsername(myuser.username)" rounded icon="fas fa-ellipsis-h">
|
||||
<q-menu>
|
||||
<q-list v-if="true" style="min-width: 150px">
|
||||
<q-item clickable
|
||||
icon="fas fa-user-minus"
|
||||
v-close-popup @click="tools.removeFromMyFriends($q, userStore.my.username, myuser.username)">
|
||||
<q-item-section>{{ $t('friends.remove_from_myfriends') }}</q-item-section>
|
||||
</q-item>
|
||||
<q-item clickable
|
||||
icon="fas fa-ban"
|
||||
v-close-popup @click="tools.blockUser($q, userStore.my.username, myuser.username)">
|
||||
<q-item-section>{{ $t('friends.block_user') }}</q-item-section>
|
||||
</q-item>
|
||||
</q-list>
|
||||
</q-menu>
|
||||
</q-btn>
|
||||
|
||||
<q-btn
|
||||
v-if="userStore.IsAskedFriendByUsername(myuser.username) && !userStore.IsMyFriendByUsername(myuser.username)"
|
||||
icon="fas fa-user-minus"
|
||||
:label="$t('friends.cancel_ask_friend_short')"
|
||||
@click="tools.cancelReqFriends($q, userStore.my.username, myuser.username)"
|
||||
/>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
<q-btn
|
||||
v-if="myuser.username === myusername()" icon="fas fa-pencil-alt"
|
||||
color="blue"
|
||||
size="md"
|
||||
:label="$t('otherpages.modifprof')"
|
||||
to="/editprofile">
|
||||
</q-btn>
|
||||
|
||||
<q-btn
|
||||
v-if="userStore.IsAskedFriendByUsername(myuser.username) && !userStore.IsMyFriendByUsername(myuser.username)"
|
||||
icon="fas fa-user-minus"
|
||||
:label="$t('friends.cancel_ask_friend_short')"
|
||||
@click="tools.cancelReqFriends($q, userStore.my.username, myuser.username)"
|
||||
/>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
<q-btn
|
||||
v-if="myuser.username === myusername()" icon="fas fa-pencil-alt"
|
||||
color="blue"
|
||||
size="md"
|
||||
:label="$t('otherpages.modifprof')"
|
||||
to="/editprofile">
|
||||
</q-btn>
|
||||
|
||||
<div class="myrow justify-evenly items-center q-pa-sm q-ma-sm">
|
||||
|
||||
<div class="col-md-6 col-sm-6 q-ma-xs col-xs-12">
|
||||
<q-btn
|
||||
v-if="getLinkUserTelegram()" icon="fab fa-telegram"
|
||||
color="blue" type="a"
|
||||
size="md"
|
||||
rounded
|
||||
:label="$t('msgs.telegrammsg')"
|
||||
:href="getLinkUserTelegram()" target="__blank">
|
||||
</q-btn>
|
||||
|
||||
</div>
|
||||
<div v-if="myuser._id" class="col-md-6 col-sm-6 q-ma-xs col-xs-12">
|
||||
<q-btn
|
||||
v-if="getLinkWebSite()" icon="fas fa-globe"
|
||||
color="blue" type="a"
|
||||
size="md"
|
||||
rounded
|
||||
:label="$t('reg.website')"
|
||||
:href="getLinkWebSite()" target="__blank">
|
||||
</q-btn>
|
||||
</div>
|
||||
</div>
|
||||
<div class="myrow justify-evenly items-center q-pa-sm q-ma-sm">
|
||||
<div v-if="myuser._id" class="col-12">
|
||||
<q-btn
|
||||
v-if="myuser.username === myusername()"
|
||||
icon="fas fa-share-alt"
|
||||
color="blue"
|
||||
size="md"
|
||||
rounded
|
||||
:label="$t('reg.link_reg_and_msg')"
|
||||
@click="tools.sendMsgTelegramCmd($q, $t, shared_consts.MsgTeleg.SHARE_MSGREG)">
|
||||
</q-btn>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div v-else class="fit column no-wrap justify-evenly items-center content-start">
|
||||
<q-skeleton type="QAvatar" size="140px" height="140px" animation="fade"/>
|
||||
<q-card flat bordered style="width: 250px">
|
||||
<div class="text-h6">
|
||||
<q-skeleton :animation="animation"/>
|
||||
</div>
|
||||
<div class="col-12 text-h7 text-grey text-center">
|
||||
{{ username }}
|
||||
</div>
|
||||
<div class="col-12 text-h7">
|
||||
<q-skeleton :animation="animation"/>
|
||||
</div>
|
||||
|
||||
<div class="col-12 text-h8 q-mt-sm">
|
||||
<q-skeleton :animation="animation"/>
|
||||
</div>
|
||||
<div class="col-12 text-h8 q-mt-sm">
|
||||
<q-skeleton :animation="animation"/>
|
||||
</div>
|
||||
</q-card>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
<CTitleBanner
|
||||
v-if="static_data.functionality.SHOW_COMPETENZE"
|
||||
class="" title="Competenze e Talenti" bgcolor="bg-positive" clcolor="text-white"
|
||||
myclass="myshad" :canopen="true">
|
||||
|
||||
<q-tabs v-model="actualcard" class="text-blue">
|
||||
<q-tab v-for="(card, ind) of mycards" :key="ind" :name="card.table" :label="card.title">
|
||||
|
||||
</q-tab>
|
||||
</q-tabs>
|
||||
|
||||
<q-tab-panels v-model="actualcard" animated>
|
||||
<q-tab-panel v-for="(card, ind) of mycards" :key="ind" :name="card.table">
|
||||
|
||||
<CSkill
|
||||
:table="card.table"
|
||||
:filtercustom="filtroutente"
|
||||
:butt_modif_new="isMyRecord(myuser.username)"
|
||||
/>
|
||||
</q-tab-panel>
|
||||
</q-tab-panels>
|
||||
|
||||
</CTitleBanner>
|
||||
|
||||
|
||||
|
||||
<div v-if="myuser._id && (userStore.IsMyFriendByUsername(myuser.username) || isMyRecord(myuser.username))">
|
||||
<CTitleBanner
|
||||
class="" :title="$t('dashboard.info')" bgcolor="bg-primary" clcolor="text-white"
|
||||
myclass="myshad" :canopen="true">
|
||||
|
||||
<div v-if="myuser.profile" class="fit column no-wrap justify-evenly content-start">
|
||||
<div class="myrow justify-evenly items-center q-pa-sm q-ma-sm">
|
||||
|
||||
<div class="col-md-6 col-sm-6 q-ma-xs col-xs-12">
|
||||
<q-btn
|
||||
v-if="getLinkUserTelegram()" icon="fab fa-telegram"
|
||||
color="blue" type="a"
|
||||
size="md"
|
||||
rounded
|
||||
:label="$t('msgs.telegrammsg')"
|
||||
:href="getLinkUserTelegram()" target="__blank">
|
||||
</q-btn>
|
||||
|
||||
<CDateTime
|
||||
v-if="checkifShow('profile.dateofbirth') && !!myuser.profile.dateofbirth"
|
||||
v-model:value="myuser.profile.dateofbirth"
|
||||
:label="$t('reg.dateofbirth')"
|
||||
:canEdit="false">
|
||||
</CDateTime>
|
||||
<CLabel
|
||||
v-if="!!myuser.profile.cell"
|
||||
v-bind="$attrs"
|
||||
:copy="true"
|
||||
:value="myuser.profile.intcode_cell + myuser.profile.cell"
|
||||
label="Cellulare"
|
||||
/>
|
||||
</div>
|
||||
<div v-if="myuser._id" class="col-md-6 col-sm-6 q-ma-xs col-xs-12">
|
||||
<q-btn
|
||||
v-if="getLinkWebSite()" icon="fas fa-globe"
|
||||
color="blue" type="a"
|
||||
size="md"
|
||||
rounded
|
||||
:label="$t('reg.website')"
|
||||
:href="getLinkWebSite()" target="__blank">
|
||||
</q-btn>
|
||||
</div>
|
||||
</div>
|
||||
<div class="myrow justify-evenly items-center q-pa-sm q-ma-sm">
|
||||
<div v-if="myuser._id" class="col-12">
|
||||
<q-btn
|
||||
v-if="myuser.username === myusername()"
|
||||
icon="fas fa-share-alt"
|
||||
color="blue"
|
||||
size="md"
|
||||
rounded
|
||||
:label="$t('reg.link_reg_and_msg')"
|
||||
@click="tools.sendMsgTelegramCmd($q, $t, shared_consts.MsgTeleg.SHARE_MSGREG)">
|
||||
</q-btn>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!--
|
||||
<CMyFieldRec
|
||||
table="users"
|
||||
:id="myuser._id"
|
||||
:rec="myuser"
|
||||
field="profile.cell"
|
||||
class="cursor-pointer"
|
||||
:canEdit="false"
|
||||
:disable="true"
|
||||
:canModify="false">
|
||||
</CMyFieldRec>
|
||||
-->
|
||||
<CTitleBanner
|
||||
v-if="static_data.functionality.SHOW_COMPETENZE"
|
||||
class="" title="Competenze e Talenti" bgcolor="bg-positive" clcolor="text-white"
|
||||
myclass="myshad" :canopen="true">
|
||||
|
||||
<q-tabs v-model="actualcard" class="text-blue">
|
||||
<q-tab v-for="(card, ind) of mycards" :key="ind" :name="card.table" :label="card.title">
|
||||
|
||||
</q-tab>
|
||||
</q-tabs>
|
||||
|
||||
<q-tab-panels v-model="actualcard" animated>
|
||||
<q-tab-panel v-for="(card, ind) of mycards" :key="ind" :name="card.table">
|
||||
|
||||
<div v-if="card.table === 'mygroups'">
|
||||
<q-list>
|
||||
<span v-for="(grp, index) in listgroupsfiltered" :key="index" class="q-my-sm" clickable>
|
||||
<CMyGroup
|
||||
:mygrp="grp"
|
||||
:visu="costanti.USER_GROUPS"
|
||||
>
|
||||
</CMyGroup>
|
||||
</span>
|
||||
</q-list>
|
||||
|
||||
</div>
|
||||
<div v-else>
|
||||
<CSkill
|
||||
v-if="card.table === actualcard"
|
||||
:table="card.table"
|
||||
:filtercustom="filtroutente"
|
||||
:butt_modif_new="isMyRecord(myuser.username)"
|
||||
/>
|
||||
</div>
|
||||
|
||||
</q-tab-panel>
|
||||
</q-tab-panels>
|
||||
|
||||
</CTitleBanner>
|
||||
|
||||
|
||||
<div v-if="myuser && myuser._id && (userStore.IsMyFriendByUsername(myuser.username) || isMyRecord(myuser.username))">
|
||||
<CTitleBanner
|
||||
class="" :title="$t('dashboard.info')" bgcolor="bg-primary" clcolor="text-white"
|
||||
myclass="myshad" :canopen="true">
|
||||
|
||||
<div v-if="myuser.profile" class="fit column no-wrap justify-evenly content-start">
|
||||
|
||||
<div class="col-md-6 col-sm-6 q-ma-xs col-xs-12">
|
||||
|
||||
<CDateTime
|
||||
v-if="checkifShow('profile.dateofbirth') && !!myuser.profile.dateofbirth"
|
||||
v-model:value="myuser.profile.dateofbirth"
|
||||
:label="$t('reg.dateofbirth')"
|
||||
:canEdit="false">
|
||||
</CDateTime>
|
||||
<CLabel
|
||||
v-if="!!myuser.profile.cell"
|
||||
v-bind="$attrs"
|
||||
:copy="true"
|
||||
:value="myuser.profile.intcode_cell + myuser.profile.cell"
|
||||
label="Cellulare"
|
||||
/>
|
||||
|
||||
<!--
|
||||
<CMyFieldRec
|
||||
table="users"
|
||||
:id="myuser._id"
|
||||
:rec="myuser"
|
||||
field="profile.cell"
|
||||
class="cursor-pointer"
|
||||
:canEdit="false"
|
||||
:disable="true"
|
||||
:canModify="false">
|
||||
</CMyFieldRec>
|
||||
-->
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</CTitleBanner>
|
||||
</div>
|
||||
|
||||
|
||||
</CTitleBanner>
|
||||
</div>
|
||||
<q-dialog
|
||||
v-model="showPic"
|
||||
full-height full-width
|
||||
>
|
||||
|
||||
<img :src="getImgUser()" :alt="username" class="full-width">
|
||||
|
||||
</q-dialog>
|
||||
</div>
|
||||
<div v-else-if="caricato">
|
||||
<h2>Utente {{ username }} non trovato</h2>
|
||||
</div>
|
||||
<q-dialog
|
||||
v-model="showPic"
|
||||
full-height full-width
|
||||
>
|
||||
|
||||
<img :src="getImgUser()" :alt="username" class="full-width">
|
||||
|
||||
</q-dialog>
|
||||
</div>
|
||||
<div v-else>
|
||||
<CUserNonVerif></CUserNonVerif>
|
||||
|
||||