Update Password + Signup

This commit is contained in:
Paolo Arena
2021-09-19 02:59:24 +02:00
parent d1eb9a9733
commit 622bd6943d
32 changed files with 987 additions and 1145 deletions

View File

@@ -15,9 +15,9 @@ MONGODB_HOST="http://localhost:3000"
LOGO_REG="freeplanet-logo-full.svg"
TEST_NAME="Paolo"
TEST_SURNAME="Arena"
TEST_EMAIL="paolo.arena77@gmail.com"
TEST_USERNAME=""
TEST_PASSWORD=""
TEST_EMAIL="paolo@freeplanet.app"
TEST_USERNAME="paoloar77"
TEST_PASSWORD="passpao1fr@1A"
TEST_APORTADOR=""
PUBLICKEY_PUSH='BGxRrFWnPoa_ImUaWXmeEOFVI9VNKVKaAPsvsM1XY6wn24yxp9MyOQ4crNYCJKxSXV65Y1GblW5_VLoamedcZ1I'
IN_CONSTRUCTION="0"

Binary file not shown.

View File

@@ -22,19 +22,19 @@
"generate-sw": "workbox generateSW workbox-config.js"
},
"dependencies": {
"@quasar/extras": "^1.10.12",
"@vue/compat": "^3.2.10",
"@vue/compiler-sfc": "^3.2.10",
"@quasar/extras": "^1.11.0",
"@vue/compat": "^3.2.12",
"@vue/compiler-sfc": "^3.2.12",
"@vue/eslint-config-standard": "^6.1.0",
"@vuelidate/core": "^2.0.0-alpha.25",
"@vuelidate/validators": "^2.0.0-alpha.21",
"@vuelidate/core": "^2.0.0-alpha.26",
"@vuelidate/validators": "^2.0.0-alpha.22",
"acorn": "^8.5.0",
"autoprefixer": "^10.3.4",
"axios": "^0.21.4",
"bcryptjs": "^2.4.3",
"core-js": "^3.17.2",
"core-js": "^3.17.3",
"crypto": "^1.0.1",
"date-fns": "^2.23.0",
"date-fns": "^2.24.0",
"dotenv": "^10.0.0",
"eslint-plugin-quasar": "^1.0.0",
"graphql": "^15.5.3",
@@ -45,20 +45,20 @@
"localforage": "^1.10.0",
"lodash": "^4.17.21",
"normalize.css": "^8.0.1",
"npm": "^7.22.0",
"npm": "^7.24.0",
"nprogress": "^0.2.0",
"pinia": "^2.0.0-rc.6",
"pinia": "^2.0.0-rc.9",
"prerender-spa-plugin": "^3.4.0",
"quasar": "^2.0.4",
"quasar": "^2.1.0",
"quasar-extras": "^2.0.9",
"register-service-worker": "^1.7.2",
"vee-validate": "^4.4.10",
"vue": "^3.2.10",
"vue": "^3.2.12",
"vue-class-component": "^8.0.0-rc.1",
"vue-country-code": "^1.1.2",
"vue-i18n": "^9.1.7",
"vue-idb": "^0.2.0",
"vue-loader": "^16.0.0",
"vue-loader": "^16.5.0",
"vue-property-decorator": "^10.0.0-rc.3",
"vue-router": "^4.0.11",
"vue-scroll-reveal": "^1.0.11",
@@ -70,7 +70,7 @@
"vuex-typex": "^3.1.9"
},
"devDependencies": {
"@babel/eslint-parser": "^7.15.4",
"@babel/eslint-parser": "^7.15.7",
"@quasar/app": "^3.1.0",
"@types/bcryptjs": "^2.4.2",
"@types/googlemaps": "^3.43.3",
@@ -79,21 +79,21 @@
"@types/dotenv": "^8.2.0",
"@types/jest": "^27.0.1",
"@types/js-cookie": "^2.2.7",
"@types/node": "^16.7.13",
"@types/node": "^16.9.2",
"@types/nprogress": "^0.2.0",
"@typescript-eslint/eslint-plugin": "^4.31.0",
"@typescript-eslint/parser": "^4.31.0",
"@typescript-eslint/eslint-plugin": "^4.31.1",
"@typescript-eslint/parser": "^4.31.1",
"eslint": "^7.32.0",
"eslint-config-prettier": "^8.3.0",
"eslint-plugin-import": "^2.24.2",
"eslint-plugin-node": "^11.1.0",
"eslint-plugin-promise": "^5.1.0",
"eslint-plugin-vue": "^7.17.0",
"eslint-plugin-vue": "^7.18.0",
"eslint-webpack-plugin": "^3.0.1",
"file-loader": "^6.2.0",
"html-webpack-plugin": "^5.3.2",
"http-proxy-middleware": "^2.0.1",
"jest": "^27.1.1",
"jest": "^27.2.0",
"json-loader": "^0.5.7",
"node-sass": "^6.0.1",
"npm-check-updates": "^11.8.5",
@@ -101,17 +101,17 @@
"postcss": "^8.3.6",
"postcss-loader": "^6.1.1",
"sass-loader": "^12.1.0",
"strip-ansi": "=7.0.0",
"strip-ansi": "=7.0.1",
"ts-jest": "^27.0.5",
"ts-loader": "^9.2.5",
"tslint": "^6.1.3",
"tslint-config-standard": "^9.0.0",
"tslint-loader": "^3.5.4",
"typescript": "^4.4.2",
"typescript": "^4.4.3",
"vue-cli-plugin-element-ui": "^1.1.4",
"vueify": "^9.4.1",
"workbox-cli": "^6.2.4",
"workbox-webpack-plugin": "^6.2.4"
"workbox-cli": "^6.3.0",
"workbox-webpack-plugin": "^6.3.0"
},
"browser": {
"crypto": false

View File

@@ -5,8 +5,6 @@ import { useI18n } from '@src/boot/i18n'
import { useGlobalStore } from '@store/globalStore'
import { useUserStore } from '@store/UserStore'
import { Header } from '@/components/Header'
import { toolsext } from '@store/Modules/toolsext'
import globalroutines from './globalroutines/index'
import { computed } from 'vue'
import { CProvaPao } from '@/components/CProvaPao'
@@ -63,7 +61,7 @@ export default {
if (chiamaautologin) {
// console.log('CHIAMA autologin_FromLocalStorage')
userStore.autologin_FromLocalStorage($router)
.then((loadstorage) => {
.then((loadstorage: any) => {
if (loadstorage) {

View File

@@ -9,6 +9,11 @@ import { tools } from '@store/Modules/tools'
import { toolsext } from '@store/Modules/toolsext'
import { costanti } from '@costanti'
import MixinBase from '../../mixins/mixin-base'
import { CMyEditor } from '@/components/CMyEditor'
import { CMySelect } from '@/components/CMySelect'
import { CMyChipList } from '@/components/CMyChipList'
import { CMyToggleList } from '@/components/CMyToggleList'
import { CDateTime } from '@/components/CDateTime'
export default defineComponent({
name: 'CMyFieldDb',
@@ -66,7 +71,7 @@ export default defineComponent({
default: '',
},
},
// components: { CMyEditor, CMySelect, CMyChipList, CMyToggleList, CDateTime },
components: { CMyEditor, CMySelect, CMyChipList, CMyToggleList, CDateTime },
setup(props, { emit }) {
const $q = useQuasar()
const { t } = useI18n()
@@ -172,7 +177,7 @@ export default defineComponent({
}
function myvalprinted() {
return visuValByType(myvalue)
return visuValByType(myvalue.value)
}
function savefield(value: any, initialval: any) {
@@ -220,6 +225,9 @@ export default defineComponent({
col,
countryname,
onInput,
tools,
costanti,
}
},
})

View File

@@ -20,7 +20,7 @@
</q-field>
</div>
<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 === costanti.FieldType.date">
<CDateTime
:label="col.label"
class="cursor-pointer"
@@ -31,7 +31,7 @@
>
</CDateTime>
</div>
<div v-else-if="type === tools.FieldType.onlydate">
<div v-else-if="type === costanti.FieldType.onlydate">
<CDateTime
:label="col.label"
class="cursor-pointer"
@@ -44,9 +44,9 @@
</CDateTime>
</div>
<div v-else :class="mycl">
<div v-if="type === tools.FieldType.binary">
<div v-if="type === costanti.FieldType.binary">
<CMyChipList
:type="tools.FieldType.binary"
:type="costanti.FieldType.binary"
:value="myvalue"
:options="db_fieldsTable.getTableJoinByName(col.jointable)"
:optval="db_fieldsTable.getKeyByTable(col.jointable)"
@@ -54,7 +54,7 @@
:opticon="db_fieldsTable.getIconByTable(col.jointable)"></CMyChipList>
</div>
<!-- Show Value -->
<div v-else-if="type === tools.FieldType.nationality">
<div v-else-if="type === costanti.FieldType.nationality">
<q-input
input-class="cursor-pointer text-center"
:readonly="true"
@@ -65,24 +65,24 @@
>
<div class="hidden">
<vue-country-code
<!--<vue-country-code
:defaultCountry="myvalue"
:disabledFetchingCountry="true"
@onSelect="selectcountry"
:preferredCountries="tools.getprefCountries"
:dropdownOptions="{ disabledDialCode: true }">
</vue-country-code>
</vue-country-code>-->
</div>
</q-input>
</div>
<div v-else-if="type === tools.FieldType.intcode">
<div v-else-if="type === costanti.FieldType.intcode">
<div v-html="myvalprinted"></div>
<div v-html="myvalprinted()"></div>
</div>
<div v-else-if="((type === tools.FieldType.multiselect) || (type === tools.FieldType.multioption))">
<div v-else-if="((type === costanti.FieldType.multiselect) || (type === costanti.FieldType.multioption))">
<CMyChipList
:type="type"
:value="myvalue"
@@ -91,32 +91,32 @@
:optlab="db_fieldsTable.getLabelByTable(col.jointable)"
:opticon="db_fieldsTable.getIconByTable(col.jointable)"></CMyChipList>
</div>
<div v-else-if="type === tools.FieldType.select">
<div v-else-if="type === costanti.FieldType.select">
<CMyChipList
myclass="text-center"
:type="tools.FieldType.select"
:type="costanti.FieldType.select"
:value="myvalue"
:options="db_fieldsTable.getTableJoinByName(col.jointable)"
:optval="db_fieldsTable.getKeyByTable(col.jointable)"
:optlab="db_fieldsTable.getLabelByTable(col.jointable)"
:opticon="db_fieldsTable.getIconByTable(col.jointable)"></CMyChipList>
</div>
<div v-else-if="type === tools.FieldType.html">
<div v-html="myvalprinted">
<div v-else-if="type === costanti.FieldType.html">
<div v-html="myvalprinted()">
</div>
</div>
<div v-else-if="type === tools.FieldType.boolean">
<div v-else-if="type === costanti.FieldType.boolean">
<q-toggle
dark color="green" v-model="myvalue" :label="col.title"
dark color="green" v-model="myvalue" :label="col.title"
@input="savefieldboolean"></q-toggle>
</div>
<div v-else>
<div v-html="myvalprinted"></div>
<div v-html="myvalprinted()"></div>
</div>
<q-popup-edit
v-if="(canEdit && type !== tools.FieldType.boolean) && !disable"
v-if="(canEdit && type !== costanti.FieldType.boolean) && !disable"
v-model="myvalue"
:disable="col.disable"
:title="col.title"
@@ -124,63 +124,62 @@ dark color="green" v-model="myvalue" :label="col.title"
buttons
>
<div v-if="type === tools.FieldType.boolean">
<div v-if="type === costanti.FieldType.boolean">
<q-checkbox v-model="myvalue" :label="col.title">
</q-checkbox>
<div v-html="visuValByType(myvalue)">
</div>
</div>
<div v-else-if="type === tools.FieldType.string">
<div v-else-if="type === costanti.FieldType.string">
<q-input
v-model="myvalue"
v-model="myvalue"
autogrow
@keyup.enter.stop
autofocus>
</q-input>
</div>
<div v-else-if="type === tools.FieldType.password">
<div v-else-if="type === costanti.FieldType.password">
<q-input
v-model="myvalue"
v-model="myvalue"
type="password"
@keyup.enter.stop
autofocus>
</q-input>
</div>
<div v-else-if="type === tools.FieldType.number">
<div v-else-if="type === costanti.FieldType.number">
<q-input
v-model="myvalue" type="number"
v-model="myvalue" type="number"
autofocus>
</q-input>
</div>
<div v-else-if="type === tools.FieldType.hours">
<div v-else-if="type === costanti.FieldType.hours">
<CMySelect
label="Ore" v-model:value="myvalue"
label="Ore" v-model:value="myvalue"
optval="_id" optlab="label"
:useinput="false"
o :options="tools.SelectHours">
</CMySelect>
</div>
<div v-else-if="type === tools.FieldType.binary">
<div v-else-if="type === costanti.FieldType.binary">
<CMyToggleList
:label="col.title"
:label="col.title"
:options="db_fieldsTable.getTableJoinByName(col.jointable)"
v-model:value="myvalue"
:optval="db_fieldsTable.getKeyByTable(col.jointable)"
:optlab="db_fieldsTable.getLabelByTable(col.jointable)">
</CMyToggleList>
</div>
<div v-else-if="type === tools.FieldType.html">
<div v-else-if="type === costanti.FieldType.html">
<CMyEditor v-model:value="myvalue" :title="title" @keyup.enter.stop>
</CMyEditor>
</div>
<div v-else-if="type === tools.FieldType.select">
<div v-else-if="type === costanti.FieldType.select">
<CMySelect
:label="col.title"
:label="col.title"
v-model:value="myvalue"
:optval="db_fieldsTable.getKeyByTable(col.jointable)"
:optlab="db_fieldsTable.getLabelByTable(col.jointable)"
@@ -188,7 +187,7 @@ label="Ore" v-model:value="myvalue"
:useinput="false">
</CMySelect>
</div>
<div v-else-if="col.fieldtype === tools.FieldType.nationality">
<div v-else-if="col.fieldtype === costanti.FieldType.nationality">
<div class="justify-center q-gutter-sm clgutter q-mt-sm">
<q-input
v-model="countryname"
@@ -199,14 +198,14 @@ label="Ore" v-model:value="myvalue"
<template v-slot:prepend>
<div style="font-size: 1rem;">
<vue-country-code
<!--<vue-country-code
:defaultCountry="myvalue"
:disabledFetchingCountry="true"
@onSelect="selectcountry"
:preferredCountries="tools.getprefCountries"
:dropdownOptions="{ disabledDialCode: true }">
</vue-country-code>
</vue-country-code>-->
</div>
</template>
</q-input>
@@ -215,10 +214,10 @@ label="Ore" v-model:value="myvalue"
</div>
</div>
</div>
<div v-else-if="col.fieldtype === tools.FieldType.intcode">
<div v-else-if="col.fieldtype === costanti.FieldType.intcode">
<div class="justify-center q-gutter-sm clgutter q-mt-sm">
<vue-tel-input
<!--<vue-tel-input
@country-changed="intcode_change"
:value="myvalue"
@input="onInput"
@@ -228,16 +227,16 @@ label="Ore" v-model:value="myvalue"
:enabledCountryCode="true"
inputClasses="clCell"
wrapperClasses="clCellCode">
</vue-tel-input>
</vue-tel-input>-->
<div style="height: 180px;">
</div>
</div>
</div>
<div v-else-if="col.fieldtype === tools.FieldType.multiselect">
<div v-else-if="col.fieldtype === costanti.FieldType.multiselect">
<CMyToggleList
:label="col.title"
:label="col.title"
:options="db_fieldsTable.getTableJoinByName(col.jointable)"
v-model:value="myvalue"
:optval="db_fieldsTable.getKeyByTable(col.jointable)"
@@ -265,7 +264,7 @@ label="Ore" v-model:value="myvalue"
</q-select>
-->
</div>
<div v-else-if="col.fieldtype === tools.FieldType.multioption">
<div v-else-if="col.fieldtype === costanti.FieldType.multioption">
</div>
</q-popup-edit>

View File

@@ -170,7 +170,7 @@ export default defineComponent({
function SaveValueInt(newVal: any, valinitial: any) {
// console.log('SaveValueInt', newVal, valinitial)
console.log('SaveValueInt', newVal, valinitial)
// Update value in table memory
if (props.subfield !== '') {
@@ -192,6 +192,7 @@ export default defineComponent({
}
function Savedb(newVal: any, valinitial: any) {
console.log('Savedb')
if (props.col.fieldtype === costanti.FieldType.boolean) {
// console.log('myvalue', myvalue, newVal, myvalueprec)
@@ -330,6 +331,7 @@ export default defineComponent({
selectcountry,
intcode_change,
tools,
costanti,
fieldsTable,
onInput,
}

View File

@@ -2,7 +2,7 @@
<div :class="getclassCol(col)">
<div v-if="visulabel" class="flex">
<div v-if="visInNewRec(col)" style="flex-grow: 1;">
<div v-if="col.fieldtype === tools.FieldType.string">
<div v-if="col.fieldtype === costanti.FieldType.string">
<q-input
v-model="myvalue"
autogrow
@@ -12,7 +12,7 @@
:label="col.label">
</q-input>
</div>
<div v-else-if="col.fieldtype === tools.FieldType.date">
<div v-else-if="col.fieldtype === costanti.FieldType.date">
<CDateTime
:label="col.label"
class="cursor-pointer"
@@ -26,7 +26,7 @@
@show="OpenEdit">
</CDateTime>
</div>
<div v-else-if="col.fieldtype === tools.FieldType.onlydate">
<div v-else-if="col.fieldtype === costanti.FieldType.onlydate">
<CDateTime
:label="col.label"
class="cursor-pointer"
@@ -41,7 +41,7 @@
view="date">
</CDateTime>
</div>
<div v-else-if="col.fieldtype === tools.FieldType.number">
<div v-else-if="col.fieldtype === costanti.FieldType.number">
<q-input
v-model="myvalue" type="number"
autofocus
@@ -51,7 +51,7 @@
</q-input>
</div>
<div v-else-if="col.fieldtype === tools.FieldType.hours">
<div v-else-if="col.fieldtype === costanti.FieldType.hours">
<div class="row">
<q-input
v-model="myvalue" type="number"
@@ -82,7 +82,7 @@
-->
</div>
<div v-else-if="col.fieldtype === tools.FieldType.listimages">
<div v-else-if="col.fieldtype === costanti.FieldType.listimages">
<CGallery
:gall="row" :listimages="myvalue" :edit="isviewfield"
@showandsave="Savedb"
@@ -91,7 +91,7 @@
</CGallery>
</div>
<div v-else-if="col.fieldtype === tools.FieldType.image">
<div v-else-if="col.fieldtype === costanti.FieldType.image">
<CGallery
:gall="row" :listimages="myvalue" :edit="isviewfield"
@input="changevalRec"
@@ -99,9 +99,9 @@
</CGallery>
</div>
<div v-if="col.fieldtype === tools.FieldType.binary">
<div v-if="col.fieldtype === costanti.FieldType.binary">
<CMyChipList
:type="tools.FieldType.binary"
:type="costanti.FieldType.binary"
:value="myvalue"
@input="changevalRec"
:options="fieldsTable.getTableJoinByName(col.jointable)"
@@ -110,34 +110,34 @@
:opticon="fieldsTable.getIconByTable(col.jointable)"></CMyChipList>
</div>
<!-- Show Value -->
<div v-else-if="col.fieldtype === tools.FieldType.multiselect">
<div v-else-if="col.fieldtype === costanti.FieldType.multiselect">
<CMyChipList
@input="changevalRec"
:type="tools.FieldType.multiselect"
:type="costanti.FieldType.multiselect"
:value="myvalue"
:options="fieldsTable.getTableJoinByName(col.jointable)"
:optval="fieldsTable.getKeyByTable(col.jointable)"
:optlab="fieldsTable.getLabelByTable(col.jointable)"
:opticon="fieldsTable.getIconByTable(col.jointable)"></CMyChipList>
</div>
<div v-else-if="col.fieldtype === tools.FieldType.select">
<div v-else-if="col.fieldtype === costanti.FieldType.select">
<CMyChipList
@input="changevalRec"
myclass="text-center"
:type="tools.FieldType.select"
:type="costanti.FieldType.select"
:value="myvalue"
:options="fieldsTable.getTableJoinByName(col.jointable)"
:optval="fieldsTable.getKeyByTable(col.jointable)"
:optlab="fieldsTable.getLabelByTable(col.jointable)"
:opticon="fieldsTable.getIconByTable(col.jointable)"></CMyChipList>
</div>
<div v-else-if="col.fieldtype === tools.FieldType.boolean">
<div v-else-if="col.fieldtype === costanti.FieldType.boolean">
<q-toggle
dark color="green" v-model="myvalue" :label="col.title"
:disable="disable && col.name !== 'profile.saw_zoom_presentation'"
@input="changevalRec"></q-toggle>
</div>
<div v-else-if="col.fieldtype === tools.FieldType.html">
<div v-else-if="col.fieldtype === costanti.FieldType.html">
<div v-html="visuValByType(myvalue, col, row)" @click="visueditor = true">
</div>
@@ -145,33 +145,33 @@
</div>
</div>
<div v-else>
<div v-if="col.fieldtype === tools.FieldType.listimages">
<div v-if="col.fieldtype === costanti.FieldType.listimages">
<CGallery
:gall="row" :listimages="myvalue" :edit="isviewfield"
@showandsave="Savedb">
</CGallery>
</div>
<div v-else-if="col.fieldtype === tools.FieldType.image">
<div v-else-if="col.fieldtype === costanti.FieldType.image">
<CGallery
:gall="row" :listimages="myvalue" :edit="isviewfield"
@showandsave="Savedb">
</CGallery>
</div>
<div v-else-if="col.fieldtype === tools.FieldType.nationality">
<div v-else-if="col.fieldtype === costanti.FieldType.nationality">
<div>
{{ myvalue }}
</div>
</div>
<div v-else-if="col.fieldtype === tools.FieldType.intcode">
<div v-else-if="col.fieldtype === costanti.FieldType.intcode">
<div>
{{ myvalue }}
</div>
</div>
<div v-else>
<!-- Edit Value -->
<span v-if="col.fieldtype === tools.FieldType.date">
<span v-if="col.fieldtype === costanti.FieldType.date">
<CDateTime
:label="col.label"
class="cursor-pointer"
@@ -184,7 +184,7 @@
@show="OpenEdit">
</CDateTime>
</span>
<span v-else-if="col.fieldtype === tools.FieldType.onlydate">
<span v-else-if="col.fieldtype === costanti.FieldType.onlydate">
<CDateTime
:label="col.label"
class="cursor-pointer"
@@ -200,9 +200,9 @@
</span>
<div v-else>
<div>
<div v-if="col.fieldtype === tools.FieldType.binary">
<div v-if="col.fieldtype === costanti.FieldType.binary">
<CMyChipList
:type="tools.FieldType.binary"
:type="costanti.FieldType.binary"
:value="myvalue"
:options="fieldsTable.getTableJoinByName(col.jointable)"
:optval="fieldsTable.getKeyByTable(col.jointable)"
@@ -210,32 +210,32 @@
:opticon="fieldsTable.getIconByTable(col.jointable)"></CMyChipList>
</div>
<!-- Show Value -->
<div v-else-if="col.fieldtype === tools.FieldType.multiselect">
<div v-else-if="col.fieldtype === costanti.FieldType.multiselect">
<CMyChipList
:type="tools.FieldType.multiselect"
:type="costanti.FieldType.multiselect"
:value="myvalue"
:options="fieldsTable.getTableJoinByName(col.jointable)"
:optval="fieldsTable.getKeyByTable(col.jointable)"
:optlab="fieldsTable.getLabelByTable(col.jointable)"
:opticon="fieldsTable.getIconByTable(col.jointable)"></CMyChipList>
</div>
<div v-else-if="col.fieldtype === tools.FieldType.select">
<div v-else-if="col.fieldtype === costanti.FieldType.select">
<CMyChipList
myclass="text-center"
:type="tools.FieldType.select"
:type="costanti.FieldType.select"
:value="myvalue"
:options="fieldsTable.getTableJoinByName(col.jointable)"
:optval="fieldsTable.getKeyByTable(col.jointable)"
:optlab="fieldsTable.getLabelByTable(col.jointable)"
:opticon="fieldsTable.getIconByTable(col.jointable)"></CMyChipList>
</div>
<div v-else-if="col.fieldtype === tools.FieldType.boolean">
<div v-else-if="col.fieldtype === costanti.FieldType.boolean">
<q-toggle
dark color="green" v-model="myvalue" :label="col.title"
:disable="disable && col.name !== 'profile.saw_zoom_presentation'"
@input="Savedb"></q-toggle>
</div>
<div v-else-if="col.fieldtype === tools.FieldType.html">
<div v-else-if="col.fieldtype === costanti.FieldType.html">
<div v-html="visuValByType(myvalue, col, row)" @click="visueditor = true">
</div>
@@ -245,7 +245,7 @@
</div>
<div v-if="col.fieldtype === tools.FieldType.html">
<div v-if="col.fieldtype === costanti.FieldType.html">
<!--<q-dialog v-model="showeditor">-->
<CMyEditor
@@ -255,8 +255,10 @@
</CMyEditor>
<!--</q-dialog>-->
</div>
myvalue: {{ myvalue}}
<q-popup-edit
v-if="canEdit && col.fieldtype !== tools.FieldType.html"
v-if="canEdit && col.fieldtype !== costanti.FieldType.html"
v-model="myvalue"
:disable="col.disable"
:title="col.title"
@@ -265,12 +267,12 @@
@save="SaveValueInt"
@show="OpenEdit">
<div v-if="col.fieldtype === tools.FieldType.boolean">
<div v-if="col.fieldtype === costanti.FieldType.boolean">
<q-checkbox v-model="myvalue" :label="col.title">
</q-checkbox>
{{ visuValByType(myvalue, col, row) }}
</div>
<div v-else-if="col.fieldtype === tools.FieldType.string">
<div v-else-if="col.fieldtype === costanti.FieldType.string">
<q-input
v-model="myvalue"
autogrow
@@ -279,7 +281,7 @@
</q-input>
</div>
<div v-else-if="col.fieldtype === tools.FieldType.password">
<div v-else-if="col.fieldtype === costanti.FieldType.password">
<q-input
v-model="myvalue"
type="password"
@@ -288,21 +290,21 @@
</q-input>
</div>
<div v-else-if="col.fieldtype === tools.FieldType.number">
<div v-else-if="col.fieldtype === costanti.FieldType.number">
<q-input
v-model="myvalue" type="number"
autofocus>
</q-input>
</div>
<div v-else-if="col.fieldtype === tools.FieldType.hours">
<div v-else-if="col.fieldtype === costanti.FieldType.hours">
<q-input
v-model="myvalue" type="number"
autofocus>
</q-input>
</div>
<div v-else-if="col.fieldtype === tools.FieldType.binary">
<div v-else-if="col.fieldtype === costanti.FieldType.binary">
<CMyToggleList
:label="col.title"
:options="fieldsTable.getTableJoinByName(col.jointable)"
@@ -311,7 +313,7 @@
:optlab="fieldsTable.getLabelByTable(col.jointable)">
</CMyToggleList>
</div>
<div v-else-if="col.fieldtype === tools.FieldType.select">
<div v-else-if="col.fieldtype === costanti.FieldType.select">
<CMySelect
:label="col.title"
v-model:value="myvalue"
@@ -321,7 +323,7 @@
:useinput="false">
</CMySelect>
</div>
<div v-else-if="col.fieldtype === tools.FieldType.nationality">
<div v-else-if="col.fieldtype === costanti.FieldType.nationality">
<div class="justify-center q-gutter-sm clgutter q-mt-sm">
<q-input
v-model="countryname"
@@ -348,7 +350,7 @@
</div>
</div>
</div>
<div v-else-if="col.fieldtype === tools.FieldType.intcode">
<div v-else-if="col.fieldtype === costanti.FieldType.intcode">
<vue-tel-input
@country-changed="intcode_change"
@@ -361,7 +363,7 @@
</vue-tel-input>
</div>
<div v-else-if="col.fieldtype === tools.FieldType.multiselect">
<div v-else-if="col.fieldtype === costanti.FieldType.multiselect">
<div>join: {{ col.jointable }}</div>
<q-select

View File

@@ -186,7 +186,7 @@ export default defineComponent({
const descr = shared.description
// Aggiorna Record Personale
userStore.my.profile.myshares = userStore.my.profile.myshares.filter((rec) => rec.description !== descr)
userStore.my.profile.myshares = userStore.my.profile.myshares.filter((rec: any) => rec.description !== descr)
const mydata = {
'profile.myshares': userStore.my.profile.myshares
@@ -222,7 +222,7 @@ export default defineComponent({
if (userStore.my.profile.myshares) {
if (userStore.my.profile.myshares.length === 0)
return false
return userStore.my.profile.myshares.find((rec) => rec.description.toLowerCase() === descr.toLowerCase())
return userStore.my.profile.myshares.find((rec: any) => rec.description.toLowerCase() === descr.toLowerCase())
}
return null
}

View File

@@ -1,9 +1,11 @@
import { ISigninOptions } from 'model'
import { required, minLength } from '@vuelidate/validators'
import { computed } from 'vue'
export type TSignin = { signin: ISigninOptions, validationGroup: string[] }
export const validations = {
export const validations = computed(() => {
return {
signin: {
password: {
required,
@@ -14,4 +16,5 @@ export const validations = {
minLength: minLength(6),
},
},
}
}
})

View File

@@ -1,41 +0,0 @@
import { ISignupOptions } from 'model'
import { email, minLength, required, sameAs } from '@vuelidate/validators'
// import { ValidationRuleset } from 'vuelidate'
import { complexity, registeredemail, registereduser, aportadorexist } from '../../validation'
import { computed } from 'vue'
export interface TSignup {
signup: ISignupOptions,
validationGroup: string[]
}
export const validations = {
repeatPassword: {
required,
sameAsPassword: sameAs('password'),
},
password: {
required,
minLength: minLength(8),
complexity,
},
username: {
required,
minLength: minLength(6),
registereduser,
},
name: {
required,
},
surname: {
required,
},
email: {
email,
registeredemail,
required,
},
terms: {
required,
},
}

View File

@@ -1,7 +1,6 @@
import { tools } from '@store/Modules/tools'
import { ISignupOptions } from 'model'
import { validations, TSignup } from './CSignUp-validate'
import { Logo } from '../../components/logo'
@@ -16,8 +15,11 @@ import { DefaultProfile, useUserStore } from '@store/UserStore'
import useValidate from '@vuelidate/core'
import useVuelidate from '@vuelidate/core'
import 'vue3-tel-input/dist/vue3-tel-input.css'
import { email, minLength, required, sameAs } from '@vuelidate/validators'
// import { ValidationRuleset } from 'vuelidate'
import { complexity, registeredemail, registereduser } from '../../validation'
import 'vue3-tel-input/dist/vue3-tel-input.css'
// import {Loading, QSpinnerFacebook, QSpinnerGears} from 'quasar'
@@ -63,6 +65,39 @@ export default defineComponent({
aportador_solidario: '',
})
const validations: any = computed(() => {
return {
repeatPassword: {
required,
repeatPassword: sameAs(signup.password),
},
password: {
required,
minLength: minLength(8),
complexity,
},
username: {
required,
minLength: minLength(6),
registereduser,
},
name: {
required,
},
surname: {
required,
},
email: {
email,
registeredemail,
required,
},
terms: {
required,
},
}
})
// @ts-ignore
const v$ = useVuelidate(validations, signup)

View File

@@ -3,7 +3,7 @@
<q-banner
inline-actions
rounded dense
:class="bgcolor+` cursor-pointer q-my-sm `+clcolor+ ` ` + myclass + ' ' + getclass"
:class="bgcolor+` cursor-pointer q-my-sm `+clcolor+ ` ` + myclass + ' ' + getclass()"
style="text-align: center; "
@click="apri()"
>
@@ -12,7 +12,7 @@
</template>
<template v-slot:action>
<div class="cursor-pointer">
<q-icon v-if="canopen" :name="iconopen" color="white"/>
<q-icon v-if="canopen" :name="iconopen()" color="white"/>
</div>
</template>
<span :class="`mybanner `+ myclasstext" :style="mystyle">{{ title }}</span>

View File

@@ -473,6 +473,7 @@ export default defineComponent({
getNumMsgUnread,
getMsgText,
paotest,
logoutHandler,
}
},

View File

@@ -45,7 +45,7 @@ export default function () {
const $q = useQuasar()
const { t } = useI18n()
// console.log('setValDb', key, value, serv, table, subkey)
console.log('setValDb', key, value, serv, table, subkey)
let mydatatosave: IDataPass | null = null
if (table === 'users') {
const myid = userStore.my._id
@@ -121,7 +121,7 @@ export default function () {
},
)
}
// console.log('myrec', myrec)
console.log('myrec', myrec)
mydatatosave = {
// @ts-ignore
@@ -149,7 +149,7 @@ export default function () {
}
}
// console.log('mydatatosave', mydatatosave)
console.log('mydatatosave', mydatatosave)
// @ts-ignore
globalStore.saveFieldValue(mydatatosave).then((esito) => {

View File

@@ -345,7 +345,7 @@ const msg_it = {
you: 'Tu',
cancella_invitato: 'Elimina Invitato',
cancella_account: 'Elimina Profilo',
cancellami: 'Sei sicuro di voler Eliminare completamente la tua Registrazione su {sitename}, uscendo così dal movimento? Non potrai piu\' accedere al sito tramite i tuoi dati, Perderai la tua POSIZIONE e i Tuoi Invitati verranno REGALATI a chi ti ha invitato.',
cancellami: 'Sei sicuro di voler Eliminare completamente la tua Registrazione ed i tuoi dati su {sitename}. Non potrai piu\' accedere al sito tramite le tue credenziali.',
cancellami_2: 'ULTIMO AVVISO! Vuoi uscire Definitivamente da {sitename} ?',
account_cancellato: 'Il tuo Profilo è stato cancellato correttamente',
regala_invitato: 'Regala Invitato',

View File

@@ -4260,14 +4260,6 @@ export const tools = {
}
console.log('errorMsg', cosa, item)
if (cosa === 'repeatpassword') {
if (item.sameAsPassword) {
if (item.sameAsPassword.$invalid) {
return t('reg.err.sameaspassword')
}
}
}
if (item.email) {
if (item.email.$invalid)
return t('reg.err.email')
@@ -4310,6 +4302,12 @@ export const tools = {
}
} else if ((cosa === 'name') || (cosa === 'surname')) {
// console.log(item);
} else if (cosa === 'repeatpassword') {
if (item.matchText) {
if (item.matchText.$invalid) {
return t('reg.err.sameaspassword')
}
}
}
return ''

View File

@@ -141,10 +141,13 @@ export const toolsext = {
const globalStore = useGlobalStore()
if (table === 'users') {
if (keystr === 'profile') {
if (subkey) { // @ts-ignore
if (subkey) {
console.log('userStore.my.profile', userStore.my.profile, 'subkey', subkey, )
// @ts-ignore
return userStore.my.profile[subkey]
}
} else if (keystr) { // @ts-ignore
// @ts-ignore
return userStore.my[keystr]
}
} else if (table === 'todos') {

View File

@@ -108,28 +108,6 @@ export const useUserStore = defineStore('UserStore', {
getters: {
getUserByUsername: (state: IUserState) => (username: string): IUserFields | null => {
// Check if is this User!
if (state.my.username === username) return state.my
let trovato = null
if (state.usersList) trovato = state.usersList.find((item) => item.username === username)
return (trovato) || null
},
getImgByUsername: (state: IUserState) => (username: string): string => {
if (username === '') return ''
// Check if is this User!
// @ts-ignore
const myrec = this.getUserByUsername(username)
// console.log('myrec', myrec)
if (myrec && myrec.profile && !!myrec.profile.img && myrec.profile.img !== '' && myrec.profile.img !== 'undefined') {
return myrec.profile.img
}
return ''
},
isServerError(): boolean {
return (this.servercode === toolsext.ERR_SERVERFETCH)
},
@@ -137,21 +115,6 @@ export const useUserStore = defineStore('UserStore', {
getServerCode: (state: IUserState): number => (state.servercode ? state.servercode : 0),
getMsg: (state: IUserState): string => (state.msg ? state.msg : ''),
getNameSurnameByUserId: (state: IUserState) => (userId: string): string => {
// @ts-ignore
const user = this.getUserByUserId(state, userId)
if (user) return `${user.name} ${user.surname}`
return `(${userId})`
},
getNameSurnameByUsername: (state: IUserState) => (username: string): string => {
// @ts-ignore
const user = this.getUserByUsername(state, username)
if (user) return `${user.name} ${user.surname}`
return `(${username})`
},
getUsersList: (mystate: IUserState) => {
return mystate.usersList
},
@@ -169,17 +132,6 @@ export const useUserStore = defineStore('UserStore', {
},
getUserByUserId: (state: IUserState) => (userId: string): IUserFields | null => {
// Check if is this User!
if (state.my._id === userId) return state.my
let trovato = null
if (state.usersList) trovato = state.usersList.find((item) => item._id === userId)
return (trovato) || null
},
isTokenInvalid: (state: IUserState) => {
try {
return (state.my.tokens!.length <= 0)
@@ -196,11 +148,60 @@ export const useUserStore = defineStore('UserStore', {
}
},
getMsgError: (state: IUserState) => (err: number): string => {
},
actions: {
getUserByUsername(username: string): IUserFields | null {
// Check if is this User!
if (this.my.username === username) return this.my
let trovato = null
if (this.usersList) trovato = this.usersList.find((item: any) => item.username === username)
return (trovato) || null
},
getImgByUsername(username: string): string {
if (username === '') return ''
// Check if is this User!
const myrec = this.getUserByUsername(username)
// console.log('myrec', myrec)
if (myrec && myrec.profile && !!myrec.profile.img && myrec.profile.img !== '' && myrec.profile.img !== 'undefined') {
return myrec.profile.img
}
return ''
},
getNameSurnameByUserId(userId: string): string {
const user = this.getUserByUserId(userId)
if (user) return `${user.name} ${user.surname}`
return `(${userId})`
},
getNameSurnameByUsername(username: string): string {
const user = this.getUserByUsername(username)
if (user) return `${user.name} ${user.surname}`
return `(${username})`
},
getUserByUserId(userId: string): IUserFields | null {
// Check if is this User!
if (this.my._id === userId) return this.my
let trovato = null
if (this.usersList) trovato = this.usersList.find((item: any) => item._id === userId)
return (trovato) || null
},
getMsgError(err: number): string {
let msgerrore = ''
if (err !== tools.OK) {
msgerrore = `Error [${state.servercode}]: `
if (state.servercode === toolsext.ERR_SERVERFETCH) {
msgerrore = `Error [${this.servercode}]: `
if (this.servercode === toolsext.ERR_SERVERFETCH) {
msgerrore = translate('fetch.errore_server')
} else {
msgerrore = translate('fetch.errore_generico')
@@ -215,9 +216,7 @@ export const useUserStore = defineStore('UserStore', {
return msgerrore
},
},
actions: {
clearAuthData() {
this.my = DefaultUser
// resetArrToken(mystate.my.tokens)
@@ -232,18 +231,6 @@ export const useUserStore = defineStore('UserStore', {
return true
},
setErrorCatch(axerr: Types.AxiosError) {
try {
if (this.servercode !== toolsext.ERR_SERVERFETCH) {
this.servercode = axerr.getCode()
}
// this.msg = axerr.getMsg()
console.log('Err catch: (servercode:', axerr.getCode(), axerr.getMsgError(), ')')
} catch (e) {
console.log('Err catch:', axerr)
}
},
async resetpwd(paramquery: any) {
const mydata = { ...paramquery }
@@ -265,6 +252,18 @@ export const useUserStore = defineStore('UserStore', {
},
setErrorCatch(axerr: Types.AxiosError) {
try {
if (this.servercode !== toolsext.ERR_SERVERFETCH) {
this.servercode = axerr.getCode()
}
// this.msg = axerr.getMsg()
console.log('Err catch: (servercode:', axerr.getCode(), axerr.getMsgError(), ')')
} catch (e) {
console.log('Err catch:', axerr)
}
},
async setLangServer() {
const mydata = {
username: this.my.username,

View File

@@ -6,7 +6,7 @@
title="SITO_ONLINE"
mykey="SITO_ONLINE"
:serv="false"
:type="tools.FieldType.boolean">
:type="costanti.FieldType.boolean">
</CMyFieldDb>
<br>
@@ -14,7 +14,7 @@ title="SITO_ONLINE"
title="ABILITA CRONTAB (1 ora)"
mykey="CRONTAB"
:serv="false"
:type="tools.FieldType.boolean">
:type="costanti.FieldType.boolean">
</CMyFieldDb>
<br>
@@ -98,22 +98,22 @@ title="ABILITA CRONTAB (1 ora)"
<CMyFieldDb title="Riga"
mykey="riga"
:serv="false"
:type="tools.FieldType.number">
:type="costanti.FieldType.number">
</CMyFieldDb>
<CMyFieldDb title="Col"
mykey="col"
:serv="false"
:type="tools.FieldType.number">
:type="costanti.FieldType.number">
</CMyFieldDb>
<CMyFieldDb title="Visu_TEST"
mykey="VISU_TEST"
:serv="false"
:type="tools.FieldType.boolean">
:type="costanti.FieldType.boolean">
</CMyFieldDb>
<CMyFieldDb title="VISU_NAVE_BOT"
mykey="VISU_NAVE_BOT"
:serv="false"
:type="tools.FieldType.boolean">
:type="costanti.FieldType.boolean">
</CMyFieldDb>
</div>

View File

@@ -59,7 +59,7 @@ export default defineComponent({
riscode.value = ris.code
risultato.value = ris.msg
}).catch((err) => {
}).catch((err: any) => {
console.log('ERR = ' + err)
})
}

View File

@@ -1,37 +0,0 @@
import { ISignupOptions } from 'model'
import { email, minLength, required, sameAs } from '@vuelidate/validators'
import { complexity, registeredemail, registereduser } from '@src/validation'
// import { ValidationRuleset } from 'vuelidate'
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,
},
},
}

View File

@@ -1,6 +1,6 @@
<template>
<q-page padding class="signup">
<CSignUp :showcell="true">
<CSignUp :showcell="false">
</CSignUp>
</q-page>

View File

@@ -21,17 +21,17 @@
rounded
class="bg-warning text-black"
style="text-align: center;"
v-if="giaverificato"
v-if="giaverificato()"
>
<span class="mybanner">{{ myrisultato }}</span>
<span class="mybanner">{{ myrisultato() }}</span>
</q-banner>
<q-banner
class="bg-positive text-white"
style="text-align: center;"
rounded
v-if="verificatook"
v-if="verificatook()"
>
<span class="mybanner">{{ myrisultato }}</span>
<span class="mybanner">{{ myrisultato() }}</span>
</q-banner>
</div>
</transition>

View File

@@ -391,7 +391,7 @@
table="todos"
mykey="assignedToUsers"
@input="modifyfieldtodo('assignedToUsers')"
:type="tools.FieldType.multiselect"
:type="costanti.FieldType.multiselect"
jointable="workers">
</CMyFieldDb>
</div>

View File

@@ -67,7 +67,7 @@ export default defineComponent({
else if (ris.code === serv_constants.RIS_CODE_EMAIL_NOT_EXIST)
tools.showNegativeNotif($q, t('reg.err.email_not_exist'))
$q.loading.hide()
}).catch((err) => {
}).catch((err: any) => {
console.log('ERROR = ' + err.error)
$q.loading.hide()
})

View File

@@ -1,17 +0,0 @@
import { ISignupOptions } from 'model'
import { email, minLength, required, sameAs } from '@vuelidate/validators'
// import { ValidationRuleset } from 'vuelidate'
import { complexity, registeredemail, registereduser, aportadorexist } from '../../validation'
import { computed } from 'vue'
export const validations = computed(() => ({
repeatPassword: {
required,
sameAsPassword: sameAs('password')
},
password: {
required,
minLength: minLength(8),
complexity
}
}))

View File

@@ -3,7 +3,6 @@ import { serv_constants } from '@store/Modules/serv_constants'
import { tools } from '@store/Modules/tools'
import { Logo } from '../../components/logo'
import { CTitleBanner } from '../../components/CTitleBanner'
import { validations } from './request-resetpwd-validate'
import { defineComponent, ref, reactive } from 'vue'
import { useI18n } from '@src/boot/i18n'
@@ -13,6 +12,11 @@ import { useQuasar } from 'quasar'
import useVuelidate from '@vuelidate/core'
import { useRoute, useRouter } from 'vue-router'
import { minLength, required, sameAs } from '@vuelidate/validators'
import { computed } from 'vue'
import { complexity } from '../../validation'
export default defineComponent({
name: 'Updatepassword',
components: { Logo, CTitleBanner },
@@ -33,6 +37,20 @@ export default defineComponent({
idapp: ''
})
const validations: any = computed(() => {
return {
password: {
required,
minLength: minLength(8),
complexity,
},
repeatPassword: {
required,
repeatPassword: sameAs(form.password),
}
}
})
// @ts-ignore
const v$ = useVuelidate(validations, form)
@@ -57,7 +75,7 @@ export default defineComponent({
console.log(form)
userStore.resetpwd(form)
.then((ris) => {
.then((ris: any) => {
console.log('ris', ris)
if (ris.code === serv_constants.RIS_CODE_OK)
$router.push('/signin')
@@ -67,8 +85,9 @@ export default defineComponent({
tools.showNegativeNotif($q, t('fetch.errore_server'))
$q.loading.hide()
}).catch(error => {
console.log('ERROR = ' + error)
})
.catch(e => {
console.log('ERROR = ' + e)
$q.loading.hide()
})

View File

@@ -61,6 +61,8 @@
</div>
</div>
<pre>{{ v$.$errors }}</pre>
</div>
<div v-else>
<q-banner

View File

@@ -9,6 +9,7 @@ import { useGlobalStore } from '@store/globalStore'
import { useI18n } from '@/boot/i18n'
import { toolsext } from '@store/Modules/toolsext'
import { useQuasar } from 'quasar'
import { costanti } from '@costanti'
export default defineComponent({
@@ -74,6 +75,7 @@ export default defineComponent({
profile,
getpayment,
tools,
costanti,
}
}
})

View File

@@ -1,5 +1,14 @@
<template xmlns:v-slot="http://www.w3.org/1999/XSL/Transform">
<div class="q-gutter-sm q-pa-xs q-pb-md">
<CMyFieldDb
:title="$t('reg.name')"
table="users"
mykey="name"
:type="costanti.FieldType.string">
</CMyFieldDb>
<!--
<CTitleBanner
class="q-pa-xs" :title="$t('pages.profile')" bgcolor="bg-primary" clcolor="text-white"
myclass="myshad" :canopen="true">
@@ -11,13 +20,13 @@
:title="$t('reg.name')"
table="users"
mykey="name"
:type="tools.FieldType.string">
:type="costanti.FieldType.string">
</CMyFieldDb>
<CMyFieldDb
:title="$t('reg.surname')"
table="users"
mykey="surname"
:type="tools.FieldType.string">
:type="costanti.FieldType.string">
</CMyFieldDb>
</div>
<div class="row">
@@ -25,15 +34,15 @@
:title="$t('reg.username')"
table="users"
mykey="username"
disable="true"
:type="tools.FieldType.string">
:disable="true"
:type="costanti.FieldType.string">
</CMyFieldDb>
<CMyFieldDb
:title="$t('reg.email')"
table="users"
mykey="email"
disable="true"
:type="tools.FieldType.string">
:disable="true"
:type="costanti.FieldType.string">
</CMyFieldDb>
</div>
<CMyFieldDb
@@ -41,7 +50,7 @@
table="users"
mykey="profile"
mysubkey="nationality"
:type="tools.FieldType.nationality">
:type="costanti.FieldType.nationality">
</CMyFieldDb>
<div class="row">
<CMyFieldDb
@@ -49,29 +58,16 @@
table="users"
mykey="profile"
mysubkey="intcode_cell"
:type="tools.FieldType.intcode">
:type="costanti.FieldType.intcode">
</CMyFieldDb>
<CMyFieldDb
:title="$t('reg.cell')"
table="users"
mykey="profile"
mysubkey="cell"
:type="tools.FieldType.string">
:type="costanti.FieldType.string">
</CMyFieldDb>
</div>
<!--<CMyFieldDb :title="$t('reg.username_telegram')"
table="users"
mykey="profile"
mysubkey="username_telegram"
:type="tools.FieldType.string">
</CMyFieldDb>-->
<!--<CMyFieldDb title="Telegram Id"
table="users"
:readonly="true"
mykey="profile"
mysubkey="teleg_id"
:type="tools.FieldType.number">
</CMyFieldDb>-->
<br/>
<div class="row justify-center">
@@ -100,7 +96,7 @@
table="users"
mykey="profile"
mysubkey="motivazioni"
:type="tools.FieldType.string">
:type="costanti.FieldType.string">
</CMyFieldDb>
</div>
<div class="row">
@@ -109,7 +105,7 @@
table="users"
mykey="profile"
mysubkey="competenze_professionalita"
:type="tools.FieldType.string">
:type="costanti.FieldType.string">
</CMyFieldDb>
</div>
<div class="row">
@@ -118,7 +114,7 @@
table="users"
mykey="profile"
mysubkey="cosa_offrire"
:type="tools.FieldType.string">
:type="costanti.FieldType.string">
</CMyFieldDb>
</div>
<div class="row">
@@ -127,7 +123,7 @@
table="users"
mykey="profile"
mysubkey="cosa_ricevere"
:type="tools.FieldType.string">
:type="costanti.FieldType.string">
</CMyFieldDb>
</div>
<div class="row">
@@ -136,7 +132,7 @@
table="users"
mykey="profile"
mysubkey="altre_comunicazioni"
:type="tools.FieldType.string">
:type="costanti.FieldType.string">
</CMyFieldDb>
</div>
<div class="row">
@@ -145,69 +141,72 @@
table="users"
mykey="profile"
mysubkey="come_ci_hai_conosciuto"
:type="tools.FieldType.string">
:type="costanti.FieldType.string">
</CMyFieldDb>
</div>
</div>
</CTitleBanner>
-->
<!--
<CTitleBanner class="q-pa-xs" :title="$t('pages.payment')" bgcolor="bg-primary" clcolor="text-white"
myclass="myshad" :canopen="true">
<div class="row fa-border justify-center items-center">
<CMyFieldDb v-if="tools.isselectPayeer()"
<CMyFieldDb v-if="costanti.isselectPayeer()"
:title="$t('reg.payeer_id')"
table="users"
mykey="profile"
myimg="statics/images/payeer.jpg"
mysubkey="payeer_id"
:type="tools.FieldType.string">
:type="costanti.FieldType.string">
</CMyFieldDb>
<CMyFieldDb v-if="tools.isselectAdvCash()"
<CMyFieldDb v-if="costanti.isselectAdvCash()"
:title="$t('reg.advcash_id')"
table="users"
mykey="profile"
mysubkey="advcash_id"
myimg="statics/images/advcash.jpg"
:type="tools.FieldType.string">
:type="costanti.FieldType.string">
</CMyFieldDb>
<CMyFieldDb v-if="tools.isselectRevolut()"
<CMyFieldDb v-if="costanti.isselectRevolut()"
:title="$t('reg.revolut')"
table="users"
mykey="profile"
mysubkey="revolut"
myimg="statics/images/revolut.jpg"
:type="tools.FieldType.string">
:type="costanti.FieldType.string">
</CMyFieldDb>
<CMyFieldDb v-if="tools.isselectPaypal()"
<CMyFieldDb v-if="costanti.isselectPaypal()"
:title="$t('reg.email_paypal')"
table="users"
mykey="profile"
mysubkey="email_paypal"
myimg="statics/images/paypal.jpg"
:type="tools.FieldType.string">
:type="costanti.FieldType.string">
</CMyFieldDb>
<CMyFieldDb v-if="tools.isselectPaypal()"
<CMyFieldDb v-if="costanti.isselectPaypal()"
:title="$t('reg.link_payment')"
table="users"
mykey="profile"
mysubkey="link_payment"
:type="tools.FieldType.string">
:type="costanti.FieldType.string">
</CMyFieldDb>
<CMyFieldDb :title="$t('reg.country_pay')"
table="users"
mykey="profile"
mysubkey="country_pay"
:type="tools.FieldType.nationality">
:type="costanti.FieldType.nationality">
</CMyFieldDb>
<CMyFieldDb :title="$t('reg.note_payment')"
table="users"
mykey="profile"
mysubkey="note_payment"
:type="tools.FieldType.string">
:type="costanti.FieldType.string">
</CMyFieldDb>
</div>
@@ -216,7 +215,7 @@
table="users"
mykey="profile"
mysubkey="paymenttypes"
:type="tools.FieldType.multiselect"
:type="costanti.FieldType.multiselect"
jointable="paymenttypes">
</CMyFieldDb>
@@ -238,3 +237,18 @@
<style lang="scss" scoped>
@import './profile.scss';
</style>
<!--<CMyFieldDb :title="$t('reg.username_telegram')"
table="users"
mykey="profile"
mysubkey="username_telegram"
:type="costanti.FieldType.string">
</CMyFieldDb>-->
<!--<CMyFieldDb title="Telegram Id"
table="users"
:readonly="true"
mykey="profile"
mysubkey="teleg_id"
:type="costanti.FieldType.number">
</CMyFieldDb>-->

1354
yarn.lock

File diff suppressed because it is too large Load Diff