- Registrazione: conferma Abilitazione da Telegram

- Richiesta Amicizia
This commit is contained in:
paoloar77
2022-01-16 23:20:46 +01:00
parent 42e7037100
commit 2d3eff1065
14 changed files with 159 additions and 93 deletions

View File

@@ -101,6 +101,22 @@ export const shared_consts = {
VISIB_ONLY_MANAGER: 2, VISIB_ONLY_MANAGER: 2,
VISIB_ONLY_ADMIN: 4, VISIB_ONLY_ADMIN: 4,
Lang: [
{
value: 'it',
label: 'Italiano',
},
{
value: 'es',
label: 'Spagnolo',
},
{
value: 'enUs',
label: 'Inglese',
},
],
Visibility: [ Visibility: [
{ {
value: 1, value: 1,

View File

@@ -190,7 +190,7 @@ export default defineComponent({
const mytitle = ref('') const mytitle = ref('')
const mycolumns = ref([]) const mycolumns = ref([])
const colkey = ref('') const colkey = ref('')
const search = ref('paoloar773') const search = ref('')
const tablesel = ref('') const tablesel = ref('')

View File

@@ -389,7 +389,8 @@
:subfield="col.subfield" :subfield="col.subfield"
:isInModif="true" :isInModif="true"
minuteinterval="1" minuteinterval="1"
:visulabel="false" :visulabel="true"
:insertMode="true"
@save="SaveValue" @save="SaveValue"
@show="selItem(newRecord, col)" @show="selItem(newRecord, col)"
@showandsave="showandsel"> @showandsave="showandsel">

View File

@@ -194,66 +194,6 @@ export default defineComponent({
}) })
} }
function setRequestFriendship(usernameDest: string, value: boolean) {
let msg = ''
if (value) {
msg = t('db.domanda_ask_friend', { username: usernameDest })
} else {
msg = t('db.domanda_revoke_friend', { username: usernameDest })
}
$q.dialog({
message: msg,
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.REQFRIEND, value)
.then((res: any) => {
if (res) {
if (value) {
// ADD to req Friends
userStore.my.profile.asked_friends.push(res)
tools.showPositiveNotif($q, t('db.askedtofriend', { username: usernameDest }))
} else {
// REMOVE to req Friends
userStore.my.profile.asked_friends = userStore.my.profile.asked_friends.filter((rec: IUserFields) => rec.username !== usernameDest)
tools.showPositiveNotif($q, t('db.revoketofriend', { username: usernameDest }))
}
} else {
tools.showNegativeNotif($q, t('db.recfailed'))
}
})
})
}
function addToMyFriends(usernameDest: string) {
$q.dialog({
message: t('db.domanda_addtofriend', { 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.SETFRIEND, null)
.then((res: any) => {
if (res) {
console.log('res = ', res)
userStore.my.profile.friends = [...userStore.my.profile.friends, res]
userStore.my.profile.req_friends = userStore.my.profile.req_friends.filter((rec: IFriends) => rec.username !== usernameDest)
tools.showPositiveNotif($q, t('db.addedfriend'))
}
})
})
}
function removeFromMyFriends(usernameDest: string) { function removeFromMyFriends(usernameDest: string) {
$q.dialog({ $q.dialog({
message: t('db.domanda_removefriend', { username: usernameDest }), message: t('db.domanda_removefriend', { username: usernameDest }),
@@ -329,9 +269,9 @@ export default defineComponent({
} else if (cmd === shared_consts.FRIENDSCMD.BLOCK_USER) { } else if (cmd === shared_consts.FRIENDSCMD.BLOCK_USER) {
blockUser(usernameDest) blockUser(usernameDest)
} else if (cmd === shared_consts.FRIENDSCMD.SETFRIEND) { } else if (cmd === shared_consts.FRIENDSCMD.SETFRIEND) {
addToMyFriends(usernameDest) tools.addToMyFriends($q, t, username.value, usernameDest)
} else if (cmd === shared_consts.FRIENDSCMD.REQFRIEND) { } else if (cmd === shared_consts.FRIENDSCMD.REQFRIEND) {
setRequestFriendship(usernameDest, value) tools.setRequestFriendship($q, t, username.value, usernameDest, value)
} else if (cmd === shared_consts.FRIENDSCMD.REFUSE_REQ_FRIEND) { } else if (cmd === shared_consts.FRIENDSCMD.REFUSE_REQ_FRIEND) {
refuseReqFriends(usernameDest) refuseReqFriends(usernameDest)
} else if (cmd === shared_consts.FRIENDSCMD.CANCEL_REQ_FRIEND) { } else if (cmd === shared_consts.FRIENDSCMD.CANCEL_REQ_FRIEND) {

View File

@@ -45,6 +45,11 @@ export default defineComponent({
required: false, required: false,
default: false, default: false,
}, },
insertMode: {
type: Boolean,
required: false,
default: false,
},
canModify: { canModify: {
type: Boolean, type: Boolean,
required: false, required: false,

View File

@@ -7,12 +7,21 @@
<!-- Edit Value --> <!-- Edit Value -->
<div v-if="col.fieldtype === costanti.FieldType.boolean"> <div v-if="col.fieldtype === costanti.FieldType.boolean">
<div v-if="isInModif"> <div v-if="isInModif">
<q-checkbox <span v-if="insertMode">
v-model="myvalue" <q-checkbox
@update:model-value="changevalRec" v-model="myvalue"
:label="col.title"> @update:model-value="changevalRec"
</q-checkbox> :label="col.label">
<span v-html="visuValByType(myvalue, col, row)"></span> </q-checkbox>
</span>
<span v-else>
<q-checkbox
v-model="myvalue"
@update:model-value="changevalRec"
:label="col.title">
</q-checkbox>
<span v-html="visuValByType(myvalue, col, row)"></span>
</span>
</div> </div>
<div v-else> <div v-else>
<q-toggle <q-toggle
@@ -53,6 +62,7 @@
v-bind="$attrs" v-bind="$attrs"
v-model="myvalue" v-model="myvalue"
@update:model-value="Savedb" @update:model-value="Savedb"
:label="visulabel ? col.label : ''"
type="number" type="number"
autofocus> autofocus>
@@ -201,6 +211,9 @@
</div> </div>
<div v-else-if="col.fieldtype === costanti.FieldType.binary"> <div v-else-if="col.fieldtype === costanti.FieldType.binary">
<div v-if="isInModif"> <div v-if="isInModif">
<span v-if="insertMode">
{{col.label }}:
</span>
<CMyToggleList <CMyToggleList
:label="col.titlepopupedit" :label="col.titlepopupedit"
:options="globalStore.getTableJoinByName(col.jointable)" :options="globalStore.getTableJoinByName(col.jointable)"

View File

@@ -69,8 +69,8 @@
</q-page> </q-page>
</template> </template>
<script lang="ts" src="./home_pdnm.ts"> <script lang="ts" src="./home_insiemesipuo.ts">
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>
@import './home_pdnm.scss'; @import './home_insiemesipuo.scss';
</style> </style>

View File

@@ -21,18 +21,21 @@
</CVerifyTelegram> </CVerifyTelegram>
<div v-if="isUserOk()"> <div v-if="isUserOk()">
<div v-if="isUserOk()"> <CFinder>
<q-banner rounded class="bg-primary text-white">
<div class="text-h6 text-center"> </CFinder>
Ora Accedi al Bot Telegram <br>
per vedere tutti i Menu e le chat ! <q-banner rounded class="bg-primary text-white">
</div> <div class="text-h6 text-center">
<template v-slot:action> Accedi al Bot Telegram <br>
<q-btn icon="fab fa-telegram" flat color="white" label="Accedi al Bot Telegram" type="a" target="__blank" :href="getLinkBotTelegram()"/> per vedere tutti i Menu e le chat !
</template> </div>
</q-banner> <template v-slot:action>
</div> <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> </div>

View File

@@ -825,6 +825,7 @@ const msg_it = {
index: 'Posizione', index: 'Posizione',
riga: 'Riga', riga: 'Riga',
active: 'Attivo', active: 'Attivo',
main: 'Menu Principale',
lang: 'Lingua', lang: 'Lingua',
label: 'Etichetta', label: 'Etichetta',
type: 'Tipo', type: 'Tipo',

View File

@@ -152,7 +152,7 @@ export const colmybot = [
AddCol({ name: 'riga', label_trans: 'bot.riga', fieldtype: costanti.FieldType.number }), AddCol({ name: 'riga', label_trans: 'bot.riga', fieldtype: costanti.FieldType.number }),
AddCol({ name: 'index', label_trans: 'bot.index', fieldtype: costanti.FieldType.number }), AddCol({ name: 'index', label_trans: 'bot.index', fieldtype: costanti.FieldType.number }),
AddCol({ name: 'active', label_trans: 'bot.active', fieldtype: costanti.FieldType.boolean }), AddCol({ name: 'active', label_trans: 'bot.active', fieldtype: costanti.FieldType.boolean }),
AddCol({ name: 'lang', label_trans: 'bot.lang' }), AddCol({ name: 'lang', label_trans: 'bot.lang', fieldtype: costanti.FieldType.select, jointable: 'lang' }),
AddCol({ name: 'main', label_trans: 'bot.main', fieldtype: costanti.FieldType.boolean }), AddCol({ name: 'main', label_trans: 'bot.main', fieldtype: costanti.FieldType.boolean }),
AddCol({ name: 'label', label_trans: 'bot.label' }), AddCol({ name: 'label', label_trans: 'bot.label' }),
AddCol({ name: 'type', label_trans: 'bot.type', fieldtype: costanti.FieldType.select, jointable: 'bottype' }), AddCol({ name: 'type', label_trans: 'bot.type', fieldtype: costanti.FieldType.select, jointable: 'bottype' }),
@@ -1683,6 +1683,15 @@ export const fieldsTable = {
colicon: 'icon', colicon: 'icon',
noshow: true, noshow: true,
}, },
{
value: 'lang',
label: 'Lingua',
columns: colTablePermission,
colkey: 'value',
collabel: 'label',
colicon: 'icon',
noshow: true,
},
{ {
value: 'accepted', value: 'accepted',
label: 'Condizioni', label: 'Condizioni',

View File

@@ -2,7 +2,7 @@ import { translation } from '@store/Modules/translation'
import { import {
IColl, IColl,
ICollaborations, IDataToSet, ICollaborations, IDataToSet,
IEvents, IEvents, IFriends,
IListRoutes, IListRoutes,
IParamDialog, IParamDialog,
IPathFile, IPathFile,
@@ -4345,17 +4345,17 @@ export const tools = {
}, },
getColByLevel(level: number) { getColByLevel(level: number) {
let col = '' let col = ''
if (level === 0){ if (level === 0) {
col = 'grey-5' col = 'grey-5'
} else if (level === 1){ } else if (level === 1) {
col = 'red-5' col = 'red-5'
} else if (level === 2){ } else if (level === 2) {
col = 'orange-5' col = 'orange-5'
} else if (level === 3){ } else if (level === 3) {
col = 'yellow-5' col = 'yellow-5'
} else if (level === 4){ } else if (level === 4) {
col = 'blue-5' col = 'blue-5'
} else if (level === 5){ } else if (level === 5) {
col = 'green-5' col = 'green-5'
} }
return col return col
@@ -4377,7 +4377,7 @@ export const tools = {
return res.status !== PayloadMessageTypes.statusfound return res.status !== PayloadMessageTypes.statusfound
} }
return Axios.post(VALIDATE_USER_URL, {idapp: process.env.APP_ID, email, key: process.env.PAO_APP_ID}) return Axios.post(VALIDATE_USER_URL, { idapp: process.env.APP_ID, email, key: process.env.PAO_APP_ID })
.then(onSuccess) .then(onSuccess)
.catch((err) => { .catch((err) => {
return true return true
@@ -4386,10 +4386,73 @@ export const tools = {
}, },
isEmail(email: string) { isEmail(email: string) {
const res = /^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/; const res = /^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/
return res.test(String(email).toLowerCase()) return res.test(String(email).toLowerCase())
}, },
addToMyFriends($q: any, t: any, username: string, usernameDest: string) {
const userStore = useUserStore()
$q.dialog({
message: t('db.domanda_addtofriend', { 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.SETFRIEND, null)
.then((res: any) => {
if (res) {
userStore.my.profile.friends = [...userStore.my.profile.friends, res]
userStore.my.profile.req_friends = userStore.my.profile.req_friends.filter((rec: IFriends) => rec.username !== usernameDest)
tools.showPositiveNotif($q, t('db.addedfriend'))
}
})
})
},
setRequestFriendship($q: any, t: any, username: string, usernameDest: string, value: boolean) {
const userStore = useUserStore()
let msg = ''
if (value) {
msg = t('db.domanda_ask_friend', { username: usernameDest })
} else {
msg = t('db.domanda_revoke_friend', { username: usernameDest })
}
$q.dialog({
message: msg,
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.REQFRIEND, value)
.then((res: any) => {
if (res) {
if (value) {
// ADD to req Friends
userStore.my.profile.asked_friends.push(res)
tools.showPositiveNotif($q, t('db.askedtofriend', { username: usernameDest }))
} else {
// REMOVE to req Friends
userStore.my.profile.asked_friends = userStore.my.profile.asked_friends.filter((rec: IUserFields) => rec.username !== usernameDest)
tools.showPositiveNotif($q, t('db.revoketofriend', { username: usernameDest }))
}
} else {
tools.showNegativeNotif($q, t('db.recfailed'))
}
})
})
},
// getLocale() { // getLocale() {
// if (navigator.languages && navigator.languages.length > 0) { // if (navigator.languages && navigator.languages.length > 0) {

View File

@@ -1295,6 +1295,7 @@ export const useGlobalStore = defineStore('GlobalStore', {
if (table === 'metodo_pagamento') return tools.SelectMetodiPagamento if (table === 'metodo_pagamento') return tools.SelectMetodiPagamento
if (table === 'bottype') return shared_consts.BotType if (table === 'bottype') return shared_consts.BotType
if (table === 'visibility') return shared_consts.Visibility if (table === 'visibility') return shared_consts.Visibility
if (table === 'lang') return shared_consts.Lang
let myarr = this.getListByTable(table) let myarr = this.getListByTable(table)

View File

@@ -13,6 +13,7 @@ import { toolsext } from '@store/Modules/toolsext'
import { useQuasar } from 'quasar' import { useQuasar } from 'quasar'
import { costanti } from '@costanti' import { costanti } from '@costanti'
import { IUserFields } from 'model' import { IUserFields } from 'model'
import { shared_consts } from '@/common/shared_vuejs'
export default defineComponent({ export default defineComponent({
@@ -22,6 +23,7 @@ export default defineComponent({
setup() { setup() {
const userStore = useUserStore() const userStore = useUserStore()
const $route = useRoute() const $route = useRoute()
const $q = useQuasar()
const { t } = useI18n() const { t } = useI18n()
const username = computed(() => $route.params.username ? $route.params.username.toString() : userStore.my.username) const username = computed(() => $route.params.username ? $route.params.username.toString() : userStore.my.username)
@@ -82,12 +84,16 @@ export default defineComponent({
tools, tools,
costanti, costanti,
myuser, myuser,
shared_consts,
getImgUser, getImgUser,
checkifShow, checkifShow,
getLinkUserTelegram, getLinkUserTelegram,
filtroutente, filtroutente,
showPic, showPic,
myusername, myusername,
userStore,
$q,
t,
} }
} }
}) })

View File

@@ -22,6 +22,14 @@
v-if="myuser.profile.nationality">({{ myuser.profile.nationality }})</span> v-if="myuser.profile.nationality">({{ myuser.profile.nationality }})</span>
</div> </div>
<div>
<q-btn
v-if="!userStore.IsMyFriendByUsername(myuser.username)"
icon="fas fa-user-plus"
color="primary" :label="$t('friends.ask_friend')"
@click="tools.setRequestFriendship($q, t, userStore.my.username, myuser.username, true)"/>
</div>
<div class="col-12 text-h8 q-mt-sm"> <div class="col-12 text-h8 q-mt-sm">
{{ myuser.profile.biografia }} {{ myuser.profile.biografia }}
</div> </div>