go on Conto Comunitario

This commit is contained in:
Surya Paolo
2023-02-01 01:19:58 +01:00
parent 8176902363
commit f62ac90b34
9 changed files with 186 additions and 103 deletions

View File

@@ -23,7 +23,7 @@
<q-btn
glossy
size="xl"
label="Installa App su iOS"
label="Installa App"
@click="viewiOS = !viewiOS"
icon="fab fa-apple"
color="green"
@@ -58,7 +58,7 @@
<q-btn
glossy
size="lg"
label="Installa App su Android"
label="Installa App"
@click="viewAndroid = !viewAndroid"
icon="fab fa-android"
color="green"

View File

@@ -43,7 +43,7 @@
<q-btn
v-if="
userStore.getMyCircuitsInCommonByUser(myuser).length > 0 &&
((myuser.username !== userStore.my.username) || userStore.hoContiComunitariDaAmministrare())
((myuser.username !== userStore.my.username) || userStore.hoContiCollettiviDaAmministrare())
"
icon="fas fa-coins"
color="green"

View File

@@ -59,7 +59,7 @@
<q-btn
v-if="
userStore.getMyCircuitsInCommonByUser(contact).length > 0 &&
((contact.username !== userStore.my.username) || userStore.hoContiComunitariDaAmministrare())
((contact.username !== userStore.my.username) || userStore.hoContiCollettiviDaAmministrare())
"
icon="fas fa-coins"
color="green"

View File

