- 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

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

View File

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

View File

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

View File

@@ -16,6 +16,13 @@
>{{ symbol }}</em
></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>
</div>
<div v-else>
@@ -61,7 +68,6 @@
:color="modelValue > 0 ? `green` : `red`"
>
<template v-slot:prepend>
<!--<img src="https://cdn.quasar.dev/logo-v2/svg/logo.svg">-->
<q-btn
v-if="tips && !small"
icon="fas fa-info"
@@ -80,6 +86,9 @@
<q-tooltip :offset="[10, 10]" v-model="showingtooltip">{{
tips
}}</q-tooltip>
<q-tooltip :offset="[10, 10]" v-model="showinghouse">{{
strfido
}}</q-tooltip>
</div>
</template>
<template v-slot:append>
@@ -99,6 +108,17 @@
@click="$emit('changedParamValue', true)"
></q-btn>
</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>
</q-field>
</div>

View File

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

View File

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

View File

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

View File

@@ -328,7 +328,8 @@
</q-item-section>
</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
v-if="
!userStore.IsMyCircuitByName(circuit.name) &&
@@ -402,20 +403,6 @@
</q-menu>
</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
v-if="
userStore.IsAskedCircuitByName(circuit.name) &&

View File

@@ -543,6 +543,24 @@
{{ $t('circuit.accept') }}
</q-item-section>
</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 style="min-width: 200px">
<q-item

View File

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

View File

@@ -43,7 +43,14 @@
<q-item-label v-if="labelFooter" lines="1"
><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">
<CSaldo
:small="true"
@@ -56,23 +63,6 @@
</q-item-label>
</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-label>
<q-btn rounded icon="fas fa-ellipsis-h">
@@ -264,7 +254,12 @@
{{ $t('groups.accept_group') }}
</q-item-section>
</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-icon name="fas fa-info" />
</q-item-section>
@@ -397,7 +392,7 @@
<q-list v-if="true" style="min-width: 150px">
<q-item
v-if="
userStore.getMyCircuitsInCommonByUser(contact).length > 0 &&
userStore.showButtonSendCoin(contact) &&
(contact.username !== userStore.my.username ||
userStore.hoContiCollettiviDaAmministrare() ||
userStore.hoContiComunitariDaAmministrare())
@@ -410,9 +405,7 @@
<q-item-section avatar>
<q-icon color="positive" name="fas fa-coins" />
</q-item-section>
<q-item-section>{{
$t('circuit.sendcoins')
}}</q-item-section>
<q-item-section>{{ $t('circuit.sendcoins') }}</q-item-section>
</q-item>
<q-item
clickable
@@ -428,7 +421,27 @@
{{ $t('circuit.accept') }}
</q-item-section>
</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-icon name="fas fa-info" />
</q-item-section>
@@ -466,6 +479,70 @@
$t('shared.cancel_ask_short')
}}</q-item-section>
</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-menu>
</q-btn>
@@ -543,24 +620,6 @@
$t('circuit.remove_from_mycircuit')
}}</q-item-section>
</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-menu>
</q-btn>
@@ -719,7 +778,7 @@
<q-list style="min-width: 200px">
<q-item
v-if="
userStore.getMyCircuitsInCommonByUser(contact).length > 0 &&
userStore.showButtonSendCoin(contact) &&
(contact.username !== userStore.my.username ||
userStore.hoContiCollettiviDaAmministrare() ||
userStore.hoContiComunitariDaAmministrare())
@@ -732,9 +791,7 @@
<q-item-section avatar>
<q-icon color="positive" name="fas fa-coins" />
</q-item-section>
<q-item-section>{{
$t('circuit.sendcoins')
}}</q-item-section>
<q-item-section>{{ $t('circuit.sendcoins') }}</q-item-section>
</q-item>
<q-item
v-if="
@@ -855,7 +912,12 @@
$t('handshake.remove_from_myhandshake')
}}</q-item-section>
</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-icon name="fas fa-info" />
</q-item-section>

View File

