- Aggiornato grafica Pagina Gruppi
- Lista Utenti appartenenti al gruppo - Lista richieste gruppo - Nome e Cognome tolti
@@ -12,7 +12,7 @@ LANG_DEFAULT="it"
|
||||
PAO_APP_ID="KKPPAA5KJK435J3KSS9F9D8S9F8SD98F9SDF"
|
||||
MASTER_KEY="KKPPSS5KJK435J3KSS9F9D8S9F8SD3CR3T"
|
||||
MONGODB_HOST="http://192.168.0.200:3000"
|
||||
LOGO_REG='insiemesipuo-logo-full.png'
|
||||
LOGO_REG="freeplanet-logo-full.svg"
|
||||
TEST_NAME="Paolo"
|
||||
TEST_SURNAME="Arena"
|
||||
TEST_EMAIL="paolo@freeplanet.app"
|
||||
|
||||
@@ -3,16 +3,16 @@ SERVICE_WORKER_FILE="service-worker.js"
|
||||
APP_ID="1"
|
||||
DIRECTORY_LOCAL=newfreeplanet
|
||||
DIRECTORY_SERVER=freeplanet_serverside
|
||||
SERVERDIR_WEBSITE=www.insiemesipuo.app
|
||||
SERVERDIR_WEBSITE=www.freeplanet.app
|
||||
SERVERPW_WEBSITE=pwdadmin@1AOK
|
||||
APP_URL="https://www.insiemesipuo.app"
|
||||
URL_FACEBOOK=""
|
||||
PROVA_PAOLO=""
|
||||
APP_URL="https://www.freeplanet.app"
|
||||
URL_FACEBOOK="https://www.facebook.com/freeplanetapp"
|
||||
PROVA_PAOLO="PROVA ENV FUNZIONA!"
|
||||
LANG_DEFAULT="it"
|
||||
PAO_APP_ID="KKPPAA5KJK435J3KSS9F9D8S9F8SD98F9SDF"
|
||||
MASTER_KEY="KKPPSS5KJK435J3KSS9F9D8S9F8SD3CR3T"
|
||||
MONGODB_HOST="https://www.freeplanet.app:3000"
|
||||
LOGO_REG='insiemesipuo-logo-full.png'
|
||||
LOGO_REG='freeplanet-logo-full.svg'
|
||||
TEST_NAME=""
|
||||
TEST_SURNAME=""
|
||||
TEST_EMAIL=""
|
||||
@@ -22,7 +22,7 @@ TEST_APORTADOR="------"
|
||||
PUBLICKEY_PUSH="BNM-cEpTbPVc_ujXf3QOC8ggf7b-X44P44esfJUWqNOFq1XhWCoZJpOi71_cbXC5SnfO9HassQ6OouAYgtBA9Pw"
|
||||
IN_CONSTRUCTION="1"
|
||||
DEBUG="1"
|
||||
TELEGRAM_SUPPORT="https://t.me/"
|
||||
TELEGRAM_SUPPORT="https://t.me/freeplanet_supporto"
|
||||
PROJECT_ID_MAIN="5cc0a13fe5c9d156728f400a"
|
||||
TEST_CELL=""
|
||||
ISTEST=0
|
||||
|
||||
12
.env.test
@@ -3,21 +3,21 @@ SERVICE_WORKER_FILE="service-worker.js"
|
||||
APP_ID="1"
|
||||
DIRECTORY_LOCAL=newfreeplanet
|
||||
DIRECTORY_SERVER=test.freeplanet_serverside
|
||||
SERVERDIR_WEBSITE="test.insiemesipuo.app"
|
||||
SERVERDIR_WEBSITE="test.freeplanet.app"
|
||||
SERVERPW_WEBSITE="pwdadmin@1AOK"
|
||||
APP_URL="https://test.insiemesipuo.app"
|
||||
URL_FACEBOOK=""
|
||||
PROVA_PAOLO=""
|
||||
APP_URL="https://test.freeplanet.app"
|
||||
URL_FACEBOOK="https://www.facebook.com/freeplanetapp"
|
||||
PROVA_PAOLO="PROVA ENV FUNZIONA!"
|
||||
LANG_DEFAULT="it"
|
||||
PAO_APP_ID="KKPPAA5KJK435J3KSS9F9D8S9F8SD98F9SDF"
|
||||
MASTER_KEY="KKPPSS5KJK435J3KSS9F9D8S9F8SD3CR3T"
|
||||
MONGODB_HOST="https://test.freeplanet.app:3001"
|
||||
LOGO_REG='insiemesipuo-logo-full.png'
|
||||
LOGO_REG="freeplanet-logo-full.svg"
|
||||
TEST_NAME="Paolo"
|
||||
TEST_SURNAME="Arena"
|
||||
TEST_EMAIL="paolo@freeplanet.app"
|
||||
TEST_USERNAME="paoloar77"
|
||||
TEST_PASSWORD=""
|
||||
TEST_PASSWORD="passpao1fr@1A"
|
||||
TEST_APORTADOR=""
|
||||
PUBLICKEY_PUSH="BNRBtL3iaLVGW-aQckwQBmh5uKKzcizOZsMjnzCtSuHkssEhbyioEN2E_CwItDLDShMO-OQ1uhK51ty6zG_gCT8"
|
||||
IN_CONSTRUCTION="0"
|
||||
|
||||
@@ -20,6 +20,7 @@ const functionality: IFunctionality = {
|
||||
BOOKING_EVENTS: true,
|
||||
ENABLE_ECOMMERCE: false,
|
||||
ENABLE_REG_ISP: true,
|
||||
SHOW_NAMESURNAME: false,
|
||||
}
|
||||
|
||||
// const SHOW_PROJINTHEMENU = false
|
||||
|
||||
@@ -12,7 +12,7 @@ LANG_DEFAULT="it"
|
||||
PAO_APP_ID="KKPPAA5KJK435J3KSS9F9D8S9F8SD98F9SDF"
|
||||
MASTER_KEY="KKPPSS5KJK435J3KSS9F9D8S9F8SD3CR3T"
|
||||
MONGODB_HOST="http://192.168.0.200:3000"
|
||||
LOGO_REG="freeplanet-logo-full.svg"
|
||||
LOGO_REG='insiemesipuo-logo-full.png'
|
||||
TEST_NAME="Paolo"
|
||||
TEST_SURNAME="Arena"
|
||||
TEST_EMAIL="paolo@freeplanet.app"
|
||||
|
||||
@@ -12,7 +12,7 @@ LANG_DEFAULT="it"
|
||||
PAO_APP_ID="KKPPAA5KJK435J3KSS9F9D8S9F8SD98F9SDF"
|
||||
MASTER_KEY="KKPPSS5KJK435J3KSS9F9D8S9F8SD3CR3T"
|
||||
MONGODB_HOST="https://test.freeplanet.app:3001"
|
||||
LOGO_REG="freeplanet-logo-full.svg"
|
||||
LOGO_REG='insiemesipuo-logo-full.png'
|
||||
TEST_NAME="Paolo"
|
||||
TEST_SURNAME="Arena"
|
||||
TEST_EMAIL="paolo@freeplanet.app"
|
||||
|
||||
448
_ALL_SITES/insiemesipuo.app/db/data/popolazione.js
Normal file
@@ -1,8 +1,8 @@
|
||||
const msg_website_enUs = {
|
||||
ws: {
|
||||
sitename: 'Comunità Nuovo Mondo',
|
||||
siteshortname: 'CNM',
|
||||
botname: 'CNM BOT',
|
||||
sitename: 'InsiemeSuPuò',
|
||||
siteshortname: 'InsiemeSuPuò',
|
||||
botname: 'InsiemeSuPuò BOT',
|
||||
},
|
||||
pages: {
|
||||
home: 'Home',
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
const msg_website_es = {
|
||||
ws: {
|
||||
sitename: 'AYNI',
|
||||
siteshortname: 'Ayni',
|
||||
botname: 'AYNI BOT',
|
||||
sitename: 'InsiemeSuPuò',
|
||||
siteshortname: 'InsiemeSuPuò',
|
||||
botname: 'InsiemeSuPuò BOT',
|
||||
},
|
||||
pages: {
|
||||
home: 'Home',
|
||||
@@ -19,6 +19,7 @@ const msg_website_es = {
|
||||
status: 'Estadísticas',
|
||||
nextzoom: 'Conferencias',
|
||||
requestresetpwd: 'Solicitud de restablecimiento de contraseña',
|
||||
calendarioeventi: 'Calendario Eventos',
|
||||
vreg: 'Verifica Reg',
|
||||
dashboard: 'Tablero',
|
||||
statoattuale: 'Estado Actual',
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
const msg_website_fr = {
|
||||
ws: {
|
||||
sitename: 'AYNI',
|
||||
siteshortname: 'Ayni',
|
||||
botname: 'AYNI BOT',
|
||||
sitename: 'InsiemeSuPuò',
|
||||
siteshortname: 'InsiemeSuPuò',
|
||||
botname: 'InsiemeSuPuò BOT',
|
||||
},
|
||||
homepage: {
|
||||
titlecontatti: 'CONTACTS',
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
const msg_website_it = {
|
||||
ws: {
|
||||
sitename: 'FreePlanet',
|
||||
siteshortname: 'FreePlanet',
|
||||
botname: 'il Bot di FreePlanet',
|
||||
sitename: 'InsiemeSuPuò',
|
||||
siteshortname: 'InsiemeSuPuò',
|
||||
botname: 'il Bot di InsiemeSuPuò',
|
||||
},
|
||||
products: {
|
||||
quantity: 'Quantità',
|
||||
@@ -128,8 +128,8 @@ const msg_website_it = {
|
||||
color: 'Colore',
|
||||
},
|
||||
msg: {
|
||||
myAppName: 'FreePlanet',
|
||||
myAppDescription: 'Il primo Vero Social Libero, Equo e Solidale, dove Vive Consapevolezza e Aiuto Comunitario. Gratuito e senza Pubblicità',
|
||||
myAppName: 'InsiemeSiPuò',
|
||||
myAppDescription: 'Il primo Vero Social Libero, Equo e Solidale, dove Vive Consapevolezza e Aiuto Comunitario. Gratuito',
|
||||
underconstruction: 'App in costruzione...',
|
||||
myDescriz: '',
|
||||
sottoTitoloApp: 'Il primo Vero Social',
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
const msg_website_pt = {
|
||||
ws: {
|
||||
sitename: 'CNM',
|
||||
siteshortname: 'CNM',
|
||||
botname: 'CNM BOT',
|
||||
sitename: 'InsiemeSuPuò',
|
||||
siteshortname: 'InsiemeSuPuò',
|
||||
botname: 'InsiemeSuPuò BOT',
|
||||
},
|
||||
pages: {
|
||||
home: 'Home',
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
const msg_website_si = {
|
||||
ws: {
|
||||
sitename: 'AYNI',
|
||||
siteshortname: 'Ayni',
|
||||
botname: 'AYNI BOT',
|
||||
sitename: 'InsiemeSuPuò',
|
||||
siteshortname: 'InsiemeSuPuò',
|
||||
botname: 'InsiemeSuPuò BOT',
|
||||
},
|
||||
pages: {
|
||||
home: 'Domača stran',
|
||||
|
||||
@@ -20,6 +20,7 @@ const functionality: IFunctionality = {
|
||||
BOOKING_EVENTS: true,
|
||||
ENABLE_ECOMMERCE: false,
|
||||
ENABLE_REG_ISP: true,
|
||||
ENABLE_GROUPS: true,
|
||||
}
|
||||
|
||||
// const SHOW_PROJINTHEMENU = false
|
||||
@@ -422,6 +423,17 @@ const baseroutes: IListRoutes[] = [
|
||||
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,
|
||||
@@ -433,6 +445,17 @@ 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,
|
||||
|
||||
BIN
_ALL_SITES/insiemesipuo.app/images/android-icon-192x192.png
Normal file
|
After Width: | Height: | Size: 43 KiB |
BIN
_ALL_SITES/insiemesipuo.app/images/favicon-16x16.png
Normal file
|
After Width: | Height: | Size: 1.6 KiB |
BIN
_ALL_SITES/insiemesipuo.app/images/favicon-32x32.png
Normal file
|
After Width: | Height: | Size: 2.6 KiB |
@@ -293,12 +293,22 @@ module.exports = configure((ctx) => ({
|
||||
theme_color: '#027be3',
|
||||
icons: [
|
||||
{
|
||||
src: 'images/android-chrome-192x192.png',
|
||||
sizes: '384x384',
|
||||
src: 'images/isp-android-icon-96x96.png',
|
||||
sizes: '96x96',
|
||||
type: 'image/png',
|
||||
},
|
||||
{
|
||||
src: 'images/android-chrome-512x512.png',
|
||||
src: 'images/isp-android-icon-144x144.png',
|
||||
sizes: '144x144',
|
||||
type: 'image/png',
|
||||
},
|
||||
{
|
||||
src: 'images/isp-android-icon-192x192.png',
|
||||
sizes: '192x192',
|
||||
type: 'image/png',
|
||||
},
|
||||
{
|
||||
src: 'images/isp-android-icon-512x512.png',
|
||||
sizes: '512x512',
|
||||
type: 'image/png',
|
||||
},
|
||||
@@ -336,7 +346,7 @@ module.exports = configure((ctx) => ({
|
||||
builder: {
|
||||
// https://www.electron.build/configuration/configuration
|
||||
|
||||
appId: 'firstproj',
|
||||
appId: 'InsiemeSiPuo',
|
||||
},
|
||||
|
||||
// "chain" is a webpack-chain object https://github.com/neutrinojs/webpack-chain
|
||||
|
||||
@@ -27,6 +27,10 @@ const msg_website_es = {
|
||||
nave: 'Nave',
|
||||
testimonial: 'Opiniones',
|
||||
Test: 'Test',
|
||||
chisiamo: 'Chi Siamo',
|
||||
linkamici: 'Link Amici',
|
||||
dovesiamo: 'Dove Siamo',
|
||||
calendarioeventi: 'Calendario Eventi',
|
||||
Category: 'Categorie',
|
||||
Admin: 'Admin',
|
||||
Test1: 'Test1',
|
||||
|
||||
@@ -20,6 +20,7 @@ const functionality: IFunctionality = {
|
||||
BOOKING_EVENTS: true,
|
||||
ENABLE_ECOMMERCE: false,
|
||||
ENABLE_REG_ISP: true,
|
||||
ENABLE_GROUPS: false,
|
||||
}
|
||||
|
||||
// const SHOW_PROJINTHEMENU = false
|
||||
@@ -422,6 +423,17 @@ const baseroutes: IListRoutes[] = [
|
||||
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,
|
||||
@@ -433,6 +445,17 @@ 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,
|
||||
@@ -559,7 +582,7 @@ const baseroutes: IListRoutes[] = [
|
||||
isseparator: true,
|
||||
inmenu: true,
|
||||
},
|
||||
/*{
|
||||
{
|
||||
active: true,
|
||||
order: 80,
|
||||
path: '/calendario-eventi',
|
||||
@@ -569,7 +592,7 @@ const baseroutes: IListRoutes[] = [
|
||||
extraclass: 'isCalendar',
|
||||
inmenu: true,
|
||||
infooter: true
|
||||
},*/
|
||||
},
|
||||
{
|
||||
active: true,
|
||||
order: 1000,
|
||||
|
||||
|
After Width: | Height: | Size: 86 KiB |
BIN
_ALL_SITES/popolodelnuovomondo.app/images/favicon-16x16.png
Normal file
|
After Width: | Height: | Size: 1.6 KiB |
BIN
_ALL_SITES/popolodelnuovomondo.app/images/favicon-32x32.png
Normal file
|
After Width: | Height: | Size: 3.5 KiB |
BIN
_ALL_SITES/popolodelnuovomondo.app/images/favicon.ico
Normal file
|
After Width: | Height: | Size: 1.1 KiB |
|
After Width: | Height: | Size: 49 KiB |
|
After Width: | Height: | Size: 86 KiB |
|
After Width: | Height: | Size: 6.9 KiB |
|
After Width: | Height: | Size: 24 KiB |
|
After Width: | Height: | Size: 32 KiB |
|
After Width: | Height: | Size: 35 KiB |
|
After Width: | Height: | Size: 49 KiB |
|
After Width: | Height: | Size: 54 KiB |
|
After Width: | Height: | Size: 74 KiB |
@@ -294,12 +294,22 @@ module.exports = configure((ctx) => ({
|
||||
theme_color: '#027be3',
|
||||
icons: [
|
||||
{
|
||||
src: 'images/android-chrome-192x192.png',
|
||||
sizes: '384x384',
|
||||
src: 'images/pdnm-android-icon-96x96.png',
|
||||
sizes: '96x96',
|
||||
type: 'image/png',
|
||||
},
|
||||
{
|
||||
src: 'images/android-chrome-512x512.png',
|
||||
src: 'images/pdnm-android-icon-144x144.png',
|
||||
sizes: '144x144',
|
||||
type: 'image/png',
|
||||
},
|
||||
{
|
||||
src: 'images/pdnm-android-icon-192x192.png',
|
||||
sizes: '192x192',
|
||||
type: 'image/png',
|
||||
},
|
||||
{
|
||||
src: 'images/pdnm-android-icon-512x512.png',
|
||||
sizes: '512x512',
|
||||
type: 'image/png',
|
||||
},
|
||||
|
||||
@@ -18,5 +18,6 @@ else
|
||||
cp -R _ALL_SITES/$site/.env.development .
|
||||
cp -R _ALL_SITES/$site/.env.production .
|
||||
cp -R _ALL_SITES/$site/.env.test .
|
||||
cp -R _ALL_SITES/$site/images/ ./public/images/
|
||||
|
||||
fi
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
{
|
||||
"name": "insiemesipuo",
|
||||
"version": "0.1.0",
|
||||
"description": "Insieme Si Puo",
|
||||
"productName": "Insieme Si Puo",
|
||||
"name": "freeplanet",
|
||||
"version": "0.0.7",
|
||||
"description": "FreePlanet",
|
||||
"productName": "FreePlanet",
|
||||
"author": "Paolo Arena",
|
||||
"private": true,
|
||||
"keywords": [
|
||||
|
||||
BIN
public/images/android-icon-192x192.png
Normal file
|
After Width: | Height: | Size: 86 KiB |
|
Before Width: | Height: | Size: 1.6 KiB After Width: | Height: | Size: 1.6 KiB |
|
Before Width: | Height: | Size: 2.6 KiB After Width: | Height: | Size: 3.5 KiB |
|
Before Width: | Height: | Size: 1.1 KiB After Width: | Height: | Size: 1.1 KiB |
BIN
public/images/pdnm-android-icon-144x144.png
Normal file
|
After Width: | Height: | Size: 49 KiB |
BIN
public/images/pdnm-android-icon-192x192.png
Normal file
|
After Width: | Height: | Size: 86 KiB |
BIN
public/images/pdnm-android-icon-48x48.png
Normal file
|
After Width: | Height: | Size: 6.9 KiB |
BIN
public/images/pdnm-android-icon-96x96.png
Normal file
|
After Width: | Height: | Size: 24 KiB |
BIN
public/images/pdnm-apple-icon-114x114.png
Normal file
|
After Width: | Height: | Size: 32 KiB |
BIN
public/images/pdnm-apple-icon-120x120.png
Normal file
|
After Width: | Height: | Size: 35 KiB |
BIN
public/images/pdnm-apple-icon-144x144.png
Normal file
|
After Width: | Height: | Size: 49 KiB |
BIN
public/images/pdnm-apple-icon-152x152.png
Normal file
|
After Width: | Height: | Size: 54 KiB |
BIN
public/images/pdnm-apple-icon-180x180.png
Normal file
|
After Width: | Height: | Size: 74 KiB |
BIN
public/images/pdnm-logo.jpg
Normal file
|
After Width: | Height: | Size: 68 KiB |
@@ -284,31 +284,21 @@ module.exports = configure((ctx) => ({
|
||||
},
|
||||
|
||||
manifest: {
|
||||
name: 'InsiemeSiPuo',
|
||||
short_name: 'InsiemeSiPuo',
|
||||
description: 'Insieme Si Può',
|
||||
name: 'FreePlanet',
|
||||
short_name: 'FreePlanet',
|
||||
description: 'New Free Social',
|
||||
display: 'standalone',
|
||||
orientation: 'portrait',
|
||||
background_color: '#ffffff',
|
||||
theme_color: '#027be3',
|
||||
icons: [
|
||||
{
|
||||
src: 'images/isp-android-icon-96x96.png',
|
||||
sizes: '96x96',
|
||||
src: 'images/android-chrome-192x192.png',
|
||||
sizes: '384x384',
|
||||
type: 'image/png',
|
||||
},
|
||||
{
|
||||
src: 'images/isp-android-icon-144x144.png',
|
||||
sizes: '144x144',
|
||||
type: 'image/png',
|
||||
},
|
||||
{
|
||||
src: 'images/isp-android-icon-192x192.png',
|
||||
sizes: '192x192',
|
||||
type: 'image/png',
|
||||
},
|
||||
{
|
||||
src: 'images/isp-android-icon-512x512.png',
|
||||
src: 'images/android-chrome-512x512.png',
|
||||
sizes: '512x512',
|
||||
type: 'image/png',
|
||||
},
|
||||
@@ -346,7 +336,7 @@ module.exports = configure((ctx) => ({
|
||||
builder: {
|
||||
// https://www.electron.build/configuration/configuration
|
||||
|
||||
appId: 'InsiemeSiPuo',
|
||||
appId: 'firstproj',
|
||||
},
|
||||
|
||||
// "chain" is a webpack-chain object https://github.com/neutrinojs/webpack-chain
|
||||
|
||||
@@ -16,6 +16,8 @@ export const shared_consts = {
|
||||
},
|
||||
},
|
||||
|
||||
QUERYTYPE_MYGROUP: 1,
|
||||
|
||||
ALL_SAW_AND_ACCEPTED: 3,
|
||||
|
||||
FILTER_EXTRALIST_NOT_REGISTERED: 1,
|
||||
|
||||
@@ -38,7 +38,7 @@ export default defineComponent({
|
||||
myval = searchList.value.find((rec) => (rec.table === 'sectors'))
|
||||
if (myval) {
|
||||
const ris = myval.value || 0
|
||||
// console.log('idSector=', ris)
|
||||
console.log('idSector=', ris)
|
||||
return ris
|
||||
} else {
|
||||
return 0
|
||||
|
||||
@@ -208,6 +208,7 @@ export default defineComponent({
|
||||
const newRecordBool = ref(false)
|
||||
const editRecordBool = ref(false)
|
||||
const newRecord: any = ref({})
|
||||
const recSaved: any = ref({})
|
||||
const recModif: any = ref({})
|
||||
|
||||
const mytable = ref('')
|
||||
@@ -945,6 +946,7 @@ export default defineComponent({
|
||||
console.log('Edit', item)
|
||||
selItem(item, col)
|
||||
recModif.value = item
|
||||
recSaved.value = {...item}
|
||||
editRecordBool.value = true
|
||||
} else {
|
||||
|
||||
@@ -1243,6 +1245,16 @@ export default defineComponent({
|
||||
})
|
||||
}
|
||||
|
||||
function cancelrecModif() {
|
||||
recModif.value = {...recSaved.value}
|
||||
if (recModif.value._id) {
|
||||
const indrec = serverData.value.findIndex((rec: any) => rec._id === recModif.value._id)
|
||||
if (indrec >= 0)
|
||||
serverData.value[indrec] = recModif.value
|
||||
editRecordBool.value = false
|
||||
}
|
||||
}
|
||||
|
||||
async function saverecModif() {
|
||||
console.log('saverecModif')
|
||||
const mydata = {
|
||||
@@ -1259,7 +1271,7 @@ export default defineComponent({
|
||||
// console.log('ris', ris)
|
||||
if (ris) {
|
||||
editRecordBool.value = false
|
||||
const indrec = serverData.value.findIndex((rec: IMySkill) => rec._id === ris._id)
|
||||
const indrec = serverData.value.findIndex((rec: any) => rec._id === ris._id)
|
||||
console.log('indrec', indrec, serverData.value[indrec])
|
||||
mycolumns.value.forEach((col: IColGridTable) => {
|
||||
if (!col.foredit) {
|
||||
@@ -1347,6 +1359,7 @@ export default defineComponent({
|
||||
getusernamesel,
|
||||
saveNewRecord,
|
||||
saverecModif,
|
||||
cancelrecModif,
|
||||
hidewindow,
|
||||
isfinishLoading,
|
||||
getlabelAddRow,
|
||||
@@ -1372,6 +1385,7 @@ export default defineComponent({
|
||||
editRecordBool,
|
||||
newRecord,
|
||||
recModif,
|
||||
recSaved,
|
||||
lists,
|
||||
refresh,
|
||||
spinner_visible,
|
||||
|
||||
@@ -120,6 +120,7 @@
|
||||
:optval="fieldsTable.getKeyByTable(item.table)"
|
||||
:optlab="fieldsTable.getLabelByTable(item.table)"
|
||||
:options="valoriopt(item, false)"
|
||||
:filter="item.filter"
|
||||
:useinput="item.useinput && item.type !== costanti.FieldType.select_by_server">
|
||||
</CMySelect>
|
||||
|
||||
@@ -144,6 +145,7 @@
|
||||
:icon_alternative="item.icon"
|
||||
:optval="fieldsTable.getKeyByTable(item.table)"
|
||||
:optlab="fieldsTable.getLabelByTable(item.table)"
|
||||
:filter="item.filter"
|
||||
:options="valoriopt(item, false)"
|
||||
:useinput="true">
|
||||
</CMySelect>
|
||||
@@ -164,6 +166,7 @@
|
||||
stack-label
|
||||
:useinput="item.useinput"
|
||||
:options="valoriopt(item, item.addall)"
|
||||
:filter="item.filter"
|
||||
class="combowidth"
|
||||
:option-value="fieldsTable.getKeyByTable(item.table)"
|
||||
>
|
||||
@@ -513,7 +516,7 @@
|
||||
</q-card-section>
|
||||
<q-card-actions align="center">
|
||||
<q-btn flat :label="$t('dialog.ok')" color="primary" @click="saverecModif"></q-btn>
|
||||
<q-btn flat :label="$t('dialog.cancel')" color="primary" v-close-popup></q-btn>
|
||||
<q-btn flat :label="$t('dialog.cancel')" color="primary" @click="cancelrecModif"></q-btn>
|
||||
</q-card-actions>
|
||||
</q-card>
|
||||
</q-dialog>
|
||||
|
||||
@@ -21,7 +21,7 @@ export default defineComponent({
|
||||
required: false,
|
||||
},
|
||||
optlab: {
|
||||
type: String,
|
||||
type: [String, Function],
|
||||
required: true,
|
||||
},
|
||||
optval: {
|
||||
@@ -111,7 +111,7 @@ export default defineComponent({
|
||||
if (mydata.label)
|
||||
mydata.label = mydata.label[0]
|
||||
} else {
|
||||
mydata.label = rec[props.optlab]
|
||||
mydata.label = tools.getValueByFunzOrVal(rec, props.optlab)
|
||||
}
|
||||
|
||||
// console.log('mydata.label', mydata.label)
|
||||
@@ -141,7 +141,7 @@ export default defineComponent({
|
||||
if (mydata.label)
|
||||
mydata.label = mydata.label[0]
|
||||
} else {
|
||||
mydata.label = rec[props.optlab]
|
||||
mydata.label = tools.getValueByFunzOrVal(rec, props.optlab)
|
||||
}
|
||||
|
||||
if (props.opticon)
|
||||
@@ -155,7 +155,7 @@ export default defineComponent({
|
||||
} else {
|
||||
if (tools.isBitActive(myval.value, rec[props.optval])) {
|
||||
const mydata = {
|
||||
label: t(rec[props.optlab]),
|
||||
label: t(tools.getValueByFunzOrVal(rec, props.optlab)),
|
||||
value: rec[props.optval],
|
||||
valbool: tools.isBitActive(myval.value, rec[props.optval]),
|
||||
icon: '',
|
||||
|
||||
@@ -37,7 +37,9 @@ export default defineComponent({
|
||||
setup(props, { emit }) {
|
||||
const $q = useQuasar()
|
||||
|
||||
const editor = ref(null)
|
||||
const editorRef = ref(<any>null)
|
||||
const editor = ref('')
|
||||
|
||||
//const myvalue = toRef(props, 'value')
|
||||
const myvalue = ref('')
|
||||
const mycolor = ref('')
|
||||
@@ -58,7 +60,8 @@ export default defineComponent({
|
||||
const toolbarcomp = ref([
|
||||
['left', 'center', 'right', 'justify'],
|
||||
['bold', 'italic', 'underline', 'strike'],
|
||||
[
|
||||
['token', 'hr', 'link', 'custom_btn'],
|
||||
['print', 'fullscreen'], [
|
||||
{
|
||||
label: $q.lang.editor.formatting,
|
||||
icon: $q.iconSet.editor.formatting,
|
||||
@@ -112,7 +115,7 @@ export default defineComponent({
|
||||
])
|
||||
|
||||
function changeval(newval: any) {
|
||||
console.log('myEditor: changeval', newval)
|
||||
// console.log('myEditor: changeval', newval)
|
||||
emit('update:value', newval)
|
||||
}
|
||||
|
||||
@@ -171,6 +174,29 @@ export default defineComponent({
|
||||
myvalue.value = props.value
|
||||
}
|
||||
|
||||
function onPaste (evt: any) {
|
||||
// Let inputs do their thing, so we don't break pasting of links.
|
||||
if (evt.target.nodeName === 'INPUT') return
|
||||
let text, onPasteStripFormattingIEPaste
|
||||
evt.preventDefault()
|
||||
evt.stopPropagation()
|
||||
if (evt.originalEvent && evt.originalEvent.clipboardData.getData) {
|
||||
text = evt.originalEvent.clipboardData.getData('text/plain')
|
||||
editorRef.value.runCmd('insertText', text)
|
||||
}
|
||||
else if (evt.clipboardData && evt.clipboardData.getData) {
|
||||
text = evt.clipboardData.getData('text/plain')
|
||||
editorRef.value.runCmd('insertText', text)
|
||||
}
|
||||
/*else if (ClipboardEvent.clipboardData && ClipboardEvent.clipboardData.getData) {
|
||||
if (!onPasteStripFormattingIEPaste) {
|
||||
onPasteStripFormattingIEPaste = true
|
||||
editorRef.value.runCmd('ms-pasteTextOnly', text)
|
||||
}
|
||||
onPasteStripFormattingIEPaste = false
|
||||
}*/
|
||||
}
|
||||
|
||||
onMounted(mounted)
|
||||
|
||||
return {
|
||||
@@ -185,6 +211,8 @@ export default defineComponent({
|
||||
setcolor,
|
||||
pasteCapture,
|
||||
tools,
|
||||
onPaste,
|
||||
editorRef,
|
||||
}
|
||||
}
|
||||
})
|
||||
|
||||
@@ -25,7 +25,7 @@
|
||||
</q-btn>
|
||||
|
||||
<q-editor
|
||||
ref="editor"
|
||||
ref="editorRef"
|
||||
content-class="wrap_anywhere"
|
||||
toolbar-text-color="white"
|
||||
toolbar-toggle-color="yellow-8"
|
||||
@@ -33,7 +33,7 @@
|
||||
:toolbar="toolbarcomp"
|
||||
:fonts="myfonts"
|
||||
@update:model-value="changeval"
|
||||
@paste="evt => pasteCapture(evt)"
|
||||
@paste="onPaste"
|
||||
@keyup.enter.stop
|
||||
v-model="myvalue">
|
||||
</q-editor>
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<template>
|
||||
<div class="text-center">
|
||||
<div v-if="visuElem()" class="row items-center justify-center q-gutter-md q-ma-xs">
|
||||
<div v-if="visuElem()" class="row items-center justify-center q-ma-xs">
|
||||
|
||||
<div class="q-ma-xs">
|
||||
<q-field rounded outlined bg-color="blue-1" dense style="min-width:110px;">
|
||||
@@ -36,6 +36,8 @@
|
||||
:myimg="myimg"
|
||||
:canModify="canModify"
|
||||
:canEdit="canEdit"
|
||||
:id="id"
|
||||
:idmain="idmain"
|
||||
:visulabel="true"
|
||||
:mycol="col"
|
||||
:tablesel="tablesel"
|
||||
@@ -47,6 +49,7 @@
|
||||
|
||||
</CMyPopupEdit>
|
||||
</div>
|
||||
<slot></slot>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
@@ -204,72 +204,12 @@ export default defineComponent({
|
||||
})
|
||||
}
|
||||
|
||||
function removeFromMyFriends(usernameDest: string) {
|
||||
$q.dialog({
|
||||
message: t('db.domanda_removefriend', { username: usernameDest }),
|
||||
ok: { label: t('dialog.yes'), push: true },
|
||||
cancel: { label: t('dialog.cancel') },
|
||||
title: t('db.domanda')
|
||||
}).onOk(() => {
|
||||
|
||||
userStore.setFriendsCmd($q, t, username.value, usernameDest, shared_consts.FRIENDSCMD.REMOVE_FROM_MYFRIENDS, null).then((res) => {
|
||||
if (res) {
|
||||
userStore.my.profile.friends = userStore.my.profile.friends.filter((rec: IFriends) => rec.username !== usernameDest)
|
||||
tools.showPositiveNotif($q, t('db.removedfriend'))
|
||||
}
|
||||
})
|
||||
})
|
||||
}
|
||||
function setCmd($q: any, cmd: number, usernameDest: string, value: any, groupname: string) {
|
||||
tools.setCmd($q, cmd, usernameDest, value, username.value)
|
||||
|
||||
function refuseReqFriends(usernameDest: string) {
|
||||
$q.dialog({
|
||||
message: t('db.domanda_revoke_friend', { username: usernameDest }),
|
||||
ok: { label: t('dialog.yes'), push: true },
|
||||
cancel: { label: t('dialog.cancel') },
|
||||
title: t('db.domanda')
|
||||
}).onOk(() => {
|
||||
|
||||
userStore.setFriendsCmd($q, t, username.value, usernameDest, shared_consts.FRIENDSCMD.REMOVE_FROM_MYFRIENDS, null).then((res) => {
|
||||
if (res) {
|
||||
userStore.my.profile.req_friends = userStore.my.profile.req_friends.filter((user: IFriends) => user.username !== usernameDest)
|
||||
tools.showPositiveNotif($q, t('db.removedfriend'))
|
||||
}
|
||||
})
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
function blockUser(usernameDest: string) {
|
||||
$q.dialog({
|
||||
message: t('db.domanda_blockuser', { username: usernameDest }),
|
||||
ok: { label: t('dialog.yes'), push: true },
|
||||
cancel: { label: t('dialog.cancel') },
|
||||
title: t('db.domanda')
|
||||
}).onOk(() => {
|
||||
userStore.setFriendsCmd($q, t, username.value, usernameDest, shared_consts.FRIENDSCMD.BLOCK_USER, null).then((res) => {
|
||||
if (res) {
|
||||
userStore.my.profile.friends = userStore.my.profile.friends.filter((rec: IFriends) => rec.username !== usernameDest)
|
||||
tools.showPositiveNotif($q, t('db.blockedfriend'))
|
||||
}
|
||||
})
|
||||
})
|
||||
}
|
||||
|
||||
function setCmd(cmd: number, usernameDest: string, value: any = '') {
|
||||
if (cmd === shared_consts.FRIENDSCMD.SETTRUST) {
|
||||
setRequestTrust(usernameDest, value)
|
||||
} else if (cmd === shared_consts.FRIENDSCMD.REMOVE_FROM_MYFRIENDS) {
|
||||
removeFromMyFriends(usernameDest)
|
||||
} else if (cmd === shared_consts.FRIENDSCMD.BLOCK_USER) {
|
||||
blockUser(usernameDest)
|
||||
} else if (cmd === shared_consts.FRIENDSCMD.SETFRIEND) {
|
||||
tools.addToMyFriends($q, username.value, usernameDest)
|
||||
} else if (cmd === shared_consts.FRIENDSCMD.REQFRIEND) {
|
||||
tools.setRequestFriendship($q, username.value, usernameDest, value)
|
||||
} else if (cmd === shared_consts.FRIENDSCMD.REFUSE_REQ_FRIEND) {
|
||||
refuseReqFriends(usernameDest)
|
||||
} else if (cmd === shared_consts.FRIENDSCMD.CANCEL_REQ_FRIEND) {
|
||||
tools.cancelReqFriends($q, username.value, usernameDest)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -81,6 +81,7 @@ export default defineComponent({
|
||||
setCmd,
|
||||
shared_consts,
|
||||
userStore,
|
||||
$q,
|
||||
}
|
||||
},
|
||||
})
|
||||
|
||||
@@ -19,12 +19,12 @@
|
||||
<q-menu>
|
||||
<q-list style="min-width: 150px">
|
||||
<q-item clickable icon="fas fa-user-minus" v-close-popup
|
||||
@click="setCmd(shared_consts.GROUPSCMD.REMOVE_FROM_MYGROUP, grp.groupname)">
|
||||
@click="tools.setCmd($q, shared_consts.GROUPSCMD.REMOVE_FROM_MYGROUP, myusername(), '', grp.groupname)">
|
||||
<q-item-section>{{ $t('groups.remove_from_mygroups') }}</q-item-section>
|
||||
</q-item>
|
||||
</q-list>
|
||||
<q-list style="min-width: 150px">
|
||||
<q-item clickable icon="fas fa-ban" v-close-popup @click="setCmd(shared_consts.GROUPSCMD.BLOCK_GROUP, grp.groupname)">
|
||||
<q-item clickable icon="fas fa-ban" v-close-popup @click="tools.setCmd($q, shared_consts.GROUPSCMD.BLOCK_GROUP, myusername(), '', grp.groupname)">
|
||||
<q-item-section>{{ $t('groups.block_group') }}</q-item-section>
|
||||
</q-item>
|
||||
</q-list>
|
||||
@@ -38,7 +38,7 @@
|
||||
<q-menu>
|
||||
<q-list style="min-width: 150px">
|
||||
<q-item clickable icon="fas fa-user-minus" v-close-popup
|
||||
@click="setCmd(shared_consts.GROUPSCMD.REQGROUP, grp.groupname, false)">
|
||||
@click="tools.setCmd($q, shared_consts.GROUPSCMD.REQGROUP, myusername(), false, grp.groupname)">
|
||||
<q-item-section>{{ $t('groups.reject_ask_group') }}</q-item-section>
|
||||
</q-item>
|
||||
</q-list>
|
||||
@@ -52,7 +52,7 @@
|
||||
<q-menu>
|
||||
<q-list style="min-width: 150px">
|
||||
<q-item clickable icon="fas fa-user-minus" v-close-popup
|
||||
@click="setCmd(shared_consts.GROUPSCMD.CANCEL_REQ_GROUP, grp.groupname)">
|
||||
@click="tools.setCmd($q, shared_consts.GROUPSCMD.CANCEL_REQ_GROUP, myusername(), '', grp.groupname)">
|
||||
<q-item-section>{{ $t('groups.cancel_ask_group') }}</q-item-section>
|
||||
</q-item>
|
||||
</q-list>
|
||||
@@ -65,17 +65,17 @@
|
||||
<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="setCmd(shared_consts.GROUPSCMD.REQGROUP, grp.groupname, true)">
|
||||
<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="setCmd(shared_consts.GROUPSCMD.REQGROUP, grp.groupname, false)">
|
||||
<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="setCmd(shared_consts.GROUPSCMD.REMOVE_FROM_MYGROUPS, grp.groupname)">
|
||||
<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>
|
||||
</q-list>
|
||||
|
||||
@@ -103,7 +103,8 @@ export default defineComponent({
|
||||
userStore.loadGroups(username.value).then((ris) => {
|
||||
// console.log('ris', ris)
|
||||
if (ris) {
|
||||
userStore.my.profile.mygroups = ris.listUsersGroup ? ris.listUsersGroup : []
|
||||
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 }]
|
||||
@@ -113,36 +114,6 @@ export default defineComponent({
|
||||
}
|
||||
}
|
||||
|
||||
function blockGroup(usernameDest: string) {
|
||||
$q.dialog({
|
||||
message: t('db.domanda_blockgroup', { groupname: usernameDest }),
|
||||
ok: { label: t('dialog.yes'), push: true },
|
||||
cancel: { label: t('dialog.cancel') },
|
||||
title: t('db.domanda')
|
||||
}).onOk(() => {
|
||||
userStore.setGroupsCmd($q, t, username.value, usernameDest, shared_consts.GROUPSCMD.BLOCK_GROUP, null).then((res) => {
|
||||
if (res) {
|
||||
userStore.my.profile.mygroups = userStore.my.profile.mygroups.filter((rec: IMyGroup) => rec.groupname !== usernameDest)
|
||||
tools.showPositiveNotif($q, t('db.blockedgroup'))
|
||||
}
|
||||
})
|
||||
})
|
||||
}
|
||||
|
||||
function setCmd(cmd: number, groupnameDest: string, value: any = '') {
|
||||
if (cmd === shared_consts.GROUPSCMD.REMOVE_FROM_MYGROUP) {
|
||||
tools.removeFromMyGroups($q, username.value, groupnameDest)
|
||||
} else if (cmd === shared_consts.GROUPSCMD.BLOCK_GROUP) {
|
||||
blockGroup(groupnameDest)
|
||||
} else if (cmd === shared_consts.GROUPSCMD.SETGROUP) {
|
||||
tools.addToMyGroups($q, username.value, groupnameDest)
|
||||
} else if (cmd === shared_consts.GROUPSCMD.REQGROUP) {
|
||||
tools.setRequestGroup($q, username.value, groupnameDest, value)
|
||||
} else if (cmd === shared_consts.GROUPSCMD.CANCEL_REQ_GROUP) {
|
||||
tools.cancelReqGroups($q, username.value, groupnameDest)
|
||||
}
|
||||
}
|
||||
|
||||
function mounted() {
|
||||
username.value = userStore.my.username
|
||||
loadGroups()
|
||||
@@ -161,7 +132,6 @@ export default defineComponent({
|
||||
shared_consts,
|
||||
filtroutente,
|
||||
listgroupsfiltered,
|
||||
setCmd,
|
||||
updateValue,
|
||||
myoptions,
|
||||
}
|
||||
|
||||
@@ -23,7 +23,6 @@
|
||||
<span v-for="(grp, index) in listgroupsfiltered" :key="index" class="q-my-sm" clickable>
|
||||
<CMyGroup
|
||||
:mygrp="grp"
|
||||
@setCmd="setCmd"
|
||||
:visu="modelValue">
|
||||
</CMyGroup>
|
||||
</span>
|
||||
@@ -35,7 +34,6 @@
|
||||
<span class="q-my-sm" clickable>
|
||||
<CMyGroup
|
||||
:mygrp="mygrp"
|
||||
@setCmd="setCmd"
|
||||
:visu="visu">
|
||||
</CMyGroup>
|
||||
</span>
|
||||
|
||||
@@ -231,8 +231,6 @@ export default defineComponent({
|
||||
}
|
||||
}
|
||||
|
||||
console.log('col.value', col.value)
|
||||
|
||||
// console.log('CMyFieldDb crea', myvalue)
|
||||
}
|
||||
|
||||
@@ -251,10 +249,13 @@ export default defineComponent({
|
||||
|
||||
function changeval(newval: any) {
|
||||
console.log('changeval update:row', newval)
|
||||
if (!props.isrec) {
|
||||
emit('update:row', props.row)
|
||||
}
|
||||
if (props.isInModif)
|
||||
OpenEdit()
|
||||
|
||||
|
||||
}
|
||||
|
||||
function getrealval(newval: any) {
|
||||
|
||||
@@ -126,6 +126,10 @@ export default defineComponent({
|
||||
type: String,
|
||||
required: false,
|
||||
default: '',
|
||||
},
|
||||
filter: {
|
||||
type: Function,
|
||||
required: false,
|
||||
}
|
||||
},
|
||||
components: {},
|
||||
@@ -194,7 +198,7 @@ export default defineComponent({
|
||||
// console.log('----------- arrtempOpt.value', arrtempOpt.value)
|
||||
|
||||
localStorage.setItem(props.tablesel + num + props.optval, id)
|
||||
localStorage.setItem(props.tablesel + num + props.optlab, rec[`${props.optlab}`])
|
||||
localStorage.setItem(props.tablesel + num + props.optlab, tools.getValueByFunzOrVal(rec, props.optlab))
|
||||
|
||||
num += 1
|
||||
localStorage.setItem(props.tablesel + 'NUM', num.toString())
|
||||
@@ -320,7 +324,7 @@ export default defineComponent({
|
||||
}
|
||||
|
||||
if (props.tablesel === 'friendsandme') {
|
||||
debugger;
|
||||
// debugger;
|
||||
}
|
||||
|
||||
if (props.multiple) {
|
||||
@@ -349,7 +353,7 @@ export default defineComponent({
|
||||
if (props.funcgetvaluebyid)
|
||||
myvalue.value = props.funcgetvaluebyid(rec[`${props.optval}`])
|
||||
else
|
||||
myvalue.value = rec[`${props.optlab}`]
|
||||
myvalue.value = tools.getValueByFunzOrVal(rec, props.optlab)
|
||||
} else {
|
||||
// if (!props.useinput) {
|
||||
if (props.value) {
|
||||
@@ -372,13 +376,16 @@ export default defineComponent({
|
||||
function updateArrOptions() {
|
||||
let myarr: any = []
|
||||
|
||||
// console.log(props.col.jointable, props.filter)
|
||||
if (props.col.jointable) {
|
||||
optionsreal.value = globalStore.getTableJoinByName(props.col.jointable, props.col.addall, props.col.filter)
|
||||
optionsreal.value = globalStore.getTableJoinByName(props.col.jointable, props.col.addall, props.filter)
|
||||
// console.log('optionsreal.value', optionsreal.value)
|
||||
} else {
|
||||
optionsreal.value = props.options
|
||||
}
|
||||
|
||||
// console.log('optionsreal.value', optionsreal.value)
|
||||
|
||||
myarr = optionsreal.value
|
||||
if (!fieldsTable.tableRemotePickup.includes(props.tablesel)) {
|
||||
|
||||
@@ -386,7 +393,7 @@ export default defineComponent({
|
||||
|
||||
// console.log('needle', needle, 'props.multiple', props.multiple)
|
||||
if (props.filter_table) {
|
||||
console.log(' FILTERTABLE', props.filter_field, myarr)
|
||||
// console.log(' FILTERTABLE', props.filter_field, myarr)
|
||||
if (props.multiple) {
|
||||
myarr = myarr.filter((rec: any) => rec[props.filter_field] === needle)
|
||||
} else {
|
||||
@@ -578,6 +585,7 @@ export default defineComponent({
|
||||
abortFilterFn,
|
||||
newvaluefuncfirst,
|
||||
getIcon,
|
||||
tools,
|
||||
}
|
||||
}
|
||||
})
|
||||
|
||||
@@ -105,7 +105,7 @@
|
||||
<template v-slot:option="scope">
|
||||
<q-item v-bind="scope.itemProps">
|
||||
<q-item-section>
|
||||
<q-item-label> {{ scope.opt[optlab] }}</q-item-label>
|
||||
<q-item-label> {{ tools.getValueByFunzOrVal(scope.opt,optlab) }}</q-item-label>
|
||||
</q-item-section>
|
||||
</q-item>
|
||||
</template>
|
||||
@@ -139,7 +139,7 @@
|
||||
</template>
|
||||
<template
|
||||
v-slot:selected-item="scope">
|
||||
<div v-if="scope.opt[optlab]">
|
||||
<div v-if="tools.getValueByFunzOrVal(scope.opt,optlab)">
|
||||
<q-chip
|
||||
removable
|
||||
dense
|
||||
@@ -149,7 +149,7 @@
|
||||
class="q-my-none q-ml-xs q-mr-none"
|
||||
>
|
||||
<q-avatar color="primary" text-color="white" :icon="scope.opt.icon ? scope.opt.icon : ''" size="12px"/>
|
||||
{{ scope.opt[optlab] }}
|
||||
{{ tools.getValueByFunzOrVal(scope.opt, optlab) }}
|
||||
</q-chip>
|
||||
</div>
|
||||
</template>
|
||||
@@ -158,7 +158,7 @@
|
||||
v-slot:option="{ itemProps, opt, selected, toggleOption }">
|
||||
<q-item v-bind="itemProps">
|
||||
<q-item-section>
|
||||
<q-item-label>{{ opt[optlab] }}</q-item-label>
|
||||
<q-item-label>{{ tools.getValueByFunzOrVal(opt,optlab) }}</q-item-label>
|
||||
<q-item-label v-if="'hint' in opt" class="hint">{{ opt['hint'] }}</q-item-label>
|
||||
</q-item-section>
|
||||
<q-item-section side>
|
||||
@@ -200,7 +200,7 @@
|
||||
<q-icon :name="scope.opt.icon ? scope.opt.icon : ''"/>
|
||||
</q-item-section>
|
||||
<q-item-section>
|
||||
<q-item-label>{{ scope.opt[optlab] }}</q-item-label>
|
||||
<q-item-label>{{ tools.getValueByFunzOrVal(scope.opt,optlab) }}</q-item-label>
|
||||
<q-item-label v-if="'hint' in scope.opt" class="hint">{{ scope.opt['hint'] }}</q-item-label>
|
||||
</q-item-section>
|
||||
</q-item>
|
||||
|
||||
@@ -73,8 +73,8 @@ export default defineComponent({
|
||||
$router.push(path)
|
||||
}
|
||||
|
||||
function setCmd(cmd: number, myusername: string, value: any = '') {
|
||||
emit('setCmd', cmd, myusername, value)
|
||||
function setCmd($q: any, cmd: number, myusername: string, value: any, groupname: string) {
|
||||
emit('setCmd', $q, cmd, myusername, value, groupname)
|
||||
}
|
||||
|
||||
onMounted(mounted)
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
</q-item-section>
|
||||
|
||||
<q-item-section @click="naviga(`/my/` + contact.username)">
|
||||
<q-item-label><strong>{{ contact.name }} {{ contact.surname }}</strong> ({{ contact.username }})
|
||||
<q-item-label><strong>{{ contact.username }}</strong> <span v-if="contact.name">({{ contact.name }} {{ contact.surname }})</span>
|
||||
</q-item-label>
|
||||
<q-item-label v-if="contact.profile" caption lines="1"><em>{{ contact.profile.qualifica }}</em></q-item-label>
|
||||
</q-item-section>
|
||||
@@ -19,12 +19,12 @@
|
||||
<q-menu>
|
||||
<q-list style="min-width: 150px">
|
||||
<q-item clickable icon="fas fa-user-minus" v-close-popup
|
||||
@click="setCmd(shared_consts.FRIENDSCMD.REMOVE_FROM_MYFRIENDS, contact.username)">
|
||||
@click="setCmd($q, shared_consts.FRIENDSCMD.REMOVE_FROM_MYFRIENDS, contact.username, '', '')">
|
||||
<q-item-section>{{ $t('friends.remove_from_myfriends') }}</q-item-section>
|
||||
</q-item>
|
||||
</q-list>
|
||||
<q-list style="min-width: 150px">
|
||||
<q-item clickable icon="fas fa-ban" v-close-popup @click="setCmd(shared_consts.FRIENDSCMD.BLOCK_USER, contact.username)">
|
||||
<q-item clickable icon="fas fa-ban" v-close-popup @click="setCmd($q, shared_consts.FRIENDSCMD.BLOCK_USER, contact.username, '', '')">
|
||||
<q-item-section>{{ $t('friends.block_user') }}</q-item-section>
|
||||
</q-item>
|
||||
</q-list>
|
||||
@@ -32,18 +32,18 @@
|
||||
</q-btn>
|
||||
</q-item-label>
|
||||
</q-item-section>
|
||||
<q-item-section side v-if="visu === costanti.REQ_FRIENDS">
|
||||
<q-item-section side v-else-if="visu === costanti.REQ_FRIENDS">
|
||||
<q-item-label>
|
||||
<q-btn rounded icon="fas fa-ellipsis-h">
|
||||
<q-menu>
|
||||
<q-list v-if="true" style="min-width: 150px">
|
||||
<q-item clickable v-close-popup @click="setCmd(shared_consts.FRIENDSCMD.SETFRIEND, contact.username)">
|
||||
<q-item clickable v-close-popup @click="setCmd($q, shared_consts.FRIENDSCMD.SETFRIEND, contact.username, '', '')">
|
||||
<q-item-section>{{ $t('friends.accept_friend') }}</q-item-section>
|
||||
</q-item>
|
||||
</q-list>
|
||||
<q-list style="min-width: 150px">
|
||||
<q-item clickable icon="fas fa-user-minus" v-close-popup
|
||||
@click="setCmd(shared_consts.FRIENDSCMD.REQFRIEND, contact.username, false)">
|
||||
@click="setCmd($q, shared_consts.FRIENDSCMD.REQFRIEND, contact.username, false, '')">
|
||||
<q-item-section>{{ $t('friends.reject_ask_friend') }}</q-item-section>
|
||||
</q-item>
|
||||
</q-list>
|
||||
@@ -51,7 +51,7 @@
|
||||
</q-btn>
|
||||
</q-item-label>
|
||||
</q-item-section>
|
||||
<q-item-section side v-if="visu === costanti.REQ_ADD_USER_TO_GROUP">
|
||||
<q-item-section side v-else-if="visu === costanti.REQ_ADD_USER_TO_GROUP">
|
||||
<q-item-label>
|
||||
<q-btn rounded icon="fas fa-ellipsis-h">
|
||||
<q-menu>
|
||||
@@ -79,7 +79,7 @@
|
||||
</q-btn>
|
||||
</q-item-label>
|
||||
</q-item-section>
|
||||
<q-item-section side v-if="visu === costanti.REQ_REMOVE_USER_TO_GROUP">
|
||||
<q-item-section side v-else-if="visu === costanti.REQ_REMOVE_USER_TO_GROUP">
|
||||
<q-item-label>
|
||||
<q-btn rounded icon="fas fa-ellipsis-h">
|
||||
<q-menu>
|
||||
@@ -95,13 +95,13 @@
|
||||
</q-btn>
|
||||
</q-item-label>
|
||||
</q-item-section>
|
||||
<q-item-section side v-if="visu === costanti.ASK_SENT_FRIENDS">
|
||||
<q-item-section side v-else-if="visu === costanti.ASK_SENT_FRIENDS">
|
||||
<q-item-label>
|
||||
<q-btn rounded icon="fas fa-ellipsis-h">
|
||||
<q-menu>
|
||||
<q-list style="min-width: 150px">
|
||||
<q-item clickable icon="fas fa-user-minus" v-close-popup
|
||||
@click="setCmd(shared_consts.FRIENDSCMD.CANCEL_REQ_FRIEND, contact.username)">
|
||||
@click="setCmd($q, shared_consts.FRIENDSCMD.CANCEL_REQ_FRIEND, contact.username, '', '')">
|
||||
<q-item-section>{{ $t('friends.cancel_ask_friend') }}</q-item-section>
|
||||
</q-item>
|
||||
</q-list>
|
||||
@@ -109,25 +109,25 @@
|
||||
</q-btn>
|
||||
</q-item-label>
|
||||
</q-item-section>
|
||||
<q-item-section side v-if="visu === costanti.ASK_TRUST">
|
||||
<q-item-section side v-else-if="visu === costanti.ASK_TRUST">
|
||||
<q-item-label>
|
||||
<q-btn color="positive" :label="$t('friends.accept_trust')" @click="setCmd(shared_consts.FRIENDSCMD.SETTRUST, contact.username, true)"/>
|
||||
<q-btn color="positive" :label="$t('friends.accept_trust')" @click="setCmd($q, shared_consts.FRIENDSCMD.SETTRUST, contact.username, true, '')"/>
|
||||
</q-item-label>
|
||||
<q-item-label>
|
||||
<q-btn color="negative" :label="$t('friends.refuse_trust')" @click="setCmd(shared_consts.FRIENDSCMD.SETTRUST, contact.username, false)"/>
|
||||
<q-btn color="negative" :label="$t('friends.refuse_trust')" @click="setCmd($q, shared_consts.FRIENDSCMD.SETTRUST, contact.username, false, '')"/>
|
||||
</q-item-label>
|
||||
</q-item-section>
|
||||
<q-item-section side v-if="visu === costanti.TRUSTED">
|
||||
<q-item-section side v-else-if="visu === costanti.TRUSTED">
|
||||
<q-item-label>
|
||||
<q-btn rounded icon="fas fa-ellipsis-h">
|
||||
<q-menu>
|
||||
<q-list v-if="!userStore.IsMyFriendByUsername(contact.username)" style="min-width: 200px">
|
||||
<q-item clickable v-close-popup @click="setCmd(shared_consts.FRIENDSCMD.REQFRIEND, contact.username, true)">
|
||||
<q-item clickable v-close-popup @click="setCmd($q, shared_consts.FRIENDSCMD.REQFRIEND, contact.username, true, '')">
|
||||
<q-item-section>{{ $t('friends.ask_friend') }}</q-item-section>
|
||||
</q-item>
|
||||
</q-list>
|
||||
<q-list style="min-width: 200px">
|
||||
<q-item clickable v-close-popup @click="setCmd(shared_consts.FRIENDSCMD.SETTRUST, contact.username, false)">
|
||||
<q-item clickable v-close-popup @click="setCmd($q, shared_consts.FRIENDSCMD.SETTRUST, contact.username, false, '')">
|
||||
<q-item-section>{{ $t('friends.reject_trust') }}</q-item-section>
|
||||
</q-item>
|
||||
</q-list>
|
||||
@@ -135,22 +135,22 @@
|
||||
</q-btn>
|
||||
</q-item-label>
|
||||
</q-item-section>
|
||||
<q-item-section side v-if="visu === costanti.FIND_PEOPLE">
|
||||
<q-item-section side v-else-if="visu === costanti.FIND_PEOPLE">
|
||||
<q-item-label>
|
||||
<q-btn v-if="contact.username !== userStore.my.username" rounded :icon="userStore.IsMyFriendByUsername(contact.username) ? `fas fa-ellipsis-h` : `fas fa-user`">
|
||||
<q-menu>
|
||||
<q-list v-if="(!userStore.IsMyFriendByUsername(contact.username) && !userStore.IsAskedFriendByUsername(contact.username))" style="min-width: 200px">
|
||||
<q-item clickable v-close-popup @click="setCmd(shared_consts.FRIENDSCMD.REQFRIEND, contact.username, true)">
|
||||
<q-item clickable v-close-popup @click="setCmd($q, shared_consts.FRIENDSCMD.REQFRIEND, contact.username, true, '')">
|
||||
<q-item-section>{{ $t('friends.ask_friend') }}</q-item-section>
|
||||
</q-item>
|
||||
</q-list>
|
||||
<q-list v-else-if="(!userStore.IsMyFriendByUsername(contact.username) && userStore.IsAskedFriendByUsername(contact.username))" style="min-width: 200px">
|
||||
<q-item clickable v-close-popup @click="setCmd(shared_consts.FRIENDSCMD.REQFRIEND, contact.username, false)">
|
||||
<q-item clickable v-close-popup @click="setCmd($q, shared_consts.FRIENDSCMD.REQFRIEND, contact.username, false, '')">
|
||||
<q-item-section>{{ $t('friends.cancel_ask_friend') }}</q-item-section>
|
||||
</q-item>
|
||||
</q-list>
|
||||
<q-list v-else-if="userStore.IsMyFriendByUsername(contact.username)" style="min-width: 200px">
|
||||
<q-item clickable v-close-popup @click="setCmd(shared_consts.FRIENDSCMD.REMOVE_FROM_MYFRIENDS, contact.username)">
|
||||
<q-item clickable v-close-popup @click="setCmd($q, shared_consts.FRIENDSCMD.REMOVE_FROM_MYFRIENDS, contact.username, '', '')">
|
||||
<q-item-section>{{ $t('friends.remove_from_myfriends') }}</q-item-section>
|
||||
</q-item>
|
||||
</q-list>
|
||||
@@ -158,13 +158,13 @@
|
||||
</q-btn>
|
||||
</q-item-label>
|
||||
</q-item-section>
|
||||
<q-item-section side v-if="visu === costanti.REJECTED">
|
||||
<q-item-section side v-else-if="visu === costanti.REJECTED">
|
||||
<q-item-label>
|
||||
<q-btn rounded icon="fas fa-ellipsis-h">
|
||||
<q-menu>
|
||||
<q-list style="min-width: 200px">
|
||||
<q-item clickable icon="fas fa-user-minus" v-close-popup
|
||||
@click="setCmd(shared_consts.FRIENDSCMD.SETTRUST, contact.username, true)">
|
||||
@click="setCmd($q, shared_consts.FRIENDSCMD.SETTRUST, contact.username, true, '')">
|
||||
<q-item-section>{{ $t('friends.accept_trust') }}</q-item-section>
|
||||
</q-item>
|
||||
</q-list>
|
||||
|
||||
@@ -22,6 +22,7 @@ import { complexity, registereduser, aportadorexist } from '../../validation'
|
||||
|
||||
// import 'vue3-tel-input/dist/vue3-tel-input.css'
|
||||
import { useRoute, useRouter } from 'vue-router'
|
||||
import { static_data } from '@/db/static_data'
|
||||
|
||||
// import {Loading, QSpinnerFacebook, QSpinnerGears} from 'quasar'
|
||||
|
||||
@@ -49,6 +50,11 @@ export default defineComponent({
|
||||
required: false,
|
||||
default: false,
|
||||
},
|
||||
show_namesurname: {
|
||||
type: Boolean,
|
||||
required: false,
|
||||
default: true,
|
||||
},
|
||||
},
|
||||
setup(props, { emit }) {
|
||||
const $q = useQuasar()
|
||||
@@ -65,8 +71,8 @@ export default defineComponent({
|
||||
const signup = reactive(<ISignupOptions>{
|
||||
email: process.env.TEST_EMAIL || '',
|
||||
username: process.env.TEST_USERNAME || '',
|
||||
name: process.env.TEST_NAME || '',
|
||||
surname: process.env.TEST_SURNAME || '',
|
||||
name: static_data.functionality.SHOW_NAMESURNAME ? (process.env.TEST_NAME || '') : '',
|
||||
surname: static_data.functionality.SHOW_NAMESURNAME ? (process.env.TEST_SURNAME || '') : '',
|
||||
password: process.env.TEST_PASSWORD || '',
|
||||
repeatPassword: process.env.TEST_PASSWORD || '',
|
||||
terms: !process.env.PROD,
|
||||
@@ -75,7 +81,7 @@ export default defineComponent({
|
||||
})
|
||||
|
||||
const validations: any = computed(() => {
|
||||
return {
|
||||
let valid: any = {
|
||||
repeatPassword: {
|
||||
required,
|
||||
repeatPassword: sameAs(signup.password),
|
||||
@@ -90,12 +96,6 @@ export default defineComponent({
|
||||
minLength: minLength(6),
|
||||
registereduser,
|
||||
},
|
||||
name: {
|
||||
required,
|
||||
},
|
||||
surname: {
|
||||
required,
|
||||
},
|
||||
terms: {
|
||||
required,
|
||||
},
|
||||
@@ -104,6 +104,17 @@ export default defineComponent({
|
||||
required
|
||||
}
|
||||
}
|
||||
|
||||
if (props.show_namesurname) {
|
||||
valid.name = {
|
||||
required,
|
||||
}
|
||||
valid.surname = {
|
||||
required,
|
||||
}
|
||||
}
|
||||
|
||||
return valid
|
||||
})
|
||||
|
||||
// @ts-ignore
|
||||
@@ -176,8 +187,10 @@ export default defineComponent({
|
||||
return
|
||||
} */
|
||||
|
||||
if (signup.name) {
|
||||
signup.name = tools.CapitalizeAllWords(signup.name)
|
||||
signup.surname = tools.CapitalizeAllWords(signup.surname)
|
||||
}
|
||||
|
||||
$q.loading.show({ message: t('reg.incorso') })
|
||||
|
||||
|
||||
@@ -2,7 +2,8 @@
|
||||
<div>
|
||||
<div class="text-center">
|
||||
<p>
|
||||
<logo></logo><CTitleBanner :title="$t('pages.SignUp')"></CTitleBanner>
|
||||
<logo></logo>
|
||||
<CTitleBanner :title="$t('pages.SignUp')"></CTitleBanner>
|
||||
</p>
|
||||
</div>
|
||||
|
||||
@@ -53,7 +54,7 @@
|
||||
debounce="3000"
|
||||
:rules="[ myRuleEmail ]"
|
||||
lazy-rules
|
||||
:label="$t('reg.email')">
|
||||
:label="$t('reg.email_reg')">
|
||||
|
||||
<template v-slot:prepend>
|
||||
<q-icon name="email"/>
|
||||
@@ -69,9 +70,10 @@
|
||||
:error="v$.username.$error"
|
||||
@keydown.space="(event) => event.preventDefault()"
|
||||
maxlength="20"
|
||||
:hint="$t('reg.username_hint')"
|
||||
debounce="1000"
|
||||
:error-message="tools.errorMsg( 'username', v$.username)"
|
||||
:label="$t('reg.username')">
|
||||
:label="$t('reg.username_reg')">
|
||||
|
||||
<template v-slot:prepend>
|
||||
<q-icon name="person"/>
|
||||
@@ -79,6 +81,7 @@
|
||||
|
||||
</q-input>
|
||||
|
||||
<div v-if="show_namesurname">
|
||||
<q-input
|
||||
v-model="signup.name"
|
||||
rounded outlined
|
||||
@@ -111,6 +114,8 @@
|
||||
|
||||
</q-input>
|
||||
|
||||
</div>
|
||||
|
||||
<q-input
|
||||
v-model="signup.password"
|
||||
type="password"
|
||||
@@ -120,7 +125,7 @@
|
||||
:error-message="`${tools.errorMsg( 'password', v$.password)}`"
|
||||
maxlength="30"
|
||||
debounce="1000"
|
||||
:label="$t('reg.password')">
|
||||
:label="$t('reg.password_reg')">
|
||||
|
||||
<template v-slot:prepend>
|
||||
<q-icon name="vpn_key"/>
|
||||
@@ -203,10 +208,11 @@
|
||||
</div>
|
||||
|
||||
<div class="wrapper">
|
||||
<q-btn rounded size="lg" color="positive" @click="submitOk" :disabled='!allowSubmit()' :label="$t('reg.submit')">
|
||||
<q-btn rounded size="lg" color="positive" @click="submitOk" :disabled='!allowSubmit()'
|
||||
:label="$t('reg.submit')">
|
||||
</q-btn>
|
||||
</div>
|
||||
<br /><br /><br />
|
||||
<br/><br/><br/>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
@@ -215,5 +221,5 @@
|
||||
<script lang="ts" src="./CSignUp.ts">
|
||||
</script>
|
||||
<style lang="scss" scoped>
|
||||
@import './CSignUp.scss';
|
||||
@import './CSignUp.scss';
|
||||
</style>
|
||||
|
||||
@@ -13,7 +13,7 @@
|
||||
</q-item-section>
|
||||
|
||||
<q-item-section>
|
||||
<q-item-label>{{ user.name }} {{ user.surname }} {{ getindorder(user) }}<br>
|
||||
<q-item-label><span v-if="user.name">{{ user.name }} {{ user.surname }}</span> {{ getindorder(user) }}<br>
|
||||
<span class="text-grey">({{ getusername(user) }}) <strong>{{ getquanti(user)}}</strong></span>
|
||||
<br><!--<span v-if="isextralist(user)" class="notreg">{{ $t('dashboard.notreg') }}</span>-->
|
||||
</q-item-label>
|
||||
|
||||
@@ -98,7 +98,6 @@
|
||||
</div>-->
|
||||
|
||||
<!-- BUTTON USER BAR -->
|
||||
|
||||
<q-btn
|
||||
class="q-mx-xs" v-if="static_data.functionality.SHOW_USER_MENU && !isLogged()" dense flat round
|
||||
icon="menu"
|
||||
|
||||
@@ -868,7 +868,7 @@ $heightBtn: 100%;
|
||||
}
|
||||
|
||||
.combowidth {
|
||||
min-width: 180px;
|
||||
min-width: 190px;
|
||||
@media (max-width: 450px) {
|
||||
min-width: 250px;
|
||||
}
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
const msg_website_enUs = {
|
||||
ws: {
|
||||
sitename: 'InsiemeSuPuò',
|
||||
siteshortname: 'InsiemeSuPuò',
|
||||
botname: 'InsiemeSuPuò BOT',
|
||||
sitename: 'Comunità Nuovo Mondo',
|
||||
siteshortname: 'CNM',
|
||||
botname: 'CNM BOT',
|
||||
},
|
||||
pages: {
|
||||
home: 'Home',
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
const msg_website_es = {
|
||||
ws: {
|
||||
sitename: 'InsiemeSuPuò',
|
||||
siteshortname: 'InsiemeSuPuò',
|
||||
botname: 'InsiemeSuPuò BOT',
|
||||
sitename: 'AYNI',
|
||||
siteshortname: 'Ayni',
|
||||
botname: 'AYNI BOT',
|
||||
},
|
||||
pages: {
|
||||
home: 'Home',
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
const msg_website_fr = {
|
||||
ws: {
|
||||
sitename: 'InsiemeSuPuò',
|
||||
siteshortname: 'InsiemeSuPuò',
|
||||
botname: 'InsiemeSuPuò BOT',
|
||||
sitename: 'AYNI',
|
||||
siteshortname: 'Ayni',
|
||||
botname: 'AYNI BOT',
|
||||
},
|
||||
homepage: {
|
||||
titlecontatti: 'CONTACTS',
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
const msg_website_it = {
|
||||
ws: {
|
||||
sitename: 'InsiemeSuPuò',
|
||||
siteshortname: 'InsiemeSuPuò',
|
||||
botname: 'il Bot di InsiemeSuPuò',
|
||||
sitename: 'FreePlanet',
|
||||
siteshortname: 'FreePlanet',
|
||||
botname: 'il Bot di FreePlanet',
|
||||
},
|
||||
products: {
|
||||
quantity: 'Quantità',
|
||||
@@ -128,8 +128,8 @@ const msg_website_it = {
|
||||
color: 'Colore',
|
||||
},
|
||||
msg: {
|
||||
myAppName: 'InsiemeSiPuò',
|
||||
myAppDescription: 'Il primo Vero Social Libero, Equo e Solidale, dove Vive Consapevolezza e Aiuto Comunitario. Gratuito',
|
||||
myAppName: 'FreePlanet',
|
||||
myAppDescription: 'Il primo Vero Social Libero, Equo e Solidale, dove Vive Consapevolezza e Aiuto Comunitario. Gratuito e senza Pubblicità',
|
||||
underconstruction: 'App in costruzione...',
|
||||
myDescriz: '',
|
||||
sottoTitoloApp: 'Il primo Vero Social',
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
const msg_website_pt = {
|
||||
ws: {
|
||||
sitename: 'InsiemeSuPuò',
|
||||
siteshortname: 'InsiemeSuPuò',
|
||||
botname: 'InsiemeSuPuò BOT',
|
||||
sitename: 'CNM',
|
||||
siteshortname: 'CNM',
|
||||
botname: 'CNM BOT',
|
||||
},
|
||||
pages: {
|
||||
home: 'Home',
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
const msg_website_si = {
|
||||
ws: {
|
||||
sitename: 'InsiemeSuPuò',
|
||||
siteshortname: 'InsiemeSuPuò',
|
||||
botname: 'InsiemeSuPuò BOT',
|
||||
sitename: 'AYNI',
|
||||
siteshortname: 'Ayni',
|
||||
botname: 'AYNI BOT',
|
||||
},
|
||||
pages: {
|
||||
home: 'Domača stran',
|
||||
|
||||
@@ -20,6 +20,7 @@ const functionality: IFunctionality = {
|
||||
BOOKING_EVENTS: true,
|
||||
ENABLE_ECOMMERCE: false,
|
||||
ENABLE_REG_ISP: true,
|
||||
SHOW_NAMESURNAME: false,
|
||||
}
|
||||
|
||||
// const SHOW_PROJINTHEMENU = false
|
||||
@@ -373,12 +374,12 @@ const baseroutes: IListRoutes[] = [
|
||||
path: '/',
|
||||
materialIcon: 'home',
|
||||
name: 'pages.home',
|
||||
component: () => import('@src/root/home_insiemesipuo/home_insiemesipuo.vue'),
|
||||
component: () => import('@src/root/home_freeplanet/home_freeplanet.vue'),
|
||||
reqauth: false,
|
||||
inmenu: true,
|
||||
infooter: true,
|
||||
},
|
||||
/*{
|
||||
{
|
||||
active: true,
|
||||
order: 100,
|
||||
path: '/presentazione',
|
||||
@@ -388,7 +389,7 @@ const baseroutes: IListRoutes[] = [
|
||||
reqauth: false,
|
||||
inmenu: true,
|
||||
infooter: true,
|
||||
},*/
|
||||
},
|
||||
{
|
||||
active: true,
|
||||
order: 120,
|
||||
@@ -446,7 +447,7 @@ const baseroutes: IListRoutes[] = [
|
||||
},
|
||||
{
|
||||
active: true,
|
||||
order: 136,
|
||||
order: 135,
|
||||
path: '/grp/:groupname',
|
||||
materialIcon: 'fas fa-user',
|
||||
name: 'proj.group2',
|
||||
|
||||
@@ -65,7 +65,7 @@ export default function () {
|
||||
function getMyImg() {
|
||||
const userStore = useUserStore()
|
||||
const ris = userStore.getImgByUsername(userStore.my.username)
|
||||
const out = (ris !== '') ? `${ris}` : ''
|
||||
const out = (ris !== '') ? `${ris}` : 'images/noimg-user.svg'
|
||||
// console.log('getMyImg = ', out)
|
||||
return out
|
||||
}
|
||||
|
||||
@@ -444,6 +444,8 @@ export interface IFunctionality {
|
||||
ENABLE_REG_AYNI?: boolean
|
||||
ENABLE_REG_CNM?: boolean
|
||||
ENABLE_REG_ISP?: boolean
|
||||
SHOW_NAMESURNAME?: boolean
|
||||
ENABLE_GROUPS?: boolean
|
||||
}
|
||||
|
||||
export interface IParLookup {
|
||||
|
||||
@@ -14,6 +14,7 @@ export interface IFriends {
|
||||
}
|
||||
|
||||
export interface IMyGroup {
|
||||
_id: string
|
||||
groupname: string
|
||||
title?: string
|
||||
descr?: string
|
||||
@@ -75,6 +76,7 @@ export interface IUserProfile {
|
||||
// in memory
|
||||
asked_friends: any[]
|
||||
asked_groups: any[]
|
||||
list_usersgroup?: IFriends[]
|
||||
}
|
||||
|
||||
export interface IPaymentType {
|
||||
|
||||
@@ -630,6 +630,7 @@ const msg_es = {
|
||||
mypages: {
|
||||
find_people: 'Busca Personas',
|
||||
friends: 'Amigos',
|
||||
groups: 'Grupos',
|
||||
request_friends: 'Rich. Amicizia',
|
||||
request_sent_friends: 'Rich. Inviate',
|
||||
request_trust: 'Rich. Fiducia',
|
||||
|
||||
@@ -408,6 +408,7 @@ const msg_it = {
|
||||
iscrizioneincorso: 'Iscrizione in corso...',
|
||||
richiesto: 'Campo Richiesto',
|
||||
email: 'Email',
|
||||
email_reg: 'la tua Email',
|
||||
website: 'Sito Web',
|
||||
intcode_cell: 'Prefisso Int.',
|
||||
cell: 'Cellulare',
|
||||
@@ -448,12 +449,15 @@ const msg_it = {
|
||||
deleted: 'Nascosto',
|
||||
sospeso: 'Sospeso',
|
||||
username: 'Username',
|
||||
username_reg: 'Scegli il tuo Username',
|
||||
username_hint: 'i caratteri speciali consentiti sono il tratteggio (_) e il meno (-)',
|
||||
username_pseudonimo: 'Username (Pseudonimo)',
|
||||
username_short: 'Username',
|
||||
name: 'Nome',
|
||||
surname: 'Cognome',
|
||||
username_login: 'Username o email',
|
||||
password: 'Password',
|
||||
password_reg: 'Scegli una nuova Password',
|
||||
repeatPassword: 'Ripeti password',
|
||||
terms: 'Accetto i termini della privacy',
|
||||
metodopagamento: 'Metodo di Pagamento',
|
||||
@@ -890,6 +894,9 @@ const msg_it = {
|
||||
reject_ask_friend: 'Rifiuta la richiesta di Amicizia',
|
||||
},
|
||||
groups: {
|
||||
member: 'membro',
|
||||
members: 'membri',
|
||||
admin: 'amministratore',
|
||||
admins: 'Amministratori',
|
||||
ask_group: 'Chiedi di entrare nel Gruppo',
|
||||
accept_group: 'Accetta la richiesta',
|
||||
|
||||
@@ -39,6 +39,8 @@ export const costanti = {
|
||||
CREATE_GROUP: 30,
|
||||
MANAGE_GROUPS: 31,
|
||||
|
||||
SHOW_ALL: 50,
|
||||
|
||||
REQ_ADD_USER_TO_GROUP: 40,
|
||||
REQ_REMOVE_USER_TO_GROUP: 41,
|
||||
|
||||
|
||||
@@ -1539,6 +1539,10 @@ export const tools = {
|
||||
return Object(anything) === anything
|
||||
},
|
||||
|
||||
isFunc(anything: any) {
|
||||
return (typeof anything === 'function')
|
||||
},
|
||||
|
||||
isDebug() {
|
||||
return process.env.DEV
|
||||
},
|
||||
@@ -4424,6 +4428,62 @@ export const tools = {
|
||||
})
|
||||
},
|
||||
|
||||
removeFromMyFriends($q: any, username: string, usernameDest: string) {
|
||||
const userStore = useUserStore()
|
||||
|
||||
$q.dialog({
|
||||
message: t('db.domanda_removefriend', { username: usernameDest }),
|
||||
ok: { label: t('dialog.yes'), push: true },
|
||||
cancel: { label: t('dialog.cancel') },
|
||||
title: t('db.domanda')
|
||||
}).onOk(() => {
|
||||
|
||||
userStore.setFriendsCmd($q, t, username, usernameDest, shared_consts.FRIENDSCMD.REMOVE_FROM_MYFRIENDS, null).then((res) => {
|
||||
if (res) {
|
||||
userStore.my.profile.friends = userStore.my.profile.friends.filter((rec: IFriends) => rec.username !== usernameDest)
|
||||
tools.showPositiveNotif($q, t('db.removedfriend'))
|
||||
}
|
||||
})
|
||||
})
|
||||
},
|
||||
|
||||
blockUser($q: any, username: string, usernameDest: string) {
|
||||
const userStore = useUserStore()
|
||||
$q.dialog({
|
||||
message: t('db.domanda_blockuser', { username: usernameDest }),
|
||||
ok: { label: t('dialog.yes'), push: true },
|
||||
cancel: { label: t('dialog.cancel') },
|
||||
title: t('db.domanda')
|
||||
}).onOk(() => {
|
||||
userStore.setFriendsCmd($q, t, username, usernameDest, shared_consts.FRIENDSCMD.BLOCK_USER, null).then((res: any) => {
|
||||
if (res) {
|
||||
userStore.my.profile.friends = userStore.my.profile.friends.filter((rec: IFriends) => rec.username !== usernameDest)
|
||||
tools.showPositiveNotif($q, t('db.blockedfriend'))
|
||||
}
|
||||
})
|
||||
})
|
||||
},
|
||||
|
||||
refuseReqFriends($q: any, username: string, usernameDest: string) {
|
||||
|
||||
const userStore = useUserStore()
|
||||
$q.dialog({
|
||||
message: t('db.domanda_revoke_friend', { username: usernameDest }),
|
||||
ok: { label: t('dialog.yes'), push: true },
|
||||
cancel: { label: t('dialog.cancel') },
|
||||
title: t('db.domanda')
|
||||
}).onOk(() => {
|
||||
|
||||
userStore.setFriendsCmd($q, t, username, usernameDest, shared_consts.FRIENDSCMD.REMOVE_FROM_MYFRIENDS, null).then((res) => {
|
||||
if (res) {
|
||||
userStore.my.profile.req_friends = userStore.my.profile.req_friends.filter((user: IFriends) => user.username !== usernameDest)
|
||||
tools.showPositiveNotif($q, t('db.removedfriend'))
|
||||
}
|
||||
})
|
||||
})
|
||||
},
|
||||
|
||||
|
||||
addToMyGroups($q: any, username: string, groupnameDest: string) {
|
||||
|
||||
const userStore = useUserStore()
|
||||
@@ -4447,6 +4507,24 @@ export const tools = {
|
||||
})
|
||||
},
|
||||
|
||||
blockGroup($q: any, username: string, usernameDest: string) {
|
||||
const userStore = useUserStore()
|
||||
|
||||
$q.dialog({
|
||||
message: t('db.domanda_blockgroup', { groupname: usernameDest }),
|
||||
ok: { label: t('dialog.yes'), push: true },
|
||||
cancel: { label: t('dialog.cancel') },
|
||||
title: t('db.domanda')
|
||||
}).onOk(() => {
|
||||
userStore.setGroupsCmd($q, t, username, usernameDest, shared_consts.GROUPSCMD.BLOCK_GROUP, null).then((res) => {
|
||||
if (res) {
|
||||
userStore.my.profile.mygroups = userStore.my.profile.mygroups.filter((rec: IMyGroup) => rec.groupname !== usernameDest)
|
||||
tools.showPositiveNotif($q, t('db.blockedgroup'))
|
||||
}
|
||||
})
|
||||
})
|
||||
},
|
||||
|
||||
removeFromMyGroups($q: any, username: string, groupnameDest: string) {
|
||||
const userStore = useUserStore()
|
||||
|
||||
@@ -4743,6 +4821,44 @@ export const tools = {
|
||||
|
||||
},
|
||||
|
||||
setCmd($q: any, cmd: number, username: string, value: any, dest: string) {
|
||||
if (cmd === shared_consts.GROUPSCMD.REMOVE_FROM_MYGROUP) {
|
||||
tools.removeFromMyGroups($q, username, dest)
|
||||
} else if (cmd === shared_consts.GROUPSCMD.BLOCK_GROUP) {
|
||||
tools.blockGroup($q, username, dest)
|
||||
} else if (cmd === shared_consts.GROUPSCMD.SETGROUP) {
|
||||
tools.addToMyGroups($q, username, dest)
|
||||
} else if (cmd === shared_consts.GROUPSCMD.REQGROUP) {
|
||||
tools.setRequestGroup($q, username, dest, value)
|
||||
} else if (cmd === shared_consts.GROUPSCMD.CANCEL_REQ_GROUP) {
|
||||
tools.cancelReqGroups($q, username, dest)
|
||||
} else if (cmd === shared_consts.FRIENDSCMD.REMOVE_FROM_MYFRIENDS) {
|
||||
tools.removeFromMyFriends($q, username, value)
|
||||
} else if (cmd === shared_consts.FRIENDSCMD.BLOCK_USER) {
|
||||
tools.blockUser($q, username, dest)
|
||||
} else if (cmd === shared_consts.FRIENDSCMD.SETFRIEND) {
|
||||
tools.addToMyFriends($q, username, dest)
|
||||
} else if (cmd === shared_consts.FRIENDSCMD.REQFRIEND) {
|
||||
tools.setRequestFriendship($q, username, dest, value)
|
||||
} else if (cmd === shared_consts.FRIENDSCMD.REFUSE_REQ_FRIEND) {
|
||||
tools.refuseReqFriends($q, username, dest)
|
||||
} else if (cmd === shared_consts.FRIENDSCMD.CANCEL_REQ_FRIEND) {
|
||||
tools.cancelReqFriends($q, username, dest)
|
||||
}
|
||||
},
|
||||
isCallable(anything: any) {
|
||||
return typeof anything === 'function'
|
||||
},
|
||||
|
||||
getValueByFunzOrVal(value: any, keyfunz: any) {
|
||||
if (typeof keyfunz === 'function') {
|
||||
return keyfunz(value)
|
||||
} else {
|
||||
return value[keyfunz]
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// getLocale() {
|
||||
// if (navigator.languages && navigator.languages.length > 0) {
|
||||
// return navigator.languages[0]
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<template>
|
||||
<q-page padding class="signup">
|
||||
<CSignUp :showcell="false" :showaportador="true">
|
||||
<CSignUp :showcell="false" :showaportador="true" :show_namesurname="false">
|
||||
|
||||
</CSignUp>
|
||||
</q-page>
|
||||
|
||||
@@ -11,6 +11,7 @@ import { useI18n } from '@/boot/i18n'
|
||||
import { toolsext } from '@store/Modules/toolsext'
|
||||
import { useQuasar } from 'quasar'
|
||||
import { costanti } from '@costanti'
|
||||
import { static_data } from '@/db/static_data'
|
||||
|
||||
|
||||
export default defineComponent({
|
||||
@@ -87,6 +88,7 @@ export default defineComponent({
|
||||
getpayment,
|
||||
tools,
|
||||
costanti,
|
||||
static_data,
|
||||
filtroutente,
|
||||
}
|
||||
}
|
||||
|
||||
@@ -7,6 +7,7 @@
|
||||
|
||||
<div class="column">
|
||||
<div class="myrow">
|
||||
<div v-if="static_data.functionality.SHOW_NAMESURNAME">
|
||||
<CMyFieldDb
|
||||
:title="$t('reg.name')"
|
||||
table="users"
|
||||
@@ -20,6 +21,7 @@
|
||||
:type="costanti.FieldType.string">
|
||||
</CMyFieldDb>
|
||||
</div>
|
||||
</div>
|
||||
<div class="myrow">
|
||||
<CMyFieldDb
|
||||
:title="$t('reg.username')"
|
||||
|
||||
@@ -16,3 +16,9 @@
|
||||
border-radius: 1rem;
|
||||
padding: 5px;
|
||||
}
|
||||
|
||||
.members, .admins{
|
||||
font-weight: bold;
|
||||
text-align: center;
|
||||
vertical-align: center;
|
||||
}
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
import { CGridTableRec } from '@/components/CGridTableRec'
|
||||
import { CMyFriends } from '@/components/CMyFriends'
|
||||
import { CMyUser } from '@/components/CMyUser'
|
||||
import { CTitleBanner } from '@/components/CTitleBanner'
|
||||
import { CProfile } from '@/components/CProfile'
|
||||
import { CMyFieldRec } from '@/components/CMyFieldRec'
|
||||
@@ -21,7 +22,7 @@ import { colmyUserPeople, colmyUserGroup } from '@store/Modules/fieldsTable'
|
||||
|
||||
export default defineComponent({
|
||||
name: 'mygroup',
|
||||
components: { CProfile, CTitleBanner, CMyFieldRec, CSkill, CDateTime, CMyFriends, CGridTableRec },
|
||||
components: { CProfile, CTitleBanner, CMyFieldRec, CSkill, CDateTime, CMyFriends, CGridTableRec, CMyUser },
|
||||
props: {},
|
||||
setup() {
|
||||
const userStore = useUserStore()
|
||||
@@ -39,6 +40,7 @@ export default defineComponent({
|
||||
const mygrp = ref(<IMyGroup|null>{})
|
||||
const users_in_group = ref(<IFriends[]>[])
|
||||
|
||||
const tabgrp = ref('info')
|
||||
const tab = ref('membri')
|
||||
|
||||
const arrfilterand: any = ref([])
|
||||
@@ -54,10 +56,10 @@ export default defineComponent({
|
||||
return userStore.my.username
|
||||
}
|
||||
|
||||
function loadGroup() {
|
||||
async function loadGroup() {
|
||||
// Carica il profilo di quest'utente
|
||||
if (groupname.value) {
|
||||
userStore.loadGroup(groupname.value).then((ris) => {
|
||||
await userStore.loadGroup(groupname.value).then((ris) => {
|
||||
if (ris) {
|
||||
mygrp.value = ris.mygroup
|
||||
users_in_group.value = ris.users_in_group
|
||||
@@ -75,13 +77,14 @@ export default defineComponent({
|
||||
loadGroup()
|
||||
})
|
||||
|
||||
function mounted() {
|
||||
loadGroup()
|
||||
async function mounted() {
|
||||
await loadGroup()
|
||||
|
||||
searchList.value = []
|
||||
filtercustom.value = [{ 'profile.mygroups': { $elemMatch: {groupname: {$eq: groupname.value }} } } ]
|
||||
filtercustom_rich.value = [{ req_users: { $elemMatch: {username: {$eq: userStore.my.username }} } } ]
|
||||
|
||||
arrfilterand.value = []
|
||||
filtercustom_rich.value = []
|
||||
//++TODO: sistemare la filtercustom ... richieste...
|
||||
}
|
||||
|
||||
@@ -124,11 +127,11 @@ export default defineComponent({
|
||||
}
|
||||
|
||||
function extraparams() {
|
||||
let lk_tab = 'users'
|
||||
let lk_LF = 'userId'
|
||||
let lk_FF = '_id'
|
||||
let lk_as = 'user'
|
||||
let af_objId_tab = 'myId'
|
||||
let lk_tab = ''
|
||||
let lk_LF = ''
|
||||
let lk_FF = ''
|
||||
let lk_as = ''
|
||||
let af_objId_tab = ''
|
||||
|
||||
return {
|
||||
lookup1: {
|
||||
@@ -138,13 +141,29 @@ export default defineComponent({
|
||||
lk_as,
|
||||
af_objId_tab,
|
||||
lk_proj: {
|
||||
username: 1,
|
||||
name: 1,
|
||||
'username': 1,
|
||||
'profile.img': 1,
|
||||
'profile.qualifica': 1,
|
||||
}
|
||||
},
|
||||
}
|
||||
}
|
||||
|
||||
function extraparams_rich() {
|
||||
return {
|
||||
querytype: shared_consts.QUERYTYPE_MYGROUP,
|
||||
myid: mygrp.value ? mygrp.value._id : '',
|
||||
}
|
||||
}
|
||||
|
||||
function numUsers() {
|
||||
return users_in_group.value ? users_in_group.value.length : 0
|
||||
}
|
||||
function numAdmins() {
|
||||
return (mygrp.value && mygrp.value.admins) ? mygrp.value.admins.length : 0
|
||||
}
|
||||
function listaAdmins() {
|
||||
return (mygrp.value && mygrp.value.admins) ? mygrp.value.admins.map((rec) => rec.username).join(', ') : ''
|
||||
}
|
||||
|
||||
|
||||
@@ -174,7 +193,12 @@ export default defineComponent({
|
||||
colmyUserPeople,
|
||||
colmyUserGroup,
|
||||
extraparams,
|
||||
extraparams_rich,
|
||||
tab,
|
||||
tabgrp,
|
||||
numUsers,
|
||||
numAdmins,
|
||||
listaAdmins,
|
||||
users_in_group,
|
||||
}
|
||||
}
|
||||
|
||||
@@ -15,19 +15,6 @@
|
||||
<div class="col-12 text-h7 text-blue text-shadow-2">
|
||||
{{ mygrp.groupname }}
|
||||
</div>
|
||||
<div>
|
||||
<CMyFieldRec
|
||||
title="Visibilità"
|
||||
table="mygroups"
|
||||
:columns="colmyUserGroup"
|
||||
:rec="mygrp"
|
||||
field="visibility"
|
||||
:canModify="false">
|
||||
</CMyFieldRec>
|
||||
</div>
|
||||
<div class="col-12 text-h7">
|
||||
<span v-if="checkifShow('descr')">{{ mygrp.descr }}</span>
|
||||
</div>
|
||||
|
||||
<div>
|
||||
<q-btn
|
||||
@@ -45,24 +32,57 @@
|
||||
/>
|
||||
</div>
|
||||
|
||||
<div v-if="mygrp.title">
|
||||
<br>
|
||||
<div class="q-ma-sm q-gutter-sm q-pa-xs">
|
||||
<div v-if="mygrp.note" v-html="mygrp.note">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<q-tabs v-model="tabgrp" class="text-blue">
|
||||
<q-tab label="Info" name="info" icon="fas fa-info"></q-tab>
|
||||
<q-tab v-if="!!mygrp.note && userStore.IsMyGroupByGroupname(mygrp.groupname)" label="Pagina" name="page" icon="fas fa-file-word"></q-tab>
|
||||
<q-tab v-if="userStore.IsMyGroupByGroupname(mygrp.groupname)" label="Iscritti" name="membri" icon="fas fa-users"></q-tab>
|
||||
<q-tab v-if="tools.iAmAdminGroup(groupname)" label="Richieste" name="rich" icon="fas fa-user-plus"></q-tab>
|
||||
</q-tabs>
|
||||
|
||||
<q-btn
|
||||
v-if="mygrp.admins.includes(userStore.my.username)" icon="fas fa-pencil-alt"
|
||||
color="blue"
|
||||
size="md"
|
||||
:label="$t('otherpages.modifgrp')"
|
||||
to="/editgrp">
|
||||
</q-btn>
|
||||
<q-tab-panels v-model="tabgrp" animated>
|
||||
<q-tab-panel name="info">
|
||||
<div>
|
||||
<q-card>
|
||||
<CMyFieldRec
|
||||
title="Visibilità"
|
||||
table="mygroups"
|
||||
:id="mygrp._id"
|
||||
:columns="colmyUserGroup"
|
||||
:rec="mygrp"
|
||||
field="visibility"
|
||||
:canEdit="true"
|
||||
:canModify="true">
|
||||
</CMyFieldRec>
|
||||
</q-card>
|
||||
<q-card>
|
||||
<div class="members">
|
||||
<q-icon name="fas fa-users"></q-icon>
|
||||
{{ numUsers() }} {{ numUsers() === 1 ? t('groups.member') : t('groups.members') }}
|
||||
</div>
|
||||
<div class="admins">
|
||||
<q-icon name="fas fa-user-cog"></q-icon>
|
||||
{{ numAdmins() }} {{ numAdmins() === 1 ? t('groups.admin') : t('groups.admins') }}
|
||||
</div>
|
||||
<div v-for="(user, index) of mygrp.admins" :key="index">
|
||||
<CMyUser
|
||||
:mycontact="user"
|
||||
:visu="costanti.FIND_PEOPLE"
|
||||
@setCmd="setCmd"
|
||||
>
|
||||
</CMyUser>
|
||||
</div>
|
||||
</q-card>
|
||||
|
||||
</div>
|
||||
<q-card>
|
||||
<br>
|
||||
<div class="col-12 text-h7">
|
||||
<span v-if="checkifShow('descr')">{{ mygrp.descr }}</span>
|
||||
</div>
|
||||
</q-card>
|
||||
|
||||
<div v-if="mygrp.title" class="myrow justify-evenly items-center q-pa-sm q-ma-sm">
|
||||
|
||||
<q-card>
|
||||
<div class="col-6 q-ma-xs">
|
||||
<q-btn
|
||||
v-if="getLinkGrpTelegram()" icon="fab fa-telegram"
|
||||
@@ -84,15 +104,22 @@
|
||||
:href="getLinkWebSite()" target="__blank">
|
||||
</q-btn>
|
||||
</div>
|
||||
</q-card>
|
||||
|
||||
</div>
|
||||
<div v-if="tools.iAmAdminGroup(groupname)">
|
||||
<q-tabs v-model="tab" class="text-blue">
|
||||
<q-tab label="Membri" name="membri" icon="fas fa-users"></q-tab>
|
||||
<q-tab label="Richieste" name="rich" icon="fas fa-user-plus"></q-tab>
|
||||
</q-tabs>
|
||||
|
||||
<q-tab-panels v-model="tab" animated>
|
||||
</q-tab-panel>
|
||||
|
||||
<q-tab-panel name="page">
|
||||
<div v-if="mygrp.title">
|
||||
<br>
|
||||
<div class="q-ma-sm q-gutter-sm q-pa-xs">
|
||||
<div v-if="mygrp.note" v-html="mygrp.note">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</q-tab-panel>
|
||||
|
||||
<q-tab-panel name="membri">
|
||||
<CGridTableRec
|
||||
ref="tabMembri"
|
||||
@@ -102,7 +129,7 @@
|
||||
prop_colkey="_id"
|
||||
col_title="username"
|
||||
:vertical="costanti.VISUTABLE_LISTA"
|
||||
nodataLabel="Nessun Membro"
|
||||
nodataLabel="Nessun Iscritto"
|
||||
:prop_search="true"
|
||||
hint="Username da trovare"
|
||||
:finder="false"
|
||||
@@ -119,12 +146,13 @@
|
||||
:showCol="false"
|
||||
:extrafield="groupname"
|
||||
:extraparams="extraparams()"
|
||||
:visufind="costanti.REQ_REMOVE_USER_TO_GROUP"
|
||||
:visufind="tools.iAmAdminGroup(groupname) ? costanti.REQ_REMOVE_USER_TO_GROUP : costanti.FIND_PEOPLE"
|
||||
>
|
||||
|
||||
</CGridTableRec>
|
||||
</q-tab-panel>
|
||||
<q-tab-panel name="rich">
|
||||
|
||||
<CGridTableRec
|
||||
prop_mytable="mygroups"
|
||||
prop_mytitle=""
|
||||
@@ -132,7 +160,7 @@
|
||||
prop_colkey="_id"
|
||||
col_title="username"
|
||||
:vertical="costanti.VISUTABLE_LISTA"
|
||||
nodataLabel=" "
|
||||
nodataLabel="Nessuna Richiesta in sospeso"
|
||||
:prop_search="false"
|
||||
hint="Username da trovare"
|
||||
:finder="false"
|
||||
@@ -147,7 +175,7 @@
|
||||
:showType="costanti.SHOW_USERINFO"
|
||||
keyMain=""
|
||||
:showCol="false"
|
||||
:extraparams="extraparams()"
|
||||
:extraparams="extraparams_rich()"
|
||||
:extrafield="groupname"
|
||||
:visufind="costanti.REQ_ADD_USER_TO_GROUP"
|
||||
>
|
||||
@@ -156,7 +184,13 @@
|
||||
</q-tab-panel>
|
||||
</q-tab-panels>
|
||||
|
||||
</div>
|
||||
<q-btn
|
||||
v-if="mygrp.admins.includes(userStore.my.username)" icon="fas fa-pencil-alt"
|
||||
color="blue"
|
||||
size="md"
|
||||
:label="$t('otherpages.modifgrp')"
|
||||
to="/editgrp">
|
||||
</q-btn>
|
||||
|
||||
</div>
|
||||
<div v-else class="fit column no-wrap justify-evenly items-center content-start">
|
||||
|
||||
@@ -11,7 +11,7 @@
|
||||
prop_colkey="_id"
|
||||
col_title="groupname"
|
||||
:vertical="costanti.VISUTABLE_LISTA"
|
||||
nodataLabel="Nessuna Richiesta in sospeso"
|
||||
nodataLabel=" Nessun Gruppo"
|
||||
:prop_search="true"
|
||||
hint="nome del gruppo da trovare"
|
||||
:finder="true"
|
||||
|
||||
@@ -14,6 +14,7 @@ import { useQuasar } from 'quasar'
|
||||
import { costanti } from '@costanti'
|
||||
import { IUserFields } from 'model'
|
||||
import { shared_consts } from '@/common/shared_vuejs'
|
||||
import { static_data } from '@/db/static_data'
|
||||
|
||||
|
||||
export default defineComponent({
|
||||
@@ -106,6 +107,7 @@ export default defineComponent({
|
||||
myusername,
|
||||
userStore,
|
||||
t,
|
||||
static_data,
|
||||
animation,
|
||||
}
|
||||
}
|
||||
|
||||
@@ -8,11 +8,13 @@
|
||||
</q-avatar>
|
||||
</div>
|
||||
|
||||
<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>
|
||||
@@ -38,7 +40,7 @@
|
||||
/>
|
||||
</div>
|
||||
|
||||
<div v-if="myuser.name">
|
||||
<div v-if="myuser._id">
|
||||
<div class="col-12 text-h8 q-mt-sm" v-if="myuser.profile.qualifica">
|
||||
<em><span class="qualifica">{{ myuser.profile.qualifica }}</span></em>
|
||||
</div>
|
||||
@@ -55,7 +57,7 @@
|
||||
to="/editprofile">
|
||||
</q-btn>
|
||||
|
||||
<div v-if="myuser.name" class="myrow justify-evenly items-center q-pa-sm q-ma-sm">
|
||||
<div v-if="myuser._id" class="myrow justify-evenly items-center q-pa-sm q-ma-sm">
|
||||
|
||||
<div class="col-6 q-ma-xs">
|
||||
<q-btn
|
||||
@@ -117,7 +119,7 @@
|
||||
|
||||
</CTitleBanner>
|
||||
|
||||
<div v-if="myuser.name">
|
||||
<div v-if="myuser._id">
|
||||
<CTitleBanner
|
||||
class="" :title="$t('dashboard.info')" bgcolor="bg-primary" clcolor="text-white"
|
||||
myclass="myshad" :canopen="true">
|
||||
|
||||