Invio RIS da User a Conto Comunitario
- Visu movimenti OK
This commit is contained in:
@@ -2185,6 +2185,7 @@ export default defineComponent({
|
||||
editOn,
|
||||
newRecordBoolOld,
|
||||
showSpin,
|
||||
userStore,
|
||||
}
|
||||
}
|
||||
})
|
||||
|
||||
@@ -28,10 +28,7 @@
|
||||
v-if="butt_modif_new || mytitle"
|
||||
:class="$q.screen.lt.sm ? `` : `q-gutter-md q-ma-xs` + ` row`"
|
||||
>
|
||||
<div
|
||||
class="q-table__title"
|
||||
style="min-width: 150px"
|
||||
>
|
||||
<div class="q-table__title" style="min-width: 150px">
|
||||
{{ mytitle }}
|
||||
</div>
|
||||
<q-space></q-space>
|
||||
@@ -448,16 +445,21 @@
|
||||
"
|
||||
>
|
||||
<div class="q-pa-xs row items-start q-gutter-xs">
|
||||
<q-card
|
||||
class="my-card text-white"
|
||||
:style="
|
||||
`background: radial-gradient(circle, #cccccc 0%, ` +
|
||||
(tools.isEntrataByRecMov(row) ? `#aaffaa` : `#ffaaaa`) +
|
||||
` 100%)`
|
||||
"
|
||||
>
|
||||
<q-card class="my-card text-black">
|
||||
<q-toolbar class="bg-primary text-white" style="min-height: 30px">
|
||||
<q-toolbar-title>
|
||||
<span class="q-ma-sm">
|
||||
<q-icon
|
||||
v-if="tools.isEntrataByRecMov(row)"
|
||||
name="fas fa-box-tissue"
|
||||
color="green"
|
||||
></q-icon>
|
||||
<q-icon
|
||||
v-else
|
||||
name="fas fa-share-square"
|
||||
color="red"
|
||||
></q-icon>
|
||||
</span>
|
||||
{{
|
||||
tools.isEntrataByRecMov(row)
|
||||
? t('movement.movin')
|
||||
@@ -471,7 +473,7 @@
|
||||
v-if="
|
||||
showColCheck(col, tools.TIPOVIS_SHOW_RECORD, true, 1, row)
|
||||
"
|
||||
class="tdclass"
|
||||
:class="!col.extrafield || (col.extrafield && (col.tipovisu !== costanti.TipoVisu.LINK || (col.tipovisu === costanti.TipoVisu.LINK && userStore.getImgByProfile(row, true, col)))) ? `tdclass` : ``"
|
||||
>
|
||||
<div :class="getclrow(row)">
|
||||
<CMyPopupEdit
|
||||
@@ -1141,7 +1143,7 @@
|
||||
>
|
||||
<q-card class="dialog_card">
|
||||
<q-bar dense class="bg-primary text-white">
|
||||
Nuovo {{mytitle}}:
|
||||
Nuovo {{ mytitle }}:
|
||||
<q-space />
|
||||
<q-btn flat round color="white" icon="close" v-close-popup></q-btn>
|
||||
</q-bar>
|
||||
@@ -1215,7 +1217,7 @@
|
||||
>
|
||||
<q-card class="dialog_card">
|
||||
<q-bar dense class="bg-primary text-white">
|
||||
Nuovo {{mytitle}}:
|
||||
Nuovo {{ mytitle }}:
|
||||
<q-space />
|
||||
<q-btn flat round color="white" icon="close" v-close-popup></q-btn>
|
||||
</q-bar>
|
||||
|
||||
@@ -81,11 +81,12 @@
|
||||
</div>
|
||||
<div v-else-if="col.fieldtype === costanti.FieldType.username_chip">
|
||||
<div class="">
|
||||
<span v-if="col.extrafield">
|
||||
<span v-if="col.extrafield && (col.tipovisu !== costanti.TipoVisu.LINK || (col.tipovisu === costanti.TipoVisu.LINK && userStore.getImgByProfile(row, true, col)))">
|
||||
<span class="extrafield">{{ $t(col.extrafield) }}</span>
|
||||
</span>
|
||||
</div>
|
||||
<div class="q-ma-xs chip_shadow">
|
||||
<div v-if="!col.extrafield || (col.extrafield && (col.tipovisu !== costanti.TipoVisu.LINK || (col.tipovisu === costanti.TipoVisu.LINK && userStore.getImgByProfile(row, true, col))))"
|
||||
class="q-ma-xs chip_shadow">
|
||||
<div
|
||||
v-if="
|
||||
(col.tipovisu === costanti.TipoVisu.LINK ||
|
||||
@@ -108,11 +109,19 @@
|
||||
<q-item-section avatar>
|
||||
<q-avatar round size="48px">
|
||||
<img :src="userStore.getImgByProfile(row, true, col)" />
|
||||
<q-badge v-if="tools.isUserOnline(row, col)" align="top" floating color="green">online</q-badge>
|
||||
<q-badge
|
||||
v-if="tools.isUserOnline(row, col)"
|
||||
align="top"
|
||||
floating
|
||||
color="green"
|
||||
>online</q-badge
|
||||
>
|
||||
</q-avatar>
|
||||
</q-item-section>
|
||||
<q-item-section class="">
|
||||
<q-item-label>{{ tools.getNameToShow(row, col) }}</q-item-label>
|
||||
<q-item-label>{{
|
||||
tools.getNameToShow(row, col)
|
||||
}}</q-item-label>
|
||||
<q-item-label caption>{{
|
||||
tools.getUserNameOnlyIfToShow(row, col)
|
||||
}}</q-item-label>
|
||||
@@ -120,29 +129,6 @@
|
||||
<q-item-section side></q-item-section>
|
||||
</q-item>
|
||||
</div>
|
||||
|
||||
<!--
|
||||
<q-btn
|
||||
v-if="
|
||||
(col.tipovisu === costanti.TipoVisu.LINK ||
|
||||
col.tipovisu === costanti.TipoVisu.NONE) &&
|
||||
myvalue
|
||||
"
|
||||
glossy
|
||||
rounded
|
||||
size="md"
|
||||
:class="{ disabled: disable }"
|
||||
color="white"
|
||||
text-color="blue"
|
||||
:icon="`img:` + userStore.getImgUserByUsername(myvalue)"
|
||||
:to="
|
||||
col.link
|
||||
? col.link.replace(col.name, myvalue)
|
||||
: `/my/username`.replace(col.name, myvalue)
|
||||
"
|
||||
:label="tools.getNameToShow(row)"
|
||||
>
|
||||
</q-btn>-->
|
||||
<q-avatar
|
||||
v-else-if="
|
||||
col.tipovisu === costanti.TipoVisu.LINKIMG && myvalue
|
||||
|
||||
@@ -254,8 +254,8 @@ export default defineComponent({
|
||||
|
||||
myrecsendcoin.groupdest = props.to_group ? props.to_group.groupname : ''
|
||||
myrecsendcoin.contoComDest = props.to_contocom
|
||||
myrecsendcoin.grouporig = tipoConto.value === costanti.AccountType.COMMUNITY_ACCOUNT ? from_groupname.value : ''
|
||||
myrecsendcoin.contoComOrig = tipoConto.value === costanti.AccountType.COLLECTIVE_ACCOUNT ? props.from_contocom : ''
|
||||
myrecsendcoin.grouporig = tipoConto.value === costanti.AccountType.COLLECTIVE_ACCOUNT ? from_groupname.value : ''
|
||||
myrecsendcoin.contoComOrig = tipoConto.value === costanti.AccountType.COMMUNITY_ACCOUNT ? props.from_contocom : ''
|
||||
|
||||
myrecsendcoin.dest = props.to_user ? props.to_user.username : ''
|
||||
|
||||
|
||||
@@ -214,8 +214,8 @@
|
||||
qtyRef
|
||||
? 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.COLLECTIVE_ACCOUNT) && !from_groupname) ||
|
||||
((tipoConto === costanti.AccountType.COLLECTIVE_ACCOUNT) && to_group && from_groupname && (to_group.groupname === from_groupname)) ||
|
||||
((tipoConto === costanti.AccountType.COMMUNITY_ACCOUNT) && !to_contocom)
|
||||
: false
|
||||
"
|
||||
|
||||
@@ -750,6 +750,7 @@ export interface IColGridTable {
|
||||
allowNewValue?: boolean
|
||||
showpicprofile_ifnotset?: boolean
|
||||
extrafield?: string
|
||||
tipoconto?: number
|
||||
}
|
||||
|
||||
export interface ITableRec {
|
||||
|
||||
@@ -1309,7 +1309,11 @@ const msg_it = {
|
||||
movin: 'Monete Ricevute',
|
||||
movout: 'Monete Inviate',
|
||||
from: 'Inviate da:',
|
||||
fromCColl: 'Inviate dal Conto Collettivo:',
|
||||
fromCCom: 'Inviate dal Conto Comunitario:',
|
||||
to: 'A favore di:',
|
||||
toCColl: 'Al Conto Collettivo:',
|
||||
toCCom: 'Al Conto Comunitario:',
|
||||
pendingtransaction: '* Transazioni Pendenti',
|
||||
onlymymov: 'Mostra solo i miei movimenti',
|
||||
showsaldi: 'Mostra i Saldi dei membri',
|
||||
|
||||
@@ -72,6 +72,11 @@ export const useCircuitStore = defineStore('CircuitStore', {
|
||||
return this.listcircuits.find((rec: ICircuit) => rec.name === circuitname)
|
||||
},
|
||||
|
||||
getCircuitByPath(circuitpath: string): ICircuit | null {
|
||||
const ris = this.listcircuits.find((rec: ICircuit) => rec.path === circuitpath)
|
||||
return ris ? ris : null
|
||||
},
|
||||
|
||||
async loadCircuits() {
|
||||
return Api.SendReq('/users/circuits', 'POST', null)
|
||||
.then((res) => {
|
||||
|
||||
@@ -22,8 +22,8 @@ export const costanti = {
|
||||
|
||||
AccountType: {
|
||||
USER: 0,
|
||||
COMMUNITY_ACCOUNT: 1,
|
||||
COLLECTIVE_ACCOUNT: 2,
|
||||
COLLECTIVE_ACCOUNT: 1,
|
||||
COMMUNITY_ACCOUNT: 2,
|
||||
},
|
||||
|
||||
Lang: {
|
||||
|
||||
@@ -67,6 +67,7 @@ function AddCol(params: IColGridTable) {
|
||||
allowNewValue: (params.allowNewValue === undefined) ? false : params.allowNewValue,
|
||||
showpicprofile_ifnotset: (params.showpicprofile_ifnotset === undefined) ? false : params.showpicprofile_ifnotset,
|
||||
extrafield: (params.extrafield === undefined) ? '' : params.extrafield,
|
||||
tipoconto: (params.tipoconto === undefined) ? costanti.AccountType.USER : params.tipoconto,
|
||||
visible: (params.visible === undefined) ? true : params.visible,
|
||||
icon: (params.icon === undefined) ? '' : params.icon,
|
||||
action: (params.action === undefined) ? '' : params.action,
|
||||
@@ -606,6 +607,7 @@ export const colmyMovement = [
|
||||
link: '/my/userfrom.username',
|
||||
noshowlabel: true,
|
||||
extrafield: 'movement.from',
|
||||
tipoconto: costanti.AccountType.USER,
|
||||
}),
|
||||
AddCol({
|
||||
name: 'userto.username',
|
||||
@@ -618,6 +620,7 @@ export const colmyMovement = [
|
||||
link: '/my/userto.username',
|
||||
extrafield: 'movement.to',
|
||||
noshowlabel: true,
|
||||
tipoconto: costanti.AccountType.USER,
|
||||
}),
|
||||
|
||||
AddCol({
|
||||
@@ -630,7 +633,21 @@ export const colmyMovement = [
|
||||
fieldtype: costanti.FieldType.username_chip,
|
||||
link: '/my/groupfrom.groupname',
|
||||
noshowlabel: true,
|
||||
extrafield: 'movement.from',
|
||||
extrafield: 'movement.fromCColl',
|
||||
tipoconto: costanti.AccountType.COLLECTIVE_ACCOUNT,
|
||||
}),
|
||||
AddCol({
|
||||
name: 'contocomfrom.path',
|
||||
label_trans: 'groups.groupname',
|
||||
field: 'contocomfrom',
|
||||
subfield: 'path',
|
||||
foredit: false,
|
||||
tipovisu: costanti.TipoVisu.LINK,
|
||||
fieldtype: costanti.FieldType.username_chip,
|
||||
link: '/circuits/contocomfrom.path',
|
||||
noshowlabel: true,
|
||||
extrafield: 'movement.fromCCom',
|
||||
tipoconto: costanti.AccountType.COMMUNITY_ACCOUNT,
|
||||
}),
|
||||
AddCol({
|
||||
name: 'groupto.groupname',
|
||||
@@ -641,8 +658,22 @@ export const colmyMovement = [
|
||||
tipovisu: costanti.TipoVisu.LINK,
|
||||
fieldtype: costanti.FieldType.username_chip,
|
||||
link: '/my/groupto.groupname',
|
||||
extrafield: 'movement.to',
|
||||
extrafield: 'movement.toCColl',
|
||||
noshowlabel: true,
|
||||
tipoconto: costanti.AccountType.COLLECTIVE_ACCOUNT,
|
||||
}),
|
||||
AddCol({
|
||||
name: 'contocomfto.path',
|
||||
label_trans: 'groups.groupname',
|
||||
field: 'contocomto',
|
||||
subfield: 'path',
|
||||
foredit: false,
|
||||
tipovisu: costanti.TipoVisu.LINK,
|
||||
fieldtype: costanti.FieldType.username_chip,
|
||||
link: '/circuits/contocomto.path',
|
||||
noshowlabel: true,
|
||||
extrafield: 'movement.toCCom',
|
||||
tipoconto: costanti.AccountType.COMMUNITY_ACCOUNT,
|
||||
}),
|
||||
|
||||
AddCol({
|
||||
|
||||
@@ -3620,8 +3620,12 @@ export const tools = {
|
||||
},
|
||||
|
||||
isUserOnline(user: IUserFields, col: any = null) {
|
||||
const dateonline = tools.addDays(tools.getDateNow(), -1)
|
||||
return user.lasttimeonline && new Date(user.lasttimeonline).getTime() > dateonline.getTime()
|
||||
try {
|
||||
const dateonline = tools.addDays(tools.getDateNow(), -1)
|
||||
return user.lasttimeonline && new Date(user.lasttimeonline).getTime() > dateonline.getTime()
|
||||
} catch (e) {
|
||||
return false
|
||||
}
|
||||
},
|
||||
|
||||
addMinutes(mydate: Date, minutes: number) {
|
||||
@@ -7536,7 +7540,7 @@ export const tools = {
|
||||
|| myemail.search(/live.it/i) !== -1
|
||||
|| myemail.search(/microsoft/i) !== -1
|
||||
},
|
||||
// || myemail.search(/yahoo/i) !== -1
|
||||
// || myemail.search(/yahoo/i) !== -1
|
||||
|
||||
getoptionsMainCards(only: boolean) {
|
||||
let myarr = []
|
||||
|
||||
@@ -39,6 +39,7 @@ import { IGroupShort, IMyGroup, IUserAdmins } from '@model/UserStore'
|
||||
|
||||
import globalroutines from '../globalroutines/index'
|
||||
import { useNotifStore } from '@store/NotifStore'
|
||||
import { useCircuitStore } from './CircuitStore'
|
||||
|
||||
export const DefaultUser: IUserFields = {
|
||||
_id: '',
|
||||
@@ -244,6 +245,15 @@ export const useUserStore = defineStore('UserStore', {
|
||||
return false
|
||||
},
|
||||
|
||||
getMyGroupByGroupname(groupname: string): IMyGroup | null {
|
||||
if (this.my.profile.mygroups) {
|
||||
const ris = this.my.profile.mygroups.find((rec) => rec.groupname === groupname)
|
||||
return ris ? ris : null
|
||||
} else {
|
||||
return null
|
||||
}
|
||||
},
|
||||
|
||||
GroupsListWhereIAmAdmin(): IMyGroup[] {
|
||||
return this.my.profile.manage_mygroups
|
||||
},
|
||||
@@ -319,25 +329,47 @@ export const useUserStore = defineStore('UserStore', {
|
||||
if (row.hasOwnProperty(col.name)) {
|
||||
value = row[col.name]
|
||||
}
|
||||
let img = this.getImgByUsername(value)
|
||||
let tipoconto = costanti.AccountType.USER
|
||||
if (row.hasOwnProperty(col.tipoconto) && col.tipoconto) {
|
||||
tipoconto = col.tipoconto
|
||||
}
|
||||
let img = ''
|
||||
if (tipoconto === costanti.AccountType.USER) {
|
||||
img = this.getImgByUsername(value)
|
||||
} else if (tipoconto === costanti.AccountType.COLLECTIVE_ACCOUNT) {
|
||||
img = this.getImgByGroupname(value)
|
||||
} else if (tipoconto === costanti.AccountType.COMMUNITY_ACCOUNT) {
|
||||
img = this.getImgByCircuitpath(value)
|
||||
}
|
||||
|
||||
if (row) {
|
||||
const mycol = col.name + '.img'
|
||||
if (row.hasOwnProperty(mycol)) {
|
||||
img = row[mycol]
|
||||
}
|
||||
}
|
||||
|
||||
return img ? img : 'images/noimg-user.svg'
|
||||
},
|
||||
|
||||
getImgByProfile(userparam: any, reale: any = false, col: any = null): string {
|
||||
try {
|
||||
let myrec = this.getRecByCol(userparam, col)
|
||||
let img = ''
|
||||
if (!reale)
|
||||
img = 'images/noimg-user.svg'
|
||||
|
||||
if (myrec.profile && myrec.profile.img) {
|
||||
return costanti.DIR_UPLOAD + 'profile/' + myrec.username + '/' + myrec.profile.img
|
||||
if (col.tipoconto === costanti.AccountType.COLLECTIVE_ACCOUNT) {
|
||||
img = this.getImgByGroupname(myrec.groupname)
|
||||
} else if (col.tipoconto === costanti.AccountType.COMMUNITY_ACCOUNT) {
|
||||
img = this.getImgByCircuitpath(myrec.path)
|
||||
} else {
|
||||
return 'images/noimg-user.svg'
|
||||
if (myrec.profile && myrec.profile.img) {
|
||||
img = costanti.DIR_UPLOAD + 'profile/' + myrec.username + '/' + myrec.profile.img
|
||||
}
|
||||
}
|
||||
|
||||
return img
|
||||
} catch (e) {
|
||||
//
|
||||
}
|
||||
@@ -423,28 +455,41 @@ export const useUserStore = defineStore('UserStore', {
|
||||
},
|
||||
|
||||
|
||||
getImgByCircuit(circ: ICircuit): string {
|
||||
getImgByCircuit(circ: ICircuit | null): string {
|
||||
|
||||
try {
|
||||
if (circ.photos && circ.photos.length > 0)
|
||||
if (circ && circ.photos && circ.photos.length > 0)
|
||||
return costanti.DIR_UPLOAD + 'circuits/' + circ.path + '/' + circ.photos[0].imagefile
|
||||
} catch (e) {
|
||||
//
|
||||
}
|
||||
return 'images/noimg.png'
|
||||
},
|
||||
|
||||
getImgByGroup(group: IMyGroup): string {
|
||||
getImgByCircuitpath(circuitpath: string): string {
|
||||
const circuitStore = useCircuitStore()
|
||||
|
||||
const mycirc = circuitStore.getCircuitByPath(circuitpath)
|
||||
return this.getImgByCircuit(mycirc)
|
||||
},
|
||||
|
||||
|
||||
getImgByGroup(group: IMyGroup | null): string {
|
||||
|
||||
try {
|
||||
// ++Todo: Sistemare!
|
||||
return costanti.DIR_UPLOAD + 'mygroups/' + group.groupname + '/' + group.photos[0].imagefile
|
||||
if (group) {
|
||||
return costanti.DIR_UPLOAD + 'mygroups/' + group.groupname + '/' + group.photos[0].imagefile
|
||||
}
|
||||
} catch (e) {
|
||||
//
|
||||
}
|
||||
return 'images/noimg.png'
|
||||
},
|
||||
|
||||
getImgByGroupname(groupname: string): string {
|
||||
const mygroup = this.getMyGroupByGroupname(groupname)
|
||||
return this.getImgByGroup(mygroup)
|
||||
},
|
||||
|
||||
getRefLink(username: string): string {
|
||||
if (username === '')
|
||||
username = this.my.username
|
||||
@@ -498,12 +543,16 @@ export const useUserStore = defineStore('UserStore', {
|
||||
let myrec = user
|
||||
if (col && col.field === 'userto')
|
||||
myrec = user.userto
|
||||
if (col && col.field === 'groupto')
|
||||
else if (col && col.field === 'groupto')
|
||||
myrec = user.groupto
|
||||
if (col && col.field === 'userfrom')
|
||||
else if (col && col.field === 'userfrom')
|
||||
myrec = user.userfrom
|
||||
if (col && col.field === 'groupfrom')
|
||||
else if (col && col.field === 'groupfrom')
|
||||
myrec = user.groupfrom
|
||||
else if (col && col.field === 'contocomfrom')
|
||||
myrec = user.contocomfrom
|
||||
else if (col && col.field === 'contocomto')
|
||||
myrec = user.contocomto
|
||||
|
||||
return myrec
|
||||
},
|
||||
@@ -512,16 +561,22 @@ export const useUserStore = defineStore('UserStore', {
|
||||
let name = ''
|
||||
let myrec = this.getRecByCol(user, col)
|
||||
|
||||
if (!!myrec.name)
|
||||
name = myrec.name + ' '
|
||||
if (!!myrec.surname)
|
||||
name += myrec.surname + ' '
|
||||
if (col.tipoconto === costanti.AccountType.USER) {
|
||||
if (!!myrec.name)
|
||||
name = myrec.name + ' '
|
||||
if (!!myrec.surname)
|
||||
name += myrec.surname + ' '
|
||||
|
||||
if (!name) {
|
||||
name += myrec.username + ' '
|
||||
}
|
||||
if (col && col.field === 'extrarec' && !name) {
|
||||
name = myrec.dest
|
||||
if (!name) {
|
||||
name += myrec.username + ' '
|
||||
}
|
||||
if (col && col.field === 'extrarec' && !name) {
|
||||
name = myrec.dest
|
||||
}
|
||||
} else if (col.tipoconto === costanti.AccountType.COLLECTIVE_ACCOUNT) {
|
||||
return myrec.descr
|
||||
} else if (col.tipoconto === costanti.AccountType.COMMUNITY_ACCOUNT) {
|
||||
return myrec.name
|
||||
}
|
||||
|
||||
return name
|
||||
|
||||
Reference in New Issue
Block a user