- Nuovi Passi da completare: Leggere le Linee Guida e accettare le condizioni
- Aggiunti i Video e confermare di averli visti - In "La tua Lavagna" sono stati aggiunti come requisiti: (Accetto le Linee Guida e Vedo il Video di AYNI) - Aggiunto bottone "Invita Persone": apre la pagina dove c'è il messaggio da inviare alle persone. - La nuova pagina di registrazione https://test.gifteconomy.app/signup/paoloar77, comprende ora il testo delle Linee Guida + i Video, ed in fondo i campi per registrarsi.
This commit is contained in:
@@ -1,4 +1,10 @@
|
||||
export const shared_consts = {
|
||||
Accepted: {
|
||||
CHECK_READ_GUIDELINES: 1,
|
||||
CHECK_SEE_VIDEO_PRINCIPI: 2,
|
||||
},
|
||||
|
||||
ALL_SAW_AND_ACCEPTED: 3,
|
||||
|
||||
FILTER_EXTRALIST_NOT_REGISTERED: 1,
|
||||
FILTER_EXTRALIST_NOT_CONTACTED: 2,
|
||||
|
||||
@@ -19,7 +19,7 @@ export default class CCopyBtn extends Vue {
|
||||
}
|
||||
|
||||
public copytoclip() {
|
||||
tools.copyStringToClipboard(this, this.texttocopy)
|
||||
tools.copyStringToClipboard(this, this.texttocopy, true)
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -190,7 +190,7 @@ export default class CGallery extends MixinBase {
|
||||
|
||||
public copytoclipboard(rec) {
|
||||
const filename = this.getfullname(rec)
|
||||
tools.copyStringToClipboard(this, filename)
|
||||
tools.copyStringToClipboard(this, filename, true)
|
||||
}
|
||||
|
||||
public async deleteFile(rec) {
|
||||
|
||||
@@ -18,6 +18,7 @@ import { tools } from '../../store/Modules/tools'
|
||||
import { lists } from '../../store/Modules/lists'
|
||||
import { validations } from './CMyDashboard-validate'
|
||||
import { validationMixin } from 'vuelidate'
|
||||
import { shared_consts } from '../../common/shared_vuejs'
|
||||
|
||||
@Component({
|
||||
mixins: [validationMixin],
|
||||
@@ -76,15 +77,29 @@ export default class CMyDashboard extends MixinUsers {
|
||||
info: '',
|
||||
},
|
||||
{
|
||||
icon: 'fas fa-video',
|
||||
textlang: 'steps.zoom_partecipa',
|
||||
icon: 'fas fa-file-signature',
|
||||
textlang: 'steps.linee_guida',
|
||||
textadd(user) {
|
||||
return ''
|
||||
},
|
||||
isok(user) {
|
||||
if (user)
|
||||
if (user.profile)
|
||||
return user.profile.saw_zoom_presentation
|
||||
return tools.isBitActive(user.profile.saw_and_accepted, shared_consts.Accepted.CHECK_READ_GUIDELINES)
|
||||
return false
|
||||
},
|
||||
info: '',
|
||||
},
|
||||
{
|
||||
icon: 'fas fa-tv',
|
||||
textlang: 'steps.video_intro',
|
||||
textadd(user) {
|
||||
return ''
|
||||
},
|
||||
isok(user) {
|
||||
if (user)
|
||||
if (user.profile)
|
||||
return tools.isBitActive(user.profile.saw_and_accepted, shared_consts.Accepted.CHECK_SEE_VIDEO_PRINCIPI)
|
||||
return false
|
||||
},
|
||||
info: '',
|
||||
|
||||
@@ -57,6 +57,17 @@
|
||||
</div>
|
||||
</CTitleBanner>
|
||||
|
||||
<div class="row justify-center q-ma-sm">
|
||||
<q-btn push
|
||||
rounded
|
||||
color="primary"
|
||||
size="md"
|
||||
:label="$t('pages.invita')"
|
||||
icon="fas fa-user-plus"
|
||||
to="/invite">
|
||||
</q-btn>
|
||||
</div>
|
||||
|
||||
<CTitleBanner v-if="invitatinotreg" class="shadow-2 rounded-borders" :title="$t('dashboard.downnotreg')"
|
||||
bgcolor="bg-grey"
|
||||
clcolor="text-white"
|
||||
@@ -170,7 +181,8 @@
|
||||
</div>
|
||||
</CTitleBanner>
|
||||
|
||||
<CTitleBanner v-if="ismydownline(seluser) && (seluser.numinvitati <= 0)" class="shadow-2 rounded-borders text-center"
|
||||
<CTitleBanner v-if="ismydownline(seluser) && (seluser.numinvitati <= 0)"
|
||||
class="shadow-2 rounded-borders text-center"
|
||||
:title="$t('reg.cancella_invitato')"
|
||||
bgcolor="bg-negative"
|
||||
clcolor="text-white"
|
||||
|
||||
@@ -56,7 +56,7 @@
|
||||
</q-btn>
|
||||
</div>
|
||||
<div v-if="static_data.functionality.ENABLE_REGISTRATION" align="center" style="margin-top:10px;">
|
||||
<q-btn flat rounded size="md" color="primary" to="/signup">{{$t('reg.submit')}}
|
||||
<q-btn flat rounded size="md" color="primary" to="/signup" :label="$t('reg.submit')">
|
||||
</q-btn>
|
||||
</div>
|
||||
|
||||
|
||||
@@ -167,8 +167,7 @@
|
||||
</div>
|
||||
|
||||
<div class="wrapper">
|
||||
<q-btn rounded size="lg" color="positive" @click="submitOk" :disabled='!allowSubmit'>
|
||||
{{$t('reg.submit')}}
|
||||
<q-btn rounded size="lg" color="positive" @click="submitOk" :disabled='!allowSubmit' :label="$t('reg.submit')">
|
||||
</q-btn>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -68,6 +68,10 @@ export default class CSignUpNotevole extends MixinBase {
|
||||
this.$v.$reset()
|
||||
|
||||
this.signup.aportador_solidario = this.$route.params.invited
|
||||
|
||||
if (!this.signup.aportador_solidario)
|
||||
this.signup.aportador_solidario = tools.getCookie(tools.APORTADOR_SOLIDARIO, this.signup.aportador_solidario)
|
||||
|
||||
if (!this.signup.aportador_solidario) {
|
||||
this.signup.aportador_solidario = tools.APORTADOR_NONE
|
||||
}
|
||||
|
||||
@@ -202,8 +202,7 @@
|
||||
|
||||
<br>
|
||||
<div class="text-center">
|
||||
<q-btn rounded size="sm" color="positive" @click="showdisclaimer = true">
|
||||
{{$t('privacy_policy')}}
|
||||
<q-btn rounded size="sm" color="positive" @click="showdisclaimer = true" :label="$t('privacy_policy')">
|
||||
</q-btn>
|
||||
</div>
|
||||
|
||||
@@ -229,8 +228,7 @@
|
||||
</div>
|
||||
|
||||
<div class="wrapper">
|
||||
<q-btn rounded size="lg" color="positive" @click="submitOk" :disabled='!allowSubmit'>
|
||||
{{$t('reg.submit')}}
|
||||
<q-btn rounded size="lg" color="positive" @click="submitOk" :disabled='!allowSubmit' :label="$t('reg.submit')">
|
||||
</q-btn>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -13,16 +13,21 @@ import { CVerifyEmail } from '../CVerifyTelegram'
|
||||
import { CCopyBtn } from '../CCopyBtn'
|
||||
import { CVideo } from '../CVideo'
|
||||
import { CRequisiti } from '../CRequisiti'
|
||||
import { shared_consts } from '../../common/shared_vuejs'
|
||||
import { CGuidelines } from '../CGuidelines'
|
||||
import { CVideoPromo } from '../CVideoPromo'
|
||||
|
||||
@Component({
|
||||
components: { CTitleBanner, CMyFieldDb, CMyInnerPage, CVerifyTelegram, CVerifyEmail, CCopyBtn, CVideo, CRequisiti }
|
||||
components: { CTitleBanner, CMyFieldDb, CMyInnerPage, CVerifyTelegram, CVerifyEmail, CCopyBtn, CVideo, CRequisiti, CGuidelines, CVideoPromo }
|
||||
})
|
||||
|
||||
export default class CStatus extends MixinBase {
|
||||
@Prop({ required: false, default: false }) public dense: boolean
|
||||
public $v
|
||||
public $t: any
|
||||
public step = 1
|
||||
public NUMSTEP_START = 3
|
||||
public step = 0
|
||||
public steptodo = 0
|
||||
public NUMSTEP_OBBLIGATORI = 9
|
||||
|
||||
get numpayment() {
|
||||
if (UserStore.state.my.profile)
|
||||
@@ -33,15 +38,86 @@ export default class CStatus extends MixinBase {
|
||||
}
|
||||
|
||||
public arrsteps = [
|
||||
// {
|
||||
// title: 'steps.chat_biblio',
|
||||
// descr: 'steps.chat_biblio_long',
|
||||
// page: '',
|
||||
// funccheck(index) {
|
||||
// return true
|
||||
// },
|
||||
// funccheck_error(index) {
|
||||
// return false
|
||||
// }
|
||||
// },
|
||||
|
||||
{
|
||||
title: 'steps.chat_biblio',
|
||||
descr: 'steps.chat_biblio_long',
|
||||
title: 'reg.email',
|
||||
descr: '',
|
||||
page: '',
|
||||
icon: 'mail',
|
||||
funccheck(index) {
|
||||
return true
|
||||
return UserStore.state.my.verified_email
|
||||
},
|
||||
funccheck_error(index) {
|
||||
return false
|
||||
return true
|
||||
},
|
||||
funcok() {
|
||||
return 'pages.statusreg.verified'
|
||||
},
|
||||
funcko() {
|
||||
return 'pages.statusreg.nonverified'
|
||||
}
|
||||
},
|
||||
{
|
||||
title: 'reg.telegram',
|
||||
descr: '',
|
||||
page: '',
|
||||
icon: 'fab fa-telegram',
|
||||
funccheck(index) {
|
||||
return UserStore.state.my.profile.teleg_id > 0
|
||||
},
|
||||
funccheck_error(index) {
|
||||
return true
|
||||
},
|
||||
funcok() {
|
||||
return 'pages.statusreg.verified'
|
||||
},
|
||||
funcko() {
|
||||
return 'pages.statusreg.nonverified'
|
||||
},
|
||||
},
|
||||
{
|
||||
title: 'steps.linee_guida',
|
||||
descr: '',
|
||||
page: '',
|
||||
funccheck(index) {
|
||||
return tools.isBitActive(UserStore.state.my.profile.saw_and_accepted, shared_consts.Accepted.CHECK_READ_GUIDELINES)
|
||||
},
|
||||
funccheck_error(index) {
|
||||
return true
|
||||
},
|
||||
funcok() {
|
||||
return ''
|
||||
},
|
||||
funcko() {
|
||||
return ''
|
||||
}
|
||||
},
|
||||
{
|
||||
title: 'steps.video_intro',
|
||||
descr: '',
|
||||
page: '',
|
||||
funccheck(index) {
|
||||
return tools.isBitActive(UserStore.state.my.profile.saw_and_accepted, shared_consts.Accepted.CHECK_SEE_VIDEO_PRINCIPI)
|
||||
},
|
||||
funccheck_error(index) {
|
||||
return true
|
||||
},
|
||||
funcok() {
|
||||
return ''
|
||||
},
|
||||
funcko() {
|
||||
return ''
|
||||
}
|
||||
},
|
||||
{
|
||||
@@ -53,7 +129,13 @@ export default class CStatus extends MixinBase {
|
||||
},
|
||||
funccheck_error(index) {
|
||||
return true
|
||||
}
|
||||
},
|
||||
funcok() {
|
||||
return ''
|
||||
},
|
||||
funcko() {
|
||||
return ''
|
||||
},
|
||||
},
|
||||
{
|
||||
title: 'steps.dream',
|
||||
@@ -69,6 +151,12 @@ export default class CStatus extends MixinBase {
|
||||
funccheck_error(index) {
|
||||
return true
|
||||
},
|
||||
funcok() {
|
||||
return ''
|
||||
},
|
||||
funcko() {
|
||||
return ''
|
||||
},
|
||||
},
|
||||
{
|
||||
title: 'steps.paymenttype',
|
||||
@@ -91,6 +179,12 @@ export default class CStatus extends MixinBase {
|
||||
funccheck_error(index) {
|
||||
return true
|
||||
},
|
||||
funcok() {
|
||||
return ''
|
||||
},
|
||||
funcko() {
|
||||
return ''
|
||||
},
|
||||
},
|
||||
{
|
||||
title: 'steps.sharemovement',
|
||||
@@ -103,6 +197,12 @@ export default class CStatus extends MixinBase {
|
||||
funccheck_error(index) {
|
||||
return true
|
||||
},
|
||||
funcok() {
|
||||
return ''
|
||||
},
|
||||
funcko() {
|
||||
return ''
|
||||
},
|
||||
},
|
||||
{
|
||||
title: 'steps.enter_prog',
|
||||
@@ -114,6 +214,12 @@ export default class CStatus extends MixinBase {
|
||||
funccheck_error(index) {
|
||||
return false
|
||||
},
|
||||
funcok() {
|
||||
return ''
|
||||
},
|
||||
funcko() {
|
||||
return ''
|
||||
},
|
||||
},
|
||||
{
|
||||
title: 'steps.collaborate',
|
||||
@@ -125,6 +231,12 @@ export default class CStatus extends MixinBase {
|
||||
funccheck_error(index) {
|
||||
return false
|
||||
},
|
||||
funcok() {
|
||||
return ''
|
||||
},
|
||||
funcko() {
|
||||
return ''
|
||||
},
|
||||
},
|
||||
{
|
||||
title: 'steps.dono',
|
||||
@@ -136,6 +248,12 @@ export default class CStatus extends MixinBase {
|
||||
funccheck_error(index) {
|
||||
return false
|
||||
},
|
||||
funcok() {
|
||||
return ''
|
||||
},
|
||||
funcko() {
|
||||
return ''
|
||||
},
|
||||
},
|
||||
{
|
||||
title: 'steps.support',
|
||||
@@ -147,6 +265,12 @@ export default class CStatus extends MixinBase {
|
||||
funccheck_error(index) {
|
||||
return false
|
||||
},
|
||||
funcok() {
|
||||
return ''
|
||||
},
|
||||
funcko() {
|
||||
return ''
|
||||
},
|
||||
},
|
||||
{
|
||||
title: 'steps.ricevo_dono',
|
||||
@@ -158,45 +282,40 @@ export default class CStatus extends MixinBase {
|
||||
funccheck_error(index) {
|
||||
return false
|
||||
},
|
||||
funcok() {
|
||||
return ''
|
||||
},
|
||||
funcko() {
|
||||
return ''
|
||||
},
|
||||
},
|
||||
|
||||
/*
|
||||
sharemovement: 'Condivido il movimento',
|
||||
sharemovement_long: 'Condivido il movimento con almeno 2 amici e li guido alla registrazione e agli zoom',
|
||||
enter_prog: 'entro in Programmazione',
|
||||
enter_prog_long: 'entro in programmazione, e vengo aggiunto al Mandala, ed entro così nella chat corrispondente.',
|
||||
collaborate: 'Collaborazione',
|
||||
collaborate_long: 'Continuo a collaborare con il miei compagni, per arrivare al giorno della programmazione dove si attiverà il mio Mandala',
|
||||
dono: 'Dono',
|
||||
dono_long: 'Faccio il mio dono al proprietario della Bigliettera',
|
||||
support: 'Sostengo il movimento',
|
||||
support_long: 'Continuo a sostenere il movimento partecipando attivamente! Organizzando zoom e partecipando, sostenendo, informando, aiutando e diffondendo',
|
||||
ricevo_dono: 'Ricevo il mio dono e CELEBRO',
|
||||
ricevo_dono_long: 'Ricevo il mio dono e CELEBRO',
|
||||
*/
|
||||
|
||||
]
|
||||
|
||||
public setstep() {
|
||||
if (this.isEmailVerified) {
|
||||
this.step = 2
|
||||
if (this.TelegVerificato) {
|
||||
this.step = 3
|
||||
for (let indstep = 0; indstep < this.arrsteps.length; indstep++) {
|
||||
if (this.arrsteps[indstep].funccheck(indstep)) {
|
||||
this.step++
|
||||
}
|
||||
}
|
||||
// if (this.numpayment > 0) {
|
||||
// this.step = 4
|
||||
// }
|
||||
this.step = 0
|
||||
for (let indstep = 0; indstep < this.arrsteps.length; indstep++) {
|
||||
if (this.arrsteps[indstep].funccheck(indstep)) {
|
||||
this.step++
|
||||
} else {
|
||||
return
|
||||
}
|
||||
}
|
||||
// console.log('step', this.step)
|
||||
}
|
||||
|
||||
public mounted() {
|
||||
public setsteptodo() {
|
||||
this.steptodo = 0
|
||||
for (let indstep = 0; indstep < this.arrsteps.length; indstep++) {
|
||||
if (this.arrsteps[indstep].funccheck(indstep)) {
|
||||
this.steptodo++
|
||||
} else {
|
||||
return
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public created() {
|
||||
this.setstep()
|
||||
this.setsteptodo()
|
||||
}
|
||||
|
||||
get TelegVerificato() {
|
||||
@@ -207,18 +326,11 @@ export default class CStatus extends MixinBase {
|
||||
return UserStore.state.my.verified_email
|
||||
}
|
||||
|
||||
get emailtext() {
|
||||
if (this.isEmailVerified)
|
||||
return `Email ` + this.$t('pages.statusreg.verified')
|
||||
else
|
||||
return `Email ` + this.$t('pages.statusreg.nonverified')
|
||||
}
|
||||
|
||||
get telegramtext() {
|
||||
if (this.TelegVerificato)
|
||||
return `Telegram ` + this.$t('pages.statusreg.verified')
|
||||
return this.$t('reg.telegram') + ' ' + this.$t('pages.statusreg.verified')
|
||||
else
|
||||
return `Telegram ` + this.$t('pages.statusreg.nonverified')
|
||||
return this.$t('reg.telegram') + ' ' + this.$t('pages.statusreg.nonverified')
|
||||
}
|
||||
|
||||
get paymenttext() {
|
||||
@@ -226,7 +338,7 @@ export default class CStatus extends MixinBase {
|
||||
}
|
||||
|
||||
get getlaststep() {
|
||||
return this.arrsteps.length + this.NUMSTEP_START - 1
|
||||
return this.arrsteps.length - 1
|
||||
}
|
||||
|
||||
public getnuminvitati() {
|
||||
@@ -240,7 +352,7 @@ export default class CStatus extends MixinBase {
|
||||
public getnuminvitati_attivi() {
|
||||
if (UserStore.state.my)
|
||||
if (UserStore.state.my.calcstat)
|
||||
// console.log('numinvitati', UserStore.state.my.calcstat)
|
||||
// console.log('numinvitati', UserStore.state.my.calcstat)
|
||||
return UserStore.state.my.calcstat.numinvitati_attivi
|
||||
|
||||
return 0
|
||||
@@ -249,6 +361,9 @@ export default class CStatus extends MixinBase {
|
||||
public gettextstep(step) {
|
||||
let tit = this.$t(step.title)
|
||||
|
||||
if (step.funcok())
|
||||
tit += ' ' + this.$t(step.funcok())
|
||||
|
||||
if (step.title === 'steps.sharemovement') {
|
||||
tit += ' (' + this.getnuminvitati_attivi() + ' / ' + this.getnuminvitati() + ' invitati Attivi)'
|
||||
} else if (step.title === 'steps.paymenttype') {
|
||||
@@ -263,7 +378,7 @@ export default class CStatus extends MixinBase {
|
||||
}
|
||||
|
||||
public copylink() {
|
||||
tools.copyStringToClipboard(this, this.getRefLink)
|
||||
tools.copyStringToClipboard(this, this.getRefLink, true)
|
||||
}
|
||||
|
||||
public getiferror(checkerror, value) {
|
||||
@@ -300,12 +415,12 @@ export default class CStatus extends MixinBase {
|
||||
return 'https://t.me/joinchat/AL2qKExZKvenLgpVhOyefQ'
|
||||
}
|
||||
|
||||
public geticonstep(title) {
|
||||
if (title === 'steps.chat_biblio') {
|
||||
return 'settings'
|
||||
} else {
|
||||
public geticonstep(mystep) {
|
||||
if (!!mystep.icon)
|
||||
return mystep.icon
|
||||
else
|
||||
return 'check-circle'
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
public geticoncolor(title) {
|
||||
@@ -349,6 +464,48 @@ export default class CStatus extends MixinBase {
|
||||
return false
|
||||
}
|
||||
|
||||
get percstep() {
|
||||
return (this.getstep / this.NUMSTEP_OBBLIGATORI)
|
||||
}
|
||||
|
||||
get getstep() {
|
||||
let mystep = 0
|
||||
for (let indstep = 0; indstep < this.arrsteps.length; indstep++) {
|
||||
if (this.arrsteps[indstep].funccheck(indstep)) {
|
||||
mystep++
|
||||
}
|
||||
}
|
||||
return mystep
|
||||
}
|
||||
|
||||
get progressstep() {
|
||||
return this.$t(this.arrsteps[this.steptodo].title)
|
||||
}
|
||||
|
||||
get strpercstep() {
|
||||
return 'Completati ' + (this.getstep + 1) + ' passi su ' + this.NUMSTEP_OBBLIGATORI
|
||||
}
|
||||
|
||||
get stepcompleti() {
|
||||
return this.getstep + 1 === this.NUMSTEP_OBBLIGATORI
|
||||
}
|
||||
|
||||
public scrolltostep(mystep) {
|
||||
this.step = mystep
|
||||
if (mystep > 0 )
|
||||
mystep -= 1
|
||||
const element = document.getElementById('step' + mystep)
|
||||
tools.scrollToElement(element)
|
||||
|
||||
}
|
||||
|
||||
public nextstep(index) {
|
||||
this.step = index + 1
|
||||
this.setsteptodo()
|
||||
|
||||
setTimeout(() => {
|
||||
this.scrolltostep(this.step)
|
||||
}, 500)
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,44 +1,68 @@
|
||||
<template>
|
||||
<div>
|
||||
<CTitleBanner class="text-center" title="Guida passo passo" bgcolor="bg-primary" clcolor="text-white"
|
||||
<CTitleBanner class="text-center" :title="$t('home.guida_passopasso')" bgcolor="bg-primary" clcolor="text-white"
|
||||
mystyle="" myclass="myshad" :canopen="true">
|
||||
|
||||
<div class="q-pa-xs">
|
||||
|
||||
<q-stepper
|
||||
v-model="step"
|
||||
vertical
|
||||
header-nav
|
||||
done-color="green"
|
||||
active-color="blue"
|
||||
inactive-color="grey"
|
||||
animated
|
||||
<q-stepper
|
||||
v-model="step"
|
||||
vertical
|
||||
header-nav
|
||||
done-color="green"
|
||||
active-color="blue"
|
||||
inactive-color="grey"
|
||||
animated
|
||||
>
|
||||
<!--
|
||||
<q-step
|
||||
id="step1"
|
||||
:name="1"
|
||||
:title="emailtext"
|
||||
icon="mail"
|
||||
:done="isEmailVerified"
|
||||
:error="!isEmailVerified"
|
||||
:error-icon="geterricon(true)"
|
||||
>
|
||||
<q-stepper-navigation v-if="isEmailVerified">
|
||||
<q-btn @click="step = 2" color="primary" :label="$t('dialog.avanti')"></q-btn>
|
||||
</q-stepper-navigation>
|
||||
|
||||
</q-step>
|
||||
<q-step
|
||||
id="step2"
|
||||
:name="2"
|
||||
:title="telegramtext"
|
||||
icon="fab fa-telegram"
|
||||
:done="TelegVerificato"
|
||||
:error="!TelegVerificato"
|
||||
:error-icon="geterricon(true)"
|
||||
>
|
||||
|
||||
<q-stepper-navigation>
|
||||
<q-btn v-if="TelegVerificato" @click="step = 3" color="primary" :label="$t('dialog.avanti')"></q-btn>
|
||||
<q-btn flat @click="step = 1" color="primary" :label="$t('dialog.indietro')" class="q-ml-sm"></q-btn>
|
||||
</q-stepper-navigation>
|
||||
</q-step>
|
||||
-->
|
||||
<q-step
|
||||
v-for="(mystep, index) in arrsteps"
|
||||
:id="`step`+(index)"
|
||||
:key="mystep.title"
|
||||
:name="index"
|
||||
:title="gettextstep(mystep)"
|
||||
:icon="geticonstep(mystep)"
|
||||
:done-color="geticoncolor(mystep.title)"
|
||||
:done="mystep.funccheck(index)"
|
||||
:error="getiferror(mystep.funccheck_error(index), mystep.funccheck(index))"
|
||||
:error-icon="geterricon(mystep.funccheck(index))"
|
||||
>
|
||||
<q-step
|
||||
:name="1"
|
||||
:title="emailtext"
|
||||
icon="mail"
|
||||
:done="isEmailVerified"
|
||||
:error="!isEmailVerified"
|
||||
:error-icon="geterricon(true)"
|
||||
>
|
||||
<div v-if="mystep.title === 'reg.email'">
|
||||
<CVerifyEmail>
|
||||
|
||||
</CVerifyEmail>
|
||||
|
||||
<q-stepper-navigation v-if="isEmailVerified">
|
||||
<q-btn @click="step = 2" color="primary" :label="$t('dialog.avanti')"></q-btn>
|
||||
</q-stepper-navigation>
|
||||
|
||||
</q-step>
|
||||
<q-step
|
||||
:name="2"
|
||||
:title="telegramtext"
|
||||
icon="fab fa-telegram"
|
||||
:done="TelegVerificato"
|
||||
:error="!TelegVerificato"
|
||||
:error-icon="geterricon(true)"
|
||||
>
|
||||
</div>
|
||||
<div v-else-if="mystep.title === 'reg.telegram'">
|
||||
<q-chip v-if="TelegVerificato" color="positive" text-color="white" icon="fab fa-telegram">
|
||||
{{ telegramtext }}
|
||||
</q-chip>
|
||||
@@ -57,214 +81,252 @@
|
||||
<br>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div v-else-if="mystep.title === 'steps.linee_guida'">
|
||||
<CGuidelines :showconditions="true">
|
||||
|
||||
<q-stepper-navigation>
|
||||
<q-btn v-if="TelegVerificato" @click="step = 3" color="primary" :label="$t('dialog.avanti')"></q-btn>
|
||||
<q-btn flat @click="step = 1" color="primary" :label="$t('dialog.indietro')" class="q-ml-sm"></q-btn>
|
||||
</q-stepper-navigation>
|
||||
</q-step>
|
||||
<q-step
|
||||
v-for="(mystep, index) in arrsteps"
|
||||
:key="mystep.title"
|
||||
:name="NUMSTEP_START + index"
|
||||
:title="gettextstep(mystep)"
|
||||
:icon="geticonstep(mystep.title)"
|
||||
:done-color="geticoncolor(mystep.title)"
|
||||
:done="mystep.funccheck(index)"
|
||||
:error="getiferror(mystep.funccheck_error(index), mystep.funccheck(index))"
|
||||
:error-icon="geterricon(mystep.funccheck(index))"
|
||||
>
|
||||
<div v-if="mystep.title === 'steps.paymenttype'">
|
||||
<div v-if="mystep.descr">
|
||||
<div v-html="$t(mystep.descr)"></div>
|
||||
</div>
|
||||
</CGuidelines>
|
||||
</div>
|
||||
<div v-else-if="mystep.title === 'steps.video_intro'">
|
||||
<CVideoPromo :showconditions="true">
|
||||
|
||||
<CTitleBanner class="q-pa-xs" :title="$t('steps.paymenttype_paypal')" bgcolor="bg-primary"
|
||||
clcolor="text-white"
|
||||
myclass="myshad" canopen="true" :visible="false">
|
||||
</CVideoPromo>
|
||||
|
||||
<CVideo myvideokey="RqsWDlpnN3k">
|
||||
|
||||
</CVideo>
|
||||
|
||||
<q-btn class="q-ma-md" size="md" type="a" href="https://www.paypal.com/"
|
||||
target="_blank" rounded color="primary" icon="info" :label="$t('steps.paymenttype_paypal_link')">
|
||||
</q-btn>
|
||||
</CTitleBanner>
|
||||
<CTitleBanner class="q-pa-xs" :title="$t('steps.paymenttype_revolut')" bgcolor="bg-primary"
|
||||
clcolor="text-white"
|
||||
myclass="myshad" canopen="true" :visible="false">
|
||||
|
||||
<CVideo myvideokey="">
|
||||
|
||||
</CVideo>
|
||||
|
||||
<q-btn class="q-ma-md" size="md" type="a" href="https://www.revolut.com/"
|
||||
target="_blank" rounded color="primary" icon="info"
|
||||
:label="$t('steps.paymenttype_revolut_link')">
|
||||
</q-btn>
|
||||
|
||||
</CTitleBanner>
|
||||
<div>
|
||||
|
||||
<CMyFieldDb :title="$t('reg.paymenttype')"
|
||||
table="users"
|
||||
mykey="profile"
|
||||
mysubkey="paymenttypes"
|
||||
:type="tools.FieldType.multiselect"
|
||||
jointable="paymenttypes">
|
||||
</CMyFieldDb>
|
||||
|
||||
<CMyFieldDb v-if="isselectPaypal" :title="$t('reg.email_paypal')"
|
||||
table="users"
|
||||
mykey="profile"
|
||||
mysubkey="email_paypal"
|
||||
:type="tools.FieldType.string">
|
||||
</CMyFieldDb>
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div v-else-if="mystep.title === 'steps.paymenttype'">
|
||||
<div v-if="mystep.descr">
|
||||
<div v-html="$t(mystep.descr)"></div>
|
||||
</div>
|
||||
<div v-else-if="mystep.title === 'steps.dream'">
|
||||
<div v-if="mystep.descr">
|
||||
<div v-html="$t(mystep.descr)"></div>
|
||||
</div>
|
||||
<CMyFieldDb :title="$t('reg.my_dream')"
|
||||
|
||||
<CTitleBanner class="q-pa-xs" :title="$t('steps.paymenttype_paypal')" bgcolor="bg-primary"
|
||||
clcolor="text-white"
|
||||
myclass="myshad" canopen="true" :visible="false">
|
||||
|
||||
<CVideo myvideokey="RqsWDlpnN3k">
|
||||
|
||||
</CVideo>
|
||||
|
||||
<q-btn class="q-ma-md" size="md" type="a" href="https://www.paypal.com/"
|
||||
target="_blank" rounded color="primary" icon="info" :label="$t('steps.paymenttype_paypal_link')">
|
||||
</q-btn>
|
||||
<CTitleBanner class="q-pa-xs" :title="$t('steps.paymenttype_paypal_carta_conto')" bgcolor="bg-primary"
|
||||
clcolor="text-white"
|
||||
myclass="myshad" canopen="true" :visible="true">
|
||||
|
||||
<CVideo myvideokey="wRNBmQrsnes">
|
||||
|
||||
</CVideo>
|
||||
|
||||
</CTitleBanner>
|
||||
</CTitleBanner>
|
||||
|
||||
|
||||
<CTitleBanner class="q-pa-xs" :title="$t('steps.paymenttype_revolut')" bgcolor="bg-primary"
|
||||
clcolor="text-white"
|
||||
myclass="myshad" canopen="true" :visible="false">
|
||||
|
||||
<CVideo myvideokey="nST5iHM2LbE">
|
||||
|
||||
</CVideo>
|
||||
|
||||
<q-btn class="q-ma-md" size="md" type="a" href="https://www.revolut.com/"
|
||||
target="_blank" rounded color="primary" icon="info"
|
||||
:label="$t('steps.paymenttype_revolut_link')">
|
||||
</q-btn>
|
||||
|
||||
</CTitleBanner>
|
||||
|
||||
<div>
|
||||
|
||||
<CMyFieldDb :title="$t('reg.paymenttype')"
|
||||
table="users"
|
||||
mykey="profile"
|
||||
mysubkey="my_dream"
|
||||
:type="tools.FieldType.string"
|
||||
>
|
||||
mysubkey="paymenttypes"
|
||||
:type="tools.FieldType.multiselect"
|
||||
jointable="paymenttypes">
|
||||
</CMyFieldDb>
|
||||
|
||||
<CMyFieldDb v-if="isselectPaypal" :title="$t('reg.email_paypal')"
|
||||
table="users"
|
||||
mykey="profile"
|
||||
mysubkey="email_paypal"
|
||||
:type="tools.FieldType.string">
|
||||
</CMyFieldDb>
|
||||
</div>
|
||||
<div v-else-if="mystep.title === 'steps.chat_biblio'">
|
||||
<div v-if="mystep.descr">
|
||||
<div v-html="$t(mystep.descr)"></div>
|
||||
</div>
|
||||
<br><strong>Entra in Chat BiblioBacheca, cliccando qui:</strong>
|
||||
|
||||
<div class="landing__footer-icons row flex-center margin_buttons">
|
||||
<a v-if="!!TelegramBiblio" :href="TelegramBiblio" target="_blank">
|
||||
<i aria-hidden="true" class="q-icon fab fa-telegram icon_contact links"></i></a>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div v-else-if="mystep.title === 'steps.zoom'">
|
||||
</div>
|
||||
<div v-else-if="mystep.title === 'steps.dream'">
|
||||
<div v-if="mystep.descr">
|
||||
<div v-html="$t(mystep.descr)"></div>
|
||||
</div>
|
||||
<CMyFieldDb :title="$t('reg.my_dream')"
|
||||
table="users"
|
||||
mykey="profile"
|
||||
mysubkey="my_dream"
|
||||
:type="tools.FieldType.string"
|
||||
>
|
||||
</CMyFieldDb>
|
||||
</div>
|
||||
<div v-else-if="mystep.title === 'steps.chat_biblio'">
|
||||
<div v-if="mystep.descr">
|
||||
<div v-html="$t(mystep.descr)"></div>
|
||||
</div>
|
||||
<br><strong>Entra in Chat BiblioBacheca, cliccando qui:</strong>
|
||||
|
||||
<CRequisiti :statebool="VistoZoom" :msgTrue="$t('steps.zoom_si_partecipato')"
|
||||
:msgFalse="$t('steps.zoom_no_partecipato')">
|
||||
</CRequisiti>
|
||||
<div class="landing__footer-icons row flex-center margin_buttons">
|
||||
<a v-if="!!TelegramBiblio" :href="TelegramBiblio" target="_blank">
|
||||
<i aria-hidden="true" class="q-icon fab fa-telegram icon_contact links"></i></a>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div v-else-if="mystep.title === 'steps.zoom'">
|
||||
|
||||
<CRequisiti :statebool="VistoZoom" :msgTrue="$t('steps.zoom_si_partecipato')"
|
||||
:msgFalse="$t('steps.zoom_no_partecipato')">
|
||||
</CRequisiti>
|
||||
|
||||
<div v-if="mystep.descr">
|
||||
<div v-html="$t(mystep.descr)"></div>
|
||||
</div>
|
||||
<CTitleBanner class="q-pa-xs" :title="$t('steps.zoom_what')" bgcolor="bg-primary"
|
||||
clcolor="text-white"
|
||||
myclass="myshad" canopen="true" :visible="false">
|
||||
<div>
|
||||
<CVideo myvideokey="2yHhNktRDjg">
|
||||
|
||||
</CVideo>
|
||||
|
||||
<h3>ISTRUZIONI ZOOM</h3>
|
||||
|
||||
<ul style="text-align: left; font-size:0.75rem;">
|
||||
<li>1. Scarica l'app (<a href="https://play.google.com/store/apps/details?id=us.zoom.videomeetings"
|
||||
target="_blank">store</a> o <a href="https://zoom.us/support/download"
|
||||
target="_blank">da PC</a>)
|
||||
</li>
|
||||
<li>2. Inserisci il tuo Nome e Cognome per essere riconosciuto</li>
|
||||
<li>3. Clicca "join meeting"</li>
|
||||
<li>4. Clicca "call in device" altrimenti non potrai sentire 🔊</li>
|
||||
<li>5. Clicca il microfono per Attivarlo o Silenziarlo.</li>
|
||||
</ul>
|
||||
|
||||
<div class="text-h6"><strong>In più avrai:</strong></div>
|
||||
<ul style="text-align: left; font-size:0.75rem;">
|
||||
<li>Tasto per togliere il video (📹) ❌</li>
|
||||
<li>Tasto 'Share': per condividere contenuti condivisi</li>
|
||||
<li>Tasto 'Partecipants' in cui sulla sinistra, in basso, troverai la CHAT.</li>
|
||||
<li>Tasto 'More': troverai Raise Hands per fare le domande.</li>
|
||||
</ul>
|
||||
|
||||
<div v-if="mystep.descr">
|
||||
<div v-html="$t(mystep.descr)"></div>
|
||||
</div>
|
||||
<CTitleBanner class="q-pa-xs" :title="$t('steps.zoom_what')" bgcolor="bg-primary"
|
||||
clcolor="text-white"
|
||||
myclass="myshad" canopen="true" :visible="false">
|
||||
<div>
|
||||
</CTitleBanner>
|
||||
|
||||
<h3>ISTRUZIONI ZOOM</h3>
|
||||
</div>
|
||||
<div v-else-if="mystep.title === 'steps.sharemovement'">
|
||||
|
||||
<ul style="text-align: left; font-size:0.75rem;">
|
||||
<li>1. Scarica l'app (<a href="https://play.google.com/store/apps/details?id=us.zoom.videomeetings"
|
||||
target="_blank">store</a> o <a href="https://zoom.us/support/download"
|
||||
target="_blank">da PC</a>)
|
||||
</li>
|
||||
<li>2. Inserisci il tuo Nome e Cognome per essere riconosciuto</li>
|
||||
<li>3. Clicca "join meeting"</li>
|
||||
<li>4. Clicca "call in device" altrimenti non potrai sentire 🔊</li>
|
||||
<li>5. Clicca il microfono per Attivarlo o Silenziarlo.</li>
|
||||
</ul>
|
||||
<CRequisiti :statebool="getnuminvitati() >= 2" :msgTrue="$t('steps.sharemovement_hai_invitato')"
|
||||
:msgFalse="$t('steps.sharemovement_devi_invitare_almeno_2')">
|
||||
</CRequisiti>
|
||||
<CRequisiti v-if="getnuminvitati() > 0" :statebool="getnuminvitati_attivi() >= 2"
|
||||
:msgTrue="$t('steps.sharemovement_invitati_attivi_si')"
|
||||
:msgFalse="$t('steps.sharemovement_invitati_attivi_no')">
|
||||
</CRequisiti>
|
||||
|
||||
<div class="text-h6"><strong>In più avrai:</strong></div>
|
||||
<ul style="text-align: left; font-size:0.75rem;">
|
||||
<li>Tasto per togliere il video (📹) ❌</li>
|
||||
<li>Tasto 'Share': per condividere contenuti condivisi</li>
|
||||
<li>Tasto 'Partecipants' in cui sulla sinistra, in basso, troverai la CHAT.</li>
|
||||
<li>Tasto 'More': troverai Raise Hands per fare le domande.</li>
|
||||
</ul>
|
||||
|
||||
<div v-if="mystep.descr">
|
||||
<div v-html="$t(mystep.descr)"></div>
|
||||
</div>
|
||||
|
||||
<div class="row justify-center q-ma-sm">
|
||||
<q-btn push
|
||||
rounded
|
||||
color="primary"
|
||||
size="md"
|
||||
:label="$t('pages.invita')"
|
||||
icon="fas fa-user-plus"
|
||||
to="/invite">
|
||||
</q-btn>
|
||||
</div>
|
||||
|
||||
|
||||
<CCopyBtn :title="$t('reg.reflink')" :texttocopy="getRefLink">
|
||||
|
||||
</CCopyBtn>
|
||||
|
||||
<CCopyBtn :title="$t('reg.linkzoom')" :texttocopy="tools.getLinkZoom()">
|
||||
|
||||
</CCopyBtn>
|
||||
|
||||
<q-btn class="q-mb-md" rounded size="md" color="primary" to="/dashboard"
|
||||
:label="$t('pages.dashboard')"></q-btn>
|
||||
|
||||
</div>
|
||||
<div v-else-if="mystep.title === 'steps.enter_prog'">
|
||||
|
||||
<div v-if="mystep.descr">
|
||||
<div v-html="$t(mystep.descr)"></div>
|
||||
</div>
|
||||
|
||||
<CRequisiti :statebool="CompletatoRequisiti" :msgTrue="$t('steps.enter_prog_requisiti_ok')"
|
||||
:msgFalse="$t('steps.enter_prog_completa_requisiti')">
|
||||
</CRequisiti>
|
||||
|
||||
<CRequisiti :statebool="CompletatoRequisiti" :msgTrue="$t('steps.enter_prog_status')"
|
||||
:msgFalse="$t('steps.enter_prog_status')">
|
||||
</CRequisiti>
|
||||
|
||||
</div>
|
||||
<div v-else>
|
||||
<div v-if="mystep.page">
|
||||
<CMyInnerPage :path=mystep.page>
|
||||
<div v-if="mystep.descr">
|
||||
<div v-html="$t(mystep.descr)"></div>
|
||||
</div>
|
||||
</CTitleBanner>
|
||||
|
||||
|
||||
</CMyInnerPage>
|
||||
</div>
|
||||
<div v-else-if="mystep.title === 'steps.sharemovement'">
|
||||
</div>
|
||||
|
||||
<CRequisiti :statebool="getnuminvitati() >= 2" :msgTrue="$t('steps.sharemovement_hai_invitato')"
|
||||
:msgFalse="$t('steps.sharemovement_devi_invitare_almeno_2')">
|
||||
</CRequisiti>
|
||||
<CRequisiti v-if="getnuminvitati() > 0" :statebool="getnuminvitati_attivi() >= 2"
|
||||
:msgTrue="$t('steps.sharemovement_invitati_attivi_si')"
|
||||
:msgFalse="$t('steps.sharemovement_invitati_attivi_no')">
|
||||
</CRequisiti>
|
||||
<q-stepper-navigation>
|
||||
<q-btn v-if="index < getlaststep" @click="nextstep(index)"
|
||||
color="primary" :label="$t('dialog.avanti')" class="q-ml-sm"></q-btn>
|
||||
<q-btn flat @click="step = index - 1" color="primary" :label="$t('dialog.indietro')"
|
||||
class="q-ml-sm"></q-btn>
|
||||
</q-stepper-navigation>
|
||||
</q-step>
|
||||
|
||||
<!--<q-step-->
|
||||
<!--:name="getlaststep"-->
|
||||
<!--:title="$t('dialog.finish')"-->
|
||||
<!--icon="check-circle"-->
|
||||
<!--:done="step > getlaststep"-->
|
||||
<!-->-->
|
||||
|
||||
<div v-if="mystep.descr">
|
||||
<div v-html="$t(mystep.descr)"></div>
|
||||
</div>
|
||||
|
||||
<CCopyBtn :title="$t('reg.reflink')" :texttocopy="getRefLink">
|
||||
|
||||
</CCopyBtn>
|
||||
|
||||
<CCopyBtn :title="$t('reg.linkzoom')" :texttocopy="tools.getLinkZoom()">
|
||||
|
||||
</CCopyBtn>
|
||||
|
||||
<q-btn class="q-mb-md" rounded size="md" color="primary" to="/dashboard"
|
||||
:label="$t('pages.dashboard')"></q-btn>
|
||||
|
||||
</div>
|
||||
<div v-else-if="mystep.title === 'steps.enter_prog'">
|
||||
|
||||
<div v-if="mystep.descr">
|
||||
<div v-html="$t(mystep.descr)"></div>
|
||||
</div>
|
||||
|
||||
<CRequisiti :statebool="CompletatoRequisiti" :msgTrue="$t('steps.enter_prog_requisiti_ok')"
|
||||
:msgFalse="$t('steps.enter_prog_completa_requisiti')">
|
||||
</CRequisiti>
|
||||
|
||||
<CRequisiti :statebool="CompletatoRequisiti" :msgTrue="$t('steps.enter_prog_status')"
|
||||
:msgFalse="$t('steps.enter_prog_status')">
|
||||
</CRequisiti>
|
||||
|
||||
</div>
|
||||
<div v-else>
|
||||
<div v-if="mystep.page">
|
||||
<CMyInnerPage :path=mystep.page>
|
||||
<div v-if="mystep.descr">
|
||||
<div v-html="$t(mystep.descr)"></div>
|
||||
</div>
|
||||
</CMyInnerPage>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<q-stepper-navigation>
|
||||
<q-btn v-if="NUMSTEP_START + index < getlaststep" @click="step = NUMSTEP_START + index + 1"
|
||||
color="primary" :label="$t('dialog.avanti')" class="q-ml-sm"></q-btn>
|
||||
<q-btn flat @click="step = NUMSTEP_START + index - 1" color="primary" :label="$t('dialog.indietro')"
|
||||
class="q-ml-sm"></q-btn>
|
||||
</q-stepper-navigation>
|
||||
</q-step>
|
||||
|
||||
<!--<q-step-->
|
||||
<!--:name="getlaststep"-->
|
||||
<!--:title="$t('dialog.finish')"-->
|
||||
<!--icon="check-circle"-->
|
||||
<!--:done="step > getlaststep"-->
|
||||
<!-->-->
|
||||
|
||||
<!--<q-stepper-navigation>-->
|
||||
<!--<q-btn flat @click="step = getlaststep - 1" color="primary" :label="$t('dialog.indietro')" class="q-ml-sm"></q-btn>-->
|
||||
<!--</q-stepper-navigation>-->
|
||||
<!--</q-step>-->
|
||||
</q-stepper>
|
||||
</div>
|
||||
|
||||
<!--<q-stepper-navigation>-->
|
||||
<!--<q-btn flat @click="step = getlaststep - 1" color="primary" :label="$t('dialog.indietro')" class="q-ml-sm"></q-btn>-->
|
||||
<!--</q-stepper-navigation>-->
|
||||
<!--</q-step>-->
|
||||
</q-stepper>
|
||||
</CTitleBanner>
|
||||
|
||||
<q-page-sticky expand position="top" v-if="!stepcompleti">
|
||||
<q-toolbar class="bg-yellow-7 glossy text-white">
|
||||
<q-toolbar-title @click="scrolltostep(steptodo)">
|
||||
<div class="flex flex-center">
|
||||
<q-linear-progress size="20px" :value="percstep" color="green" class="q-pa-xs q-mb-xs bg-red">
|
||||
<div class="absolute-center flex flex-center">
|
||||
<q-badge color="white" text-color="grey-8" style="opacity: 0.9; font-size: 0.85rem;" :label="strpercstep"></q-badge>
|
||||
</div>
|
||||
</q-linear-progress>
|
||||
</div>
|
||||
<div class="flex flex-center">
|
||||
<q-badge color="white" text-color="green" :label="progressstep" class="wrap"
|
||||
style="font-size: 0.85rem; height:20px; font-weight: bold;"></q-badge>
|
||||
</div>
|
||||
</q-toolbar-title>
|
||||
<q-btn round dense icon="arrow_forward" @click="scrolltostep(steptodo)"></q-btn>
|
||||
</q-toolbar>
|
||||
</q-page-sticky>
|
||||
|
||||
</div>
|
||||
</template>
|
||||
|
||||
|
||||
@@ -11,13 +11,14 @@
|
||||
<CCardState :mytext="$t('pages.statusreg.giainlista')" :isperc="true" :myval="datastat.num_reg_lista"
|
||||
:myperc="perc_reg" :textadd="` / ` + datastat.num_tot_lista"></CCardState>
|
||||
<div class="q-pa-xs ">
|
||||
<CCardStat mytext="Partecipato in Zoom" :myval="datastat.num_part_zoom"></CCardStat>
|
||||
<CCardStat mytext="Hanno scritto il Sogno" :myval="datastat.num_users_dream"></CCardStat>
|
||||
<CCardStat v-if="emailnonverif" mytext="Email non Verificate" :myval="emailnonverif"
|
||||
<CCardStat :mytext="$t('stat.accepted')" :myval="datastat.num_part_accepted"></CCardStat>
|
||||
<CCardStat :mytext="$t('stat.zoom')" :myval="datastat.num_part_zoom"></CCardStat>
|
||||
<CCardStat :mytext="$t('stat.dream')" :myval="datastat.num_users_dream"></CCardStat>
|
||||
<CCardStat v-if="emailnonverif" :mytext="$t('stat.email_not_verif')" :myval="emailnonverif"
|
||||
mycol="negative"></CCardStat>
|
||||
<CCardStat v-if="telegnonattivi" mytext="Telegram Non Attivi" :myval="telegnonattivi"
|
||||
<CCardStat v-if="telegnonattivi" :mytext="$t('stat.telegram_non_attivi')" :myval="telegnonattivi"
|
||||
mycol="negative"></CCardStat>
|
||||
<CCardStat v-if="datastat.num_teleg_pending > 0" mytext="Telegram Pendenti"
|
||||
<CCardStat v-if="datastat.num_teleg_pending > 0" :mytext="$t('stat.telegram_pendenti')"
|
||||
:myval="datastat.num_teleg_pending" mycol="negative"></CCardStat>
|
||||
</div>
|
||||
|
||||
|
||||
@@ -34,9 +34,9 @@ export default class CTitleBanner extends Vue {
|
||||
@Prop({ required: false, default: true }) public visible: boolean
|
||||
@Prop({ required: false, default: false }) public canopen: boolean
|
||||
|
||||
public myvisible: boolean = true
|
||||
public myvisible: boolean = false
|
||||
|
||||
public mounted() {
|
||||
public created() {
|
||||
this.myvisible = this.visible
|
||||
}
|
||||
|
||||
|
||||
@@ -19,7 +19,7 @@
|
||||
</q-banner>
|
||||
|
||||
<q-slide-transition>
|
||||
<div v-show="myvisible" class="rounded-borders">
|
||||
<div v-if="myvisible" class="rounded-borders">
|
||||
<slot></slot>
|
||||
</div>
|
||||
</q-slide-transition>
|
||||
|
||||
@@ -53,3 +53,5 @@ export * from './CUserBadge'
|
||||
export * from './CMyDashboard'
|
||||
export * from './CLegenda'
|
||||
export * from './CRequisito'
|
||||
export * from './CGuidelines'
|
||||
export * from './CVideoPromo'
|
||||
|
||||
@@ -37,9 +37,17 @@ export default class MixinBase extends MixinMetaTags {
|
||||
}
|
||||
|
||||
public getValDb(keystr, serv, def?, table?, subkey?) {
|
||||
|
||||
return tools.getValDb(keystr, serv, def, table, subkey)
|
||||
}
|
||||
|
||||
public getValDbLang(keystr, serv, def?, table?, subkey?) {
|
||||
let ris = tools.getValDb(keystr + '_' + tools.getLocale(), serv, def, table, subkey)
|
||||
if (ris === def)
|
||||
ris = tools.getValDb(keystr + '_it', serv, def, table, subkey)
|
||||
return ris
|
||||
}
|
||||
|
||||
public async setValDb(key, value, type, serv: boolean, table?, subkey?) {
|
||||
|
||||
// console.log('setValDb', key, value, serv, table, subkey)
|
||||
|
||||
@@ -330,6 +330,7 @@ export interface IFunctionality {
|
||||
SHOW_ONLY_POLICY?: boolean
|
||||
SHOW_MESSAGES?: boolean
|
||||
BOOKING_EVENTS?: boolean
|
||||
ENABLE_REG_AYNI?: boolean
|
||||
}
|
||||
|
||||
export interface IParamsQuery {
|
||||
|
||||
@@ -14,6 +14,7 @@ export interface INotData {
|
||||
num_teleg_attivo?: number
|
||||
num_teleg_pending?: number
|
||||
num_part_zoom?: number
|
||||
num_part_accepted?: number
|
||||
num_users_dream?: number
|
||||
arr_nations?: string
|
||||
lastsreg?: IUserFields[]
|
||||
|
||||
@@ -23,6 +23,7 @@ export interface IUserProfile {
|
||||
paymenttypes?: IPaymentType[]
|
||||
manage_telegram?: boolean
|
||||
saw_zoom_presentation?: boolean
|
||||
saw_and_accepted?: boolean
|
||||
}
|
||||
|
||||
export interface IPaymentType {
|
||||
@@ -93,7 +94,6 @@ export interface IUserState {
|
||||
isManager?: boolean
|
||||
isTeacher?: boolean
|
||||
usersList?: IUserFields[]
|
||||
permissionsList?: IPerm[]
|
||||
countusers?: number
|
||||
lastparamquery?: any
|
||||
}
|
||||
|
||||
@@ -197,10 +197,10 @@
|
||||
jointable="templemail">
|
||||
</CMyFieldDb>
|
||||
|
||||
<q-btn :loading="myloading2" rounded outline @click="createNewsletter(1, myloading2)"
|
||||
<q-btn :loading="myloading2" rounded outline @click="createNewsletter(3, myloading2)"
|
||||
color="primary"
|
||||
icon="fas fa-file-alt">
|
||||
<span class="q-px-sm">Crea Nuovo Invio Newsletter Schedulato tra 1 minuto</span>
|
||||
<span class="q-px-sm">Crea Nuovo Invio Newsletter Schedulato tra 3 minuti</span>
|
||||
<template v-slot:loading>
|
||||
<q-spinner-hourglass class="on-left"/>
|
||||
Creazione Newsletter...
|
||||
|
||||
@@ -6,6 +6,7 @@ import { CMyPage } from '../../../components/CMyPage/index'
|
||||
import { fieldsTable } from '@src/store/Modules/fieldsTable'
|
||||
import { shared_consts } from '@src/common/shared_vuejs'
|
||||
import { tools } from '../../../store/Modules/tools'
|
||||
import { static_data } from '../../../db/static_data'
|
||||
|
||||
@Component({
|
||||
components: { CGridTableRec, CMyPage }
|
||||
@@ -48,4 +49,13 @@ export default class UsersList extends Vue {
|
||||
get db_fieldsTable() {
|
||||
return fieldsTable
|
||||
}
|
||||
|
||||
get userlist() {
|
||||
|
||||
if (static_data.functionality.ENABLE_REG_AYNI) {
|
||||
return this.db_fieldsTable.colTableUsers
|
||||
} else {
|
||||
return this.db_fieldsTable.colTableUsersBase
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
<CMyPage img="" :title="$t('otherpages.admin.userlist')" keywords="" description="Lista Utenti">
|
||||
<CGridTableRec prop_mytable="users"
|
||||
prop_mytitle="Lista Utenti"
|
||||
:prop_mycolumns="db_fieldsTable.colTableUsers"
|
||||
:prop_mycolumns="userlist"
|
||||
prop_colkey="_id"
|
||||
nodataLabel="Nessun Utente"
|
||||
noresultLabel="Il filtro selezionato non ha trovato nessun risultato"
|
||||
|
||||
@@ -2,6 +2,9 @@ import msg_website from '../db/i18n_website'
|
||||
|
||||
const msgglobal = {
|
||||
it: {
|
||||
home: {
|
||||
guida_passopasso: 'Guida Passo Passo'
|
||||
},
|
||||
grid: {
|
||||
editvalues: 'Modifica Valori',
|
||||
addrecord: 'Aggiungi Riga',
|
||||
@@ -45,22 +48,39 @@ const msgglobal = {
|
||||
sendmsg: {
|
||||
write: 'scrive'
|
||||
},
|
||||
stat: {
|
||||
zoom: 'Partecipato in Zoom',
|
||||
accepted: 'Accettato Linee Guida + Video',
|
||||
dream: 'Hanno scritto il Sogno',
|
||||
email_not_verif: 'Email non Verificate',
|
||||
telegram_non_attivi: 'Telegram Non Attivi',
|
||||
telegram_pendenti: 'Telegram Pendenti',
|
||||
},
|
||||
steps: {
|
||||
video_intro_1: '1. Benvenuti in AYNI',
|
||||
video_intro_2: '2. Nascita di AYNI',
|
||||
video_intro_3: '3. Differenze tra Billettera Classica e AYNI',
|
||||
video_intro_4: '4. Come faccio a far parte di AYNI',
|
||||
read_guidelines: 'Ho letto ed Accetto queste condizioni scritte qui sopra',
|
||||
saw_video_intro: 'Dichiaro di aver visto almeno il Video \'4. Come faccio a far parte di AYNI\'',
|
||||
chat_biblio: 'Entra nella Chat AYNI BiblioBacheca',
|
||||
chat_biblio_long: 'Occorre entrare in questa Chat per ricevere le ultime notizie e rimanere in contatto con noi',
|
||||
paymenttype: 'Modalità di Pagamento',
|
||||
paymenttype_long: 'Scegli <strong>almeno 2 Modalità di Pagamento</strong>, per scambiarsi i doni.<br><br>I <strong>metodi di Pagamento Super-Consigliati</strong> sono: <ul><li><strong>Paypal</strong> è indispensabile in quanto quasi tutti lo utilizzano ed è un\'ottima soluzione perchè potrai collegargli le tue carte di credito/debito.</li><li><strong>Revolut</strong>: La Carta Revolut è un conto Inglese (fuori dalla UE), pertanto è più libera e semplice da utilizzare anche tramite il cellulare</strong></li>',
|
||||
paymenttype_long: 'Scegli <strong>almeno 2 Modalità di Pagamento</strong>, per scambiarsi i doni.<br><br>I <strong>metodi di Pagamento sono: <ul><li><strong>Paypal</strong> (in AYNI è <strong>obbligatoria</strong>) perchè è un sistema molto diffuso in tutta Europa (il trasferimento e gratuito) e si possono collegare le carte prepagate, le carte di credito e il conto corrente <strong>SENZA COMMISSIONI</strong>. In questo modo non dovrai condividere i numeri delle tue carte o del c/c ma solo la mail che avrai usato in fase di iscrizione su Paypal. Disponibile l\'app per il cellulare.</li><li><strong>Revolut</strong>: la Carta Prepagata Revolut con IBAN Inglese (fuori UE) completamente gratuita, più libera e semplice da utilizzare. Disponibile l\'app per il cellulare.</li>',
|
||||
paymenttype_paypal: 'Come Aprire un conto Paypal (in 2 minuti)',
|
||||
paymenttype_paypal_carta_conto: 'Come associare una carta di Credito/Debito o un Conto Bancario su PayPal',
|
||||
paymenttype_paypal_link: 'Apri il Conto con Paypal',
|
||||
paymenttype_revolut: 'Come Aprire il conto con Revolut (in 2 minuti)',
|
||||
paymenttype_revolut_link: 'Apri il Conto con Revolut',
|
||||
entra_zoom: 'Entra in Zoom',
|
||||
linee_guida: 'Accetto le Linee Guida',
|
||||
video_intro: 'Vedo il Video di AYNI',
|
||||
zoom: 'Partecipo agli Zoom (Video Conferenza)',
|
||||
zoom_si_partecipato: 'Hai partecipato ad almeno 1 Zoom',
|
||||
zoom_partecipa: 'Partecipato ad almeno 1 Zoom',
|
||||
zoom_no_partecipato: 'Attualmente non hai ancora partecipato ad uno Zoom (è un requisito per poter entrare)',
|
||||
zoom_long: 'Si richiede di partecipare ad almeno 1 Zoom, ma è consigliato prendere parte al movimento in maniera più attiva.<br><br><strong>Partecipando agli Zoom lo Staff di AYNI registrerà le presenze e verrai così abilitato.</strong>',
|
||||
zoom_what:'Che cos\'è Zoom e come funziona?',
|
||||
zoom_what:'Tutorial come installare Zoom',
|
||||
sharemovement_devi_invitare_almeno_2: 'Ancora non hai invitato 2 persone',
|
||||
sharemovement_hai_invitato: 'Hai invitato almeno 2 persone',
|
||||
sharemovement_invitati_attivi_si: 'Hai almeno 2 persone invitate Attive',
|
||||
@@ -74,7 +94,7 @@ const msgglobal = {
|
||||
enter_prog_long: 'Sottisfatti i requisiti richiesti entrerai in Programmazione, verrai aggiunto alla Bigliettera e nella chat di gruppo corrispondente.<br>',
|
||||
collaborate: 'Collaborazione',
|
||||
collaborate_long: 'Continuo a collaborare con i miei compagni per arrivare al giorno della programmazione dove si attiverà la mia Bigliettera.',
|
||||
dream: 'Scrivi il tuo Sogno',
|
||||
dream: 'Scrivo il mio Sogno',
|
||||
dream_long: 'Scrivi qui il Sogno per il quale sei entrato in Ayni e che desideri realizzare.<br>Sarà condiviso a quello di tutti gli altri per sognare insieme !',
|
||||
dono: 'Dono',
|
||||
dono_long: 'Faccio il mio dono nella data di partenza della mia Bigliettera',
|
||||
@@ -163,7 +183,7 @@ const msgglobal = {
|
||||
options: 'Opzioni',
|
||||
},
|
||||
dashboard: {
|
||||
downline: 'Persone che hai Invitato',
|
||||
downline: 'Invitati',
|
||||
downnotreg: 'Invitati non Registrati',
|
||||
notreg: 'Non Registrato',
|
||||
numinvitati: 'Numero di Invitati',
|
||||
@@ -188,6 +208,10 @@ const msgglobal = {
|
||||
you: 'Tu',
|
||||
cancella_invitato: 'Elimina Invitato',
|
||||
regala_invitato: 'Regala Invitato',
|
||||
messaggio_invito: 'Messaggio di Invito',
|
||||
messaggio_invito_msg: 'Invia questo messaggio a tutti coloro a cui vuoi condividere questo Movimento !',
|
||||
msginvito: 'Ciao,<br>Vorrei invitarti a conoscere questo Movimento di Economia Solidale<br>Questo è il video Introduttivo:<br>{videointro}<br><br>Qui trovi la pagina sul sito di spiegazione {paginaspiegazione}<br><br>Ogni 3-4 giorni alla settimana vengono organizzati delle Conferenze, tramite Zoom:<br>{linkzoom}<br> e così potrai conoscere lo Staff e fare eventuali domande.',
|
||||
videointro: 'Video Introduttivo',
|
||||
invitato_regalato: 'Invitato Regalato',
|
||||
legenda: 'Legenda',
|
||||
aportador_solidario: 'Chi ti ha Invitato',
|
||||
@@ -211,13 +235,15 @@ const msgglobal = {
|
||||
email_paypal: 'Email Paypal',
|
||||
country_pay: 'Paese di Destinazione Pagamenti',
|
||||
username_telegram: 'Username Telegram',
|
||||
telegram: 'Telegram BOT',
|
||||
telegram: 'Chat Telegram \'AYNI BOT\'',
|
||||
teleg_id: 'Telegram ID',
|
||||
teleg_auth:'Codice Autorizzazione',
|
||||
click_per_copiare:'Cliccaci sopra per copiarlo sugli appunti',
|
||||
copia_messaggio:'Copia Messaggio',
|
||||
teleg_torna_sul_bot:'1) Copia il codice cliccando sul bottone qui sopra<br>2) torna su Ayni BOT cliccando qui sotto 👇 ed incolla (o scrivi) il codice',
|
||||
teleg_checkcode: 'Codice Telegram',
|
||||
my_dream: 'Il mio Sogno',
|
||||
saw_and_accepted: 'Condizioni',
|
||||
saw_zoom_presentation: 'Ha visto Zoom',
|
||||
manage_telegram: 'Gestori Telegram',
|
||||
paymenttype: 'Modalità di Pagamenti Disponbili',
|
||||
@@ -491,6 +517,9 @@ const msgglobal = {
|
||||
cookies: 'Usiamo i Cookie per una migliore prestazione web.'
|
||||
},
|
||||
es: {
|
||||
home: {
|
||||
guida_passopasso: 'Guía paso a paso'
|
||||
},
|
||||
grid: {
|
||||
editvalues: 'Cambiar valores',
|
||||
addrecord: 'Agregar fila',
|
||||
@@ -576,6 +605,7 @@ const msgglobal = {
|
||||
go_login: 'Vuelve al Login',
|
||||
incorrect_input: 'Entrada correcta.',
|
||||
link_sent: 'Ahora lea su correo electrónico y confirme el registro',
|
||||
se_non_ricevo: 'Si no recibes el correo electrónico, intenta comprobar el spam o ponte en contacto con nosotros.',
|
||||
title_unsubscribe: 'Anular suscripción al boletín',
|
||||
title_unsubscribe_done: 'Suscripción completada con éxito',
|
||||
}
|
||||
@@ -600,12 +630,18 @@ const msgglobal = {
|
||||
options: 'Opciones',
|
||||
},
|
||||
dashboard: {
|
||||
downline: 'Personas que has invitado',
|
||||
downline: 'Invitados',
|
||||
},
|
||||
reg: {
|
||||
verified_email: 'Correo electrónico verificado',
|
||||
reg_lista_prec: 'Por favor, introduzca el nombre, apellido y número de teléfono móvil que dejó en el pasado cuando se registró en el Chat! <br>De esta manera el sistema le reconocerá y mantendrá la posición de la lista.',
|
||||
nuove_registrazioni: 'Si se trata de un NUEVO registro, debe ponerse en contacto con la persona que le ha INVITADO, que le dejará el LINK CORRECTO para hacer el registro bajo él/ella',
|
||||
you: 'Tu',
|
||||
cancella_invitato: 'Eliminar Invitado',
|
||||
regala_invitato: 'Dar Invitado',
|
||||
messaggio_invito: 'Mensaje de invitación',
|
||||
messaggio_invito_msg: 'Copie el mensaje que aparece a continuación y compártalo con todos aquellos con los que desee compartir este Movimiento !',
|
||||
msginvito: 'Hola,<br>Me gustaría invitarlos a conocer este Movimiento de Economía Solidaria<br>Este es el video introductorio {videointro} <br>Aquí pueden encontrar la página en el sitio web con los otros videos {paginavideo} <br>Cada 3-4 días de la semana se organizan conferencias, a través de Zoom, {linkzoom} y así pueden conocer al Staff y hacer cualquier pregunta.',
|
||||
aportador_solidario: 'Aportador Solidario',
|
||||
aportador_solidario_nome_completo:'A.S. Nombre',
|
||||
aportador_solidario_ind_order:'A.S.Ind',
|
||||
@@ -647,6 +683,7 @@ const msgglobal = {
|
||||
onlyadult: "Confirmo que soy mayor de edad",
|
||||
submit: "Registrarse",
|
||||
title_verif_reg: "Verifica registro",
|
||||
reg_ok: "Registro exitoso",
|
||||
verificato: "Verificado",
|
||||
non_verificato: "No Verificado",
|
||||
forgetpassword: "¿Olvidaste tu contraseña?",
|
||||
@@ -889,6 +926,9 @@ const msgglobal = {
|
||||
cookies: 'Utilizamos cookies para un mejor rendimiento web.'
|
||||
},
|
||||
fr: {
|
||||
home: {
|
||||
guida_passopasso: 'Étape Guida'
|
||||
},
|
||||
grid: {
|
||||
editvalues: 'Changer les valeurs',
|
||||
addrecord: 'Ajouter une ligne',
|
||||
@@ -974,6 +1014,7 @@ const msgglobal = {
|
||||
go_login: 'Retour à la connexion',
|
||||
incorrect_input: 'Entrée correcte.',
|
||||
link_sent: 'Maintenant, lisez votre email et confirmez votre inscription',
|
||||
se_non_ricevo: 'Si vous ne recevez pas le courriel, essayez de vérifier dans le spam, ou contactez nous',
|
||||
title_unsubscribe: 'Se désabonner de la newsletter',
|
||||
title_unsubscribe_done: 'Abonnement terminé avec succès',
|
||||
}
|
||||
@@ -998,12 +1039,14 @@ const msgglobal = {
|
||||
options: 'Options',
|
||||
},
|
||||
dashboard: {
|
||||
downline: 'Les personnes que vous avez invitées',
|
||||
downline: 'invités',
|
||||
},
|
||||
reg: {
|
||||
you: 'Tu',
|
||||
cancella_invitato: 'Supprimer invité',
|
||||
regala_invitato: 'Donner invité',
|
||||
messaggio_invito: 'Message d\'invitation',
|
||||
messaggio_invito_msg: 'Copia il messaggio qui sotto e condividilo a tutti coloro a cui vuoi condividere questo Movimento !',
|
||||
aportador_solidario: 'Contributeur de solidarité',
|
||||
aportador_solidario_nome_completo:'A.S. Nom',
|
||||
aportador_solidario_ind_order:'A.S.Ind',
|
||||
@@ -1044,6 +1087,7 @@ const msgglobal = {
|
||||
onlyadult: "Je confirme que je suis majeur",
|
||||
submit: "S'inscrire",
|
||||
title_verif_reg: "Vérifier l'inscription",
|
||||
reg_ok: "Enregistrement réussi",
|
||||
verificato: "Vérifié",
|
||||
non_verificato: "Non vérifié",
|
||||
forgetpassword: "Vous avez oublié votre mot de passe?",
|
||||
@@ -1286,6 +1330,9 @@ const msgglobal = {
|
||||
cookies: 'Nous utilisons des cookies pour améliorer les performances Web.'
|
||||
},
|
||||
enUs: {
|
||||
home: {
|
||||
guida_passopasso: 'Step By Step Guide'
|
||||
},
|
||||
grid: {
|
||||
editvalues: 'Edit Values',
|
||||
addrecord: 'Add Row',
|
||||
@@ -1371,6 +1418,7 @@ const msgglobal = {
|
||||
go_login: 'Back to Login',
|
||||
incorrect_input: 'Incorrect input.',
|
||||
link_sent: 'Now read your email and confirm registration',
|
||||
se_non_ricevo: 'If you do not receive the email, try checking in the spam, or contact us',
|
||||
title_unsubscribe: 'Unsubscribe to the newsletter',
|
||||
title_unsubscribe_done: 'Subscription completed successfully',
|
||||
}
|
||||
@@ -1395,12 +1443,17 @@ const msgglobal = {
|
||||
options: 'Options',
|
||||
},
|
||||
dashboard: {
|
||||
downline: 'People you\'ve invited',
|
||||
downline: 'Guests',
|
||||
},
|
||||
reg: {
|
||||
verified_email: 'Email Verified',
|
||||
reg_lista_prec: 'Please enter the First Name, Last Name and mobile phone number you left in the past when you signed up for the Chat! <br>This way the system will recognize you and keep the position of the list',
|
||||
nuove_registrazioni: 'If this is a NEW registration, you must contact the person who INVITED you, who will leave you the CORRECT LINK to do the Registration under him/her',
|
||||
you: 'You',
|
||||
cancella_invitato: 'Delete Invited',
|
||||
regala_invitato: 'Give invited',
|
||||
messaggio_invito: 'Invitation Message',
|
||||
messaggio_invito_msg: 'Copia il messaggio qui sotto e condividilo a tutti coloro a cui vuoi condividere questo Movimento !',
|
||||
aportador_solidario: 'Solidarity Contributor',
|
||||
aportador_solidario_nome_completo:'A.S. Name',
|
||||
aportador_solidario_ind_order:'A.S.Ind',
|
||||
@@ -1441,6 +1494,7 @@ const msgglobal = {
|
||||
onlyadult: "I confirm that I'm at least 18 years old",
|
||||
submit: "Submit",
|
||||
title_verif_reg: "Verify Registration",
|
||||
reg_ok: "Successful Registration",
|
||||
verificato: "Verified",
|
||||
non_verificato: "Not Verified",
|
||||
forgetpassword: "Forget Password?",
|
||||
@@ -1682,6 +1736,9 @@ const msgglobal = {
|
||||
cookies: 'We use cookies for better web performance.'
|
||||
},
|
||||
de: {
|
||||
home: {
|
||||
guida_passopasso: 'Step By Step Guide'
|
||||
},
|
||||
grid: {
|
||||
editvalues: 'Edit Values',
|
||||
addrecord: 'Add Row',
|
||||
@@ -1767,6 +1824,7 @@ const msgglobal = {
|
||||
go_login: 'Back to Login',
|
||||
incorrect_input: 'Incorrect input.',
|
||||
link_sent: 'Now read your email and confirm registration',
|
||||
se_non_ricevo: 'If you do not receive the email, try checking in the spam, or contact us',
|
||||
title_unsubscribe: 'Disiscrizione alla newsletter',
|
||||
title_unsubscribe_done: 'Disiscrizione completata correttamente',
|
||||
}
|
||||
@@ -1794,9 +1852,14 @@ const msgglobal = {
|
||||
downline: 'People you\'ve invited',
|
||||
},
|
||||
reg: {
|
||||
verified_email: 'Email Verified',
|
||||
reg_lista_prec: 'Please enter the First Name, Last Name and mobile phone number you left in the past when you signed up for the Chat! <br>This way the system will recognize you and keep the position of the list',
|
||||
nuove_registrazioni: 'If this is a NEW registration, you must contact the person who INVITED you, who will leave you the CORRECT LINK to do the Registration under him/her',
|
||||
you: 'You',
|
||||
cancella_invitato: 'Delete Invited',
|
||||
regala_invitato: 'Give invited',
|
||||
messaggio_invito: 'Invitation Message',
|
||||
messaggio_invito_msg: 'Copia il messaggio qui sotto e condividilo a tutti coloro a cui vuoi condividere questo Movimento !',
|
||||
aportador_solidario: 'Solidarity Contributor',
|
||||
aportador_solidario_nome_completo:'A.S. Name',
|
||||
aportador_solidario_ind_order:'A.S.Ind',
|
||||
@@ -1838,6 +1901,7 @@ const msgglobal = {
|
||||
onlyadult: "I confirm that I'm at least 18 years old",
|
||||
submit: "Submit",
|
||||
title_verif_reg: "Verify Registration",
|
||||
reg_ok: "Successful Registration",
|
||||
verificato: "Verified",
|
||||
non_verificato: "Not Verified",
|
||||
forgetpassword: "Forget Password?",
|
||||
|
||||
@@ -207,8 +207,6 @@ namespace Getters {
|
||||
return MessageStore.state.last_msgs
|
||||
else if (table === 'settings')
|
||||
return UserStore.state.settings
|
||||
else if (table === 'permissions')
|
||||
return UserStore.state.permissionsList
|
||||
else
|
||||
return null
|
||||
|
||||
@@ -665,10 +663,6 @@ namespace Actions {
|
||||
UserStore.mutations.setusersList(res.data.usersList)
|
||||
}
|
||||
|
||||
if (res.data.permissionsList) {
|
||||
UserStore.state.permissionsList = res.data.permissionsList
|
||||
}
|
||||
|
||||
if (res.data.last_msgs) {
|
||||
MessageStore.state.last_msgs = [...res.data.last_msgs]
|
||||
}
|
||||
|
||||
@@ -40,6 +40,7 @@ export const DefaultUser: IUserFields = {
|
||||
img: '',
|
||||
teleg_id: 0,
|
||||
saw_zoom_presentation: false,
|
||||
saw_and_accepted: false,
|
||||
},
|
||||
downline: [],
|
||||
calcstat: DefaultCalc,
|
||||
@@ -61,6 +62,7 @@ export const DefaultProfile: IUserProfile = {
|
||||
my_dream: '',
|
||||
manage_telegram: false,
|
||||
saw_zoom_presentation: false,
|
||||
saw_and_accepted: false,
|
||||
paymenttypes: []
|
||||
}
|
||||
|
||||
@@ -76,7 +78,6 @@ const state: IUserState = {
|
||||
isAdmin: false,
|
||||
isManager: false,
|
||||
usersList: [],
|
||||
permissionsList: [],
|
||||
countusers: 0,
|
||||
lastparamquery: {}
|
||||
}
|
||||
|
||||
@@ -346,14 +346,11 @@ export const fieldsTable = {
|
||||
}
|
||||
},
|
||||
|
||||
getColByTable(table) {
|
||||
if (table === 'permissions') {
|
||||
return ['value', 'label']
|
||||
}
|
||||
},
|
||||
getTableJoinByName(table) {
|
||||
if (table === 'permissions')
|
||||
return [shared_consts.Permissions.Admin, shared_consts.Permissions.Manager, shared_consts.Permissions.Teacher]
|
||||
else if (table === 'accepted')
|
||||
return [shared_consts.Accepted.CHECK_READ_GUIDELINES, shared_consts.Accepted.CHECK_SEE_VIDEO_PRINCIPI]
|
||||
else if (table === 'fieldstype')
|
||||
return tools.FieldTypeArr
|
||||
else
|
||||
@@ -405,6 +402,21 @@ export const fieldsTable = {
|
||||
AddCol(DuplicateRec),
|
||||
],
|
||||
|
||||
colTableUsersBase: [
|
||||
AddCol({ name: 'ind_order', label_trans: 'reg.ind_order' }),
|
||||
AddCol({ name: 'date_reg', label_trans: 'reg.date_reg', fieldtype: tools.FieldType.date }),
|
||||
AddCol({ name: 'username', label_trans: 'reg.username_short' }),
|
||||
AddCol({ name: 'name', label_trans: 'reg.name' }),
|
||||
AddCol({ name: 'surname', label_trans: 'reg.surname' }),
|
||||
AddCol({ name: 'email', label_trans: 'reg.email' }),
|
||||
AddCol({ name: 'verified_email', label_trans: 'reg.verified_email', fieldtype: tools.FieldType.boolean }),
|
||||
AddCol({ name: 'profile.nationality', field: 'profile', subfield: 'nationality', label_trans: 'reg.nationality' }),
|
||||
AddCol({ name: 'profile.cell', field: 'profile', subfield: 'cell', label_trans: 'reg.cell' }),
|
||||
AddCol({ name: 'perm', label_trans: 'reg.perm', fieldtype: tools.FieldType.binary, jointable: 'permissions' }),
|
||||
AddCol(DeleteRec),
|
||||
AddCol(DuplicateRec),
|
||||
],
|
||||
|
||||
// IColGridTable
|
||||
colTableUsers: [
|
||||
// AddCol({ name: '_id', label_trans: 'reg.id' }),
|
||||
@@ -422,6 +434,7 @@ export const fieldsTable = {
|
||||
AddCol({ name: 'aportador_solidario', label_trans: 'reg.aportador_solidario' }),
|
||||
AddCol({ name: 'verified_email', label_trans: 'reg.verified_email', fieldtype: tools.FieldType.boolean }),
|
||||
AddCol({ name: 'profile.saw_zoom_presentation', field: 'profile', subfield: 'saw_zoom_presentation', label_trans: 'reg.saw_zoom_presentation', fieldtype: tools.FieldType.boolean }),
|
||||
AddCol({ name: 'profile.saw_and_accepted', field: 'profile', subfield: 'saw_and_accepted', label_trans: 'reg.saw_and_accepted', fieldtype: tools.FieldType.binary, jointable: 'accepted' }),
|
||||
AddCol({ name: 'profile.my_dream', field: 'profile', subfield: 'my_dream', label_trans: 'reg.my_dream' }),
|
||||
AddCol({ name: 'profile.nationality', field: 'profile', subfield: 'nationality', label_trans: 'reg.nationality' }),
|
||||
AddCol({ name: 'profile.intcode_cell', field: 'profile', subfield: 'intcode_cell', label_trans: 'reg.intcode_cell' }),
|
||||
@@ -558,6 +571,15 @@ export const fieldsTable = {
|
||||
colicon: 'icon',
|
||||
noshow: true,
|
||||
},
|
||||
{
|
||||
value: 'accepted',
|
||||
label: 'Condizioni',
|
||||
columns: colTablePermission,
|
||||
colkey: 'value',
|
||||
collabel: 'label',
|
||||
colicon: 'icon',
|
||||
noshow: true,
|
||||
},
|
||||
{
|
||||
value: 'fieldstype',
|
||||
label: 'Tipi di Campi',
|
||||
|
||||
@@ -34,11 +34,12 @@ import { shared_consts } from '@src/common/shared_vuejs'
|
||||
|
||||
import { dom } from 'quasar'
|
||||
|
||||
const printf = require('util').format;
|
||||
const printf = require('util').format
|
||||
|
||||
const { height, width } = dom
|
||||
|
||||
import Cookies from 'js-cookie'
|
||||
import { forEachComment } from 'tslint'
|
||||
|
||||
const TokenKey = 'Admin-Token'
|
||||
|
||||
@@ -1461,7 +1462,7 @@ export const tools = {
|
||||
id: par.param1._id,
|
||||
table: tools.TABUSER,
|
||||
fieldsvalue: { aportador_solidario: par.param2 },
|
||||
notifBot: {}
|
||||
notifBot: null
|
||||
}
|
||||
|
||||
if (par.param3) {
|
||||
@@ -1496,6 +1497,25 @@ export const tools = {
|
||||
}
|
||||
},
|
||||
|
||||
async saveFieldToServer(myself: any, table, id, mydata) {
|
||||
const mydatatosave = {
|
||||
id,
|
||||
table,
|
||||
fieldsvalue: mydata,
|
||||
notifBot: null
|
||||
}
|
||||
|
||||
|
||||
GlobalStore.actions.saveFieldValue(mydatatosave).then((ris) => {
|
||||
if (ris) {
|
||||
tools.showPositiveNotif(myself.$q, myself.$t('db.recupdated'))
|
||||
} else {
|
||||
tools.showNegativeNotif(myself.$q, myself.$t('db.recfailed'))
|
||||
}
|
||||
})
|
||||
|
||||
},
|
||||
|
||||
async askConfirm($q: any, mytitle, mytext, ok, cancel, myself: any, table, funcok: number, funccancel: number, par: IParamDialog) {
|
||||
return $q.dialog({
|
||||
message: mytext,
|
||||
@@ -2824,7 +2844,11 @@ export const tools = {
|
||||
},
|
||||
|
||||
SetBit(myval, bit) {
|
||||
myval = myval | bit
|
||||
myval |= bit
|
||||
return myval
|
||||
},
|
||||
UnSetBit(myval, bit) {
|
||||
myval &= ~bit
|
||||
return myval
|
||||
},
|
||||
getUnique(arr, comp) {
|
||||
@@ -3151,13 +3175,21 @@ export const tools = {
|
||||
return mystr.replace(/\s+/g, '')
|
||||
},
|
||||
|
||||
copyStringToClipboard(mythis, mystr) {
|
||||
copyStringToClipboard(mythis, mystr, show) {
|
||||
copyToClipboard(mystr).then(() => {
|
||||
tools.showNotif(mythis.$q, mythis.$t('dialog.copyclipboard') + ' \'' + mystr + '\'')
|
||||
let msg = mythis.$t('dialog.copyclipboard')
|
||||
if (show)
|
||||
msg += ' \'' + mystr + '\''
|
||||
|
||||
tools.showNotif(mythis.$q, msg)
|
||||
})
|
||||
|
||||
},
|
||||
|
||||
getlinkhref(mylink, text) {
|
||||
return '<a href="' + mylink + '" target="_blank">' + text + '</a>'
|
||||
},
|
||||
|
||||
getNationsByNationality(nat, code) {
|
||||
if (nat === 'IT') {
|
||||
return 'Italy'
|
||||
@@ -3216,8 +3248,12 @@ export const tools = {
|
||||
return 'https://zoom.us/j/' + id
|
||||
},
|
||||
|
||||
myprintf( ) {
|
||||
myprintf(val, params: any[]) {
|
||||
|
||||
params.forEach((par) => {
|
||||
val = val.replace('{' + par.strin + '}', par.strout)
|
||||
})
|
||||
return val
|
||||
}
|
||||
|
||||
// getLocale() {
|
||||
|
||||
Reference in New Issue
Block a user