@@ -325,19 +325,6 @@
$t('shared.cancel_ask_short')
}}</q-item-section>
</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
clickable
v-if="
@@ -402,24 +389,6 @@
$t('circuit.remove_from_mycircuit')
}}</q-item-section>
</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-menu>
</q-btn>

View File

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

View File

@@ -15,6 +15,7 @@
v-else
:symbol="symbol"
:tips="t('account.saldo_tips', { fido: qtarem, symbol })"
:strfido="t('account.fido_casa', { fido: account ? account.fidoConcesso : '', symbol })"
:color="color"
v-model="saldo"
:valueextra="
@@ -29,7 +30,6 @@
:myrecparam="account"
>
</CCurrencyValue>
<q-btn
v-if="
!small &&
@@ -50,7 +50,6 @@
{{ $t('movement.pendingtransaction') }}
</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 class="inset-shadow">
<div
@@ -72,9 +71,60 @@
{{ t('movement.pendingtransaction') }}
</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">
<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
class="col"
style="display: flex"
@@ -84,7 +134,7 @@
mycol,
tools.TIPOVIS_SHOW_RECORD,
false,
tools.getValue(myrec, mycol.field, mycol.subfield)
tools.getValue(myrec.result, mycol.field, mycol.subfield)
)
"
>
@@ -94,15 +144,15 @@
<CMyFieldRec
table="sendnotifs"
:id="myrec._id"
:rec="myrec"
:id="myrec.result._id"
:rec="myrec.result"
:field="mycol.name"
:canEdit="false"
:canModify="false"
>
</CMyFieldRec>
</div>
</span>
</span>-->
</q-card>
</div>
</div>

View File

@@ -1,7 +1,6 @@
<template>
<div>
<q-dialog
v-model="show"
v-model="showpage"
:maximized="$q.screen.lt.sm"
@hide="hide"
@show="qtyRef ? qtyRef.focus() : ''"
@@ -26,6 +25,18 @@
</q-select>
<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
rounded
dense
@@ -265,7 +276,6 @@
</q-card-actions>
</q-card>
</q-dialog>
</div>
</template>
<script lang="ts" src="./CSendCoins.ts">

View File

