Aggiunte opzioni per il Gestore: richiede che l'invitante confermi la Reg, Notifica sul BOT , Notifica all'Admin la Reg.

This commit is contained in:
paoloar77
2022-02-27 16:55:53 +01:00
parent 9658d6cf99
commit a7771bce5d
16 changed files with 176 additions and 7 deletions

View File

@@ -1,4 +1,4 @@
APP_VERSION="0.2.12" APP_VERSION="0.2.13"
SERVICE_WORKER_FILE="service-worker.js" SERVICE_WORKER_FILE="service-worker.js"
APP_ID="13" APP_ID="13"
DIRECTORY_LOCAL="newfreeplanet" DIRECTORY_LOCAL="newfreeplanet"

View File

@@ -1,4 +1,4 @@
APP_VERSION="0.2.12" APP_VERSION="0.2.13"
SERVICE_WORKER_FILE="service-worker.js" SERVICE_WORKER_FILE="service-worker.js"
APP_ID="1" APP_ID="1"
DIRECTORY_LOCAL="newfreeplanet" DIRECTORY_LOCAL="newfreeplanet"

View File

@@ -1,4 +1,4 @@
APP_VERSION="0.2.12" APP_VERSION="0.2.13"
SERVICE_WORKER_FILE="service-worker.js" SERVICE_WORKER_FILE="service-worker.js"
APP_ID="13" APP_ID="13"
DIRECTORY_LOCAL="newfreeplanet" DIRECTORY_LOCAL="newfreeplanet"

View File

@@ -1,4 +1,4 @@
APP_VERSION="0.2.12" APP_VERSION="0.2.13"
SERVICE_WORKER_FILE="service-worker.js" SERVICE_WORKER_FILE="service-worker.js"
APP_ID="12" APP_ID="12"
DIRECTORY_LOCAL="newfreeplanet" DIRECTORY_LOCAL="newfreeplanet"

View File

