- DashBoard, Profile, Order Menu
This commit is contained in:
@@ -8,7 +8,7 @@
|
|||||||
borderless
|
borderless
|
||||||
:label="label"
|
:label="label"
|
||||||
:bg-color="bgcolor"
|
:bg-color="bgcolor"
|
||||||
:disable="disable"
|
:readonly="true"
|
||||||
:dense="dense"
|
:dense="dense"
|
||||||
mask="####-##-## ##:##"
|
mask="####-##-## ##:##"
|
||||||
debounce="500"
|
debounce="500"
|
||||||
|
|||||||
@@ -41,6 +41,17 @@ export default class CMyFieldDb extends MixinBase {
|
|||||||
// console.log('created', this.myvalue)
|
// console.log('created', this.myvalue)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public getclassCol(col) {
|
||||||
|
if (col) {
|
||||||
|
let mycl = (this.disable || col.disable) ? '' : 'colmodif '
|
||||||
|
mycl += (col.fieldtype === tools.FieldType.date) ? ' coldate flex flex-container ' : ''
|
||||||
|
|
||||||
|
return mycl
|
||||||
|
} else {
|
||||||
|
return ''
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
public visuValByType(val) {
|
public visuValByType(val) {
|
||||||
if (this.col.fieldtype === tools.FieldType.date) {
|
if (this.col.fieldtype === tools.FieldType.date) {
|
||||||
if (val === undefined) {
|
if (val === undefined) {
|
||||||
|
|||||||
@@ -2,13 +2,13 @@
|
|||||||
<div class="text-center">
|
<div class="text-center">
|
||||||
<div class="row items-center justify-center q-gutter-md q-ma-xs">
|
<div class="row items-center justify-center q-gutter-md q-ma-xs">
|
||||||
<div class="q-ma-xs">
|
<div class="q-ma-xs">
|
||||||
<q-field rounded outlined bg-color="orange-3" dense>
|
<q-field rounded outlined bg-color="orange-3" dense style="min-width:110px;">
|
||||||
<template v-slot:control>
|
<template v-slot:control>
|
||||||
<div class="self-center full-width no-outline" tabindex="0">{{title}}</div>
|
<div class="self-center full-width no-outline text-center" tabindex="0">{{title}}</div>
|
||||||
</template>
|
</template>
|
||||||
</q-field>
|
</q-field>
|
||||||
</div>
|
</div>
|
||||||
<div class="q-ma-sm q-pa-sm colmodif col-grow rounded-borders " style="border: 1px solid #bbb">
|
<div :class="getclassCol(col) + ` q-ma-sm q-pa-sm col-grow rounded-borders`" style="border: 1px solid #bbb">
|
||||||
<div v-if="type === tools.FieldType.date">
|
<div v-if="type === tools.FieldType.date">
|
||||||
<CDateTime
|
<CDateTime
|
||||||
:label="col.label"
|
:label="col.label"
|
||||||
@@ -33,12 +33,13 @@
|
|||||||
<!-- Show Value -->
|
<!-- Show Value -->
|
||||||
<div v-else-if="col.fieldtype === tools.FieldType.nationality">
|
<div v-else-if="col.fieldtype === tools.FieldType.nationality">
|
||||||
<q-input
|
<q-input
|
||||||
input-class="cursor-pointer"
|
input-class="cursor-pointer text-center"
|
||||||
:readonly="true"
|
:readonly="true"
|
||||||
v-model="countryname"
|
v-model="countryname"
|
||||||
rounded outlined
|
rounded
|
||||||
|
dense
|
||||||
debounce="1000"
|
debounce="1000"
|
||||||
:label="$t('reg.nationality')">
|
>
|
||||||
|
|
||||||
<div class="hidden">
|
<div class="hidden">
|
||||||
<vue-country-code
|
<vue-country-code
|
||||||
@@ -81,7 +82,7 @@
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
<q-popup-edit
|
<q-popup-edit
|
||||||
v-if="canEdit && type !== tools.FieldType.boolean"
|
v-if="(canEdit && type !== tools.FieldType.boolean) && !disable"
|
||||||
v-model="myvalue"
|
v-model="myvalue"
|
||||||
:disable="col.disable"
|
:disable="col.disable"
|
||||||
:title="col.title"
|
:title="col.title"
|
||||||
@@ -96,6 +97,7 @@
|
|||||||
</div>
|
</div>
|
||||||
<div v-else-if="type === tools.FieldType.string">
|
<div v-else-if="type === tools.FieldType.string">
|
||||||
<q-input v-model="myvalue"
|
<q-input v-model="myvalue"
|
||||||
|
|
||||||
autogrow
|
autogrow
|
||||||
@keyup.enter.stop
|
@keyup.enter.stop
|
||||||
autofocus>
|
autofocus>
|
||||||
@@ -143,9 +145,9 @@
|
|||||||
<q-input
|
<q-input
|
||||||
v-model="countryname"
|
v-model="countryname"
|
||||||
:readonly="true"
|
:readonly="true"
|
||||||
rounded outlined
|
rounded dense
|
||||||
debounce="1000"
|
debounce="1000"
|
||||||
:label="$t('reg.nationality')">
|
:label="title">
|
||||||
|
|
||||||
<template v-slot:prepend>
|
<template v-slot:prepend>
|
||||||
<div style="font-size: 1rem;">
|
<div style="font-size: 1rem;">
|
||||||
|
|||||||
@@ -139,9 +139,9 @@
|
|||||||
<q-input
|
<q-input
|
||||||
v-model="countryname"
|
v-model="countryname"
|
||||||
:readonly="true"
|
:readonly="true"
|
||||||
rounded outlined
|
rounded dense
|
||||||
debounce="1000"
|
debounce="1000"
|
||||||
:label="$t('reg.nationality')">
|
>
|
||||||
|
|
||||||
<template v-slot:prepend>
|
<template v-slot:prepend>
|
||||||
<div style="font-size: 1rem;">
|
<div style="font-size: 1rem;">
|
||||||
|
|||||||
@@ -1,39 +1,43 @@
|
|||||||
import { ISignupOptions } from 'model'
|
import { ISignupOptions } from 'model'
|
||||||
import { email, minLength, required, sameAs } from 'vuelidate/lib/validators'
|
import { email, minLength, required, sameAs } from 'vuelidate/lib/validators'
|
||||||
// import { ValidationRuleset } from 'vuelidate'
|
// import { ValidationRuleset } from 'vuelidate'
|
||||||
import { complexity, registeredemail, registereduser } from '../../validation'
|
import { complexity, registeredemail, registereduser, aportadorexist } from '../../validation'
|
||||||
|
|
||||||
export interface TSignup { signup: ISignupOptions, validationGroup: string[] }
|
export interface TSignup { signup: ISignupOptions, validationGroup: string[] }
|
||||||
|
|
||||||
export const validations = {
|
export const validations = {
|
||||||
signup: {
|
signup: {
|
||||||
repeatPassword: {
|
repeatPassword: {
|
||||||
required,
|
required,
|
||||||
sameAsPassword: sameAs('password')
|
sameAsPassword: sameAs('password')
|
||||||
},
|
},
|
||||||
password: {
|
password: {
|
||||||
complexity,
|
required,
|
||||||
required,
|
minLength: minLength(8),
|
||||||
minLength: minLength(8)
|
complexity
|
||||||
},
|
},
|
||||||
username: {
|
username: {
|
||||||
registereduser,
|
required,
|
||||||
required,
|
minLength: minLength(6),
|
||||||
minLength: minLength(6)
|
registereduser
|
||||||
},
|
},
|
||||||
name: {
|
name: {
|
||||||
required
|
required
|
||||||
},
|
},
|
||||||
surname: {
|
surname: {
|
||||||
required
|
required
|
||||||
},
|
},
|
||||||
email: {
|
email: {
|
||||||
email,
|
email,
|
||||||
registeredemail,
|
registeredemail,
|
||||||
required
|
required
|
||||||
},
|
},
|
||||||
terms: {
|
terms: {
|
||||||
required
|
required
|
||||||
}
|
},
|
||||||
|
aportador_solidario: {
|
||||||
|
aportadorexist,
|
||||||
|
required
|
||||||
}
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -31,12 +31,4 @@
|
|||||||
border-radius: 32px;
|
border-radius: 32px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.clAportador{
|
|
||||||
background-color: lightblue;
|
|
||||||
border-radius: 32px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.q-field--readonly {
|
|
||||||
border: 1px solid rgba(0,0,0,0.2);
|
|
||||||
border-radius: 32px;
|
|
||||||
}
|
|
||||||
|
|||||||
@@ -17,6 +17,8 @@ import { serv_constants } from '@src/store/Modules/serv_constants'
|
|||||||
|
|
||||||
import VueCountryCode from 'vue-country-code'
|
import VueCountryCode from 'vue-country-code'
|
||||||
import { CTitleBanner } from '../CTitleBanner'
|
import { CTitleBanner } from '../CTitleBanner'
|
||||||
|
import { registereduser } from '../../validation'
|
||||||
|
import MixinBase from '../../mixins/mixin-base'
|
||||||
|
|
||||||
Vue.use(VueCountryCode)
|
Vue.use(VueCountryCode)
|
||||||
// import {Loading, QSpinnerFacebook, QSpinnerGears} from 'quasar'
|
// import {Loading, QSpinnerFacebook, QSpinnerGears} from 'quasar'
|
||||||
@@ -28,7 +30,7 @@ Vue.use(VueCountryCode)
|
|||||||
components: { Logo, CTitleBanner }
|
components: { Logo, CTitleBanner }
|
||||||
})
|
})
|
||||||
|
|
||||||
export default class CSignUp extends Vue {
|
export default class CSignUp extends MixinBase {
|
||||||
@Prop({ required: false, default: false }) public showadultcheck: boolean
|
@Prop({ required: false, default: false }) public showadultcheck: boolean
|
||||||
@Prop({ required: false, default: false }) public showcell: boolean
|
@Prop({ required: false, default: false }) public showcell: boolean
|
||||||
public $v
|
public $v
|
||||||
@@ -48,17 +50,21 @@ export default class CSignUp extends Vue {
|
|||||||
password: process.env.TEST_PASSWORD || '',
|
password: process.env.TEST_PASSWORD || '',
|
||||||
repeatPassword: process.env.TEST_PASSWORD || '',
|
repeatPassword: process.env.TEST_PASSWORD || '',
|
||||||
terms: !process.env.PROD,
|
terms: !process.env.PROD,
|
||||||
profile: DefaultProfile
|
profile: DefaultProfile,
|
||||||
|
aportador_solidario: ''
|
||||||
}
|
}
|
||||||
|
|
||||||
public created() {
|
public created() {
|
||||||
this.$v.$reset()
|
this.$v.$reset()
|
||||||
|
|
||||||
this.signup.aportador_solidario = tools.getCookie(tools.APORTADOR_SOLIDARIO, this.$route.params.invited || process.env.TEST_APORTADOR)
|
this.signup.aportador_solidario = this.$route.params.invited || process.env.TEST_APORTADOR
|
||||||
|
|
||||||
|
this.$v.signup.aportador_solidario.$touch()
|
||||||
}
|
}
|
||||||
|
|
||||||
@Watch('$route.params.invited')
|
@Watch('$route.params.invited')
|
||||||
public changeaportador() {
|
public changeaportador() {
|
||||||
|
console.log('changeaportador', this.$route.params.invited)
|
||||||
if (!this.signup.aportador_solidario)
|
if (!this.signup.aportador_solidario)
|
||||||
this.signup.aportador_solidario = this.$route.params.invited
|
this.signup.aportador_solidario = this.$route.params.invited
|
||||||
}
|
}
|
||||||
@@ -129,11 +135,27 @@ export default class CSignUp extends Vue {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!item.minLength) { return this.$t('reg.err.atleast') + ` ${item.$params.minLength.min} ` + this.$t('reg.err.char') }
|
console.log('item', item)
|
||||||
if (!item.complexity) { return this.$t('reg.err.complexity') }
|
|
||||||
|
if (item.minLength !== undefined) {
|
||||||
|
if (!item.minLength) {
|
||||||
|
return this.$t('reg.err.atleast') + ` ${item.$params.minLength.min} ` + this.$t('reg.err.char')
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (item.complexity !== undefined) {
|
||||||
|
if (!item.complexity) {
|
||||||
|
return this.$t('reg.err.complexity')
|
||||||
|
}
|
||||||
|
}
|
||||||
// if (!item.maxLength) { return this.$t('reg.err.notmore') + ` ${item.$params.maxLength.max} ` + this.$t('reg.err.char') }
|
// if (!item.maxLength) { return this.$t('reg.err.notmore') + ` ${item.$params.maxLength.max} ` + this.$t('reg.err.char') }
|
||||||
|
|
||||||
if (!item.required) { return this.$t('reg.err.required') }
|
if (item.required !== undefined) {
|
||||||
|
if (!item.required) {
|
||||||
|
return this.$t('reg.err.required')
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
console.log(' ....avanti')
|
||||||
if (cosa === 'email') {
|
if (cosa === 'email') {
|
||||||
// console.log("EMAIL " + item.isUnique);
|
// console.log("EMAIL " + item.isUnique);
|
||||||
// console.log(item);
|
// console.log(item);
|
||||||
@@ -141,11 +163,16 @@ export default class CSignUp extends Vue {
|
|||||||
} else if (cosa === 'username') {
|
} else if (cosa === 'username') {
|
||||||
// console.log(item);
|
// console.log(item);
|
||||||
if (!item.isUnique) { return this.$t('reg.err.duplicate_username') }
|
if (!item.isUnique) { return this.$t('reg.err.duplicate_username') }
|
||||||
|
} else if (cosa === 'aportador_solidario') {
|
||||||
|
// console.log(item);
|
||||||
|
if (!item.aportadorexist) {
|
||||||
|
console.log('!item.aportadorexist !')
|
||||||
|
return this.$t('reg.err.aportador_not_exist')
|
||||||
|
}
|
||||||
} else if ((cosa === 'name') || (cosa === 'surname')) {
|
} else if ((cosa === 'name') || (cosa === 'surname')) {
|
||||||
// console.log(item);
|
// console.log(item);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
return ''
|
return ''
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
// console.log("ERR : " + error);
|
// console.log("ERR : " + error);
|
||||||
@@ -188,6 +215,9 @@ export default class CSignUp extends Vue {
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
|
this.signup.name = tools.CapitalizeAllWords(this.signup.name)
|
||||||
|
this.signup.surname = tools.CapitalizeAllWords(this.signup.surname)
|
||||||
|
|
||||||
this.$q.loading.show({ message: this.$t('reg.incorso') })
|
this.$q.loading.show({ message: this.$t('reg.incorso') })
|
||||||
|
|
||||||
console.log(this.signup)
|
console.log(this.signup)
|
||||||
@@ -214,4 +244,8 @@ export default class CSignUp extends Vue {
|
|||||||
this.countryname = name
|
this.countryname = name
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public inputUsername(value){
|
||||||
|
this.signup.username = value.trim()
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -8,13 +8,18 @@
|
|||||||
|
|
||||||
<!--Prova URL : {{env('PROVA_PAOLO')}}-->
|
<!--Prova URL : {{env('PROVA_PAOLO')}}-->
|
||||||
|
|
||||||
<div class="q-gutter-xs">
|
<div class="q-gutter-sm">
|
||||||
|
|
||||||
<q-input
|
<q-input
|
||||||
class="clAportador"
|
bg-color="lightblue"
|
||||||
:readonly="true"
|
:readonly="true"
|
||||||
v-model="signup.aportador_solidario"
|
v-model="signup.aportador_solidario"
|
||||||
rounded outlined dense
|
rounded outlined
|
||||||
|
@blur="$v.signup.aportador_solidario.$touch"
|
||||||
|
:error="$v.signup.aportador_solidario.$error"
|
||||||
|
:error-message="errorMsg('aportador_solidario', $v.signup.aportador_solidario)"
|
||||||
|
|
||||||
|
debounce="1000"
|
||||||
|
|
||||||
:label="$t('reg.aportador_solidario')">
|
:label="$t('reg.aportador_solidario')">
|
||||||
|
|
||||||
@@ -45,6 +50,7 @@
|
|||||||
rounded outlined
|
rounded outlined
|
||||||
@blur="$v.signup.username.$touch"
|
@blur="$v.signup.username.$touch"
|
||||||
:error="$v.signup.username.$error"
|
:error="$v.signup.username.$error"
|
||||||
|
@keydown.space="(event) => event.preventDefault()"
|
||||||
|
|
||||||
debounce="1000"
|
debounce="1000"
|
||||||
:error-message="errorMsg('username', $v.signup.username)"
|
:error-message="errorMsg('username', $v.signup.username)"
|
||||||
@@ -142,7 +148,7 @@
|
|||||||
|
|
||||||
</q-input>
|
</q-input>
|
||||||
|
|
||||||
<br>
|
<div v-if="!tools.isMobile()"><br></div>
|
||||||
|
|
||||||
<vue-tel-input
|
<vue-tel-input
|
||||||
v-if="showcell"
|
v-if="showcell"
|
||||||
|
|||||||
@@ -1,109 +1,126 @@
|
|||||||
<template>
|
<template>
|
||||||
<div class="no-border" v-if="isfinishLoading">
|
<div class="no-border" v-if="isfinishLoading">
|
||||||
<q-list class="rounded-borders text-primary">
|
<q-list class="rounded-borders text-primary">
|
||||||
<template v-for="(parent, index) in getmenu">
|
<template v-for="(parent, index) in getmenu">
|
||||||
<!--<div class="q-list-header">{{replaceUnderlineToSpace(index)}}</div>-->
|
<!--<div class="q-list-header">{{replaceUnderlineToSpace(index)}}</div>-->
|
||||||
<div v-for="myitemmenu in static_data.routes" v-if="myitemmenu.active">
|
<div v-for="myitemmenu in static_data.routes" v-if="myitemmenu.active">
|
||||||
<div v-if="!!myitemmenu.routes2 && myitemmenu.inmenu && tools.visumenu(myitemmenu)">
|
<div v-if="!!myitemmenu.routes2 && myitemmenu.inmenu && tools.visumenu(myitemmenu)">
|
||||||
|
<span v-if="myitemmenu.isseparator">
|
||||||
|
<q-separator></q-separator>
|
||||||
|
</span>
|
||||||
|
<span v-else>
|
||||||
|
|
||||||
|
<q-expansion-item
|
||||||
|
:header-inset-level="myitemmenu.level_parent"
|
||||||
|
:content-inset-level="myitemmenu.level_parent"
|
||||||
|
:label="tools.getLabelByItem(myitemmenu, mythis)"
|
||||||
|
:icon="myitemmenu.materialIcon"
|
||||||
|
expand-icon-class="my-menu-separat"
|
||||||
|
:header-class="getmymenuclass(myitemmenu)"
|
||||||
|
active-class="my-menu-active">
|
||||||
|
|
||||||
|
<div v-for="(child2, index) in myitemmenu.routes2" :key="index" v-if="child2.active">
|
||||||
|
<span v-if="child2.isseparator">
|
||||||
|
<q-separator></q-separator>
|
||||||
|
</span>
|
||||||
|
<span v-else>
|
||||||
<q-expansion-item
|
<q-expansion-item
|
||||||
:header-inset-level="myitemmenu.level_parent"
|
v-if="!child2.routes2"
|
||||||
:content-inset-level="myitemmenu.level_parent"
|
:to="getroute(child2)"
|
||||||
:label="tools.getLabelByItem(myitemmenu, mythis)"
|
:header-inset-level="child2.level_child"
|
||||||
:icon="myitemmenu.materialIcon"
|
:duration="300"
|
||||||
expand-icon-class="my-menu-separat"
|
:icon="child2.materialIcon"
|
||||||
:header-class="getmymenuclass(myitemmenu)"
|
active-class="my-menu-active"
|
||||||
active-class="my-menu-active">
|
expand-icon-class="my-menu-icon-none"
|
||||||
|
class="item item-link drawer-closer cursor-pointer my-menu"
|
||||||
<div v-for="(child2, index) in myitemmenu.routes2" :key="index">
|
:label="tools.getLabelByItem(child2, mythis)">
|
||||||
|
<q-expansion-item v-if="!!child2.routes2 && child3.active"
|
||||||
|
v-for="(child3, index) in child2.routes2"
|
||||||
|
:key="index"
|
||||||
|
:to="getroute(child3)"
|
||||||
|
:header-inset-level="child3.level_child"
|
||||||
|
:duration="300"
|
||||||
|
:icon="child3.materialIcon"
|
||||||
|
:expand-icon="child3.icon"
|
||||||
|
expand-icon-class="my-menu-separat"
|
||||||
|
active-class="my-menu-active"
|
||||||
|
class="item item-link drawer-closer cursor-pointer my-menu"
|
||||||
|
:label="tools.getLabelByItem(child3, mythis)">
|
||||||
|
</q-expansion-item>
|
||||||
|
</q-expansion-item>
|
||||||
|
<q-expansion-item
|
||||||
|
v-else
|
||||||
|
:header-inset-level="child2.level_parent"
|
||||||
|
:content-inset-level="child2.level_parent"
|
||||||
|
:label="tools.getLabelByItem(child2, mythis)"
|
||||||
|
:icon="child2.materialIcon"
|
||||||
|
expand-icon-class="my-menu-separat"
|
||||||
|
:header-class="getmymenuclass(child2)"
|
||||||
|
active-class="my-menu-active">
|
||||||
|
<div v-for="(child3, index) in child2.routes2" :key="index" v-if="child3.active">
|
||||||
<q-expansion-item
|
<q-expansion-item
|
||||||
v-if="!child2.routes2"
|
:to="getroute(child3)"
|
||||||
:to="getroute(child2)"
|
:header-inset-level="child3.level_child"
|
||||||
:header-inset-level="child2.level_child"
|
:duration="300"
|
||||||
:duration="300"
|
:icon="child3.materialIcon"
|
||||||
:icon="child2.materialIcon"
|
active-class="my-menu-active"
|
||||||
active-class="my-menu-active"
|
expand-icon-class="my-menu-icon-none"
|
||||||
expand-icon-class="my-menu-icon-none"
|
class="item item-link drawer-closer cursor-pointer my-menu"
|
||||||
class="item item-link drawer-closer cursor-pointer my-menu"
|
:label="tools.getLabelByItem(child3, mythis)">
|
||||||
:label="tools.getLabelByItem(child2, mythis)">
|
<q-expansion-item v-if="!!child3.routes2 && child3.active"
|
||||||
<q-expansion-item v-if="!!child2.routes2" v-for="(child3, index) in child2.routes2"
|
v-for="(child4, index) in child3.routes2"
|
||||||
:key="index"
|
:key="index"
|
||||||
:to="getroute(child3)"
|
:to="getroute(child4)"
|
||||||
:header-inset-level="child3.level_child"
|
:header-inset-level="child4.level_child"
|
||||||
:duration="300"
|
:duration="300"
|
||||||
:icon="child3.materialIcon"
|
:icon="child4.materialIcon"
|
||||||
:expand-icon="child3.icon"
|
:expand-icon="child4.icon"
|
||||||
expand-icon-class="my-menu-separat"
|
expand-icon-class="my-menu-separat"
|
||||||
active-class="my-menu-active"
|
active-class="my-menu-active"
|
||||||
class="item item-link drawer-closer cursor-pointer my-menu"
|
class="item item-link drawer-closer cursor-pointer my-menu"
|
||||||
:label="tools.getLabelByItem(child3, mythis)">
|
:label="tools.getLabelByItem(child4, mythis)">
|
||||||
</q-expansion-item>
|
</q-expansion-item>
|
||||||
</q-expansion-item>
|
</q-expansion-item>
|
||||||
<q-expansion-item
|
|
||||||
v-else
|
|
||||||
:header-inset-level="child2.level_parent"
|
|
||||||
:content-inset-level="child2.level_parent"
|
|
||||||
:label="tools.getLabelByItem(child2, mythis)"
|
|
||||||
:icon="child2.materialIcon"
|
|
||||||
expand-icon-class="my-menu-separat"
|
|
||||||
:header-class="getmymenuclass(child2)"
|
|
||||||
active-class="my-menu-active">
|
|
||||||
<div v-for="(child3, index) in child2.routes2" :key="index">
|
|
||||||
<q-expansion-item
|
|
||||||
:to="getroute(child3)"
|
|
||||||
:header-inset-level="child3.level_child"
|
|
||||||
:duration="300"
|
|
||||||
:icon="child3.materialIcon"
|
|
||||||
active-class="my-menu-active"
|
|
||||||
expand-icon-class="my-menu-icon-none"
|
|
||||||
class="item item-link drawer-closer cursor-pointer my-menu"
|
|
||||||
:label="tools.getLabelByItem(child3, mythis)">
|
|
||||||
<q-expansion-item v-if="!!child3.routes2" v-for="(child3, index) in child3.routes2"
|
|
||||||
:key="index"
|
|
||||||
:to="getroute(child3)"
|
|
||||||
:header-inset-level="child3.level_child"
|
|
||||||
:duration="300"
|
|
||||||
:icon="child3.materialIcon"
|
|
||||||
:expand-icon="child3.icon"
|
|
||||||
expand-icon-class="my-menu-separat"
|
|
||||||
active-class="my-menu-active"
|
|
||||||
class="item item-link drawer-closer cursor-pointer my-menu"
|
|
||||||
:label="tools.getLabelByItem(child3, mythis)">
|
|
||||||
</q-expansion-item>
|
|
||||||
</q-expansion-item>
|
|
||||||
</div>
|
|
||||||
</q-expansion-item>
|
|
||||||
</div>
|
</div>
|
||||||
</q-expansion-item>
|
</q-expansion-item>
|
||||||
</div>
|
</span>
|
||||||
<div v-else>
|
</div>
|
||||||
<div v-if="myitemmenu.inmenu && !myitemmenu.submenu && tools.visumenu(myitemmenu)">
|
</q-expansion-item>
|
||||||
<q-slide-transition :duration=200>
|
</span>
|
||||||
<div v-show="true">
|
</div>
|
||||||
<q-expansion-item
|
<div v-else>
|
||||||
:to="getroute(myitemmenu)"
|
<div v-if="myitemmenu.inmenu && !myitemmenu.submenu && tools.visumenu(myitemmenu)">
|
||||||
:header-inset-level="myitemmenu.level_parent"
|
<q-slide-transition :duration=200>
|
||||||
:content-inset-level="myitemmenu.level_parent"
|
<div v-show="true">
|
||||||
:label="tools.getLabelByItem(myitemmenu, mythis)"
|
<span v-if="myitemmenu.isseparator">
|
||||||
:icon="myitemmenu.materialIcon"
|
<q-separator inset></q-separator>
|
||||||
expand-icon="none"
|
</span>
|
||||||
header-class="my-menu"
|
<span v-else>
|
||||||
active-class="my-menu-active">
|
<q-expansion-item
|
||||||
</q-expansion-item>
|
:to="getroute(myitemmenu)"
|
||||||
</div>
|
:header-inset-level="myitemmenu.level_parent"
|
||||||
</q-slide-transition>
|
:content-inset-level="myitemmenu.level_parent"
|
||||||
</div>
|
:label="tools.getLabelByItem(myitemmenu, mythis)"
|
||||||
</div>
|
:icon="myitemmenu.materialIcon"
|
||||||
|
expand-icon="none"
|
||||||
|
header-class="my-menu"
|
||||||
|
active-class="my-menu-active">
|
||||||
|
</q-expansion-item>
|
||||||
|
</span>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</q-slide-transition>
|
||||||
</q-list>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
</q-list>
|
||||||
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script lang="ts" src="./menuOne.ts">
|
<script lang="ts" src="./menuOne.ts">
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
@import './menuOne.scss';
|
@import './menuOne.scss';
|
||||||
</style>
|
</style>
|
||||||
|
|
||||||
|
|||||||
@@ -78,6 +78,10 @@ export default class MixinUsers extends Vue {
|
|||||||
return UserStore.state.my.verified_email
|
return UserStore.state.my.verified_email
|
||||||
}
|
}
|
||||||
|
|
||||||
|
get MadeGift() {
|
||||||
|
return UserStore.state.my.made_gift
|
||||||
|
}
|
||||||
|
|
||||||
get Email() {
|
get Email() {
|
||||||
return UserStore.state.my.email
|
return UserStore.state.my.email
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -54,6 +54,7 @@ export interface IMyPage {
|
|||||||
author_username?: string
|
author_username?: string
|
||||||
title?: string
|
title?: string
|
||||||
icon?: string
|
icon?: string
|
||||||
|
order?: number
|
||||||
path?: string
|
path?: string
|
||||||
keywords?: string
|
keywords?: string
|
||||||
description?: string
|
description?: string
|
||||||
@@ -171,11 +172,13 @@ export interface IMenuList {
|
|||||||
|
|
||||||
export interface IListRoutes {
|
export interface IListRoutes {
|
||||||
active?: boolean
|
active?: boolean
|
||||||
|
order: number
|
||||||
path: string
|
path: string
|
||||||
name: string
|
name: string
|
||||||
materialIcon?: string
|
materialIcon?: string
|
||||||
component?: Component
|
component?: Component
|
||||||
reqauth?: boolean
|
reqauth?: boolean
|
||||||
|
isseparator?: boolean
|
||||||
inmenu?: boolean
|
inmenu?: boolean
|
||||||
solotitle?: boolean
|
solotitle?: boolean
|
||||||
infooter?: boolean
|
infooter?: boolean
|
||||||
|
|||||||
@@ -14,6 +14,7 @@ export interface IUserProfile {
|
|||||||
cell?: string
|
cell?: string
|
||||||
dateofbirth?: Date
|
dateofbirth?: Date
|
||||||
sex?: ESexType
|
sex?: ESexType
|
||||||
|
country_pay?: string
|
||||||
email_paypal?: string
|
email_paypal?: string
|
||||||
username_telegram?: string
|
username_telegram?: string
|
||||||
}
|
}
|
||||||
@@ -28,9 +29,11 @@ export interface IUserFields {
|
|||||||
ipaddr?: string
|
ipaddr?: string
|
||||||
perm?: number
|
perm?: number
|
||||||
verified_email?: boolean
|
verified_email?: boolean
|
||||||
|
made_gift?: boolean
|
||||||
tokens?: IToken[]
|
tokens?: IToken[]
|
||||||
lasttimeonline?: Date
|
lasttimeonline?: Date
|
||||||
profile?: IUserProfile
|
profile?: IUserProfile
|
||||||
|
downline?: IUserFields[]
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|||||||
@@ -8,6 +8,7 @@ const msgglobal = {
|
|||||||
showprevedit: 'Mostra Eventi Passati',
|
showprevedit: 'Mostra Eventi Passati',
|
||||||
columns: 'Colonne',
|
columns: 'Colonne',
|
||||||
tableslist: 'Tabelle',
|
tableslist: 'Tabelle',
|
||||||
|
nodata: 'Nessun Dato'
|
||||||
},
|
},
|
||||||
otherpages: {
|
otherpages: {
|
||||||
error404: 'error404',
|
error404: 'error404',
|
||||||
@@ -37,6 +38,7 @@ const msgglobal = {
|
|||||||
},
|
},
|
||||||
dialog: {
|
dialog: {
|
||||||
close: 'Chiudi',
|
close: 'Chiudi',
|
||||||
|
copyclipboard: 'Copiato negli appunti',
|
||||||
ok: 'Ok',
|
ok: 'Ok',
|
||||||
yes: 'Si',
|
yes: 'Si',
|
||||||
no: 'No',
|
no: 'No',
|
||||||
@@ -109,19 +111,22 @@ const msgglobal = {
|
|||||||
},
|
},
|
||||||
reg: {
|
reg: {
|
||||||
aportador_solidario: 'Chi ti ha Invitato',
|
aportador_solidario: 'Chi ti ha Invitato',
|
||||||
|
reflink: 'Link da condividere ai tuoi amici:',
|
||||||
page_title: 'Registrazione',
|
page_title: 'Registrazione',
|
||||||
|
made_gift: 'Doné',
|
||||||
incorso: 'Registrazione in corso...',
|
incorso: 'Registrazione in corso...',
|
||||||
richiesto: 'Campo Richiesto',
|
richiesto: 'Campo Richiesto',
|
||||||
email: 'Email',
|
email: 'Email',
|
||||||
intcode_cell: 'Prefisso Int.',
|
intcode_cell: 'Prefisso Int.',
|
||||||
cell: 'Cellulare',
|
cell: 'Cellulare Telegram',
|
||||||
nationality: 'Nazionalità',
|
nationality: 'Nazionalità',
|
||||||
email_paypal: 'Email Paypal',
|
email_paypal: 'Email Paypal',
|
||||||
|
country_pay: 'Paese di Destinazione Pagamenti',
|
||||||
username_telegram: 'Username Telegram',
|
username_telegram: 'Username Telegram',
|
||||||
img: 'Immagine',
|
img: 'Immagine',
|
||||||
date_reg: 'Data Reg.',
|
date_reg: 'Data Reg.',
|
||||||
perm: 'Permessi',
|
perm: 'Permessi',
|
||||||
username: 'Nome Utente',
|
username: 'Username',
|
||||||
name: 'Nome',
|
name: 'Nome',
|
||||||
surname: 'Cognome',
|
surname: 'Cognome',
|
||||||
username_login: 'Nome Utente o email',
|
username_login: 'Nome Utente o email',
|
||||||
@@ -145,6 +150,7 @@ const msgglobal = {
|
|||||||
terms: 'Devi accettare le condizioni, per continuare.',
|
terms: 'Devi accettare le condizioni, per continuare.',
|
||||||
duplicate_email: 'l\'Email è già stata registrata',
|
duplicate_email: 'l\'Email è già stata registrata',
|
||||||
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.',
|
||||||
sameaspassword: 'Le password devono essere identiche',
|
sameaspassword: 'Le password devono essere identiche',
|
||||||
},
|
},
|
||||||
tips: {
|
tips: {
|
||||||
@@ -382,6 +388,7 @@ const msgglobal = {
|
|||||||
editvalues: 'Cambiar valores',
|
editvalues: 'Cambiar valores',
|
||||||
addrecord: 'Agregar fila',
|
addrecord: 'Agregar fila',
|
||||||
showprevedit: 'Mostrar eventos pasados',
|
showprevedit: 'Mostrar eventos pasados',
|
||||||
|
nodata: 'Sin datos',
|
||||||
columns: 'Columnas',
|
columns: 'Columnas',
|
||||||
tableslist: 'Tablas'
|
tableslist: 'Tablas'
|
||||||
},
|
},
|
||||||
@@ -410,6 +417,7 @@ const msgglobal = {
|
|||||||
},
|
},
|
||||||
dialog: {
|
dialog: {
|
||||||
close: 'Cerrar',
|
close: 'Cerrar',
|
||||||
|
copyclipboard: 'Copiado al portapapeles',
|
||||||
ok: 'Vale',
|
ok: 'Vale',
|
||||||
yes: 'Sí',
|
yes: 'Sí',
|
||||||
no: 'No',
|
no: 'No',
|
||||||
@@ -482,19 +490,22 @@ const msgglobal = {
|
|||||||
},
|
},
|
||||||
reg: {
|
reg: {
|
||||||
aportador_solidario: 'Aportador Solidario',
|
aportador_solidario: 'Aportador Solidario',
|
||||||
|
reflink: 'Enlaces para compartir con tus amigos:',
|
||||||
page_title: 'Registro',
|
page_title: 'Registro',
|
||||||
|
made_gift: 'Don',
|
||||||
incorso: 'Registro en curso...',
|
incorso: 'Registro en curso...',
|
||||||
richiesto: 'Campo requerido',
|
richiesto: 'Campo requerido',
|
||||||
email: 'Email',
|
email: 'Email',
|
||||||
intcode_cell: 'Prefijo Int.',
|
intcode_cell: 'Prefijo Int.',
|
||||||
cell: 'Móvil',
|
cell: 'Móvil Telegram',
|
||||||
nationality: 'Nacionalidad',
|
nationality: 'Nacionalidad',
|
||||||
email_paypal: 'Email Paypal',
|
email_paypal: 'Email Paypal',
|
||||||
|
country_pay: 'País del Pagos de destino',
|
||||||
username_telegram: 'Usuario Telegram',
|
username_telegram: 'Usuario Telegram',
|
||||||
img: 'File image',
|
img: 'File image',
|
||||||
date_reg: 'Fecha Reg.',
|
date_reg: 'Fecha Reg.',
|
||||||
perm: 'Permisos',
|
perm: 'Permisos',
|
||||||
username: 'Nombre usuario',
|
username: 'Username',
|
||||||
name: 'Nombre',
|
name: 'Nombre',
|
||||||
surname: 'Apellido',
|
surname: 'Apellido',
|
||||||
username_login: 'Nombre usuario o email',
|
username_login: 'Nombre usuario o email',
|
||||||
@@ -518,6 +529,7 @@ const msgglobal = {
|
|||||||
terms: 'Debes aceptar las condiciones, para continuar..',
|
terms: 'Debes aceptar las condiciones, para continuar..',
|
||||||
duplicate_email: 'La email ya ha sido registrada',
|
duplicate_email: 'La email ya ha sido registrada',
|
||||||
duplicate_username: 'El nombre de usuario ya ha sido utilizado',
|
duplicate_username: 'El nombre de usuario ya ha sido utilizado',
|
||||||
|
aportador_not_exist: 'El nombre de usuario de la persona que lo invitó no está presente. Contactanos.',
|
||||||
sameaspassword: 'Las contraseñas deben ser idénticas',
|
sameaspassword: 'Las contraseñas deben ser idénticas',
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@@ -746,6 +758,7 @@ const msgglobal = {
|
|||||||
editvalues: 'Changer les valeurs',
|
editvalues: 'Changer les valeurs',
|
||||||
addrecord: 'Ajouter une ligne',
|
addrecord: 'Ajouter une ligne',
|
||||||
showprevedit: 'Afficher les événements passés',
|
showprevedit: 'Afficher les événements passés',
|
||||||
|
nodata: 'Pas de données',
|
||||||
columns: 'Colonnes',
|
columns: 'Colonnes',
|
||||||
tableslist: 'Tables',
|
tableslist: 'Tables',
|
||||||
},
|
},
|
||||||
@@ -774,6 +787,7 @@ const msgglobal = {
|
|||||||
},
|
},
|
||||||
dialog: {
|
dialog: {
|
||||||
close: 'Fermer',
|
close: 'Fermer',
|
||||||
|
copyclipboard: 'Copié dans le presse-papiers',
|
||||||
ok: 'Bien',
|
ok: 'Bien',
|
||||||
yes: 'Oui',
|
yes: 'Oui',
|
||||||
no: 'Non',
|
no: 'Non',
|
||||||
@@ -846,13 +860,15 @@ const msgglobal = {
|
|||||||
},
|
},
|
||||||
reg: {
|
reg: {
|
||||||
aportador_solidario: 'Contributeur de solidarité',
|
aportador_solidario: 'Contributeur de solidarité',
|
||||||
|
reflink: 'Liens à partager avec vos amis:',
|
||||||
incorso: 'Inscription en cours...',
|
incorso: 'Inscription en cours...',
|
||||||
richiesto: 'Champ obligatoire',
|
richiesto: 'Champ obligatoire',
|
||||||
email: 'Email',
|
email: 'Email',
|
||||||
intcode_cell: 'Préfixe int.',
|
intcode_cell: 'Préfixe int.',
|
||||||
cell: 'Téléphone',
|
cell: 'Téléphone Telegram',
|
||||||
nationality: 'Nationalité',
|
nationality: 'Nationalité',
|
||||||
email_paypal: 'Email Paypal',
|
email_paypal: 'Email Paypal',
|
||||||
|
country_pay: 'Pays de destination Paiements',
|
||||||
username_telegram: 'Nom d\'utilisateur du Telegram',
|
username_telegram: 'Nom d\'utilisateur du Telegram',
|
||||||
img: 'Fichier image',
|
img: 'Fichier image',
|
||||||
date_reg: 'Date Inscript.',
|
date_reg: 'Date Inscript.',
|
||||||
@@ -881,6 +897,7 @@ const msgglobal = {
|
|||||||
terms: 'Vous devez accepter les conditions, pour continuer..',
|
terms: 'Vous devez accepter les conditions, pour continuer..',
|
||||||
duplicate_email: 'L\'email a déjà été enregistré',
|
duplicate_email: 'L\'email a déjà été enregistré',
|
||||||
duplicate_username: 'Le nom d\'utilisateur a déjà été utilisé',
|
duplicate_username: 'Le nom d\'utilisateur a déjà été utilisé',
|
||||||
|
aportador_not_exist: 'Le nom d\'utilisateur de la personne qui vous a invité n\'est pas présent. Contactez-nous.',
|
||||||
sameaspassword: 'Les mots de passe doivent être identiques',
|
sameaspassword: 'Les mots de passe doivent être identiques',
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@@ -1109,6 +1126,7 @@ const msgglobal = {
|
|||||||
editvalues: 'Edit Values',
|
editvalues: 'Edit Values',
|
||||||
addrecord: 'Add Row',
|
addrecord: 'Add Row',
|
||||||
showprevedit: 'Show Past Events',
|
showprevedit: 'Show Past Events',
|
||||||
|
nodata: 'No data',
|
||||||
columns: 'Columns',
|
columns: 'Columns',
|
||||||
tableslist: 'Tables',
|
tableslist: 'Tables',
|
||||||
},
|
},
|
||||||
@@ -1137,6 +1155,7 @@ const msgglobal = {
|
|||||||
},
|
},
|
||||||
dialog: {
|
dialog: {
|
||||||
close: 'Close',
|
close: 'Close',
|
||||||
|
copyclipboard: 'Copied to clipboard',
|
||||||
ok: 'Ok',
|
ok: 'Ok',
|
||||||
yes: 'Yes',
|
yes: 'Yes',
|
||||||
no: 'No',
|
no: 'No',
|
||||||
@@ -1209,13 +1228,16 @@ const msgglobal = {
|
|||||||
},
|
},
|
||||||
reg: {
|
reg: {
|
||||||
aportador_solidario: 'Solidarity Contributor',
|
aportador_solidario: 'Solidarity Contributor',
|
||||||
|
reflink: 'Links to share to your friends:',
|
||||||
incorso: 'Registration please wait...',
|
incorso: 'Registration please wait...',
|
||||||
|
made_gift: 'Donated',
|
||||||
richiesto: 'Field Required',
|
richiesto: 'Field Required',
|
||||||
email: 'Email',
|
email: 'Email',
|
||||||
intcode_cell: 'International Code',
|
intcode_cell: 'International Code',
|
||||||
cell: 'Mobile Phone',
|
cell: 'Mobile Telegram',
|
||||||
nationality: 'Nationality',
|
nationality: 'Nationality',
|
||||||
email_paypal: 'Email Paypal',
|
email_paypal: 'Email Paypal',
|
||||||
|
country_pay: 'Country of Destination Payments',
|
||||||
username_telegram: 'Username Telegram',
|
username_telegram: 'Username Telegram',
|
||||||
img: 'File Image',
|
img: 'File Image',
|
||||||
date_reg: 'Reg. Date',
|
date_reg: 'Reg. Date',
|
||||||
@@ -1244,6 +1266,7 @@ const msgglobal = {
|
|||||||
terms: 'You need to agree with the terms & conditions.',
|
terms: 'You need to agree with the terms & conditions.',
|
||||||
duplicate_email: 'Email was already registered',
|
duplicate_email: 'Email was already registered',
|
||||||
duplicate_username: 'Username is already taken',
|
duplicate_username: 'Username is already taken',
|
||||||
|
aportador_not_exist: 'The username of the person who invited you is not present. Contact us.',
|
||||||
sameaspassword: 'Passwords must be identical',
|
sameaspassword: 'Passwords must be identical',
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@@ -1471,6 +1494,7 @@ const msgglobal = {
|
|||||||
editvalues: 'Edit Values',
|
editvalues: 'Edit Values',
|
||||||
addrecord: 'Add Row',
|
addrecord: 'Add Row',
|
||||||
showprevedit: 'Show Past Events',
|
showprevedit: 'Show Past Events',
|
||||||
|
nodata: 'No data',
|
||||||
columns: 'Columns',
|
columns: 'Columns',
|
||||||
tableslist: 'Tables',
|
tableslist: 'Tables',
|
||||||
},
|
},
|
||||||
@@ -1499,6 +1523,7 @@ const msgglobal = {
|
|||||||
},
|
},
|
||||||
dialog: {
|
dialog: {
|
||||||
close: 'Close',
|
close: 'Close',
|
||||||
|
copyclipboard: 'Copied to clipboard',
|
||||||
ok: 'Ok',
|
ok: 'Ok',
|
||||||
yes: 'Yes',
|
yes: 'Yes',
|
||||||
no: 'No',
|
no: 'No',
|
||||||
@@ -1571,14 +1596,17 @@ const msgglobal = {
|
|||||||
},
|
},
|
||||||
reg: {
|
reg: {
|
||||||
aportador_solidario: 'Solidarity Contributor',
|
aportador_solidario: 'Solidarity Contributor',
|
||||||
|
reflink: 'Links to share to your friends:',
|
||||||
page_title: 'Registration',
|
page_title: 'Registration',
|
||||||
|
made_gift: 'Donated',
|
||||||
incorso: 'Registration please wait...',
|
incorso: 'Registration please wait...',
|
||||||
richiesto: 'Field Required',
|
richiesto: 'Field Required',
|
||||||
email: 'Email',
|
email: 'Email',
|
||||||
intcode_cell: 'International Code',
|
intcode_cell: 'International Code',
|
||||||
cell: 'Mobile Phone',
|
cell: 'Mobile Telegram',
|
||||||
nationality: 'Nationality',
|
nationality: 'Nationality',
|
||||||
email_paypal: 'Email Paypal',
|
email_paypal: 'Email Paypal',
|
||||||
|
country_pay: 'Country of Destination Payments',
|
||||||
username_telegram: 'Username Telegram',
|
username_telegram: 'Username Telegram',
|
||||||
img: 'File Image',
|
img: 'File Image',
|
||||||
date_reg: 'Reg. Date',
|
date_reg: 'Reg. Date',
|
||||||
@@ -1607,6 +1635,7 @@ const msgglobal = {
|
|||||||
terms: 'You need to agree with the terms & conditions.',
|
terms: 'You need to agree with the terms & conditions.',
|
||||||
duplicate_email: 'Email was already registered',
|
duplicate_email: 'Email was already registered',
|
||||||
duplicate_username: 'Username is already taken',
|
duplicate_username: 'Username is already taken',
|
||||||
|
aportador_not_exist: 'The username of the person who invited you is not present in the archive. Verify that it is correct.',
|
||||||
sameaspassword: 'Passwords must be identical',
|
sameaspassword: 'Passwords must be identical',
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -837,6 +837,7 @@ namespace Actions {
|
|||||||
if (page.active) {
|
if (page.active) {
|
||||||
arrpagesroute.push({
|
arrpagesroute.push({
|
||||||
active: true,
|
active: true,
|
||||||
|
order: page.order,
|
||||||
path: '/' + page.path,
|
path: '/' + page.path,
|
||||||
name: undefined,
|
name: undefined,
|
||||||
text: page.title,
|
text: page.title,
|
||||||
@@ -852,6 +853,7 @@ namespace Actions {
|
|||||||
|
|
||||||
const last = {
|
const last = {
|
||||||
active: true,
|
active: true,
|
||||||
|
order: 10000,
|
||||||
path: '*',
|
path: '*',
|
||||||
materialIcon: 'fas fa-calendar-plus',
|
materialIcon: 'fas fa-calendar-plus',
|
||||||
name: 'otherpages.error404def',
|
name: 'otherpages.error404def',
|
||||||
@@ -860,7 +862,10 @@ namespace Actions {
|
|||||||
infooter: false
|
infooter: false
|
||||||
}
|
}
|
||||||
|
|
||||||
static_data.routes = [...static_data.routes, ...arrpagesroute, last]
|
static_data.routes = [...static_data.baseroutes, ...arrpagesroute, last]
|
||||||
|
|
||||||
|
// Sort array
|
||||||
|
static_data.routes = static_data.routes.sort((a, b) => a.order - b.order)
|
||||||
|
|
||||||
router.addRoutes([...arrpagesroute, last])
|
router.addRoutes([...arrpagesroute, last])
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -20,7 +20,7 @@ import { shared_consts } from '../../common/shared_vuejs'
|
|||||||
|
|
||||||
const bcrypt = require('bcryptjs')
|
const bcrypt = require('bcryptjs')
|
||||||
|
|
||||||
const DefaultUser: IUserFields = {
|
export const DefaultUser: IUserFields = {
|
||||||
_id: '',
|
_id: '',
|
||||||
email: '',
|
email: '',
|
||||||
username: '',
|
username: '',
|
||||||
@@ -29,9 +29,11 @@ const DefaultUser: IUserFields = {
|
|||||||
password: '',
|
password: '',
|
||||||
tokens: [],
|
tokens: [],
|
||||||
verified_email: false,
|
verified_email: false,
|
||||||
|
made_gift: false,
|
||||||
profile: {
|
profile: {
|
||||||
img: ''
|
img: ''
|
||||||
}
|
},
|
||||||
|
downline: []
|
||||||
}
|
}
|
||||||
|
|
||||||
export const DefaultProfile: IUserProfile = {
|
export const DefaultProfile: IUserProfile = {
|
||||||
@@ -41,6 +43,7 @@ export const DefaultProfile: IUserProfile = {
|
|||||||
cell: '',
|
cell: '',
|
||||||
dateofbirth: new Date(),
|
dateofbirth: new Date(),
|
||||||
sex: 0,
|
sex: 0,
|
||||||
|
country_pay: '',
|
||||||
email_paypal: '',
|
email_paypal: '',
|
||||||
username_telegram: ''
|
username_telegram: ''
|
||||||
}
|
}
|
||||||
@@ -166,6 +169,12 @@ namespace Getters {
|
|||||||
return ''
|
return ''
|
||||||
}
|
}
|
||||||
}, 'getImgByUsername')
|
}, 'getImgByUsername')
|
||||||
|
const getRefLink = b.read((mystate: IUserState) => (): string => {
|
||||||
|
// console.log('myrec', myrec)
|
||||||
|
|
||||||
|
return tools.getUrlSite() + '/signup/' + mystate.my.username
|
||||||
|
|
||||||
|
}, 'getRefLink')
|
||||||
|
|
||||||
export const getters = {
|
export const getters = {
|
||||||
get isUserInvalid() {
|
get isUserInvalid() {
|
||||||
@@ -207,6 +216,9 @@ namespace Getters {
|
|||||||
get getUsersList() {
|
get getUsersList() {
|
||||||
return getUsersList()
|
return getUsersList()
|
||||||
},
|
},
|
||||||
|
get getRefLink() {
|
||||||
|
return getRefLink()
|
||||||
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -263,6 +275,7 @@ namespace Mutations {
|
|||||||
localStorage.setItem(tools.localStorage.expirationDate, expirationDate.toString())
|
localStorage.setItem(tools.localStorage.expirationDate, expirationDate.toString())
|
||||||
localStorage.setItem(tools.localStorage.isLogged, String(true))
|
localStorage.setItem(tools.localStorage.isLogged, String(true))
|
||||||
localStorage.setItem(tools.localStorage.verified_email, String(myuser.verified_email))
|
localStorage.setItem(tools.localStorage.verified_email, String(myuser.verified_email))
|
||||||
|
localStorage.setItem(tools.localStorage.made_gift, String(myuser.made_gift))
|
||||||
localStorage.setItem(tools.localStorage.wasAlreadySubOnDb, String(GlobalStore.state.wasAlreadySubOnDb))
|
localStorage.setItem(tools.localStorage.wasAlreadySubOnDb, String(GlobalStore.state.wasAlreadySubOnDb))
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -323,6 +336,7 @@ namespace Mutations {
|
|||||||
mystate.my.surname = ''
|
mystate.my.surname = ''
|
||||||
resetArrToken(mystate.my.tokens)
|
resetArrToken(mystate.my.tokens)
|
||||||
mystate.my.verified_email = false
|
mystate.my.verified_email = false
|
||||||
|
mystate.my.made_gift = false
|
||||||
mystate.categorySel = 'personal'
|
mystate.categorySel = 'personal'
|
||||||
|
|
||||||
mystate.servercode = 0
|
mystate.servercode = 0
|
||||||
@@ -482,7 +496,7 @@ namespace Actions {
|
|||||||
// mutations.setServerCode(myres);
|
// mutations.setServerCode(myres);
|
||||||
return res
|
return res
|
||||||
}).catch((error) => {
|
}).catch((error) => {
|
||||||
return { numtot: 0, numadded: 0, numalreadyexisted: 0}
|
return { numtot: 0, numadded: 0, numalreadyexisted: 0 }
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -518,18 +532,18 @@ namespace Actions {
|
|||||||
|
|
||||||
return bcrypt.hash(authData.password, bcrypt.genSaltSync(12))
|
return bcrypt.hash(authData.password, bcrypt.genSaltSync(12))
|
||||||
.then((hashedPassword: string) => {
|
.then((hashedPassword: string) => {
|
||||||
/*
|
/*
|
||||||
const usertosend = {
|
const usertosend = {
|
||||||
lang: mylang,
|
lang: mylang,
|
||||||
email: authData.email,
|
email: authData.email,
|
||||||
password: String(hashedPassword),
|
password: String(hashedPassword),
|
||||||
username: authData.username,
|
username: authData.username,
|
||||||
name: authData.name,
|
name: authData.name,
|
||||||
surname: authData.surname
|
surname: authData.surname
|
||||||
}
|
}
|
||||||
console.log(usertosend)
|
console.log(usertosend)
|
||||||
|
|
||||||
*/
|
*/
|
||||||
authData.lang = mylang
|
authData.lang = mylang
|
||||||
authData.password = String(hashedPassword)
|
authData.password = String(hashedPassword)
|
||||||
|
|
||||||
@@ -689,6 +703,7 @@ namespace Actions {
|
|||||||
localStorage.removeItem(tools.localStorage.isLogged)
|
localStorage.removeItem(tools.localStorage.isLogged)
|
||||||
// localStorage.removeItem(rescodes.localStorage.leftDrawerOpen)
|
// localStorage.removeItem(rescodes.localStorage.leftDrawerOpen)
|
||||||
localStorage.removeItem(tools.localStorage.verified_email)
|
localStorage.removeItem(tools.localStorage.verified_email)
|
||||||
|
localStorage.removeItem(tools.localStorage.made_gift)
|
||||||
localStorage.removeItem(tools.localStorage.categorySel)
|
localStorage.removeItem(tools.localStorage.categorySel)
|
||||||
localStorage.removeItem(tools.localStorage.wasAlreadySubOnDb)
|
localStorage.removeItem(tools.localStorage.wasAlreadySubOnDb)
|
||||||
|
|
||||||
@@ -775,6 +790,7 @@ namespace Actions {
|
|||||||
const name = String(localStorage.getItem(tools.localStorage.name))
|
const name = String(localStorage.getItem(tools.localStorage.name))
|
||||||
const surname = String(localStorage.getItem(tools.localStorage.surname))
|
const surname = String(localStorage.getItem(tools.localStorage.surname))
|
||||||
const verified_email = localStorage.getItem(tools.localStorage.verified_email) === 'true'
|
const verified_email = localStorage.getItem(tools.localStorage.verified_email) === 'true'
|
||||||
|
const made_gift = localStorage.getItem(tools.localStorage.made_gift) === 'true'
|
||||||
const perm = parseInt(localStorage.getItem(tools.localStorage.perm), 10)
|
const perm = parseInt(localStorage.getItem(tools.localStorage.perm), 10)
|
||||||
const img = String(localStorage.getItem(tools.localStorage.img))
|
const img = String(localStorage.getItem(tools.localStorage.img))
|
||||||
|
|
||||||
@@ -790,6 +806,7 @@ namespace Actions {
|
|||||||
name,
|
name,
|
||||||
surname,
|
surname,
|
||||||
verified_email,
|
verified_email,
|
||||||
|
made_gift,
|
||||||
perm,
|
perm,
|
||||||
profile: { img }
|
profile: { img }
|
||||||
})
|
})
|
||||||
@@ -809,6 +826,22 @@ namespace Actions {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
async function getDashboard(context, paramquery) {
|
||||||
|
|
||||||
|
return await Api.SendReq('/dashboard', 'POST', paramquery)
|
||||||
|
.then((res) => {
|
||||||
|
if (res.status === 200) {
|
||||||
|
return res.data.dashboard
|
||||||
|
}
|
||||||
|
}).catch((error) => {
|
||||||
|
return {
|
||||||
|
aportador: {},
|
||||||
|
downline: []
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
async function refreshUserInfos(){
|
async function refreshUserInfos(){
|
||||||
let {token, refresh_token} = JWT.fetch();
|
let {token, refresh_token} = JWT.fetch();
|
||||||
@@ -837,6 +870,7 @@ namespace Actions {
|
|||||||
importemail: b.dispatch(importemail),
|
importemail: b.dispatch(importemail),
|
||||||
newsletterload: b.dispatch(newsletterload),
|
newsletterload: b.dispatch(newsletterload),
|
||||||
newsletter_setactivate: b.dispatch(newsletter_setactivate),
|
newsletter_setactivate: b.dispatch(newsletter_setactivate),
|
||||||
|
getDashboard: b.dispatch(getDashboard),
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -77,8 +77,10 @@ export const colgallery = [
|
|||||||
|
|
||||||
export const colmypage = [
|
export const colmypage = [
|
||||||
AddCol({ name: 'title', label_trans: 'pages.title' }),
|
AddCol({ name: 'title', label_trans: 'pages.title' }),
|
||||||
|
AddCol({ name: 'lang', label_trans: 'pages.lang' }),
|
||||||
AddCol({ name: 'path', label_trans: 'pages.path' }),
|
AddCol({ name: 'path', label_trans: 'pages.path' }),
|
||||||
AddCol({ name: 'icon', label_trans: 'pages.icon' }),
|
AddCol({ name: 'icon', label_trans: 'pages.icon' }),
|
||||||
|
AddCol({ name: 'order', label_trans: 'pages.order', fieldtype: tools.FieldType.number }),
|
||||||
AddCol({ name: 'keywords', label_trans: 'pages.keywords' }),
|
AddCol({ name: 'keywords', label_trans: 'pages.keywords' }),
|
||||||
AddCol({ name: 'description', label_trans: 'pages.description' }),
|
AddCol({ name: 'description', label_trans: 'pages.description' }),
|
||||||
AddCol({ name: 'heightimg', label_trans: 'pages.heightimg', fieldtype: tools.FieldType.number }),
|
AddCol({ name: 'heightimg', label_trans: 'pages.heightimg', fieldtype: tools.FieldType.number }),
|
||||||
@@ -378,11 +380,13 @@ export const fieldsTable = {
|
|||||||
AddCol({ name: 'name', label_trans: 'reg.name' }),
|
AddCol({ name: 'name', label_trans: 'reg.name' }),
|
||||||
AddCol({ name: 'surname', label_trans: 'reg.surname' }),
|
AddCol({ name: 'surname', label_trans: 'reg.surname' }),
|
||||||
AddCol({ name: 'email', label_trans: 'reg.email' }),
|
AddCol({ name: 'email', label_trans: 'reg.email' }),
|
||||||
|
AddCol({ name: 'made_gift', label_trans: 'reg.made_gift', fieldtype: tools.FieldType.boolean }),
|
||||||
AddCol({ name: 'profile.nationality', field: 'profile', subfield: 'nationality', label_trans: 'reg.nationality', fieldtype: tools.FieldType.nationality }),
|
AddCol({ name: 'profile.nationality', field: 'profile', subfield: 'nationality', label_trans: 'reg.nationality', fieldtype: tools.FieldType.nationality }),
|
||||||
AddCol({ name: 'profile.intcode_cell', field: 'profile', subfield: 'intcode_cell', label_trans: 'reg.intcode_cell', fieldtype: tools.FieldType.intcode }),
|
AddCol({ name: 'profile.intcode_cell', field: 'profile', subfield: 'intcode_cell', label_trans: 'reg.intcode_cell', fieldtype: tools.FieldType.intcode }),
|
||||||
AddCol({ name: 'profile.iso2_cell', field: 'profile', subfield: 'iso2_cell', label_trans: 'reg.iso2_cell' }),
|
AddCol({ name: 'profile.iso2_cell', field: 'profile', subfield: 'iso2_cell', label_trans: 'reg.iso2_cell' }),
|
||||||
AddCol({ name: 'profile.cell', field: 'profile', subfield: 'cell', label_trans: 'reg.cell', fieldtype: tools.FieldType.intcode }),
|
AddCol({ name: 'profile.cell', field: 'profile', subfield: 'cell', label_trans: 'reg.cell', fieldtype: tools.FieldType.intcode }),
|
||||||
AddCol({ name: 'profile.email_paypal', field: 'profile', subfield: 'email_paypal', label_trans: 'reg.email_paypal' }),
|
AddCol({ name: 'profile.email_paypal', field: 'profile', subfield: 'email_paypal', label_trans: 'reg.email_paypal' }),
|
||||||
|
AddCol({ name: 'profile.country_pay', field: 'profile', subfield: 'country_pay', label_trans: 'reg.country_pay', fieldtype: tools.FieldType.nationality }),
|
||||||
AddCol({ name: 'profile.username_telegram', field: 'profile', subfield: 'username_telegram', label_trans: 'reg.username_telegram' }),
|
AddCol({ name: 'profile.username_telegram', field: 'profile', subfield: 'username_telegram', label_trans: 'reg.username_telegram' }),
|
||||||
AddCol({ name: 'profile.img', field: 'profile', subfield: 'img', label_trans: 'reg.img', sortable: false }),
|
AddCol({ name: 'profile.img', field: 'profile', subfield: 'img', label_trans: 'reg.img', sortable: false }),
|
||||||
AddCol({ name: 'date_reg', label_trans: 'reg.date_reg', fieldtype: tools.FieldType.date }),
|
AddCol({ name: 'date_reg', label_trans: 'reg.date_reg', fieldtype: tools.FieldType.date }),
|
||||||
|
|||||||
@@ -104,6 +104,7 @@ export const tools = {
|
|||||||
|
|
||||||
localStorage: {
|
localStorage: {
|
||||||
verified_email: 'vf',
|
verified_email: 'vf',
|
||||||
|
made_gift: 'mg',
|
||||||
wasAlreadySubOnDb: 'sb',
|
wasAlreadySubOnDb: 'sb',
|
||||||
categorySel: 'cs',
|
categorySel: 'cs',
|
||||||
isLogged: 'ilog',
|
isLogged: 'ilog',
|
||||||
@@ -1387,8 +1388,13 @@ export const tools = {
|
|||||||
},
|
},
|
||||||
|
|
||||||
visumenu(elem) { // : IListRoutes
|
visumenu(elem) { // : IListRoutes
|
||||||
return (elem.onlyAdmin && UserStore.state.isAdmin) || (elem.onlyManager && UserStore.state.isManager)
|
let visu = ((elem.onlyAdmin && UserStore.state.isAdmin) || (elem.onlyManager && UserStore.state.isManager)
|
||||||
|| ((!elem.onlyAdmin) && (!elem.onlyManager))
|
|| ((!elem.onlyAdmin) && (!elem.onlyManager))) && elem.active
|
||||||
|
|
||||||
|
if (elem.meta && elem.meta.requiresAuth) {
|
||||||
|
visu = visu && tools.isLoggedToSystem()
|
||||||
|
}
|
||||||
|
return visu
|
||||||
},
|
},
|
||||||
|
|
||||||
executefunc(myself: any, table, func: number, par: IParamDialog) {
|
executefunc(myself: any, table, func: number, par: IParamDialog) {
|
||||||
@@ -2522,6 +2528,12 @@ export const tools = {
|
|||||||
}
|
}
|
||||||
,
|
,
|
||||||
|
|
||||||
|
getUrlSite() {
|
||||||
|
const url = window.location.href
|
||||||
|
const arr = url.split('/')
|
||||||
|
return arr[0] + '//' + arr[2]
|
||||||
|
},
|
||||||
|
|
||||||
SignIncheckErrors(mythis, riscode, ispageLogin ?: boolean) {
|
SignIncheckErrors(mythis, riscode, ispageLogin ?: boolean) {
|
||||||
// console.log('SignIncheckErrors: ', riscode)
|
// console.log('SignIncheckErrors: ', riscode)
|
||||||
try {
|
try {
|
||||||
@@ -2874,6 +2886,17 @@ export const tools = {
|
|||||||
isChristmasHoliday() {
|
isChristmasHoliday() {
|
||||||
const now = new Date()
|
const now = new Date()
|
||||||
return ((now.getMonth() === 11 && now.getDate() > 20) || (now.getMonth() === 0 && now.getDate() < 8))
|
return ((now.getMonth() === 11 && now.getDate() > 20) || (now.getMonth() === 0 && now.getDate() < 8))
|
||||||
|
},
|
||||||
|
|
||||||
|
CapitalizeAllWords(str) {
|
||||||
|
const splitStr = str.toLowerCase().split(' ')
|
||||||
|
for (var i = 0; i < splitStr.length; i++) {
|
||||||
|
// You do not need to check if i is larger than splitStr length, as your for does that for you
|
||||||
|
// Assign it back to the array
|
||||||
|
splitStr[i] = splitStr[i].charAt(0).toUpperCase() + splitStr[i].substring(1)
|
||||||
|
}
|
||||||
|
// Directly return the joined string
|
||||||
|
return splitStr.join(' ')
|
||||||
}
|
}
|
||||||
|
|
||||||
// getLocale() {
|
// getLocale() {
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
export { duplicate } from './duplicate'
|
export { duplicate } from './duplicate'
|
||||||
export { registereduser } from './registereduser'
|
export { registereduser } from './registereduser'
|
||||||
|
export { aportadorexist } from './aportadorexist'
|
||||||
export { registeredemail } from './registeredemail'
|
export { registeredemail } from './registeredemail'
|
||||||
export { complexity } from './complexity'
|
export { complexity } from './complexity'
|
||||||
|
|||||||
@@ -1,37 +0,0 @@
|
|||||||
import { ISignupOptions } from 'model'
|
|
||||||
import { email, minLength, required, sameAs } from 'vuelidate/lib/validators'
|
|
||||||
// import { ValidationRuleset } from 'vuelidate'
|
|
||||||
import { complexity, registeredemail, registereduser } from '../../../validation'
|
|
||||||
|
|
||||||
export interface TSignup { signup: ISignupOptions, validationGroup: string[] }
|
|
||||||
|
|
||||||
export const validations = {
|
|
||||||
signup: {
|
|
||||||
repeatPassword: {
|
|
||||||
required,
|
|
||||||
sameAsPassword: sameAs('password')
|
|
||||||
},
|
|
||||||
password: {
|
|
||||||
complexity,
|
|
||||||
required
|
|
||||||
},
|
|
||||||
username: {
|
|
||||||
registereduser,
|
|
||||||
required
|
|
||||||
},
|
|
||||||
name: {
|
|
||||||
required
|
|
||||||
},
|
|
||||||
surname: {
|
|
||||||
required
|
|
||||||
},
|
|
||||||
email: {
|
|
||||||
email,
|
|
||||||
registeredemail,
|
|
||||||
required
|
|
||||||
},
|
|
||||||
terms: {
|
|
||||||
required
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -20,8 +20,8 @@ export default class Signup extends Vue {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public created() {
|
public created() {
|
||||||
if (!tools.getCookie(tools.APORTADOR_SOLIDARIO, ''))
|
// if (!tools.getCookie(tools.APORTADOR_SOLIDARIO, ''))
|
||||||
tools.setCookie(tools.APORTADOR_SOLIDARIO, this.$route.params.invited)
|
// tools.setCookie(tools.APORTADOR_SOLIDARIO, this.$route.params.invited)
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user