- fix QSelect

- permessi none/friends/all
This commit is contained in:
paoloar77
2022-01-28 18:15:46 +01:00
parent 5f51c231eb
commit d7480fd489
32 changed files with 777 additions and 222 deletions

View File

@@ -24,7 +24,7 @@ const msg_website_it = {
home: 'Home',
profile: 'Profilo',
profile2: 'ProfiloU',
profile3: 'Profilo3',
mypage2: 'mypage2',
test: 'Test',
projects: 'Progetti',
report: 'Report Ore',

View File

@@ -105,6 +105,19 @@ const routes_admin: IListRoutes[] = [
inmenu: true,
submenu: true,
onlyAdmin: true
},
{
active: true,
order: 1040,
path: '/admin/importfile',
materialIcon: 'event_seat',
name: 'otherpages.manage.importfile',
component: () => import('@/rootgen/admin/importdata/importdata.vue'),
level_parent: 0.0,
level_child: 0.5,
inmenu: true,
submenu: true,
onlyAdmin: true
}
]
@@ -387,9 +400,31 @@ const baseroutes: IListRoutes[] = [
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-users',
name: 'mypages.friends',
component: () => import('@/views/user/myfriends/myfriends.vue'),
meta: { requiresAuth: true },
inmenu: true,
infooter: true,
},
{
active: true,
order: 135,
path: '/my/:username',
materialIcon: 'fas fa-user',
name: 'pages.profile2',
@@ -400,48 +435,15 @@ const baseroutes: IListRoutes[] = [
},
{
active: true,
order: 120,
path: '/test',
order: 130,
path: '/mypage/:idSkill',
materialIcon: 'fas fa-user',
name: 'pages.test',
component: () => import('@/views/user/test/test.vue'),
name: 'pages.mypage2',
component: () => import('@/views/user/mypageskill/mypageskill.vue'),
meta: { requiresAuth: true },
inmenu: true,
infooter: true,
inmenu: false,
infooter: false,
},
/*{
active: true,
order: 6,
path: '/b',
faIcon: 'fa fa-list-alt',
materialIcon: 'format_list_numbered',
name: 'pages.Todo',
routes2: routes_todo,
level_parent: 0,
level_child: 0.5,
inmenu: true,
solotitle: true,
infooter: true,
},
*/
/*
<{
active: true,
order: 7,
path: '/c',
faIcon: 'fa fa-list-alt',
materialIcon: 'next_week',
name: 'pages.projects',
// routes2: routes_projects,
level_parent: 0,
level_child: 0.5,
inmenu: true,
solotitle: true,
infooter: true,
},
*/
{
active: true,
order: 2000,

View File

@@ -12,6 +12,7 @@ import { CVerifyTelegram } from '@src/components/CVerifyTelegram'
import { useGlobalStore } from '@store/globalStore'
import { useUserStore } from '@store/UserStore'
import { static_data } from '@/db/static_data'
import MixinBase from '@/mixins/mixin-base'
export default defineComponent({
@@ -20,6 +21,7 @@ export default defineComponent({
setup() {
const globalStore = useGlobalStore()
const userStore = useUserStore()
const { getValDb } = MixinBase()
function isEmailVerified() {
return userStore.my.verified_email
@@ -44,6 +46,10 @@ export default defineComponent({
return userStore.isUserOk()
}
function getLinkBotTelegram(): string {
return getValDb('TELEG_BOT_LINK', false)
}
return {
tools,
static_data,
@@ -53,6 +59,7 @@ export default defineComponent({
isLogged,
openrighttoolbar,
isUserOk,
getLinkBotTelegram,
}
},
})

View File

@@ -11,6 +11,7 @@
<!--<CMapsEsempio></CMapsEsempio>-->
<div v-if="isLogged()">
<CVerifyEmail v-if="!isEmailVerified()">
@@ -21,15 +22,17 @@
</CVerifyTelegram>
<div v-if="isUserOk()">
<q-banner rounded class="bg-primary text-white">
<div class="text-h6 text-center">
Ora Accedi al Bot Telegram <br>
per vedere tutti i Menu e le chat !
</div>
<template v-slot:action>
<q-btn flat color="white" label="Accedi al Bot Telegram" @click="getLinkBotTelegram()"/>
</template>
</q-banner>
<div v-if="isUserOk()">
<q-banner rounded class="bg-primary text-white">
<div class="text-h6 text-center">
Ora Accedi al Bot Telegram <br>
per vedere tutti i Menu e le chat !
</div>
<template v-slot:action>
<q-btn icon="fab fa-telegram" flat color="white" label="Accedi al Bot Telegram" type="a" target="__blank" :href="getLinkBotTelegram()"/>
</template>
</q-banner>
</div>
</div>
</div>

View File

@@ -24,6 +24,7 @@ const msg_website_it = {
home: 'Home',
profile: 'Profilo',
profile2: 'ProfiloU',
mypage2: 'mypage2',
test: 'Test',
projects: 'Progetti',
report: 'Report Ore',

View File

@@ -105,6 +105,19 @@ const routes_admin: IListRoutes[] = [
inmenu: true,
submenu: true,
onlyAdmin: true
},
{
active: true,
order: 1040,
path: '/admin/importfile',
materialIcon: 'event_seat',
name: 'otherpages.manage.importfile',
component: () => import('@/rootgen/admin/importdata/importdata.vue'),
level_parent: 0.0,
level_child: 0.5,
inmenu: true,
submenu: true,
onlyAdmin: true
}
]
@@ -365,20 +378,53 @@ const baseroutes: IListRoutes[] = [
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: '/profile',
path: '/myprofile',
materialIcon: 'fas fa-user',
name: 'pages.profile',
component: () => import('@/views/user/editprofile/editprofile.vue'),
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-users',
name: 'mypages.friends',
component: () => import('@/views/user/myfriends/myfriends.vue'),
meta: { requiresAuth: true },
inmenu: true,
infooter: true,
},
{
active: true,
order: 135,
path: '/my/:username',
materialIcon: 'fas fa-user',
name: 'pages.profile2',
@@ -390,47 +436,14 @@ const baseroutes: IListRoutes[] = [
{
active: true,
order: 130,
path: '/mypage/:idskill',
path: '/mypage/:idSkill',
materialIcon: 'fas fa-user',
name: 'pages.profile2',
name: 'pages.mypage2',
component: () => import('@/views/user/mypageskill/mypageskill.vue'),
meta: { requiresAuth: true },
inmenu: false,
infooter: false,
},
/*{
active: true,
order: 6,
path: '/b',
faIcon: 'fa fa-list-alt',
materialIcon: 'format_list_numbered',
name: 'pages.Todo',
routes2: routes_todo,
level_parent: 0,
level_child: 0.5,
inmenu: true,
solotitle: true,
infooter: true,
},
*/
/*
<{
active: true,
order: 7,
path: '/c',
faIcon: 'fa fa-list-alt',
materialIcon: 'next_week',
name: 'pages.projects',
// routes2: routes_projects,
level_parent: 0,
level_child: 0.5,
inmenu: true,
solotitle: true,
infooter: true,
},
*/
{
active: true,
order: 2000,

View File

@@ -12,6 +12,7 @@ import { CVerifyTelegram } from '@src/components/CVerifyTelegram'
import { useGlobalStore } from '@store/globalStore'
import { useUserStore } from '@store/UserStore'
import { static_data } from '@/db/static_data'
import MixinBase from '@/mixins/mixin-base'
export default defineComponent({
@@ -20,6 +21,7 @@ export default defineComponent({
setup() {
const globalStore = useGlobalStore()
const userStore = useUserStore()
const { getValDb } = MixinBase()
function isEmailVerified() {
return userStore.my.verified_email
@@ -44,6 +46,10 @@ export default defineComponent({
return userStore.isUserOk()
}
function getLinkBotTelegram(): string {
return getValDb('TELEG_BOT_LINK', false)
}
return {
tools,
static_data,
@@ -53,6 +59,7 @@ export default defineComponent({
isLogged,
openrighttoolbar,
isUserOk,
getLinkBotTelegram,
}
},
})

View File

@@ -11,6 +11,7 @@
<!--<CMapsEsempio></CMapsEsempio>-->
<div v-if="isLogged()">
<CVerifyEmail v-if="!isEmailVerified()">
@@ -21,15 +22,17 @@
</CVerifyTelegram>
<div v-if="isUserOk()">
<q-banner rounded class="bg-primary text-white">
<div class="text-h6 text-center">
Ora Accedi al Bot Telegram <br>
per vedere tutti i Menu e le chat !
</div>
<template v-slot:action>
<q-btn flat color="white" label="Accedi al Bot Telegram" @click="getLinkBotTelegram()"/>
</template>
</q-banner>
<div v-if="isUserOk()">
<q-banner rounded class="bg-primary text-white">
<div class="text-h6 text-center">
Ora Accedi al Bot Telegram <br>
per vedere tutti i Menu e le chat !
</div>
<template v-slot:action>
<q-btn icon="fab fa-telegram" flat color="white" label="Accedi al Bot Telegram" type="a" target="__blank" :href="getLinkBotTelegram()"/>
</template>
</q-banner>
</div>
</div>
</div>

View File

@@ -11,11 +11,11 @@ PROVA_PAOLO="PROVA ENV FUNZIONA!"
LANG_DEFAULT="it"
PAO_APP_ID="KKPPAA5KJK435J3KSS9F9D8S9F8SD98F9SDF"
MASTER_KEY="KKPPSS5KJK435J3KSS9F9D8S9F8SD3CR3T"
MONGODB_HOST="http://192.168.1.8:3000"
MONGODB_HOST="http://192.168.0.200:3000"
LOGO_REG="freeplanet-logo-full.svg"
TEST_NAME="Paolo"
TEST_SURNAME="Arena"
TEST_EMAIL="paolo@freeplanet.app"
TEST_EMAIL="perseo@freeplanet.app"
TEST_USERNAME="paoloar773"
TEST_PASSWORD="passpao1fr@1A"
TEST_APORTADOR=""

File diff suppressed because one or more lines are too long

View File

@@ -24,6 +24,7 @@ const msg_website_it = {
home: 'Home',
profile: 'Profilo',
profile2: 'ProfiloU',
mypage2: 'mypage2',
test: 'Test',
projects: 'Progetti',
report: 'Report Ore',

View File

@@ -392,17 +392,39 @@ const baseroutes: IListRoutes[] = [
{
active: true,
order: 120,
path: '/profile',
path: '/myprofile',
materialIcon: 'fas fa-user',
name: 'pages.profile',
component: () => import('@/views/user/editprofile/editprofile.vue'),
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-users',
name: 'mypages.friends',
component: () => import('@/views/user/myfriends/myfriends.vue'),
meta: { requiresAuth: true },
inmenu: true,
infooter: true,
},
{
active: true,
order: 135,
path: '/my/:username',
materialIcon: 'fas fa-user',
name: 'pages.profile2',
@@ -413,48 +435,15 @@ const baseroutes: IListRoutes[] = [
},
{
active: true,
order: 120,
path: '/test',
order: 130,
path: '/mypage/:idSkill',
materialIcon: 'fas fa-user',
name: 'pages.test',
component: () => import('@/views/user/test/test.vue'),
name: 'pages.mypage2',
component: () => import('@/views/user/mypageskill/mypageskill.vue'),
meta: { requiresAuth: true },
inmenu: true,
infooter: true,
inmenu: false,
infooter: false,
},
/*{
active: true,
order: 6,
path: '/b',
faIcon: 'fa fa-list-alt',
materialIcon: 'format_list_numbered',
name: 'pages.Todo',
routes2: routes_todo,
level_parent: 0,
level_child: 0.5,
inmenu: true,
solotitle: true,
infooter: true,
},
*/
/*
<{
active: true,
order: 7,
path: '/c',
faIcon: 'fa fa-list-alt',
materialIcon: 'next_week',
name: 'pages.projects',
// routes2: routes_projects,
level_parent: 0,
level_child: 0.5,
inmenu: true,
solotitle: true,
infooter: true,
},
*/
{
active: true,
order: 2000,

View File

@@ -23,25 +23,25 @@
"dependencies": {
"axios": "0.21.4",
"@vue/eslint-config-standard": "5.1.2",
"@quasar/extras": "^1.12.2",
"@quasar/quasar-ui-qcalendar": "^4.0.0-beta.11",
"@quasar/extras": "^1.12.4",
"@quasar/quasar-ui-qcalendar": "^4.0.0-beta.12",
"@vue/compat": "^3.2.26",
"@vue/compiler-sfc": "^3.2.26",
"@vuelidate/core": "^2.0.0-alpha.32",
"@vuelidate/validators": "^2.0.0-alpha.25",
"acorn": "^8.6.0",
"autoprefixer": "^10.4.0",
"@vuelidate/core": "^2.0.0-alpha.34",
"@vuelidate/validators": "^2.0.0-alpha.26",
"acorn": "^8.7.0",
"autoprefixer": "^10.4.2",
"bcryptjs": "^2.4.3",
"core-js": "^3.20.0",
"core-js": "^3.20.3",
"crypto": "^1.0.1",
"date-fns": "^2.27.0",
"dotenv": "^10.0.0",
"date-fns": "^2.28.0",
"dotenv": "^11.0.0",
"echarts": "^5.2.2",
"eslint-plugin-quasar": "^1.0.0",
"eslint-plugin-quasar": "^1.1.0",
"eslint-plugin-standard": "^5.0.0",
"graphql": "^16.1.0",
"graphql": "^16.2.0",
"graphql-tag": "^2.12.6",
"gsap": "^3.9.0",
"gsap": "^3.9.1",
"jquery": "^3.6.0",
"js-cookie": "^3.0.1",
"localforage": "^1.10.0",
@@ -49,9 +49,9 @@
"normalize.css": "^8.0.1",
"npm": "^8.3.0",
"nprogress": "^0.2.0",
"pinia": "^2.0.6",
"pinia": "^2.0.9",
"prerender-spa-plugin": "^3.4.0",
"quasar": "^2.3.4",
"quasar": "^2.4.12",
"quasar-extras": "^2.0.9",
"register-service-worker": "^1.7.2",
"vee-validate": "^4.4.10",
@@ -72,9 +72,9 @@
},
"devDependencies": {
"node-sass": "6.0.1",
"webpack": "^5.0.0",
"@quasar/app": "^3.2.5",
"@quasar/quasar-app-extension-qcalendar": "^4.0.0-beta.11",
"webpack": "^5.66.0",
"@quasar/app": "^3.2.9",
"@quasar/quasar-app-extension-qcalendar": "^4.0.0-beta.12",
"@types/bcryptjs": "^2.4.2",
"@types/dotenv": "^8.2.0",
"@types/googlemaps": "^3.43.3",
@@ -84,31 +84,31 @@
"@types/nprogress": "^0.2.0",
"@types/vue-tel-input": "^2.1.2",
"@types/vuelidate": "^0.7.15",
"@typescript-eslint/eslint-plugin": "^5.7.0",
"@typescript-eslint/parser": "^5.7.0",
"eslint": "^8.4.1",
"@typescript-eslint/eslint-plugin": "^5.10.0",
"@typescript-eslint/parser": "^5.10.0",
"eslint": "^8.7.0",
"eslint-config-prettier": "^8.3.0",
"eslint-plugin-import": "^2.25.3",
"eslint-plugin-import": "^2.25.4",
"eslint-plugin-node": "^11.1.0",
"eslint-plugin-promise": "^5.2.0",
"eslint-plugin-vue": "^8.2.0",
"eslint-plugin-vue": "^8.3.0",
"file-loader": "^6.2.0",
"html-webpack-plugin": "^5.5.0",
"http-proxy-middleware": "^2.0.1",
"jest": "^27.4.5",
"json-loader": "^0.5.7",
"npm-check-updates": "^12.0.5",
"npm-check-updates": "^12.1.0",
"optimize-css-assets-webpack-plugin": "^6.0.1",
"postcss": "^8.4.5",
"postcss-loader": "^6.2.1",
"sass-loader": "^12.4.0",
"strip-ansi": "=7.0.1",
"ts-jest": "^27.1.1",
"ts-jest": "^27.1.2",
"ts-loader": "^9.2.6",
"tslint": "^6.1.3",
"tslint-config-standard": "^9.0.0",
"tslint-loader": "^3.5.4",
"typescript": "^4.5.4",
"typescript": "^4.5.5",
"vue-cli-plugin-element-ui": "^1.1.4",
"vueify": "^9.4.1",
"workbox-webpack-plugin": "^6.4.2"

View File

@@ -148,6 +148,7 @@ module.exports = configure((ctx) => ({
https: false,
port: 8083,
open: false, // opens browser window automatically
liveReload: false,
},
// https://v2.quasar.dev/quasar-cli/quasar-conf-js#Property%3A-framework
@@ -217,7 +218,6 @@ module.exports = configure((ctx) => ({
'QCarouselSlide',
'QPageScroller',
'QAvatar',
'QSkeleton',
'QImg',
'QSplitter',
'QRating',