- L'utente entra direttamente sul circuito, con fido a zero.

++Abilitazione Fido utente (per admin).
This commit is contained in:
Surya Paolo
2023-06-01 11:40:26 +02:00
parent 616a6c4218
commit e805088da7
32 changed files with 481 additions and 187 deletions

View File

@@ -1,4 +1,4 @@
APP_VERSION="0.6.5" APP_VERSION="0.6.7"
SERVICE_WORKER_FILE="service-worker.js" SERVICE_WORKER_FILE="service-worker.js"
APP_ID="13" APP_ID="13"
DIRECTORY_LOCAL="newfreeplanet" DIRECTORY_LOCAL="newfreeplanet"

View File

@@ -1,4 +1,4 @@
APP_VERSION="0.6.5" APP_VERSION="0.6.7"
SERVICE_WORKER_FILE="service-worker.js" SERVICE_WORKER_FILE="service-worker.js"
APP_ID="13" APP_ID="13"
DIRECTORY_LOCAL=newfreeplanet DIRECTORY_LOCAL=newfreeplanet

View File

@@ -1,4 +1,4 @@
APP_VERSION="0.6.5" APP_VERSION="0.6.7"
SERVICE_WORKER_FILE="service-worker.js" SERVICE_WORKER_FILE="service-worker.js"
APP_ID="13" APP_ID="13"
DIRECTORY_LOCAL=newfreeplanet DIRECTORY_LOCAL=newfreeplanet

View File

@@ -1,4 +1,4 @@
APP_VERSION="0.6.5" APP_VERSION="0.6.7"
SERVICE_WORKER_FILE="service-worker.js" SERVICE_WORKER_FILE="service-worker.js"
APP_ID="13" APP_ID="13"
DIRECTORY_LOCAL="newfreeplanet" DIRECTORY_LOCAL="newfreeplanet"

View File

@@ -1,4 +1,4 @@
APP_VERSION="0.6.5" APP_VERSION="0.6.7"
SERVICE_WORKER_FILE="service-worker.js" SERVICE_WORKER_FILE="service-worker.js"
APP_ID="13" APP_ID="13"
DIRECTORY_LOCAL=newfreeplanet DIRECTORY_LOCAL=newfreeplanet

View File

@@ -1,4 +1,4 @@
APP_VERSION="0.6.5" APP_VERSION="0.6.7"
SERVICE_WORKER_FILE="service-worker.js" SERVICE_WORKER_FILE="service-worker.js"
APP_ID="14" APP_ID="14"
DIRECTORY_LOCAL="newfreeplanet" DIRECTORY_LOCAL="newfreeplanet"

View File

