- Refused User
- Report User - Unblock User - refresh tables when an action (setFriends and setGroups) occurred. - fix duplicate call of loadsite
This commit is contained in:
@@ -55,6 +55,13 @@ const webpackDevConfig = {
|
|||||||
new webpack.NamedModulesPlugin(),
|
new webpack.NamedModulesPlugin(),
|
||||||
],
|
],
|
||||||
devServer: {
|
devServer: {
|
||||||
|
/*
|
||||||
|
headers: {
|
||||||
|
'Access-Control-Allow-Origin': '*',
|
||||||
|
'Access-Control-Allow-Methods': 'GET, POST, PUT, DELETE, PATCH, OPTIONS',
|
||||||
|
'Access-Control-Allow-Headers': 'X-Requested-With, content-type, Authorization',
|
||||||
|
},
|
||||||
|
*/
|
||||||
contentBase: path.join(__dirname, 'dist'),
|
contentBase: path.join(__dirname, 'dist'),
|
||||||
port: 5000,
|
port: 5000,
|
||||||
historyApiFallback: true,
|
historyApiFallback: true,
|
||||||
|
|||||||
@@ -16,6 +16,7 @@ export const shared_consts = {
|
|||||||
},
|
},
|
||||||
|
|
||||||
QUERYTYPE_MYGROUP: 1,
|
QUERYTYPE_MYGROUP: 1,
|
||||||
|
QUERYTYPE_REFUSED_USER_GRP: 2,
|
||||||
|
|
||||||
ALL_SAW_AND_ACCEPTED: 3,
|
ALL_SAW_AND_ACCEPTED: 3,
|
||||||
|
|
||||||
@@ -55,6 +56,7 @@ export const shared_consts = {
|
|||||||
REFUSE_REQ_FRIEND: 145,
|
REFUSE_REQ_FRIEND: 145,
|
||||||
CANCEL_REQ_FRIEND: 146,
|
CANCEL_REQ_FRIEND: 146,
|
||||||
BLOCK_USER: 155,
|
BLOCK_USER: 155,
|
||||||
|
UNBLOCK_USER: 156,
|
||||||
REPORT_USER: 158,
|
REPORT_USER: 158,
|
||||||
FIND_PEOPLE: 166,
|
FIND_PEOPLE: 166,
|
||||||
},
|
},
|
||||||
@@ -889,6 +891,7 @@ export const shared_consts = {
|
|||||||
ID_FRIENDS_REFUSED: 4,
|
ID_FRIENDS_REFUSED: 4,
|
||||||
ID_FRIENDS_ACCEPTED_MY_REQUEST: 8,
|
ID_FRIENDS_ACCEPTED_MY_REQUEST: 8,
|
||||||
ID_FRIENDS_REPORTED: 16,
|
ID_FRIENDS_REPORTED: 16,
|
||||||
|
ID_FRIENDS_UNBLOCKED: 32,
|
||||||
|
|
||||||
TYPEDIR_GROUPS: 4,
|
TYPEDIR_GROUPS: 4,
|
||||||
ID_GROUP_NEW_REC: 1,
|
ID_GROUP_NEW_REC: 1,
|
||||||
|
|||||||
@@ -841,6 +841,17 @@ export default defineComponent({
|
|||||||
refresh()
|
refresh()
|
||||||
})
|
})
|
||||||
|
|
||||||
|
watch(() => userStore.updateTables, (newval, oldval) => {
|
||||||
|
if (newval && (myvertical.value === costanti.VISUTABLE_USER_TABGROUP ||
|
||||||
|
myvertical.value === costanti.VISUTABLE_SCHEDA_GROUP ||
|
||||||
|
myvertical.value === costanti.VISUTABLE_SCHEDA_USER ||
|
||||||
|
(props.showType === costanti.SHOW_USERINFO))) {
|
||||||
|
refresh()
|
||||||
|
|
||||||
|
userStore.updateTables = false
|
||||||
|
}
|
||||||
|
})
|
||||||
|
|
||||||
/*watch(() => myfilterand.value, (newval, oldval) => {
|
/*watch(() => myfilterand.value, (newval, oldval) => {
|
||||||
refresh()
|
refresh()
|
||||||
})*/
|
})*/
|
||||||
|
|||||||
@@ -42,12 +42,15 @@
|
|||||||
<q-item-label>
|
<q-item-label>
|
||||||
<q-btn rounded :icon="userStore.IsMyGroupByGroupname(grp.groupname) ? `fas fa-ellipsis-h` : `fas fa-user`">
|
<q-btn rounded :icon="userStore.IsMyGroupByGroupname(grp.groupname) ? `fas fa-ellipsis-h` : `fas fa-user`">
|
||||||
<q-menu>
|
<q-menu>
|
||||||
<q-list v-if="(!userStore.IsMyGroupByGroupname(grp.groupname) && !userStore.IsAskedGroupByGroupname(grp.groupname))" style="min-width: 200px">
|
<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 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-section>{{ $t('groups.ask_group') }}</q-item-section>
|
||||||
</q-item>
|
</q-item>
|
||||||
</q-list>
|
</q-list>
|
||||||
<q-list v-else-if="(!userStore.IsMyGroupByGroupname(grp.groupname) && userStore.IsAskedGroupByGroupname(grp.groupname))" style="min-width: 200px">
|
<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.REQGROUP, myusername(), false, grp.groupname)">
|
||||||
|
<q-item-section>{{ $t('groups.refuse_ask_group') }}</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 clickable v-close-popup @click="tools.setCmd($q, shared_consts.GROUPSCMD.REQGROUP, myusername(), false, grp.groupname)">
|
||||||
<q-item-section>{{ $t('groups.cancel_ask_group') }}</q-item-section>
|
<q-item-section>{{ $t('groups.cancel_ask_group') }}</q-item-section>
|
||||||
</q-item>
|
</q-item>
|
||||||
@@ -85,6 +88,10 @@
|
|||||||
<q-btn rounded icon="fas fa-ellipsis-h">
|
<q-btn rounded icon="fas fa-ellipsis-h">
|
||||||
<q-menu>
|
<q-menu>
|
||||||
<q-list style="min-width: 150px">
|
<q-list style="min-width: 150px">
|
||||||
|
<q-item clickable icon="fas fa-user-minus" v-close-popup
|
||||||
|
@click="tools.setCmd($q, shared_consts.GROUPSCMD.REFUSE_REQ_GROUP, myusername(), '', grp.groupname)">
|
||||||
|
<q-item-section>{{ $t('groups.refuse_ask_group') }}</q-item-section>
|
||||||
|
</q-item>
|
||||||
<q-item clickable icon="fas fa-user-minus" v-close-popup
|
<q-item clickable icon="fas fa-user-minus" v-close-popup
|
||||||
@click="tools.setCmd($q, shared_consts.GROUPSCMD.CANCEL_REQ_GROUP, myusername(), '', grp.groupname)">
|
@click="tools.setCmd($q, shared_consts.GROUPSCMD.CANCEL_REQ_GROUP, myusername(), '', grp.groupname)">
|
||||||
<q-item-section>{{ $t('groups.cancel_ask_group') }}</q-item-section>
|
<q-item-section>{{ $t('groups.cancel_ask_group') }}</q-item-section>
|
||||||
@@ -104,6 +111,9 @@
|
|||||||
</q-item>
|
</q-item>
|
||||||
</q-list>
|
</q-list>
|
||||||
<q-list v-else-if="(!userStore.IsMyGroupByGroupname(grp.groupname) && userStore.IsAskedGroupByGroupname(grp.groupname))" style="min-width: 200px">
|
<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('groups.refuse_ask_group') }}</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 clickable v-close-popup @click="tools.setCmd($q, shared_consts.GROUPSCMD.REQGROUP, myusername(), false, grp.groupname)">
|
||||||
<q-item-section>{{ $t('groups.cancel_ask_group') }}</q-item-section>
|
<q-item-section>{{ $t('groups.cancel_ask_group') }}</q-item-section>
|
||||||
</q-item>
|
</q-item>
|
||||||
|
|||||||
@@ -72,13 +72,21 @@
|
|||||||
</q-item>
|
</q-item>
|
||||||
</q-list>
|
</q-list>
|
||||||
<q-list style="min-width: 200px">
|
<q-list style="min-width: 200px">
|
||||||
|
<q-item clickable v-close-popup
|
||||||
|
@click="tools.refuseReqGroup($q, contact.username, groupname)">
|
||||||
|
<q-item-section avatar>
|
||||||
|
<q-icon color="negative" name="fas fa-user-minus"/>
|
||||||
|
</q-item-section>
|
||||||
|
|
||||||
|
<q-item-section>{{ $t('groups.refuse_ask_group') }}</q-item-section>
|
||||||
|
</q-item>
|
||||||
<q-item clickable v-close-popup
|
<q-item clickable v-close-popup
|
||||||
@click="tools.cancelReqGroups($q, contact.username, groupname)">
|
@click="tools.cancelReqGroups($q, contact.username, groupname)">
|
||||||
<q-item-section avatar>
|
<q-item-section avatar>
|
||||||
<q-icon color="negative" name="fas fa-user-minus"/>
|
<q-icon color="negative" name="fas fa-user-minus"/>
|
||||||
</q-item-section>
|
</q-item-section>
|
||||||
|
|
||||||
<q-item-section>{{ $t('groups.refuse_ask_group_short') }}</q-item-section>
|
<q-item-section>{{ $t('groups.cancel_ask_group_short') }}</q-item-section>
|
||||||
</q-item>
|
</q-item>
|
||||||
</q-list>
|
</q-list>
|
||||||
</q-menu>
|
</q-menu>
|
||||||
@@ -86,10 +94,10 @@
|
|||||||
</q-item-label>
|
</q-item-label>
|
||||||
</q-item-section>
|
</q-item-section>
|
||||||
<q-item-section side v-else-if="visu === costanti.REQ_REMOVE_USER_TO_GROUP">
|
<q-item-section side v-else-if="visu === costanti.REQ_REMOVE_USER_TO_GROUP">
|
||||||
<q-item-label>
|
<q-item-label v-if="contact.username !== userStore.my.username">
|
||||||
<q-btn rounded icon="fas fa-ellipsis-h">
|
<q-btn rounded icon="fas fa-ellipsis-h">
|
||||||
<q-menu>
|
<q-menu>
|
||||||
<q-list v-if="true" style="min-width: 150px">
|
<q-list style="min-width: 150px">
|
||||||
<q-item clickable v-close-popup @click="tools.removeFromMyGroups($q, contact.username, groupname)">
|
<q-item clickable v-close-popup @click="tools.removeFromMyGroups($q, contact.username, groupname)">
|
||||||
<q-item-section avatar>
|
<q-item-section avatar>
|
||||||
<q-icon color="negative" name="fas fa-user-minus"/>
|
<q-icon color="negative" name="fas fa-user-minus"/>
|
||||||
|
|||||||
@@ -95,6 +95,7 @@ export interface IUserProfile {
|
|||||||
// in memory
|
// in memory
|
||||||
asked_friends: any[]
|
asked_friends: any[]
|
||||||
asked_groups: any[]
|
asked_groups: any[]
|
||||||
|
refused_groups: any[]
|
||||||
list_usersgroup?: IFriends[]
|
list_usersgroup?: IFriends[]
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -179,4 +180,5 @@ export interface IUserState {
|
|||||||
usersList?: IUserFields[]
|
usersList?: IUserFields[]
|
||||||
countusers?: number
|
countusers?: number
|
||||||
lastparamquery?: any
|
lastparamquery?: any
|
||||||
|
updateTables?: boolean
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -17,6 +17,7 @@ import { useNotifStore } from '@store/NotifStore'
|
|||||||
import { INotif } from 'model'
|
import { INotif } from 'model'
|
||||||
import { IUserFields } from '@model/UserStore'
|
import { IUserFields } from '@model/UserStore'
|
||||||
import { useI18n } from '@/boot/i18n'
|
import { useI18n } from '@/boot/i18n'
|
||||||
|
import MixinUsers from '@/mixins/mixin-users'
|
||||||
|
|
||||||
export default defineComponent({
|
export default defineComponent({
|
||||||
name: 'userPanel',
|
name: 'userPanel',
|
||||||
@@ -57,6 +58,8 @@ export default defineComponent({
|
|||||||
const userStore = useUserStore()
|
const userStore = useUserStore()
|
||||||
const notifStore = useNotifStore()
|
const notifStore = useNotifStore()
|
||||||
|
|
||||||
|
const { getMyUsername } = MixinUsers()
|
||||||
|
|
||||||
async function mounted() {
|
async function mounted() {
|
||||||
//
|
//
|
||||||
search.value = tools.getCookie(tools.COOK_SEARCH + 'searchpanel')
|
search.value = tools.getCookie(tools.COOK_SEARCH + 'searchpanel')
|
||||||
@@ -141,6 +144,7 @@ export default defineComponent({
|
|||||||
listnotif,
|
listnotif,
|
||||||
listnotiftype,
|
listnotiftype,
|
||||||
listnotifid,
|
listnotifid,
|
||||||
|
getMyUsername,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|||||||
@@ -104,6 +104,11 @@
|
|||||||
da: {{ myuser.username_who_report }}<br>
|
da: {{ myuser.username_who_report }}<br>
|
||||||
in Data: {{ tools.getstrshortDateTime(myuser.date_report) }} </em>
|
in Data: {{ tools.getstrshortDateTime(myuser.date_report) }} </em>
|
||||||
</q-banner>
|
</q-banner>
|
||||||
|
|
||||||
|
<q-btn color="green" :label="`Sblocca ` + myuser.username" @click="tools.unblockUser($q, getMyUsername(), myuser.username)"></q-btn>
|
||||||
|
</div>
|
||||||
|
<div v-else>
|
||||||
|
<q-btn color="red" :label="`Segnala Utente ` + myuser.username" @click="tools.reportUser($q, getMyUsername(), myuser.username)"></q-btn>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -200,7 +200,8 @@ const msg_it = {
|
|||||||
domanda_removegroup: 'Rimuovere dal Gruppo {username} ?',
|
domanda_removegroup: 'Rimuovere dal Gruppo {username} ?',
|
||||||
removedfriend: 'Rimosso dalla lista di Amici',
|
removedfriend: 'Rimosso dalla lista di Amici',
|
||||||
removedgroup: 'Rimosso dal Gruppo',
|
removedgroup: 'Rimosso dal Gruppo',
|
||||||
refusedgroup: 'Rifiutato richiesta di entrare nel Gruppo',
|
refusedgroup: 'Rifiutato a {username} la richiesta di entrare nel Gruppo',
|
||||||
|
youarerefusedgroup: 'Ti è stato rifiutata la richiesta di entrare in questo Gruppo (per info chiedi all\'amministratore del gruppo)',
|
||||||
deletedgroup: 'Gruppo Eliminato',
|
deletedgroup: 'Gruppo Eliminato',
|
||||||
domanda_addtofriend: 'Aggiungere agli amici {username}?',
|
domanda_addtofriend: 'Aggiungere agli amici {username}?',
|
||||||
domanda_addtogroup: 'Aggiungi {username} al gruppo {groupname}?',
|
domanda_addtogroup: 'Aggiungi {username} al gruppo {groupname}?',
|
||||||
@@ -214,6 +215,7 @@ const msg_it = {
|
|||||||
askedtogroup: 'Chiesto l\'invito al Gruppo {groupname}',
|
askedtogroup: 'Chiesto l\'invito al Gruppo {groupname}',
|
||||||
domanda_revoke_friend: 'Revocare la richiesta di Amicizia a {username}?',
|
domanda_revoke_friend: 'Revocare la richiesta di Amicizia a {username}?',
|
||||||
domanda_revoke_group: 'Revocare la richiesta al gruppo {groupname}?',
|
domanda_revoke_group: 'Revocare la richiesta al gruppo {groupname}?',
|
||||||
|
domanda_refuse_group: 'Rifiutare la richiesta di {username} per entrare nel gruppo {groupname}?',
|
||||||
revoketofriend: 'Revocato la richiesta di Amicizia a {username}',
|
revoketofriend: 'Revocato la richiesta di Amicizia a {username}',
|
||||||
revoketogroup: 'Revocato la richiesta d\'invito al gruppo {groupname}',
|
revoketogroup: 'Revocato la richiesta d\'invito al gruppo {groupname}',
|
||||||
domanda_cancel_req_friend: 'Annullare la richiesta di Amicizia a {username}?',
|
domanda_cancel_req_friend: 'Annullare la richiesta di Amicizia a {username}?',
|
||||||
@@ -223,10 +225,12 @@ const msg_it = {
|
|||||||
domanda_rejectedtrust: 'Rifiutare la Fiducia a {username}?',
|
domanda_rejectedtrust: 'Rifiutare la Fiducia a {username}?',
|
||||||
rejected: 'Rifiutato la Fiducia',
|
rejected: 'Rifiutato la Fiducia',
|
||||||
domanda_blockuser: 'Bloccare {username}?',
|
domanda_blockuser: 'Bloccare {username}?',
|
||||||
|
domanda_unblockuser: 'Sbloccare {username}?',
|
||||||
domanda_reportuser: 'Segnalare l\'utente {username}?',
|
domanda_reportuser: 'Segnalare l\'utente {username}?',
|
||||||
domanda_blockgroup: 'Bloccare il gruppo {groupname}?',
|
domanda_blockgroup: 'Bloccare il gruppo {groupname}?',
|
||||||
reporteduser: 'Utente Segnalato',
|
reporteduser: 'Utente Segnalato',
|
||||||
blockedfriend: 'Utente Bloccato',
|
blockedfriend: 'Utente Bloccato',
|
||||||
|
unblockedfriend: 'Utente Sbloccato',
|
||||||
domanda: 'Domanda',
|
domanda: 'Domanda',
|
||||||
},
|
},
|
||||||
components: {
|
components: {
|
||||||
@@ -1017,6 +1021,7 @@ const msg_it = {
|
|||||||
remove_from_mygroups: 'Rimuovi dal Gruppo',
|
remove_from_mygroups: 'Rimuovi dal Gruppo',
|
||||||
block_group: 'Blocca Gruppo',
|
block_group: 'Blocca Gruppo',
|
||||||
cancel_ask_group: 'Annulla la richiesta',
|
cancel_ask_group: 'Annulla la richiesta',
|
||||||
|
refuse_ask_group: 'Rifiuta la richiesta (con avviso)',
|
||||||
cancel_ask_group_short: 'Annulla richiesta',
|
cancel_ask_group_short: 'Annulla richiesta',
|
||||||
refuse_ask_group_short: 'Rifiuta la richiesta',
|
refuse_ask_group_short: 'Rifiuta la richiesta',
|
||||||
pwd: 'Password per accedere',
|
pwd: 'Password per accedere',
|
||||||
|
|||||||
@@ -4672,6 +4672,22 @@ export const tools = {
|
|||||||
})
|
})
|
||||||
},
|
},
|
||||||
|
|
||||||
|
unblockUser($q: any, username: string, usernameDest: string) {
|
||||||
|
const userStore = useUserStore()
|
||||||
|
$q.dialog({
|
||||||
|
message: t('db.domanda_unblockuser', { username: usernameDest }),
|
||||||
|
ok: { label: t('dialog.yes'), push: true },
|
||||||
|
cancel: { label: t('dialog.cancel') },
|
||||||
|
title: t('db.domanda')
|
||||||
|
}).onOk(() => {
|
||||||
|
userStore.setFriendsCmd($q, t, username, usernameDest, shared_consts.FRIENDSCMD.UNBLOCK_USER, null).then((res: any) => {
|
||||||
|
if (res) {
|
||||||
|
tools.showPositiveNotif($q, t('db.unblockedfriend'))
|
||||||
|
}
|
||||||
|
})
|
||||||
|
})
|
||||||
|
},
|
||||||
|
|
||||||
reportUser($q: any, username: string, usernameDest: string) { // Segnala Profilo
|
reportUser($q: any, username: string, usernameDest: string) { // Segnala Profilo
|
||||||
const userStore = useUserStore()
|
const userStore = useUserStore()
|
||||||
$q.dialog({
|
$q.dialog({
|
||||||
@@ -4740,7 +4756,7 @@ export const tools = {
|
|||||||
const userStore = useUserStore()
|
const userStore = useUserStore()
|
||||||
const notifStore = useNotifStore()
|
const notifStore = useNotifStore()
|
||||||
$q.dialog({
|
$q.dialog({
|
||||||
message: t('db.domanda_revoke_group', { groupname: groupnameDest }),
|
message: t('db.domanda_refuse_group', { username, groupname: groupnameDest }),
|
||||||
ok: { label: t('dialog.yes'), push: true },
|
ok: { label: t('dialog.yes'), push: true },
|
||||||
cancel: { label: t('dialog.cancel') },
|
cancel: { label: t('dialog.cancel') },
|
||||||
title: t('db.domanda')
|
title: t('db.domanda')
|
||||||
@@ -4750,7 +4766,7 @@ export const tools = {
|
|||||||
if (res) {
|
if (res) {
|
||||||
notifStore.updateNotification = true
|
notifStore.updateNotification = true
|
||||||
userStore.my.profile.asked_groups = userStore.my.profile.asked_groups.filter((rec: IMyGroup) => rec.groupname !== groupnameDest)
|
userStore.my.profile.asked_groups = userStore.my.profile.asked_groups.filter((rec: IMyGroup) => rec.groupname !== groupnameDest)
|
||||||
tools.showPositiveNotif($q, t('db.refusedgroup'))
|
tools.showPositiveNotif($q, t('db.refusedgroup', { username }))
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
@@ -5526,6 +5542,7 @@ export const tools = {
|
|||||||
userStore.my.profile.list_usersgroup = ris.listUsersGroup ? ris.listUsersGroup : []
|
userStore.my.profile.list_usersgroup = ris.listUsersGroup ? ris.listUsersGroup : []
|
||||||
userStore.groups = ris.listgroups ? ris.listgroups : []
|
userStore.groups = ris.listgroups ? ris.listgroups : []
|
||||||
userStore.my.profile.asked_groups = ris.listSentRequestGroups ? ris.listSentRequestGroups : []
|
userStore.my.profile.asked_groups = ris.listSentRequestGroups ? ris.listSentRequestGroups : []
|
||||||
|
userStore.my.profile.refused_groups = ris.listRefusedGroups ? ris.listRefusedGroups : []
|
||||||
return [{ userId: userStore.my._id }]
|
return [{ userId: userStore.my._id }]
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|||||||
@@ -60,9 +60,14 @@ export const useNotifStore = defineStore('NotifStore', {
|
|||||||
// just to give more context for this demo.
|
// just to give more context for this demo.
|
||||||
const countNow = this.getnumNotifUnread()
|
const countNow = this.getnumNotifUnread()
|
||||||
|
|
||||||
|
try {
|
||||||
// @ts-ignore
|
// @ts-ignore
|
||||||
await navigator.setAppBadge(countNow)
|
await navigator.setAppBadge(countNow)
|
||||||
.catch((error: any) => { /* ... */ });
|
.catch((error: any) => { /* ... */
|
||||||
|
});
|
||||||
|
}catch (e) {
|
||||||
|
|
||||||
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
setAllRead(username: string) {
|
setAllRead(username: string) {
|
||||||
|
|||||||
@@ -56,6 +56,7 @@ export const DefaultUser: IUserFields = {
|
|||||||
manage_mygroups: [],
|
manage_mygroups: [],
|
||||||
asked_friends: [],
|
asked_friends: [],
|
||||||
asked_groups: [],
|
asked_groups: [],
|
||||||
|
refused_groups: [],
|
||||||
notifs: [],
|
notifs: [],
|
||||||
notif_idCities: [],
|
notif_idCities: [],
|
||||||
notif_provinces: [],
|
notif_provinces: [],
|
||||||
@@ -107,6 +108,7 @@ export const DefaultProfile: IUserProfile = {
|
|||||||
manage_mygroups: [],
|
manage_mygroups: [],
|
||||||
asked_friends: [],
|
asked_friends: [],
|
||||||
asked_groups: [],
|
asked_groups: [],
|
||||||
|
refused_groups: [],
|
||||||
notifs: [],
|
notifs: [],
|
||||||
notif_idCities: [],
|
notif_idCities: [],
|
||||||
notif_provinces: [],
|
notif_provinces: [],
|
||||||
@@ -137,6 +139,7 @@ export const useUserStore = defineStore('UserStore', {
|
|||||||
usersList: [],
|
usersList: [],
|
||||||
countusers: 0,
|
countusers: 0,
|
||||||
lastparamquery: {},
|
lastparamquery: {},
|
||||||
|
updateTables: false,
|
||||||
}),
|
}),
|
||||||
|
|
||||||
getters: {
|
getters: {
|
||||||
@@ -220,6 +223,13 @@ export const useUserStore = defineStore('UserStore', {
|
|||||||
return false
|
return false
|
||||||
},
|
},
|
||||||
|
|
||||||
|
IsRefusedGroupByGroupname(groupname: string): boolean {
|
||||||
|
if (this.my.profile.refused_groups)
|
||||||
|
return this.my.profile.refused_groups.findIndex((rec: IMyGroup) => rec.groupname === groupname) >= 0
|
||||||
|
else
|
||||||
|
return false
|
||||||
|
},
|
||||||
|
|
||||||
getUserByUsername(username: string): IUserFields | null {
|
getUserByUsername(username: string): IUserFields | null {
|
||||||
// Check if is this User!
|
// Check if is this User!
|
||||||
if (this.my.username === username) return this.my
|
if (this.my.username === username) return this.my
|
||||||
@@ -538,6 +548,7 @@ export const useUserStore = defineStore('UserStore', {
|
|||||||
this.my.profile.manage_mygroups = []
|
this.my.profile.manage_mygroups = []
|
||||||
this.my.profile.asked_friends = []
|
this.my.profile.asked_friends = []
|
||||||
this.my.profile.asked_groups = []
|
this.my.profile.asked_groups = []
|
||||||
|
this.my.profile.refused_groups = []
|
||||||
}
|
}
|
||||||
|
|
||||||
this.isAdmin = tools.isBitActive(this.my.perm, shared_consts.Permissions.Admin.value)
|
this.isAdmin = tools.isBitActive(this.my.perm, shared_consts.Permissions.Admin.value)
|
||||||
@@ -765,7 +776,7 @@ export const useUserStore = defineStore('UserStore', {
|
|||||||
|
|
||||||
this.updateLocalStorage(myuser)
|
this.updateLocalStorage(myuser)
|
||||||
|
|
||||||
globalStore.loadSite()
|
// globalStore.loadSite()
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -1108,6 +1119,7 @@ export const useUserStore = defineStore('UserStore', {
|
|||||||
async setFriendsCmd($q: any, t: any, usernameOrig: string, usernameDest: string, cmd: number, value: any) {
|
async setFriendsCmd($q: any, t: any, usernameOrig: string, usernameDest: string, cmd: number, value: any) {
|
||||||
return Api.SendReq('/users/friends/cmd', 'POST', { usernameOrig, usernameDest, cmd, value })
|
return Api.SendReq('/users/friends/cmd', 'POST', { usernameOrig, usernameDest, cmd, value })
|
||||||
.then((res) => {
|
.then((res) => {
|
||||||
|
this.updateTables = true
|
||||||
return res.data
|
return res.data
|
||||||
}).catch((error) => {
|
}).catch((error) => {
|
||||||
tools.showNegativeNotif($q, t('db.recfailed'))
|
tools.showNegativeNotif($q, t('db.recfailed'))
|
||||||
@@ -1119,6 +1131,7 @@ export const useUserStore = defineStore('UserStore', {
|
|||||||
async setGroupsCmd($q: any, t: any, usernameOrig: string, groupnameDest: string, cmd: number, value: any) {
|
async setGroupsCmd($q: any, t: any, usernameOrig: string, groupnameDest: string, cmd: number, value: any) {
|
||||||
return Api.SendReq('/users/groups/cmd', 'POST', { usernameOrig, groupnameDest, cmd, value })
|
return Api.SendReq('/users/groups/cmd', 'POST', { usernameOrig, groupnameDest, cmd, value })
|
||||||
.then((res) => {
|
.then((res) => {
|
||||||
|
this.updateTables = true
|
||||||
return res.data
|
return res.data
|
||||||
}).catch((error) => {
|
}).catch((error) => {
|
||||||
tools.showNegativeNotif($q, t('db.recfailed'))
|
tools.showNegativeNotif($q, t('db.recfailed'))
|
||||||
|
|||||||
@@ -724,7 +724,7 @@ export const useGlobalStore = defineStore('GlobalStore', {
|
|||||||
},
|
},
|
||||||
|
|
||||||
async loadAfterLogin() {
|
async loadAfterLogin() {
|
||||||
// console.log('loadAfterLogin')
|
console.log('loadAfterLogin')
|
||||||
this.clearDataAfterLoginOnlyIfActiveConnection()
|
this.clearDataAfterLoginOnlyIfActiveConnection()
|
||||||
|
|
||||||
let isok = false
|
let isok = false
|
||||||
|
|||||||
@@ -168,6 +168,13 @@ export default defineComponent({
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function extraparams_refused() {
|
||||||
|
return {
|
||||||
|
querytype: shared_consts.QUERYTYPE_REFUSED_USER_GRP,
|
||||||
|
myid: mygrp.value ? mygrp.value._id : '',
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
function numUsers() {
|
function numUsers() {
|
||||||
return users_in_group.value ? users_in_group.value.length : 0
|
return users_in_group.value ? users_in_group.value.length : 0
|
||||||
}
|
}
|
||||||
@@ -206,6 +213,7 @@ export default defineComponent({
|
|||||||
colmyUserGroup,
|
colmyUserGroup,
|
||||||
extraparams,
|
extraparams,
|
||||||
extraparams_rich,
|
extraparams_rich,
|
||||||
|
extraparams_refused,
|
||||||
tab,
|
tab,
|
||||||
tabgrp,
|
tabgrp,
|
||||||
numUsers,
|
numUsers,
|
||||||
|
|||||||
@@ -26,9 +26,20 @@
|
|||||||
{{ mygrp.groupname }}
|
{{ mygrp.groupname }}
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
<q-banner
|
||||||
|
v-if="userStore.IsRefusedGroupByGroupname(mygrp.groupname)"
|
||||||
|
rounded
|
||||||
|
class="bg-red text-white"
|
||||||
|
style="text-align: center;"
|
||||||
|
>
|
||||||
|
<em style="font-weight: bold">{{ $t('db.youarerefusedgroup') }}</em><br>
|
||||||
|
</q-banner>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<div>
|
<div>
|
||||||
<q-btn
|
<q-btn
|
||||||
v-if="!userStore.IsMyGroupByGroupname(mygrp.groupname) && !userStore.IsAskedGroupByGroupname(mygrp.groupname)"
|
v-if="!userStore.IsMyGroupByGroupname(mygrp.groupname) && !userStore.IsAskedGroupByGroupname(mygrp.groupname) && !userStore.IsRefusedGroupByGroupname(mygrp.groupname)"
|
||||||
icon="fas fa-user-plus"
|
icon="fas fa-user-plus"
|
||||||
color="primary" :label="$t('groups.ask_group')"
|
color="primary" :label="$t('groups.ask_group')"
|
||||||
@click="tools.setRequestGroup($q, userStore.my.username, mygrp.groupname, true)"
|
@click="tools.setRequestGroup($q, userStore.my.username, mygrp.groupname, true)"
|
||||||
@@ -84,6 +95,7 @@
|
|||||||
<q-tab v-if="userStore.IsMyGroupByGroupname(mygrp.groupname) || tools.iAmAdminGroup(groupname)"
|
<q-tab v-if="userStore.IsMyGroupByGroupname(mygrp.groupname) || tools.iAmAdminGroup(groupname)"
|
||||||
label="Iscritti" name="membri" icon="fas fa-users"></q-tab>
|
label="Iscritti" name="membri" icon="fas fa-users"></q-tab>
|
||||||
<q-tab v-if="tools.iAmAdminGroup(groupname)" label="Richieste" name="rich" icon="fas fa-user-plus"></q-tab>
|
<q-tab v-if="tools.iAmAdminGroup(groupname)" label="Richieste" name="rich" icon="fas fa-user-plus"></q-tab>
|
||||||
|
<q-tab v-if="tools.iAmAdminGroup(groupname)" label="Rifiutati" name="refused" icon="fas fa-user-minus"></q-tab>
|
||||||
</q-tabs>
|
</q-tabs>
|
||||||
|
|
||||||
<q-tab-panels v-model="tabgrp" animated>
|
<q-tab-panels v-model="tabgrp" animated>
|
||||||
@@ -227,6 +239,37 @@
|
|||||||
:visufind="costanti.REQ_ADD_USER_TO_GROUP"
|
:visufind="costanti.REQ_ADD_USER_TO_GROUP"
|
||||||
>
|
>
|
||||||
|
|
||||||
|
</CGridTableRec>
|
||||||
|
</q-tab-panel>
|
||||||
|
<q-tab-panel name="refused">
|
||||||
|
|
||||||
|
<CGridTableRec
|
||||||
|
prop_mytable="mygroups"
|
||||||
|
prop_mytitle=""
|
||||||
|
:prop_mycolumns="colmyUserPeople"
|
||||||
|
prop_colkey="_id"
|
||||||
|
col_title=""
|
||||||
|
:vertical="costanti.VISUTABLE_USER_TABGROUP"
|
||||||
|
nodataLabel="Nessun utente Rifiutato"
|
||||||
|
:prop_search="false"
|
||||||
|
hint="Username da trovare"
|
||||||
|
:finder="false"
|
||||||
|
:choose_visutype="false"
|
||||||
|
:finder_noNull="false"
|
||||||
|
:options="shared_consts.OPTIONS_SEARCH_USER_ALL_WORDS"
|
||||||
|
:butt_modif_new="false"
|
||||||
|
noresultLabel="Username non trovato"
|
||||||
|
:arrfilters="arrfilterand"
|
||||||
|
:filtercustom="filtercustom_rich"
|
||||||
|
:prop_searchList="searchList"
|
||||||
|
:showType="costanti.SHOW_USERINFO"
|
||||||
|
keyMain=""
|
||||||
|
:showCol="false"
|
||||||
|
:extraparams="extraparams_refused()"
|
||||||
|
:extrafield="groupname"
|
||||||
|
:visufind="costanti.REQ_ADD_USER_TO_GROUP"
|
||||||
|
>
|
||||||
|
|
||||||
</CGridTableRec>
|
</CGridTableRec>
|
||||||
</q-tab-panel>
|
</q-tab-panel>
|
||||||
</q-tab-panels>
|
</q-tab-panels>
|
||||||
|
|||||||
Reference in New Issue
Block a user