@@ -38,6 +38,11 @@ export default defineComponent({
required: false,
default: null,
},
to_contocom: {
type: String,
required: false,
default: '',
},
from_group: {
type: Object as PropType<IMyGroup>,
required: false,
@@ -123,6 +128,9 @@ export default defineComponent({
arrGroupsList.value.push({ label: group.groupname, value: group.groupname });
}
if (tools.iAmAdminCircuit(circuitloaded.value.name))
arrGroupsList.value.push({ label: circuitloaded.value.name, value: circuitloaded.value.path });
// accountdest.value = userStore.getAccountByCircuitId(circuitloaded.value._id)
if (accountloaded.value) {
remainingCoins.value = circuitStore.getRemainingCoinsToSend(accountloaded.value)
@@ -196,6 +204,19 @@ export default defineComponent({
aggiorna()
show.value = true
}
if (props.to_contocom) {
bothcircuits.value = userStore.getMyCircuits()
console.log('to_contocom', props.to_contocom)
circuitsel.value = props.circuitname
if (!userStore.IsMyCircuitByName(circuitsel.value)) {
circuitsel.value = bothcircuits.value[0]
}
aggiorna()
show.value = true
}
}
@@ -205,9 +226,12 @@ export default defineComponent({
}
function sendCoin() {
console.log('sendcoin', qty.value, props.to_group ? props.to_group.groupname : props.to_user.username)
console.log('sendcoin', qty.value, props.to_group ? props.to_group.groupname : (props.to_user ? props.to_user.username : props.to_contocom))
let ok = (props.to_user && props.to_user.username) ||
(props.to_group && props.to_group.groupname) ||
(props.to_contocom)
let ok = (props.to_user && props.to_user.username) || (props.to_group && props.to_group.groupname)
if (ok && qty.value && circuitloaded.value) {
let myrecsendcoin: ISendCoin = {
@@ -220,7 +244,7 @@ export default defineComponent({
symbol: circuitloaded.value.symbol,
}
myrecsendcoin.groupdest = props.to_group ? props.to_group.groupname : ''
myrecsendcoin.groupdest = props.to_group ? props.to_group.groupname : props.to_contocom
myrecsendcoin.dest = props.to_user ? props.to_user.username : ''
myrecsendcoin.grouporig = tipoConto.value === costanti.AccountType.COMMUNITY_ACCOUNT ? from_groupname.value : ''

View File

@@ -113,6 +113,13 @@
:circuitname="circuitloaded.name"
>
</CMyGroupOnlyView>
<CMyGroupOnlyView
v-if="circuitloaded && to_contocom"
:mygrp="{groupname: to_contocom}"
:visu="costanti.USER_GROUPS"
:circuitname="circuitloaded.name"
>
</CMyGroupOnlyView>
</q-banner>
<div v-if="circuitloaded">
@@ -208,14 +215,15 @@
? qtyRef.hasError || !circuitloaded.transactionsEnabled ||
((tipoConto === costanti.AccountType.USER) && to_user && (from_username === to_user.username)) ||
((tipoConto === costanti.AccountType.COMMUNITY_ACCOUNT) && !from_groupname) ||
((tipoConto === costanti.AccountType.COMMUNITY_ACCOUNT) && to_group && from_groupname && (to_group.groupname === from_groupname))
((tipoConto === costanti.AccountType.COMMUNITY_ACCOUNT) && to_group && from_groupname && (to_group.groupname === from_groupname)) ||
((tipoConto === costanti.AccountType.COMMUNITY_ACCOUNT) && !to_contocom)
: false
"
:label="
$t('circuit.sendcoinsto', {
qty,
coin: circuitsel,
dest: to_group ? to_group.groupname : to_user.username,
dest: to_group ? to_group.groupname : (to_user ? to_user.username : to_contocom),
})
"
color="positive"

View File

@@ -248,7 +248,7 @@ export const useUserStore = defineStore('UserStore', {
return this.my.profile.manage_mygroups
},
hoContiComunitariDaAmministrare(): boolean {
hoContiCollettiviDaAmministrare(): boolean {
const arr = this.my.profile.manage_mygroups.find((group: IMyGroup) => group.account)
return arr ? true : false
},
@@ -386,6 +386,13 @@ export const useUserStore = defineStore('UserStore', {
return tools.getCommon([...this.my.profile.mycircuits], [...user.profile.mycircuits], 'circuitname')
},
getMyCircuits(): any[] {
if (!this.my.profile.mycircuits)
return []
return this.my.profile.mycircuits.map(item => item.circuitname)
},
getMyCircuitsInCommonByGroup(group: IMyGroup): any[] {
if (!this.my.profile.mycircuits || (!group || !group.mycircuits))

View File

@@ -280,6 +280,12 @@
@click="EseguiFunz('ReplaceUsername', search_username, replace_username)"></q-btn>
<br>
</div>
<div class="row">
<q-btn
label="Create Account Circuits" color="primary"
@click="EseguiFunz('CreateAccountCircuits', search_username, replace_username)"></q-btn>
<br>
</div>
<q-field

View File

@@ -7,6 +7,7 @@ import { CCheckIfIsLogged } from '@/components/CCheckIfIsLogged'
import { CMyFieldRec } from '@/components/CMyFieldRec'
import { CCurrencyValue } from '@/components/CCurrencyValue'
import { CSaldo } from '@/components/CSaldo'
import { CSendCoins } from '@/components/CSendCoins'
import { CTitleSec } from '@/components/CTitleSec'
import { CSkill } from '@/components/CSkill'
import { CDateTime } from '@/components/CDateTime'
@@ -31,7 +32,8 @@ export default defineComponent({
name: 'mycircuit',
components: {
CProfile, CTitleBanner, CMyFieldRec, CSkill, CTitleSec, CDateTime, CMyFriends,
CGridTableRec, CMyUser, CCheckIfIsLogged, CCurrencyValue, CSaldo, CNotifAtTop
CGridTableRec, CMyUser, CCheckIfIsLogged, CCurrencyValue, CSaldo, CNotifAtTop,
CSendCoins,
},
props: {},
setup() {
@@ -47,6 +49,8 @@ export default defineComponent({
const groupsListAdmin = ref(<IMyGroup[]>[])
const groupnameSel = ref('')
const showsendCoinTo = ref(false)
const animation = ref('fade')
const path = computed(() => $route.params.path ? $route.params.path.toString() : '')
@@ -450,6 +454,7 @@ export default defineComponent({
filterextra_group,
groupsListAdmin,
groupnameSel,
showsendCoinTo,
}
}
})

View File

@@ -242,84 +242,82 @@
<q-tab-panels v-model="tabcircuit" animated>
<q-tab-panel name="gruppicom">
<div class="row justify-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
v-for="(group, ind) of groupsListAdmin"
:key="ind"
class="q-pa-sm"
>
<q-item>
<q-item-section>
<q-btn
v-if="
group.groupname &&
!circuitStore.IsAskedCircuitByNameAndGroup(
circuit.name,
group.groupname
) &&
!userStore.IsMyCircuitByNameAndGroup(
circuit.name,
group.groupname
)
"
icon="fas fa-user-plus"
color="primary"
:label="group.groupname"
@click="
requestToEnterCircuit = true;
groupnameSel = group;
"
/>
<q-btn
v-else-if="
group.groupname &&
circuitStore.IsAskedCircuitByNameAndGroup(
circuit.name,
group.groupname
) &&
!userStore.IsMyCircuitByNameAndGroup(
circuit.name,
group.groupname
)
"
icon="fas fa-user-minus"
flat
:label="$t('shared.cancel_ask_short')"
@click="
tools.cancelReqCircuit(
$q,
userStore.my.username,
circuit.name,
group.groupname
)
"
/>
</q-item-section>
</q-item>
</q-list>
<q-list>
<q-item
clickable
v-close-popup
@click="
tools.setCmd(
$q,
shared_consts.GROUPSCMD.REQGROUP,
myusername(),
true,
grp.groupname
)
"
<q-btn rounded icon="fas fa-user-plus" class="text-center">
<q-menu>
<q-item> Chiedi di Entrare nei Circuiti: </q-item>
<q-list
v-for="(group, ind) of groupsListAdmin"
:key="ind"
class="q-pa-sm"
>
</q-item>
</q-list>
</q-menu>
</q-btn>
<q-item>
<q-item-section>
<q-btn
v-if="
group.groupname &&
!circuitStore.IsAskedCircuitByNameAndGroup(
circuit.name,
group.groupname
) &&
!userStore.IsMyCircuitByNameAndGroup(
circuit.name,
group.groupname
)
"
icon="fas fa-user-plus"
color="primary"
:label="group.groupname"
@click="
requestToEnterCircuit = true;
groupnameSel = group;
"
/>
<q-btn
v-else-if="
group.groupname &&
circuitStore.IsAskedCircuitByNameAndGroup(
circuit.name,
group.groupname
) &&
!userStore.IsMyCircuitByNameAndGroup(
circuit.name,
group.groupname
)
"
icon="fas fa-user-minus"
flat
:label="$t('shared.cancel_ask_short')"
@click="
tools.cancelReqCircuit(
$q,
userStore.my.username,
circuit.name,
group.groupname
)
"
/>
</q-item-section>
</q-item>
</q-list>
<q-list>
<q-item
clickable
v-close-popup
@click="
tools.setCmd(
$q,
shared_consts.GROUPSCMD.REQGROUP,
myusername(),
true,
grp.groupname
)
"
>
</q-item>
</q-list>
</q-menu>
</q-btn>
</div>
<CTitleSec :title="$t('circuit.listaconticollettivi')" />
@@ -546,10 +544,7 @@
>
</CCurrencyValue>
</div>
<div
v-if="circuit.qta_max_default_grp"
class="sezioni"
>
<div v-if="circuit.qta_max_default_grp" class="sezioni">
<CCurrencyValue
:symbol="tools.getSymbolByCircuit(circuit)"
:color="tools.getColorByCircuit(circuit)"
@@ -561,9 +556,7 @@
>
</CCurrencyValue>
</div>
<div
class="sezioni"
>
<div class="sezioni">
<CCurrencyValue
:symbol="tools.getSymbolByCircuit(circuit)"
:color="tools.getColorByCircuit(circuit)"
@@ -670,6 +663,46 @@
</div>
</q-card-section>
</q-card>
<q-card v-if="circuit.name">
<q-card-section>
<div class="text-h6">
{{ t('circuit.contocomunitario') }}:
</div>
</q-card-section>
<q-separator />
<q-card-section>
<div class="col-12 text-h7">
<span v-if="checkifShow('descr')">
<CSaldo
v-if="tools.isUserOk() && circuit.account"
:account="circuit.account"
:symbol="circuit.symbol"
:color="circuit.color"
:saldo="circuit.account.saldo"
:qtarem="
circuit.account
? circuitStore.getRemainingCoinsToSend(
circuit.account
)
: 0
"
>
</CSaldo>
</span>
<q-btn
v-if="tools.iAmAdminCircuit(circuit.name)"
icon="fas fa-coins"
color="green"
size="md"
dense
@click="showsendCoinTo = true"
>
</q-btn>
</div>
</q-card-section>
</q-card>
</q-tab-panel>
<q-tab-panel name="page">
@@ -873,14 +906,6 @@
</div>
<div v-html="circuit.regulation"></div>
</q-card-section>
<q-card-section class="inset-shadow">
<div style="font-weight: bold; font-size: 1.25rem">
{{t('circuit.contocomunitario')}}
</div>
<div>
...
</div>
</q-card-section>
<q-card-actions align="center">
<q-btn
class="centeritems"
@@ -907,6 +932,14 @@
</q-card-actions>
</q-card>
</q-dialog>
<div v-if="showsendCoinTo">
<CSendCoins
:showprop="showsendCoinTo"
:to_contocom="circuit.path"
@close="showsendCoinTo = false"
>
</CSendCoins>
</div>
</div>
</div>
</template>