vedere le Richieste di Fiducia solo se si è verificati Telegram
Corretto il mio account che doveva confermare in automatico... non lo faceva... "Riregistrarsi se l'invitante non ha ancora confermato l'invito. Annullo la richiesta precedente. (inviando un msg di annullamento. (Si è già registrato con un alto invito.)" CMyEditor: non posso andare in edit sul HTML (nella table) Aggiornare il msg di benvenuto ! (prendere da msgtemplate) Dal Profilo: è possibile inviarsi il messaggio da condividere agli Amici Visualizzare la data d'inserimento dell'annuncio e l'ultima modifica fatta Link alla pagina di un Evento o Bene o Servizio ! Se aggiornamento: mettere messaggio che dice di chiudere e riaprire per aggiornare. Quando un utente chiede di entrare nel Gruppo, mettere l'abilitazione anche su Telegram. (e correggere il msg)
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
APP_VERSION="0.3.5"
|
||||
APP_VERSION="0.3.6"
|
||||
SERVICE_WORKER_FILE="service-worker.js"
|
||||
APP_ID="13"
|
||||
DIRECTORY_LOCAL="newfreeplanet"
|
||||
@@ -11,7 +11,7 @@ PROVA_PAOLO="PROVA ENV FUNZIONA!"
|
||||
LANG_DEFAULT="it"
|
||||
PAO_APP_ID="KKPPAA5KJK435J3KSS9F9D8S9F8SD98F9SDF"
|
||||
MASTER_KEY="KKPPSS5KJK435J3KSS9F9D8S9F8SD3CR3T"
|
||||
MONGODB_HOST="http://192.168.0.200:3000"
|
||||
MONGODB_HOST="http://localhost:3000"
|
||||
LOGO_REG='riso-logo-full.png'
|
||||
TEST_NAME="Paolo"
|
||||
TEST_SURNAME="Arena"
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
APP_VERSION="0.3.5"
|
||||
APP_VERSION="0.3.6"
|
||||
SERVICE_WORKER_FILE="service-worker.js"
|
||||
APP_ID="13"
|
||||
DIRECTORY_LOCAL="newfreeplanet"
|
||||
|
||||
@@ -26,6 +26,7 @@ const msg_website_enUs = {
|
||||
profile2: 'ProfiloU',
|
||||
mypage2: 'mypage2',
|
||||
myservice2: 'myservice2',
|
||||
mygood2: 'mygood2',
|
||||
test: 'Test',
|
||||
projects: 'Progetti',
|
||||
report: 'Report Ore',
|
||||
|
||||
@@ -25,6 +25,7 @@ const msg_website_it = {
|
||||
profile2: 'ProfiloU',
|
||||
mypage2: 'mypage2',
|
||||
myservice2: 'myservice2',
|
||||
mygood2: 'mygood2',
|
||||
test: 'Test',
|
||||
projects: 'Progetti',
|
||||
report: 'Report Ore',
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
APP_VERSION="0.3.5"
|
||||
APP_VERSION="0.3.6"
|
||||
SERVICE_WORKER_FILE="service-worker.js"
|
||||
APP_ID="12"
|
||||
DIRECTORY_LOCAL="newfreeplanet"
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
APP_VERSION="0.3.5"
|
||||
APP_VERSION="0.3.6"
|
||||
SERVICE_WORKER_FILE="service-worker.js"
|
||||
APP_ID="13"
|
||||
DIRECTORY_LOCAL="newfreeplanet"
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
APP_VERSION="0.3.5"
|
||||
APP_VERSION="0.3.6"
|
||||
SERVICE_WORKER_FILE="service-worker.js"
|
||||
APP_ID="13"
|
||||
DIRECTORY_LOCAL=newfreeplanet
|
||||
|
||||
@@ -26,6 +26,7 @@ const msg_website_es = {
|
||||
profile2: 'ProfiloU',
|
||||
mypage2: 'mypage2',
|
||||
myservice2: 'myservice2',
|
||||
mygood2: 'mygood2',
|
||||
test: 'Test',
|
||||
projects: 'Progetti',
|
||||
report: 'Report Ore',
|
||||
|
||||
@@ -25,6 +25,7 @@ const msg_website_it = {
|
||||
profile2: 'ProfiloU',
|
||||
mypage2: 'mypage2',
|
||||
myservice2: 'myservice2',
|
||||
mygood2: 'mygood2',
|
||||
test: 'Test',
|
||||
projects: 'Progetti',
|
||||
report: 'Report Ore',
|
||||
|
||||
@@ -79,6 +79,9 @@ module.exports = {
|
||||
SEND_TO_CONSIGLIO: 5,
|
||||
SEND_TO_NON_SOCI: 10,
|
||||
SEND_TO_PAOLO: 20,
|
||||
SEND_TO_USER: 25,
|
||||
SEND_TO_GROUP: 30,
|
||||
SEND_TO_MYSELF: 40,
|
||||
},
|
||||
|
||||
TypeMsg_Actions: {
|
||||
@@ -116,6 +119,19 @@ module.exports = {
|
||||
CANCELED: 10,
|
||||
},
|
||||
|
||||
MsgTeleg: {
|
||||
SHARE_MSGREG: 1
|
||||
},
|
||||
|
||||
TypeMsgTemplate: {
|
||||
MSG_BENVENUTO_SHARE_LINK: 2000
|
||||
},
|
||||
|
||||
TypeSend: {
|
||||
PUSH_NOTIFICATION: 1,
|
||||
TELEGRAM: 2,
|
||||
},
|
||||
|
||||
fieldsUserToChange() {
|
||||
return ['_id', 'index', 'username', 'email', 'name', 'surname', 'perm', 'date_reg', 'verified_email', 'notask_verif', 'verified_by_aportador', 'ipaddr', 'lasttimeonline', 'profile', 'calcstat', 'news_on', 'aportador_solidario', 'made_gift', 'ind_order', 'old_order', 'numinvitati', 'numinvitatiattivi', 'qualified']
|
||||
},
|
||||
|
||||
@@ -39,6 +39,7 @@ export const shared_consts = {
|
||||
FILTER_MISSING_PAYMENT: 262144,
|
||||
FILTER_TO_MAKE_MEMBERSHIP_CARD: 524288,
|
||||
FILTER_MEMBERSHIP_CARD_OK: 1048576,
|
||||
FILTER_USER_NO_VERIFIED_APORTADOR: 2097152,
|
||||
|
||||
OPTIONS_SEARCH_ONLY_FULL_WORDS: 1,
|
||||
OPTIONS_SEARCH_USER_ONLY_FULL_WORDS: 2,
|
||||
@@ -94,7 +95,7 @@ export const shared_consts = {
|
||||
TABLES_WITH_DATE: ['mybachecas'],
|
||||
TABLES_WITH_SORTING: ['mybachecas'],
|
||||
TABLES_PERM_NEWREC: ['skills', 'goods', 'subskills', 'mygroups'],
|
||||
TABLES_REC_ID: ['skills', 'goods', 'subskills'],
|
||||
TABLES_REC_ID: ['skills', 'goods', 'subskills', 'myskills', 'mybachecas', 'mygoods'],
|
||||
|
||||
// costanti.VISUTABLE_SCHEDA_USER, VISUTABLE_SCHEDA_GROUP, VISUTABLE_USER_TABGROUP
|
||||
VERTIC_SHOW_GRID: [-1, 2, -3, -4],
|
||||
@@ -667,12 +668,19 @@ export const shared_consts = {
|
||||
Notify_ByPushNotification: 4,
|
||||
},
|
||||
|
||||
CmdToSend: {
|
||||
SHARE_MSGREG: 1,
|
||||
},
|
||||
|
||||
TypeMsg: {
|
||||
SEND_TO_ALL: 1,
|
||||
SEND_TO_SOCI: 2,
|
||||
SEND_TO_SOCIO_RESIDENTE: 3,
|
||||
SEND_TO_NON_SOCI: 10,
|
||||
SEND_TO_PAOLO: 20,
|
||||
SEND_TO_USER: 25,
|
||||
SEND_TO_GROUP: 30,
|
||||
SEND_TO_MYSELF: 40,
|
||||
},
|
||||
|
||||
TypeMsg_Actions: {
|
||||
@@ -787,6 +795,19 @@ export const shared_consts = {
|
||||
Need_Aportador_On_DataReg_To_Verify_Reg: 4,
|
||||
},
|
||||
|
||||
MsgTeleg: {
|
||||
SHARE_MSGREG: 1
|
||||
},
|
||||
|
||||
TypeMsgTemplate: {
|
||||
MSG_BENVENUTO: 2010,
|
||||
MS_SHARE_LINK: 2000
|
||||
},
|
||||
|
||||
TypeSend: {
|
||||
PUSH_NOTIFICATION: 1,
|
||||
TELEGRAM: 2,
|
||||
},
|
||||
|
||||
getStatusStr(status: number) {
|
||||
const trovatorec = this.OrderStatusStr.find((rec) => rec.value === status)
|
||||
|
||||
@@ -13,7 +13,7 @@
|
||||
<p v-if="globalStore.serverMsgError" class="errore">{{globalStore.getMsgServerError()}}</p>
|
||||
<p v-if="tools.isCurrentUrlSignUp() && globalStore.isErroreDispositivoServer()" class="errore">Se l'Errore persiste, significa che questo browser non riesce a collegarsi col Server.<br>
|
||||
Soluzione: Provare ad installare un altro browser:<br>
|
||||
👉🏻 Clicca per installare <a href="https://play.google.com/store/apps/details?id=com.opera.browser&hl=it&gl=IT">Opera per Android</a>. </p>
|
||||
👉🏻 Clicca per installare <a href="https://download.opera.com/download/get/?partner=www¬hanks=yes&product=Android">Opera per Android</a>. </p>
|
||||
|
||||
<q-btn
|
||||
size="md"
|
||||
|
||||
@@ -34,7 +34,12 @@ export default defineComponent({
|
||||
type: Number,
|
||||
required: false,
|
||||
default: 0
|
||||
}
|
||||
},
|
||||
nopopup: {
|
||||
type: Boolean,
|
||||
required: false,
|
||||
default: false
|
||||
},
|
||||
},
|
||||
setup(props) {
|
||||
|
||||
@@ -45,7 +50,7 @@ export default defineComponent({
|
||||
|
||||
const showPic = ref(false)
|
||||
|
||||
const myrec = ref({})
|
||||
const myrec = ref(<any>{})
|
||||
const col = ref(<IColGridTable>{})
|
||||
|
||||
function profile() {
|
||||
@@ -74,6 +79,10 @@ export default defineComponent({
|
||||
load()
|
||||
}
|
||||
|
||||
function condividipag() {
|
||||
return tools.copyStringToClipboard($q, self.location.host + tools.getPathByTable(props.table, myrec.value._id), true)
|
||||
}
|
||||
|
||||
onMounted(mounted)
|
||||
|
||||
return {
|
||||
@@ -90,6 +99,7 @@ export default defineComponent({
|
||||
colCitys,
|
||||
toolsext,
|
||||
col,
|
||||
condividipag,
|
||||
}
|
||||
}
|
||||
})
|
||||
|
||||
@@ -1,14 +1,16 @@
|
||||
<template>
|
||||
|
||||
<q-card class="dialog_card q-mb-lg" v-if="myrec">
|
||||
<q-card class="dialog_card q-mb-lg" v-if="myrec._id">
|
||||
|
||||
<q-footer
|
||||
v-if="!nopopup"
|
||||
class="bg-white small-screen-only text-center"
|
||||
bordered
|
||||
>
|
||||
<q-btn push rounded color="primary" icon="close" label="Chiudi" v-close-popup></q-btn>
|
||||
|
||||
</q-footer>
|
||||
<q-bar dense class="bg-primary text-white">
|
||||
<q-bar v-if="!nopopup" dense class="bg-primary text-white">
|
||||
{{ myrec.username }}
|
||||
<q-space/>
|
||||
<q-btn flat round color="white" icon="close" v-close-popup></q-btn>
|
||||
@@ -77,6 +79,36 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<br>
|
||||
<div v-if="myrec.date_created" class="row justify-center">
|
||||
<span class="cal__where-title"> {{ $t('reg.pub_created') }}:</span>
|
||||
<span v-html="tools.getstrDate(myrec.date_created)"></span>
|
||||
</div>
|
||||
<div v-if="tools.getstrDate(myrec.date_updated) !== tools.getstrDate(myrec.date_created)" class="row justify-center">
|
||||
<span class="cal__where-title"> {{ $t('reg.pub_updated') }}:</span>
|
||||
<span v-html="tools.getstrDate(myrec.date_updated)"></span>
|
||||
</div>
|
||||
|
||||
|
||||
<div v-if="!nopopup"
|
||||
class="row q-ma-sm q-pa-sm justify-center">
|
||||
<div class="q-ma-sm">
|
||||
<q-btn
|
||||
icon="far fa-file-alt" label="Apri Pagina" color="primary" text-color="white"
|
||||
:to="tools.getToByCol(col, table, myrec)"
|
||||
/>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div v-if="myrec._id"
|
||||
class="row q-ma-sm q-pa-sm justify-center">
|
||||
<div class="q-ma-sm">
|
||||
<q-btn
|
||||
color="primary" text-color="white" icon="fas fa-copy" label="Condividi Pagina"
|
||||
@click="condividipag"></q-btn>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<br><br>
|
||||
</q-card-section>
|
||||
|
||||
|
||||
@@ -523,7 +523,7 @@
|
||||
</div>
|
||||
</div>
|
||||
<div v-else>
|
||||
<!--
|
||||
|
||||
<div class="row justify-evenly">
|
||||
<q-btn
|
||||
v-if="myvalue"
|
||||
@@ -540,8 +540,8 @@
|
||||
>
|
||||
</q-btn>
|
||||
</div>
|
||||
-->
|
||||
<!--<div v-html="visuValByType(myvalue, col, row)" @click="visueditor = true"></div>-->
|
||||
|
||||
<div v-html="visuValByType(myvalue, col, row)" @click="visueditor = true"></div>
|
||||
|
||||
<div v-if="!isFieldDb()">
|
||||
<q-dialog v-model="visuhtml" full-height full-width>
|
||||
|
||||
@@ -25,6 +25,8 @@
|
||||
:label="`Profilo di ` + tools.getAportadorSolidario()">
|
||||
</q-btn>
|
||||
|
||||
|
||||
|
||||
</q-banner>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -26,6 +26,7 @@ const msg_website_es = {
|
||||
profile2: 'ProfiloU',
|
||||
mypage2: 'mypage2',
|
||||
myservice2: 'myservice2',
|
||||
mygood2: 'mygood2',
|
||||
test: 'Test',
|
||||
projects: 'Progetti',
|
||||
report: 'Report Ore',
|
||||
|
||||
@@ -25,6 +25,7 @@ const msg_website_it = {
|
||||
profile2: 'ProfiloU',
|
||||
mypage2: 'mypage2',
|
||||
myservice2: 'myservice2',
|
||||
mygood2: 'mygood2',
|
||||
test: 'Test',
|
||||
projects: 'Progetti',
|
||||
report: 'Report Ore',
|
||||
|
||||
@@ -525,6 +525,17 @@ const baseroutes: IListRoutes[] = [
|
||||
inmenu: false,
|
||||
infooter: false,
|
||||
},
|
||||
{
|
||||
active: true,
|
||||
order: 132,
|
||||
path: '/mygood/:idGood',
|
||||
materialIcon: '',
|
||||
name: 'pages.mygood2',
|
||||
component: () => import('@/views/user/mypagegood/mypagegood.vue'),
|
||||
meta: { requiresAuth: true },
|
||||
inmenu: false,
|
||||
infooter: false,
|
||||
},
|
||||
{
|
||||
active: true,
|
||||
order: 400,
|
||||
|
||||
@@ -612,6 +612,22 @@ export interface IDataPass {
|
||||
fieldsvalue: any
|
||||
}
|
||||
|
||||
export interface IMsgGlobParam {
|
||||
typemsg: number,
|
||||
title?: string,
|
||||
content?: string,
|
||||
openUrl?: string,
|
||||
openUrl2?: string,
|
||||
tag?: string,
|
||||
actions?: any[],
|
||||
cmd?: number
|
||||
usernameOrig?: string
|
||||
usernameDest?: string
|
||||
groupnameDest?: string
|
||||
text?: string
|
||||
typesend: number
|
||||
}
|
||||
|
||||
export interface IDataToSet {
|
||||
id?: string | null
|
||||
username?: string
|
||||
|
||||
@@ -18,6 +18,7 @@ import { useUserStore } from '@store/UserStore'
|
||||
import { static_data } from '@/db/static_data'
|
||||
import MixinBase from '@/mixins/mixin-base'
|
||||
import MixinUsers from '@/mixins/mixin-users'
|
||||
import { shared_consts } from '@/common/shared_vuejs'
|
||||
|
||||
|
||||
export default defineComponent({
|
||||
@@ -35,6 +36,8 @@ export default defineComponent({
|
||||
static_data,
|
||||
getRefLink,
|
||||
userStore,
|
||||
shared_consts,
|
||||
globalStore,
|
||||
}
|
||||
},
|
||||
})
|
||||
|
||||
@@ -11,6 +11,20 @@
|
||||
|
||||
<!--<CMapsEsempio></CMapsEsempio>-->
|
||||
|
||||
<q-banner
|
||||
v-if="globalStore.isNewVersionAvailable"
|
||||
rounded
|
||||
dense
|
||||
class="bg-green text-white"
|
||||
color="primary q-title"
|
||||
style="text-align: center;">
|
||||
<template v-slot:avatar>
|
||||
<q-icon name="fas fa-exclamation-triangle" color="yellow" size="xs" />
|
||||
</template>
|
||||
<span class="mybanner">Per Aggiornare alla nuova versione, chiudere e riaprire la APP (o il browser)</span>
|
||||
|
||||
</q-banner>
|
||||
|
||||
<q-banner
|
||||
v-if="tools.isTest()"
|
||||
rounded
|
||||
@@ -34,9 +48,20 @@
|
||||
|
||||
<CDashboard></CDashboard>
|
||||
|
||||
<CCopyBtn v-if="userStore.my.username" :title="$t('reg.link_reg')" :texttocopy="getRefLink(userStore.my.username)">
|
||||
<div class="row justify-evenly items-center q-pa-sm q-ma-sm">
|
||||
<q-btn
|
||||
icon="fas fa-share-alt"
|
||||
color="blue" type="a"
|
||||
size="md"
|
||||
rounded
|
||||
:label="$t('reg.link_reg_and_msg')"
|
||||
@click="tools.sendMsgTelegramCmd($q, $t, shared_consts.MsgTeleg.SHARE_MSGREG)">
|
||||
</q-btn>
|
||||
</div>
|
||||
|
||||
</CCopyBtn>
|
||||
<!--<CCopyBtn v-if="userStore.my.username" :title="$t('reg.link_reg')" :texttocopy="getRefLink(userStore.my.username)">
|
||||
|
||||
</CCopyBtn>-->
|
||||
|
||||
<CStatusReg>
|
||||
|
||||
|
||||
@@ -8,6 +8,7 @@ import { useI18n } from '@src/boot/i18n'
|
||||
import { useUserStore } from '@store/UserStore'
|
||||
import { useGlobalStore } from '@store/globalStore'
|
||||
import { useQuasar } from 'quasar'
|
||||
import { IMsgGlobParam } from 'model'
|
||||
|
||||
export default defineComponent({
|
||||
name: 'Sendpushnotif',
|
||||
@@ -66,24 +67,16 @@ export default defineComponent({
|
||||
}
|
||||
|
||||
function SendMsgToParam(typemsg: any) {
|
||||
interface IPushParam {
|
||||
typemsg: string,
|
||||
title: string,
|
||||
content: string,
|
||||
openUrl: string,
|
||||
openUrl2: string,
|
||||
tag: string,
|
||||
actions: any[],
|
||||
}
|
||||
|
||||
let param: IPushParam = {
|
||||
let param: IMsgGlobParam = {
|
||||
typemsg,
|
||||
title: title.value,
|
||||
content: content.value,
|
||||
openUrl: openUrl.value,
|
||||
openUrl2: openUrl2.value,
|
||||
tag: tag.value,
|
||||
actions: []
|
||||
actions: [],
|
||||
typesend: shared_consts.TypeSend.PUSH_NOTIFICATION
|
||||
}
|
||||
|
||||
param.actions = []
|
||||
|
||||
@@ -30,6 +30,10 @@ export default defineComponent({
|
||||
label: 'Non hanno l\'Invitante',
|
||||
value: shared_consts.FILTER_USER_NO_INVITANTE
|
||||
},
|
||||
{
|
||||
label: 'Non sono stati Approvati dall\'Invitante',
|
||||
value: shared_consts.FILTER_USER_NO_VERIFIED_APORTADOR
|
||||
},
|
||||
{
|
||||
label: 'No Telegram ID',
|
||||
value: shared_consts.FILTER_USER_NO_TELEGRAM_ID
|
||||
|
||||
@@ -306,6 +306,8 @@ const msg_de = {
|
||||
booked_error: 'Reservation failed. Try again later',
|
||||
sendmsg_error: 'Message not sent. Try again later',
|
||||
sendmsg_sent: 'Message sent',
|
||||
sendmsg_sent_sharedlink: 'Il Messaggio da inviare lo trovi nella Chat Telegram',
|
||||
sendmsgs_sent: 'Messages sent',
|
||||
booking: 'Book the Event',
|
||||
titlebooking: 'Reservation',
|
||||
modifybooking: 'Modify Reservation',
|
||||
|
||||
@@ -383,8 +383,8 @@ const msg_enUs = {
|
||||
invitante_regalato: 'Inviting Given',
|
||||
legenda: 'Legend',
|
||||
aportador_solidario: 'Solidarity Contributor',
|
||||
verified_by_aportador: 'Verificato dall\'Invitante',
|
||||
notAsk_ToVerify: 'Non chiedere la verifica Registrazione',
|
||||
verified_by_aportador: 'Verificato',
|
||||
notAsk_ToVerify: 'No Verif. Reg',
|
||||
trust_modified: 'Fiducia Modificata',
|
||||
blocked: 'Bloccato',
|
||||
username_who_block: 'Bloccato da',
|
||||
@@ -498,6 +498,8 @@ const msg_enUs = {
|
||||
image: 'Immagine',
|
||||
date: 'Data',
|
||||
date_created: 'Creato il',
|
||||
pub_created: 'Pubblicato il',
|
||||
pub_updated: 'Aggiornato il',
|
||||
options: 'Opzioni',
|
||||
link_telegram: 'Link al Canale/Gruppo Telegram',
|
||||
err: {
|
||||
@@ -648,6 +650,8 @@ const msg_enUs = {
|
||||
booked_error: 'Reservation failed. Try again later',
|
||||
sendmsg_error: 'Message not sent. Try again later',
|
||||
sendmsg_sent: 'Message sent',
|
||||
sendmsg_sent_sharedlink: 'Il Messaggio da inviare lo trovi nella Chat Telegram',
|
||||
sendmsgs_sent: 'Messages sent',
|
||||
booking: 'Book the Event',
|
||||
titlebooking: 'Reservation',
|
||||
modifybooking: 'Modify Reservation',
|
||||
|
||||
@@ -353,8 +353,8 @@ const msg_es = {
|
||||
invitante_regalato: 'Invitando Regalato',
|
||||
legenda: 'Legenda',
|
||||
aportador_solidario: 'Aportador Solidario',
|
||||
verified_by_aportador: 'Verificato dall\'Invitante',
|
||||
notAsk_ToVerify: 'Non chiedere la verifica Registrazione',
|
||||
verified_by_aportador: 'Verificato',
|
||||
notAsk_ToVerify: 'No Verif. Reg',
|
||||
trust_modified: 'Fiducia Modificata',
|
||||
blocked: 'Bloccato',
|
||||
username_who_block: 'Bloccato da',
|
||||
@@ -399,7 +399,6 @@ const msg_es = {
|
||||
select: 'selecciona',
|
||||
img: 'File image',
|
||||
date_reg: 'Fecha Reg.',
|
||||
deleted: 'Cancellato',
|
||||
requirement: 'Requisitos',
|
||||
perm: 'Permisos',
|
||||
elimina: 'Elimina',
|
||||
@@ -466,6 +465,8 @@ const msg_es = {
|
||||
image: 'Immagine',
|
||||
date: 'Data',
|
||||
date_created: 'Creato il',
|
||||
pub_created: 'Pubblicato il',
|
||||
pub_updated: 'Aggiornato il',
|
||||
options: 'Opzioni',
|
||||
link_telegram: 'Link al Canale/Gruppo Telegram',
|
||||
err: {
|
||||
@@ -601,6 +602,8 @@ const msg_es = {
|
||||
booked_error: 'Reserva fallida. Intenta nuevamente más tarde',
|
||||
sendmsg_error: 'Mensaje no enviado Intenta nuevamente más tarde',
|
||||
sendmsg_sent: 'Mensaje enviado',
|
||||
sendmsgs_sent: 'Mensajes enviados',
|
||||
sendmsg_sent_sharedlink: 'Il Messaggio da inviare lo trovi nella Chat Telegram',
|
||||
booking: 'Reserva Evento',
|
||||
titlebooking: 'Reserva',
|
||||
modifybooking: 'Edita Reserva',
|
||||
|
||||
@@ -505,6 +505,8 @@ const msg_fr = {
|
||||
booked_error: 'La réservation a échoué. Réessayez plus tard',
|
||||
sendmsg_error: 'Message non envoyé. Réessayez plus tard',
|
||||
sendmsg_sent: 'Message envoyé',
|
||||
sendmsgs_sent: 'Messages envoyé',
|
||||
sendmsg_sent_sharedlink: 'Il Messaggio da inviare lo trovi nella Chat Telegram',
|
||||
booking: 'Réserver l\'événement',
|
||||
titlebooking: 'Réservation',
|
||||
modifybooking: 'changement de réservation',
|
||||
|
||||
@@ -87,8 +87,8 @@ const msg_it = {
|
||||
email_not_verif: 'Email non Verificate',
|
||||
telegram_non_attivi: 'Telegram Non Attivi',
|
||||
telegram_pendenti: 'Telegram Pendenti',
|
||||
reg_daily: 'Registrazioni Giornaliere',
|
||||
reg_weekly: 'Registrazioni Settimanali',
|
||||
reg_daily: 'Registrazioni',
|
||||
reg_weekly: 'Settimanali',
|
||||
reg_total: 'Registrazioni Totali',
|
||||
},
|
||||
steps: {
|
||||
@@ -396,8 +396,8 @@ const msg_it = {
|
||||
invitante_regalato: 'Invitante Regalato',
|
||||
legenda: 'Legenda',
|
||||
aportador_solidario: 'Chi ti ha Invitato',
|
||||
verified_by_aportador: 'Verificato dall\'Invitante',
|
||||
notAsk_ToVerify: 'Non chiedere la verifica Registrazione',
|
||||
verified_by_aportador: 'Verificato',
|
||||
notAsk_ToVerify: 'No Verif. Reg',
|
||||
trust_modified: 'Fiducia Modificata',
|
||||
blocked: 'Bloccato',
|
||||
username_who_block: 'Bloccato da',
|
||||
@@ -437,6 +437,7 @@ const msg_it = {
|
||||
teleg_auth: 'Codice Autorizzazione',
|
||||
click_per_copiare: 'Cliccaci sopra per copiarlo sugli appunti',
|
||||
link_reg: 'Clicca per copiare il link da condividere agli Amici',
|
||||
link_reg_and_msg: 'Condividi Link ad Amici',
|
||||
copia_messaggio: 'Copia Messaggio',
|
||||
teleg_torna_sul_bot: '1) Copia il codice cliccando sul bottone qui sopra<br>2) torna su {botname} cliccando qui sotto 👇 ed incolla (o scrivi) il codice',
|
||||
teleg_checkcode: 'Codice Telegram',
|
||||
@@ -516,6 +517,8 @@ const msg_it = {
|
||||
image: 'Immagine',
|
||||
date: 'Data',
|
||||
date_created: 'Creato il',
|
||||
pub_created: 'Pubblicato il',
|
||||
pub_updated: 'Aggiornato il',
|
||||
options: 'Opzioni',
|
||||
link_telegram: 'Link al Canale/Gruppo Telegram',
|
||||
err: {
|
||||
@@ -669,6 +672,9 @@ const msg_it = {
|
||||
booked_error: 'Prenotazione non avvenuta. Riprovare più tardi',
|
||||
sendmsg_error: 'Messaggio non inviato. Riprovare più tardi',
|
||||
sendmsg_sent: 'Messaggio Inviato',
|
||||
sendmsg_sent_sharedlink: 'Il Messaggio da inviare lo trovi nella Chat Telegram',
|
||||
sendmsgs_sent: 'Messaggi Inviati',
|
||||
err_sendmsg: 'Errore durante l\'invio del Messaggio',
|
||||
booking: 'Prenota Evento',
|
||||
titlebooking: 'Prenotazione',
|
||||
modifybooking: 'Modifica Prenotazione',
|
||||
|
||||
@@ -516,6 +516,8 @@ const msg_pt = {
|
||||
booked_error: 'Prenotazione non avvenuta. Riprovare più tardi',
|
||||
sendmsg_error: 'Messaggio non inviato. Riprovare più tardi',
|
||||
sendmsg_sent: 'Messaggio Inviato',
|
||||
sendmsg_sent_sharedlink: 'Il Messaggio da inviare lo trovi nella Chat Telegram',
|
||||
sendmsgs_sent: 'Messaggi Inviati',
|
||||
booking: 'Prenota Evento',
|
||||
titlebooking: 'Prenotazione',
|
||||
modifybooking: 'Modifica Prenotazione',
|
||||
|
||||
@@ -465,6 +465,8 @@ const msg_si = {
|
||||
booked_error: 'Rezervacija ni možna. Poskusi kasneje.',
|
||||
sendmsg_error: 'Sporočilo ni bilo poslano. Poskusi kasneje.',
|
||||
sendmsg_sent: 'Sporočilo Poslano',
|
||||
sendmsg_sent_sharedlink: 'Il Messaggio da inviare lo trovi nella Chat Telegram',
|
||||
sendmsgs_sent: 'Messaggi Inviati',
|
||||
booking: 'Rezerviraj Dogodek',
|
||||
titlebooking: 'Rezervacija',
|
||||
modifybooking: 'Popravilo rezervacije',
|
||||
|
||||
@@ -130,6 +130,7 @@ export const costanti = {
|
||||
visible: false,
|
||||
title: 'Gruppi',
|
||||
to: '',
|
||||
table: 'mygroups',
|
||||
icon: 'fas fa-users',
|
||||
color: 'blue-6',
|
||||
hint: '',
|
||||
|
||||
@@ -573,7 +573,12 @@ export const colmyUserGroup = [
|
||||
jointable: 'friendsandme',
|
||||
field_outtype: costanti.FieldType.object,
|
||||
}),
|
||||
AddCol({ name: 'date_created', label_trans: 'event.dateCreated', fieldtype: costanti.FieldType.onlydate,
|
||||
AddCol({ name: 'date_created', label_trans: 'reg.pub_created', fieldtype: costanti.FieldType.onlydate,
|
||||
required: false,
|
||||
visible: false,
|
||||
sortable: true,
|
||||
showWhen: 0}),
|
||||
AddCol({ name: 'date_updated', label_trans: 'reg.pub_updated', fieldtype: costanti.FieldType.onlydate,
|
||||
required: false,
|
||||
visible: false,
|
||||
sortable: true,
|
||||
|
||||
@@ -12,7 +12,7 @@ import {
|
||||
ITodo,
|
||||
IUserFields,
|
||||
Privacy,
|
||||
TipoVisu, IGroup, IMySkill, IMyBacheca, IImgGallery,
|
||||
TipoVisu, IGroup, IMySkill, IMyBacheca, IImgGallery, IMsgGlobParam,
|
||||
} from '@model'
|
||||
|
||||
import { addToDate } from '@quasar/quasar-ui-qcalendar'
|
||||
@@ -5167,6 +5167,8 @@ export const tools = {
|
||||
return 'myservice'
|
||||
} else if (table === toolsext.TABMYBACHECAS) {
|
||||
return 'mypage'
|
||||
} else if (table === toolsext.TABMYGOODS) {
|
||||
return 'mygood'
|
||||
} else if (table === toolsext.TABMYGROUPS) {
|
||||
return 'grp'
|
||||
}
|
||||
@@ -5231,6 +5233,10 @@ export const tools = {
|
||||
return '/' + tools.getDirectoryByTable(table) + '/' + grp.groupname
|
||||
},
|
||||
|
||||
getPathByTable(table: string, pagename: string) {
|
||||
return '/' + tools.getDirectoryByTable(table) + '/' + pagename
|
||||
},
|
||||
|
||||
getAportadorSolidario() {
|
||||
const userStore = useUserStore()
|
||||
return userStore.my ? userStore.my.aportador_solidario : ''
|
||||
@@ -5264,6 +5270,28 @@ export const tools = {
|
||||
return window.location.pathname.indexOf('signup') >= 0
|
||||
},
|
||||
|
||||
async sendMsgTelegram($q: any, $t: any, mydata: IMsgGlobParam) {
|
||||
const userStore = useUserStore()
|
||||
|
||||
return userStore.sendMsgToBotTelegram($q, $t, mydata)
|
||||
},
|
||||
|
||||
async sendMsgTelegramCmd($q: any, $t: any, cmd: number) {
|
||||
|
||||
let mydata: IMsgGlobParam = {
|
||||
typemsg: 0,
|
||||
typesend: shared_consts.TypeSend.TELEGRAM,
|
||||
cmd,
|
||||
}
|
||||
|
||||
if (cmd === shared_consts.CmdToSend.SHARE_MSGREG) {
|
||||
mydata.typemsg = shared_consts.TypeMsg.SEND_TO_MYSELF
|
||||
}
|
||||
|
||||
return this.sendMsgTelegram($q, $t, mydata)
|
||||
|
||||
},
|
||||
|
||||
|
||||
// getLocale() {
|
||||
// if (navigator.languages && navigator.languages.length > 0) {
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
import { defineStore } from 'pinia'
|
||||
|
||||
import {
|
||||
IFriends,
|
||||
IFriends, IMsgGlobParam,
|
||||
ISigninOptions,
|
||||
ISignupOptions, IUserFields, IUserProfile, IUserState,
|
||||
} from '@src/model'
|
||||
@@ -880,7 +880,17 @@ export const useUserStore = defineStore('UserStore', {
|
||||
verified_by_aportador,
|
||||
made_gift,
|
||||
perm,
|
||||
profile: { img, teleg_id, myshares: [], friends: [], req_friends: [], asked_friends: [], mygroups: [], asked_groups: [], manage_mygroups: [] },
|
||||
profile: {
|
||||
img,
|
||||
teleg_id,
|
||||
myshares: [],
|
||||
friends: [],
|
||||
req_friends: [],
|
||||
asked_friends: [],
|
||||
mygroups: [],
|
||||
asked_groups: [],
|
||||
manage_mygroups: []
|
||||
},
|
||||
})
|
||||
|
||||
isLogged = true
|
||||
@@ -1004,6 +1014,25 @@ export const useUserStore = defineStore('UserStore', {
|
||||
|
||||
},
|
||||
|
||||
async sendMsgToBotTelegram($q: any, t: any, mydata: IMsgGlobParam) {
|
||||
return Api.SendReq('/users/mgt', 'POST', { mydata })
|
||||
.then((res) => {
|
||||
console.log('res', res)
|
||||
let msgok = (res.data.nummsgsent === 1) ? res.data.nummsgsent + ' ' + t('cal.sendmsg_sent') : res.data.nummsgsent + ' ' + t('cal.sendmsgs_sent')
|
||||
if (mydata.cmd === shared_consts.MsgTeleg.SHARE_MSGREG) {
|
||||
msgok = t('cal.sendmsg_sent_sharedlink') + ' ' + tools.getBotName()
|
||||
}
|
||||
if (res.data.nummsgsent >= 0) {
|
||||
tools.showPositiveNotif($q, msgok)
|
||||
return true
|
||||
}
|
||||
return false
|
||||
}).catch((error) => {
|
||||
tools.showNegativeNotif($q, t('cal.err_sendmsg'))
|
||||
return {}
|
||||
})
|
||||
},
|
||||
|
||||
async importToServerCmd($q: any, t: any, cmd: number, data: any) {
|
||||
return Api.SendReq('/admin/import', 'POST', { cmd, data })
|
||||
.then((res) => {
|
||||
|
||||
@@ -128,11 +128,11 @@ export default defineComponent({
|
||||
}
|
||||
|
||||
function extraparams() {
|
||||
let lk_tab = ''
|
||||
let lk_LF = ''
|
||||
let lk_FF = ''
|
||||
let lk_as = ''
|
||||
let af_objId_tab = ''
|
||||
let lk_tab = 'users'
|
||||
let lk_LF = 'userId'
|
||||
let lk_FF = '_id'
|
||||
let lk_as = 'user'
|
||||
let af_objId_tab = 'myId'
|
||||
|
||||
return {
|
||||
lookup1: {
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
<template>
|
||||
<CMyPage title="Pagina:"
|
||||
<CMyPage title="Evento"
|
||||
imgbackground="images/calendario_eventi.jpg"
|
||||
sizes="max-height: 120px" styleadd="bottom: -20px !important;">
|
||||
|
||||
@@ -10,6 +10,7 @@
|
||||
<CMyCardPopup
|
||||
v-if="!!idBacheca"
|
||||
:table="toolsext.TABMYBACHECAS"
|
||||
:nopopup="true"
|
||||
:idRec="idBacheca">
|
||||
|
||||
</CMyCardPopup>
|
||||
|
||||
18
src/views/user/mypagegood/mypagegood.scss
Executable file
18
src/views/user/mypagegood/mypagegood.scss
Executable file
@@ -0,0 +1,18 @@
|
||||
.profile {
|
||||
width: 100%;
|
||||
margin: 0 auto;
|
||||
max-width: 450px;
|
||||
}
|
||||
|
||||
.myrow{
|
||||
display: flex;
|
||||
@media (max-width: 600px) {
|
||||
flex-flow: column;
|
||||
}
|
||||
}
|
||||
|
||||
.qualifica{
|
||||
border: solid 2px #4198ef;
|
||||
border-radius: 1rem;
|
||||
padding: 5px;
|
||||
}
|
||||
31
src/views/user/mypagegood/mypagegood.ts
Executable file
31
src/views/user/mypagegood/mypagegood.ts
Executable file
@@ -0,0 +1,31 @@
|
||||
import { computed, defineComponent, onMounted, ref, watch } from 'vue'
|
||||
import { useUserStore } from '@store/UserStore'
|
||||
import { useRoute, useRouter } from 'vue-router'
|
||||
import { useI18n } from '@/boot/i18n'
|
||||
import { useQuasar } from 'quasar'
|
||||
import { CMyCardPopup } from '@/components/CMyCardPopup'
|
||||
import { CMyPage } from '@/components/CMyPage'
|
||||
import { CCheckIfIsLogged } from '@/components/CCheckIfIsLogged'
|
||||
import { toolsext } from '@store/Modules/toolsext'
|
||||
import { tools } from '@store/Modules/tools'
|
||||
|
||||
export default defineComponent({
|
||||
name: 'mypagegood',
|
||||
components: { CMyCardPopup, CMyPage, CCheckIfIsLogged },
|
||||
props: {},
|
||||
setup() {
|
||||
const userStore = useUserStore()
|
||||
const $route = useRoute()
|
||||
const $q = useQuasar()
|
||||
const { t } = useI18n()
|
||||
|
||||
const idGood = computed(() => $route.params.idGood ? $route.params.idGood.toString() : 0)
|
||||
|
||||
return {
|
||||
t,
|
||||
idGood,
|
||||
toolsext,
|
||||
tools,
|
||||
}
|
||||
}
|
||||
})
|
||||
30
src/views/user/mypagegood/mypagegood.vue
Executable file
30
src/views/user/mypagegood/mypagegood.vue
Executable file
@@ -0,0 +1,30 @@
|
||||
<template>
|
||||
<CMyPage title="Bene"
|
||||
imgbackground="images/calendario_eventi.jpg"
|
||||
sizes="max-height: 120px" styleadd="bottom: -20px !important;">
|
||||
|
||||
<div v-if="!tools.isLogged()">
|
||||
<CCheckIfIsLogged></CCheckIfIsLogged>
|
||||
</div>
|
||||
|
||||
<CMyCardPopup
|
||||
v-if="!!idGood"
|
||||
:table="toolsext.TABMYGOODS"
|
||||
:nopopup="true"
|
||||
:idRec="idGood">
|
||||
|
||||
</CMyCardPopup>
|
||||
|
||||
<br>
|
||||
<br>
|
||||
|
||||
</CMyPage>
|
||||
</template>
|
||||
|
||||
<script lang="ts" src="./mypagegood.ts">
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
@import './mypagegood.scss';
|
||||
</style>
|
||||
|
||||
@@ -122,12 +122,19 @@
|
||||
:href="getLinkWebSite()" target="__blank">
|
||||
</q-btn>
|
||||
</div>
|
||||
|
||||
<CCopyBtn v-if="myuser.username === myusername()" :title="$t('reg.link_reg')"
|
||||
:texttocopy="getRefLink(username)">
|
||||
|
||||
</CCopyBtn>
|
||||
|
||||
</div>
|
||||
<div class="myrow justify-evenly items-center q-pa-sm q-ma-sm">
|
||||
<div v-if="myuser._id" class="col-12">
|
||||
<q-btn
|
||||
v-if="myuser.username === myusername()"
|
||||
icon="fas fa-share-alt"
|
||||
color="blue"
|
||||
size="md"
|
||||
rounded
|
||||
:label="$t('reg.link_reg_and_msg')"
|
||||
@click="tools.sendMsgTelegramCmd($q, $t, shared_consts.MsgTeleg.SHARE_MSGREG)">
|
||||
</q-btn>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div v-else class="fit column no-wrap justify-evenly items-center content-start">
|
||||
|
||||
@@ -3,6 +3,7 @@ import { CTitleBanner } from '@/components/CTitleBanner'
|
||||
import { CProfile } from '@/components/CProfile'
|
||||
import { CDateTime } from '@/components/CDateTime'
|
||||
import { CMyPage } from '@/components/CMyPage'
|
||||
import { CMyCardPopup } from '@/components/CMyCardPopup'
|
||||
import { CCheckIfIsLogged } from '@/components/CCheckIfIsLogged'
|
||||
import { CSkill } from '@/components/CSkill'
|
||||
import { tools } from '@store/Modules/tools'
|
||||
@@ -23,7 +24,7 @@ import { colCitys } from '@store/Modules/fieldsTable'
|
||||
|
||||
export default defineComponent({
|
||||
name: 'myservice',
|
||||
components: { CProfile, CTitleBanner, CMyFieldDb, CSkill, CDateTime, CMyPage, CCheckIfIsLogged },
|
||||
components: { CProfile, CTitleBanner, CMyFieldDb, CSkill, CDateTime, CMyPage, CCheckIfIsLogged, CMyCardPopup },
|
||||
props: {},
|
||||
setup() {
|
||||
const userStore = useUserStore()
|
||||
@@ -43,7 +44,7 @@ export default defineComponent({
|
||||
|
||||
const myskill = ref(<IMySkill>{})
|
||||
|
||||
const username = computed(() => (myskill.value && myskill.value.username) ? myskill.value.username : 'Pagina')
|
||||
const username = computed(() => (myskill.value && myskill.value.username) ? myskill.value.username : 'Servizio')
|
||||
|
||||
function profile() {
|
||||
return userStore.my.profile
|
||||
@@ -56,6 +57,7 @@ export default defineComponent({
|
||||
function loadSkill() {
|
||||
// Carica il profilo di quest'utente
|
||||
if (idSkill.value) {
|
||||
/*
|
||||
userStore.loadSkill(idSkill.value).then((ris) => {
|
||||
myskill.value = ris
|
||||
if (ris.userId) {
|
||||
@@ -63,7 +65,7 @@ export default defineComponent({
|
||||
|
||||
}
|
||||
})
|
||||
|
||||
*/
|
||||
}
|
||||
}
|
||||
|
||||
@@ -88,6 +90,7 @@ export default defineComponent({
|
||||
tools,
|
||||
costanti,
|
||||
myskill,
|
||||
toolsext,
|
||||
shared_consts,
|
||||
checkifShow,
|
||||
globalStore,
|
||||
@@ -101,6 +104,7 @@ export default defineComponent({
|
||||
colCitys,
|
||||
table,
|
||||
username,
|
||||
idSkill,
|
||||
}
|
||||
}
|
||||
})
|
||||
|
||||
@@ -6,7 +6,17 @@
|
||||
<div v-if="!tools.isLogged()">
|
||||
<CCheckIfIsLogged></CCheckIfIsLogged>
|
||||
</div>
|
||||
<div v-else>
|
||||
<CMyCardPopup
|
||||
v-if="!!idSkill"
|
||||
:table="toolsext.TABMYSKILLS"
|
||||
:nopopup="true"
|
||||
:idRec="idSkill">
|
||||
|
||||
</CMyCardPopup>
|
||||
</div>
|
||||
|
||||
<!--
|
||||
<div class="q-ma-sm q-gutter-sm q-pa-xs">
|
||||
<div v-if="!!myskill.note" v-html="myskill.note"></div>
|
||||
|
||||
@@ -27,20 +37,8 @@
|
||||
</CSkill>
|
||||
</div>
|
||||
|
||||
<!--
|
||||
<div class="row justify-evenly q-mt-md">
|
||||
<q-btn
|
||||
type="a" rounded size="md"
|
||||
color="white" text-color="blue" :icon="`img:`+userStore.getImgByUsername(myskill.username)"
|
||||
:to="'/my/'+myskill.username"
|
||||
:label="myskill.username"
|
||||
>
|
||||
</q-btn>
|
||||
|
||||
</div>
|
||||
-->
|
||||
|
||||
</div>
|
||||
-->
|
||||
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user