- Nella Lavagna, cliccando sul nome dell'invitato, compaiono le sue informazioni sugli step rimasti, in dettaglio.
- Ogni utente puo' cosi scegliere di regalare un proprio invitato, cliccando sull'invitato, scrivendo l'username del destinatario e premendo il bottone 'Regala Invitato'. Al destinatario gli arriverà un messaggio sul Bot Telegram che indica che gli è stato regalato un'invitato.
This commit is contained in:
@@ -9,19 +9,110 @@ 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 './CMyDashboard-validate'
|
||||
import { validationMixin } from 'vuelidate'
|
||||
|
||||
@Component({
|
||||
components: { CProfile, CTitleBanner, CMyFieldDb, CCopyBtn, CUserBadge }
|
||||
mixins: [validationMixin],
|
||||
validations,
|
||||
components: { CProfile, CTitleBanner, CMyFieldDb, CCopyBtn, CUserBadge, CLegenda, CRequisito }
|
||||
})
|
||||
|
||||
export default class CMyDashboard extends MixinUsers {
|
||||
@Prop({ required: true }) public username
|
||||
|
||||
public $v
|
||||
public $q
|
||||
public dashboard = { aportador: DefaultUser, numpeople_aportador: 0, downline: [], downbyuser: [] }
|
||||
public myusername: string = ''
|
||||
public showuserinfo: boolean = false
|
||||
public notifBot: boolean = true
|
||||
public seluser: IUserFields = null
|
||||
public aportador_solidario: string = ''
|
||||
public dashboard: IDashboard = {
|
||||
myself: DefaultUser,
|
||||
aportador: DefaultUser,
|
||||
numpeople_aportador: 0,
|
||||
downline: [],
|
||||
downnotreg: [],
|
||||
downbyuser: []
|
||||
}
|
||||
|
||||
public mythis() {
|
||||
@Prop({ required: true }) public username
|
||||
|
||||
|
||||
public arrrequisiti = [
|
||||
{
|
||||
icon: 'email',
|
||||
textlang: 'reg.verified_email',
|
||||
isok(user) {
|
||||
if (user)
|
||||
return user.verified_email
|
||||
else
|
||||
return false
|
||||
},
|
||||
info: '',
|
||||
},
|
||||
{
|
||||
icon: 'fab fa-telegram',
|
||||
textlang: 'reg.telegram',
|
||||
isok(user) {
|
||||
if (user)
|
||||
if (user.profile)
|
||||
return user.profile.teleg_id > 0
|
||||
|
||||
return false
|
||||
},
|
||||
info: '',
|
||||
},
|
||||
{
|
||||
icon: 'fas fa-video',
|
||||
textlang: 'steps.zoom_partecipa',
|
||||
isok(user) {
|
||||
if (user)
|
||||
if (user.profile)
|
||||
return user.profile.saw_zoom_presentation
|
||||
return false
|
||||
},
|
||||
info: '',
|
||||
},
|
||||
{
|
||||
icon: 'fas fa-heart',
|
||||
textlang: 'steps.dream',
|
||||
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',
|
||||
isok(user) {
|
||||
if (user)
|
||||
if (user.profile.paymenttypes)
|
||||
return user.profile.paymenttypes.length > 20
|
||||
else
|
||||
return false
|
||||
},
|
||||
info: '',
|
||||
},
|
||||
]
|
||||
|
||||
@Watch('UserStore.state.my.dashboard')
|
||||
public changedash() {
|
||||
console.log('changedash')
|
||||
this.dashboard = UserStore.state.my.dashboard
|
||||
}
|
||||
|
||||
get mythis() {
|
||||
return this
|
||||
}
|
||||
|
||||
@@ -34,40 +125,106 @@ export default class CMyDashboard extends MixinUsers {
|
||||
this.update_username()
|
||||
|
||||
}
|
||||
public update_username() {
|
||||
|
||||
public async update_username() {
|
||||
// console.log('update_username')
|
||||
if (this.username === '')
|
||||
this.username = this.getMyUsername()
|
||||
this.myusername = this.getMyUsername()
|
||||
else
|
||||
this.myusername = this.username
|
||||
|
||||
UserStore.actions.getDashboard({ username: this.username }).then((ris) => {
|
||||
// console.log('getDashboard', ris)
|
||||
if (ris.aportador === undefined) {
|
||||
this.dashboard.aportador = DefaultUser
|
||||
} else {
|
||||
this.dashboard.aportador = ris.aportador
|
||||
}
|
||||
if (ris.numpeople_aportador === undefined) {
|
||||
this.dashboard.numpeople_aportador = 0
|
||||
} else {
|
||||
this.dashboard.numpeople_aportador = ris.numpeople_aportador
|
||||
}
|
||||
if (ris.downline === undefined) {
|
||||
this.dashboard.downline = []
|
||||
} else {
|
||||
this.dashboard.downline = ris.downline
|
||||
}
|
||||
|
||||
if (ris.downbyuser === undefined) {
|
||||
this.dashboard.downbyuser = []
|
||||
} else {
|
||||
this.dashboard.downbyuser = ris.downbyuser
|
||||
}
|
||||
|
||||
// console.log('this.dashboard', this.dashboard)
|
||||
await UserStore.actions.getDashboard({ username: this.myusername }).then((ris) => {
|
||||
this.dashboard = UserStore.state.my.dashboard
|
||||
})
|
||||
}
|
||||
|
||||
get getRefLink() {
|
||||
return UserStore.getters.getRefLink(this.username)
|
||||
return UserStore.getters.getRefLink(this.myusername)
|
||||
}
|
||||
|
||||
get invitatinotreg() {
|
||||
if (this.dashboard)
|
||||
if (this.dashboard.downnotreg)
|
||||
return this.dashboard.downnotreg.length > 0
|
||||
return false
|
||||
}
|
||||
|
||||
public selectclick(user) {
|
||||
this.showuserinfo = true
|
||||
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 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
|
||||
})
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user