@@ -953,6 +953,7 @@ export interface IProvince {
reg: string
descr: string
link_grp: string
link_telegram: string
}
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,
tipovisu: costanti.TipoVisu.LINK,
fieldtype: costanti.FieldType.username_chip,
link: '/circuits/contocomfrom.path',
link: '/circuit/contocomfrom.path',
noshowlabel: true,
extrafield: 'movement.fromCCom',
tipoconto: costanti.AccountType.COMMUNITY_ACCOUNT,
@@ -670,7 +670,7 @@ export const colmyMovement = [
foredit: false,
tipovisu: costanti.TipoVisu.LINK,
fieldtype: costanti.FieldType.username_chip,
link: '/circuits/contocomto.path',
link: '/circuit/contocomto.path',
noshowlabel: true,
extrafield: 'movement.toCCom',
tipoconto: costanti.AccountType.COMMUNITY_ACCOUNT,
@@ -718,7 +718,7 @@ export const colmyMovementTable = [
foredit: false,
tipovisu: costanti.TipoVisu.LINK,
fieldtype: costanti.FieldType.username_chip,
link: '/circuits/contocomfrom.path',
link: '/circuit/contocomfrom.path',
tipoconto: costanti.AccountType.COMMUNITY_ACCOUNT,
required: true,
}),
@@ -755,7 +755,7 @@ export const colmyMovementTable = [
foredit: false,
tipovisu: costanti.TipoVisu.LINK,
fieldtype: costanti.FieldType.username_chip,
link: '/circuits/contocomto.path',
link: '/circuit/contocomto.path',
tipoconto: costanti.AccountType.COMMUNITY_ACCOUNT,
required: true,
}),
@@ -3181,7 +3181,7 @@ export const colmyUserCircuit = [
foredit: false,
tipovisu: costanti.TipoVisu.LINK,
fieldtype: costanti.FieldType.username_chip,
link: '/circuits/contocom',
link: '/circuit/contocom',
noshowlabel: true,
tipoconto: costanti.AccountType.COMMUNITY_ACCOUNT,
}),
@@ -3192,7 +3192,7 @@ export const colmyUserCircuit = [
foredit: false,
tipovisu: costanti.TipoVisu.LINK,
fieldtype: costanti.FieldType.username_chip,
link: '/circuits/groupname',
link: '/circuit/groupname',
noshowlabel: true,
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: 'extrarec.dest',
label_trans: 'reg.username',
field: 'extrarec',
subfield: 'dest',
label_trans: 'reg.username',
foredit: false,
tipovisu: costanti.TipoVisu.LINK,
fieldtype: costanti.FieldType.username_chip,
link: '/my/extrarec.dest',
noshowlabel: true,
extrafield: 'movement.to',
showWhen: costanti.showWhen.NewRec + costanti.showWhen.InPage + costanti.showWhen.InEdit + costanti.showWhen.InView,
tipoconto: costanti.AccountType.USER,
}),
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.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) {
// 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) {
@@ -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) {
const userStore = useUserStore()
@@ -6276,44 +6336,32 @@ export const tools = {
const userStore = useUserStore()
let msg = ''
if (value) {
msg = t('circuit.domanda_ask', { circuitname })
} else {
msg = t('circuit.domanda_revoke', { 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)
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 {
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) {
@@ -6523,6 +6571,10 @@ export const tools = {
let risultato = false
if (userStore.isAdmin) {
return true
}
if (userStore.my.profile.manage_mycircuits) {
const ris = userStore.my.profile.manage_mycircuits.find((circuit: ICircuit) => {
if (circuit.name === circuitname) {
@@ -6622,6 +6674,9 @@ export const tools = {
isUserAdminGroup(groupname: string, username: string) {
const userStore = useUserStore()
if (userStore.my.username === username && userStore.isAdmin) {
return true
}
let risultato = false
if (userStore.my.profile.manage_mygroups) {
@@ -6664,6 +6719,10 @@ export const tools = {
isUserTheCreatorOfTheCircuit(name: string, username: string) {
const userStore = useUserStore()
if (userStore.my.username === username && userStore.isAdmin) {
return true
}
let risultato = false
if (userStore.my.profile.manage_mycircuits) {
@@ -6684,6 +6743,10 @@ export const tools = {
isUserAdminCircuit(name: string, username: string) {
const userStore = useUserStore()
if (userStore.my.username === username && userStore.isAdmin) {
return true
}
let risultato = false
if (userStore.my.profile.manage_mycircuits) {

View File

@@ -487,10 +487,31 @@ export const useUserStore = defineStore('UserStore', {
},
getMyCircuitsInCommonByUser(user: IUserFields): any[] {
let arrout = []
let vuoto = false
const circuitStore = useCircuitStore()
if (!this.my.profile.mycircuits || (!user || !user.profile || !user.profile.mycircuits))
return []
return tools.getCommon([...this.my.profile.mycircuits], [...user.profile.mycircuits], 'circuitname')
vuoto = true // ok
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[] {
@@ -659,7 +680,7 @@ export const useUserStore = defineStore('UserStore', {
if (!!myrec.surname)
name += myrec.surname + ' '
if (!name) {
if (!name && myrec.username) {
name += myrec.username + ' '
}
if (col && col.field === 'extrarec' && !name) {
@@ -670,12 +691,18 @@ export const useUserStore = defineStore('UserStore', {
return myrec.descr
else if (myrec.hasOwnProperty('groupname'))
return myrec.groupname
else if (myrec.hasOwnProperty('grouporig'))
return myrec.grouporig
} else if (tipoconto === costanti.AccountType.COMMUNITY_ACCOUNT) {
if (myrec.hasOwnProperty('name'))
return myrec.name
else if (myrec.hasOwnProperty('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
},
@@ -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) {
let value = false

View File

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

View File

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

View File

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

View File

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

View File

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