10 Commits

Author SHA1 Message Date
Surya Paolo
41fa886bc8 aggiornamento... 2023-04-07 21:10:16 +02:00
Surya Paolo
a8eb6344ef Revert "Aggiornamento a 0.6.1"
This reverts commit 701e1f1968.
2023-04-07 20:07:56 +02:00
Surya Paolo
9c08ebaacd Revert "Aggiornamento a 0.6.1"
This reverts commit 701e1f1968.
2023-04-07 18:38:46 +02:00
Surya Paolo
eb4998dcd2 Revert "Aggiornamento a 0.6.1"
This reverts commit 701e1f1968.
2023-04-07 18:38:22 +02:00
Surya Paolo
799a8a0e15 Revert "nuova veste grafica: myskills, mygoods, mybachecas, myhosps,"
This reverts commit 6fad472211.
2023-04-07 18:24:15 +02:00
Surya Paolo
6e6e363059 Revert "Aggiornamento a 0.6.1"
This reverts commit 701e1f1968.
2023-04-07 18:01:48 +02:00
Surya Paolo
7148b773ea Revert "cambio nome ai circuiti"
This reverts commit 0365c58326.
2023-04-07 17:21:22 +02:00
Surya Paolo
701e1f1968 Aggiornamento a 0.6.1 2023-04-07 17:14:51 +02:00
Surya Paolo
6fad472211 nuova veste grafica: myskills, mygoods, mybachecas, myhosps,
- cambiato id (da numero a stringa)
2023-04-07 02:46:27 +02:00
Surya Paolo
edcd244397 new version Visualizzazione Service 2023-04-04 15:27:03 +02:00
40 changed files with 496 additions and 192 deletions

View File

@@ -1,8 +1,4 @@
<<<<<<< HEAD
APP_VERSION="0.5.83"
=======
APP_VERSION="0.5.85"
>>>>>>> parent of 701e1f1 (Aggiornamento a 0.6.1)
SERVICE_WORKER_FILE="service-worker.js"
APP_ID="13"
DIRECTORY_LOCAL="newfreeplanet"

View File

@@ -1,8 +1,4 @@
<<<<<<< HEAD
APP_VERSION="0.5.83"
=======
APP_VERSION="0.5.85"
>>>>>>> parent of 701e1f1 (Aggiornamento a 0.6.1)
SERVICE_WORKER_FILE="service-worker.js"
APP_ID="13"
DIRECTORY_LOCAL=newfreeplanet

View File

@@ -1,8 +1,4 @@
<<<<<<< HEAD
APP_VERSION="0.5.83"
=======
APP_VERSION="0.5.85"
>>>>>>> parent of 701e1f1 (Aggiornamento a 0.6.1)
SERVICE_WORKER_FILE="service-worker.js"
APP_ID="13"
DIRECTORY_LOCAL=newfreeplanet

View File

@@ -1,8 +1,4 @@
<<<<<<< HEAD
APP_VERSION="0.5.83"
=======
APP_VERSION="0.5.85"
>>>>>>> parent of 701e1f1 (Aggiornamento a 0.6.1)
SERVICE_WORKER_FILE="service-worker.js"
APP_ID="13"
DIRECTORY_LOCAL="newfreeplanet"

View File

@@ -1,8 +1,4 @@
<<<<<<< HEAD
APP_VERSION="0.5.83"
=======
APP_VERSION="0.5.85"
>>>>>>> parent of 701e1f1 (Aggiornamento a 0.6.1)
APP_VERSION="0.6.2"
SERVICE_WORKER_FILE="service-worker.js"
APP_ID="13"
DIRECTORY_LOCAL=newfreeplanet

View File

@@ -1,8 +1,4 @@
<<<<<<< HEAD
APP_VERSION="0.5.83"
=======
APP_VERSION="0.5.85"
>>>>>>> parent of 701e1f1 (Aggiornamento a 0.6.1)
APP_VERSION="0.6.2"
SERVICE_WORKER_FILE="service-worker.js"
APP_ID="14"
DIRECTORY_LOCAL="newfreeplanet"

View File

