PASSAGGIO A VITE !

AGG. 1.1.23
This commit is contained in:
Surya Paolo
2025-03-01 14:14:43 +01:00
parent f0098e57b2
commit bc960d38a1
1044 changed files with 5323 additions and 10823777 deletions

View File

@@ -1,5 +1,5 @@
import { defineComponent, onMounted, ref } from 'vue'
import { CTitleBanner } from '@/components/CTitleBanner'
import { CTitleBanner } from '@src/components/CTitleBanner'
import { useGlobalStore } from '@store/globalStore'
interface IPagination {
@@ -16,7 +16,7 @@ export default defineComponent({
const loading = ref(false)
const serverPagination = ref(<IPagination> { page: 1, rowsNumber: 10 })
const serverPagination = ref(<IPagination>{ page: 1, rowsNumber: 10 })
const serverData = ref(<any>[])

View File

@@ -1,31 +1,30 @@
<template>
<q-page padding class="docs-table">
<p class="caption">TableOnlyView</p>
<q-table
ref="table"
color="primary"
title="Parametri di Configurazione Server"
:rows="serverData"
:columns="columns"
:filter="filter"
selection="multiple"
v-model:selected="selected"
row-key="chiave"
v-model:pagination="serverPagination"
@request="request"
:loading="loading"
>
<q-search hide-underline v-model="filter" />
<!--<template v-slot:top-right="props" >
<q-page padding class="docs-table">
<p class="caption">TableOnlyView</p>
<q-table
ref="table"
color="primary"
title="Parametri di Configurazione Server"
:rows="serverData"
:columns="columns"
:filter="filter"
selection="multiple"
v-model:selected="selected"
row-key="chiave"
v-model:pagination="serverPagination"
@request="request"
:loading="loading"
>
<q-search hide-underline v-model="filter" />
<!--<template v-slot:top-right="props" >
<q-search hide-underline v-model="filter" />
</template>-->
</q-table>
</q-page>
</q-table>
</q-page>
</template>
<script lang="ts" src="tableOnlyView.ts">
<script lang="ts" src="./tableOnlyView.ts">
</script>
<style lang="scss" scoped>
@import 'tableOnlyView';
@import "tableOnlyView";
</style>

View File

@@ -1,9 +1,11 @@
import { computed, defineComponent, PropType, ref } from 'vue'
import { tools } from '@tools'
import { useQuasar } from 'quasar'
import { useI18n } from '@/boot/i18n'
import { useI18n } from 'vue-i18n'
import { useGlobalStore } from '@store/globalStore'
import { ICfgServer } from 'model'
import type { ICfgServer } from 'model'
interface IPageSrv {
page: number,
@@ -66,7 +68,7 @@ export default defineComponent({
chiave: keysel.value,
userId: userIdsel.value,
valore: newVal,
idapp: process.env.APP_ID!,
idapp: tools.getEnv('VITE_APP_ID')!,
}
// Save on Server

View File

@@ -4,13 +4,14 @@ import { CTitleBanner } from '../../../components/CTitleBanner'
import { CDateTime } from '../../../components/CDateTime'
import { CMyFieldDb } from '../../../components/CMyFieldDb'
import { useQuasar } from 'quasar'
import { useI18n } from '@/boot/i18n'
import { useI18n } from 'vue-i18n'
import { useUserStore } from '@store/UserStore'
import { useGlobalStore } from '@store/globalStore'
import { useCircuitStore } from '@store/CircuitStore'
import { tools } from '@store/Modules/tools'
import { tools } from '@tools'
import { costanti } from '@costanti'
import { shared_consts } from '@src/common/shared_vuejs'
import type { IOptQueryGM } from '@src/model'
export default defineComponent({
name: 'Dbop',
@@ -38,11 +39,13 @@ export default defineComponent({
const search = ref('')
const replace_username = ref('')
const risultato = ref('')
const risultatoHTML = ref('')
const incaricamento = ref(false)
const globalStore = useGlobalStore()
function EseguiFunz(miafunz: string, search_username?: string, replace_username?: string, valmin?: number, valmax?: number, circuitId?: string) {
const userStore = useUserStore()
const globalStore = useGlobalStore()
$q.dialog({
message: t('dialog.continue') + ' ' + miafunz + ' ?',
@@ -90,6 +93,16 @@ export default defineComponent({
})
}
async function getListaArg() {
risultatoHTML.value = ''
risultatoHTML.value = await globalStore.getGM_Lista_Argomenti(true)
}
async function getTabellaDaGM(options: IOptQueryGM) {
risultatoHTML.value = ''
risultatoHTML.value = await globalStore.getGM_Tabella(options)
}
return {
EseguiFunz,
tools,
@@ -108,6 +121,10 @@ export default defineComponent({
ris,
risultato,
search,
globalStore,
risultatoHTML,
getListaArg,
getTabellaDaGM,
}
},
})

View File

@@ -344,15 +344,17 @@
<q-btn
label="Esci da tutti i Circuiti a saldo Zero"
color="primary"
@click="
EseguiFunz('ExitFromAllCircuitWithZero', search_username)
"
@click="EseguiFunz('ExitFromAllCircuitWithZero', search_username)"
></q-btn>
<q-btn
label="Replace AportadorSolidario"
color="primary"
@click="
EseguiFunz('replaceAportadorSolidario', search_username, replace_username)
EseguiFunz(
'replaceAportadorSolidario',
search_username,
replace_username
)
"
></q-btn>
<q-btn
@@ -373,9 +375,7 @@
<q-btn
label="Cerca Stringa su tutto il DB"
color="primary"
@click="
EseguiFunz('SearchString', search)
"
@click="EseguiFunz('SearchString', search)"
></q-btn>
<br />
</div>
@@ -771,6 +771,22 @@
color="positive"
@click="EseguiFunz('MyElemSetIdPageInsteadThePah')"
></q-btn>
<q-btn
label="getGM_Lista_Argomenti"
color="positive"
@click="getListaArg()"
></q-btn>
<q-btn
label="getGM_Tabella Collane"
color="positive"
@click="
getTabellaDaGM({
nameTable: 'T_Web_Collane',
numrec: 500,
outhtml: true,
})
"
></q-btn>
<br />
</div>
@@ -779,6 +795,8 @@
<div class="results-content">
{{ risultato }}
</div>
<h2 v-if="!!risultatoHTML" class="results-title">Risultati HTML:</h2>
<div v-if="!!risultatoHTML" v-html="risultatoHTML"></div>
</div>
<br />
<br />
@@ -788,5 +806,5 @@
</script>
<style lang="scss" scoped>
@import './dbop';
@import "./dbop";
</style>

View File

@@ -1,9 +1,9 @@
import { defineComponent, PropType, ref } from 'vue'
import { useQuasar } from 'quasar'
import { CTitleBanner } from '@/components/CTitleBanner'
import { CTitleBanner } from '@src/components/CTitleBanner'
import { useUserStore } from '@store/UserStore'
import { useGlobalStore } from '@store/globalStore'
import { tools } from '@store/Modules/tools'
import { tools } from '@tools'
export default defineComponent({
name: 'Extralist',

View File

@@ -1,10 +1,10 @@
import { defineComponent, onMounted, ref, watch } from 'vue'
import { tools } from '@store/Modules/tools'
import { tools } from '@tools'
import { useUserStore } from '@store/UserStore'
import { useRouter } from 'vue-router'
import { useGlobalStore } from '@store/globalStore'
import { useProducts } from '@store/Products'
import { useI18n } from '@/boot/i18n'
import { useI18n } from 'vue-i18n'
import { toolsext } from '@store/Modules/toolsext'
import { useQuasar } from 'quasar'
import { costanti } from '@costanti'
@@ -14,7 +14,8 @@ import { serv_constants } from '@store/Modules/serv_constants'
import { fieldsTable } from '@store/Modules/fieldsTable'
import { CSingleCart } from '../../../components/CSingleCart'
import { CTitleBanner, CMyFieldDb } from '@components'
import { CTitleBanner } from '@src/components/CTitleBanner'
import { CMyFieldDb } from '@src/components/CMyFieldDb'
import { ICart, IOrder, IOrderCart } from '@src/model'
export default defineComponent({
@@ -129,7 +130,7 @@ export default defineComponent({
totalPrice: orderscart.reduce((total: number, rec: any) => total + rec.totalPrice, 0),
};
let rowsWithTotals: any = [...orderscart];
const rowsWithTotals: any = [...orderscart];
if (tools.isManager()) {
// Combine orders and totals

View File

@@ -19,7 +19,7 @@
<template v-slot:tutti>
<div class="row items-center no-wrap">
<div class="text-center">
{{ t('gas.tutti') }}
{{ t("gas.tutti") }}
</div>
<q-icon right name="fas fa-user-friends" />
</div>
@@ -27,7 +27,7 @@
<template v-slot:gas>
<div class="row items-center no-wrap">
<div class="text-center">
{{ t('gas.ordina_sul_gas') }}
{{ t("gas.ordina_sul_gas") }}
</div>
<q-icon right name="fas fa-user-friends" />
</div>
@@ -36,7 +36,7 @@
<template v-slot:bottega>
<div class="row items-center no-wrap">
<div class="text-center">
{{ t('gas.bottega') }}
{{ t("gas.bottega") }}
</div>
<q-icon right name="fas fa-store" />
</div>
@@ -96,8 +96,7 @@
<q-td key="totalPrice" :props="props">
<span v-if="props.row.totalPrice">
<span :class="props.row.name !== 'TOTALI' ? '' : 'totali'">
&nbsp; {{ props.row.totalPrice.toFixed(2) }}
&nbsp;</span
&nbsp; {{ props.row.totalPrice.toFixed(2) }} &nbsp;</span
>
</span>
</q-td>
@@ -113,5 +112,5 @@
</script>
<style lang="scss" scoped>
@import './gestoreordini';
@import "./gestoreordini";
</style>

View File

@@ -1 +1 @@
export {default as gestoreordini} from './orderInfo.vue'
export { default as gestoreordini } from './gestoreordini.vue'

View File

@@ -2,13 +2,13 @@ import { defineComponent, reactive, ref, watch } from 'vue'
import { serv_constants } from '@store/Modules/serv_constants'
import { useQuasar } from 'quasar'
import { useI18n } from '@/boot/i18n'
import { useI18n } from 'vue-i18n'
import { useGlobalStore } from '@store/globalStore'
import { useUserStore } from '@store/UserStore'
import { useRouter } from 'vue-router'
import useVuelidate from '@vuelidate/core'
import { validations } from '@src/views/admin/install_site/install_site-validate'
import { tools } from '@store/Modules/tools'
import { tools } from '@tools'
export default defineComponent({
name: 'install_site',
@@ -52,12 +52,12 @@ export default defineComponent({
$q.loading.show({ message: t('reset.incorso') })
userStore.addNewSite({...form})
userStore.addNewSite({ ...form })
.then((ris: any) => {
if (ris.code === serv_constants.RIS_CODE_OK) {
emailsent.value = true
idapp.value = ris.idapp
tools.showPositiveNotif($q, t('install.created', {idapp: ris.idapp}))
tools.showPositiveNotif($q, t('install.created', { idapp: ris.idapp }))
$router.replace('/signin')
form.password = ''
} else

View File

@@ -4,11 +4,11 @@ import { CTitleBanner } from '../../../components/CTitleBanner'
import { CDateTime } from '../../../components/CDateTime'
import { CMyFieldDb } from '../../../components/CMyFieldDb'
import { useQuasar } from 'quasar'
import { useI18n } from '@/boot/i18n'
import { useI18n } from 'vue-i18n'
import { useUserStore } from '@store/UserStore'
import { useGlobalStore } from '@store/globalStore'
import { useCircuitStore } from '@store/CircuitStore'
import { tools } from '@store/Modules/tools'
import { tools } from '@tools'
import { costanti } from '@costanti'
import { shared_consts } from '@src/common/shared_vuejs'
@@ -160,7 +160,7 @@ export default defineComponent({
tools.setCookie('CF_API_DIR', mydir.value)
if (dnsPageActive.value) {
// get the Tokens
// get the Tokens
optionsApi.value = await globalStore.getCloudFlareTok("gettok", selectedApi.value, "")
} else {
if (mydir.value)
@@ -216,7 +216,7 @@ export default defineComponent({
}
async function removeEmails(email: String) {
async function removeEmails(email: string) {
$q.dialog({
message: t('miab.deleteemail') + email + ' ?',
ok: {
@@ -351,7 +351,7 @@ export default defineComponent({
if (scrollArea.value) {
const el = scrollArea.value.$el;
let scrollHeight = el.scrollHeight
const scrollHeight = el.scrollHeight
if (el) {
// Use el.scrollIntoView() to instantly scroll to the element
@@ -397,7 +397,7 @@ export default defineComponent({
console.log('EseguiScript', risfunz)
//write the string of the time now
let timenowstr = '<span style="font-style: italic; color: gray;">✅ Eseguito alle ' + tools.getstrTimeAll(Date.now()) + ' -> ' + '</span><br>'
const timenowstr = '<span style="font-style: italic; color: gray;">✅ Eseguito alle ' + tools.getstrTimeAll(Date.now()) + ' -> ' + '</span><br>'
if (risfunz.stderr)
@@ -409,7 +409,7 @@ export default defineComponent({
}
const connectWebSocket = () => {
let myurlws = tools.getWssUrl()
const myurlws = tools.getWssUrl()
ws = new WebSocket(myurlws)
const input = ref('');
@@ -444,7 +444,7 @@ export default defineComponent({
// messages.value = '' // Pulisce i messaggi precedenti
inputRequired.value = false;
let timenowstr = '<br><span style="font-style: italic; color: gray;">✅ Eseguito alle ' + tools.getstrTimeAll(Date.now()) + ' -> ' + '</span><br>'
const timenowstr = '<br><span style="font-style: italic; color: gray;">✅ Eseguito alle ' + tools.getstrTimeAll(Date.now()) + ' -> ' + '</span><br>'
messages.value += timenowstr
ws.send(JSON.stringify({ user_id: userStore.my._id, type: 'start_script', scriptName, dir: mydir.value }));
@@ -537,7 +537,7 @@ export default defineComponent({
incaricamento.value = true
let myrecord = {
const myrecord = {
name: tools.getDomainSite()
}
await globalStore.getCloudFlareTok("setCorrectIpsOnDNS", selectedApi.value, selZoneId.value, null, myrecord)
@@ -642,7 +642,7 @@ export default defineComponent({
if (dnsPageActive.value) {
let checkDomainA1 = '';
for (let i = 0; i < domainsData.length; i++) {
let ris = tools.getHostPuntamento(arrDNS.value, domainsData[i].url, domainsData[i].expected!, domainsData[i].type);
const ris = tools.getHostPuntamento(arrDNS.value, domainsData[i].url, domainsData[i].expected, domainsData[i].type);
checkDomainA1 += ris.text;
if (!ris.ok) {
errorDNS.value = true;
@@ -654,35 +654,35 @@ export default defineComponent({
if (globalStore.site.enable_servermail) {
// Controlla type MX
const mxRecord = arrDNS.value.find((record: any) => record.type === 'MX' && record.name === domainSite);
checkServerMailEnabled += getResultCheckDnsParam('Server mail enabled', mxRecord, 'content', globalStore.site.servermail!)
checkServerMailEnabled += getResultCheckDnsParam('Server mail enabled', mxRecord, 'content', globalStore.site.servermail)
// *** Controlla type TXT spf1 ***
let contentTXTspf1Expected = `v=spf1 a mx:${globalStore.site.servermail} ip4:${globalStore.site.servermailip} ~all`;
const contentTXTspf1Expected = `v=spf1 a mx:${globalStore.site.servermail} ip4:${globalStore.site.servermailip} ~all`;
const mxRecordTXTspf1 = arrDNS.value.find((record: any) => record.type === 'TXT' && record.name === domainSite && (record.content.indexOf('v=spf1') > -1))
checkServerMailEnabled += getResultCheckDnsParam('TXT spf1 RECORD', mxRecordTXTspf1, 'content', contentTXTspf1Expected)
let nameDkimtoFind = `mail._domainkey.${domainSite}`;
const nameDkimtoFind = `mail._domainkey.${domainSite}`;
// Controllo DKIM:
const mxRecordTXTDKIM = arrDNS.value.find((record: any) => record.type === 'TXT' && record.name === nameDkimtoFind)
let contentTXTDKIMExpected = `v=DKIM1; h=sha256; k=rsa; s=email; p=${globalStore.site.dkim}`
const contentTXTDKIMExpected = `v=DKIM1; h=sha256; k=rsa; s=email; p=${globalStore.site.dkim}`
checkServerMailEnabled += getResultCheckDnsParam('DKIM1', mxRecordTXTDKIM, 'content', contentTXTDKIMExpected)
// Controllo DMARC:
const mxRecordTXTDMARC = arrDNS.value.find((record: any) => record.type === 'TXT' && record.name === `_dmarc.${domainSite}`)
let contentTXTMARCExpected = `v=DMARC1; p=quarantine; ruf=mailto:dmarc@${domainSite};`;
const contentTXTMARCExpected = `v=DMARC1; p=quarantine; ruf=mailto:dmarc@${domainSite};`;
checkServerMailEnabled += getResultCheckDnsParam('DMARC RECORD', mxRecordTXTDMARC, 'content', contentTXTMARCExpected)
// Controlla autoconfig
const recAutoConfig = arrDNS.value.find((record: any) => record.type === 'CNAME' && record.name === `autoconfig.${domainSite}`);
checkServerMailEnabled += getResultCheckDnsParam('AutoConfig CNAME', recAutoConfig, 'content', globalStore.site.servermail!)
checkServerMailEnabled += getResultCheckDnsParam('AutoConfig CNAME', recAutoConfig, 'content', globalStore.site.servermail)
// Controlla autodiscover
const recAutoDiscover = arrDNS.value.find((record: any) => record.type === 'CNAME' && record.name === `autodiscover.${domainSite}`);
checkServerMailEnabled += getResultCheckDnsParam('AutoDiscover CNAME', recAutoDiscover, 'content', globalStore.site.servermail!)
checkServerMailEnabled += getResultCheckDnsParam('AutoDiscover CNAME', recAutoDiscover, 'content', globalStore.site.servermail)
await getEmails()
}

View File

@@ -95,7 +95,7 @@
<q-item-section top class="col-2 gt-sm">
<q-item-label class="q-mt-sm">{{
email.slice(0, email.indexOf('@'))
email.slice(0, email.indexOf("@"))
}}</q-item-label>
</q-item-section>
@@ -215,7 +215,7 @@
buttons
transition-show="scale"
transition-hide="scale"
:max-width="200"
max-width="200"
@save="saveContentDNS"
>
<q-input
@@ -452,11 +452,11 @@
</q-card>
</q-dialog>
</template>
<script lang="ts" src="./server.ts">
</script>
<style lang="scss" scoped>
@import './server';
@import "./server";
</style>

View File

@@ -4,11 +4,11 @@ import { CTitleBanner } from '../../../components/CTitleBanner'
import { CDateTime } from '../../../components/CDateTime'
import { CMyFieldDb } from '../../../components/CMyFieldDb'
import { useQuasar } from 'quasar'
import { useI18n } from '@/boot/i18n'
import { useI18n } from 'vue-i18n'
import { useUserStore } from '@store/UserStore'
import { useGlobalStore } from '@store/globalStore'
import { useCircuitStore } from '@store/CircuitStore'
import { tools } from '@store/Modules/tools'
import { tools } from '@tools'
import { costanti } from '@costanti'
import { shared_consts } from '@src/common/shared_vuejs'