Nella pagina profilo, i "Gruppi" personali non si vedevano !
Cancellazione di un Gruppo corretto filtro di visiblità dei Gruppi
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
APP_VERSION="0.3.22"
|
||||
APP_VERSION="0.3.23"
|
||||
SERVICE_WORKER_FILE="service-worker.js"
|
||||
APP_ID="13"
|
||||
DIRECTORY_LOCAL="newfreeplanet"
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
APP_VERSION="0.3.22"
|
||||
APP_VERSION="0.3.23"
|
||||
SERVICE_WORKER_FILE="service-worker.js"
|
||||
APP_ID="13"
|
||||
DIRECTORY_LOCAL=newfreeplanet
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
APP_VERSION="0.3.22"
|
||||
APP_VERSION="0.3.23"
|
||||
SERVICE_WORKER_FILE="service-worker.js"
|
||||
APP_ID="13"
|
||||
DIRECTORY_LOCAL="newfreeplanet"
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
APP_VERSION="0.3.22"
|
||||
APP_VERSION="0.3.23"
|
||||
SERVICE_WORKER_FILE="service-worker.js"
|
||||
APP_ID="12"
|
||||
DIRECTORY_LOCAL="newfreeplanet"
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
APP_VERSION="0.3.22"
|
||||
APP_VERSION="0.3.23"
|
||||
SERVICE_WORKER_FILE="service-worker.js"
|
||||
APP_ID="13"
|
||||
DIRECTORY_LOCAL="newfreeplanet"
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
APP_VERSION="0.3.22"
|
||||
APP_VERSION="0.3.23"
|
||||
SERVICE_WORKER_FILE="service-worker.js"
|
||||
APP_ID="13"
|
||||
DIRECTORY_LOCAL=newfreeplanet
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "riso",
|
||||
"version": "0.3.22",
|
||||
"version": "0.3.23",
|
||||
"description": "Siamo la Rete Italiana di Scambio Orizzontale, abbiamo creato questa piattaforma per metterla al servizio di chi vuole riscoprire il valore della condivisione e della cooperazione. Valori semplici e profondi che ci aiutano a ritrovare il Senso della Vita, perduto in questa società consumista, e riporti quei Sani Pricìpi Naturali ed Umani di Fratellanza che intere popolazioni antiche conoscevano bene.",
|
||||
"productName": "Riso",
|
||||
"author": "Paolo Arena",
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
APP_VERSION="0.3.22"
|
||||
APP_VERSION="0.3.23"
|
||||
SERVICE_WORKER_FILE="service-worker.js"
|
||||
APP_ID="14"
|
||||
DIRECTORY_LOCAL="newfreeplanet"
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
APP_VERSION="0.3.22"
|
||||
APP_VERSION="0.3.23"
|
||||
SERVICE_WORKER_FILE="service-worker.js"
|
||||
APP_ID="14"
|
||||
DIRECTORY_LOCAL=newfreeplanet
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "terradellavisione",
|
||||
"version": "0.3.22",
|
||||
"version": "0.3.23",
|
||||
"description": "TerraDellaVisione",
|
||||
"productName": "TerraDellaVisione",
|
||||
"author": "Paolo Arena",
|
||||
|
||||
312
grp.js
Normal file
312
grp.js
Normal file
@@ -0,0 +1,312 @@
|
||||
db.getCollection('mygoods').aggregate(
|
||||
[
|
||||
{
|
||||
"$match": {
|
||||
"$and": [
|
||||
{
|
||||
"$or": [
|
||||
{
|
||||
"idContribType": "515a353c002c8298f4495bf7"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"$match": {
|
||||
"idapp": "13"
|
||||
}
|
||||
},
|
||||
{
|
||||
"$sort": {
|
||||
"date_created": -1
|
||||
}
|
||||
},
|
||||
{
|
||||
"$addFields": {
|
||||
"myId1": {
|
||||
"$toObjectId": "$userId"
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"$lookup": {
|
||||
"from": "users",
|
||||
"localField": "myId1",
|
||||
"foreignField": "_id",
|
||||
"as": "user"
|
||||
}
|
||||
},
|
||||
{
|
||||
"$replaceRoot": {
|
||||
"newRoot": {
|
||||
"$mergeObjects": [
|
||||
{
|
||||
"$arrayElemAt": [
|
||||
"$user",
|
||||
0
|
||||
]
|
||||
},
|
||||
"$$ROOT"
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"$project": {
|
||||
"recGood": 1,
|
||||
"sectorGood": 1,
|
||||
"idSectorGood": 1,
|
||||
"idGood": 1,
|
||||
"mygood": 1,
|
||||
"idStatusSkill": 1,
|
||||
"idContribType": 1,
|
||||
"idCity": 1,
|
||||
"pub_to_share": 1,
|
||||
"numLevel": 1,
|
||||
"adType": 1,
|
||||
"photos": 1,
|
||||
"note": 1,
|
||||
"website": 1,
|
||||
"descr": 1,
|
||||
"date_created": 1,
|
||||
"date_updated": 1,
|
||||
"userId": 1,
|
||||
"username": 1,
|
||||
"name": 1,
|
||||
"surname": 1,
|
||||
"comune": 1,
|
||||
"mycities": 1,
|
||||
"profile.img": 1,
|
||||
"profile.mygroups": 1,
|
||||
"profile.qualifica": 1
|
||||
}
|
||||
},
|
||||
{
|
||||
"$lookup": {
|
||||
"from": "goods",
|
||||
"localField": "idGood",
|
||||
"foreignField": "_id",
|
||||
"as": "recGood"
|
||||
}
|
||||
},
|
||||
{
|
||||
"$replaceRoot": {
|
||||
"newRoot": {
|
||||
"$mergeObjects": [
|
||||
{
|
||||
"$arrayElemAt": [
|
||||
"$recGood",
|
||||
0
|
||||
]
|
||||
},
|
||||
"$$ROOT"
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"$project": {
|
||||
"recGood": 1,
|
||||
"sectorGood": 1,
|
||||
"idSectorGood": 1,
|
||||
"idGood": 1,
|
||||
"mygood": 1,
|
||||
"idStatusSkill": 1,
|
||||
"idContribType": 1,
|
||||
"idCity": 1,
|
||||
"pub_to_share": 1,
|
||||
"numLevel": 1,
|
||||
"adType": 1,
|
||||
"photos": 1,
|
||||
"note": 1,
|
||||
"website": 1,
|
||||
"descr": 1,
|
||||
"date_created": 1,
|
||||
"date_updated": 1,
|
||||
"userId": 1,
|
||||
"username": 1,
|
||||
"name": 1,
|
||||
"surname": 1,
|
||||
"comune": 1,
|
||||
"mycities": 1,
|
||||
"profile.img": 1,
|
||||
"profile.mygroups": 1,
|
||||
"profile.qualifica": 1
|
||||
}
|
||||
},
|
||||
{
|
||||
"$lookup": {
|
||||
"from": "sectorgoods",
|
||||
"localField": "recGood.idSectorGood",
|
||||
"foreignField": "_id",
|
||||
"as": "sectorgood"
|
||||
}
|
||||
},
|
||||
{
|
||||
"$replaceRoot": {
|
||||
"newRoot": {
|
||||
"$mergeObjects": [
|
||||
{
|
||||
"$arrayElemAt": [
|
||||
"$sectorgood",
|
||||
0
|
||||
]
|
||||
},
|
||||
"$$ROOT"
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"$project": {
|
||||
"recGood": 1,
|
||||
"sectorGood": 1,
|
||||
"idSectorGood": 1,
|
||||
"idGood": 1,
|
||||
"mygood": 1,
|
||||
"idStatusSkill": 1,
|
||||
"idContribType": 1,
|
||||
"idCity": 1,
|
||||
"pub_to_share": 1,
|
||||
"numLevel": 1,
|
||||
"adType": 1,
|
||||
"photos": 1,
|
||||
"note": 1,
|
||||
"website": 1,
|
||||
"descr": 1,
|
||||
"date_created": 1,
|
||||
"date_updated": 1,
|
||||
"userId": 1,
|
||||
"username": 1,
|
||||
"name": 1,
|
||||
"surname": 1,
|
||||
"comune": 1,
|
||||
"mycities": 1,
|
||||
"profile.img": 1,
|
||||
"profile.mygroups": 1,
|
||||
"profile.qualifica": 1
|
||||
}
|
||||
},
|
||||
{
|
||||
"$lookup": {
|
||||
"from": "cities",
|
||||
"localField": "idCity",
|
||||
"foreignField": "_id",
|
||||
"as": "mycities"
|
||||
}
|
||||
},
|
||||
{
|
||||
"$replaceRoot": {
|
||||
"newRoot": {
|
||||
"$mergeObjects": [
|
||||
{
|
||||
"$arrayElemAt": [
|
||||
"$mycities",
|
||||
0
|
||||
]
|
||||
},
|
||||
"$$ROOT"
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"$project": {
|
||||
"recGood": 1,
|
||||
"sectorGood": 1,
|
||||
"idSectorGood": 1,
|
||||
"idGood": 1,
|
||||
"mygood": 1,
|
||||
"idStatusSkill": 1,
|
||||
"idContribType": 1,
|
||||
"idCity": 1,
|
||||
"pub_to_share": 1,
|
||||
"numLevel": 1,
|
||||
"adType": 1,
|
||||
"photos": 1,
|
||||
"note": 1,
|
||||
"website": 1,
|
||||
"descr": 1,
|
||||
"date_created": 1,
|
||||
"date_updated": 1,
|
||||
"userId": 1,
|
||||
"username": 1,
|
||||
"name": 1,
|
||||
"surname": 1,
|
||||
"comune": 1,
|
||||
"mycities": 1,
|
||||
"profile.img": 1,
|
||||
"profile.mygroups": 1,
|
||||
"profile.qualifica": 1
|
||||
}
|
||||
},
|
||||
{
|
||||
"$match": {
|
||||
"$or": [
|
||||
{
|
||||
"$and": [
|
||||
{
|
||||
"profile.mygroups": {
|
||||
"$elemMatch": {
|
||||
"groupname": {
|
||||
"$in": [
|
||||
"000017",
|
||||
"VillaggiamoItalia",
|
||||
"Terraw",
|
||||
"RisoBenevento",
|
||||
"111"
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"pub_to_share": 1,
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"pub_to_share": 0,
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"$match": {
|
||||
"$and": [
|
||||
{
|
||||
"mycities.reg": "EMR"
|
||||
},
|
||||
{
|
||||
"mycities.prov": "RN"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"$group": {
|
||||
"_id": null,
|
||||
"count": {
|
||||
"$sum": 1
|
||||
},
|
||||
"results": {
|
||||
"$push": "$$ROOT"
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"$project": {
|
||||
"count": 1,
|
||||
"rows": {
|
||||
"$slice": [
|
||||
"$results",
|
||||
0,
|
||||
20
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
)
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "riso",
|
||||
"version": "0.3.22",
|
||||
"version": "0.3.23",
|
||||
"description": "Siamo la Rete Italiana di Scambio Orizzontale, abbiamo creato questa piattaforma per metterla al servizio di chi vuole riscoprire il valore della condivisione e della cooperazione. Valori semplici e profondi che ci aiutano a ritrovare il Senso della Vita, perduto in questa società consumista, e riporti quei Sani Pricìpi Naturali ed Umani di Fratellanza che intere popolazioni antiche conoscevano bene.",
|
||||
"productName": "Riso",
|
||||
"author": "Paolo Arena",
|
||||
|
||||
@@ -67,6 +67,7 @@ export const shared_consts = {
|
||||
CANCEL_REQ_GROUP: 1146,
|
||||
BLOCK_GROUP: 1155,
|
||||
FIND_GROUP: 1166,
|
||||
DELETE_GROUP: 1170,
|
||||
},
|
||||
|
||||
PUBTOSHARE: {
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
import { defineComponent, onMounted, PropType, ref, watch } from 'vue'
|
||||
import { useUserStore } from '@store/UserStore'
|
||||
import { IMyGroup, IImgGallery, IUserFields, IUserProfile } from 'model'
|
||||
import { IMyGroup, IImgGallery, IUserFields, IUserProfile, IFriends } from 'model'
|
||||
import { costanti } from '@costanti'
|
||||
import { shared_consts } from '@/common/shared_vuejs'
|
||||
import { tools } from '@store/Modules/tools'
|
||||
|
||||
@@ -24,8 +24,13 @@
|
||||
<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 clickable icon="fas fa-ban" v-close-popup @click="tools.setCmd($q, shared_consts.GROUPSCMD.BLOCK_GROUP, myusername(), '', grp.groupname)">
|
||||
<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>
|
||||
@@ -52,6 +57,11 @@
|
||||
<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>
|
||||
@@ -103,6 +113,11 @@
|
||||
<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>
|
||||
|
||||
@@ -195,9 +195,11 @@ const msg_it = {
|
||||
friendsadded: 'Aggiunto alla lista di Amici',
|
||||
domanda_removefriend: 'Rimuovi dagli Amici {username}?',
|
||||
domanda_exit_fromgroup: 'Uscire dal Gruppo {groupname} ?',
|
||||
domanda_remove_group: 'Sicuro di voler Eliminare il Gruppo {groupname} ?',
|
||||
domanda_removegroup: 'Rimuovere dal Gruppo {username} ?',
|
||||
removedfriend: 'Rimosso dalla lista di Amici',
|
||||
removedgroup: 'Rimosso dal Gruppo',
|
||||
deletedgroup: 'Gruppo Eliminato',
|
||||
domanda_addtofriend: 'Aggiungere agli amici {username}?',
|
||||
domanda_addtogroup: 'Aggiungi {username} al gruppo {groupname}?',
|
||||
addedfriend: 'Aggiunto alla lista di Amici',
|
||||
@@ -945,6 +947,7 @@ const msg_it = {
|
||||
admins: 'Amministratori',
|
||||
ask_group: 'Chiedi di entrare nel Gruppo',
|
||||
exit_group: 'Esci dal Gruppo',
|
||||
delete_group: 'Elimina il Gruppo',
|
||||
accept_group: 'Accetta la richiesta',
|
||||
remove_from_mygroups: 'Rimuovi dal Gruppo',
|
||||
block_group: 'Blocca Gruppo',
|
||||
|
||||
@@ -4749,6 +4749,27 @@ export const tools = {
|
||||
})
|
||||
},
|
||||
|
||||
DeleteGroup($q: any, username: string, groupnameDest: string, domanda: any = '') {
|
||||
const userStore = useUserStore()
|
||||
|
||||
$q.dialog({
|
||||
message: domanda ? domanda : t('db.domanda_remove_group', { username }),
|
||||
ok: { label: t('dialog.yes'), push: true },
|
||||
cancel: { label: t('dialog.cancel') },
|
||||
title: t('db.domanda')
|
||||
}).onOk(() => {
|
||||
|
||||
userStore.setGroupsCmd($q, t, username, groupnameDest, shared_consts.GROUPSCMD.DELETE_GROUP, null).then((res) => {
|
||||
if (res) {
|
||||
if (userStore.my.profile.mygroups) {
|
||||
userStore.my.profile.mygroups = userStore.my.profile.mygroups.filter((rec: IMyGroup) => rec.groupname !== groupnameDest)
|
||||
tools.showPositiveNotif($q, t('db.deletedgroup'))
|
||||
}
|
||||
}
|
||||
})
|
||||
})
|
||||
},
|
||||
|
||||
setRequestFriendship($q: any, username: string, usernameDest: string, value: boolean) {
|
||||
|
||||
const userStore = useUserStore()
|
||||
@@ -5028,6 +5049,8 @@ export const tools = {
|
||||
console.log('setcmd', cmd)
|
||||
if (cmd === shared_consts.GROUPSCMD.REMOVE_FROM_MYGROUP) {
|
||||
tools.removeFromMyGroups($q, username, dest, t('db.domanda_exit_fromgroup', { username }))
|
||||
} else if (cmd === shared_consts.GROUPSCMD.DELETE_GROUP) {
|
||||
tools.DeleteGroup($q, username, dest)
|
||||
} else if (cmd === shared_consts.GROUPSCMD.BLOCK_GROUP) {
|
||||
tools.blockGroup($q, username, dest)
|
||||
} else if (cmd === shared_consts.GROUPSCMD.SETGROUP) {
|
||||
|
||||
@@ -41,6 +41,8 @@ export default defineComponent({
|
||||
const mygrp = ref(<IMyGroup|null>{})
|
||||
const users_in_group = ref(<IFriends[]>[])
|
||||
|
||||
const loading = ref(false)
|
||||
|
||||
const tabgrp = ref('info')
|
||||
const tab = ref('membri')
|
||||
|
||||
@@ -68,6 +70,8 @@ export default defineComponent({
|
||||
mygrp.value = null
|
||||
users_in_group.value = []
|
||||
}
|
||||
|
||||
loading.value = false
|
||||
// filtroutente.value = [{ userId: userStore.my._id }]
|
||||
})
|
||||
|
||||
@@ -79,6 +83,7 @@ export default defineComponent({
|
||||
})
|
||||
|
||||
async function mounted() {
|
||||
loading.value = true
|
||||
await loadGroup()
|
||||
|
||||
searchList.value = []
|
||||
@@ -202,6 +207,7 @@ export default defineComponent({
|
||||
numAdmins,
|
||||
listaAdmins,
|
||||
users_in_group,
|
||||
loading,
|
||||
}
|
||||
}
|
||||
})
|
||||
|
||||
@@ -1,6 +1,11 @@
|
||||
<template>
|
||||
|
||||
<div class="q-gutter-sm q-pa-sm q-pb-md">
|
||||
<div v-if="!mygrp && !loading">
|
||||
<h3>Gruppo non Esistente</h3>
|
||||
</div>
|
||||
<div v-else>
|
||||
|
||||
<div v-if="!tools.isLogged()">
|
||||
<CCheckIfIsLogged></CCheckIfIsLogged>
|
||||
</div>
|
||||
@@ -40,6 +45,17 @@
|
||||
</q-item-section>
|
||||
<q-item-section>{{ $t('groups.exit_group') }}</q-item-section>
|
||||
</q-item>
|
||||
|
||||
<q-list v-if="tools.iAmAdminGroup(mygrp.groupname)" style="min-width: 200px">
|
||||
<q-item clickable v-close-popup @click="tools.setCmd($q, shared_consts.GROUPSCMD.DELETE_GROUP, userStore.my.username, '', mygrp.groupname)">
|
||||
<q-item-section avatar>
|
||||
<q-icon color="negative" name="fas fa-trash-alt"/>
|
||||
</q-item-section>
|
||||
<q-item-section>{{ $t('groups.delete_group') }}</q-item-section>
|
||||
</q-item>
|
||||
</q-list>
|
||||
|
||||
|
||||
</q-list>
|
||||
</q-menu>
|
||||
</q-btn>
|
||||
@@ -50,7 +66,6 @@
|
||||
flat :label="$t('groups.cancel_ask_group_short')"
|
||||
@click="tools.cancelReqGroups($q, userStore.my.username, mygrp.groupname)"
|
||||
/>
|
||||
|
||||
</div>
|
||||
|
||||
<!--
|
||||
@@ -249,6 +264,7 @@
|
||||
|
||||
</q-dialog>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</template>
|
||||
|
||||
|
||||
@@ -24,7 +24,8 @@ export default defineComponent({
|
||||
|
||||
function mounted() {
|
||||
|
||||
const filt_loaded = tools.getCookie(tools.COOK_SEARCH + tools.GROUP_SEARCH)
|
||||
const filt_loaded = tools.getCookie(tools.COOK_SEARCH + tools.GROUP_SEARCH, costanti.FIND_GROUP, true)
|
||||
console.log('filt_loaded', filt_loaded)
|
||||
filter.value = filt_loaded ? filt_loaded : costanti.FIND_GROUP
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user