497 lines
16 KiB
Vue
Executable File
497 lines
16 KiB
Vue
Executable File
<template>
|
|
<div v-if="tools.isUserOk() || noaut">
|
|
<div v-if="circuit">
|
|
<q-item
|
|
:class="
|
|
`q-my-sm bordo_stondato_circuiti ` +
|
|
($q.dark.isActive ? `text-white` : `text-black`)
|
|
"
|
|
clickable
|
|
>
|
|
<q-item-section
|
|
v-if="visu !== costanti.ENTER_TO_THE_CIRCUIT"
|
|
avatar
|
|
@click="naviga(tools.getPathByTableAndRec(table, circuit))"
|
|
>
|
|
<q-avatar size="60px">
|
|
<q-img
|
|
:src="getImgCircuit(circuit)"
|
|
:alt="circuit.name"
|
|
img-class="imgprofile"
|
|
height="60px"
|
|
/>
|
|
</q-avatar>
|
|
<div :class="`q-ma-xs q-px-xs shadow-2 rounded-borders `">
|
|
<span
|
|
:class="
|
|
`q-ma-sm ` + ($q.dark.isActive ? `text-white` : `text-black`)
|
|
"
|
|
>{{ circuit.numMembers }}</span
|
|
>
|
|
<q-icon name="fas fa-users" size="xs" color="blue"></q-icon>
|
|
</div>
|
|
</q-item-section>
|
|
|
|
<q-item-section :class="$q.dark.isActive ? `text-white` : `text-black`">
|
|
<q-item-label
|
|
@click="naviga(tools.getPathByTableAndRec(table, circuit))"
|
|
><strong>{{ circuit.name }}</strong>
|
|
<span v-if="circuit.subname"> ({{ circuit.subname }})</span>
|
|
</q-item-label>
|
|
<q-item-label
|
|
@click="naviga(tools.getPathByTableAndRec(table, circuit))"
|
|
v-if="circuit.longdescr"
|
|
caption
|
|
lines="3"
|
|
><em>{{ circuit.longdescr }}</em>
|
|
</q-item-label>
|
|
<q-item-label v-if="visu === costanti.ENTER_TO_THE_CIRCUIT" caption>
|
|
<span> Membri: {{ circuit.numMembers }}</span>
|
|
</q-item-label>
|
|
<q-item-label caption lines="3">
|
|
<q-chip
|
|
v-if="circuit.status !== undefined && circuit.status !== 0"
|
|
:color="circuitStore.getColorCircuitClass(circuit)"
|
|
text-color="white"
|
|
size="sm"
|
|
:icon="
|
|
globalStore.getValueByTableSingle(
|
|
'statuscircuit',
|
|
circuit.status,
|
|
'icon'
|
|
)
|
|
"
|
|
>{{
|
|
globalStore.getValueByTableSingle(
|
|
'statuscircuit',
|
|
circuit.status
|
|
)
|
|
}}
|
|
<q-btn
|
|
class="q-ml-sm"
|
|
icon="fas fa-info"
|
|
color="primary"
|
|
text-color="white"
|
|
size="xs"
|
|
round
|
|
@click="showingtooltip = !showingtooltip"
|
|
>
|
|
<q-tooltip :offset="[10, 10]" v-model="showingtooltip">{{
|
|
globalStore.getValueByTableSingle(
|
|
'statuscircuit',
|
|
circuit.status,
|
|
'hint'
|
|
)
|
|
}}</q-tooltip>
|
|
</q-btn>
|
|
</q-chip>
|
|
</q-item-label>
|
|
<q-item-label
|
|
v-if="
|
|
!circuit.transactionsEnabled &&
|
|
circuit.status ===
|
|
shared_consts.CIRCUIT_STATUS.FASE3_MONETA_ABILITATA
|
|
"
|
|
caption
|
|
lines="1"
|
|
>
|
|
<q-icon v-if="!circuit.transactionsEnabled" name="fas fa-lock">
|
|
</q-icon>
|
|
<span class="text-red text-weight-bold">{{
|
|
$t('circuit.transaction_suspended')
|
|
}}</span>
|
|
</q-item-label>
|
|
|
|
<q-item-label
|
|
@click="naviga(tools.getPathByTableAndRec(table, circuit))"
|
|
lines="1"
|
|
>
|
|
<CSaldo
|
|
v-if="tools.isUserOk() && username === account.username"
|
|
:account="account"
|
|
:symbol="circuit.symbol"
|
|
:color="circuit.color"
|
|
:saldo="saldo"
|
|
:qtarem="qtarem"
|
|
>
|
|
</CSaldo>
|
|
</q-item-label>
|
|
</q-item-section>
|
|
|
|
<q-item-section
|
|
side
|
|
v-if="visu === costanti.USER_CIRCUITS && tools.isUserOk()"
|
|
>
|
|
<q-item-label>
|
|
<q-btn
|
|
rounded
|
|
:icon="
|
|
userStore.IsMyCircuitByName(circuit.name)
|
|
? `fas fa-ellipsis-h`
|
|
: `fas fa-user`
|
|
"
|
|
>
|
|
<q-menu>
|
|
<q-list
|
|
v-if="
|
|
!userStore.IsMyCircuitByName(circuit.name) &&
|
|
!userStore.IsAskedCircuitByName(circuit.name) &&
|
|
!userStore.IsRefusedCircuitByName(circuit.name)
|
|
"
|
|
style="min-width: 200px"
|
|
>
|
|
<q-item
|
|
clickable
|
|
v-close-popup
|
|
@click="
|
|
tools.setCmd(
|
|
$q,
|
|
shared_consts.CIRCUITCMD.REQ,
|
|
myusername(),
|
|
true,
|
|
circuitname
|
|
)
|
|
"
|
|
>
|
|
<q-item-section>{{ $t('circuit.ask') }}</q-item-section>
|
|
</q-item>
|
|
</q-list>
|
|
<q-list
|
|
v-else-if="
|
|
!userStore.IsMyCircuitByName(circuit.name) &&
|
|
userStore.IsAskedCircuitByName(circuit.name) &&
|
|
!userStore.IsRefusedCircuitByName(circuit.name)
|
|
"
|
|
style="min-width: 200px"
|
|
>
|
|
<q-item
|
|
clickable
|
|
v-close-popup
|
|
@click="
|
|
tools.setCmd(
|
|
$q,
|
|
shared_consts.CIRCUITCMD.REQ,
|
|
myusername(),
|
|
false,
|
|
circuit.name
|
|
)
|
|
"
|
|
>
|
|
<q-item-section>{{
|
|
$t('shared.refuse_ask')
|
|
}}</q-item-section>
|
|
</q-item>
|
|
<q-item
|
|
clickable
|
|
v-close-popup
|
|
@click="
|
|
tools.setCmd(
|
|
$q,
|
|
shared_consts.CIRCUITCMD.REQ,
|
|
myusername(),
|
|
false,
|
|
circuit.name
|
|
)
|
|
"
|
|
>
|
|
<q-item-section>{{
|
|
$t('shared.cancel_ask')
|
|
}}</q-item-section>
|
|
</q-item>
|
|
</q-list>
|
|
<q-list
|
|
v-else-if="userStore.IsMyCircuitByName(circuit.name)"
|
|
style="min-width: 200px"
|
|
>
|
|
<q-item
|
|
clickable
|
|
v-close-popup
|
|
@click="
|
|
tools.setCmd(
|
|
$q,
|
|
shared_consts.CIRCUITCMD.REMOVE_FROM_MYLIST,
|
|
myusername(),
|
|
'',
|
|
circuit.name
|
|
)
|
|
"
|
|
>
|
|
<q-item-section>{{ $t('circuit.exit') }}</q-item-section>
|
|
</q-item>
|
|
</q-list>
|
|
<q-list
|
|
v-if="tools.iAmAdminCircuit(circuit.name)"
|
|
style="min-width: 200px"
|
|
>
|
|
<q-item
|
|
clickable
|
|
v-close-popup
|
|
@click="
|
|
tools.setCmd(
|
|
$q,
|
|
shared_consts.CIRCUITCMD.DELETE,
|
|
myusername(),
|
|
'',
|
|
circuit.name
|
|
)
|
|
"
|
|
>
|
|
<q-item-section>{{ $t('circuit.delete') }}</q-item-section>
|
|
</q-item>
|
|
</q-list>
|
|
</q-menu>
|
|
</q-btn>
|
|
</q-item-label>
|
|
</q-item-section>
|
|
<q-item-section
|
|
side
|
|
v-if="visu === costanti.REQ_CIRCUIT && tools.isUserOk()"
|
|
>
|
|
<q-item-label>
|
|
<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.CIRCUITCMD.REFUSE_REQ,
|
|
myusername(),
|
|
false,
|
|
circuit.name
|
|
)
|
|
"
|
|
>
|
|
<q-item-section>{{
|
|
$t('circuit.reject_ask')
|
|
}}</q-item-section>
|
|
</q-item>
|
|
</q-list>
|
|
</q-menu>
|
|
</q-btn>
|
|
</q-item-label>
|
|
</q-item-section>
|
|
<q-item-section
|
|
side
|
|
v-if="visu === costanti.ASK_SENT_CIRCUIT && tools.isUserOk()"
|
|
>
|
|
<q-item-label>
|
|
<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.CIRCUITCMD.REFUSE_REQ,
|
|
myusername(),
|
|
'',
|
|
circuit.name
|
|
)
|
|
"
|
|
>
|
|
<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.CIRCUITCMD.CANCEL_REQ,
|
|
myusername(),
|
|
'',
|
|
circuit.name
|
|
)
|
|
"
|
|
>
|
|
<q-item-section>{{
|
|
$t('shared.cancel_ask')
|
|
}}</q-item-section>
|
|
</q-item>
|
|
</q-list>
|
|
</q-menu>
|
|
</q-btn>
|
|
</q-item-label>
|
|
</q-item-section>
|
|
</q-item>
|
|
|
|
<div class="centermydiv" v-if="visu === costanti.ENTER_TO_THE_CIRCUIT">
|
|
<q-btn
|
|
v-if="
|
|
!userStore.IsMyCircuitByName(circuit.name) &&
|
|
!userStore.IsAskedCircuitByName(circuit.name) &&
|
|
!userStore.IsRefusedCircuitByName(circuit.name)
|
|
"
|
|
icon="fas fa-user-plus"
|
|
color="primary"
|
|
|
|
:label="$t('circuit.ask')"
|
|
@click="
|
|
requestToEnterCircuit = true;
|
|
groupnameSel = null;
|
|
"
|
|
/>
|
|
<q-btn
|
|
v-if="userStore.IsMyCircuitByName(circuit.name)"
|
|
rounded
|
|
icon="fas fa-ellipsis-h"
|
|
>
|
|
<q-menu>
|
|
<q-list v-if="true" style="min-width: 150px">
|
|
<q-item
|
|
clickable
|
|
v-close-popup
|
|
v-if="saldo === 0"
|
|
@click="
|
|
tools.removeFromMyCircuits(
|
|
$q,
|
|
userStore.my.username,
|
|
circuit.name,
|
|
'',
|
|
$t('circuit.domanda_exit_fromcircuit', {
|
|
circuitname: circuit.name,
|
|
})
|
|
)
|
|
"
|
|
>
|
|
<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
|
|
v-if="tools.iAmAdminCircuit(circuit.name)"
|
|
style="min-width: 200px"
|
|
>
|
|
<q-item
|
|
clickable
|
|
v-close-popup
|
|
@click="
|
|
tools.setCmd(
|
|
$q,
|
|
shared_consts.CIRCUITCMD.DELETE,
|
|
userStore.my.username,
|
|
'',
|
|
circuit.name
|
|
)
|
|
"
|
|
>
|
|
<q-item-section avatar>
|
|
<q-icon color="negative" name="fas fa-trash-alt" />
|
|
</q-item-section>
|
|
<q-item-section>{{ $t('circuit.delete') }}</q-item-section>
|
|
</q-item>
|
|
</q-list>
|
|
</q-list>
|
|
</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) &&
|
|
!userStore.IsMyCircuitByName(circuit.name)
|
|
"
|
|
icon="fas fa-user-minus"
|
|
flat
|
|
outline
|
|
:label="$t('shared.cancel_ask_short')"
|
|
@click="
|
|
tools.cancelReqCircuit($q, userStore.my.username, circuit.name)
|
|
"
|
|
/>
|
|
</div>
|
|
</div>
|
|
<q-dialog
|
|
v-model="requestToEnterCircuit"
|
|
maximized
|
|
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-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>
|
|
</q-toolbar-title>
|
|
<q-btn flat round color="white" icon="close" v-close-popup></q-btn>
|
|
</q-toolbar>
|
|
<q-card-section 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">Regolamento:</div>
|
|
<q-btn label="vedi Regolamento" @click="showrules = !showrules">
|
|
</q-btn>
|
|
<div v-if="showrules" v-html="circuit.regulation"></div>
|
|
</q-card-section>
|
|
<q-card-actions align="center">
|
|
<q-btn
|
|
class="centeritems"
|
|
icon="fas fa-user-plus"
|
|
color="positive"
|
|
:label="$t('circuit.acceptregulation')"
|
|
@click="
|
|
requestToEnterCircuit = false;
|
|
tools.setRequestCircuit(
|
|
$q,
|
|
userStore.my.username,
|
|
circuit.name,
|
|
true,
|
|
groupnameSel ? groupnameSel.groupname : ''
|
|
);
|
|
"
|
|
/>
|
|
<q-btn
|
|
outline
|
|
:label="$t('dialog.cancel')"
|
|
icon="close"
|
|
v-close-popup
|
|
></q-btn>
|
|
</q-card-actions>
|
|
</q-card>
|
|
</q-dialog>
|
|
</div>
|
|
<div v-else>
|
|
<CUserNonVerif></CUserNonVerif>
|
|
</div>
|
|
</template>
|
|
|
|
<script lang="ts" src="./CMyCircuit.ts">
|
|
</script>
|
|
|
|
<style lang="scss" scoped>
|
|
@import './CMyCircuit.scss';
|
|
</style>
|