@@ -123,18 +123,6 @@
"crypto": false
},
"browserslist": [
<<<<<<< HEAD
"last 20 Chrome versions",
"last 20 Firefox versions",
"last 10 Edge versions",
"last 15 Safari versions",
"last 60 Android versions",
"last 180 ChromeAndroid versions",
"last 40 FirefoxAndroid versions",
"last 20 iOS versions",
"last 10 Opera versions",
"> 0.1%",
=======
"last 40 Chrome versions",
"last 40 Firefox versions",
"last 10 Edge versions",
@@ -145,7 +133,6 @@
"last 30 iOS versions",
"last 10 Opera versions",
"> 0.05%",
>>>>>>> parent of 701e1f1 (Aggiornamento a 0.6.1)
"not dead"
],
"engines": {

View File

@@ -170,6 +170,14 @@ export const shared_consts = {
TABLES_MYGOODS: 'mygoods',
TABLES_MYEVENTS: 'myevents',
MYTABS: [{id: 0, table: 'none' },
{id: 1, table: 'myskills'},
{id: 2, table: 'mybachecas' },
{id: 3, table: 'myhosps'} ,
{id: 4, table: 'mygoods'},
{id: 5, table: 'myevents'}
],
TABLES_ENABLE_GETREC_BYID: ['mybachecas', 'myhosps'],
TABLES_USER_INCLUDE_MY: ['mygroups'],
@@ -181,6 +189,7 @@ export const shared_consts = {
TABLES_WITH_DATE: ['mybachecas', 'myhosps'],
TABLES_WITH_SORTING: ['mybachecas', 'myhosps'],
TABLES_REC_ID: ['skills', 'goods', 'subskills', 'myskills', 'mybachecas', 'myhosps', 'mygoods'],
TABLES_FAVORITE_BOOKMARK: ['myskills', 'mygoods', 'mybachecas', 'myhosps'],
// costanti.VISUTABLE_SCHEDA_USER, VISUTABLE_SCHEDA_GROUP, VISUTABLE_USER_TABGROUP, VISUTABLE_USER_TABCIRCUIT, VISUTABLE_GROUP_CIRCUIT
VERTIC_SHOW_GRID: [-1, 2, -3, -4, -5, -6],
@@ -531,6 +540,14 @@ export const shared_consts = {
value: 23,
label: 'Asciugacapelli',
},
{
value: 24,
label: 'Riscaldamento a legna',
},
{
value: 25,
label: 'Riscaldamento a gas',
},
],
Regions: [
@@ -1538,4 +1555,41 @@ export const shared_consts = {
return ['_id', 'username', 'group', 'email', 'name', 'surname', 'perm', 'date_reg', 'verified_email', 'notask_verif', 'verified_by_aportador', 'trust_modified', 'img', 'ipaddr', 'lasttimeonline', 'profile', 'news_on']
},
getProjectForAll(proj_add: any) {
let proj = {
idContribType: 1,
idCity: 1,
pub_to_share: 1,
adType: 1,
photos: 1,
note: 1,
descr: 1,
date_created: 1,
date_updated: 1,
userId: 1,
username: 1,
name: 1,
surname: 1,
lasttimeonline: 1,
comune: 1,
mycities: 1,
'profile.img': 1,
'profile.mygroups': 1,
'profile.mycircuits': 1,
'profile.qualifica': 1,
'profile.resid_province': 1,
'profile.username_telegram': 1,
'profile.favorite': 1,
'profile.bookmark': 1,
reported: 1,
date_report: 1,
username_who_report: 1,
};
if (proj_add)
proj = Object.assign({}, proj, proj_add);
return proj;
},
}

View File

@@ -1,12 +1,8 @@
<template>
<div class="bordo_stondato_blu">
<CTitleBanner class="column" title="Tipi di ospitalità"></CTitleBanner>
<div class="">
<div class="">
<q-btn
v-if="isInModif"
rounded label="Aggiungi Letti" color="positive" @click="add_newbed()">
</q-btn>
<div v-for="(myaccom, index) in getlist()" :key="index">
<div v-if="isInModif" class="row justify-center bordo_stondato_small">
@@ -17,6 +13,8 @@
v-model:value="myaccom.num"
optval="value"
optlab="label"
style="min-width:80px;"
:sola_lettura="!isInModif"
:options="shared_consts.People" :useinput="false"
>
@@ -58,6 +56,10 @@
</div>
</div>
</div>
<q-btn
v-if="isInModif"
rounded label="Aggiungi Letti" color="positive" @click="add_newbed()">
</q-btn>
</div>
</div>
</template>

View File

@@ -1158,6 +1158,7 @@ export default defineComponent({
mygood: 1,
idStatusSkill: 1,
idContribType: 1,
'profile.username_telegram': 1,
idCity: 1,
pub_to_share: 1,
numLevel: 1,
@@ -1179,6 +1180,7 @@ export default defineComponent({
'profile.img': 1,
'profile.mygroups': 1,
'profile.qualifica': 1,
'profile.resid_province': 1,
reported: 1,
date_report: 1,
username_who_report: 1,
@@ -1225,6 +1227,7 @@ export default defineComponent({
myskill: 1,
idStatusSkill: 1,
idContribType: 1,
'profile.username_telegram': 1,
idCity: 1,
pub_to_share: 1,
dateTimeStart: 1,
@@ -1248,6 +1251,7 @@ export default defineComponent({
'profile.img': 1,
'profile.mygroups': 1,
'profile.qualifica': 1,
'profile.resid_province': 1,
reported: 1,
date_report: 1,
username_who_report: 1,
@@ -1300,6 +1304,7 @@ export default defineComponent({
accomodation: 1,
preferences: 1,
idContribType: 1,
'profile.username_telegram': 1,
photos: 1,
idCity: 1,
pub_to_share: 1,
@@ -1346,6 +1351,7 @@ export default defineComponent({
myskill: 1,
idStatusSkill: 1,
idContribType: 1,
'profile.username_telegram': 1,
idCity: 1,
pub_to_share: 1,
numLevel: 1,
@@ -1367,6 +1373,7 @@ export default defineComponent({
'profile.img': 1,
'profile.mygroups': 1,
'profile.qualifica': 1,
'profile.resid_province': 1,
reported: 1,
date_report: 1,
username_who_report: 1,

View File

@@ -36,6 +36,7 @@ import { costanti } from '@costanti'
import translate from '@/globalroutines/util'
import { toolsext } from '@store/Modules/toolsext'
import { CMyCardPopup } from '@/components/CMyCardPopup'
import { CMyCardService } from '@/components/CMyCardService'
import { CMyCardGrpPopup } from '@/components/CMyCardGrpPopup'
import { CMyCardCircuitPopup } from '@/components/CMyCardCircuitPopup'
import { useRouter } from 'vue-router'
@@ -287,7 +288,7 @@ export default defineComponent({
components: {
CMyPopupEdit, CTitleBanner, CMyFieldDb, CMySelect, CMyFriends, CMyGroups,
CMyUser, CMyRecCard, CMyCardPopup, CMyRecGrpCard, CMyCardGrpPopup, CMyCardCircuitPopup,
CMyRecCircuitCard
CMyRecCircuitCard, CMyCardService
},
setup(props, { emit }) {
const $q = useQuasar()
@@ -661,7 +662,7 @@ export default defineComponent({
for (const item of searchList.value) {
if (!item.notinsearch) {
if (item.value && item.value !== -100) {
console.log(item.label, item.value)
// console.log(item.label, item.value)
numfilter++
}
}

View File

@@ -1090,6 +1090,7 @@
@hide="hidewindow"
:maximized="$q.screen.lt.sm"
>
<CMyCardGrpPopup
v-if="mytable === toolsext.TABMYGROUPS"
:table="mytable"
@@ -1102,18 +1103,9 @@
:prop_myrec="myrecdialog"
>
</CMyCardCircuitPopup>
<<<<<<< HEAD
=======
<CMyCardService v-else-if="mytable === 'myskills'"
<CMyCardService v-else-if="shared_consts.TABLES_FAVORITE_BOOKMARK.includes(mytable)"
:table="mytable" :prop_myrec="myrecdialog">
</CMyCardService>
<CMyCardService v-else-if="mytable === 'mygoods'"
:table="mytable" :prop_myrec="myrecdialog">
</CMyCardService>
<CMyCardService v-else-if="mytable === 'myhosps'"
:table="mytable" :prop_myrec="myrecdialog">
</CMyCardService>
>>>>>>> parent of 701e1f1 (Aggiornamento a 0.6.1)
<CMyCardPopup v-else :table="mytable" :prop_myrec="myrecdialog">
</CMyCardPopup>
</q-dialog>

View File

@@ -91,30 +91,15 @@
myclass="myshad"
:canopen="true"
>
<<<<<<< HEAD
<div v-for="(card, ind) of mycards" :key="ind" :name="card.table">
<q-card class="q-my-md">
<div v-if="card.table === 'mygroups'">
<q-list>
<span
v-for="(grp, index) in listgroupsfiltered"
:key="index"
class="q-my-sm q-mx-none"
clickable
>
<CMyGroup
:mygrp="grp"
:visu="costanti.USER_GROUPS"
=======
<q-tabs
v-model="mytab"
inline-label
dense
class="text-black shadow-2"
class="shadow-2"
>
<q-tab name="my" icon="far fa-user" />
<q-tab name="favorite" icon="far fa-heart" />
<q-tab name="bookmark" icon="far fa-bookmark" />
<q-tab name="favorite" icon="favorite" content-class="text-red" />
<q-tab name="bookmark" icon="bookmark" content-class="text-teal" />
</q-tabs>
<q-tab-panels
@@ -173,43 +158,55 @@
:filtercustom="filtroutente"
:butt_modif_new="isMyRecord(myuser.username)"
:visuinpage="true"
>>>>>>> parent of 701e1f1 (Aggiornamento a 0.6.1)
:noaut="true"
>
</CMyGroup>
</span>
</q-list>
:title="card.title"
/>
</div>
</q-card>
</div>
<div v-else-if="card.table === 'circuits'">
<div class="text-h6">{{ card.title }}</div>
<q-list>
<span
v-for="(circuit, index) in listcircuitsfiltered"
:key="index"
class="q-my-sm q-mx-none"
clickable
>
<CMyCircuit
:mycircuit="circuit"
:visu="costanti.USER_CIRCUITS"
</q-tab-panel>
<q-tab-panel name="favorite">
<div
v-for="(card, ind) of mycards"
:key="ind"
:name="card.table"
>
<q-card class="q-my-md">
<div v-if="card.showfavorite && filtrofavorite(card.table)">
<CSkill
:table="card.table"
:filtercustom="filtrofavorite(card.table)"
:butt_modif_new="false"
:visuinpage="true"
:noaut="false"
:title="card.title"
/>
</div>
</q-card>
</div>
</q-tab-panel>
<q-tab-panel name="bookmark">
<div
v-for="(card, ind) of mycards"
:key="ind"
:name="card.table"
>
<q-card class="q-my-md">
<div v-if="card.showfavorite && filtrobookmark(card.table)">
<CSkill
:table="card.table"
:filtercustom="filtrobookmark(card.table)"
:butt_modif_new="isMyRecord(myuser.username)"
:visuinpage="true"
:noaut="true"
>
</CMyCircuit>
</span>
</q-list>
:title="card.title"
/>
</div>
</q-card>
</div>
<div v-else>
<CSkill
:table="card.table"
:filtercustom="filtroutente"
:butt_modif_new="isMyRecord(myuser.username)"
:visuinpage="true"
:noaut="true"
:title="card.title"
/>
</div>
</q-card>
</div>
</q-tab-panel>
</q-tab-panels>
</CTitleBanner>
</div>
</div>

View File

@@ -34,9 +34,9 @@ export default defineComponent({
default: null,
},
idRec: {
type: Number,
type: String,
required: false,
default: 0
default: ''
},
nopopup: {
type: Boolean,
@@ -66,7 +66,7 @@ export default defineComponent({
function load() {
// Carica il profilo di quest'utente
if (props.idRec > 0) {
if (props.idRec) {
userStore.loadGeneric(props.table, props.idRec, idnotif.value).then((ris) => {
myrec.value = ris
notifStore.setAsRead(idnotif.value)

View File

@@ -1,6 +1,6 @@
<template>
<q-card class="dialog_card q-mb-lg" v-if="myrec._id">
<q-card class="dialog_card q-mb-lg" v-if="myrec && myrec._id">
<q-footer
v-if="!nopopup"

View File

@@ -0,0 +1,127 @@
.profile {
width: 100%;
margin: 0 auto;
max-width: 450px;
}
.myrow{
display: flex;
@media (max-width: 600px) {
flex-flow: column;
}
}
.qualifica{
border: solid 2px #4198ef;
border-radius: 1rem;
padding: 5px;
}
.text-bacheca{
margin: 10px;
border: solid 2px #4198ef;
border-radius: 1rem;
padding: 10px;
}
.note-bacheca{
border: solid 2px #C10015;
border-radius: 1rem;
padding: 10px;
}
.img {
margin-left: auto;
margin-right: auto;
max-height: 500px;
max-width: 350px;
@media (max-width: 500px) {
max-height: 500px;
max-width: 400px;
}
}
$graytext: #555;
.cal {
color: black;
font-size: 1rem;
font-weight: 400;
line-height: 1.25rem;
letter-spacing: 0.03333em;
&__title {
color: white;
font-weight: 700;
font-size: 1rem;
padding-bottom: 10px;
}
&__details {
color: black;
}
&__hours {
color: blue;
&-title {
color: $graytext;
}
&-content {
font-weight: 400;
}
}
&__where {
margin-top: 5px;
color: blue;
&-title {
color: $graytext;
}
&-content {
color: darkblue !important;
}
}
&__when {
margin-top: 5px;
color: blue;
&-title {
color: $graytext;
}
&-content {
color: darkblue !important;;
}
}
&__teacher {
margin-top: 5px;
&-title {
color: $graytext;
}
&-content {
color: darkblue !important;;
}
}
&__quota {
margin-top: 5px;
&-title {
color: $graytext;
}
&-content {
}
}
&__img {
width: 100px;
height: 100px;
padding: 10px;
}
}

View File

@@ -14,9 +14,9 @@
<q-btn
flat
round
:color="userStore.isFavorite(myrec._id, table) ? 'red' : ''"
icon="favorite"
@click="clicca(costanti.TIPOFAVBOOK.FAVORITE, true)"
color="red"
:icon="userStore.isFavorite(myrec._id, table) ? 'favorite' : 'far fa-heart'"
@click="clicca(costanti.TIPOFAVBOOK.FAVORITE, true, '')"
>
<q-badge
v-if="myrec.myfav"
@@ -31,9 +31,9 @@
<q-btn
flat
round
:color="userStore.isBookmarked(myrec._id, table) ? 'teal' : ''"
icon="bookmark"
@click="clicca(costanti.TIPOFAVBOOK.BOOKMARK, true)"
color="teal"
:icon="userStore.isBookmarked(myrec._id, table) ? 'bookmark' : 'far fa-bookmark'"
@click="clicca(costanti.TIPOFAVBOOK.BOOKMARK, true, '')"
>
<q-badge
v-if="myrec.mybook"
@@ -56,7 +56,19 @@
<div>
<q-btn flat round icon="fas fa-ellipsis-h">
<q-menu>
<q-list v-if="true" style="min-width: 150px">
<q-list v-if="true" style="min-width: 200px">
<q-item
v-if="myrec.profile.username_telegram"
clickable
v-close-popup
>
<q-item-section avatar>
<q-icon color="blue" name="far fa-comment" />
</q-item-section>
<q-item-section>
<a :href="tools.getHttpForTelegram(myrec.profile.username_telegram)" target="_blank">{{ $t('dialog.contact') }} - {{tools.getNomeUtenteByRecUser(myrec)}}</a>
</q-item-section>
</q-item>
<q-item
v-if="!nopopup"
clickable
@@ -78,7 +90,7 @@
clicca(
costanti.TIPOFAVBOOK.FAVORITE,
false,
$t('cmd.favorite')
$t('cmd.favorite', {num: myrec.myfav ? myrec.myfav.length : 0})
)
"
>
@@ -86,7 +98,7 @@
<q-icon color="red" name="favorite" />
</q-item-section>
<q-item-section>
{{ $t('cmd.favorite') }}
{{ $t('cmd.favorite', {num: myrec.myfav ? myrec.myfav.length : 0}) }}
</q-item-section>
</q-item>
<q-item
@@ -96,7 +108,7 @@
clicca(
costanti.TIPOFAVBOOK.BOOKMARK,
false,
$t('cmd.bookmark')
$t('cmd.bookmark', {num: myrec.mybook ? myrec.mybook.length : 0})
)
"
>
@@ -104,7 +116,7 @@
<q-icon color="teal" name="bookmark" />
</q-item-section>
<q-item-section>
{{ $t('cmd.bookmark') }}
{{ $t('cmd.bookmark', {num: myrec.mybook ? myrec.mybook.length : 0}) }}
</q-item-section>
</q-item>
</q-list>
@@ -142,6 +154,29 @@
</q-item-section>
</q-item>
<q-item v-if="myrec.dateTimeStart">
<q-item-section avatar>
<q-icon color="green" name="far fa-calendar-alt" />
</q-item-section>
<q-item-section>
<q-item-label>
<span>{{tools.getstrDateMonthTimeLong(myrec.dateTimeStart)}}</span>
</q-item-label>
</q-item-section>
</q-item>
<q-item v-if="myrec.dateTimeEnd">
<q-item-section avatar>
<q-icon color="red" name="far fa-calendar-alt" />
</q-item-section>
<q-item-section>
<q-item-label>
<span>{{tools.getstrDateMonthTimeLong(myrec.dateTimeEnd)}}</span>
</q-item-label>
</q-item-section>
</q-item>
<q-item v-if="getSectorByRec(myrec)">
<q-item-section avatar>
<q-icon color="blue" name="category" />
@@ -371,7 +406,7 @@
</q-card-actions>
</q-card>
<div
v-if="!$q.screen.gt.sm || !nopopup"
v-if="!$q.screen.gt.sm && !nopopup"
class="row absolute-bottom text-shadow custom-caption q-px-md buttons_bottom"
>
<q-btn

View File

@@ -0,0 +1 @@
export { default as CMyCardService } from './CMyCardService.vue'

View File

@@ -88,7 +88,7 @@ export default defineComponent({
})
function load() {
console.log('load', mypathin.value)
// console.log('load', mypathin.value)
if (mypathin.value !== '') {
globalStore.loadPage('/' + mypathin.value, 'cmypageelem').then(ris => {
@@ -102,7 +102,7 @@ export default defineComponent({
}
watch(() => props.mypath, (to: string, from: string) => {
console.log('... load', mypathin.value, props.mypath)
// console.log('... load', mypathin.value, props.mypath)
selElem.value = {}
load()
})
@@ -116,7 +116,7 @@ export default defineComponent({
})
function selElemClick(myelem: IMyElem) {
console.log('mypageelem selElemClick', myelem)
// console.log('mypageelem selElemClick', myelem)
selElem.value = {}
selElem.value = myelem
visuEditor.value = !!myelem

View File

@@ -13,7 +13,7 @@
:optlab="fieldsTable.getLabelByTable(jointable)"
:options="globalStore.getTableJoinByName(jointable, false, false, '')"
:useinput="false"
:dark="true"
:dark="$q.dark.isActive"
@update:value="changevalRec"
>
</CMySelect>

View File

@@ -43,6 +43,7 @@
<q-item-label v-if="labelFooter" lines="1"
><em>{{ labelFooter }}</em></q-item-label
>
<span v-if="contact.profile.resid_province" class="show_province_title">Prov: <span class="show_province">{{ contact.profile.resid_province }}</span></span>
<q-item-label v-if="contact.account" caption lines="2">
<CSaldo
:small="true"

View File

@@ -24,7 +24,7 @@
label="Circuito"
>
</q-select>
<div v-else>{{ circuitname }}</div>
<div v-else>Circuito: {{ circuitname }}</div>
<q-banner
rounded

View File

@@ -114,6 +114,7 @@ export default defineComponent({
myskill: 1,
idStatusSkill: 1,
idContribType: 1,
'profile.username_telegram': 1,
idCity: 1,
pub_to_share: 1,
numLevel: 1,
@@ -135,6 +136,7 @@ export default defineComponent({
'profile.img': 1,
'profile.mygroups': 1,
'profile.qualifica': 1,
'profile.resid_province': 1,
reported: 1,
}
},
@@ -152,6 +154,7 @@ export default defineComponent({
myskill: 1,
idStatusSkill: 1,
idContribType: 1,
'profile.username_telegram': 1,
idCity: 1,
pub_to_share: 1,
numLevel: 1,
@@ -173,6 +176,7 @@ export default defineComponent({
'profile.img': 1,
'profile.mygroups': 1,
'profile.qualifica': 1,
'profile.resid_province': 1,
reported: 1,
}
},
@@ -190,6 +194,7 @@ export default defineComponent({
myskill: 1,
idStatusSkill: 1,
idContribType: 1,
'profile.username_telegram': 1,
idCity: 1,
pub_to_share: 1,
numLevel: 1,
@@ -210,6 +215,7 @@ export default defineComponent({
'profile.img': 1,
'profile.mygroups': 1,
'profile.qualifica': 1,
'profile.resid_province': 1,
reported: 1,
}
},
@@ -252,6 +258,7 @@ export default defineComponent({
myskill: 1,
idStatusSkill: 1,
idContribType: 1,
'profile.username_telegram': 1,
idCity: 1,
pub_to_share: 1,
numLevel: 1,
@@ -272,6 +279,7 @@ export default defineComponent({
'profile.img': 1,
'profile.mygroups': 1,
'profile.qualifica': 1,
'profile.resid_province': 1,
reported: 1,
}
},
@@ -291,6 +299,7 @@ export default defineComponent({
myskill: 1,
idStatusSkill: 1,
idContribType: 1,
'profile.username_telegram': 1,
idCity: 1,
pub_to_share: 1,
numLevel: 1,
@@ -311,6 +320,7 @@ export default defineComponent({
'profile.img': 1,
'profile.mygroups': 1,
'profile.qualifica': 1,
'profile.resid_province': 1,
reported: 1,
}
},
@@ -330,6 +340,7 @@ export default defineComponent({
myskill: 1,
idStatusSkill: 1,
idContribType: 1,
'profile.username_telegram': 1,
idCity: 1,
pub_to_share: 1,
numLevel: 1,
@@ -351,6 +362,7 @@ export default defineComponent({
'profile.img': 1,
'profile.mygroups': 1,
'profile.qualifica': 1,
'profile.resid_province': 1,
}
},
lookup4: {

View File

@@ -679,6 +679,18 @@ h3 {
border: #666cf6 solid 5px;
}
.clBorderService {
border-radius: 16px;
font-size: 1rem;
padding: 6px;
}
.clBorderUser {
border-radius: 16px;
font-size: 1rem;
margin-top: 2px;
padding: 0px !important;
}
.clBorderTutor {
border-radius: 16px;
border: #f634b5 solid 2px;
@@ -1570,17 +1582,14 @@ h3 {
max-width: 100%;
height: auto;
}
<<<<<<< HEAD
=======
.show_province_title {
.show_province_title{
font-size: 0.85rem;
font-style: italic;
text-align: right;
color: #A0A0A0;
color:#A0A0A0;
}
.show_province {
.show_province{
font-size: 0.85rem;
font-style: italic;
text-align: right;
@@ -1619,4 +1628,21 @@ h3 {
color: grey;
font-size: 0.8rem;
}
>>>>>>> parent of 701e1f1 (Aggiornamento a 0.6.1)
.butt_rounded{
border-radius: 12px;
}
.body--light {
.butt_rounded{
background-color: rgb(234, 241, 244);
}
}.body--dark {
.butt_rounded{
background-color: black;
}
}
.q-mx-xxs {
margin-left: 2px;
}

View File

@@ -69,6 +69,7 @@ export interface IContribtype {
_id: any
label: string
showprice: boolean
color: string
}
export interface ILabelValue {

View File

@@ -955,7 +955,7 @@ export interface IProvince {
}
export interface IMySkill extends IMyMain {
_id: number
_id: string
idSector: number
idSkill: number
// idSubSkill: number[]
@@ -980,7 +980,7 @@ export interface IMyMain {
}
export interface IMyGoods extends IMyMain {
_id: number
_id: string
idSector: number
idSkill: number
idShipping: number[]
@@ -1000,7 +1000,7 @@ export interface IMyGoods extends IMyMain {
}
export interface IMyBacheca extends IMyMain {
_id: number
_id: string
idSector: number
idSkill: number
// idSubSkill: number[]
@@ -1027,7 +1027,7 @@ export interface IAccomodation {
}
export interface IMyHosp extends IMyMain {
_id: number
_id: string
visibile: boolean
typeHosp: number
numMaxPeopleHosp: number

View File

@@ -57,6 +57,16 @@ export interface IUserNotifType {
value: number
}
export interface IBookmark {
id: string
tab: number
}
export interface IFavorite {
id: string
tab: number
}
export interface IUserProfile {
img?: string
@@ -117,6 +127,8 @@ export interface IUserProfile {
noNameSurname: boolean
noCircuit: boolean
noFoto: boolean
bookmark: IBookmark[]
favorite: IFavorite[]
// in memory
asked_friends: any[]

View File

@@ -193,6 +193,7 @@ const msg_it = {
indietro: 'Indietro',
finish: 'Fine',
sendmsg: 'Invia Messaggio',
contact: 'Messaggia',
sendonlymsg: 'Invia solo un Msg',
msg: {
titledeleteTask: 'Elimina Task',
@@ -1199,7 +1200,6 @@ const msg_it = {
lista_ricev_title: 'Questa è la lista degli Utenti che hanno cliccato su "Ricevi RIS" nelle ultime 8 ore',
info: 'Informazioni su questo Circuito',
aggiuntive: 'Il Circuito è una una rete di individui, che fanno riferimento ad un territorio provinciale, nella quale ciascuno può offrire i propri talenti, competenze e produzioni (Beni, Servizi, Ospitalità, ecc.) e riceverne da altri, utilizzando anche i <strong>RIS</strong> come metodo di scambio, sulla base di <strong>relazioni di fiducia</strong>.',
collettivi_info: 'Il Conto Collettivo è affidato ad un gruppo di persone, attivo nel territorio provinciale, che lo utilizza per organizzare iniziative di interesse comune, nello spirito di Riso.',
name: 'Nome Circuito',
path: 'Nome Pagina',
subname: 'SottoNome',
@@ -1482,8 +1482,6 @@ const msg_it = {
step_fine_title: 'Fine',
step_fine: 'Hai completato l\'aggiornamento del tuo Profilo. Ricorda che potrai modificarlo, cliccando sulla prima icona in alto a destra 🙎🏻‍♂️ .',
},
<<<<<<< HEAD
=======
cmd: {
favorite_set: 'Aggiunto ai Preferiti',
@@ -1493,7 +1491,6 @@ const msg_it = {
favorite: 'Utenti Favoriti',
bookmark: 'Utenti Segnalibri',
},
>>>>>>> parent of 701e1f1 (Aggiornamento a 0.6.1)
},
};

View File

@@ -88,6 +88,11 @@ export const useCalendarStore = defineStore('CalendarStore', {
const ctrec = mystate.contribtype.find((mycontr) => mycontr._id === id)
return (ctrec) ? ctrec.label : ''
},
getColByContribType: (mystate: ICalendarState) => (id: string) => {
const ctrec = mystate.contribtype.find((mycontr) => mycontr._id === id)
return (ctrec && ctrec.color) ? ctrec.color : 'green'
},
getContribtypeRecByLabel: (mystate: ICalendarState) => (label: string) => {
const ctrec = mystate.contribtype.find((mycontr) => mycontr.label === label)

View File

@@ -17,6 +17,11 @@ export const costanti = {
CERCO: 2,
},
TIPOFAVBOOK: {
FAVORITE: 1,
BOOKMARK: 2,
},
ENABLE_FRIENDS: false,
ENABLE_CONTI_COLLETTIVI: true,
@@ -105,6 +110,7 @@ export const costanti = {
table: 'mygoods',
visuonstat: true,
small: false,
showfavorite: true,
},
{
visible: true,
@@ -118,6 +124,7 @@ export const costanti = {
table: 'myskills',
visuonstat: true,
small: false,
showfavorite: true,
},
{
visible: true,
@@ -133,6 +140,7 @@ export const costanti = {
small: false,
table: 'myhosps',
visuonstat: true,
showfavorite: true,
},
{
visible: false,
@@ -186,6 +194,7 @@ export const costanti = {
table: 'mybachecas',
visuonstat: true,
small: false,
showfavorite: true,
},
{
visible: false,

View File

@@ -3177,6 +3177,17 @@ export const tools = {
return ''
},
getstrDateMonthTimeLong(mytimestamp: Date | number | string | undefined) {
// console.log('getstrDate', mytimestamp)
if (mytimestamp) return date.formatDate(mytimestamp, 'DD MMM YY - HH:mm')
return ''
},
getstrDateMonthLong(mytimestamp: Date | number | string | undefined) {
// console.log('getstrDate', mytimestamp)
if (mytimestamp) return date.formatDate(mytimestamp, 'DD MMMM YYYY')
return ''
},
getstrDateMonthWeekTimeShort(mytimestamp: Date | number | string | undefined) {
// console.log('getstrDate', mytimestamp)
if (mytimestamp) return `${this.getDayOfWeek(mytimestamp)} ${date.formatDate(mytimestamp, 'DD MMM - HH:mm')}`
@@ -6827,7 +6838,6 @@ export const tools = {
getdefaultnewrec_MySkill(): any {
return {
_id: 0,
idSector: tools.getSelectionByTable('sectors', 0, true),
idSkill: tools.getSelectionByTable('skills', 0, true),
idStatusSkill: tools.getSelectionByTable('statusSkills', [1]),
@@ -6846,8 +6856,6 @@ export const tools = {
getdefaultnewrec_MyGoods(): any {
return {
_id: 0,
// idSectorGood: 0,
// idGood: 0,
// idStatusSkill: [],
@@ -6877,7 +6885,6 @@ export const tools = {
getdefaultnewrec_MyGroup(): any {
return {
_id: 0,
groupname: '',
photos: [],
visibility: 0,
@@ -6912,7 +6919,6 @@ export const tools = {
getdefaultnewrec_MyBacheca(): any {
return {
_id: 0,
idSector: tools.getSelectionByTable('sectors', 0, true),
idSkill: tools.getSelectionByTable('skills', 0, true),
idStatusSkill: tools.getSelectionByTable('statusSkills', []),
@@ -6935,12 +6941,12 @@ export const tools = {
getdefaultnewrec_MyHosp(): any {
return {
visibile: true,
_id: 0,
typeHosp: tools.getSelectionByTable(toolsext.TABTYPEHOSP, 2),
idContribType: tools.getSelectionByTable('contribtypes', []),
idCity: this.getCitySel(),
pub_to_share: tools.getSelectionByTable('pub_to_share', shared_consts.PUBTOSHARE.ALL, true),
photos: [],
accomodation: [],
descr: '',
note: '',
website: '',
@@ -7749,6 +7755,18 @@ export const tools = {
getPagination(table: string): IPagination {
return { sortBy: 'desc', descending: true, page: 1, rowsNumber: 0, rowsPerPage: 10 }
},
getNumTabByTable(table: string) {
return shared_consts.MYTABS.findIndex((rec: any) => rec.table === table)
},
removeItemOnce(arr: any, value: any) {
const index = arr.indexOf(value)
if (index > -1) {
arr.splice(index, 1)
}
return arr;
}
// FINE !

View File

@@ -35,12 +35,17 @@ import { Router } from 'vue-router'
import { useProjectStore } from '@store/Projects'
import { shared_consts } from '@/common/shared_vuejs'
import { costanti } from '@costanti'
import { IGroupShort, IMyGroup, IUserAdmins } from '@model/UserStore'
import { IBookmark, IGroupShort, IMyGroup, IUserAdmins } from '@model/UserStore'
import globalroutines from '../globalroutines/index'
import { useNotifStore } from '@store/NotifStore'
import { useCircuitStore } from './CircuitStore'
export const CMD_USER = {
SET_FAVORITE: 1,
SET_BOOKMARK: 2,
}
export const DefaultUser: IUserFields = {
_id: '',
email: '',
@@ -76,6 +81,8 @@ export const DefaultUser: IUserFields = {
asked_groups: [],
refused_groups: [],
notifs: [],
bookmark: [],
favorite: [],
notif_idCities: [],
notif_provinces: [],
notif_regions: [],
@@ -141,6 +148,8 @@ export const DefaultProfile: IUserProfile = {
asked_groups: [],
refused_groups: [],
notifs: [],
bookmark: [],
favorite: [],
notif_idCities: [],
notif_provinces: [],
notif_regions: [],
@@ -236,7 +245,7 @@ export const useUserStore = defineStore('UserStore', {
return { sortBy: 'name,username', descending: '1,1', page: 1, rowsNumber: 0, rowsPerPage: 10 }
},
getSortFieldsAvailable(): any[] {
return [{ label: 'Username', value: {'username': 1, 'name': 1} }, { label: 'Nome', value: {'name': 1, 'username': 1} }, { label: 'Ultimi reg.', value: {'date_reg': -1, 'username': 1} }]
return [{ label: 'Username', value: { 'username': 1, 'name': 1 } }, { label: 'Nome', value: { 'name': 1, 'username': 1 } }, { label: 'Ultimi reg.', value: { 'date_reg': -1, 'username': 1 } }]
},
IsMyFriendByUsername(username: string): boolean {
@@ -865,7 +874,7 @@ export const useUserStore = defineStore('UserStore', {
value: step,
}
this.my.profile.stepTutorial = step
const ris = await this.execDbOpUser({mydata})
const ris = await this.execDbOpUser({ mydata })
return ris
},
@@ -877,7 +886,7 @@ export const useUserStore = defineStore('UserStore', {
}
if (this.my.profile.noNameSurname !== val) {
this.my.profile.noNameSurname = val
return await this.execDbOpUser({mydata})
return await this.execDbOpUser({ mydata })
}
},
async savenoCircuit(val: boolean) {
@@ -888,7 +897,7 @@ export const useUserStore = defineStore('UserStore', {
}
if (this.my.profile.noCircuit !== val) {
this.my.profile.noCircuit = val
return await this.execDbOpUser({mydata})
return await this.execDbOpUser({ mydata })
}
},
async savenoFoto(val: boolean) {
@@ -899,7 +908,7 @@ export const useUserStore = defineStore('UserStore', {
}
if (this.my.profile.noFoto !== val) {
this.my.profile.noFoto = val
return await this.execDbOpUser({mydata})
return await this.execDbOpUser({ mydata })
}
},
@@ -1472,7 +1481,7 @@ export const useUserStore = defineStore('UserStore', {
},
async loadGeneric(table: string, id: number, idnotif: string) {
async loadGeneric(table: string, id: any, idnotif: string) {
const data = {
table,
id,
@@ -1629,6 +1638,59 @@ export const useUserStore = defineStore('UserStore', {
return {}
})
}
},
async setFavorite($q: any, t: any, id: any, table: string) {
let value = {}
const tab = tools.getNumTabByTable(table)
return await Api.SendReq('/users/cmd', 'POST', { cmd: CMD_USER.SET_FAVORITE, id, tab, value })
.then((res) => {
if (res && res.data.state === 1) {
this.my.profile.favorite.push({ id, tab })
tools.showPositiveNotif($q, t('cmd.favorite_set'))
} else if (res && res.data.state === -1) {
this.my.profile.favorite = tools.removeItemOnce(this.my.profile.favorite, { id, tab })
tools.showPositiveNotif($q, t('db.favorite_unset'))
}
}).catch((error) => {
tools.showNegativeNotif($q, t('db.recfailed'))
return {}
})
},
isBookmarked(id: string, table: string) {
const tab = tools.getNumTabByTable(table)
const mybookmark = this.my.profile.bookmark.find((rec: IBookmark) => ((rec.id === id) && (rec.tab === tab)))
return mybookmark
},
isFavorite(id: string, table: string) {
const tab = tools.getNumTabByTable(table)
const myfavorite = this.my.profile.favorite.find((rec: IBookmark) => ((rec.id === id) && (rec.tab === tab)))
return myfavorite
},
async setBookmark($q: any, t: any, id: any, table: string) {
let value = {}
const tab = tools.getNumTabByTable(table)
return await Api.SendReq('/users/cmd', 'POST', { cmd: CMD_USER.SET_BOOKMARK, id, tab, value })
.then((res) => {
if (res && res.data.state === 1) {
tools.showPositiveNotif($q, t('cmd.bookmark_set'))
} else if (res && res.data.state === -1) {
tools.showPositiveNotif($q, t('db.bookmark_unset'))
}
}).catch((error) => {
tools.showNegativeNotif($q, t('db.recfailed'))
return {}
})
},
},
})

View File

@@ -1025,7 +1025,7 @@ export const useGlobalStore = defineStore('GlobalStore', {
path = path.substring(1)
const mypage = this.getPage(`/${path}`)
console.log('mypage', mypage)
// console.log('mypage', mypage)
// Controlla se l'ho già caricato
if (!!mypage && (!!mypage.content || mypage.loadFirst || mypage.loaded)) {

View File

@@ -316,13 +316,6 @@
EseguiFunz('ReplaceUsername', search_username, replace_username)
"
></q-btn>
<q-btn
label="Replace Circuit"
color="primary"
@click="
EseguiFunz('ReplaceCircuitName', search_username, replace_username)
"
></q-btn>
<br />
</div>
<div class="row">
@@ -335,16 +328,6 @@
></q-btn>
<br />
</div>
<div class="row">
<q-btn
label="Replace All Circuits with 'Circuito RIS nomeprovincia'"
color="primary"
@click="
EseguiFunz('ReplaceAllCircuits')
"
></q-btn>
<br />
</div>
<div class="row">
<q-input
v-model="valmin"

View File

@@ -127,7 +127,9 @@
</CMyFieldDb>
<div class="myrow">
<CMyFieldDb
v-if="false"
:title="$t('reg.nationality')"
table="users"
tablesel="countries"

View File

@@ -330,6 +330,7 @@ export default defineComponent({
'profile.img': 1,
'profile.mycircuits': 1,
'profile.qualifica': 1,
'profile.resid_province': 1,
'account._id': 1,
'account.saldo': 1,
'account.fidoConcesso': 1,

View File

@@ -256,9 +256,6 @@
style="max-width: 500px"
v-if="tools.iCanShowCircuitsMember(circuit)"
>
<div class="text-h7 q-mb-sm">
<div v-html="$t('circuit.collettivi_info')"></div>
</div>
<q-tabs
v-show="tools.iAmAdminCircuit(circuit.name)"
v-model="tabmembers"

View File

@@ -197,6 +197,7 @@ export default defineComponent({
'profile.img': 1,
'profile.mygroups': 1,
'profile.qualifica': 1,
'profile.resid_province': 1,
reported: 1,
date_report: 1,
username_who_report: 1,

View File

@@ -619,9 +619,7 @@
<div
v-if="
userStore.userprofile &&
userStore.userprofile._id &&
(userStore.IsMyFriendByUsername(userStore.userprofile.username) ||
isMyRecord(userStore.userprofile.username))
userStore.userprofile._id
"
>
<CTitleBanner
@@ -637,6 +635,13 @@
class="fit column no-wrap justify-evenly content-start"
>
<div class="col-md-6 col-sm-6 q-ma-xs col-xs-12">
<CLabel
v-if="!!userStore.userprofile.profile.resid_province"
v-bind="$attrs"
:copy="false"
:value="globalStore.getProvinceByProv(userStore.userprofile.profile.resid_province)"
label="Provincia"
/>
<CDateTime
v-if="
checkifShow('profile.dateofbirth') &&
@@ -657,13 +662,6 @@
"
label="Cellulare"
/>
<CLabel
v-if="!!userStore.userprofile.profile.resid_province"
v-bind="$attrs"
:copy="true"
:value="globalStore.getProvinceByProv(userStore.userprofile.profile.resid_province)"
label="Provincia"
/>
<!--
<CMyFieldRec

View File

@@ -37,7 +37,7 @@ export default defineComponent({
const table = ref(toolsext.TABMYSKILLS)
const idSkill = computed(() => $route.params.idSkill ? $route.params.idSkill.toString() : 0)
const idSkill = computed(() => $route.params.idSkill ? $route.params.idSkill.toString() : '')
const filtroutente = ref(<any[]>[])
const showPic = ref(false)
@@ -57,7 +57,7 @@ export default defineComponent({
function loadSkill() {
// Carica il profilo di quest'utente
if (idSkill.value) {
/*
userStore.loadSkill(idSkill.value).then((ris) => {
myskill.value = ris
if (ris.userId) {
@@ -65,7 +65,7 @@ export default defineComponent({
}
})
*/
}
}