@@ -123,7 +123,16 @@
"crypto": false "crypto": false
}, },
"browserslist": [ "browserslist": [
"> 0.05%", "last 80 Chrome versions",
"last 40 Firefox versions",
"last 20 Edge versions",
"last 55 Safari versions",
"last 90 Android versions",
"last 250 ChromeAndroid versions",
"last 60 FirefoxAndroid versions",
"last 30 iOS versions",
"last 10 Opera versions",
"> 0.03%",
"not dead" "not dead"
], ],
"engines": { "engines": {

View File

@@ -133,6 +133,7 @@ export const shared_consts = {
CIRCUITCMD: { CIRCUITCMD: {
REQ: 2000, REQ: 2000,
SET: 2001, SET: 2001,
SETFIDO: 2005,
REMOVE_FROM_MYLIST: 2144, REMOVE_FROM_MYLIST: 2144,
REFUSE_REQ: 2145, REFUSE_REQ: 2145,
CANCEL_REQ: 2146, CANCEL_REQ: 2146,
@@ -1112,6 +1113,7 @@ export const shared_consts = {
ID_CIRCUIT_SENDCOINSREQ_SENT: 4096, ID_CIRCUIT_SENDCOINSREQ_SENT: 4096,
ID_CIRCUIT_COINS_ACCEPTED_SENT: 8192, ID_CIRCUIT_COINS_ACCEPTED_SENT: 8192,
ID_CIRCUIT_COINS_REFUSED_SENT: 16384, ID_CIRCUIT_COINS_REFUSED_SENT: 16384,
ID_CIRCUIT_SETFIDO: 32768,
TYPEDIR_BOOKING: 6, TYPEDIR_BOOKING: 6,

View File

@@ -55,7 +55,7 @@
<div class="q-ma-sx"> <div class="q-ma-sx">
<q-btn <q-btn
v-if=" v-if="
userStore.getMyCircuitsInCommonByUser(myuser).length > 0 && userStore.showButtonSendCoin(myuser) &&
((myuser.username !== userStore.my.username) || userStore.hoContiCollettiviDaAmministrare() || userStore.hoContiComunitariDaAmministrare()) ((myuser.username !== userStore.my.username) || userStore.hoContiCollettiviDaAmministrare() || userStore.hoContiComunitariDaAmministrare())
" "
icon="fas fa-coins" icon="fas fa-coins"
@@ -63,7 +63,7 @@
size="md" size="md"
rounded rounded
:label="$t('circuit.sendcoins')" :label="$t('circuit.sendcoins')"
@click="showsendCoinTo = true" @click="clickOpenSendCoin"
> >
</q-btn> </q-btn>
</div> </div>

View File

@@ -30,6 +30,11 @@ export default defineComponent({
required: false, required: false,
default: '', default: '',
}, },
strfido: {
type: String,
required: false,
default: '',
},
readonly: { readonly: {
type: Boolean, type: Boolean,
required: false, required: false,
@@ -80,6 +85,7 @@ export default defineComponent({
const { t } = useI18n() const { t } = useI18n()
const showingtooltip = ref(false) const showingtooltip = ref(false)
const showinghouse = ref(false)
function created() { function created() {
// created // created
@@ -89,6 +95,7 @@ export default defineComponent({
return { return {
showingtooltip, showingtooltip,
showinghouse,
t, t,
tools, tools,
costanti, costanti,

View File

@@ -16,6 +16,13 @@
>{{ symbol }}</em >{{ symbol }}</em
></span ></span
> >
<div v-if="myrecparam && myrecparam.fidoConcesso > 0 && !paramTypeAccount">
<q-icon
:color="myrecparam.fidoConcesso > 0 ? 'blue' : 'grey'"
name="fas fa-house-user"
class="vertical-baseline q-ml-xs"
/>
</div>
</q-chip> </q-chip>
</div> </div>
<div v-else> <div v-else>
@@ -61,7 +68,6 @@
:color="modelValue > 0 ? `green` : `red`" :color="modelValue > 0 ? `green` : `red`"
> >
<template v-slot:prepend> <template v-slot:prepend>
<!--<img src="https://cdn.quasar.dev/logo-v2/svg/logo.svg">-->
<q-btn <q-btn
v-if="tips && !small" v-if="tips && !small"
icon="fas fa-info" icon="fas fa-info"
@@ -80,6 +86,9 @@
<q-tooltip :offset="[10, 10]" v-model="showingtooltip">{{ <q-tooltip :offset="[10, 10]" v-model="showingtooltip">{{
tips tips
}}</q-tooltip> }}</q-tooltip>
<q-tooltip :offset="[10, 10]" v-model="showinghouse">{{
strfido
}}</q-tooltip>
</div> </div>
</template> </template>
<template v-slot:append> <template v-slot:append>
@@ -99,6 +108,17 @@
@click="$emit('changedParamValue', true)" @click="$emit('changedParamValue', true)"
></q-btn> ></q-btn>
</div> </div>
<q-btn
v-if="myrecparam && myrecparam.fidoConcesso >= 0 && !paramTypeAccount"
icon="fas fa-house-user"
class="q-ml-sm"
:color="myrecparam.fidoConcesso > 0 ? 'primary' : 'grey'"
text-color="white"
round
size="sm"
@click="showinghouse = !showinghouse"
>
</q-btn>
</template> </template>
</q-field> </q-field>
</div> </div>

View File

@@ -643,7 +643,7 @@ export default defineComponent({
function getObjSort(sortBy: any, descending: any) { function getObjSort(sortBy: any, descending: any) {
let myobj: any = {} let myobj: any = {}
if (tools.isObject(sortBy)) { if (tools.isObject(sortBy)) {
console.log('sortBy', sortBy) // console.log('sortBy', sortBy)
return sortBy return sortBy
} else if (sortBy) { } else if (sortBy) {
sortBy = sortBy + '' sortBy = sortBy + ''

View File

@@ -376,7 +376,7 @@
<div v-if="row && shared_consts.TABLES_WITH_DATE.includes(tablesel)"> <div v-if="row && shared_consts.TABLES_WITH_DATE.includes(tablesel)">
<div <div
v-if=" v-if="
actmonth !== tools.getstrMonth(row.dateTimeStart) || !actmonth actmonth !== tools.getstrMonth(row.dateTimeStart) || !actmonth || index === 0
" "
> >
<span style="display: none">{{ <span style="display: none">{{

View File

@@ -426,7 +426,7 @@
> >
</CMyGroup> </CMyGroup>
</q-card> </q-card>
<q-card v-else class="my-card clBorderUser" bordered> <q-card v-else-if="!myrec.organisedBy" class="my-card clBorderUser" bordered>
<CMyUser <CMyUser
:mycontact="myrec" :mycontact="myrec"
:visu="costanti.FIND_PEOPLE" :visu="costanti.FIND_PEOPLE"
@@ -620,7 +620,7 @@
><span v-else>{{ ><span v-else>{{
tools.getstrDateMonthLong(myrec.date_created) tools.getstrDateMonthLong(myrec.date_created)
}}</span> }}</span>
<span v-if="myrec.organisedBy" <span v-if="myrec.organisedBy || myrec.groupname"
><br />{{ $t('reg.who_updated') }} ><br />{{ $t('reg.who_updated') }}
<span class="text-bold" <span class="text-bold"
><a :href="'my/' + myrec.username">{{ ><a :href="'my/' + myrec.username">{{

View File

@@ -328,7 +328,8 @@
</q-item-section> </q-item-section>
</q-item> </q-item>
<div class="centermydiv" v-if="visu === costanti.ENTER_TO_THE_CIRCUIT"> <div class="centermydiv text-center" v-if="visu === costanti.ENTER_TO_THE_CIRCUIT">
<q-btn <q-btn
v-if=" v-if="
!userStore.IsMyCircuitByName(circuit.name) && !userStore.IsMyCircuitByName(circuit.name) &&
@@ -402,20 +403,6 @@
</q-menu> </q-menu>
</q-btn> </q-btn>
<div
v-if="
userStore.IsAskedCircuitByName(circuit.name) &&
!userStore.IsMyCircuitByName(circuit.name)
"
>
<CTitleBanner
:title="$t('circuit.wait_acceptation')"
bgcolor="bg-primary"
clcolor="text-white"
>
</CTitleBanner>
</div>
<q-btn <q-btn
v-if=" v-if="
userStore.IsAskedCircuitByName(circuit.name) && userStore.IsAskedCircuitByName(circuit.name) &&

View File

@@ -543,6 +543,24 @@
{{ $t('circuit.accept') }} {{ $t('circuit.accept') }}
</q-item-section> </q-item-section>
</q-item> </q-item>
<q-item
clickable
v-close-popup
@click="
tools.addFidoGroupToMyCircuits(
$q,
grp.groupname,
circuitname
)
"
>
<q-item-section avatar>
<q-icon color="positive" name="fas fa-coins" />
</q-item-section>
<q-item-section>
{{ $t('circuit.enablefido') }}
</q-item-section>
</q-item>
</q-list> </q-list>
<q-list style="min-width: 200px"> <q-list style="min-width: 200px">
<q-item <q-item

View File

@@ -59,13 +59,9 @@
:done="recstep.checkOk()" :done="recstep.checkOk()"
:done-color="getColorDone(recstep.step)" :done-color="getColorDone(recstep.step)"
> >
<div <div v-html="recstep.label"></div>
v-if="recstep.checkOkReal() && recstep.label_ok"
v-html="recstep.label_ok"
></div>
<div v-else v-html="recstep.label"></div>
<br /> <br />
<q-banner v-if="step === 1" class="bg-blue-8 text-white"> <q-banner v-if="step === 1">
<CMySelectCity <CMySelectCity
:label="$t('reg.resid_province')" :label="$t('reg.resid_province')"
table="users" table="users"
@@ -81,7 +77,7 @@
</CMySelectCity> </CMySelectCity>
</q-banner> </q-banner>
<div v-else-if="step === 2"> <div v-else-if="step === 2">
<q-banner class="bg-blue-8 text-white"> <q-banner>
<div class="myrow"> <div class="myrow">
<CMyFieldDb <CMyFieldDb
:title="$t('reg.name')" :title="$t('reg.name')"
@@ -155,6 +151,11 @@
</div> </div>
<div v-else-if="step === 6" class=""></div> <div v-else-if="step === 6" class=""></div>
<div
v-if="recstep.checkOkReal() && recstep.label_ok"
class="clBorderService"
v-html="recstep.label_ok"
></div>
<q-stepper-navigation> <q-stepper-navigation>
<q-btn <q-btn
v-if="step > 1" v-if="step > 1"

View File

@@ -43,7 +43,14 @@
<q-item-label v-if="labelFooter" lines="1" <q-item-label v-if="labelFooter" lines="1"
><em>{{ labelFooter }}</em></q-item-label ><em>{{ labelFooter }}</em></q-item-label
> >
<span v-if="contact.profile && contact.profile.resid_province" class="show_province_title">Prov: <span class="show_province">{{ contact.profile.resid_province }}</span></span> <span
v-if="contact.profile && contact.profile.resid_province"
class="show_province_title"
>Prov:
<span class="show_province">{{
contact.profile.resid_province
}}</span></span
>
<q-item-label v-if="contact.account" caption lines="2"> <q-item-label v-if="contact.account" caption lines="2">
<CSaldo <CSaldo
:small="true" :small="true"
@@ -56,23 +63,6 @@
</q-item-label> </q-item-label>
</q-item-section> </q-item-section>
<q-item-section side>
<q-btn
v-if="
userStore.getMyCircuitsInCommonByUser(contact).length > 0 &&
(contact.username !== userStore.my.username ||
userStore.hoContiCollettiviDaAmministrare() ||
userStore.hoContiComunitariDaAmministrare())
"
icon="fas fa-coins"
color="green"
size="md"
dense
@click="showsendCoinTo = true"
>
</q-btn>
</q-item-section>
<q-item-section side v-if="visu === costanti.FRIENDS"> <q-item-section side v-if="visu === costanti.FRIENDS">
<q-item-label> <q-item-label>
<q-btn rounded icon="fas fa-ellipsis-h"> <q-btn rounded icon="fas fa-ellipsis-h">
@@ -264,7 +254,12 @@
{{ $t('groups.accept_group') }} {{ $t('groups.accept_group') }}
</q-item-section> </q-item-section>
</q-item> </q-item>
<q-item v-if="circuit" clickable v-close-popup @click="showAccountInfo = true"> <q-item
v-if="circuit"
clickable
v-close-popup
@click="showAccountInfo = true"
>
<q-item-section avatar> <q-item-section avatar>
<q-icon name="fas fa-info" /> <q-icon name="fas fa-info" />
</q-item-section> </q-item-section>
@@ -397,7 +392,7 @@
<q-list v-if="true" style="min-width: 150px"> <q-list v-if="true" style="min-width: 150px">
<q-item <q-item
v-if=" v-if="
userStore.getMyCircuitsInCommonByUser(contact).length > 0 && userStore.showButtonSendCoin(contact) &&
(contact.username !== userStore.my.username || (contact.username !== userStore.my.username ||
userStore.hoContiCollettiviDaAmministrare() || userStore.hoContiCollettiviDaAmministrare() ||
userStore.hoContiComunitariDaAmministrare()) userStore.hoContiComunitariDaAmministrare())
@@ -410,9 +405,7 @@
<q-item-section avatar> <q-item-section avatar>
<q-icon color="positive" name="fas fa-coins" /> <q-icon color="positive" name="fas fa-coins" />
</q-item-section> </q-item-section>
<q-item-section>{{ <q-item-section>{{ $t('circuit.sendcoins') }}</q-item-section>
$t('circuit.sendcoins')
}}</q-item-section>
</q-item> </q-item>
<q-item <q-item
clickable clickable
@@ -428,7 +421,27 @@
{{ $t('circuit.accept') }} {{ $t('circuit.accept') }}
</q-item-section> </q-item-section>
</q-item> </q-item>
<q-item v-if="circuit" clickable v-close-popup @click="showAccountInfo = true"> <q-item
v-if="contact.account ? contact.account.fidoConcesso <= 0 : true"
clickable
v-close-popup
@click="
tools.addFidoToMyCircuits($q, contact.username, circuitname)
"
>
<q-item-section avatar>
<q-icon color="positive" name="fas fa-coins" />
</q-item-section>
<q-item-section>
{{ $t('circuit.enablefido') }}
</q-item-section>
</q-item>
<q-item
v-if="circuit"
clickable
v-close-popup
@click="showAccountInfo = true"
>
<q-item-section avatar> <q-item-section avatar>
<q-icon name="fas fa-info" /> <q-icon name="fas fa-info" />
</q-item-section> </q-item-section>
@@ -466,6 +479,70 @@
$t('shared.cancel_ask_short') $t('shared.cancel_ask_short')
}}</q-item-section> }}</q-item-section>
</q-item> </q-item>
<q-item
clickable
v-if="
!tools.isUserAdminCircuit(circuitname, contact.username)
"
v-close-popup
@click="
tools.addtoAdminOfCircuit($q, contact.username, circuitname)
"
>
<q-item-section avatar>
<q-icon color="positive" name="fas fa-user-shield" />
</q-item-section>
<q-item-section>{{
$t('circuit.addasadmin')
}}</q-item-section>
</q-item>
<q-item
clickable
v-if="
tools.isUserAdminCircuit(circuitname, contact.username) &&
tools.iAmTheCreatorOfTheCircuit(circuitname)
"
v-close-popup
@click="
tools.removeAdminOfCircuit(
$q,
contact.username,
circuitname
)
"
>
<q-item-section avatar>
<q-icon color="negative" name="fas fa-user-times" />
</q-item-section>
<q-item-section>{{
$t('circuit.remove_as_admin')
}}</q-item-section>
</q-item>
<q-item
clickable
v-if="
!tools.isUserTheCreatorOfTheCircuit(
circuitname,
contact.username
)
"
v-close-popup
@click="
tools.removeFromMyCircuits(
$q,
contact.username,
circuitname,
''
)
"
>
<q-item-section avatar>
<q-icon color="negative" name="fas fa-user-minus" />
</q-item-section>
<q-item-section>{{
$t('circuit.remove_from_mycircuit')
}}</q-item-section>
</q-item>
</q-list> </q-list>
</q-menu> </q-menu>
</q-btn> </q-btn>
@@ -543,24 +620,6 @@
$t('circuit.remove_from_mycircuit') $t('circuit.remove_from_mycircuit')
}}</q-item-section> }}</q-item-section>
</q-item> </q-item>
<q-item
clickable
v-close-popup
@click="
tools.reportUser(
$q,
userStore.my.username,
contact.username
)
"
>
<q-item-section avatar>
<q-icon color="negative" name="fas fa-flag" />
</q-item-section>
<q-item-section>{{
$t('friends.report_user')
}}</q-item-section>
</q-item>
</q-list> </q-list>
</q-menu> </q-menu>
</q-btn> </q-btn>
@@ -719,7 +778,7 @@
<q-list style="min-width: 200px"> <q-list style="min-width: 200px">
<q-item <q-item
v-if=" v-if="
userStore.getMyCircuitsInCommonByUser(contact).length > 0 && userStore.showButtonSendCoin(contact) &&
(contact.username !== userStore.my.username || (contact.username !== userStore.my.username ||
userStore.hoContiCollettiviDaAmministrare() || userStore.hoContiCollettiviDaAmministrare() ||
userStore.hoContiComunitariDaAmministrare()) userStore.hoContiComunitariDaAmministrare())
@@ -732,9 +791,7 @@
<q-item-section avatar> <q-item-section avatar>
<q-icon color="positive" name="fas fa-coins" /> <q-icon color="positive" name="fas fa-coins" />
</q-item-section> </q-item-section>
<q-item-section>{{ <q-item-section>{{ $t('circuit.sendcoins') }}</q-item-section>
$t('circuit.sendcoins')
}}</q-item-section>
</q-item> </q-item>
<q-item <q-item
v-if=" v-if="
@@ -855,7 +912,12 @@
$t('handshake.remove_from_myhandshake') $t('handshake.remove_from_myhandshake')
}}</q-item-section> }}</q-item-section>
</q-item> </q-item>
<q-item v-if="circuit" clickable v-close-popup @click="showAccountInfo = true"> <q-item
v-if="circuit"
clickable
v-close-popup
@click="showAccountInfo = true"
>
<q-item-section avatar> <q-item-section avatar>
<q-icon name="fas fa-info" /> <q-icon name="fas fa-info" />
</q-item-section> </q-item-section>

View File

@@ -325,19 +325,6 @@
$t('shared.cancel_ask_short') $t('shared.cancel_ask_short')
}}</q-item-section> }}</q-item-section>
</q-item> </q-item>
</q-list>
</q-menu>
</q-btn>
</q-item-label>
</q-item-section>
<q-item-section
side
v-else-if="visu === costanti.REQ_REMOVE_USER_TO_CIRCUIT"
>
<q-item-label v-if="contact.username !== userStore.my.username">
<q-btn rounded icon="fas fa-ellipsis-h">
<q-menu>
<q-list style="min-width: 150px">
<q-item <q-item
clickable clickable
v-if=" v-if="
@@ -402,24 +389,6 @@
$t('circuit.remove_from_mycircuit') $t('circuit.remove_from_mycircuit')
}}</q-item-section> }}</q-item-section>
</q-item> </q-item>
<q-item
clickable
v-close-popup
@click="
tools.reportUser(
$q,
userStore.my.username,
contact.username
)
"
>
<q-item-section avatar>
<q-icon color="negative" name="fas fa-flag" />
</q-item-section>
<q-item-section>{{
$t('friends.report_user')
}}</q-item-section>
</q-item>
</q-list> </q-list>
</q-menu> </q-menu>
</q-btn> </q-btn>

View File

@@ -9,6 +9,7 @@ import { IAccount, ISpecialField } from 'model'
import { CMyFieldDb } from '@/components/CMyFieldDb' import { CMyFieldDb } from '@/components/CMyFieldDb'
import { CMyFieldRec } from '@/components/CMyFieldRec' import { CMyFieldRec } from '@/components/CMyFieldRec'
import { colTableNotifCoins } from '@store/Modules/fieldsTable' import { colTableNotifCoins } from '@store/Modules/fieldsTable'
import { costanti } from '@costanti'
export default defineComponent({ export default defineComponent({
name: 'CSaldo', name: 'CSaldo',
@@ -70,6 +71,8 @@ export default defineComponent({
tools, tools,
color_border, color_border,
visuTransac, visuTransac,
costanti,
} }
}, },
}) })

View File

@@ -15,6 +15,7 @@
v-else v-else
:symbol="symbol" :symbol="symbol"
:tips="t('account.saldo_tips', { fido: qtarem, symbol })" :tips="t('account.saldo_tips', { fido: qtarem, symbol })"
:strfido="t('account.fido_casa', { fido: account ? account.fidoConcesso : '', symbol })"
:color="color" :color="color"
v-model="saldo" v-model="saldo"
:valueextra=" :valueextra="
@@ -29,7 +30,6 @@
:myrecparam="account" :myrecparam="account"
> >
</CCurrencyValue> </CCurrencyValue>
<q-btn <q-btn
v-if=" v-if="
!small && !small &&
@@ -50,7 +50,6 @@
{{ $t('movement.pendingtransaction') }} {{ $t('movement.pendingtransaction') }}
</q-toolbar-title> </q-toolbar-title>
<q-btn flat round color="white" icon="close" v-close-popup></q-btn> <q-btn flat round color="white" icon="close" v-close-popup></q-btn>
<q-btn flat round color="white" icon="close" v-close-popup></q-btn>
</q-toolbar> </q-toolbar>
<q-card-section class="inset-shadow"> <q-card-section class="inset-shadow">
<div <div
@@ -72,9 +71,60 @@
{{ t('movement.pendingtransaction') }} {{ t('movement.pendingtransaction') }}
</div> </div>
<div v-for="(myrec, index) in account.notifspending" :key="myrec._id"> <div v-for="(myrec, index) in account.notifspending" :key="index">
<q-card class="row justify-evenly items-center"> <q-card class="row justify-evenly items-center">
<span v-for="(mycol, indcol) of colTableNotifCoins" :key="indcol"> <div class="testo">{{ index + 1 }}°</div>
<CMyFieldRec
table="sendnotifs"
:id="myrec.result._id"
:rec="myrec.result"
field="datenotif"
:canEdit="false"
:canModify="false"
>
</CMyFieldRec>
<CMyFieldRec
v-if="myrec.result.dest"
table="sendnotifs"
:id="myrec.result._id"
:rec="myrec.result"
field="extrarec.dest"
:canEdit="false"
:canModify="false"
>
</CMyFieldRec>
<CMyFieldRec
v-if="myrec.result.extrarec.contoComDest"
table="sendnotifs"
:id="myrec.result._id"
:rec="myrec.result"
field="extrarec.contoComDest"
:canEdit="false"
:canModify="false"
>
</CMyFieldRec>
<CMyFieldRec
table="sendnotifs"
:id="myrec.result._id"
:rec="myrec.result"
field="extrarec.qty"
:canEdit="false"
:canModify="false"
>
</CMyFieldRec>
<CMyFieldRec
table="sendnotifs"
:id="myrec.result._id"
:rec="myrec.result"
field="extrarec.causal"
:canEdit="false"
:canModify="false"
>
</CMyFieldRec>
<!--<span v-for="(mycol, indcol) of colTableNotifCoins" :key="indcol">
<div <div
class="col" class="col"
style="display: flex" style="display: flex"
@@ -84,7 +134,7 @@
mycol, mycol,
tools.TIPOVIS_SHOW_RECORD, tools.TIPOVIS_SHOW_RECORD,
false, false,
tools.getValue(myrec, mycol.field, mycol.subfield) tools.getValue(myrec.result, mycol.field, mycol.subfield)
) )
" "
> >
@@ -94,15 +144,15 @@
<CMyFieldRec <CMyFieldRec
table="sendnotifs" table="sendnotifs"
:id="myrec._id" :id="myrec.result._id"
:rec="myrec" :rec="myrec.result"
:field="mycol.name" :field="mycol.name"
:canEdit="false" :canEdit="false"
:canModify="false" :canModify="false"
> >
</CMyFieldRec> </CMyFieldRec>
</div> </div>
</span> </span>-->
</q-card> </q-card>
</div> </div>
</div> </div>

View File

@@ -1,7 +1,6 @@
<template> <template>
<div>
<q-dialog <q-dialog
v-model="show" v-model="showpage"
:maximized="$q.screen.lt.sm" :maximized="$q.screen.lt.sm"
@hide="hide" @hide="hide"
@show="qtyRef ? qtyRef.focus() : ''" @show="qtyRef ? qtyRef.focus() : ''"
@@ -26,6 +25,18 @@
</q-select> </q-select>
<div v-else>{{ circuitname }}</div> <div v-else>{{ circuitname }}</div>
<q-banner
v-if="showProvinceToSelect"
rounded
class="bg-red text-white"
style="text-align: center"
>
<em style="font-weight: bold">{{
$t('circuit.insertprovince_text')
}}</em
><br />
</q-banner>
<q-banner <q-banner
rounded rounded
dense dense
@@ -265,7 +276,6 @@
</q-card-actions> </q-card-actions>
</q-card> </q-card>
</q-dialog> </q-dialog>
</div>
</template> </template>
<script lang="ts" src="./CSendCoins.ts"> <script lang="ts" src="./CSendCoins.ts">

View File

@@ -953,6 +953,7 @@ export interface IProvince {
reg: string reg: string
descr: string descr: string
link_grp: string link_grp: string
link_telegram: string
} }
export interface IMySkill extends IMyMain { export interface IMySkill extends IMyMain {

File diff suppressed because one or more lines are too long

View File

@@ -630,7 +630,7 @@ export const colmyMovement = [
foredit: false, foredit: false,
tipovisu: costanti.TipoVisu.LINK, tipovisu: costanti.TipoVisu.LINK,
fieldtype: costanti.FieldType.username_chip, fieldtype: costanti.FieldType.username_chip,
link: '/circuits/contocomfrom.path', link: '/circuit/contocomfrom.path',
noshowlabel: true, noshowlabel: true,
extrafield: 'movement.fromCCom', extrafield: 'movement.fromCCom',
tipoconto: costanti.AccountType.COMMUNITY_ACCOUNT, tipoconto: costanti.AccountType.COMMUNITY_ACCOUNT,
@@ -670,7 +670,7 @@ export const colmyMovement = [
foredit: false, foredit: false,
tipovisu: costanti.TipoVisu.LINK, tipovisu: costanti.TipoVisu.LINK,
fieldtype: costanti.FieldType.username_chip, fieldtype: costanti.FieldType.username_chip,
link: '/circuits/contocomto.path', link: '/circuit/contocomto.path',
noshowlabel: true, noshowlabel: true,
extrafield: 'movement.toCCom', extrafield: 'movement.toCCom',
tipoconto: costanti.AccountType.COMMUNITY_ACCOUNT, tipoconto: costanti.AccountType.COMMUNITY_ACCOUNT,
@@ -718,7 +718,7 @@ export const colmyMovementTable = [
foredit: false, foredit: false,
tipovisu: costanti.TipoVisu.LINK, tipovisu: costanti.TipoVisu.LINK,
fieldtype: costanti.FieldType.username_chip, fieldtype: costanti.FieldType.username_chip,
link: '/circuits/contocomfrom.path', link: '/circuit/contocomfrom.path',
tipoconto: costanti.AccountType.COMMUNITY_ACCOUNT, tipoconto: costanti.AccountType.COMMUNITY_ACCOUNT,
required: true, required: true,
}), }),
@@ -755,7 +755,7 @@ export const colmyMovementTable = [
foredit: false, foredit: false,
tipovisu: costanti.TipoVisu.LINK, tipovisu: costanti.TipoVisu.LINK,
fieldtype: costanti.FieldType.username_chip, fieldtype: costanti.FieldType.username_chip,
link: '/circuits/contocomto.path', link: '/circuit/contocomto.path',
tipoconto: costanti.AccountType.COMMUNITY_ACCOUNT, tipoconto: costanti.AccountType.COMMUNITY_ACCOUNT,
required: true, required: true,
}), }),
@@ -3181,7 +3181,7 @@ export const colmyUserCircuit = [
foredit: false, foredit: false,
tipovisu: costanti.TipoVisu.LINK, tipovisu: costanti.TipoVisu.LINK,
fieldtype: costanti.FieldType.username_chip, fieldtype: costanti.FieldType.username_chip,
link: '/circuits/contocom', link: '/circuit/contocom',
noshowlabel: true, noshowlabel: true,
tipoconto: costanti.AccountType.COMMUNITY_ACCOUNT, tipoconto: costanti.AccountType.COMMUNITY_ACCOUNT,
}), }),
@@ -3192,7 +3192,7 @@ export const colmyUserCircuit = [
foredit: false, foredit: false,
tipovisu: costanti.TipoVisu.LINK, tipovisu: costanti.TipoVisu.LINK,
fieldtype: costanti.FieldType.username_chip, fieldtype: costanti.FieldType.username_chip,
link: '/circuits/groupname', link: '/circuit/groupname',
noshowlabel: true, noshowlabel: true,
tipoconto: costanti.AccountType.COLLECTIVE_ACCOUNT, tipoconto: costanti.AccountType.COLLECTIVE_ACCOUNT,
}), }),
@@ -3212,16 +3212,40 @@ export const colTableNotifCoins = [
AddCol({ name: 'datenotif', label_trans: 'sendnotifs.datenotif', fieldtype: costanti.FieldType.date }), AddCol({ name: 'datenotif', label_trans: 'sendnotifs.datenotif', fieldtype: costanti.FieldType.date }),
AddCol({ AddCol({
name: 'extrarec.dest', name: 'extrarec.dest',
label_trans: 'reg.username',
field: 'extrarec', field: 'extrarec',
subfield: 'dest', subfield: 'dest',
label_trans: 'reg.username',
foredit: false, foredit: false,
tipovisu: costanti.TipoVisu.LINK, tipovisu: costanti.TipoVisu.LINK,
fieldtype: costanti.FieldType.username_chip, fieldtype: costanti.FieldType.username_chip,
link: '/my/extrarec.dest', link: '/my/extrarec.dest',
noshowlabel: true, noshowlabel: true,
extrafield: 'movement.to', tipoconto: costanti.AccountType.USER,
showWhen: costanti.showWhen.NewRec + costanti.showWhen.InPage + costanti.showWhen.InEdit + costanti.showWhen.InView, }),
AddCol({
name: 'extrarec.groupdest',
label_trans: 'extrarec.groupname',
field: 'extrarec',
subfield: 'groupdest',
foredit: false,
tipovisu: costanti.TipoVisu.LINK,
fieldtype: costanti.FieldType.username_chip,
link: '/grp/extrarec.groupdest',
noshowlabel: true,
tipoconto: costanti.AccountType.COLLECTIVE_ACCOUNT,
}),
AddCol({
name: 'extrarec.contoComDest',
label_trans: 'groups.groupname',
field: 'extrarec',
subfield: 'contoComDest',
foredit: false,
tipovisu: costanti.TipoVisu.LINK,
fieldtype: costanti.FieldType.username_chip,
link: '/circuit/extrarec.contoComDest',
noshowlabel: true,
tipoconto: costanti.AccountType.COMMUNITY_ACCOUNT,
}), }),
AddCol({ name: 'extrarec.qty', field: 'extrarec', subfield: 'qty', label_trans: 'movement.amount', fieldtype: costanti.FieldType.currency }), AddCol({ name: 'extrarec.qty', field: 'extrarec', subfield: 'qty', label_trans: 'movement.amount', fieldtype: costanti.FieldType.currency }),
AddCol({ name: 'extrarec.causal', field: 'extrarec', subfield: 'causal', label_trans: 'movement.causal', tipovisu: costanti.TipoVisu.TESTO_BORDATO }), AddCol({ name: 'extrarec.causal', field: 'extrarec', subfield: 'causal', label_trans: 'movement.causal', tipovisu: costanti.TipoVisu.TESTO_BORDATO }),

View File

@@ -3818,7 +3818,7 @@ export const tools = {
, ,
gettextevent(myevent: any) { gettextevent(myevent: any) {
// return '"' + myevent.title + '" (' + func_tools.getDateStr(myevent.date) + ') - ' + myevent.time // return '"' + myevent.title + '" (' + func_tools.getDateStr(myevent.date) + ') - ' + myevent.time
return '"' + (myevent.title ? myevent.title : (myevent.descr ? myevent.descr: '')) + '" (' + this.getstrDateEmailTime(myevent.dateTimeStart) + ')' return '"' + (myevent.title ? myevent.title : (myevent.descr ? myevent.descr : '')) + '" (' + this.getstrDateEmailTime(myevent.dateTimeStart) + ')'
}, },
getlangforQuasar(mylang: string) { getlangforQuasar(mylang: string) {
@@ -5756,6 +5756,66 @@ export const tools = {
}) })
}, },
addFidoToMyCircuits($q: any, username: string, circuitname: string) {
const userStore = useUserStore()
const notifStore = useNotifStore()
$q.dialog({
message: t('db.domanda_addfidotocircuit', { username, circuitname }),
ok: { label: t('dialog.yes'), push: true },
cancel: { label: t('dialog.cancel') },
title: t('db.domanda')
}).onOk(() => {
userStore.setCircuitCmd($q, t, username, circuitname, shared_consts.CIRCUITCMD.SETFIDO, true)
.then((res: any) => {
if (res && res.result) {
this.updateMyData(res)
notifStore.updateNotification = true
if (res.circuit) {
if (userStore.my.profile.mycircuits)
userStore.my.profile.mycircuits = [...userStore.my.profile.mycircuits, res.circuit]
else
userStore.my.profile.mycircuits = [res]
}
tools.showPositiveNotif($q, t('db.addedfidocircuit', { circuitname }))
}
})
})
},
addFidoGroupToMyCircuits($q: any, groupname: string, circuitname: string) {
const userStore = useUserStore()
const notifStore = useNotifStore()
$q.dialog({
message: t('db.domanda_addgrouptocircuit', { groupname, circuitname }),
ok: { label: t('dialog.yes'), push: true },
cancel: { label: t('dialog.cancel') },
title: t('db.domanda')
}).onOk(() => {
let extrarec = {
groupname,
}
userStore.setCircuitCmd($q, t, userStore.my.username, circuitname, shared_consts.CIRCUITCMD.SETFIDO, true, extrarec)
.then((res: any) => {
if (res && res.result) {
this.updateMyData(res)
notifStore.updateNotification = true
if (res.circuit) {
if (userStore.my.profile.mycircuits)
userStore.my.profile.mycircuits = [...userStore.my.profile.mycircuits, res.circuit]
else
userStore.my.profile.mycircuits = [res]
}
tools.showPositiveNotif($q, t('db.addedfidocircuit', { circuitname }))
}
})
})
},
addToMyGroups($q: any, username: string, groupnameDest: string) { addToMyGroups($q: any, username: string, groupnameDest: string) {
const userStore = useUserStore() const userStore = useUserStore()
@@ -6276,44 +6336,32 @@ export const tools = {
const userStore = useUserStore() const userStore = useUserStore()
let msg = '' userStore.setCircuitCmd($q, t, username, circuitname, shared_consts.CIRCUITCMD.REQ, value, { groupname })
if (value) { .then((res: any) => {
msg = t('circuit.domanda_ask', { circuitname }) if (res) {
} else { if (value) {
msg = t('circuit.domanda_revoke', { circuitname }) // ADD to req
} userStore.my.profile.asked_circuits.push(res.circuit)
tools.showPositiveNotif($q, t('circuit.askedto', { circuitname }))
$q.dialog({
message: msg,
ok: {
label: t('dialog.yes'),
push: true
},
cancel: {
label: t('dialog.cancel')
},
title: t('db.domanda')
}).onOk(() => {
userStore.setCircuitCmd($q, t, username, circuitname, shared_consts.CIRCUITCMD.REQ, value, { groupname })
.then((res: any) => {
if (res) {
if (value) {
// ADD to req
userStore.my.profile.asked_circuits.push(res.circuit)
tools.showPositiveNotif($q, t('circuit.askedto', { circuitname }))
} else {
// REMOVE to req
userStore.my.profile.asked_circuits = userStore.my.profile.asked_circuits.filter((rec: ICircuit) => rec.name !== circuitname)
tools.showPositiveNotif($q, t('circuit.revoketo', { circuitname }))
}
this.updateMyData(res)
} else { } else {
tools.showNegativeNotif($q, t('db.recfailed')) // REMOVE to req
userStore.my.profile.asked_circuits = userStore.my.profile.asked_circuits.filter((rec: ICircuit) => rec.name !== circuitname)
tools.showPositiveNotif($q, t('circuit.revoketo', { circuitname }))
} }
})
}) this.updateMyData(res)
} else {
tools.showNegativeNotif($q, t('db.recfailed'))
}
})
},
getDestStrByExtraRec(extrarec: any) {
return extrarec.groupdest ? extrarec.groupdest : (extrarec.contoComDest ? extrarec.contoComDest : extrarec.dest)
},
getOrigStrBySendNotif(extrarec: any) {
return extrarec.grouporig ? extrarec.grouporig : (extrarec.contoComOrig ? extrarec.contoComOrig : extrarec.sender)
}, },
async sendCoinsByCircuit($q: any, circuit: ICircuit, sendcoinrec: ISendCoin) { async sendCoinsByCircuit($q: any, circuit: ICircuit, sendcoinrec: ISendCoin) {
@@ -6523,6 +6571,10 @@ export const tools = {
let risultato = false let risultato = false
if (userStore.isAdmin) {
return true
}
if (userStore.my.profile.manage_mycircuits) { if (userStore.my.profile.manage_mycircuits) {
const ris = userStore.my.profile.manage_mycircuits.find((circuit: ICircuit) => { const ris = userStore.my.profile.manage_mycircuits.find((circuit: ICircuit) => {
if (circuit.name === circuitname) { if (circuit.name === circuitname) {
@@ -6622,6 +6674,9 @@ export const tools = {
isUserAdminGroup(groupname: string, username: string) { isUserAdminGroup(groupname: string, username: string) {
const userStore = useUserStore() const userStore = useUserStore()
if (userStore.my.username === username && userStore.isAdmin) {
return true
}
let risultato = false let risultato = false
if (userStore.my.profile.manage_mygroups) { if (userStore.my.profile.manage_mygroups) {
@@ -6664,6 +6719,10 @@ export const tools = {
isUserTheCreatorOfTheCircuit(name: string, username: string) { isUserTheCreatorOfTheCircuit(name: string, username: string) {
const userStore = useUserStore() const userStore = useUserStore()
if (userStore.my.username === username && userStore.isAdmin) {
return true
}
let risultato = false let risultato = false
if (userStore.my.profile.manage_mycircuits) { if (userStore.my.profile.manage_mycircuits) {
@@ -6684,6 +6743,10 @@ export const tools = {
isUserAdminCircuit(name: string, username: string) { isUserAdminCircuit(name: string, username: string) {
const userStore = useUserStore() const userStore = useUserStore()
if (userStore.my.username === username && userStore.isAdmin) {
return true
}
let risultato = false let risultato = false
if (userStore.my.profile.manage_mycircuits) { if (userStore.my.profile.manage_mycircuits) {

View File

@@ -487,10 +487,31 @@ export const useUserStore = defineStore('UserStore', {
}, },
getMyCircuitsInCommonByUser(user: IUserFields): any[] { getMyCircuitsInCommonByUser(user: IUserFields): any[] {
let arrout = []
let vuoto = false
const circuitStore = useCircuitStore()
if (!this.my.profile.mycircuits || (!user || !user.profile || !user.profile.mycircuits)) if (!this.my.profile.mycircuits || (!user || !user.profile || !user.profile.mycircuits))
return [] vuoto = true // ok
return tools.getCommon([...this.my.profile.mycircuits], [...user.profile.mycircuits], 'circuitname') else
arrout = tools.getCommon([...this.my.profile.mycircuits], [...user.profile.mycircuits], 'circuitname')
// se non ho neanche 1 circuito in comune, metto il mio preferito
if (arrout.length <= 0) {
const circuit = circuitStore.getCircuitByProvince(this.my.profile.resid_province)
if (circuit)
arrout.push(circuit.name)
else {
if (this.my.profile.mycircuits.length > 0) {
arrout.push(this.my.profile.mycircuits[0].circuitname)
}
}
}
console.log('arrout', arrout)
return arrout
}, },
getMyCircuits(): any[] { getMyCircuits(): any[] {
@@ -659,7 +680,7 @@ export const useUserStore = defineStore('UserStore', {
if (!!myrec.surname) if (!!myrec.surname)
name += myrec.surname + ' ' name += myrec.surname + ' '
if (!name) { if (!name && myrec.username) {
name += myrec.username + ' ' name += myrec.username + ' '
} }
if (col && col.field === 'extrarec' && !name) { if (col && col.field === 'extrarec' && !name) {
@@ -670,12 +691,18 @@ export const useUserStore = defineStore('UserStore', {
return myrec.descr return myrec.descr
else if (myrec.hasOwnProperty('groupname')) else if (myrec.hasOwnProperty('groupname'))
return myrec.groupname return myrec.groupname
else if (myrec.hasOwnProperty('grouporig'))
return myrec.grouporig
} else if (tipoconto === costanti.AccountType.COMMUNITY_ACCOUNT) { } else if (tipoconto === costanti.AccountType.COMMUNITY_ACCOUNT) {
if (myrec.hasOwnProperty('name')) if (myrec.hasOwnProperty('name'))
return myrec.name return myrec.name
else if (myrec.hasOwnProperty('contocom')) else if (myrec.hasOwnProperty('contocom'))
return myrec.contocom return myrec.contocom
else if (myrec.hasOwnProperty('contoComDest'))
return myrec.contoComDest
} }
if (!name && myrec.extrarec && myrec.extrarec.hasOwnProperty('contoComDest'))
return myrec.extrarec.contoComDest
return name return name
}, },
@@ -1772,6 +1799,25 @@ export const useUserStore = defineStore('UserStore', {
}, },
showButtonSendCoin(myuser: IUserFields) {
const oldway = false
if (oldway)
return this.getMyCircuitsInCommonByUser(myuser).length > 0
let yes = true
// Check if I have at least 1 Circuit
yes = yes && (this.my.profile.mycircuits.length > 0)
if (myuser && myuser.profile && myuser.profile.mycircuits) {
// Check if myuser has at least 1 Circuit
yes = yes && (myuser.profile.mycircuits.length > 0)
}
return yes
},
async setSeen($q: any, t: any, id: any, table: string, myrec: any) { async setSeen($q: any, t: any, id: any, table: string, myrec: any) {
let value = false let value = false

View File

@@ -406,6 +406,14 @@
></q-btn> ></q-btn>
<br /> <br />
</div> </div>
<div class="row">
<q-btn
label="Abilita tutti i Circuiti !"
color="primary"
@click="EseguiFunz('AbilitaTuttiCircuiti', '', '')"
></q-btn>
<br />
</div>
<div class="row"> <div class="row">
<q-btn <q-btn
label="Crea Tutti i Circuiti" label="Crea Tutti i Circuiti"

View File

@@ -410,6 +410,7 @@
</CGridTableRec> </CGridTableRec>
</q-tab-panel> </q-tab-panel>
<q-tab-panel name="rich"> <q-tab-panel name="rich">
{{$t('circuit.richieste_title')}}
<CGridTableRec <CGridTableRec
v-if="!loading" v-if="!loading"
prop_mytable="circuits" prop_mytable="circuits"

View File

@@ -593,7 +593,7 @@
:groupname="mygrp.groupname" :groupname="mygrp.groupname"
:table="shared_consts.TABLES_MYBACHECAS" :table="shared_consts.TABLES_MYBACHECAS"
:filtercustom="filtroeventsgroup()" :filtercustom="filtroeventsgroup()"
:butt_modif_new="true" :butt_modif_new="tools.iAmAdminGroup(groupname)"
:visuinpage="true" :visuinpage="true"
:noaut="false" :noaut="false"
:title="$t('groups.events')" :title="$t('groups.events')"

View File

@@ -4,6 +4,7 @@ import { useRoute, useRouter } from 'vue-router'
import { useI18n } from '@/boot/i18n' import { useI18n } from '@/boot/i18n'
import { useQuasar } from 'quasar' import { useQuasar } from 'quasar'
import { CMyCardPopup } from '@/components/CMyCardPopup' import { CMyCardPopup } from '@/components/CMyCardPopup'
import { CMyCardService } from '@/components/CMyCardService'
import { CMyPage } from '@/components/CMyPage' import { CMyPage } from '@/components/CMyPage'
import { CCheckIfIsLogged } from '@/components/CCheckIfIsLogged' import { CCheckIfIsLogged } from '@/components/CCheckIfIsLogged'
import { toolsext } from '@store/Modules/toolsext' import { toolsext } from '@store/Modules/toolsext'
@@ -11,7 +12,7 @@ import { tools } from '@store/Modules/tools'
export default defineComponent({ export default defineComponent({
name: 'mypagebacheca', name: 'mypagebacheca',
components: { CMyCardPopup, CMyPage, CCheckIfIsLogged }, components: { CMyCardService, CMyPage, CCheckIfIsLogged },
props: {}, props: {},
setup() { setup() {
const userStore = useUserStore() const userStore = useUserStore()

View File

@@ -7,13 +7,19 @@
<CCheckIfIsLogged></CCheckIfIsLogged> <CCheckIfIsLogged></CCheckIfIsLogged>
</div> </div>
<CMyCardPopup <CMyCardService
:table="toolsext.TABMYBACHECAS"
:nopopup="true"
:idRec="idBacheca"
>
</CMyCardService>
<!-- <CMyCardPopup
v-if="!!idBacheca" v-if="!!idBacheca"
:table="toolsext.TABMYBACHECAS" :table="toolsext.TABMYBACHECAS"
:nopopup="true" :nopopup="true"
:idRec="idBacheca"> :idRec="idBacheca">
</CMyCardPopup> </CMyCardPopup> -->
<br> <br>
<br> <br>