- Sistemato INVITI alla App

- Completamento Profilo
- Registrazione tramite Invito, senza richiedere conferma email.
This commit is contained in:
Surya Paolo
2025-11-18 23:56:08 +01:00
parent fc569192e7
commit 4985e7565d
98 changed files with 2209 additions and 3595720 deletions

View File

@@ -13,27 +13,19 @@ export default defineComponent({
setup() {
const $route = useRoute()
const adult = ref(false)
const invited = computed(() => $route.params.invited)
const regexpire = computed(() => $route.params.regexpire)
// @ts-ignore
watch(() => invited, (newval, oldval) => {
console.log('$route.params.invited')
adult.value = !!$route.params.invited
})
const tok = computed(() => $route.params.tok)
function created() {
if (!tools.getCookie(tools.APORTADOR_SOLIDARIO, '')) {
if (!tools.getCookie(tools.TOK_INV, '')) {
// @ts-ignore
tools.setCookie(tools.APORTADOR_SOLIDARIO, $route.params.invited ? $route.params.invited : '')
tools.setCookie(tools.TOK_INV, tok.value)
}
}
created()
return {
regexpire
tok,
}
},
})

View File

@@ -1,6 +1,6 @@
<template>
<q-page padding class="signup">
<CSignUp :showcell="false" :showaportador="true" :show_namesurname="true" :need_Telegram="true" :regexpire="regexpire" :token="token">
<CSignUp :showcell="false" :showaportador="true" :show_namesurname="true" :token="tok">
</CSignUp>
</q-page>

View File

@@ -1,12 +1,14 @@
<template>
<!--<CNotifAtTop />-->
<div v-if="tools.isUserOk()" class="q-gutter-sm q-pa-sm q-pb-md">
<div class="q-gutter-sm q-pa-sm q-pb-md">
<div v-if="!circuit && !loading">
<div v-if="mystatus === 403">
<div v-if="mystatus === 401">
<h3>
Non hai i permessi per accedere al Circuito.
<br />Occorre prima registrarsi ed accedere alla App
</h3>
<div v-if="!tools.isLogged()">
<CCheckIfIsLogged></CCheckIfIsLogged>
</div>
</div>
<div v-else-if="tools.isLogged() && path">
<h3>Circuito non Esistente</h3>
@@ -17,12 +19,20 @@
</div>
</div>
</div>
<div v-else>
<div v-else-if="tools.isUserOk()">
<div v-if="!tools.isLogged()">
<CCheckIfIsLogged></CCheckIfIsLogged>
</div>
<q-dialog v-model="showPic" full-height full-width>
<img :src="getImgCircuit()" :alt="circuit.name" class="full-width" />
<q-dialog
v-model="showPic"
full-height
full-width
>
<img
:src="getImgCircuit()"
:alt="circuit.name"
class="full-width"
/>
</q-dialog>
<q-dialog
@@ -31,24 +41,37 @@
transition-show="slide-up"
transition-hide="slide-down"
>
<q-card v-if="circuit" class="dialog_card">
<q-toolbar class="bg-primary text-white" dense>
<q-card
v-if="circuit"
class="dialog_card"
>
<q-toolbar
class="bg-primary text-white"
dense
>
<!--<q-toolbar :class="tools.displayClasses(myevent)"-->
<!--:style="tools.displayStyles(myevent) + ` min-width: `+ tools.myheight_dialog() + `px;`">-->
<q-toolbar-title>
{{ circuit.name }}
<div v-if="groupnameSel">
Gruppo: {{ groupnameSel.groupname }}
</div>
<div v-if="groupnameSel">Gruppo: {{ groupnameSel.groupname }}</div>
</q-toolbar-title>
<q-btn flat round color="white" icon="close" v-close-popup></q-btn>
<q-btn
flat
round
color="white"
icon="close"
v-close-popup
></q-btn>
</q-toolbar>
<q-card-section v-if="circuit.symbol === 'RIS'" class="inset-shadow">
<q-card-section
v-if="circuit.symbol === 'RIS'"
class="inset-shadow"
>
<div v-html="t('circuit.disclaimer')"></div>
</q-card-section>
<q-card-section class="inset-shadow">
<div style="font-weight: bold; font-size: 1.25rem">
{{ t("circuit.regulation") }} {{ circuit.name }}
{{ t('circuit.regulation') }} {{ circuit.name }}
</div>
<q-btn
v-if="!showrules"
@@ -95,7 +118,7 @@
></CSendCoins>
</div>
</div>
<div v-if="circuit">
<div v-else-if="circuit">
<div
class="absolute-top-right q-mr-sm q-my-md"
style="margin-top: 50px !important"
@@ -109,7 +132,10 @@
style="z-index: 1"
>
<q-menu>
<q-list v-if="true" style="min-width: 150px">
<q-list
v-if="true"
style="min-width: 150px"
>
<q-item
clickable
v-close-popup
@@ -118,10 +144,9 @@
saldo < 0
? tools.showNegativeNotif(
$q,
t(
'circuit.per_uscire_dal_circuito_occorre_essere_a_zero',
{ symbol: circuit.symbol }
),
t('circuit.per_uscire_dal_circuito_occorre_essere_a_zero', {
symbol: circuit.symbol,
}),
30000
)
: tools.removeFromMyCircuits(
@@ -136,14 +161,20 @@
"
>
<q-item-section avatar>
<q-icon color="negative" name="fas fa-user-minus" />
<q-icon
color="negative"
name="fas fa-user-minus"
/>
</q-item-section>
<q-item-section>
{{ $t("circuit.exit_circuit") }}
{{ $t('circuit.exit_circuit') }}
</q-item-section>
</q-item>
<q-list v-if="userStore.isAdmin" style="min-width: 200px">
<q-list
v-if="userStore.isAdmin"
style="min-width: 200px"
>
<q-item
clickable
v-close-popup
@@ -158,9 +189,12 @@
"
>
<q-item-section avatar>
<q-icon color="negative" name="fas fa-trash-alt" />
<q-icon
color="negative"
name="fas fa-trash-alt"
/>
</q-item-section>
<q-item-section>{{ $t("circuit.delete") }}</q-item-section>
<q-item-section>{{ $t('circuit.delete') }}</q-item-section>
</q-item>
</q-list>
</q-list>
@@ -190,7 +224,10 @@
class="fit column no-wrap justify-evenly items-center content-start"
>
<div class="row justify-center">
<q-avatar v-if="getImgCircuit()" size="50px">
<q-avatar
v-if="getImgCircuit()"
size="50px"
>
<q-img
:src="getImgCircuit()"
:alt="circuit.name"
@@ -199,7 +236,10 @@
@click="showPic = true"
/>
</q-avatar>
<div class="q-mx-xs text-h6" style="align-self: center">
<div
class="q-mx-xs text-h6"
style="align-self: center"
>
<span v-if="checkifShow('name')">{{ circuit.name }}</span>
</div>
<div class="row no-wrap justify-center items-center">
@@ -225,10 +265,17 @@
></q-btn>
</div>
<q-dialog v-model="showMov" :maximized="$q.screen.lt.sm" permanent>
<q-dialog
v-model="showMov"
:maximized="$q.screen.lt.sm"
permanent
>
<q-card class="dialog_card">
<q-bar dense class="bg-primary text-white">
{{ t("circuit.movements") }}:
<q-bar
dense
class="bg-primary text-white"
>
{{ t('circuit.movements') }}:
<q-space />
<q-btn
flat
@@ -355,7 +402,7 @@
class="bg-red text-white"
style="text-align: center"
>
<em style="font-weight: bold">{{ $t("db.youarerefusedcircuit") }}</em>
<em style="font-weight: bold">{{ $t('db.youarerefusedcircuit') }}</em>
<br />
</q-banner>
@@ -371,11 +418,13 @@
class="bg-blue text-white"
>
<template v-slot:avatar>
<q-icon name="fas fa-info" color="red" size="sm" />
<q-icon
name="fas fa-info"
color="red"
size="sm"
/>
</template>
<span
v-html="$t('circuit.entra_italia_solo_dopo_aver_fido')"
></span>
<span v-html="$t('circuit.entra_italia_solo_dopo_aver_fido')"></span>
</q-banner>
<q-banner
v-if="circuitStore.IsNationalAndNotEnterInLocal(circuit.name)"
@@ -393,7 +442,7 @@
</template>
<em style="font-weight: bold">
{{ $t("circuit.beforeentertolocalcircuit") }}
{{ $t('circuit.beforeentertolocalcircuit') }}
</em>
<br />
</q-banner>
@@ -412,11 +461,15 @@
style="text-align: center"
>
<template v-slot:avatar>
<q-icon name="fas fa-info" color="white" size="sm" />
<q-icon
name="fas fa-info"
color="white"
size="sm"
/>
</template>
<em style="font-weight: bold">
{{ $t("db.insertgoodorservices_to_enter_circuit") }}
{{ $t('db.insertgoodorservices_to_enter_circuit') }}
</em>
<br />
</q-banner>
@@ -442,7 +495,7 @@
</template>
<em style="font-weight: bold">
{{ $t("db.insertgoodorservices_to_enter_circuit") }}
{{ $t('db.insertgoodorservices_to_enter_circuit') }}
</em>
<br />
</q-banner>
@@ -465,11 +518,7 @@
"
icon="fas fa-user-plus"
color="primary"
:label="
circuit.askManagerToEnter
? t('circuit.ask')
: t('circuit.enter')
"
:label="circuit.askManagerToEnter ? t('circuit.ask') : t('circuit.enter')"
@click="
requestToEnterCircuit = true;
groupnameSel = null;
@@ -485,9 +534,7 @@
flat
outline
:label="$t('shared.cancel_ask_short')"
@click="
tools.cancelReqCircuit($q, userStore.my.username, circuit.name)
"
@click="tools.cancelReqCircuit($q, userStore.my.username, circuit.name)"
/>
</div>
</div>
@@ -496,7 +543,11 @@
v-if="circuit.name"
class="no-wrap justify-evenly items-center content-start"
>
<q-tabs v-model="tabcircuit" class="text-blue" no-caps>
<q-tabs
v-model="tabcircuit"
class="text-blue"
no-caps
>
<q-tab
:label="t('shared.info1')"
name="info"
@@ -504,8 +555,7 @@
></q-tab>
<q-tab
v-if="
tools.iCanShowCircuitsMember(circuit) ||
tools.iAmAdminCircuit(circuit.name)
tools.iCanShowCircuitsMember(circuit) || tools.iAmAdminCircuit(circuit.name)
"
:label="t('shared.subscribes')"
name="members"
@@ -535,14 +585,22 @@
></q-tab>
</q-tabs>
<q-tab-panels v-model="tabcircuit" animated keep-alive>
<q-tab-panel name="annunci" style="max-width: 500px"> </q-tab-panel>
<q-tab-panels
v-model="tabcircuit"
animated
keep-alive
>
<q-tab-panel
name="annunci"
style="max-width: 500px"
>
</q-tab-panel>
<q-tab-panel
name="gruppicollettivi"
style="max-width: 500px"
v-if="tools.iCanShowCircuitsMember(circuit)"
>
<div class="text-h7">{{ t("circuit.contideigruppi") }}:</div>
<div class="text-h7">{{ t('circuit.contideigruppi') }}:</div>
<div class="text-h8 q-mb-sm">
<div v-html="$t('circuit.collettivi_info')"></div>
</div>
@@ -551,7 +609,11 @@
v-model="tabmembers"
class="text-blue"
>
<q-tab label="Iscritti" name="all" icon="fas fa-users"></q-tab>
<q-tab
label="Iscritti"
name="all"
icon="fas fa-users"
></q-tab>
<q-tab
v-if="tools.iAmAdminCircuit(circuit.name)"
label="Richieste"
@@ -567,10 +629,18 @@
></q-tab>
</q-tabs>
<q-tab-panels v-model="tabmembers" animated keep-alive>
<q-tab-panels
v-model="tabmembers"
animated
keep-alive
>
<q-tab-panel name="all">
<div class="row justify-center">
<q-btn rounded icon="fas fa-user-plus" class="text-center">
<q-btn
rounded
icon="fas fa-user-plus"
class="text-center"
>
<q-menu>
<q-item>Chiedi di Entrare nei Circuiti:</q-item>
<q-list
@@ -663,9 +733,7 @@
ref="tabGroups"
prop_mytable="mygroups"
prop_mytitle
:prop_mycolumns="
showsaldi ? colmyUserPeopleSaldi : colmyUserPeople
"
:prop_mycolumns="showsaldi ? colmyUserPeopleSaldi : colmyUserPeople"
prop_colkey="_id"
col_title="groupname"
:vertical="costanti.VISUTABLE_GROUP_CIRCUIT"
@@ -695,7 +763,7 @@
></CGridTableRec>
</q-tab-panel>
<q-tab-panel name="rich">
{{ $t("circuit.richieste_title") }}
{{ $t('circuit.richieste_title') }}
<CGridTableRec
v-if="!loading"
prop_mytable="circuits"
@@ -759,7 +827,7 @@
<div>
<q-card>
<q-card-section>
<div class="text-h7">{{ t("circuit.info") }}</div>
<div class="text-h7">{{ t('circuit.info') }}</div>
</q-card-section>
<q-separator />
@@ -772,7 +840,7 @@
<div v-html="$t('circuit.aggiuntive')"></div>
</div>
<q-card-section>
<div class="text-h7">{{ t("circuit.descr") }}:</div>
<div class="text-h7">{{ t('circuit.descr') }}:</div>
</q-card-section>
<q-separator />
@@ -786,19 +854,24 @@
</q-card-section>
<div class="container">
<q-icon name="fas fa-users" class="iconcirc"></q-icon>
<q-icon
name="fas fa-users"
class="iconcirc"
></q-icon>
<span class="element">{{ numUsers() }}</span>
{{
numUsers() === 1
? t("shared.member")
: t("shared.members")
}}
{{ numUsers() === 1 ? t('shared.member') : t('shared.members') }}
</div>
<div class="container" v-if="circuit.link_group">
<q-icon name="fab fa-telegram" class="iconcirc"></q-icon>
<div
class="container"
v-if="circuit.link_group"
>
<q-icon
name="fab fa-telegram"
class="iconcirc"
></q-icon>
<span class="element">
{{
$t("circuit.chat_gruppo_telegram_circuito", {
$t('circuit.chat_gruppo_telegram_circuito', {
name: circuit.name,
})
}}:
@@ -836,13 +909,17 @@
</span>
</div>
<div class="container">
<q-icon name="fas fa-user-cog" class="iconcirc"></q-icon>
<q-icon
name="fas fa-user-cog"
class="iconcirc"
></q-icon>
<span class="element">{{ numAdmins() }}</span>
{{
numAdmins() === 1 ? t("shared.admin") : t("shared.admins")
}}
{{ numAdmins() === 1 ? t('shared.admin') : t('shared.admins') }}
</div>
<div v-for="(user, index) of circuit.admins" :key="index">
<div
v-for="(user, index) of circuit.admins"
:key="index"
>
<CMyUser
:mycontact="user"
:visu="costanti.FIND_PEOPLE"
@@ -850,15 +927,15 @@
></CMyUser>
</div>
<div class="sezioni">
<q-icon name="fas fa-coins" class="iconcirc"></q-icon>
{{ t("circuit.symbol") }}:
<q-icon
name="fas fa-coins"
class="iconcirc"
></q-icon>
{{ t('circuit.symbol') }}:
<span class="text-h7">
<em
class="q-px-sm text-black rounded-borders"
:style="
`background-color: ` +
tools.getColorByCircuit(circuit)
"
:style="`background-color: ` + tools.getColorByCircuit(circuit)"
>{{ tools.getSymbolByCircuit(circuit) }}</em
>
</span>
@@ -924,13 +1001,22 @@
</div>
-->
</div>
<div v-if="circuit.totTransato" class="sezioni">
<q-icon name="fas fa-stats" class="iconcirc"></q-icon>
{{ t("circuit.stats") }}:
<div
v-if="circuit.totTransato"
class="sezioni"
>
<q-icon
name="fas fa-stats"
class="iconcirc"
></q-icon>
{{ t('circuit.stats') }}:
<br />
</div>
<div :class="$q.screen.lt.sm ? '' : 'row'">
<div v-if="circuit.totTransato" class="sezioni">
<div
v-if="circuit.totTransato"
class="sezioni"
>
<CCurrencyValue
:symbol="tools.getSymbolByCircuit(circuit)"
:color="tools.getColorByCircuit(circuit)"
@@ -941,7 +1027,10 @@
:tips="t('circuit.totTransato_tips')"
></CCurrencyValue>
</div>
<div v-if="circuit.totCircolante" class="sezioni">
<div
v-if="circuit.totCircolante"
class="sezioni"
>
<CCurrencyValue
:symbol="tools.getSymbolByCircuit(circuit)"
:color="tools.getColorByCircuit(circuit)"
@@ -954,14 +1043,13 @@
</div>
</div>
<div class="sezioni">
<q-icon name="fas fa-toggle-on" class="iconcirc"></q-icon>
{{ t("circuit.transactionsEnabled") }}:
<q-icon
name="fas fa-toggle-on"
class="iconcirc"
></q-icon>
{{ t('circuit.transactionsEnabled') }}:
<span class="text-section">
{{
circuit.transactionsEnabled
? t("dialog.yes")
: t("dialog.no")
}}
{{ circuit.transactionsEnabled ? t('dialog.yes') : t('dialog.no') }}
{{}}
</span>
</div>
@@ -990,7 +1078,7 @@
<q-card v-if="circuit.name">
<q-card-section>
<div class="text-h8">
{{ t("circuit.regulation") }} {{ circuit.name }}:
{{ t('circuit.regulation') }} {{ circuit.name }}:
</div>
</q-card-section>
<q-separator />
@@ -1010,10 +1098,16 @@
></span>
</div>
</q-card-section>
<div v-if="circuit.createdBy" class="container text-h8">
<q-icon name="fas fa-lightbulb" class="iconcirc"></q-icon>
<div
v-if="circuit.createdBy"
class="container text-h8"
>
<q-icon
name="fas fa-lightbulb"
class="iconcirc"
></q-icon>
{{
$t("shared.createddate", {
$t('shared.createddate', {
date: tools.getstrDateYY(circuit.date_created),
})
}}
@@ -1026,10 +1120,13 @@
"
class="container text-h8"
>
<q-icon name="fas fa-pencil-alt" class="iconcirc"></q-icon>
<q-icon
name="fas fa-pencil-alt"
class="iconcirc"
></q-icon>
<span class="element text-h8">
{{
$t("shared.lastmodify", {
$t('shared.lastmodify', {
date: tools.getstrDateYY(circuit.date_updated),
})
}}
@@ -1044,7 +1141,10 @@
<div v-if="circuit.note">
<br />
<div class="q-ma-sm q-gutter-sm q-pa-xs">
<div v-if="circuit.note" v-html="circuit.note"></div>
<div
v-if="circuit.note"
v-html="circuit.note"
></div>
</div>
</div>
</q-tab-panel>
@@ -1058,7 +1158,11 @@
v-model="tabmembers"
class="text-blue"
>
<q-tab label="Iscritti" name="all" icon="fas fa-users"></q-tab>
<q-tab
label="Iscritti"
name="all"
icon="fas fa-users"
></q-tab>
<q-tab
v-if="tools.iAmAdminCircuit(circuit.name)"
label="Richieste"
@@ -1074,7 +1178,10 @@
></q-tab>
</q-tabs>
<q-tab-panels v-model="tabmembers" keep-alive>
<q-tab-panels
v-model="tabmembers"
keep-alive
>
<q-tab-panel name="all">
<!--<q-toggle v-model="showsaldi" :label="t('movement.showsaldi')"></q-toggle>-->
</q-tab-panel>
@@ -1141,9 +1248,9 @@
<q-tab-panel name="comunitario">
<q-card v-if="circuit.name">
<q-card-section>
<div class="text-h7">{{ t("circuit.contocomunitario") }}:</div>
<div class="text-h7">{{ t('circuit.contocomunitario') }}:</div>
<div class="text-h8 q-mb-sm">
{{ $t("circuit.info_contocom") }}
{{ $t('circuit.info_contocom') }}
</div>
</q-card-section>
<q-separator />
@@ -1158,15 +1265,11 @@
:color="circuit.color"
:saldo="circuit.account.saldo_pend"
:valueextra="
circuit.account.saldo != circuit.account.saldo_pend
? `* `
: ''
circuit.account.saldo != circuit.account.saldo_pend ? `* ` : ''
"
:qtarem="
circuit.account
? circuitStore.getRemainingCoinsToSend(
circuit.account
)
? circuitStore.getRemainingCoinsToSend(circuit.account)
: 0
"
></CSaldo>
@@ -1266,7 +1369,11 @@
height="140px"
animation="fade"
/>
<q-card flat bordered style="width: 250px">
<q-card
flat
bordered
style="width: 250px"
>
<div class="text-h7">
<q-skeleton :animation="animation" />
</div>
@@ -1285,15 +1392,10 @@
</div>
</div>
</div>
<div v-else>
<CUserNonVerif></CUserNonVerif>
</div>
</template>
<script lang="ts" src="./mycircuit.ts">
</script>
<script lang="ts" src="./mycircuit.ts"></script>
<style lang="scss" scoped>
@import "./mycircuit.scss";
@import './mycircuit.scss';
</style>

View File

@@ -2,11 +2,14 @@
<CNotifAtTop />
<div class="q-gutter-sm q-pa-sm q-pb-md">
<div v-if="!mygrp && !loading">
<div v-if="mystatus === 403">
<div v-if="mystatus === 401">
<h3>
Non hai i permessi per accedere al Gruppo.
<br />Occorre prima registrarsi alla App
</h3>
<div v-if="!tools.isLogged()">
<CCheckIfIsLogged></CCheckIfIsLogged>
</div>
</div>
<div v-else>
<h3>Gruppo non Esistente</h3>