Unsubscribe
This commit is contained in:
27
.env.test.risosrv
Executable file
27
.env.test.risosrv
Executable file
@@ -0,0 +1,27 @@
|
|||||||
|
APP_VERSION="0.5.66"
|
||||||
|
SERVICE_WORKER_FILE="service-worker.js"
|
||||||
|
APP_ID="13"
|
||||||
|
DIRECTORY_LOCAL=newfreeplanet
|
||||||
|
DIRECTORY_SERVER=test.freeplanet_serverside
|
||||||
|
SERVERDIR_WEBSITE="splendidus.it/riso"
|
||||||
|
APP_URL="https://riso.splendidus.it"
|
||||||
|
URL_FACEBOOK=""
|
||||||
|
PROVA_PAOLO=""
|
||||||
|
LANG_DEFAULT="it"
|
||||||
|
PAO_APP_ID="KKPPAA5KJK435J3KSS9F9D8S9F8SD98F9SDF"
|
||||||
|
MASTER_KEY="KKPPSS5KJK435J3KSS9F9D8S9F8SD3CR3T"
|
||||||
|
MONGODB_HOST="https://splendidus.it:3001"
|
||||||
|
LOGO_REG='riso-logo-full.png'
|
||||||
|
TEST_NAME=""
|
||||||
|
TEST_SURNAME=""
|
||||||
|
TEST_EMAIL=""
|
||||||
|
TEST_USERNAME=""
|
||||||
|
TEST_PASSWORD=""
|
||||||
|
TEST_APORTADOR=""
|
||||||
|
PUBLICKEY_PUSH="BGXRf1TgcqocqD6J7qnRgCG7AvM2lxAoW7peb7UEzB4SxBb6DxGRdJ0UvD9ewnrB9KrSrh0-aDCODXBm7sZ1DDs"
|
||||||
|
IN_CONSTRUCTION="0"
|
||||||
|
DEBUG="1"
|
||||||
|
TELEGRAM_SUPPORT=""
|
||||||
|
PROJECT_ID_MAIN="5cc0a13fe5c9d156728f400a"
|
||||||
|
TEST_CELL=""
|
||||||
|
ISTEST=1
|
||||||
27
deploy_risosrv_on_test_server.sh
Executable file
27
deploy_risosrv_on_test_server.sh
Executable file
@@ -0,0 +1,27 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
source ./.env.test.risosrv
|
||||||
|
|
||||||
|
msg="*** Sincronizzazione ??? $DIRECTORY_LOCAL e $SERVERDIR_WEBSITE (Y/N) ? "
|
||||||
|
|
||||||
|
if [ "$1" = "" ]; then
|
||||||
|
read -p "$msg" risposta
|
||||||
|
else
|
||||||
|
risposta=$1
|
||||||
|
fi
|
||||||
|
|
||||||
|
cp .env.production .env.prod.bak
|
||||||
|
cp .env.test.risosrv .env.production
|
||||||
|
|
||||||
|
sleep 1
|
||||||
|
|
||||||
|
npm run buildpwa
|
||||||
|
|
||||||
|
echo "Sincronizzazione $SERVERDIR_WEBSITE in remoto..."
|
||||||
|
rsync -e 'ssh -p 5522' -a dist/pwa/ root@risosrv:/home/$SERVERDIR_WEBSITE
|
||||||
|
|
||||||
|
cp .env.prod.bak .env.production
|
||||||
|
|
||||||
|
sleep 1
|
||||||
|
|
||||||
|
echo "Finito $SERVERDIR_WEBSITE"
|
||||||
11
send_pwa_to_risotest.sh
Executable file
11
send_pwa_to_risotest.sh
Executable file
@@ -0,0 +1,11 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
source .env.test.risosrv
|
||||||
|
|
||||||
|
cp .env.test.risosrv .env.production
|
||||||
|
|
||||||
|
echo "Sincronizzazione in remoto $SERVERDIR_WEBSITE ..."
|
||||||
|
rsync -e 'ssh -p 5522' -a dist/pwa/ root@risosrv:/home/$SERVERDIR_WEBSITE/
|
||||||
|
echo "Finito $SERVERDIR_WEBSITE"
|
||||||
|
|
||||||
|
cp .env.prod.bak .env.production
|
||||||
@@ -97,7 +97,7 @@ export default defineComponent({
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (tools.isManager()) {
|
if (tools.isManager()) {
|
||||||
console.log('getcookie: ', editOn.value, mypathin.value)
|
// console.log('getcookie: ', editOn.value, mypathin.value)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -141,7 +141,7 @@
|
|||||||
>
|
>
|
||||||
<q-item-section avatar>
|
<q-item-section avatar>
|
||||||
<q-avatar round size="48px">
|
<q-avatar round size="48px">
|
||||||
<img :src="userStore.getImgByProfile(row, true, col)" />
|
<img :src="userStore.getImgByProfile(row, false, col)" />
|
||||||
<q-badge
|
<q-badge
|
||||||
v-if="tools.isUserOnline(row, col)"
|
v-if="tools.isUserOnline(row, col)"
|
||||||
align="top"
|
align="top"
|
||||||
|
|||||||
@@ -318,7 +318,7 @@
|
|||||||
class="animated chip_shadow q-ma-sm"
|
class="animated chip_shadow q-ma-sm"
|
||||||
clickable
|
clickable
|
||||||
v-ripple
|
v-ripple
|
||||||
@click="gotoPage(`/signup/${user.username}`)"
|
@click="gotoPage(`/registrati/${user.username}`)"
|
||||||
>
|
>
|
||||||
<q-item-section avatar>
|
<q-item-section avatar>
|
||||||
<q-avatar round size="48px">
|
<q-avatar round size="48px">
|
||||||
|
|||||||
@@ -38,7 +38,7 @@ export default defineComponent({
|
|||||||
return 'linear-gradient(180deg, ' + mycol + ' 95%, #FFF)'
|
return 'linear-gradient(180deg, ' + mycol + ' 95%, #FFF)'
|
||||||
})
|
})
|
||||||
|
|
||||||
console.log('LandingFooter - INIT')
|
// console.log('LandingFooter - INIT')
|
||||||
|
|
||||||
function TelegramSupport() {
|
function TelegramSupport() {
|
||||||
return globalStore.getValueSettingsByKey('TELEGRAM_SUPPORT', false)
|
return globalStore.getValueSettingsByKey('TELEGRAM_SUPPORT', false)
|
||||||
|
|||||||
@@ -31,6 +31,7 @@ const msg_website_it = {
|
|||||||
mygood2: 'mygood2',
|
mygood2: 'mygood2',
|
||||||
fundraising: 'Sostieni il Progetto',
|
fundraising: 'Sostieni il Progetto',
|
||||||
notifs: 'Configura le Notifiche',
|
notifs: 'Configura le Notifiche',
|
||||||
|
unsubscribe: 'Disiscriviti',
|
||||||
test: 'Test',
|
test: 'Test',
|
||||||
projects: 'Progetti',
|
projects: 'Progetti',
|
||||||
report: 'Report Ore',
|
report: 'Report Ore',
|
||||||
|
|||||||
@@ -58,13 +58,12 @@ export default defineComponent({
|
|||||||
|
|
||||||
const idparam = computed( () => $route.params.idparam ? $route.params.idparam.toString() : '')
|
const idparam = computed( () => $route.params.idparam ? $route.params.idparam.toString() : '')
|
||||||
|
|
||||||
|
|
||||||
async function mounted() {
|
async function mounted() {
|
||||||
await load()
|
await load()
|
||||||
newsstate.value = DefaultNewsState
|
newsstate.value = DefaultNewsState
|
||||||
// tab = tools.getCookie('formnews', 'check')
|
// tab = tools.getCookie('formnews', 'check')
|
||||||
tab.value = $route.params.idparam.toString()
|
tab.value = idparam.value
|
||||||
emailtextheader.value = getValDb('EMAIL_TEXT', true)
|
// emailtextheader.value = getValDb('EMAIL_TEXT', true)
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -308,6 +307,7 @@ export default defineComponent({
|
|||||||
costanti,
|
costanti,
|
||||||
fieldsTable,
|
fieldsTable,
|
||||||
globalStore,
|
globalStore,
|
||||||
|
idparam,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
@@ -453,6 +453,16 @@ function getRoutesAd(site: ISites) {
|
|||||||
inmenu: false,
|
inmenu: false,
|
||||||
infooter: false,
|
infooter: false,
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
active: true,
|
||||||
|
order: 200,
|
||||||
|
path: '/unsubscribe',
|
||||||
|
materialIcon: 'fas fa-envelope',
|
||||||
|
name: 'pages.unsubscribe',
|
||||||
|
component: () => import('@/views/email/unsubscribe/unsubscribe.vue'),
|
||||||
|
inmenu: false,
|
||||||
|
infooter: false,
|
||||||
|
},
|
||||||
{
|
{
|
||||||
active: true,
|
active: true,
|
||||||
order: 400,
|
order: 400,
|
||||||
|
|||||||
@@ -5592,7 +5592,7 @@ export const tools = {
|
|||||||
// console.log('OUT', res)
|
// console.log('OUT', res)
|
||||||
|
|
||||||
if (res && res.userprofile) {
|
if (res && res.userprofile) {
|
||||||
console.log('updateMyData', res.userprofile)
|
// console.log('updateMyData', res.userprofile)
|
||||||
userStore.my.profile = res.userprofile
|
userStore.my.profile = res.userprofile
|
||||||
|
|
||||||
if (res.listcircuits) {
|
if (res.listcircuits) {
|
||||||
@@ -7599,7 +7599,7 @@ export const tools = {
|
|||||||
|
|
||||||
checkApp() {
|
checkApp() {
|
||||||
const globalStore = useGlobalStore()
|
const globalStore = useGlobalStore()
|
||||||
console.log('checkApp (homescreen=', globalStore.homescreen)
|
// console.log('checkApp (homescreen=', globalStore.homescreen)
|
||||||
|
|
||||||
try {
|
try {
|
||||||
let displayMode = 'browser'
|
let displayMode = 'browser'
|
||||||
@@ -7607,11 +7607,11 @@ export const tools = {
|
|||||||
// @ts-ignore
|
// @ts-ignore
|
||||||
if (((navigator && (navigator.standalone))) ||
|
if (((navigator && (navigator.standalone))) ||
|
||||||
(window.matchMedia(mqStandAlone).matches)) {
|
(window.matchMedia(mqStandAlone).matches)) {
|
||||||
console.log('navigator.standalone')
|
// console.log('navigator.standalone')
|
||||||
displayMode = 'standalone'
|
displayMode = 'standalone'
|
||||||
}
|
}
|
||||||
// prova altro 2
|
// prova altro 2
|
||||||
console.log('displayMode = ', displayMode)
|
// console.log('displayMode = ', displayMode)
|
||||||
|
|
||||||
globalStore.isAppRunning = displayMode === 'standalone' || globalStore.homescreen
|
globalStore.isAppRunning = displayMode === 'standalone' || globalStore.homescreen
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
@@ -7620,7 +7620,7 @@ export const tools = {
|
|||||||
|
|
||||||
},
|
},
|
||||||
initprompt() {
|
initprompt() {
|
||||||
console.log('initprompt')
|
// console.log('initprompt')
|
||||||
const globalStore = useGlobalStore()
|
const globalStore = useGlobalStore()
|
||||||
|
|
||||||
window.addEventListener('beforeinstallprompt', (event) => {
|
window.addEventListener('beforeinstallprompt', (event) => {
|
||||||
|
|||||||
@@ -85,7 +85,7 @@ export const useNotifStore = defineStore('NotifStore', {
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
updateArrRecNotifFromServer(arrrecnotif: INotif[]) {
|
updateArrRecNotifFromServer(arrrecnotif: INotif[]) {
|
||||||
console.log('arrrecnotif', arrrecnotif)
|
// console.log('arrrecnotif', arrrecnotif)
|
||||||
if (arrrecnotif && arrrecnotif.length > 0) {
|
if (arrrecnotif && arrrecnotif.length > 0) {
|
||||||
this.last_notifs = arrrecnotif
|
this.last_notifs = arrrecnotif
|
||||||
|
|
||||||
|
|||||||
@@ -503,7 +503,7 @@ export const useGlobalStore = defineStore('GlobalStore', {
|
|||||||
static_data.routes = [...baseroutes, ...adminRoutes, ...arrpagesroute, last]
|
static_data.routes = [...baseroutes, ...adminRoutes, ...arrpagesroute, last]
|
||||||
}
|
}
|
||||||
|
|
||||||
for (const menu of static_data.routes) {
|
/*for (const menu of static_data.routes) {
|
||||||
if (menu.active && menu.routes2) {
|
if (menu.active && menu.routes2) {
|
||||||
for (const menu2 of menu.routes2) {
|
for (const menu2 of menu.routes2) {
|
||||||
if (menu2.active && !menu2.noroute) {
|
if (menu2.active && !menu2.noroute) {
|
||||||
@@ -511,7 +511,7 @@ export const useGlobalStore = defineStore('GlobalStore', {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}*/
|
||||||
|
|
||||||
// Sort array
|
// Sort array
|
||||||
static_data.routes = static_data.routes.sort((a, myb) => a.order - myb.order)
|
static_data.routes = static_data.routes.sort((a, myb) => a.order - myb.order)
|
||||||
@@ -522,19 +522,19 @@ export const useGlobalStore = defineStore('GlobalStore', {
|
|||||||
|
|
||||||
if ($router) {
|
if ($router) {
|
||||||
static_data.routes.forEach((route: any) => {
|
static_data.routes.forEach((route: any) => {
|
||||||
if (!$router.hasRoute(route.name)) {
|
if (!$router.hasRoute(route.name) && !route.noroute) {
|
||||||
$router.addRoute(route)
|
$router.addRoute(route)
|
||||||
}
|
}
|
||||||
|
|
||||||
if (route.routes2) {
|
if (route.routes2) {
|
||||||
for (const route2 of route.routes2) {
|
for (const route2 of route.routes2) {
|
||||||
if (!$router.hasRoute(route2.name)) {
|
if (!$router.hasRoute(route2.name) && !route2.noroute) {
|
||||||
$router.addRoute(route2)
|
$router.addRoute(route2)
|
||||||
}
|
}
|
||||||
|
|
||||||
if (route2.routes2) {
|
if (route2.routes2) {
|
||||||
for (const route3 of route2.routes2) {
|
for (const route3 of route2.routes2) {
|
||||||
if (!$router.hasRoute(route3.name)) {
|
if (!$router.hasRoute(route3.name) && !route3.noroute) {
|
||||||
$router.addRoute(route3)
|
$router.addRoute(route3)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -1040,7 +1040,7 @@ export const useGlobalStore = defineStore('GlobalStore', {
|
|||||||
if (res) {
|
if (res) {
|
||||||
const index = this.mypage.findIndex((rec) => rec.path === path)
|
const index = this.mypage.findIndex((rec) => rec.path === path)
|
||||||
if (index >= 0) {
|
if (index >= 0) {
|
||||||
console.log('load page', path, '...')
|
// console.log('load page', path, '...')
|
||||||
this.mypage[index] = res.data.mypage
|
this.mypage[index] = res.data.mypage
|
||||||
this.mypage[index].loaded = true
|
this.mypage[index].loaded = true
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,7 +2,7 @@ import { serv_constants } from '@store/Modules/serv_constants'
|
|||||||
|
|
||||||
import { tools } from '@store/Modules/tools'
|
import { tools } from '@store/Modules/tools'
|
||||||
|
|
||||||
import { defineComponent, ref } from 'vue'
|
import { computed, defineComponent, ref } from 'vue'
|
||||||
import { useI18n } from '@src/boot/i18n'
|
import { useI18n } from '@src/boot/i18n'
|
||||||
import { useUserStore } from '@store/UserStore'
|
import { useUserStore } from '@store/UserStore'
|
||||||
import { useGlobalStore } from '@store/globalStore'
|
import { useGlobalStore } from '@store/globalStore'
|
||||||
@@ -11,22 +11,6 @@ import { useRoute } from 'vue-router'
|
|||||||
|
|
||||||
export default defineComponent({
|
export default defineComponent({
|
||||||
name: 'Unsubscribe',
|
name: 'Unsubscribe',
|
||||||
props: {
|
|
||||||
mystr: {
|
|
||||||
type: String,
|
|
||||||
required: true,
|
|
||||||
},
|
|
||||||
myval: {
|
|
||||||
type: Number,
|
|
||||||
required: true,
|
|
||||||
default: 0,
|
|
||||||
},
|
|
||||||
mybool: {
|
|
||||||
type: Boolean,
|
|
||||||
required: true,
|
|
||||||
default: false,
|
|
||||||
},
|
|
||||||
},
|
|
||||||
components: {},
|
components: {},
|
||||||
setup(props, { emit }) {
|
setup(props, { emit }) {
|
||||||
const $q = useQuasar()
|
const $q = useQuasar()
|
||||||
@@ -36,25 +20,25 @@ export default defineComponent({
|
|||||||
|
|
||||||
const risultato = ref('...')
|
const risultato = ref('...')
|
||||||
const riscode = ref(0)
|
const riscode = ref(0)
|
||||||
|
const param = ref(<any>null)
|
||||||
|
|
||||||
function disiscritto() {
|
const disiscritto = computed(() => {
|
||||||
return riscode.value === serv_constants.RIS_UNSUBSCRIBED_OK
|
return riscode.value === serv_constants.RIS_UNSUBSCRIBED_OK
|
||||||
}
|
})
|
||||||
|
|
||||||
function errore() {
|
const errore = computed(() => {
|
||||||
return riscode.value !== serv_constants.RIS_UNSUBSCRIBED_OK
|
return riscode.value !== serv_constants.RIS_UNSUBSCRIBED_OK
|
||||||
}
|
})
|
||||||
|
|
||||||
function email() {
|
const email = computed(() => {
|
||||||
return $route.query.email
|
return $route.query.email
|
||||||
}
|
})
|
||||||
|
|
||||||
function load() {
|
function load() {
|
||||||
// console.log('load')
|
// console.log('load')
|
||||||
let param
|
param.value = { em: $route.query.em, mc: $route.query.mc, locale: tools.getLocale() }
|
||||||
param = { em: $route.query.em, mc: $route.query.mc, locale: tools.getLocale() }
|
console.log('idlink = ', param.value)
|
||||||
console.log('idlink = ', param)
|
return userStore.unsubscribe(param.value)
|
||||||
return userStore.unsubscribe(param)
|
|
||||||
.then((ris: any) => {
|
.then((ris: any) => {
|
||||||
riscode.value = ris.code
|
riscode.value = ris.code
|
||||||
risultato.value = ris.msg
|
risultato.value = ris.msg
|
||||||
@@ -71,6 +55,7 @@ export default defineComponent({
|
|||||||
errore,
|
errore,
|
||||||
email,
|
email,
|
||||||
risultato,
|
risultato,
|
||||||
|
param,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|||||||
@@ -1,41 +1,50 @@
|
|||||||
<template>
|
<template>
|
||||||
<q-page padding class="vreg">
|
<q-page v-if="param && param.em" padding class="vreg">
|
||||||
<div class="q-pa-md q-gutter-sm">
|
<div class="q-pa-md q-gutter-sm">
|
||||||
<q-banner
|
<q-banner
|
||||||
rounded
|
rounded
|
||||||
class="bg-primary text-white"
|
class="bg-primary text-white"
|
||||||
color="primary q-title"
|
color="primary q-title"
|
||||||
style="text-align: center;">
|
style="text-align: center"
|
||||||
<span class="mybanner">{{ $t('components.authentication.email_verification.title_unsubscribe')}}: {{email()}}</span>
|
>
|
||||||
|
<span class="mybanner"
|
||||||
|
>{{
|
||||||
|
$t(
|
||||||
|
'components.authentication.email_verification.title_unsubscribe'
|
||||||
|
)
|
||||||
|
}}: {{ email }}</span
|
||||||
|
>
|
||||||
</q-banner>
|
</q-banner>
|
||||||
<br>
|
<br />
|
||||||
|
|
||||||
<transition
|
<transition
|
||||||
enter-active-class="animated fadeIn"
|
enter-active-class="animated fadeIn"
|
||||||
leave-active-class="animated fadeOut"
|
leave-active-class="animated fadeOut"
|
||||||
appear
|
appear
|
||||||
|
|
||||||
>
|
>
|
||||||
|
<div>
|
||||||
<q-banner
|
<q-banner
|
||||||
rounded
|
rounded
|
||||||
class="bg-warning text-black"
|
class="bg-warning text-black"
|
||||||
style="text-align: center;"
|
style="text-align: center"
|
||||||
v-if="errore()"
|
v-if="errore"
|
||||||
>
|
>
|
||||||
<span class="mybanner">{{ risultato }}</span>
|
<span class="mybanner">{{ risultato }}</span>
|
||||||
</q-banner>
|
</q-banner>
|
||||||
<q-banner
|
<q-banner
|
||||||
class="bg-positive text-white"
|
class="bg-positive text-white"
|
||||||
style="text-align: center;"
|
style="text-align: center"
|
||||||
rounded
|
rounded
|
||||||
v-if="disiscritto()"
|
v-if="disiscritto"
|
||||||
>
|
>
|
||||||
<span class="mybanner">{{ $t('components.authentication.email_verification.title_unsubscribe_done') }}</span>
|
<span class="mybanner">{{
|
||||||
|
$t(
|
||||||
|
'components.authentication.email_verification.title_unsubscribe_done'
|
||||||
|
)
|
||||||
|
}}</span>
|
||||||
</q-banner>
|
</q-banner>
|
||||||
|
</div>
|
||||||
</transition>
|
</transition>
|
||||||
|
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
</q-page>
|
</q-page>
|
||||||
</template>
|
</template>
|
||||||
|
|||||||
BIN
upload/profile/Petravale/file_832.jpg
Executable file
BIN
upload/profile/Petravale/file_832.jpg
Executable file
Binary file not shown.
|
After Width: | Height: | Size: 107 KiB |
Reference in New Issue
Block a user