- Aggiunto Step: i 7 Requisiti degli invitati.
- Aggiornata la Lavagna (anche sul BOT). - Zoom solo 3 visibili.
This commit is contained in:
@@ -1,9 +1,14 @@
|
|||||||
.lista {
|
.lista, .lista li {
|
||||||
text-align: left;
|
text-align: left;
|
||||||
font-size: 0.75rem;
|
font-size: 1rem;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
.lista-small li {
|
||||||
|
text-align: left;
|
||||||
|
font-size: 0.85rem;
|
||||||
|
}
|
||||||
|
|
||||||
.step{
|
.step{
|
||||||
font-size: 1.15rem;
|
font-size: 1.15rem;
|
||||||
font-weight: bold;
|
font-weight: bold;
|
||||||
|
|||||||
@@ -20,16 +20,22 @@ export default class CGuidelines extends MixinBase {
|
|||||||
public $t: any
|
public $t: any
|
||||||
public $q
|
public $q
|
||||||
public msg: string = ''
|
public msg: string = ''
|
||||||
|
public myguideline: boolean = false
|
||||||
|
|
||||||
get static_data() {
|
get static_data() {
|
||||||
return static_data
|
return static_data
|
||||||
}
|
}
|
||||||
|
|
||||||
get accetta_guideline() {
|
public created() {
|
||||||
return tools.isBitActive(UserStore.state.my.profile.saw_and_accepted, shared_consts.Accepted.CHECK_READ_GUIDELINES)
|
this.aggiorna_guideline()
|
||||||
}
|
}
|
||||||
|
|
||||||
set accetta_guideline(value) {
|
public aggiorna_guideline() {
|
||||||
|
this.myguideline = tools.isBitActive(UserStore.state.my.profile.saw_and_accepted, shared_consts.Accepted.CHECK_READ_GUIDELINES)
|
||||||
|
}
|
||||||
|
|
||||||
|
public changeval(value) {
|
||||||
|
console.log('PRIMA saw_and_accepted', UserStore.state.my.profile.saw_and_accepted)
|
||||||
if (value)
|
if (value)
|
||||||
UserStore.state.my.profile.saw_and_accepted = tools.SetBit(UserStore.state.my.profile.saw_and_accepted, shared_consts.Accepted.CHECK_READ_GUIDELINES)
|
UserStore.state.my.profile.saw_and_accepted = tools.SetBit(UserStore.state.my.profile.saw_and_accepted, shared_consts.Accepted.CHECK_READ_GUIDELINES)
|
||||||
else
|
else
|
||||||
@@ -38,6 +44,9 @@ export default class CGuidelines extends MixinBase {
|
|||||||
const mydata = {
|
const mydata = {
|
||||||
'profile.saw_and_accepted': UserStore.state.my.profile.saw_and_accepted
|
'profile.saw_and_accepted': UserStore.state.my.profile.saw_and_accepted
|
||||||
}
|
}
|
||||||
|
this.aggiorna_guideline()
|
||||||
|
|
||||||
|
console.log('DOPO saw_and_accepted', UserStore.state.my.profile.saw_and_accepted)
|
||||||
|
|
||||||
tools.saveFieldToServer(this, 'users', UserStore.state.my._id, mydata)
|
tools.saveFieldToServer(this, 'users', UserStore.state.my._id, mydata)
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -3,125 +3,179 @@
|
|||||||
|
|
||||||
<CTitleBanner title="AYNI GIFT*ECOnomy"></CTitleBanner>
|
<CTitleBanner title="AYNI GIFT*ECOnomy"></CTitleBanner>
|
||||||
<CImgText src="">
|
<CImgText src="">
|
||||||
<p class="cltexth3 text-green-8 q-ma-sm"><span class="boldhigh">Movimento di ECOnomia Solidale</span></p>
|
<p class="cltexth3 text-green-8 q-ma-sm"><span
|
||||||
|
class="boldhigh">Movimento di ECOnomia Solidale ~ AYNI GIFT*ECOnomy</span></p>
|
||||||
<p>
|
<p>
|
||||||
Ayni è un movimento di economia solidale. Si basa sul concetto del <strong>regalo</strong>: <strong>io
|
<strong>Ayni</strong> è un movimento di economia solidale. Si basa sulla pratica del <strong>regalo</strong>,
|
||||||
regalo</strong> e ricevo in modo libero
|
del <strong>donare come risorsa e come
|
||||||
ed abbondante. È una struttura pensata e creata per permettere alle persone di aiutarsi e sostenersi fra di
|
ricchezza! Dare e donare mi apre al ricevere, crea relazioni basate sull’aiuto e la gratitudine</strong>, non
|
||||||
loro, in modo da realizzare i propri sogni. È un progetto serio che richiede, a chi ne fa parte, di
|
sul profitto.</p>
|
||||||
|
<p>
|
||||||
|
<strong>Ayni</strong> è pensata e creata per permettere alle persone di aiutarsi e sostenersi fra di loro, in
|
||||||
|
modo da realizzare
|
||||||
|
i propri sogni e i propri progetti di vita. È un progetto serio che richiede, a chi ne vuol far parte, di
|
||||||
comprendere che questo non è un sistema per guadagnare o un classico fondo di investimento, ma un modo per
|
comprendere che questo non è un sistema per guadagnare o un classico fondo di investimento, ma un modo per
|
||||||
recuperare quel fattore umano di aiuto reciproco attraverso il continuo sostegno dei nuovi membri supportati
|
recuperare quel fattore umano di aiuto reciproco attraverso il continuo sostegno e accompagnamento dei nuovi
|
||||||
da chi ha già fatto esperienza in movimenti di Economia Solidale, che la civiltà moderna capitalista
|
membri supportati da chi ha già fatto esperienza in questo e in altri movimenti di Economia Solidale, attraverso
|
||||||
(occidentale) ci sta facendo perdere.</p>
|
il fare Rete, creando così <strong>relazioni e esperienze di Valore, generando Ricchezza Reale</strong>.</p>
|
||||||
|
|
||||||
<p class="text-center"><strong>Strumenti necessari per far parte di AYNI</strong></p>
|
<p class="text-center"><strong>Strumenti necessari per far parte di AYNI</strong></p>
|
||||||
<ul class="lista">
|
<ul class="lista">
|
||||||
<li>Cellulare e/o computer</li>
|
<li>Cellulare e/o computer</li>
|
||||||
<li>App Telegram</li>
|
<li>App Telegram</li>
|
||||||
<li>App Zoom (per Video Conferenze)</li>
|
<li>App Zoom (per Video Conferenze)</li>
|
||||||
</ul>
|
</ul>
|
||||||
<p class="cltexth3 text-red q-ma-lg">Cosa devi fare per poter entrare in Ayni?</p>
|
<p class="cltexth3 text-red q-ma-lg">Cosa devi fare per poter entrare in <strong>Ayni</strong>?</p>
|
||||||
<p class="cltexth3 text-blue q-ma-lg">Fase 1: Accoglienza</p>
|
<p class="cltexth3 text-blue q-ma-lg">Fase 1: Accoglienza</p>
|
||||||
<ul class="lista">
|
<ul class="lista">
|
||||||
<li>Qualcuno ti ha invitato e ti ha dato il link di accesso al sito <strong>AYNI GIFT*ECOnomy.</strong></li>
|
<li>Qualcuno ti ha invitato e ti ha dato il link di accesso al sito <strong>AYNI GIFT*ECOnomy.</strong> e ti sei
|
||||||
<li>Entri nella chat Telegram <strong>PowerList</strong>, che ti supporterà nella ricerca degli invitati,
|
iscritto.
|
||||||
attraverso
|
|
||||||
l’esperienza e l’aiuto di chi ha già fatto il cammino.
|
|
||||||
</li>
|
</li>
|
||||||
<li>Quando avrai trovato i tuoi invitati, potrai a tua volta sostenere i nuovi arrivati in chat.</li>
|
<li>Entri nella chat Telegram <strong>Ayni EMPOWER</strong>, luogo dove ci incontriamo, accogliamo i nuovi
|
||||||
<li>Entri nella chat Telegram <strong>Ayni-BiblioBacheca</strong> che è una chat di informazioni in cui verranno
|
invitati, e ci aiutiamo a sostenere e ad espandere la nostra visione e il movimento.
|
||||||
postate
|
|
||||||
giornalmente notizie e novità sul movimento.
|
|
||||||
</li>
|
</li>
|
||||||
<li>Nella chat Telegram <strong>Ayni Help & Support</strong> potrai entrare ogni volta che avrai domande o
|
<li>
|
||||||
dubbi, troverai lo
|
Entri nel Canale Telegram <strong>AYNI BIBLIO</strong> che è un canale di informazioni in cui vengono postati
|
||||||
Staff di Ayni ad aiutarti.
|
comunicati,
|
||||||
|
notizie e novità sul movimento.
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
Infine abbiamo Telegram <strong>AYNI HELP</strong> dove puoi entrare ogni volta che dovessero sorgerti domande
|
||||||
|
o dubbi,
|
||||||
|
trovando un aiuto pratico a tua disposizione.
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
<p class="cltexth3 text-blue q-ma-lg">Fase 2: Completamento dei requisiti richiesti</p>
|
<p class="cltexth3 text-blue q-ma-lg">Fase 2: Completamento dei requisiti richiesti</p>
|
||||||
<ol class="lista">
|
<ol class="lista">
|
||||||
<li>Leggere le Linee Guida ed accettare tutte le condizioni richieste.</li>
|
<li>Leggere ed accettare le nostre Linee Guida e Guardare i Video Introduttivi al Movimento.</li>
|
||||||
<li>Vedere i Video Introduttivi al Movimento.</li>
|
<li>Assistere ad uno <strong>Zoom di Benvenuto</strong> (Video-Conferenza) in cui potrai conoscere il movimento, parlare
|
||||||
<li>Assistere ad uno <strong>Zoom di Benvenuto</strong> in cui potrai parlare direttamente con gli
|
direttamente con i membri dello Staff, risolvere e chiarire eventuali dubbi.
|
||||||
Amministratori e porre
|
|
||||||
tutte le tue domande.
|
|
||||||
</li>
|
</li>
|
||||||
<li>Scrivere <strong>il tuo Sogno</strong> per il quale sei entrato in Ayni e che desideri realizzare.</li>
|
<li>Scrivere <strong>il tuo Sogno</strong>: qual è la cosa o il progetto che vorresti realizzare e che il tuo
|
||||||
<li>Attivare almeno <strong>2 metodi di pagamento</strong>, uno per il tuo paese di residenza ed uno per
|
Cuore desidera ardentemente?
|
||||||
transazioni
|
|
||||||
all’estero.<br>
|
|
||||||
PayPal è obbiligatorio, il trasferimento e gratuito e si possono collegare carte e conti correnti.<br>
|
|
||||||
Sono consigliati il Conto Revolut o N26 per le transazioni estere.
|
|
||||||
</li>
|
</li>
|
||||||
<li>Trovare a tua volta <strong>almeno 2 invitati</strong> (<strong>consigliati 3</strong>) invitando più
|
<li>Attivare almeno <strong>2 metodi di pagamento</strong>.
|
||||||
persone ad assistere agli Zoom di
|
<strong>PayPal</strong> è obbligatorio (occorrono 2 minuti per attivarlo).
|
||||||
Benvenuto ed assisterli nella registrazione sul sito <strong>AYNI GIFT*ECOnomy</strong>.
|
Ti consente trasferimenti gratuiti in area Euro e puoi collegarci carte e conti
|
||||||
|
correnti. I tuoi dati sono al sicuro e non condivisi con il ricevente.
|
||||||
|
Sono consigliati il conto <strong>Revolut</strong> o <strong>N26</strong> come seconda opzione e <strong>Western Union</strong>, Xoom o TransferWise nei casi di
|
||||||
|
regali extraeuropei.
|
||||||
|
</li>
|
||||||
|
<li>Invitare, invitare, invitare. Accompagnare le persone ad un Zoom di Benvenuto e assisterli nella
|
||||||
|
registrazione al sito. Il movimento è un organismo vivente di cui ora anche tu fai parte. Per ciò ti viene
|
||||||
|
richiesto di coinvolgere attivamente almeno 2 persone, <strong>ne consigliamo 3 in su</strong>, non penso solo a
|
||||||
|
me, ma anche agli altri che ne fanno parte, garantendo e <strong>sostenendo così la solidarietà</strong> dello stesso.
|
||||||
</li>
|
</li>
|
||||||
</ol>
|
</ol>
|
||||||
|
|
||||||
<p class="cltexth3 text-blue q-ma-lg">Fase 3: Programmazione della Billettera</p>
|
<p class="cltexth3 text-blue q-ma-lg">Fase 3: Programmazione e Attivazione della Billettera</p>
|
||||||
|
|
||||||
<p>Ti verrà comunicato con anticipo la data in cui entrerai nella tua Billettera, il nominativo del Sognatore
|
<p>In AYNI La sequenza dei passaggi è programmata in anticipo, in modo da:</p>
|
||||||
a cui dovrai versare il tuo dono di 33€ ed i suoi estremi di pagamento.</p>
|
|
||||||
<br>
|
|
||||||
<p class="cltexth3 text-green-8 q-ma-lg"><span class="boldhigh">Ora il tuo viaggio comincia !!!</span></p>
|
|
||||||
|
|
||||||
<p class="text-center"><strong>Com’è composta strutturalmente una Billettera AYNI?</strong></p>
|
|
||||||
<p>La sequenza dei passaggi in AYNI è programmata in anticipo, così da</p>
|
|
||||||
<ul class="lista">
|
<ul class="lista">
|
||||||
<li>garantire che tutto il processo si svolga nei 3 passi previsti</li>
|
<li>garantire che i 3 passi del processo si svolgano nei tempi e nella forma previsti.</li>
|
||||||
<li>fare in modo di realizzare il processo in maniera semplice e automatizzata.</li>
|
<li>realizzare e concludere il processo in maniera semplice, godibile e semi-automatizzata.</li>
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
|
<p>La tua Billetera verrà programmata e tu entrerai in una chat coi tuoi compagni di viaggio. Allo stesso tempo,
|
||||||
<p class="cltexth4 text-blue q-ma-lg">I 3 passi</p>
|
ti verrà comunicata la data in cui la billetera sarà attivata e in cui potrai donare i 33€ e il nominativo e i
|
||||||
|
dati del Sognatore a cui fare il tuo dono.
|
||||||
<p>Dal momento in cui conosco il giorno della partenza della mia bigliettera, i seguenti passi da compiere
|
Conoscerai, inoltre, le date di ciascuno dei 3 passi.
|
||||||
saranno questi:</p>
|
|
||||||
|
|
||||||
<p class="step">Passo 1:</p>
|
|
||||||
<p class="grass">Entro nella chat Telegram come Donatore:</p>
|
|
||||||
<p>Il mio compito è fare il dono di 33€ al Sognatore.</p>
|
|
||||||
<p class="step">Passo 2:</p>
|
|
||||||
<p class="grass">Apro una chat Telegram e divento Mediatore:</p>
|
|
||||||
<p>il mio compito è quello di assicurarmi che tutti i Donatori facciano il Dono al Sognatore.
|
|
||||||
Il sistema invierà in automatico le istruzioni per fare il Dono, il Mediatore interverrà se ci saranno
|
|
||||||
eventuali problematiche con i metodi di pagamento scelti.</p>
|
|
||||||
<p class="step">Passo 3:</p>
|
|
||||||
<p class="grass">Apro una chat Telegram e divento Sognatore:</p>
|
|
||||||
<p>Il mio compito è quello di ricevere i Doni da tutti i Donatori, aprirmi all’abbondanza e celebrare.
|
|
||||||
</p>
|
</p>
|
||||||
<br>
|
|
||||||
|
|
||||||
<p style="font-size: 1rem;"><strong>Donatore</strong>: Colui che effettua il Dono di 33€.<br>
|
<p class="clBorderImportant" style="border-color: grey">
|
||||||
<strong>Mediatore</strong>: E’ l’intermediario tra i Donatori e il Sognatore.<br>
|
Le date di programmazione e dei passi sono intese come ‘<em>previsioni di attivazione e di completamento</em>’.
|
||||||
<strong>Sognatore</strong>: Colui che riceve i Doni.<br>
|
Nel caso
|
||||||
|
il flusso di persone e di invitati non consentisse di mantenere e realizzare quanto programmato nei tempi e
|
||||||
|
forma previsti, le date verranno riprogrammate per permettere il completamento di tutti e non lasciare che il
|
||||||
|
viaggio possa interrompersi.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<p>Nel fare esperienza dei 3 passi incontreremo e transiteremo in 3 personaggi:</p>
|
||||||
|
|
||||||
|
<p style=""><strong>Donatore</strong>: Colui che effettua il Dono di 33€.<br>
|
||||||
|
<strong>Mediatore</strong>: È il ponte, colui che mette in relazione Donatori e Sognatore.<br>
|
||||||
|
<strong>Sognatore</strong>: Colui che manifesta il suo sogno ricevendo i Doni.<br>
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<CTitleBanner title="Visualizza in Anteprima I 3 Passi (clicca qui)" bgcolor="bg-green-5" canopen="true" :visible="false" imgpreview="statics/images/passo_1.jpg">
|
||||||
|
<p>Dal momento in cui conosco il giorno della partenza della mia bigliettera, i passi da compiere
|
||||||
|
saranno questi:</p>
|
||||||
|
<div class="text-center">
|
||||||
|
<q-img src="statics/images/passo_1.jpg" class="img"></q-img>
|
||||||
|
</div>
|
||||||
|
<p class="grass">Entro nella chat Telegram come Donatore:</p>
|
||||||
|
<p>La chat è formata da 8 donatori e un mediatore.<br>
|
||||||
|
Il mio compito è di regalare 33€ al Sognatore (il mediatore mi guiderà nel processo).<br>
|
||||||
|
Il dono lo farò nella data di attivazione della billetera e del passo 1.</p>
|
||||||
|
<div class="text-center">
|
||||||
|
<q-img src="statics/images/passo_2.jpg" class="img"></q-img>
|
||||||
|
</div>
|
||||||
|
<p class="grass">Apro una chat Telegram e divento Mediatore:</p>
|
||||||
|
<p>La chat è formata da 8 donatori (che aiuterò ad entrare in chat) e da me, il Mediatore.<br>
|
||||||
|
|
||||||
|
Il mio compito è quello di assicurarmi che tutti i Donatori facciano il Dono al Sognatore.
|
||||||
|
Il sistema invierà in automatico le istruzioni per fare il Dono, il Mediatore (io) verificherà e accompagnerà
|
||||||
|
il
|
||||||
|
processo.<br>
|
||||||
|
Il passo 2, di norma, è attivato 4 giorni dopo il passo 1.</p>
|
||||||
|
<!--Contemporaneamente sono ancora attivo nella chat dove sono entrato nel passo 1 (stessa chat e stesse persone),
|
||||||
|
dove ora i ruoli sono ora cambiati, ovvero ci sono 8 mediatori (di cui uno sono io) e un Sognatore (il sognatore a
|
||||||
|
cui i donatori stanno facendo il dono).-->
|
||||||
|
|
||||||
|
<div class="text-center">
|
||||||
|
<q-img src="statics/images/passo_3.jpg" class="img"></q-img>
|
||||||
|
</div>
|
||||||
|
<p class="grass">Divento Sognatore:</p>
|
||||||
|
<p>La chat dove sono Sognatore è la stessa e con le stesse persone aperta nel passo 2 (dove io ero Mediatore) e
|
||||||
|
anche qui cambiano i ruoli, ovvero ora ci sono 8 mediatori e io, il Sognatore.<br>
|
||||||
|
Il mio compito è quello di aprirmi a ricevere i Doni da ciascun Donatore, completarmi e celebrare
|
||||||
|
l’Abbondanza.
|
||||||
|
<br>
|
||||||
|
Il passo 3, di norma, è attivato 4 giorni dopo il passo 2.<br>
|
||||||
|
<br>
|
||||||
|
</p>
|
||||||
|
|
||||||
|
</CTitleBanner>
|
||||||
|
|
||||||
|
<p class="text-blue-10 q-ma-lg clBorderImportant text-center" style="font-size: 1.15rem;">La Chat Automatica
|
||||||
|
<strong>AYNI BOT</strong> mi invierà
|
||||||
|
tutte le istruzioni che dovrò compiere,
|
||||||
|
al momento opportuno!</p>
|
||||||
|
|
||||||
|
|
||||||
|
<p class="cltexth2 text-green-8 q-ma-lg"><span class="boldhigh">Bene... Ora mettiti comodo, il tuo viaggio è cominciato!</span>
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
<div v-if="showconditions">
|
<div v-if="showconditions">
|
||||||
<p> </p>
|
<p> </p>
|
||||||
<CTitleBanner title="Condizioni da Accettare:"></CTitleBanner>
|
<CTitleBanner title="Condizioni da Accettare:" bgcolor="bg-red-5"></CTitleBanner>
|
||||||
<ul class="lista">
|
<ul class="lista-small">
|
||||||
<li>dichiaro di aver letto e ben compreso le linee guida del movimento AYNI</li>
|
<li>dichiaro di aver letto e ben compreso le linee guida del movimento AYNI</li>
|
||||||
|
|
||||||
<li>dichiaro di aver ben compreso gli impegni che prendo iscrivendomi a AYNI (portare 2 persone, ragalo 33 €) e di
|
<li>dichiaro di aver ben compreso gli impegni che prendo iscrivendomi a AYNI (portare 2 persone, ragalo 33 €)
|
||||||
|
e di
|
||||||
aver compreso che senza non verrò inserito in programmazione.
|
aver compreso che senza non verrò inserito in programmazione.
|
||||||
</li>
|
</li>
|
||||||
|
|
||||||
<li>dichiaro di aver ben compreso che <strong>non è un fondo di investimento e che il mio regalo è a fondo perduto</strong>
|
<li>dichiaro di aver ben compreso che <strong>non è un fondo di investimento e che il mio regalo è a fondo
|
||||||
|
perduto</strong>
|
||||||
</li>
|
</li>
|
||||||
|
|
||||||
<li>dichiaro di aver ben compreso che devo <strong>partecipare almeno ad uno ZOOM</strong> (Video-Conferenza On Line)</li>
|
<li>dichiaro di aver ben compreso che devo <strong>partecipare almeno ad uno ZOOM</strong> (Video-Conferenza
|
||||||
|
On Line)
|
||||||
|
</li>
|
||||||
|
|
||||||
<li>dichiaro di aver ben compreso che per la mia sicurezza devo aprire un <strong>conto Paypal</strong> per consegnare il regalo.
|
<li>dichiaro di aver ben compreso che per la mia sicurezza devo aprire un <strong>conto Paypal</strong> per
|
||||||
|
consegnare il regalo.
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
|
|
||||||
<q-checkbox
|
<q-checkbox
|
||||||
class="bg-grey-4"
|
class="bg-grey-4"
|
||||||
v-model="accetta_guideline"
|
v-model="myguideline"
|
||||||
color="primary"
|
color="primary"
|
||||||
|
@input="changeval"
|
||||||
:label="$t('steps.read_guidelines')">
|
:label="$t('steps.read_guidelines')">
|
||||||
|
|
||||||
</q-checkbox>
|
</q-checkbox>
|
||||||
|
|||||||
@@ -16,14 +16,11 @@ import { CRequisito } from '../CRequisito'
|
|||||||
import translate from '../../globalroutines/util'
|
import translate from '../../globalroutines/util'
|
||||||
import { tools } from '../../store/Modules/tools'
|
import { tools } from '../../store/Modules/tools'
|
||||||
import { lists } from '../../store/Modules/lists'
|
import { lists } from '../../store/Modules/lists'
|
||||||
import { validations } from './CMyDashboard-validate'
|
|
||||||
import { validationMixin } from 'vuelidate'
|
|
||||||
import { shared_consts } from '../../common/shared_vuejs'
|
import { shared_consts } from '../../common/shared_vuejs'
|
||||||
|
import { CMyRequirement } from '../CMyRequirement'
|
||||||
|
|
||||||
@Component({
|
@Component({
|
||||||
mixins: [validationMixin],
|
components: { CProfile, CTitleBanner, CMyFieldDb, CCopyBtn, CUserBadge, CLegenda, CRequisito, CMyRequirement }
|
||||||
validations,
|
|
||||||
components: { CProfile, CTitleBanner, CMyFieldDb, CCopyBtn, CUserBadge, CLegenda, CRequisito }
|
|
||||||
})
|
})
|
||||||
|
|
||||||
export default class CMyDashboard extends MixinUsers {
|
export default class CMyDashboard extends MixinUsers {
|
||||||
@@ -45,122 +42,6 @@ export default class CMyDashboard extends MixinUsers {
|
|||||||
|
|
||||||
@Prop({ required: true }) public username
|
@Prop({ required: true }) public username
|
||||||
|
|
||||||
|
|
||||||
public arrrequisiti = [
|
|
||||||
{
|
|
||||||
icon: 'email',
|
|
||||||
textlang: 'reg.verified_email',
|
|
||||||
textadd(user) {
|
|
||||||
return ''
|
|
||||||
},
|
|
||||||
isok(user) {
|
|
||||||
if (user)
|
|
||||||
return user.verified_email
|
|
||||||
else
|
|
||||||
return false
|
|
||||||
},
|
|
||||||
info: '',
|
|
||||||
},
|
|
||||||
{
|
|
||||||
icon: 'fab fa-telegram',
|
|
||||||
textlang: 'reg.telegram',
|
|
||||||
textadd(user) {
|
|
||||||
return ''
|
|
||||||
},
|
|
||||||
isok(user) {
|
|
||||||
if (user)
|
|
||||||
if (user.profile)
|
|
||||||
return user.profile.teleg_id > 0
|
|
||||||
|
|
||||||
return false
|
|
||||||
},
|
|
||||||
info: '',
|
|
||||||
},
|
|
||||||
{
|
|
||||||
icon: 'fas fa-file-signature',
|
|
||||||
textlang: 'steps.linee_guida',
|
|
||||||
textadd(user) {
|
|
||||||
return ''
|
|
||||||
},
|
|
||||||
isok(user) {
|
|
||||||
if (user)
|
|
||||||
if (user.profile)
|
|
||||||
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: '',
|
|
||||||
},
|
|
||||||
{
|
|
||||||
icon: 'fas fa-heart',
|
|
||||||
textlang: 'steps.dream',
|
|
||||||
textadd(user) {
|
|
||||||
return ''
|
|
||||||
},
|
|
||||||
isok(user) {
|
|
||||||
if (user)
|
|
||||||
if (user.profile.my_dream)
|
|
||||||
return user.profile.my_dream.length > 20
|
|
||||||
else
|
|
||||||
return false
|
|
||||||
},
|
|
||||||
info: '',
|
|
||||||
},
|
|
||||||
{
|
|
||||||
icon: 'far fa-credit-card',
|
|
||||||
textlang: 'steps.paymenttype',
|
|
||||||
textadd(user) {
|
|
||||||
return ''
|
|
||||||
},
|
|
||||||
isok(user) {
|
|
||||||
let ispaypal = false
|
|
||||||
if (user) {
|
|
||||||
if (!!user.profile.paymenttypes) {
|
|
||||||
if (user.profile.paymenttypes.includes('paypal')) {
|
|
||||||
if (user.profile.email_paypal) {
|
|
||||||
ispaypal = true
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if (!!user.profile)
|
|
||||||
if (!!user.profile.paymenttypes) {
|
|
||||||
const ris = (user.profile.paymenttypes.length >= 2) && ispaypal
|
|
||||||
return ris
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return false
|
|
||||||
},
|
|
||||||
info: '',
|
|
||||||
},
|
|
||||||
{
|
|
||||||
icon: 'fas fa-users',
|
|
||||||
textlang: 'dashboard.numinvitati',
|
|
||||||
textadd(user) {
|
|
||||||
return ' (' + user.numinvitatiattivi + ' / ' + user.numinvitati + ')'
|
|
||||||
},
|
|
||||||
isok(user) {
|
|
||||||
if (user) {
|
|
||||||
return user.numinvitatiattivi >= 2
|
|
||||||
}
|
|
||||||
},
|
|
||||||
info: '',
|
|
||||||
},
|
|
||||||
]
|
|
||||||
|
|
||||||
@Watch('UserStore.state.my.dashboard')
|
@Watch('UserStore.state.my.dashboard')
|
||||||
public changedash() {
|
public changedash() {
|
||||||
console.log('changedash')
|
console.log('changedash')
|
||||||
@@ -209,85 +90,4 @@ export default class CMyDashboard extends MixinUsers {
|
|||||||
this.seluser = user
|
this.seluser = user
|
||||||
}
|
}
|
||||||
|
|
||||||
public isextralist(user) {
|
|
||||||
return !!user.cell_complete
|
|
||||||
}
|
|
||||||
|
|
||||||
public ismyinvited_notreg(user) {
|
|
||||||
return this.dashboard.downnotreg.find((rec) => rec.ind_order === user.ind_order)
|
|
||||||
}
|
|
||||||
|
|
||||||
public ismydownline(user) {
|
|
||||||
return this.dashboard.downline.find((rec) => rec.username === user.username)
|
|
||||||
}
|
|
||||||
|
|
||||||
public async deleteUserFromExtraList(user) {
|
|
||||||
|
|
||||||
await tools.askConfirm(this.$q, translate('reg.cancella_invitato'), translate('reg.cancella_invitato') + ' ' + user.name + ' ' + user.surname + '?', translate('dialog.yes'), translate('dialog.no'), this, '', lists.MenuAction.DELETE_EXTRALIST, 0, {
|
|
||||||
param1: user,
|
|
||||||
param2: true
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
||||||
public async deleteUserFromUsersList(user) {
|
|
||||||
|
|
||||||
await tools.askConfirm(this.$q, translate('reg.cancella_invitato'), translate('reg.cancella_invitato') + ' ' + user.name + ' ' + user.surname + '?', translate('dialog.yes'), translate('dialog.no'), this, '', lists.MenuAction.DELETE_USERLIST, 0, {
|
|
||||||
param1: user,
|
|
||||||
param2: true
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
||||||
public async RegalaInvitato(user, aportador_solidario, notifBottxt) {
|
|
||||||
let notiftxt = ''
|
|
||||||
if (this.notifBot)
|
|
||||||
notiftxt = notifBottxt
|
|
||||||
|
|
||||||
await tools.askConfirm(this.$q, translate('reg.regala_invitato'), translate('reg.regala_invitato') + ' ' + user.name + ' ' + user.surname + ' a ' + aportador_solidario + ' ?', translate('dialog.yes'), translate('dialog.no'), this, '', lists.MenuAction.REGALA_INVITATO, 0, {
|
|
||||||
param1: user,
|
|
||||||
param2: aportador_solidario,
|
|
||||||
param3: notiftxt
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
||||||
public errorMsg(cosa: string, item: any) {
|
|
||||||
try {
|
|
||||||
if (!item.$error) {
|
|
||||||
return ''
|
|
||||||
}
|
|
||||||
|
|
||||||
if (item.required !== undefined) {
|
|
||||||
if (!item.required) {
|
|
||||||
return this.$t('reg.err.required')
|
|
||||||
}
|
|
||||||
|
|
||||||
} else if (cosa === 'aportador_solidario') {
|
|
||||||
// console.log(item);
|
|
||||||
if (!item.aportadorexist) {
|
|
||||||
// console.log('!item.aportadorexist !')
|
|
||||||
return this.$t('reg.err.aportador_regalare_not_exist')
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return ''
|
|
||||||
} catch (error) {
|
|
||||||
// console.log("ERR : " + error);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
get allowSubmit() {
|
|
||||||
let error = this.$v.$error || this.$v.$invalid
|
|
||||||
|
|
||||||
error = error || (this.aportador_solidario === this.seluser.aportador_solidario)
|
|
||||||
|
|
||||||
return !error
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
get getnotifBotTxt() {
|
|
||||||
return this.$t('dashboard.ricevuto_dono', {
|
|
||||||
invitato: this.seluser.name + ' ' + this.seluser.surname,
|
|
||||||
mittente: this.dashboard.myself.username
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -3,6 +3,13 @@
|
|||||||
<CTitleBanner class="q-pa-xs" :title="$t('pages.dashboard')" bgcolor="bg-info" clcolor="text-white"
|
<CTitleBanner class="q-pa-xs" :title="$t('pages.dashboard')" bgcolor="bg-info" clcolor="text-white"
|
||||||
mystyle=" " myclass="myshad">
|
mystyle=" " myclass="myshad">
|
||||||
|
|
||||||
|
<div v-if="!!dashboard.myself.name">
|
||||||
|
|
||||||
|
|
||||||
|
<CMyRequirement :myseluser="dashboard.myself" :mydashboard="dashboard">
|
||||||
|
|
||||||
|
</CMyRequirement>
|
||||||
|
</div>
|
||||||
|
|
||||||
<CTitleBanner class="shadow-2" :title="$t('reg.aportador_solidario')" bgcolor="bg-accent"
|
<CTitleBanner class="shadow-2" :title="$t('reg.aportador_solidario')" bgcolor="bg-accent"
|
||||||
clcolor="text-white"
|
clcolor="text-white"
|
||||||
@@ -111,6 +118,7 @@
|
|||||||
bgcolor="bg-primary"
|
bgcolor="bg-primary"
|
||||||
clcolor="text-white"
|
clcolor="text-white"
|
||||||
mystyle=" " myclass="myshad" :canopen="true">
|
mystyle=" " myclass="myshad" :canopen="true">
|
||||||
|
<p class="q-ml-sm">Clicca sul nome dell'invitato per vedere lo stato dei suoi Requisiti.</p>
|
||||||
<q-list bordered class="rounded-borders row justify-between">
|
<q-list bordered class="rounded-borders row justify-between">
|
||||||
<CLegenda icon="fab fa-telegram" :text="`Telegram ` + $t('pages.statusreg.verified')"></CLegenda>
|
<CLegenda icon="fab fa-telegram" :text="`Telegram ` + $t('pages.statusreg.verified')"></CLegenda>
|
||||||
<CLegenda icon="fas fa-video" :text="$t('pages.statusreg.seezoom')"></CLegenda>
|
<CLegenda icon="fas fa-video" :text="$t('pages.statusreg.seezoom')"></CLegenda>
|
||||||
@@ -122,102 +130,17 @@
|
|||||||
<br>
|
<br>
|
||||||
|
|
||||||
<q-dialog v-model="showuserinfo">
|
<q-dialog v-model="showuserinfo">
|
||||||
<q-card v-if="seluser" :style="`min-width: `+ tools.myheight_dialog() + `px;`">
|
<q-card v-if="seluser" :style="`min-width: `+ tools.myheight_dialog() + `px;` ">
|
||||||
<q-toolbar class="bg-primary text-white">
|
<q-toolbar class="bg-primary text-white" style="min-height: 30px;">
|
||||||
<q-toolbar-title>
|
<q-toolbar-title>
|
||||||
Info:
|
{{$t('reg.requirement')}}
|
||||||
</q-toolbar-title>
|
</q-toolbar-title>
|
||||||
<q-btn flat round color="white" icon="close" v-close-popup></q-btn>
|
<q-btn flat round color="white" icon="close" v-close-popup></q-btn>
|
||||||
</q-toolbar>
|
</q-toolbar>
|
||||||
<q-card-section class="inset-shadow">
|
<q-card-section class="inset-shadow" style="padding: 4px !important;">
|
||||||
<CTitleBanner class="shadow-2 rounded-borders" :title="seluser.name + ` ` + seluser.surname"
|
<CMyRequirement :myseluser="seluser" :mydashboard="dashboard" :notitle="false">
|
||||||
bgcolor="bg-primary"
|
|
||||||
clcolor="text-white"
|
|
||||||
mystyle=" " myclass="myshad" :canopen="true">
|
|
||||||
|
|
||||||
|
</CMyRequirement>
|
||||||
<div v-if="!ismyinvited_notreg(seluser)" class="text-center">
|
|
||||||
|
|
||||||
<div v-if="!isextralist(seluser)">
|
|
||||||
<div v-for="req of arrrequisiti">
|
|
||||||
<CRequisito :icon="req.icon" :text="$t(req.textlang) + req.textadd(seluser)" :isok="req.isok(seluser)"
|
|
||||||
:info="req.info"></CRequisito>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div v-if="ismydownline(seluser)">
|
|
||||||
<CTitleBanner class="shadow-2 rounded-borders" :title="$t('reg.regala_invitato')"
|
|
||||||
bgcolor="bg-positive"
|
|
||||||
clcolor="text-white"
|
|
||||||
:visible="false"
|
|
||||||
mystyle=" " myclass="myshad" :canopen="true">
|
|
||||||
|
|
||||||
<div class="column q-gutter-sm justify-center text-center">
|
|
||||||
<q-input
|
|
||||||
bg-color="lightblue"
|
|
||||||
v-model="aportador_solidario"
|
|
||||||
rounded outlined
|
|
||||||
@blur="$v.aportador_solidario.$touch"
|
|
||||||
:error="$v.aportador_solidario.$error"
|
|
||||||
:error-message="errorMsg('aportador_solidario', $v.aportador_solidario)"
|
|
||||||
maxlength="20"
|
|
||||||
debounce="1000"
|
|
||||||
|
|
||||||
:label="$t('reg.username_regala_invitato')">
|
|
||||||
|
|
||||||
<template v-slot:prepend>
|
|
||||||
<q-icon name="person"/>
|
|
||||||
</template>
|
|
||||||
|
|
||||||
</q-input>
|
|
||||||
|
|
||||||
<q-toggle v-model="notifBot" :label="$t('dashboard.sendnotification')"/>
|
|
||||||
|
|
||||||
<q-btn class="q-ma-sm" rounded color="positive" text-color="white" icon="fas fa-gift"
|
|
||||||
:label="$t('reg.regala_invitato')"
|
|
||||||
:disabled='!allowSubmit'
|
|
||||||
@click="RegalaInvitato(seluser, aportador_solidario, getnotifBotTxt)"></q-btn>
|
|
||||||
</div>
|
|
||||||
</CTitleBanner>
|
|
||||||
|
|
||||||
<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"
|
|
||||||
:visible="false"
|
|
||||||
mystyle=" " myclass="myshad" :canopen="true">
|
|
||||||
|
|
||||||
<q-btn rounded text-color="red" icon="delete"
|
|
||||||
:label="$t('reg.cancella_invitato')"
|
|
||||||
@click="deleteUserFromUsersList(seluser)"></q-btn>
|
|
||||||
</CTitleBanner>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
<div v-else>
|
|
||||||
<div class="column justify-center q-gutter-sm q-pa-sm">
|
|
||||||
|
|
||||||
<CRequisito icon="fas fa-user" :text="$t('dashboard.notreg')" :isok="false"
|
|
||||||
info=""></CRequisito>
|
|
||||||
|
|
||||||
<CTitleBanner class="shadow-2 rounded-borders text-center"
|
|
||||||
:title="$t('reg.cancella_invitato')"
|
|
||||||
bgcolor="bg-negative"
|
|
||||||
clcolor="text-white"
|
|
||||||
:visible="false"
|
|
||||||
mystyle=" " myclass="myshad" :canopen="true">
|
|
||||||
<q-btn rounded text-color="red" icon="delete" :label="$t('reg.cancella_invitato')"
|
|
||||||
@click="deleteUserFromExtraList(seluser)"></q-btn>
|
|
||||||
</CTitleBanner>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
|
|
||||||
</CTitleBanner>
|
|
||||||
</q-card-section>
|
</q-card-section>
|
||||||
</q-card>
|
</q-card>
|
||||||
</q-dialog>
|
</q-dialog>
|
||||||
|
|||||||
0
src/components/CMyRequirement/CMyRequirement.scss
Normal file
0
src/components/CMyRequirement/CMyRequirement.scss
Normal file
293
src/components/CMyRequirement/CMyRequirement.ts
Normal file
293
src/components/CMyRequirement/CMyRequirement.ts
Normal file
@@ -0,0 +1,293 @@
|
|||||||
|
import { Component, Prop, Watch } from 'vue-property-decorator'
|
||||||
|
|
||||||
|
import { UserStore } from '../../store/Modules'
|
||||||
|
import { DefaultUser } from '@src/store/Modules/UserStore'
|
||||||
|
|
||||||
|
import MixinUsers from '../../mixins/mixin-users'
|
||||||
|
import { CProfile } from '../CProfile'
|
||||||
|
import { CTitleBanner } from '../CTitleBanner'
|
||||||
|
import { CMyFieldDb } from '../CMyFieldDb'
|
||||||
|
import { CCopyBtn } from '../CCopyBtn'
|
||||||
|
import { CUserBadge } from '../CUserBadge'
|
||||||
|
import { CLegenda } from '../CLegenda'
|
||||||
|
import { IDashboard, IUserProfile } from '../../model'
|
||||||
|
import { IUserFields } from '../../model/UserStore'
|
||||||
|
import { CRequisito } from '../CRequisito'
|
||||||
|
import translate from '../../globalroutines/util'
|
||||||
|
import { tools } from '../../store/Modules/tools'
|
||||||
|
import { lists } from '../../store/Modules/lists'
|
||||||
|
import { validations } from './CMyRequirement-validate'
|
||||||
|
import { validationMixin } from 'vuelidate'
|
||||||
|
import { shared_consts } from '../../common/shared_vuejs'
|
||||||
|
|
||||||
|
@Component({
|
||||||
|
mixins: [validationMixin],
|
||||||
|
validations,
|
||||||
|
components: { CProfile, CTitleBanner, CMyFieldDb, CCopyBtn, CUserBadge, CLegenda, CRequisito }
|
||||||
|
})
|
||||||
|
|
||||||
|
export default class CMyRequirement extends MixinUsers {
|
||||||
|
@Prop({ required: true }) public myseluser
|
||||||
|
@Prop({ required: true }) public mydashboard
|
||||||
|
@Prop({ required: false, default: false }) public notitle
|
||||||
|
public $t
|
||||||
|
public $v
|
||||||
|
public $q
|
||||||
|
public notifBot: boolean = true
|
||||||
|
public aportador_solidario: string = ''
|
||||||
|
public seluser: IUserFields = DefaultUser
|
||||||
|
public dashboard: IDashboard = {
|
||||||
|
myself: DefaultUser,
|
||||||
|
aportador: DefaultUser,
|
||||||
|
numpeople_aportador: 0,
|
||||||
|
downline: [],
|
||||||
|
downnotreg: [],
|
||||||
|
downbyuser: []
|
||||||
|
}
|
||||||
|
|
||||||
|
@Watch('mydashboard')
|
||||||
|
public changedash() {
|
||||||
|
console.log('changedash')
|
||||||
|
this.dashboard = this.mydashboard
|
||||||
|
}
|
||||||
|
|
||||||
|
@Watch('myusersel')
|
||||||
|
public changemyusersel() {
|
||||||
|
console.log('myseluser')
|
||||||
|
this.seluser = this.myseluser
|
||||||
|
}
|
||||||
|
|
||||||
|
public arrrequisiti = [
|
||||||
|
{
|
||||||
|
icon: 'email',
|
||||||
|
textlang: 'reg.verified_email',
|
||||||
|
textadd(user) {
|
||||||
|
return ''
|
||||||
|
},
|
||||||
|
isok(user) {
|
||||||
|
if (user)
|
||||||
|
return user.verified_email
|
||||||
|
else
|
||||||
|
return false
|
||||||
|
},
|
||||||
|
info: '',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
icon: 'fab fa-telegram',
|
||||||
|
textlang: 'reg.telegram',
|
||||||
|
textadd(user) {
|
||||||
|
return ''
|
||||||
|
},
|
||||||
|
isok(user) {
|
||||||
|
if (user)
|
||||||
|
if (user.profile)
|
||||||
|
return user.profile.teleg_id > 0
|
||||||
|
|
||||||
|
return false
|
||||||
|
},
|
||||||
|
info: '',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
icon: 'fas fa-file-signature',
|
||||||
|
textlang: 'steps.linee_guida',
|
||||||
|
textadd(user) {
|
||||||
|
return ''
|
||||||
|
},
|
||||||
|
isok(user) {
|
||||||
|
if (user)
|
||||||
|
if (user.profile)
|
||||||
|
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: '',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
icon: 'fas fa-video',
|
||||||
|
textlang: 'steps.zoom',
|
||||||
|
textadd(user) {
|
||||||
|
return ''
|
||||||
|
},
|
||||||
|
isok(user) {
|
||||||
|
if (user) {
|
||||||
|
return user.profile.saw_zoom_presentation
|
||||||
|
}
|
||||||
|
|
||||||
|
},
|
||||||
|
info: '',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
icon: 'fas fa-heart',
|
||||||
|
textlang: 'steps.dream',
|
||||||
|
textadd(user) {
|
||||||
|
return ''
|
||||||
|
},
|
||||||
|
isok(user) {
|
||||||
|
if (user)
|
||||||
|
if (user.profile.my_dream)
|
||||||
|
return user.profile.my_dream.length > 20
|
||||||
|
else
|
||||||
|
return false
|
||||||
|
},
|
||||||
|
info: '',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
icon: 'far fa-credit-card',
|
||||||
|
textlang: 'steps.paymenttype',
|
||||||
|
textadd(user) {
|
||||||
|
return ''
|
||||||
|
},
|
||||||
|
isok(user) {
|
||||||
|
let ispaypal = false
|
||||||
|
if (user) {
|
||||||
|
if (!!user.profile.paymenttypes) {
|
||||||
|
if (user.profile.paymenttypes.includes('paypal')) {
|
||||||
|
if (user.profile.email_paypal) {
|
||||||
|
ispaypal = true
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (!!user.profile)
|
||||||
|
if (!!user.profile.paymenttypes) {
|
||||||
|
const ris = (user.profile.paymenttypes.length >= 1) && ispaypal
|
||||||
|
return ris
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return false
|
||||||
|
},
|
||||||
|
info: '',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
icon: 'fas fa-users',
|
||||||
|
textlang: 'steps.sharemovement',
|
||||||
|
textadd(user) {
|
||||||
|
return ''
|
||||||
|
},
|
||||||
|
isok(user) {
|
||||||
|
if (user) {
|
||||||
|
return user.numinvitati >= 2
|
||||||
|
}
|
||||||
|
},
|
||||||
|
info: '',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
icon: 'fas fa-users',
|
||||||
|
textlang: 'dashboard.inv_attivi',
|
||||||
|
textadd(user) {
|
||||||
|
return ' (' + user.numinvitatiattivi + ')'
|
||||||
|
},
|
||||||
|
isok(user) {
|
||||||
|
if (user) {
|
||||||
|
return user.numinvitatiattivi >= 2
|
||||||
|
}
|
||||||
|
},
|
||||||
|
info: '',
|
||||||
|
},
|
||||||
|
]
|
||||||
|
|
||||||
|
get mythis() {
|
||||||
|
return this
|
||||||
|
}
|
||||||
|
|
||||||
|
public created() {
|
||||||
|
this.dashboard = this.mydashboard
|
||||||
|
this.seluser = this.myseluser
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
public isextralist(user) {
|
||||||
|
return !!user.cell_complete
|
||||||
|
}
|
||||||
|
|
||||||
|
public ismyinvited_notreg(user) {
|
||||||
|
return this.dashboard.downnotreg.find((rec) => rec.ind_order === user.ind_order)
|
||||||
|
}
|
||||||
|
|
||||||
|
public ismydownline(user) {
|
||||||
|
return this.dashboard.downline.find((rec) => rec.username === user.username)
|
||||||
|
}
|
||||||
|
|
||||||
|
public async deleteUserFromExtraList(user) {
|
||||||
|
|
||||||
|
await tools.askConfirm(this.$q, translate('reg.cancella_invitato'), translate('reg.cancella_invitato') + ' ' + user.name + ' ' + user.surname + '?', translate('dialog.yes'), translate('dialog.no'), this, '', lists.MenuAction.DELETE_EXTRALIST, 0, {
|
||||||
|
param1: user,
|
||||||
|
param2: true
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
public async deleteUserFromUsersList(user) {
|
||||||
|
|
||||||
|
await tools.askConfirm(this.$q, translate('reg.cancella_invitato'), translate('reg.cancella_invitato') + ' ' + user.name + ' ' + user.surname + '?', translate('dialog.yes'), translate('dialog.no'), this, '', lists.MenuAction.DELETE_USERLIST, 0, {
|
||||||
|
param1: user,
|
||||||
|
param2: true
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
public async RegalaInvitato(user, aportador_solidario, notifBottxt) {
|
||||||
|
let notiftxt = ''
|
||||||
|
if (this.notifBot)
|
||||||
|
notiftxt = notifBottxt
|
||||||
|
|
||||||
|
await tools.askConfirm(this.$q, translate('reg.regala_invitato'), translate('reg.regala_invitato') + ' ' + user.name + ' ' + user.surname + ' a ' + aportador_solidario + ' ?', translate('dialog.yes'), translate('dialog.no'), this, '', lists.MenuAction.REGALA_INVITATO, 0, {
|
||||||
|
param1: user,
|
||||||
|
param2: aportador_solidario,
|
||||||
|
param3: notiftxt
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
public errorMsg(cosa: string, item: any) {
|
||||||
|
try {
|
||||||
|
if (!item.$error) {
|
||||||
|
return ''
|
||||||
|
}
|
||||||
|
|
||||||
|
if (item.required !== undefined) {
|
||||||
|
if (!item.required) {
|
||||||
|
return this.$t('reg.err.required')
|
||||||
|
}
|
||||||
|
|
||||||
|
} else if (cosa === 'aportador_solidario') {
|
||||||
|
// console.log(item);
|
||||||
|
if (!item.aportadorexist) {
|
||||||
|
// console.log('!item.aportadorexist !')
|
||||||
|
return this.$t('reg.err.aportador_regalare_not_exist')
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return ''
|
||||||
|
} catch (error) {
|
||||||
|
// console.log("ERR : " + error);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
get allowSubmit() {
|
||||||
|
let error = this.$v.$error || this.$v.$invalid
|
||||||
|
|
||||||
|
error = error || (this.aportador_solidario === this.seluser.aportador_solidario)
|
||||||
|
|
||||||
|
return !error
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
get getnotifBotTxt() {
|
||||||
|
return this.$t('dashboard.ricevuto_dono', {
|
||||||
|
invitato: this.seluser.name + ' ' + this.seluser.surname,
|
||||||
|
mittente: this.dashboard.myself.username
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
98
src/components/CMyRequirement/CMyRequirement.vue
Normal file
98
src/components/CMyRequirement/CMyRequirement.vue
Normal file
@@ -0,0 +1,98 @@
|
|||||||
|
<template>
|
||||||
|
<div>
|
||||||
|
<CTitleBanner class="shadow-2 rounded-borders" :title="$t('reg.requirement') + ` - ` + seluser.name + ` ` + seluser.surname + ``"
|
||||||
|
bgcolor="bg-primary"
|
||||||
|
clcolor="text-white"
|
||||||
|
mystyle=" " myclass="myshad" :canopen="true">
|
||||||
|
|
||||||
|
|
||||||
|
<div v-if="!ismyinvited_notreg(seluser)" class="text-center">
|
||||||
|
|
||||||
|
<div v-if="!isextralist(seluser)">
|
||||||
|
<div v-for="(req, index) of arrrequisiti">
|
||||||
|
<CRequisito :icon="req.icon" :text="(index + 1) + `. ` + $t(req.textlang) + req.textadd(seluser)" :isok="req.isok(seluser)"
|
||||||
|
:info="req.info"></CRequisito>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div v-if="ismydownline(seluser)">
|
||||||
|
<CTitleBanner class="shadow-2 rounded-borders" :title="$t('reg.regala_invitato')"
|
||||||
|
bgcolor="bg-positive"
|
||||||
|
clcolor="text-white"
|
||||||
|
:visible="false"
|
||||||
|
mystyle=" " myclass="myshad" :canopen="true">
|
||||||
|
|
||||||
|
<div class="column q-gutter-sm justify-center text-center">
|
||||||
|
<q-input
|
||||||
|
bg-color="lightblue"
|
||||||
|
v-model="aportador_solidario"
|
||||||
|
rounded outlined
|
||||||
|
@blur="$v.aportador_solidario.$touch"
|
||||||
|
:error="$v.aportador_solidario.$error"
|
||||||
|
:error-message="errorMsg('aportador_solidario', $v.aportador_solidario)"
|
||||||
|
maxlength="20"
|
||||||
|
debounce="1000"
|
||||||
|
|
||||||
|
:label="$t('reg.username_regala_invitato')">
|
||||||
|
|
||||||
|
<template v-slot:prepend>
|
||||||
|
<q-icon name="person"/>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
</q-input>
|
||||||
|
|
||||||
|
<q-toggle v-model="notifBot" :label="$t('dashboard.sendnotification')"/>
|
||||||
|
|
||||||
|
<q-btn class="q-ma-sm" rounded color="positive" text-color="white" icon="fas fa-gift"
|
||||||
|
:label="$t('reg.regala_invitato')"
|
||||||
|
:disabled='!allowSubmit'
|
||||||
|
@click="RegalaInvitato(seluser, aportador_solidario, getnotifBotTxt)"></q-btn>
|
||||||
|
</div>
|
||||||
|
</CTitleBanner>
|
||||||
|
|
||||||
|
<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"
|
||||||
|
:visible="false"
|
||||||
|
mystyle=" " myclass="myshad" :canopen="true">
|
||||||
|
|
||||||
|
<q-btn rounded text-color="red" icon="delete"
|
||||||
|
:label="$t('reg.cancella_invitato')"
|
||||||
|
@click="deleteUserFromUsersList(seluser)"></q-btn>
|
||||||
|
</CTitleBanner>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
<div v-else>
|
||||||
|
<div class="column justify-center q-gutter-sm q-pa-sm">
|
||||||
|
|
||||||
|
<CRequisito icon="fas fa-user" :text="$t('dashboard.notreg')" :isok="false"
|
||||||
|
info=""></CRequisito>
|
||||||
|
|
||||||
|
<CTitleBanner class="shadow-2 rounded-borders text-center"
|
||||||
|
:title="$t('reg.cancella_invitato')"
|
||||||
|
bgcolor="bg-negative"
|
||||||
|
clcolor="text-white"
|
||||||
|
:visible="false"
|
||||||
|
mystyle=" " myclass="myshad" :canopen="true">
|
||||||
|
<q-btn rounded text-color="red" icon="delete" :label="$t('reg.cancella_invitato')"
|
||||||
|
@click="deleteUserFromExtraList(seluser)"></q-btn>
|
||||||
|
</CTitleBanner>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
</CTitleBanner>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script lang="ts" src="./CMyRequirement.ts">
|
||||||
|
</script>
|
||||||
|
<style lang="scss" scoped>
|
||||||
|
@import './CMyRequirement.scss';
|
||||||
|
</style>
|
||||||
1
src/components/CMyRequirement/index.ts
Normal file
1
src/components/CMyRequirement/index.ts
Normal file
@@ -0,0 +1 @@
|
|||||||
|
export {default as CMyRequirement} from './CMyRequirement.vue'
|
||||||
@@ -22,7 +22,7 @@ export default class CNextZoom extends MixinBase {
|
|||||||
public $t
|
public $t
|
||||||
|
|
||||||
get listacalzoom() {
|
get listacalzoom() {
|
||||||
return GlobalStore.state.calzoom
|
return GlobalStore.state.calzoom.slice(-3)
|
||||||
}
|
}
|
||||||
|
|
||||||
get nextconf() {
|
get nextconf() {
|
||||||
|
|||||||
@@ -25,6 +25,8 @@ import { static_data } from '../../db/static_data'
|
|||||||
})
|
})
|
||||||
|
|
||||||
export default class CSignIn extends Vue {
|
export default class CSignIn extends Vue {
|
||||||
|
@Prop({required: true}) public showregbutt: boolean
|
||||||
|
|
||||||
public $v
|
public $v
|
||||||
public loading: boolean
|
public loading: boolean
|
||||||
public $t: any
|
public $t: any
|
||||||
|
|||||||
@@ -28,6 +28,7 @@
|
|||||||
v-model="signin.password"
|
v-model="signin.password"
|
||||||
type="password"
|
type="password"
|
||||||
rounded outlined dense
|
rounded outlined dense
|
||||||
|
v-on:keyup.enter="submit()"
|
||||||
@blur="$v.signin.password.$touch"
|
@blur="$v.signin.password.$touch"
|
||||||
:error="$v.signin.password.$error"
|
:error="$v.signin.password.$error"
|
||||||
:error-message="`${errorMsg('password', $v.signin.password)}`"
|
:error-message="`${errorMsg('password', $v.signin.password)}`"
|
||||||
@@ -37,9 +38,6 @@
|
|||||||
</template>
|
</template>
|
||||||
|
|
||||||
</q-input>
|
</q-input>
|
||||||
<div class="text-center" style="margin-bottom: 10px;">
|
|
||||||
<a :href="getlinkforgetpwd()" style="color:gray;">{{$t('reg.forgetpassword')}}</a>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
|
|
||||||
<!--<q-card class="flex flex-center">-->
|
<!--<q-card class="flex flex-center">-->
|
||||||
@@ -55,10 +53,15 @@
|
|||||||
:disable="$v.$error || iswaitingforRes">{{$t('login.enter')}}
|
:disable="$v.$error || iswaitingforRes">{{$t('login.enter')}}
|
||||||
</q-btn>
|
</q-btn>
|
||||||
</div>
|
</div>
|
||||||
<div v-if="static_data.functionality.ENABLE_REGISTRATION" align="center" style="margin-top:10px;">
|
<div v-if="static_data.functionality.ENABLE_REGISTRATION && showregbutt" align="center" style="margin-top:10px;">
|
||||||
<q-btn flat rounded size="md" color="primary" to="/signup" :label="$t('reg.submit')">
|
<q-btn flat rounded size="md" color="primary" to="/signup" :label="$t('reg.submit')">
|
||||||
</q-btn>
|
</q-btn>
|
||||||
</div>
|
</div>
|
||||||
|
<br>
|
||||||
|
|
||||||
|
<div class="text-center" style="margin-bottom: 10px;">
|
||||||
|
<a :href="getlinkforgetpwd()" style="color:gray;">{{$t('reg.forgetpassword')}}</a>
|
||||||
|
</div>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
</form>
|
</form>
|
||||||
|
|||||||
@@ -69,14 +69,17 @@ export default class CSignUpNotevole extends MixinBase {
|
|||||||
|
|
||||||
this.signup.aportador_solidario = this.$route.params.invited
|
this.signup.aportador_solidario = this.$route.params.invited
|
||||||
|
|
||||||
|
console.log('1) aportador_solidario', this.signup.aportador_solidario)
|
||||||
|
|
||||||
if (!this.signup.aportador_solidario)
|
if (!this.signup.aportador_solidario)
|
||||||
this.signup.aportador_solidario = tools.getCookie(tools.APORTADOR_SOLIDARIO, this.signup.aportador_solidario)
|
this.signup.aportador_solidario = tools.getCookie(tools.APORTADOR_SOLIDARIO, this.signup.aportador_solidario)
|
||||||
|
|
||||||
if (!this.signup.aportador_solidario) {
|
if (!this.signup.aportador_solidario || this.signup.aportador_solidario === 'undefined') {
|
||||||
this.signup.aportador_solidario = tools.APORTADOR_NONE
|
this.signup.aportador_solidario = tools.APORTADOR_NONE
|
||||||
}
|
}
|
||||||
this.$v.signup.aportador_solidario.$touch()
|
this.$v.signup.aportador_solidario.$touch()
|
||||||
|
|
||||||
|
console.log('this.signup.aportador_solidario', this.signup.aportador_solidario)
|
||||||
}
|
}
|
||||||
|
|
||||||
// @Watch('signup.already_registered')
|
// @Watch('signup.already_registered')
|
||||||
|
|||||||
@@ -28,6 +28,7 @@ export default class CStatus extends MixinBase {
|
|||||||
public step = 0
|
public step = 0
|
||||||
public steptodo = 0
|
public steptodo = 0
|
||||||
public NUMSTEP_OBBLIGATORI = 9
|
public NUMSTEP_OBBLIGATORI = 9
|
||||||
|
public my_dream: string = ''
|
||||||
|
|
||||||
get numpayment() {
|
get numpayment() {
|
||||||
if (UserStore.state.my.profile)
|
if (UserStore.state.my.profile)
|
||||||
@@ -143,7 +144,7 @@ export default class CStatus extends MixinBase {
|
|||||||
page: '/mydream',
|
page: '/mydream',
|
||||||
funccheck(index) {
|
funccheck(index) {
|
||||||
if (UserStore.state.my.profile.my_dream)
|
if (UserStore.state.my.profile.my_dream)
|
||||||
if (UserStore.state.my.profile.my_dream.length > 20)
|
if (UserStore.state.my.profile.my_dream.length > 10)
|
||||||
return true
|
return true
|
||||||
|
|
||||||
return false
|
return false
|
||||||
@@ -171,7 +172,7 @@ export default class CStatus extends MixinBase {
|
|||||||
}
|
}
|
||||||
if (UserStore.state.my.profile)
|
if (UserStore.state.my.profile)
|
||||||
if (UserStore.state.my.profile.paymenttypes)
|
if (UserStore.state.my.profile.paymenttypes)
|
||||||
return (UserStore.state.my.profile.paymenttypes.length >= 2) && ispaypal
|
return (UserStore.state.my.profile.paymenttypes.length >= 1) && ispaypal
|
||||||
|
|
||||||
}
|
}
|
||||||
return false
|
return false
|
||||||
@@ -190,6 +191,24 @@ export default class CStatus extends MixinBase {
|
|||||||
title: 'steps.sharemovement',
|
title: 'steps.sharemovement',
|
||||||
descr: 'steps.sharemovement_long',
|
descr: 'steps.sharemovement_long',
|
||||||
page: '/sharemovement',
|
page: '/sharemovement',
|
||||||
|
funccheck(index) {
|
||||||
|
if (UserStore.state.my.calcstat)
|
||||||
|
return UserStore.state.my.calcstat.numinvitati >= 2
|
||||||
|
},
|
||||||
|
funccheck_error(index) {
|
||||||
|
return true
|
||||||
|
},
|
||||||
|
funcok() {
|
||||||
|
return ''
|
||||||
|
},
|
||||||
|
funcko() {
|
||||||
|
return ''
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: 'dashboard.inv_attivi',
|
||||||
|
descr: 'steps.inv_attivi_long',
|
||||||
|
page: '',
|
||||||
funccheck(index) {
|
funccheck(index) {
|
||||||
if (UserStore.state.my.calcstat)
|
if (UserStore.state.my.calcstat)
|
||||||
return UserStore.state.my.calcstat.numinvitati_attivi >= 2
|
return UserStore.state.my.calcstat.numinvitati_attivi >= 2
|
||||||
@@ -316,6 +335,19 @@ export default class CStatus extends MixinBase {
|
|||||||
public created() {
|
public created() {
|
||||||
this.setstep()
|
this.setstep()
|
||||||
this.setsteptodo()
|
this.setsteptodo()
|
||||||
|
|
||||||
|
this.my_dream = UserStore.state.my.profile.my_dream
|
||||||
|
}
|
||||||
|
|
||||||
|
public change_mydream() {
|
||||||
|
if (UserStore.state.my.profile.my_dream !== this.my_dream) {
|
||||||
|
UserStore.state.my.profile.my_dream = this.my_dream
|
||||||
|
|
||||||
|
const mydata = {
|
||||||
|
'profile.my_dream': UserStore.state.my.profile.my_dream
|
||||||
|
}
|
||||||
|
tools.saveFieldToServer(this, 'users', UserStore.state.my._id, mydata)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
get TelegVerificato() {
|
get TelegVerificato() {
|
||||||
@@ -358,14 +390,14 @@ export default class CStatus extends MixinBase {
|
|||||||
return 0
|
return 0
|
||||||
}
|
}
|
||||||
|
|
||||||
public gettextstep(step) {
|
public gettextstep(step, index) {
|
||||||
let tit = this.$t(step.title)
|
let tit = (index + 1) + '. ' + this.$t(step.title)
|
||||||
|
|
||||||
if (step.funcok())
|
if (step.funcok())
|
||||||
tit += ' ' + this.$t(step.funcok())
|
tit += ' ' + this.$t(step.funcok())
|
||||||
|
|
||||||
if (step.title === 'steps.sharemovement') {
|
if (step.title === 'steps.sharemovement') {
|
||||||
tit += ' (' + this.getnuminvitati_attivi() + ' / ' + this.getnuminvitati() + ' invitati Attivi)'
|
tit += ' (' + this.getnuminvitati() + ' ' + this.$t('dashboard.downline') + ')'
|
||||||
} else if (step.title === 'steps.paymenttype') {
|
} else if (step.title === 'steps.paymenttype') {
|
||||||
tit += this.paymenttext
|
tit += this.paymenttext
|
||||||
}
|
}
|
||||||
@@ -458,7 +490,7 @@ export default class CStatus extends MixinBase {
|
|||||||
}
|
}
|
||||||
if (UserStore.state.my.profile)
|
if (UserStore.state.my.profile)
|
||||||
if (UserStore.state.my.profile.paymenttypes)
|
if (UserStore.state.my.profile.paymenttypes)
|
||||||
return (UserStore.state.my.profile.paymenttypes.length >= 2) && ispaypal
|
return (UserStore.state.my.profile.paymenttypes.length >= 1) && ispaypal
|
||||||
|
|
||||||
}
|
}
|
||||||
return false
|
return false
|
||||||
@@ -483,11 +515,11 @@ export default class CStatus extends MixinBase {
|
|||||||
}
|
}
|
||||||
|
|
||||||
get strpercstep() {
|
get strpercstep() {
|
||||||
return 'Completati ' + (this.getstep + 1) + ' passi su ' + this.NUMSTEP_OBBLIGATORI
|
return 'Completati ' + (this.getstep) + ' passi su ' + this.NUMSTEP_OBBLIGATORI
|
||||||
}
|
}
|
||||||
|
|
||||||
get stepcompleti() {
|
get stepcompleti() {
|
||||||
return this.getstep + 1 === this.NUMSTEP_OBBLIGATORI
|
return this.getstep === this.NUMSTEP_OBBLIGATORI
|
||||||
}
|
}
|
||||||
|
|
||||||
public scrolltostep(mystep) {
|
public scrolltostep(mystep) {
|
||||||
|
|||||||
@@ -49,7 +49,7 @@
|
|||||||
:id="`step`+(index)"
|
:id="`step`+(index)"
|
||||||
:key="mystep.title"
|
:key="mystep.title"
|
||||||
:name="index"
|
:name="index"
|
||||||
:title="gettextstep(mystep)"
|
:title="gettextstep(mystep, index)"
|
||||||
:icon="geticonstep(mystep)"
|
:icon="geticonstep(mystep)"
|
||||||
:done-color="geticoncolor(mystep.title)"
|
:done-color="geticoncolor(mystep.title)"
|
||||||
:done="mystep.funccheck(index)"
|
:done="mystep.funccheck(index)"
|
||||||
@@ -160,6 +160,15 @@
|
|||||||
<div v-if="mystep.descr">
|
<div v-if="mystep.descr">
|
||||||
<div v-html="$t(mystep.descr)"></div>
|
<div v-html="$t(mystep.descr)"></div>
|
||||||
</div>
|
</div>
|
||||||
|
<q-input v-model="my_dream" :label="$t('steps.dream')+' (min. 10 caratteri):'"
|
||||||
|
type="textarea" debounce="1000"
|
||||||
|
input-class="myinput-area-big"
|
||||||
|
autogrow
|
||||||
|
@input="change_mydream"
|
||||||
|
|
||||||
|
></q-input>
|
||||||
|
|
||||||
|
<!--
|
||||||
<CMyFieldDb :title="$t('reg.my_dream')"
|
<CMyFieldDb :title="$t('reg.my_dream')"
|
||||||
table="users"
|
table="users"
|
||||||
mykey="profile"
|
mykey="profile"
|
||||||
@@ -167,6 +176,7 @@
|
|||||||
:type="tools.FieldType.string"
|
:type="tools.FieldType.string"
|
||||||
>
|
>
|
||||||
</CMyFieldDb>
|
</CMyFieldDb>
|
||||||
|
-->
|
||||||
</div>
|
</div>
|
||||||
<div v-else-if="mystep.title === 'steps.chat_biblio'">
|
<div v-else-if="mystep.title === 'steps.chat_biblio'">
|
||||||
<div v-if="mystep.descr">
|
<div v-if="mystep.descr">
|
||||||
@@ -227,11 +237,9 @@
|
|||||||
<CRequisiti :statebool="getnuminvitati() >= 2" :msgTrue="$t('steps.sharemovement_hai_invitato')"
|
<CRequisiti :statebool="getnuminvitati() >= 2" :msgTrue="$t('steps.sharemovement_hai_invitato')"
|
||||||
:msgFalse="$t('steps.sharemovement_devi_invitare_almeno_2')">
|
:msgFalse="$t('steps.sharemovement_devi_invitare_almeno_2')">
|
||||||
</CRequisiti>
|
</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-btn class="q-mb-md" rounded size="md" color="primary" to="/dashboard"
|
||||||
|
:label="$t('pages.dashboard')"></q-btn>
|
||||||
|
|
||||||
<div v-if="mystep.descr">
|
<div v-if="mystep.descr">
|
||||||
<div v-html="$t(mystep.descr)"></div>
|
<div v-html="$t(mystep.descr)"></div>
|
||||||
@@ -257,9 +265,23 @@
|
|||||||
|
|
||||||
</CCopyBtn>
|
</CCopyBtn>
|
||||||
|
|
||||||
|
|
||||||
|
</div>
|
||||||
|
<div v-else-if="mystep.title === 'dashboard.inv_attivi'">
|
||||||
|
|
||||||
|
<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-btn class="q-mb-md" rounded size="md" color="primary" to="/dashboard"
|
<q-btn class="q-mb-md" rounded size="md" color="primary" to="/dashboard"
|
||||||
:label="$t('pages.dashboard')"></q-btn>
|
:label="$t('pages.dashboard')"></q-btn>
|
||||||
|
|
||||||
|
|
||||||
|
<div v-if="mystep.descr">
|
||||||
|
<div v-html="$t(mystep.descr)"></div>
|
||||||
|
</div>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
<div v-else-if="mystep.title === 'steps.enter_prog'">
|
<div v-else-if="mystep.title === 'steps.enter_prog'">
|
||||||
|
|
||||||
@@ -311,19 +333,19 @@
|
|||||||
<q-page-sticky expand position="top" v-if="!stepcompleti">
|
<q-page-sticky expand position="top" v-if="!stepcompleti">
|
||||||
<q-toolbar class="bg-yellow-7 glossy text-white">
|
<q-toolbar class="bg-yellow-7 glossy text-white">
|
||||||
<q-toolbar-title @click="scrolltostep(steptodo)">
|
<q-toolbar-title @click="scrolltostep(steptodo)">
|
||||||
<div class="flex flex-center">
|
<div class="flex flex-center q-mt-xs">
|
||||||
<q-linear-progress size="20px" :value="percstep" color="green" class="q-pa-xs q-mb-xs bg-red">
|
<div class="flex flex-center">
|
||||||
<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>
|
||||||
<q-badge color="white" text-color="grey-8" style="opacity: 0.9; font-size: 0.85rem;" :label="strpercstep"></q-badge>
|
</div>
|
||||||
</div>
|
<q-linear-progress size="lg" :value="percstep" color="green" class="q-pa-xs q-mb-xs bg-red">
|
||||||
</q-linear-progress>
|
</q-linear-progress>
|
||||||
</div>
|
</div>
|
||||||
<div class="flex flex-center">
|
<div class="flex flex-center q-mb-xs">
|
||||||
<q-badge color="white" text-color="green" :label="progressstep" class="wrap"
|
<q-badge color="white" text-color="blue" :label="progressstep" class="wrap"
|
||||||
style="font-size: 0.85rem; height:20px; font-weight: bold;"></q-badge>
|
style="font-size: 0.85rem; height:20px; font-weight: bold;"></q-badge>
|
||||||
</div>
|
</div>
|
||||||
</q-toolbar-title>
|
</q-toolbar-title>
|
||||||
<q-btn round dense icon="arrow_forward" @click="scrolltostep(steptodo)"></q-btn>
|
<q-btn round dense icon="arrow_forward" color="blue" @click="scrolltostep(steptodo)"></q-btn>
|
||||||
</q-toolbar>
|
</q-toolbar>
|
||||||
</q-page-sticky>
|
</q-page-sticky>
|
||||||
|
|
||||||
|
|||||||
@@ -33,6 +33,7 @@ export default class CTitleBanner extends Vue {
|
|||||||
@Prop({ required: false, default: '' }) public icon: string
|
@Prop({ required: false, default: '' }) public icon: string
|
||||||
@Prop({ required: false, default: true }) public visible: boolean
|
@Prop({ required: false, default: true }) public visible: boolean
|
||||||
@Prop({ required: false, default: false }) public canopen: boolean
|
@Prop({ required: false, default: false }) public canopen: boolean
|
||||||
|
@Prop({ required: false, default: '' }) public imgpreview: string
|
||||||
|
|
||||||
public myvisible: boolean = false
|
public myvisible: boolean = false
|
||||||
|
|
||||||
|
|||||||
@@ -22,6 +22,9 @@
|
|||||||
<div v-if="myvisible" class="rounded-borders">
|
<div v-if="myvisible" class="rounded-borders">
|
||||||
<slot></slot>
|
<slot></slot>
|
||||||
</div>
|
</div>
|
||||||
|
<div v-if="imgpreview" class="text-center cursor-pointer clBorderSteps" style="opacity: 0.5;" @click="myvisible = !myvisible">
|
||||||
|
<q-img :src="imgpreview" class="img"></q-img>
|
||||||
|
</div>
|
||||||
</q-slide-transition>
|
</q-slide-transition>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -20,6 +20,7 @@
|
|||||||
<!--<q-item-label caption lines="1">{{ user.email }}</q-item-label>-->
|
<!--<q-item-label caption lines="1">{{ user.email }}</q-item-label>-->
|
||||||
</q-item-section>
|
</q-item-section>
|
||||||
|
|
||||||
|
|
||||||
<q-item-section side>
|
<q-item-section side>
|
||||||
<div class="row q-gutter-xs justify-center items-center">
|
<div class="row q-gutter-xs justify-center items-center">
|
||||||
<q-btn v-if="isextralist(user)" fab-mini
|
<q-btn v-if="isextralist(user)" fab-mini
|
||||||
|
|||||||
@@ -3,7 +3,6 @@
|
|||||||
font-size: 0.75rem;
|
font-size: 0.75rem;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
.step{
|
.step{
|
||||||
font-size: 1.15rem;
|
font-size: 1.15rem;
|
||||||
font-weight: bold;
|
font-weight: bold;
|
||||||
|
|||||||
@@ -21,16 +21,21 @@ export default class CVideoPromo extends MixinBase {
|
|||||||
public $t: any
|
public $t: any
|
||||||
public $q
|
public $q
|
||||||
public msg: string = ''
|
public msg: string = ''
|
||||||
|
public accetta_saw_video: boolean = false
|
||||||
|
|
||||||
get static_data() {
|
get static_data() {
|
||||||
return static_data
|
return static_data
|
||||||
}
|
}
|
||||||
|
|
||||||
get accetta_saw_video() {
|
public created() {
|
||||||
return tools.isBitActive(UserStore.state.my.profile.saw_and_accepted, shared_consts.Accepted.CHECK_SEE_VIDEO_PRINCIPI)
|
this.aggiorna()
|
||||||
}
|
}
|
||||||
|
|
||||||
set accetta_saw_video(value) {
|
public aggiorna() {
|
||||||
|
this.accetta_saw_video = tools.isBitActive(UserStore.state.my.profile.saw_and_accepted, shared_consts.Accepted.CHECK_SEE_VIDEO_PRINCIPI)
|
||||||
|
}
|
||||||
|
|
||||||
|
public changeval(value) {
|
||||||
if (value)
|
if (value)
|
||||||
UserStore.state.my.profile.saw_and_accepted = tools.SetBit(UserStore.state.my.profile.saw_and_accepted, shared_consts.Accepted.CHECK_SEE_VIDEO_PRINCIPI)
|
UserStore.state.my.profile.saw_and_accepted = tools.SetBit(UserStore.state.my.profile.saw_and_accepted, shared_consts.Accepted.CHECK_SEE_VIDEO_PRINCIPI)
|
||||||
else
|
else
|
||||||
|
|||||||
@@ -8,7 +8,7 @@
|
|||||||
clcolor="text-white"
|
clcolor="text-white"
|
||||||
myclass="myshad" canopen="true" :visible="true">
|
myclass="myshad" canopen="true" :visible="true">
|
||||||
|
|
||||||
<CVideo myvideokey="dbscY8jWDMM">
|
<CVideo myvideokey="85zU-2A-Rxs">
|
||||||
|
|
||||||
</CVideo>
|
</CVideo>
|
||||||
</CTitleBanner>
|
</CTitleBanner>
|
||||||
@@ -42,6 +42,7 @@
|
|||||||
<q-checkbox
|
<q-checkbox
|
||||||
class="bg-grey-4"
|
class="bg-grey-4"
|
||||||
v-model="accetta_saw_video"
|
v-model="accetta_saw_video"
|
||||||
|
@input="changeval"
|
||||||
color="primary"
|
color="primary"
|
||||||
:label="$t('steps.saw_video_intro')">
|
:label="$t('steps.saw_video_intro')">
|
||||||
|
|
||||||
|
|||||||
@@ -154,10 +154,10 @@
|
|||||||
<!--<span class="text-white" v-if="Verificato"> {{$t('reg.verificato')}} </span>-->
|
<!--<span class="text-white" v-if="Verificato"> {{$t('reg.verificato')}} </span>-->
|
||||||
<!--<span class="text-white background-red" v-else> {{$t('reg.non_verificato')}} </span>-->
|
<!--<span class="text-white background-red" v-else> {{$t('reg.non_verificato')}} </span>-->
|
||||||
|
|
||||||
<div v-if="isLogged" id="user-actions" class="text-center">
|
<div v-if="isLogged" id="user-actions" class="column justify-center q-gutter-sm q-ma-sm center-150" >
|
||||||
<q-btn round color="primary" icon="person" to="/profile"></q-btn>
|
<q-btn rounded color="primary" icon="person" to="/profile">{{$t('pages.profile')}}</q-btn>
|
||||||
<!--<q-btn round color="warning" icon="lock"></q-btn>-->
|
<!--<q-btn round color="warning" icon="lock"></q-btn>-->
|
||||||
<q-btn round color="secondary" icon="exit_to_app" @click='logoutHandler'></q-btn>
|
<q-btn rounded color="negative" icon="exit_to_app" @click='logoutHandler'>{{$t('login.exit')}}</q-btn>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -55,3 +55,4 @@ export * from './CLegenda'
|
|||||||
export * from './CRequisito'
|
export * from './CRequisito'
|
||||||
export * from './CGuidelines'
|
export * from './CGuidelines'
|
||||||
export * from './CVideoPromo'
|
export * from './CVideoPromo'
|
||||||
|
export * from './CMyRequirement'
|
||||||
|
|||||||
@@ -75,7 +75,7 @@ const msgglobal = {
|
|||||||
entra_zoom: 'Entra in Zoom',
|
entra_zoom: 'Entra in Zoom',
|
||||||
linee_guida: 'Accetto le Linee Guida',
|
linee_guida: 'Accetto le Linee Guida',
|
||||||
video_intro: 'Vedo il Video di AYNI',
|
video_intro: 'Vedo il Video di AYNI',
|
||||||
zoom: 'Partecipo agli Zoom (Video Conferenza)',
|
zoom: 'Partecipo ad almeno 1 Zoom',
|
||||||
zoom_si_partecipato: 'Hai partecipato ad almeno 1 Zoom',
|
zoom_si_partecipato: 'Hai partecipato ad almeno 1 Zoom',
|
||||||
zoom_partecipa: '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_no_partecipato: 'Attualmente non hai ancora partecipato ad uno Zoom (è un requisito per poter entrare)',
|
||||||
@@ -84,14 +84,15 @@ const msgglobal = {
|
|||||||
sharemovement_devi_invitare_almeno_2: 'Ancora non hai invitato 2 persone',
|
sharemovement_devi_invitare_almeno_2: 'Ancora non hai invitato 2 persone',
|
||||||
sharemovement_hai_invitato: 'Hai invitato almeno 2 persone',
|
sharemovement_hai_invitato: 'Hai invitato almeno 2 persone',
|
||||||
sharemovement_invitati_attivi_si: 'Hai almeno 2 persone invitate Attive',
|
sharemovement_invitati_attivi_si: 'Hai almeno 2 persone invitate Attive',
|
||||||
sharemovement_invitati_attivi_no: '<strong>Nota Bene:</strong>Le persone che hai invitato, per essere Attive, devono essere verificati Telegram ed aver <strong>partecipato ad almeno 1 Zoom</strong>',
|
sharemovement_invitati_attivi_no: '<strong>Nota Bene:</strong>Le persone che hai invitato, per essere <strong>Attive</strong>, devono aver <strong>completato tutti i primi 7 Requisiti</strong> (vedi la tua <strong>Lavagna</strong> per capire cosa gli manca)',
|
||||||
sharemovement: 'Condivido questo Movimento Economico Solidale',
|
sharemovement: 'Invito almeno 2 persone',
|
||||||
sharemovement_long: 'Condividi il Movimento AYNI con almeno 2 amici (<strong>consigliate 3 persone</strong>) e invitali a partecipare agli Zoom di Benvenuto per entrare a far parte di questa grande Famiglia 😄 .<br>',
|
sharemovement_long: 'Condividi il Movimento AYNI con almeno 2 amici (<strong>consigliate 3 persone</strong>) e invitali a partecipare agli Zoom di Benvenuto per entrare a far parte di questa grande Famiglia 😄 .<br>',
|
||||||
|
inv_attivi_long: '',
|
||||||
enter_prog_status: '<strong>NOTA BENE:</strong> La Programmazione partirà appena possibile dopo che tutti si saranno registrati su questa piattaforma.<br>Comunicheremo noi le date in cui ognuno potrà partire ed effettuare così il proprio dono.<br>',
|
enter_prog_status: '<strong>NOTA BENE:</strong> La Programmazione partirà appena possibile dopo che tutti si saranno registrati su questa piattaforma.<br>Comunicheremo noi le date in cui ognuno potrà partire ed effettuare così il proprio dono.<br>',
|
||||||
enter_prog_completa_requisiti: 'Completa tutti i requisiti richiesti, per poter entrare in programmazione.',
|
enter_prog_completa_requisiti: 'Completa tutti i requisiti richiesti, per poter entrare in programmazione.',
|
||||||
enter_prog_requisiti_ok: 'Hai completato tutti i requisiti per poter accedere alla Programmazione',
|
enter_prog_requisiti_ok: 'Hai completato tutti i requisiti per poter accedere alla Programmazione',
|
||||||
enter_prog: 'Entro in Programmazione',
|
enter_prog: 'Entro in Programmazione',
|
||||||
enter_prog_long: 'Sottisfatti i requisiti richiesti entrerai in Programmazione, verrai aggiunto alla Bigliettera e nella chat di gruppo corrispondente.<br>',
|
enter_prog_long: 'Soddisfatti i requisiti richiesti entrerai in Programmazione, verrai aggiunto alla Bigliettera e nella chat di gruppo corrispondente.<br>',
|
||||||
collaborate: 'Collaborazione',
|
collaborate: 'Collaborazione',
|
||||||
collaborate_long: 'Continuo a collaborare con i miei compagni per arrivare al giorno della programmazione dove si attiverà la mia Bigliettera.',
|
collaborate_long: 'Continuo a collaborare con i miei compagni per arrivare al giorno della programmazione dove si attiverà la mia Bigliettera.',
|
||||||
dream: 'Scrivo il mio Sogno',
|
dream: 'Scrivo il mio Sogno',
|
||||||
@@ -143,7 +144,7 @@ const msgglobal = {
|
|||||||
authentication: {
|
authentication: {
|
||||||
telegram: {
|
telegram: {
|
||||||
open: 'Clicca qui per aprire il BOT Telegram e segui le istruzioni',
|
open: 'Clicca qui per aprire il BOT Telegram e segui le istruzioni',
|
||||||
ifclose: 'Se non si apre cliccando sul bottone oppure l\'avevi eliminato, cerca \'AYNI BOT\' nella ricerca di Telegram e premi Start',
|
ifclose: 'Se non si apre Telegram cliccando sul bottone oppure l\'avevi eliminato, vai su Telegram e cerca \'AYNI BOT\' dall\'icona della lente, poi premi Start e segui le istruzioni.',
|
||||||
openbot: 'Apri \'AYNI BOT\' su Telegram',
|
openbot: 'Apri \'AYNI BOT\' su Telegram',
|
||||||
},
|
},
|
||||||
login: {
|
login: {
|
||||||
@@ -186,7 +187,8 @@ const msgglobal = {
|
|||||||
downline: 'Invitati',
|
downline: 'Invitati',
|
||||||
downnotreg: 'Invitati non Registrati',
|
downnotreg: 'Invitati non Registrati',
|
||||||
notreg: 'Non Registrato',
|
notreg: 'Non Registrato',
|
||||||
numinvitati: 'Numero di Invitati',
|
inv_attivi: 'Invitati con i 7 Requisiti',
|
||||||
|
numinvitati: 'Almeno 2 Invitati',
|
||||||
telefono_wa: 'Contatta su Whatsapp chi non si è registrato',
|
telefono_wa: 'Contatta su Whatsapp chi non si è registrato',
|
||||||
sendnotification: 'Invia Notifica al Destinatario su Telegram BOT',
|
sendnotification: 'Invia Notifica al Destinatario su Telegram BOT',
|
||||||
ricevuto_dono: 'Hai ricevuto in Regalo un Invitato {invitato} da parte di {mittente} !'
|
ricevuto_dono: 'Hai ricevuto in Regalo un Invitato {invitato} da parte di {mittente} !'
|
||||||
@@ -250,12 +252,13 @@ const msgglobal = {
|
|||||||
selected:'Selezionati',
|
selected:'Selezionati',
|
||||||
img: 'Immagine',
|
img: 'Immagine',
|
||||||
date_reg: 'Data Reg.',
|
date_reg: 'Data Reg.',
|
||||||
|
requirement:'Requisiti',
|
||||||
perm: 'Permessi',
|
perm: 'Permessi',
|
||||||
username: 'Username (Pseudonimo)',
|
username: 'Username (Pseudonimo)',
|
||||||
username_short: 'Username',
|
username_short: 'Username',
|
||||||
name: 'Nome',
|
name: 'Nome',
|
||||||
surname: 'Cognome',
|
surname: 'Cognome',
|
||||||
username_login: 'Nome Utente o email',
|
username_login: 'Username o email',
|
||||||
password: 'Password',
|
password: 'Password',
|
||||||
repeatPassword: 'Ripeti password',
|
repeatPassword: 'Ripeti password',
|
||||||
terms: "Accetto i termini della privacy",
|
terms: "Accetto i termini della privacy",
|
||||||
@@ -278,7 +281,7 @@ const msgglobal = {
|
|||||||
email_not_exist: 'l\'Email non è presente in archivio, verificare se è corretta',
|
email_not_exist: 'l\'Email non è presente in archivio, verificare se è corretta',
|
||||||
duplicate_email: 'l\'Email è già stata registrata',
|
duplicate_email: 'l\'Email è già stata registrata',
|
||||||
user_already_exist: 'La registrazione con questi dati (nome, cognome e cellulare) è stata già effettuata. Per accedere al sito, cliccare sul bottone LOGIN dalla HomePage.',
|
user_already_exist: 'La registrazione con questi dati (nome, cognome e cellulare) è stata già effettuata. Per accedere al sito, cliccare sul bottone LOGIN dalla HomePage.',
|
||||||
user_extralist_not_found: 'Utente in archivio non trovato, inserire il Nome, Cognome e numero di cellulare inviato in precedenza',
|
user_extralist_not_found: 'Utente in archivio non trovato, inserire il Nome, Cognome e numero di cellulare comunicato nella lista nel 2019. Se questa è una nuova registrazione, dovete registrarvi tramite il LINK di chi vi sta invitando.',
|
||||||
user_not_this_aportador: 'Stai utilizzando un link di una persona diversa dal tuo invitato originale.',
|
user_not_this_aportador: 'Stai utilizzando un link di una persona diversa dal tuo invitato originale.',
|
||||||
duplicate_username: 'L\'Username è stato già utilizzato',
|
duplicate_username: 'L\'Username è stato già utilizzato',
|
||||||
aportador_not_exist: 'L\'Username di chi ti ha invitato non è presente. Contattaci.',
|
aportador_not_exist: 'L\'Username di chi ti ha invitato non è presente. Contattaci.',
|
||||||
@@ -307,7 +310,8 @@ const msgglobal = {
|
|||||||
login: {
|
login: {
|
||||||
page_title: 'Login',
|
page_title: 'Login',
|
||||||
incorso: 'Login in corso',
|
incorso: 'Login in corso',
|
||||||
enter: 'Login',
|
enter: 'Accedi',
|
||||||
|
esci: 'Esci',
|
||||||
errato: "Username o password errata. Riprovare",
|
errato: "Username o password errata. Riprovare",
|
||||||
completato: 'Login effettuato!',
|
completato: 'Login effettuato!',
|
||||||
needlogin: 'E\' necessario effettuare il login prima di continuare'
|
needlogin: 'E\' necessario effettuare il login prima di continuare'
|
||||||
@@ -671,6 +675,7 @@ const msgglobal = {
|
|||||||
manage_telegram: 'Gestori Telegram',
|
manage_telegram: 'Gestori Telegram',
|
||||||
img: 'File image',
|
img: 'File image',
|
||||||
date_reg: 'Fecha Reg.',
|
date_reg: 'Fecha Reg.',
|
||||||
|
requirement:'Requisitos',
|
||||||
perm: 'Permisos',
|
perm: 'Permisos',
|
||||||
username: 'Username (Apodo)',
|
username: 'Username (Apodo)',
|
||||||
username_short: 'Username',
|
username_short: 'Username',
|
||||||
@@ -720,6 +725,7 @@ const msgglobal = {
|
|||||||
page_title: 'Login',
|
page_title: 'Login',
|
||||||
incorso: 'Login en curso',
|
incorso: 'Login en curso',
|
||||||
enter: 'Entra',
|
enter: 'Entra',
|
||||||
|
esci: 'Salir',
|
||||||
errato: "Nombre de usuario, correo o contraseña incorrectos. inténtelo de nuevo",
|
errato: "Nombre de usuario, correo o contraseña incorrectos. inténtelo de nuevo",
|
||||||
completato: 'Login realizado!',
|
completato: 'Login realizado!',
|
||||||
needlogin: 'Debes iniciar sesión antes de continuar',
|
needlogin: 'Debes iniciar sesión antes de continuar',
|
||||||
@@ -1075,6 +1081,7 @@ const msgglobal = {
|
|||||||
manage_telegram: 'Gestori Telegram',
|
manage_telegram: 'Gestori Telegram',
|
||||||
img: 'Fichier image',
|
img: 'Fichier image',
|
||||||
date_reg: 'Date Inscript.',
|
date_reg: 'Date Inscript.',
|
||||||
|
requirement:'Exigences',
|
||||||
perm: 'Autorisations',
|
perm: 'Autorisations',
|
||||||
username: 'Username (Surnom)',
|
username: 'Username (Surnom)',
|
||||||
username_short: 'Username',
|
username_short: 'Username',
|
||||||
@@ -1124,6 +1131,7 @@ const msgglobal = {
|
|||||||
page_title: 'Login',
|
page_title: 'Login',
|
||||||
incorso: 'Connexion en cours',
|
incorso: 'Connexion en cours',
|
||||||
enter: 'Entrez',
|
enter: 'Entrez',
|
||||||
|
esci: 'Sortir',
|
||||||
errato: "Nom d'utilisateur, email ou mot de passe incorrect. réessayer",
|
errato: "Nom d'utilisateur, email ou mot de passe incorrect. réessayer",
|
||||||
completato: 'Connexion faite!',
|
completato: 'Connexion faite!',
|
||||||
needlogin: 'Vous devez vous connecter avant de continuer',
|
needlogin: 'Vous devez vous connecter avant de continuer',
|
||||||
@@ -1482,6 +1490,7 @@ const msgglobal = {
|
|||||||
manage_telegram: 'Gestori Telegram',
|
manage_telegram: 'Gestori Telegram',
|
||||||
img: 'File Image',
|
img: 'File Image',
|
||||||
date_reg: 'Reg. Date',
|
date_reg: 'Reg. Date',
|
||||||
|
requirement:'Requirements',
|
||||||
perm: 'Permissions',
|
perm: 'Permissions',
|
||||||
username_login: 'Username or email',
|
username_login: 'Username or email',
|
||||||
username: 'Username (Pseudonym)',
|
username: 'Username (Pseudonym)',
|
||||||
@@ -1530,6 +1539,7 @@ const msgglobal = {
|
|||||||
login: {
|
login: {
|
||||||
incorso: 'Login...',
|
incorso: 'Login...',
|
||||||
enter: 'Login',
|
enter: 'Login',
|
||||||
|
esci: 'Logout',
|
||||||
errato: "Username or password wrong. Please retry again",
|
errato: "Username or password wrong. Please retry again",
|
||||||
completato: 'Login successfully!',
|
completato: 'Login successfully!',
|
||||||
needlogin: 'You must login before continuing',
|
needlogin: 'You must login before continuing',
|
||||||
@@ -1889,6 +1899,7 @@ const msgglobal = {
|
|||||||
manage_telegram: 'Gestori Telegram',
|
manage_telegram: 'Gestori Telegram',
|
||||||
img: 'File Image',
|
img: 'File Image',
|
||||||
date_reg: 'Reg. Date',
|
date_reg: 'Reg. Date',
|
||||||
|
requirement:'Requirements',
|
||||||
perm: 'Permissions',
|
perm: 'Permissions',
|
||||||
username_login: 'Username or email',
|
username_login: 'Username or email',
|
||||||
username: 'Username (Pseudonym)',
|
username: 'Username (Pseudonym)',
|
||||||
@@ -1938,6 +1949,7 @@ const msgglobal = {
|
|||||||
page_title: 'Login',
|
page_title: 'Login',
|
||||||
incorso: 'Login...',
|
incorso: 'Login...',
|
||||||
enter: 'Login',
|
enter: 'Login',
|
||||||
|
esci: 'Logout',
|
||||||
errato: "Username or password wrong. Please retry again",
|
errato: "Username or password wrong. Please retry again",
|
||||||
completato: 'Login successfully!',
|
completato: 'Login successfully!',
|
||||||
needlogin: 'You must login before continuing',
|
needlogin: 'You must login before continuing',
|
||||||
|
|||||||
@@ -703,8 +703,8 @@ namespace Actions {
|
|||||||
}
|
}
|
||||||
|
|
||||||
const usertosend = {
|
const usertosend = {
|
||||||
username: authData.username,
|
username: authData.username.trim(),
|
||||||
password: authData.password,
|
password: authData.password.trim(),
|
||||||
lang: state.lang,
|
lang: state.lang,
|
||||||
subs: sub,
|
subs: sub,
|
||||||
options
|
options
|
||||||
|
|||||||
@@ -1542,7 +1542,7 @@ export const tools = {
|
|||||||
},
|
},
|
||||||
|
|
||||||
showNegativeNotif(q: any, msg) {
|
showNegativeNotif(q: any, msg) {
|
||||||
tools.showNotif(q, msg, { color: 'negative', icon: 'notifications' }, 8000)
|
tools.showNotif(q, msg, { color: 'negative', icon: 'notifications' }, 10000)
|
||||||
},
|
},
|
||||||
|
|
||||||
showNeutralNotif(q: any, msg) {
|
showNeutralNotif(q: any, msg) {
|
||||||
@@ -3164,6 +3164,10 @@ export const tools = {
|
|||||||
return 'fa-flag-ro'
|
return 'fa-flag-ro'
|
||||||
else if (lang === 'CL')
|
else if (lang === 'CL')
|
||||||
return 'fa-flag-cl'
|
return 'fa-flag-cl'
|
||||||
|
else if (lang === 'PL')
|
||||||
|
return 'fa-flag-pl'
|
||||||
|
else if (lang === 'EG')
|
||||||
|
return 'fa-flag-eg'
|
||||||
|
|
||||||
return ''
|
return ''
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
@@ -3235,6 +3239,10 @@ export const tools = {
|
|||||||
return 'Romania'
|
return 'Romania'
|
||||||
} else if (nat === 'CL') {
|
} else if (nat === 'CL') {
|
||||||
return 'Chile'
|
return 'Chile'
|
||||||
|
} else if (nat === 'PL') {
|
||||||
|
return 'Poland'
|
||||||
|
} else if (nat === 'EG') {
|
||||||
|
return 'Egypt'
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
|
|||||||
9
src/store/store-flag.d.ts
vendored
Normal file
9
src/store/store-flag.d.ts
vendored
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
// THIS FEATURE-FLAG FILE IS AUTOGENERATED,
|
||||||
|
// REMOVAL OR CHANGES WILL CAUSE RELATED TYPES TO STOP WORKING
|
||||||
|
import "quasar/dist/types/feature-flag";
|
||||||
|
|
||||||
|
declare module "quasar/dist/types/feature-flag" {
|
||||||
|
interface QuasarFeatureFlags {
|
||||||
|
store: true;
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -1,6 +1,7 @@
|
|||||||
<template>
|
<template>
|
||||||
<q-page padding class="signin">
|
<q-page padding class="signin">
|
||||||
<CSignIn :mythis="mythis"
|
<CSignIn :mythis="mythis"
|
||||||
|
:showregbutt="true"
|
||||||
@loginOk="loginOk"
|
@loginOk="loginOk"
|
||||||
@loginInCorso="loginInCorso"
|
@loginInCorso="loginInCorso"
|
||||||
@checkErrors="checkErrors"
|
@checkErrors="checkErrors"
|
||||||
|
|||||||
5
src/views/login/signin_noreg/signin_noreg.scss
Normal file
5
src/views/login/signin_noreg/signin_noreg.scss
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
.signin {
|
||||||
|
width: 100%;
|
||||||
|
margin: 0 auto;
|
||||||
|
max-width: 450px;
|
||||||
|
}
|
||||||
39
src/views/login/signin_noreg/signin_noreg.ts
Normal file
39
src/views/login/signin_noreg/signin_noreg.ts
Normal file
@@ -0,0 +1,39 @@
|
|||||||
|
import Vue from 'vue'
|
||||||
|
import { Component, Prop, Watch } from 'vue-property-decorator'
|
||||||
|
import { CSignIn } from '../../../components/CSignIn'
|
||||||
|
import { toolsext } from '../../../store/Modules/toolsext'
|
||||||
|
import { UserStore } from '../../../store/Modules'
|
||||||
|
import globalroutines from '../../../globalroutines/index'
|
||||||
|
import { tools } from '../../../store/Modules/tools'
|
||||||
|
|
||||||
|
// import {Loading, QSpinnerFacebook, QSpinnerGears} from 'quasar'
|
||||||
|
|
||||||
|
@Component({
|
||||||
|
components: { CSignIn }
|
||||||
|
})
|
||||||
|
|
||||||
|
export default class Signin_noreg extends Vue {
|
||||||
|
public $v
|
||||||
|
public $q
|
||||||
|
|
||||||
|
public loginOk() {
|
||||||
|
tools.loginOk(this, true)
|
||||||
|
}
|
||||||
|
|
||||||
|
public loginInCorso() {
|
||||||
|
tools.loginInCorso(this)
|
||||||
|
}
|
||||||
|
|
||||||
|
public checkErrors(riscode) {
|
||||||
|
tools.SignIncheckErrors(this, riscode, true)
|
||||||
|
}
|
||||||
|
|
||||||
|
public showNotif(msgcode) {
|
||||||
|
tools.showNotif(this.$q, this.$t(msgcode))
|
||||||
|
}
|
||||||
|
|
||||||
|
get mythis() {
|
||||||
|
return this
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
18
src/views/login/signin_noreg/signin_noreg.vue
Normal file
18
src/views/login/signin_noreg/signin_noreg.vue
Normal file
@@ -0,0 +1,18 @@
|
|||||||
|
<template>
|
||||||
|
<q-page padding class="signin">
|
||||||
|
<CSignIn :mythis="mythis"
|
||||||
|
@loginOk="loginOk"
|
||||||
|
@loginInCorso="loginInCorso"
|
||||||
|
:showregbutt="false"
|
||||||
|
@checkErrors="checkErrors"
|
||||||
|
@showNotif="showNotif">
|
||||||
|
</CSignIn>
|
||||||
|
</q-page>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script lang="ts" src="./signin_noreg.ts">
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style lang="scss" scoped>
|
||||||
|
@import './signin_noreg.scss';
|
||||||
|
</style>
|
||||||
Reference in New Issue
Block a user