Files
newfreeplanet_OLD/src/components/CMyGroup/CMyGroup.vue
Surya Paolo 80610b3627 - Invia Ris a e Ricevi Ris
- Tutorial Guidato Passi da Compiere
- Provincia in cui vivi
- Policy aggiornata
2023-03-11 01:01:23 +01:00

630 lines
21 KiB
Vue
Executable File

<template>
<div v-if="tools.isUserOk()">
<div v-if="grp">
<q-item class="q-my-sm" clickable>
<q-item-section
avatar
@click="naviga(tools.getPathByGroup(grp, table))"
>
<q-avatar size="60px">
<q-img
:src="getImgGroup(grp)"
:alt="grp.groupname"
img-class="imgprofile"
height="60px"
/>
</q-avatar>
</q-item-section>
<q-item-section @click="naviga(tools.getPathByGroup(grp, table))">
<q-item-label
><strong>{{ grp.title }}</strong> ({{ grp.groupname }})
</q-item-label>
<q-item-label v-if="grp.descr" caption lines="3"
><em>{{ grp.descr }}</em></q-item-label
>
<q-item-label v-if="grp.account && circuitname" caption lines="2">
<CSaldo
:small="true"
:account="grp.account"
:symbol="tools.getSymbolByCircuit(circuit)"
:color="tools.getColorByCircuit(circuit)"
:saldo="grp.account.saldo"
>
</CSaldo>
</q-item-label>
</q-item-section>
<q-item-label>
<q-btn
icon="fas fa-coins"
color="green"
size="md"
dense
@click="showsendCoinTo = true"
>
</q-btn>
</q-item-label>
<q-item-section side>
<q-item-label v-if="visu === costanti.MY_GROUPS">
<q-btn rounded icon="fas fa-ellipsis-h">
<q-menu>
<q-list style="min-width: 150px">
<q-item
clickable
icon="fas fa-user-minus"
outline
v-close-popup
@click="
tools.setCmd(
$q,
shared_consts.GROUPSCMD.REMOVE_FROM_MYGROUP,
myusername(),
'',
grp.groupname
)
"
>
<q-item-section>{{
$t('groups.remove_from_mygroups')
}}</q-item-section>
</q-item>
</q-list>
<q-list
v-if="tools.iAmAdminGroup(grp.groupname)"
style="min-width: 200px"
>
<q-item
clickable
v-close-popup
@click="
tools.setCmd(
$q,
shared_consts.GROUPSCMD.DELETE_GROUP,
myusername(),
'',
grp.groupname
)
"
>
<q-item-section>{{
$t('groups.delete_group')
}}</q-item-section>
</q-item>
</q-list>
<q-list style="min-width: 150px">
<q-item
v-if="!tools.iAmAdminGroup(grp.groupname)"
clickable
icon="fas fa-ban"
v-close-popup
@click="
tools.setCmd(
$q,
shared_consts.GROUPSCMD.BLOCK_GROUP,
myusername(),
'',
grp.groupname
)
"
>
<q-item-section>{{
$t('groups.block_group')
}}</q-item-section>
</q-item>
</q-list>
</q-menu>
</q-btn>
</q-item-label>
<q-item-label v-if="visu === costanti.REQ_ADD_USER_TO_CIRCUIT">
<q-btn rounded icon="fas fa-ellipsis-h">
<q-menu>
<q-list style="min-width: 150px">
<q-item
clickable
v-close-popup
dense
@click="showsendCoinTo = true"
>
<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>
<q-item
v-if="tools.iAmAdminGroup(grp.groupname)"
clickable
v-close-popup
dense
@click="tools.receiveRisGroup(grp.groupname, $q, $t)"
>
<q-item-section avatar>
<q-icon color="positive" name="fas fa-download" />
</q-item-section>
<q-item-section>{{
$t('circuit.receive_coins')
}}</q-item-section>
</q-item>
<q-item
clickable
v-close-popup
@click="showAccountInfo = true"
>
<q-item-section avatar>
<q-icon name="fas fa-info" />
</q-item-section>
<q-item-section>{{
$t('groups.infoaccount')
}}</q-item-section>
</q-item>
</q-list>
</q-menu>
</q-btn>
</q-item-label>
<q-item-label v-else-if="visu === costanti.USER_GROUPS">
<q-btn
rounded
:icon="
userStore.IsMyGroupByGroupname(grp.groupname)
? `fas fa-ellipsis-h`
: `fas fa-user`
"
>
<q-menu>
<q-list
v-if="
!userStore.IsMyGroupByGroupname(grp.groupname) &&
!userStore.IsAskedGroupByGroupname(grp.groupname) &&
!userStore.IsRefusedGroupByGroupname(grp.groupname)
"
style="min-width: 200px"
>
<q-item
clickable
v-close-popup
@click="
tools.setCmd(
$q,
shared_consts.GROUPSCMD.REQGROUP,
myusername(),
true,
grp.groupname
)
"
>
<q-item-section>{{
$t('groups.ask_group')
}}</q-item-section>
</q-item>
</q-list>
<q-list
v-else-if="
!userStore.IsMyGroupByGroupname(grp.groupname) &&
userStore.IsAskedGroupByGroupname(grp.groupname) &&
!userStore.IsRefusedGroupByGroupname(grp.groupname)
"
style="min-width: 200px"
>
<q-item
clickable
v-close-popup
@click="
tools.setCmd(
$q,
shared_consts.GROUPSCMD.REFUSE_REQ_GROUP,
myusername(),
false,
grp.groupname
)
"
>
<q-item-section>{{
$t('shared.refuse_ask')
}}</q-item-section>
</q-item>
<q-item
clickable
v-close-popup
@click="
tools.setCmd(
$q,
shared_consts.GROUPSCMD.REQGROUP,
myusername(),
false,
grp.groupname
)
"
>
<q-item-section>{{
$t('shared.cancel_ask')
}}</q-item-section>
</q-item>
</q-list>
<q-list
v-else-if="userStore.IsMyGroupByGroupname(grp.groupname)"
style="min-width: 200px"
>
<q-item
clickable
v-close-popup
@click="
tools.setCmd(
$q,
shared_consts.GROUPSCMD.REMOVE_FROM_MYGROUP,
myusername(),
'',
grp.groupname
)
"
>
<q-item-section>{{
$t('groups.exit_group')
}}</q-item-section>
</q-item>
</q-list>
<q-list
v-if="tools.iAmAdminGroup(grp.groupname)"
style="min-width: 200px"
>
<q-item
clickable
v-close-popup
@click="
tools.setCmd(
$q,
shared_consts.GROUPSCMD.DELETE_GROUP,
myusername(),
'',
grp.groupname
)
"
>
<q-item-section>{{
$t('groups.delete_group')
}}</q-item-section>
</q-item>
</q-list>
</q-menu>
</q-btn>
</q-item-label>
<q-item-label v-else-if="visu === costanti.REQ_GROUP">
<q-btn rounded icon="fas fa-ellipsis-h">
<q-menu>
<q-list style="min-width: 150px">
<q-item
clickable
icon="fas fa-user-minus"
outline
v-close-popup
@click="
tools.setCmd(
$q,
shared_consts.GROUPSCMD.REQGROUP,
myusername(),
false,
grp.groupname
)
"
>
<q-item-section>{{
$t('groups.reject_ask_group')
}}</q-item-section>
</q-item>
</q-list>
</q-menu>
</q-btn>
</q-item-label>
<q-item-label v-else-if="visu === costanti.ASK_SENT_GROUP">
<q-btn rounded icon="fas fa-ellipsis-h">
<q-menu>
<q-list style="min-width: 150px">
<q-item
clickable
icon="fas fa-user-minus"
outline
v-close-popup
@click="
tools.setCmd(
$q,
shared_consts.GROUPSCMD.REFUSE_REQ_GROUP,
myusername(),
'',
grp.groupname
)
"
>
<q-item-section>{{
$t('shared.refuse_ask')
}}</q-item-section>
</q-item>
<q-item
clickable
icon="fas fa-user-minus"
outline
v-close-popup
@click="
tools.setCmd(
$q,
shared_consts.GROUPSCMD.CANCEL_REQ_GROUP,
myusername(),
'',
grp.groupname
)
"
>
<q-item-section>{{
$t('shared.cancel_ask')
}}</q-item-section>
</q-item>
</q-list>
</q-menu>
</q-btn>
</q-item-label>
<q-item-label v-else-if="visu === costanti.FIND_GROUP">
<q-btn
rounded
:icon="
userStore.IsMyGroupByGroupname(grp.groupname)
? `fas fa-ellipsis-h`
: `fas fa-user`
"
>
<q-menu>
<q-list>
<q-item
clickable
v-close-popup
dense
@click="showsendCoinTo = true"
>
<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>
</q-list>
<q-list
v-if="
!userStore.IsMyGroupByGroupname(grp.groupname) &&
!userStore.IsAskedGroupByGroupname(grp.groupname)
"
style="min-width: 200px"
>
<q-item
clickable
v-close-popup
@click="
tools.setCmd(
$q,
shared_consts.GROUPSCMD.REQGROUP,
myusername(),
true,
grp.groupname
)
"
>
<q-item-section>{{
$t('groups.ask_group')
}}</q-item-section>
</q-item>
</q-list>
<q-list
v-else-if="
!userStore.IsMyGroupByGroupname(grp.groupname) &&
userStore.IsAskedGroupByGroupname(grp.groupname)
"
style="min-width: 200px"
>
<q-item
clickable
v-close-popup
@click="
tools.setCmd(
$q,
shared_consts.GROUPSCMD.REFUSE_REQ_GROUP,
myusername(),
false,
grp.groupname
)
"
>
<q-item-section>{{
$t('shared.refuse_ask')
}}</q-item-section>
</q-item>
<q-item
clickable
v-close-popup
@click="
tools.setCmd(
$q,
shared_consts.GROUPSCMD.REQGROUP,
myusername(),
false,
grp.groupname
)
"
>
<q-item-section>{{
$t('shared.cancel_ask')
}}</q-item-section>
</q-item>
</q-list>
<q-list
v-else-if="userStore.IsMyGroupByGroupname(grp.groupname)"
style="min-width: 200px"
>
<q-item
clickable
v-close-popup
@click="
tools.setCmd(
$q,
shared_consts.GROUPSCMD.REMOVE_FROM_MYGROUP,
myusername(),
'',
grp.groupname
)
"
>
<q-item-section>{{
$t('groups.exit_group')
}}</q-item-section>
</q-item>
<q-item
clickable
v-close-popup
@click="
tools.removeFromMyCircuits(
$q,
userStore.my.username,
circuitname,
grp.groupname,
$t('circuit.domanda_exit_fromcircuit', {
circuitname,
})
)
"
>
<q-item-section avatar>
<q-icon color="negative" name="fas fa-user-minus" />
</q-item-section>
<q-item-section>{{
$t('circuit.exit_circuit')
}}</q-item-section>
</q-item>
</q-list>
<q-list
v-if="tools.iAmAdminGroup(grp.groupname)"
style="min-width: 200px"
>
<q-item
clickable
v-close-popup
@click="
tools.setCmd(
$q,
shared_consts.GROUPSCMD.DELETE_GROUP,
myusername(),
'',
grp.groupname
)
"
>
<q-item-section>{{
$t('groups.delete_group')
}}</q-item-section>
</q-item>
</q-list>
</q-menu>
</q-btn>
</q-item-label>
<q-item-label v-else-if="visu === costanti.REQ_ADD_GROUP_TO_CIRCUIT">
<q-btn rounded icon="fas fa-ellipsis-h">
<q-menu>
<q-list v-if="true" style="min-width: 150px">
<q-item
clickable
v-close-popup
@click="
tools.addGroupToMyCircuits($q, grp.groupname, circuitname)
"
>
<q-item-section avatar>
<q-icon color="positive" name="fas fa-user-plus" />
</q-item-section>
<q-item-section>
{{ $t('circuit.accept') }}
</q-item-section>
</q-item>
</q-list>
<q-list style="min-width: 200px">
<q-item
clickable
v-close-popup
@click="
tools.refuseReqCircuit(
$q,
myusername(),
circuitname,
grp.groupname
)
"
>
<q-item-section avatar>
<q-icon color="negative" name="fas fa-user-minus" />
</q-item-section>
<q-item-section>{{
$t('shared.refuse_ask')
}}</q-item-section>
</q-item>
<q-item
clickable
v-close-popup
@click="
tools.cancelReqCircuit(
$q,
myusername(),
circuitname,
grp.groupname
)
"
>
<q-item-section avatar>
<q-icon color="negative" name="fas fa-user-minus" />
</q-item-section>
<q-item-section>{{
$t('shared.cancel_ask_short')
}}</q-item-section>
</q-item>
</q-list>
</q-menu>
</q-btn>
</q-item-label>
</q-item-section>
</q-item>
</div>
</div>
<div v-else>
<CUserNonVerif></CUserNonVerif>
</div>
<div v-if="showsendCoinTo">
<CSendCoins
:showprop="showsendCoinTo"
:to_group="grp"
:circuitname="circuitname"
@close="showsendCoinTo = false"
>
</CSendCoins>
</div>
<q-dialog v-model="showAccountInfo" full-height full-width>
<q-card v-if="circuit">
<q-toolbar class="bg-primary text-white">
<q-toolbar-title>
{{ grp.title }}
</q-toolbar-title>
<q-btn flat round color="white" icon="close" v-close-popup></q-btn>
</q-toolbar>
<CInfoAccount
:grp="grp"
:circuitname="circuitname"
:admin="tools.iAmAdminCircuit(circuitname)"
/>
</q-card>
</q-dialog>
</template>
<script lang="ts" src="./CMyGroup.ts">
</script>
<style lang="scss" scoped>
@import './CMyGroup.scss';
</style>