@@ -768,6 +768,13 @@ export const shared_consts = {
}, },
], ],
ConfSite: {
Notif_Reg_Bot: 1,
Notif_Reg_Push_Admin: 2,
Need_Aportador_On_DataReg_To_Verify_Reg: 4,
},
getStatusStr(status: number) { getStatusStr(status: number) {
const trovatorec = this.OrderStatusStr.find((rec) => rec.value === status) const trovatorec = this.OrderStatusStr.find((rec) => rec.value === status)
return (trovatorec) ? trovatorec.label : '' return (trovatorec) ? trovatorec.label : ''

View File

@@ -141,7 +141,7 @@ export default defineComponent({
console.log('showandsel CMyFieldDb', row, col, newval) console.log('showandsel CMyFieldDb', row, col, newval)
if (newval !== valinitial) if (newval !== valinitial)
setValDb($q, mykey.value, newval, col.value.fieldtype, false, props.table, mysubkey.value, props.id, props.indrec, mysubsubkey.value) setValDb($q, mykey.value, newval, col.fieldtype, false, props.table, mysubkey.value, props.id, props.indrec, mysubsubkey.value)
} }
function withBorder() { function withBorder() {

View File

@@ -1,5 +1,6 @@
<template> <template>
<div v-if="visuElem()" :class="mytitle ? `row items-center justify-center q-ma-xs text-center` : ``"> <div v-if="visuElem()" :class="mytitle ? `row items-center justify-center q-ma-xs text-center` : ``">
<div v-if="mytitle" class="q-ma-xs"> <div v-if="mytitle" class="q-ma-xs">
<q-field rounded outlined bg-color="blue-1" dense style="min-width:110px;"> <q-field rounded outlined bg-color="blue-1" dense style="min-width:110px;">
<template v-slot:control> <template v-slot:control>

View File

@@ -285,6 +285,20 @@ const routes_manager: IListRoutes[] = [
onlyManager: true, onlyManager: true,
onlyEditor: true onlyEditor: true
}, },
{
active: true,
order: 30,
path: '/admin/confsite',
materialIcon: 'fas fa-file-alt',
name: 'otherpages.admin.confsite',
component: () => import('@/rootgen/admin/confsite/confsite.vue'),
inmenu: true,
submenu: true,
level_parent: 0,
level_child: 0.5,
onlyManager: true,
onlyEditor: true
},
{ {
active: true, active: true,
path: '/admin/newsletter', path: '/admin/newsletter',

View File

@@ -518,6 +518,7 @@ export interface IParamsQuery {
lookup3?: IParLookup lookup3?: IParLookup
lookup4?: IParLookup lookup4?: IParLookup
options?: number options?: number
extrapar?: string
} }
export interface IColGridTable { export interface IColGridTable {

View File

View File

@@ -0,0 +1,33 @@
import { defineComponent, ref, onMounted } from 'vue'
import { CImgText } from '../../../components/CImgText/index'
import { CCard } from '@/components/CCard'
import { CMyPage } from '@/components/CMyPage'
import { CTitleBanner } from '@/components/CTitleBanner'
import { CMyFieldRec } from '@/components/CMyFieldRec'
import MixinMetaTags from '@/mixins/mixin-metatags'
import { IMyBot } from 'model'
import { shared_consts } from '@/common/shared_vuejs'
import { useGlobalStore } from '@store/globalStore'
export default defineComponent({
name: 'Confsite',
components: { CImgText, CCard, CMyPage, CTitleBanner, CMyFieldRec },
setup() {
const mysite = ref(null)
const globalStore = useGlobalStore()
async function mounted() {
mysite.value = await globalStore.caricaTabella('sites', process.env.APP_ID!)
}
onMounted(mounted)
return {
mysite,
}
}
})

View File

@@ -0,0 +1,37 @@
<template>
<CMyPage title="Configura Sito" imgbackground="images/calendario_eventi.jpg" sizes="max-height: 120px">
<div class="q-ma-sm q-gutter-sm q-pa-xs">
<div v-if="mysite">
<q-banner
rounded
class="bg-primary text-white"
color="primary q-title"
style="text-align: center;">
<p class="mybanner">{{mysite.name}}</p>
</q-banner>
<CMyFieldRec
title="Opzioni Sito"
table="sites"
:id="mysite._id"
:rec="mysite"
field="confsite.options"
:canEdit="true"
:canModify="true">
</CMyFieldRec>
</div>
</div>
</CMyPage>
</template>
<script lang="ts" src="./confsite.ts">
</script>
<style lang="scss" scoped>
@import 'confsite.scss';
</style>

View File

@@ -58,6 +58,7 @@ const msg_it = {
gallery: 'Gallerie', gallery: 'Gallerie',
listaflotte: 'Flotte', listaflotte: 'Flotte',
bot: 'Bot', bot: 'Bot',
confsite: 'Configura Sito',
}, },
manage: { manage: {
menu: 'Segreteria', menu: 'Segreteria',
@@ -515,6 +516,7 @@ const msg_it = {
image: 'Immagine', image: 'Immagine',
date: 'Data', date: 'Data',
date_created: 'Creato il', date_created: 'Creato il',
options: 'Opzioni',
err: { err: {
required: 'è richiesto', required: 'è richiesto',
email: 'inserire una email valida', email: 'inserire una email valida',

View File

@@ -1106,6 +1106,9 @@ export const colTableSites = [
AddCol({ name: 'domain_provider', label_trans: 'sites.domain_provider', fieldtype: costanti.FieldType.string }), AddCol({ name: 'domain_provider', label_trans: 'sites.domain_provider', fieldtype: costanti.FieldType.string }),
AddCol({ name: 'domain_expiring', label_trans: 'reg.domain_expiring', fieldtype: costanti.FieldType.onlydate }), AddCol({ name: 'domain_expiring', label_trans: 'reg.domain_expiring', fieldtype: costanti.FieldType.onlydate }),
AddCol({ name: 'next_payment', label_trans: 'reg.next_payment', fieldtype: costanti.FieldType.onlydate }), AddCol({ name: 'next_payment', label_trans: 'reg.next_payment', fieldtype: costanti.FieldType.onlydate }),
// Configuration
// AddCol({ name: 'confsite.notif_reg', field: 'confsite', subfield: 'notif_reg', label_trans: 'reg.notif_reg', fieldtype: costanti.FieldType.boolean }),
AddCol({ name: 'confsite.options', field: 'confsite', subfield: 'options', label_trans: 'reg.options', fieldtype: costanti.FieldType.binary, jointable: 'confsite_opt', }),
AddCol(DeleteRec), AddCol(DeleteRec),
AddCol(DuplicateRec), AddCol(DuplicateRec),
] ]
@@ -2402,6 +2405,15 @@ export const fieldsTable = {
colicon: 'icon', colicon: 'icon',
noshow: true, noshow: true,
}, },
{
value: 'sites',
label: 'Siti',
columns: colTableSites,
colkey: '_id',
collabel: 'name',
colicon: 'icon',
noshow: true,
},
{ {
value: 'bottype', value: 'bottype',
label: 'Tipo di Bot', label: 'Tipo di Bot',
@@ -2411,6 +2423,15 @@ export const fieldsTable = {
colicon: 'icon', colicon: 'icon',
noshow: true, noshow: true,
}, },
{
value: 'confsite_opt',
label: 'Configura Opzioni Sito',
columns: colTableGeneric,
colkey: 'value',
collabel: 'label',
colicon: 'icon',
noshow: true,
},
{ {
value: 'users', value: 'users',
label: 'Utenti', label: 'Utenti',

View File

@@ -241,6 +241,22 @@ export const tools = {
}, },
], ],
ConfSiteOpt: [
{
label: 'Richiede che Invitante confermi la Reg',
value: shared_consts.ConfSite.Need_Aportador_On_DataReg_To_Verify_Reg,
},
{
label: 'Notif Reg sul BOT (all\'Invitante)',
value: shared_consts.ConfSite.Notif_Reg_Bot,
},
{
label: 'Notif Reg Push (Admin)',
value: shared_consts.ConfSite.Notif_Reg_Push_Admin,
},
],
SelectMetodiPagamento: [ SelectMetodiPagamento: [
{ {
id: 0, id: 0,
@@ -5044,6 +5060,10 @@ export const tools = {
const userStore = useUserStore() const userStore = useUserStore()
//if (tools.isTest() && (userStore.isAdmin || userStore.isManager))
if ((userStore.isAdmin || userStore.isManager))
return true
if (tablesel === toolsext.TABMYGROUPS) { if (tablesel === toolsext.TABMYGROUPS) {
// is Admin ? // is Admin ?
if (rec.admins) { if (rec.admins) {
@@ -5065,8 +5085,6 @@ export const tools = {
} else { } else {
return false return false
} }
// if (userStore.isAdmin || userStore.isManager)
// return true
}, },
getToByCol(col: IColGridTable, table: string, rec: any) { getToByCol(col: IColGridTable, table: string, rec: any) {

View File

@@ -809,6 +809,40 @@ export const useGlobalStore = defineStore('GlobalStore', {
}) })
}, },
async caricaTabella(table: string, extrapar: string) {
let myarr = []
const sortBy = 'descr'
const descending = 1
const myobj: any = {}
if (descending)
myobj[sortBy] = -1
else
myobj[sortBy] = 1
const params: IParamsQuery = {
table: '',
startRow: 0,
endRow: 10000,
filter: '',
filterand: '',
filtersearch: '',
filtersearch2: '',
filtercustom: '',
sortBy: myobj,
descending,
userId: '',
extrapar
}
params.table = table
return this.loadTable(params).then((data) => {
return data
}).catch((e) => {
return []
})
},
async loadPage(path: string) { async loadPage(path: string) {
const userStore = useUserStore() const userStore = useUserStore()
@@ -1482,6 +1516,7 @@ export const useGlobalStore = defineStore('GlobalStore', {
else if (table === 'accepted') myarr = [shared_consts.Accepted.CHECK_READ_GUIDELINES, shared_consts.Accepted.CHECK_SEE_VIDEO_PRINCIPI] else if (table === 'accepted') myarr = [shared_consts.Accepted.CHECK_READ_GUIDELINES, shared_consts.Accepted.CHECK_SEE_VIDEO_PRINCIPI]
else if (table === 'fieldstype') myarr = costanti.FieldTypeArr else if (table === 'fieldstype') myarr = costanti.FieldTypeArr
else if (table === 'metodo_pagamento') myarr = tools.SelectMetodiPagamento else if (table === 'metodo_pagamento') myarr = tools.SelectMetodiPagamento
else if (table === 'confsite_opt') myarr = tools.ConfSiteOpt
else if (table === 'bottype') myarr = shared_consts.BotType else if (table === 'bottype') myarr = shared_consts.BotType
else if (table === 'visibility') myarr = shared_consts.Visibility else if (table === 'visibility') myarr = shared_consts.Visibility
else if (table === 'visibilGroup') myarr = shared_consts.VisibilGroup else if (table === 'visibilGroup') myarr = shared_consts.VisibilGroup