- Nuovo Sistema di Flotte per Tutor.

X - Mettere anche la email del sognatore, per chi è abituato ad inviarla in quel modo...
X - Controllare che sul sito compaiano le informazioni del Sognatore...
This commit is contained in:
Paolo Arena
2020-06-08 13:31:44 +02:00
parent bd6ccad236
commit 2fc89ebc82
29 changed files with 1669 additions and 280 deletions

View File

@@ -33,6 +33,7 @@ export const shared_consts = {
FILTER_USER_TELEGRAM_BLOCKED: 1024,
FILTER_ATTIVI: 2048,
FILTER_NASCOSTI: 4096,
FILTER_NAVI_NON_PRESENTI: 8192,
Permissions: {
Admin: {

View File

@@ -393,18 +393,33 @@
<div>{{$t('dashboard.sognatore')}}</div>
</div>
<div class="row items-center justify-between q-ma-xs no-wrap" style="width: 100%;">
<div class="justify-center">
<q-chip class="glossy q-ma-sm" color="red" text-color="white"
icon="fas fa-ship">
{{ tools.getrigacolstr(mianave) }}
</q-chip>
<div class="items-center">
<q-icon color="blue" size="md" name="fas fa-gift"></q-icon>
</div>
</div>
<div class="justify-center">
<q-chip class="glossy q-ma-sm" color="green" text-color="white"
icon="fas fa-ship">
{{ getNaveMediatoreStr(mianave)}}
</q-chip>
<div class="items-center">
<q-icon color="blue" size="md" name="fas fa-user-check"></q-icon>
</div>
</div>
<div class="justify-center">
<q-chip class="glossy q-ma-sm" color="purple" text-color="white"
icon="fas fa-ship">
{{ getNaveSognatoreStr(mianave)}}
</q-chip>
<div class="items-center">
<q-icon color="blue" size="md" name="fas fa-flag-checkered"></q-icon>
</div>
</div>
<!--<span v-for="index of 8">{{ getNaveSognatoreStr(mianave, index)}} - </span>-->
</div>
</div>
@@ -416,7 +431,8 @@
<q-list dense>
<q-item>
<q-item-section avatar>
{{tools.getlastnavestr(dashboard.lastnave) }} &nbsp;
<!--{{tools.getlastnavestr(dashboard.lastnave) }} &nbsp;-->
{{ tools.getrigacolstr(mianave)}}
<q-icon :color="getcolornave(mianave)" name="fas fa-ship"></q-icon>
</q-item-section>
<q-item-section>
@@ -435,7 +451,9 @@
</q-slider>
</q-item-section>
<q-item-section avatar>
<q-icon color="blue" name="fas fa-flag-checkered"></q-icon>
<!--{{tools.getlastnavestr(dashboard.lastnave) }} &nbsp;-->
{{ getNaveSognatoreStr(mianave)}}
<q-icon color="purple" name="fas fa-ship"></q-icon>
</q-item-section>
</q-item>
<q-item v-if="mianave.num_tess % 2 !== 0">

View File

@@ -26,7 +26,7 @@ export default class CMyFieldDb extends MixinBase {
@Prop({ required: false, default: false }) public serv: boolean
@Prop({ required: false, default: false }) public disable: boolean
@Prop({ required: false, default: '' }) public jointable: string
@Prop({ required: false, default: '' }) public table: string
@Prop({ required: false, default: 'settings' }) public table: string
public $t
public myvalue = ''

View File

@@ -172,3 +172,11 @@
font-size: 1.25rem;
color: blue;
}
.q-table th, .q-table--dense {
padding: 2px;
}
.q-btn {
text-transform: none;
}

View File

@@ -13,11 +13,13 @@ import { CMyChipList } from '../CMyChipList'
import { CVideo } from '../CVideo'
import { validations } from './CMyFlotta-validate'
import { validationMixin } from 'vuelidate'
import { CMyDashboard } from '../CMyDashboard'
import { CDateTime } from '../CDateTime'
@Component({
mixins: [validationMixin],
validations,
components: { CTitleBanner, CMyChipList, CVideo }
components: { CTitleBanner, CMyChipList, CVideo, CMyDashboard, CDateTime }
})
export default class CMyFlotta extends MixinNave {
@@ -30,8 +32,35 @@ export default class CMyFlotta extends MixinNave {
public loading: boolean = false
public seluser = null
public showmsguser: boolean = false
public showsostituisci: boolean = false
public showdashboard: boolean = false
public showtesto: boolean = false
public notifBot: boolean = true
public deleteUser: boolean = true
public AddImbarco: boolean = false
public seltesto: string = ''
public msg_tosend_user: string = ''
public username_sostituire: string = ''
public userfreestr: string = ''
public tuttiidoni: boolean = false
public inviaemail: boolean = false
public seldonatore = null
public ordinamento: string = 'data'
public tabflotta: string = 'flotta'
public tabmsg: string = 'donatori'
public direzordin: number = -1
public tutor1: string = ''
public tutor2: string = ''
public tutor3: string = ''
public tutorslo: string = ''
public date_start: Date = null
public date_close: Date = null
public email_paypal: string = ''
public note_payment: string = ''
public link_payment: string = ''
public link_superchat: string = ''
public last_riga_aperto: string = ''
public last_col_aperto: string = ''
public MyPagination: {
sortBy: string,
descending: boolean,
@@ -65,15 +94,7 @@ export default class CMyFlotta extends MixinNave {
]
public coldonatori: any[] = [
{
name: 'index',
required: true,
label: 'Num',
align: 'left',
field: 'index',
sortable: true
},
{ name: 'rigacol', align: 'center', label: 'Posizione', field: '', sortable: true },
{ name: 'nave', align: 'center', label: 'Nave', field: '', sortable: true },
{ name: 'name', align: 'center', label: 'Nome', field: 'name', sortable: true },
{ name: 'num_tess', align: 'center', label: 'Tessitura', field: 'num_tess', sortable: true },
{ name: 'date_made_gift', align: 'center', label: 'Inviato', field: 'date_made_gift', sortable: true },
@@ -89,17 +110,49 @@ export default class CMyFlotta extends MixinNave {
public mounted() {
this.flotta = this.flottaprop
this.aggiorna()
if (!!this.flotta) {
this.last_riga_aperto = tools.getCookie('flotta_riga', '')
this.last_col_aperto = tools.getCookie('flotta_col', '')
}
if (this.isaperto)
this.apriflotta()
}
public aggiorna() {
if (!!this.flotta) {
this.tutor1 = this.flotta.tutor1
this.tutor2 = this.flotta.tutor2
this.tutor3 = this.flotta.tutor3
this.tutorslo = this.flotta.tutorslo
this.date_start = this.flotta.date_start
this.date_close = this.flotta.date_close
this.note_payment = this.flotta.note_payment
this.email_paypal = this.flotta.email_paypal
this.link_payment = this.flotta.link_payment
this.link_superchat = this.flotta.link_superchat
}
}
public getflottastr() {
if (!!this.flotta)
return 'Da ' + this.flotta.riga + '.' + this.flotta.col_prima + ' a ' + this.flotta.riga + '.' + this.flotta.col_ultima
else
if (!!this.flotta) {
let mystr = ''
if (this.flotta.provvisoria)
mystr += ' Provvisoria '
mystr += 'Da ' + this.flotta.riga + '.' + Math.ceil(this.flotta.col_prima / 8) + ' a ' + this.flotta.riga + '.' + Math.ceil(this.flotta.col_ultima / 8)
let perc = 0;
if (this.flotta.DoniTotali > 0) {
perc = Math.round((this.flotta.DoniConfermati / this.flotta.DoniTotali) * 100)
}
mystr += ' (' + this.flotta.DoniConfermati + '/' + this.flotta.DoniTotali + ') [' + perc + '%]'
if (!!this.flotta.sognatore_nomecognome)
mystr += ' - ' + this.flotta.sognatore_nomecognome
return mystr
} else
return ''
}
@@ -107,8 +160,25 @@ export default class CMyFlotta extends MixinNave {
return 'Flotta ' + this.getflottastr()
}
get log_attivita() {
if (!!this.flotta)
return this.flotta.log_attivita
else
return ''
}
public getcolorflotta() {
if (!!this.flotta) {
if (this.flotta.DoniMancanti === 0 && this.flotta.DoniTotali === 0)
return 'bg-orange'
else if (this.flotta.DoniConfermati === this.flotta.DoniTotali && this.flotta.DoniTotali > 0)
return 'bg-green'
else if (this.flotta.DoniConfermati <= this.flotta.DoniTotali)
return 'bg-blue'
else
return 'bg-blue'
}
}
public async apriflotta() {
@@ -116,26 +186,97 @@ export default class CMyFlotta extends MixinNave {
console.log('apriflotta')
this.loading = true
this.arrdonatori = await GlobalStore.actions.GetFlotta({ riga: this.flotta.riga, col_prima: this.flotta.col_prima, col_ultima: this.flotta.col_ultima })
const ris = await GlobalStore.actions.GetFlotta({
riga: this.flotta.riga,
col_prima: this.flotta.col_prima,
col_ultima: this.flotta.col_ultima
})
if (!!ris) {
this.arrdonatori = ris.arrdonatori
this.flotta = ris.flotta
this.flotta.log_attivita = this.flotta.log_attivita.replace(/\n/g, '<br>')
}
this.aggiorna()
this.loading = false
if (!!this.flotta) {
tools.setCookie('flotta_riga', this.flotta.riga)
tools.setCookie('flotta_col', this.flotta.col_prima)
}
}
public getnavestr(row) {
return tools.getRiganave(row.riga) + '.' + tools.getColnave(row.col)
get getnotifBotTxt() {
return this.seluser.name + ' (' + this.seluser.surname + ') è stato sostituito con ' + this.username_sostituire
}
public getlinkchat(row) {
return row.link_superchat
public getnavestr(row, index) {
return tools.getRiganave(row.riga) + '.' + tools.getColnave(row.col) + ' D' + (((row.col - 1) % 8) + 1)
}
public HoRicevutoIlDono(rec) {
this.seldonatore = rec
const msgtitle = this.$t('dashboard.dono_ricevuto_2')
const msginvia = this.$t('dashboard.confermi_dono_ricevuto', {
donatore: rec.name + ' ' + rec.surname
})
let mymsg = this.$t('dashboard.confermi_dono_ricevuto_msg', {
donatore: rec.name + ' ' + rec.surname + ' (' + this.$t('dashboard.posizione') + ' ' + rec.riga + '.' + rec.col + ')'
})
mymsg += ' [' + rec.riga + '.' + rec.col + ']'
tools.askConfirm(this.$q, msgtitle, msginvia + ' ' + '? (Pos ' + rec.riga + '.' + rec.col + ')', translate('dialog.yes'), translate('dialog.no'), this, '', lists.MenuAction.DONO_RICEVUTO, 0, {
param1: {
_id: rec._id,
made_gift: true,
riga: rec.riga,
col: rec.col
},
param2: rec.username,
param3: mymsg
})
}
public clickseluser(rec) {
this.seluser = rec
this.showmsguser = true
this.userfreestr = ''
}
public clicksostituisci(rec) {
this.seluser = rec
this.showsostituisci = true
this.username_sostituire = ''
this.userfreestr = ''
}
public viewdashboard(rec) {
this.seluser = rec
this.showdashboard = true
}
public Chiudi() {
this.showmsguser = false
this.showsostituisci = false
this.showtesto = false
}
public async InviaMsgAUserConfirm(msgobj, navemediatore) {
const msgtitle = translate('dialog.sendmsg')
tools.askConfirm(this.$q, msgtitle, msgobj.msgpar1 + ' ' + '?', translate('dialog.yes'), translate('dialog.no'), this, '', lists.MenuAction.INVIA_MSG_A_SINGOLO, 0, {
param1: msgobj,
param2: navemediatore
})
}
get allowSubmit() {
let error = this.$v.$error || this.$v.$invalid
@@ -145,22 +286,198 @@ export default class CMyFlotta extends MixinNave {
}
public async InviaMsgAFlotta(inviareale) {
public async InviaMsgAFlotta(inviareale, tipomsg, msg) {
const msgtitle = translate('dialog.sendmsg')
const msgtitle = msg
let msg = 'TEST msg alla Flotta ?';
if (inviareale) {
msg = 'Inviare a Tutta la Flotta il messaggio ?'
}
tools.askConfirm(this.$q, msgtitle, msg , translate('dialog.yes'), translate('dialog.no'), this, '', lists.MenuAction.INVIA_MSG_A_FLOTTA, 0, {
tools.askConfirm(this.$q, msgtitle, msg, translate('dialog.yes'), translate('dialog.no'), this, '', lists.MenuAction.INVIA_MSG_A_FLOTTA, 0, {
param1: this.flotta,
param2: inviareale,
param3: tools.TipoMsg.SEND_MSG_EFFETTUA_IL_DONO
param2: { inviareale, inviaemail: this.inviaemail },
param3: tipomsg
})
}
public Callback() {
this.loading = false
}
public ActionAfterYes(action, item, data) {
console.log('ActionAfterYes...')
if (action === lists.MenuAction.DONO_RICEVUTO) {
if (!!this.seldonatore) {
this.seldonatore.made_gift = true
}
}
this.apriflotta()
}
get getarr() {
if (this.ordinamento === 'data')
return this.arrdonatori.sort((a, b) => tools.gettimestampstrDate(a.date_made_gift) - tools.gettimestampstrDate(b.date_made_gift) * (this.direzordin))
else if (this.ordinamento === 'num')
return this.arrdonatori.sort((a, b) => a.col - b.col * (this.direzordin))
return this.arrdonatori
}
public setordin(ord) {
this.ordinamento = ord
if (this.direzordin === 1)
this.direzordin = -1
else
this.direzordin = 1
}
public InviaMsgAUser() {
if (!this.msg_tosend_user)
return
const msgobj = {
tipomsg: tools.TipoMsg.SEND_MSG_SINGOLO,
msgpar1: this.msg_tosend_user,
username: this.seluser.username,
inviareale: true,
username_mitt: '',
}
msgobj.username_mitt = UserStore.state.my.username
const naveuser = this.seluser
this.InviaMsgAUserConfirm(msgobj, naveuser)
}
get isAdmin() {
return UserStore.state.isAdmin
}
get isManager() {
return UserStore.state.isManager
}
get isTutor() {
return UserStore.state.isTutor
}
get isTratuttrici() {
return UserStore.state.isTratuttrici
}
public async SostituisciUtente(user, usernamesost, notifBottxt) {
usernamesost = usernamesost.trim()
await tools.askConfirm(this.$q, 'Sostituisci', notifBottxt + ' ?', translate('dialog.yes'), translate('dialog.no'), this, '', lists.MenuAction.SOSTITUISCI, 0, {
param1: user,
param2: {
username: usernamesost,
username_da_sostituire: user.username,
riga: user.riga,
col: user.col,
notifBot: this.notifBot,
inviaemail: this.inviaemail,
deleteUser: this.deleteUser,
AddImbarco: this.AddImbarco,
},
param3: notifBottxt
})
}
public async TrovaUserFree(username) {
this.ChiamaFunz(null, lists.MenuAction.DAMMI_PRIMO_UTENTE_LIBERO, null)
}
public async ChiamaFunz(username, func, data) {
const mydatatosave = {
username,
ind_order: -1,
myfunc: func,
notifBot: null,
data: null
}
if (!!data) {
mydatatosave.data = data
}
this.loading = true
GlobalStore.actions.askFunz({ mydata: mydatatosave }).then((ris) => {
this.loading = false
if (ris) {
if (func === lists.MenuAction.DAMMI_PRIMO_UTENTE_LIBERO) {
this.userfreestr = ris.username + ' (' + ris.name + ' ' + ris.surname + ')'
this.username_sostituire = ris.username
}
}
})
}
public async Mostraplacca(riga, col) {
const data = {
riga,
col
}
this.showtesto = true
this.seltesto = await GlobalStore.actions.GetData({ data })
}
public change_link_payment() {
if (this.flotta.link_payment !== this.link_payment) {
this.flotta.link_payment = this.link_payment
const mydata = {
link_payment: this.flotta.link_payment
}
tools.saveFieldToServer(this, 'flotte', this.flotta._id, mydata)
}
}
public change_field(fieldname) {
console.log('fieldname', this.date_start, this.flotta[fieldname], this[fieldname])
if (this.flotta[fieldname] !== this[fieldname]) {
this.flotta[fieldname] = this[fieldname]
const mydata = {
[fieldname]: this.flotta[fieldname]
}
tools.saveFieldToServer(this, 'flotte', this.flotta._id, mydata)
}
}
public change_link_superchat() {
if (this.flotta.link_superchat !== this.link_superchat) {
this.flotta.link_superchat = this.link_superchat
const mydata = {
link_superchat: this.flotta.link_superchat
}
tools.saveFieldToServer(this, 'flotte', this.flotta._id, mydata)
}
}
get isaperto() {
let open = false
if (!!this.flotta)
open = (this.flotta.riga.toString() === this.last_riga_aperto) && (this.flotta.col_prima.toString() === this.last_col_aperto)
console.log('isaperto', open, 'lastriga = ', this.last_riga_aperto, this.flotta.riga, 'last_col_aperto', this.last_col_aperto, this.flotta.col_prima)
return open
}
public async update_nave() {
this.Chiudi()
this.apriflotta()
}
public async EseguiCallServer() {
this.Chiudi()
this.loading = true
}
}

View File

@@ -1,34 +1,403 @@
<template>
<div class="text-center">
<CTitleBanner class=""
<CTitleBanner v-if="!!flotta" class=""
:title="gettitoloflotta()"
:bgcolor="getcolorflotta()"
clcolor="text-white"
:visible="false" mystyle="" myclass="myshad" canopen="true" @apri="apriflotta">
:visible="isaperto" mystyle="" myclass="myshad" canopen="true" @apri="apriflotta">
<div v-if="loading" class="q-ma-md text-center" style="height: 50px;">
<q-spinner-hourglass size="50px" color="primary"></q-spinner-hourglass>
</div>
<p v-if="flotta.provvisoria" class="text-center" style="color:red; font-weight: bold; font-size: 1.5rem;">
NAVE <span v-if="flotta.provvisoria">TEMPORANEA</span><span v-else>DEFINITIVA</span>
</p>
<div class="row">
<CDateTime
label="Data Inizio"
class="cursor-pointer"
:value.sync="date_close"
:readonly="false"
:minuteinterval="30"
:dense="true"
:canEdit="true"
@savetoclose="change_field('date_close')">
</CDateTime>
<CDateTime
label="Data Fine"
class="cursor-pointer"
:value.sync="date_start"
:readonly="false"
:minuteinterval="30"
:dense="true"
:canEdit="true"
@savetoclose="change_field('date_start')">
</CDateTime>
</div>
<q-tabs
v-model="tabflotta"
dense
class="text-grey"
active-color="primary"
indicator-color="primary"
align="justify"
narrow-indicator
>
<q-tab name="messaggi" icon="fas fa-comments" label="Messaggi"></q-tab>
<q-tab name="flotta" icon="fas fa-ship" label="Flotta"></q-tab>
<q-tab name="attivita" icon="fas fa-ship" label="Attività Eseguite"></q-tab>
</q-tabs>
<q-tab-panels v-model="tabflotta" animated>
<q-tab-panel name="messaggi">
<div class="row q-ma-md">
<q-input v-model="tutor1" label="Tutor 1:"
filled dense
debounce="1000"
@input="change_field('tutor1')">
</q-input>
<q-input v-model="tutor2" label="Tutor 2:"
filled dense
debounce="1000"
@input="change_field('tutor2')">
</q-input>
<q-input v-model="tutor3" label="Tutor 3:"
filled dense
debounce="1000"
@input="change_field('tutor3')">
</q-input>
<q-input v-model="tutorslo" label="Tutor per Sloveni:"
filled dense
debounce="1000"
@input="change_field('tutorslo')">
</q-input>
</div>
<div class="justify-sm-start q-ma-md">
<q-input v-model="email_paypal" style="max-width: 300px;" label="Email Paypal:"
filled dense
:readonly="true"
debounce="1000"
@input="change_field('email_paypal')">
</q-input>
<q-input standout bottom-slots
v-model="link_payment" style="max-width: 400px;" label="Link per Paypal.me:"
:readonly="true"
debounce="1000"
filled dense
@input="change_link_payment">
<q-btn round dense flat icon="send"
type="a" :href="link_payment"
target="_blank" color="primary">
</q-btn>
</q-input>
<q-input v-model="note_payment" style="max-width: 400px;" label="Note Aggiuntive Pagamento:"
filled dense
debounce="1000" dense
:readonly="true"
autogrow
@input="change_field('note_payment')">
</q-input>
<br>
<div class="justify-center" style="max-width: 500px;">
<q-input standout bottom-slots
filled dense
v-model="link_superchat" style="max-width: 400px;" label="Link per Super Chat:"
debounce="1000"
@input="change_link_superchat">
<q-btn round dense flat icon="send"
type="a" :href="link_superchat"
target="_blank" color="primary">
</q-btn>
</q-input>
</div>
</div>
<q-toggle v-model="inviaemail" label="Invia anche tramite Email"></q-toggle>
<q-tabs
v-model="tabmsg"
dense
class="text-grey"
active-color="primary"
indicator-color="primary"
align="justify"
narrow-indicator
>
<q-tab name="sognatore" icon="fas fa-ship" label="Sognatore"></q-tab>
<q-tab name="mediatore" icon="fas fa-ship" label="Mediatore"></q-tab>
<q-tab name="donatori" icon="fas fa-ship" label="Donatori"></q-tab>
<q-tab name="donatori_nodono" icon="fas fa-ship" label="Donatori che non hanno fatto il Dono"></q-tab>
</q-tabs>
<q-tab-panels v-model="tabmsg" animated>
<q-tab-panel name="sognatore">
<div class="row q-pa-sm q-ma-sm" style="max-width: 450px;">
<div class="q-pa-sm">
<q-btn rounded text-color="secondary" icon="fab fa-telegram"
label="TEST Messaggio a Sognatore"
@click="InviaMsgAFlotta(false, tools.TipoMsg.SEND_MSG_A_SOGNATORE, 'TEST: Inviare al Sognatore?')"></q-btn>
</div>
<div class="q-pa-sm">
<q-btn rounded color="primary" icon="fab fa-telegram"
:label="$t('dialog.sendmsg') + ` a Sognatore`"
@click="InviaMsgAFlotta(true, tools.TipoMsg.SEND_MSG_A_SOGNATORE, 'Inviare al Sognatore?')"></q-btn>
</div>
</div>
</q-tab-panel>
<q-tab-panel name="mediatore">
<div class="row q-pa-sm q-ma-sm" style="max-width: 450px;">
<div class="q-pa-sm">
<q-btn rounded text-color="secondary" icon="fab fa-telegram"
label="TEST Messaggio Mediatori"
@click="InviaMsgAFlotta(false, tools.TipoMsg.SEND_MSG_A_MEDIATORI, 'TEST: Inviare ai Mediatori?')"></q-btn>
</div>
<div class="q-pa-sm">
<q-btn rounded color="primary" icon="fab fa-telegram"
:label="$t('dialog.sendmsg') + ` a Tutti Donatori`"
@click="InviaMsgAFlotta(true, tools.TipoMsg.SEND_MSG_A_MEDIATORI, 'Inviare ai Mediatori?')"></q-btn>
</div>
</div>
</q-tab-panel>
<q-tab-panel name="donatori">
<div class="row q-pa-sm q-ma-sm" style="max-width: 450px;">
<div class="q-pa-sm">
<q-btn rounded text-color="secondary" icon="fab fa-telegram"
label="TEST Messaggio Donatori"
@click="InviaMsgAFlotta(false, tools.TipoMsg.SEND_MSG_EFFETTUA_IL_DONO, 'TEST: Inviare a tutti i Donatori?')"></q-btn>
</div>
<div class="q-pa-sm">
<q-btn rounded color="primary" icon="fab fa-telegram"
:label="$t('dialog.sendmsg') + ` a Tutti i Donatori`"
@click="InviaMsgAFlotta(true, tools.TipoMsg.SEND_MSG_EFFETTUA_IL_DONO, 'Inviare a tutti i Donatori?')"></q-btn>
</div>
</div>
</q-tab-panel>
<q-tab-panel name="donatori_nodono">
<div class="row q-pa-sm q-ma-sm" style="max-width: 450px;">
<div class="q-pa-sm">
<q-btn rounded text-color="secondary" icon="fab fa-telegram"
label="TEST Messaggio Donatori No Dono"
@click="InviaMsgAFlotta(false, tools.TipoMsg.SEND_MSG_SOLLECITO_DONATORI_NO_DONO, 'TEST: Inviare a tutti i Donatori che non hanno fatto il dono, il msg del Sollecito?')"></q-btn>
</div>
<div class="q-pa-sm">
<q-btn rounded color="primary" icon="fab fa-telegram"
:label="$t('dialog.sendmsg') + ` a Tutti i Donatori No Dono`"
@click="InviaMsgAFlotta(true, tools.TipoMsg.SEND_MSG_SOLLECITO_DONATORI_NO_DONO, 'Inviare a tutti i Donatori che non hanno fatto il dono, il msg del Sollecito?')"></q-btn>
</div>
</div>
</q-tab-panel>
</q-tab-panels>
<q-field rounded outlined bg-color="orange-3" dense>
<div class="justify-evenly" style="max-width: 300px;">
<strong>Legenda dei codici speciali da inserire nei messaggi: </strong>
<div>{link_paypalme}</div>
<div>{link_superchat}</div>
<div>{tutor1}</div>
<div>{tutor2}</div>
<div>{tutor3}</div>
<div>{tutorslo}</div>
<div>{sognatore}</div>
</div>
</q-field>
</q-tab-panel>
<q-tab-panel name="flotta">
<div>
<div class="row q-pa-sm q-ma-sm">
<div>TEST messaggio Flotta:
<q-btn rounded text-color="secondary" icon="fab fa-telegram"
label="TEST MESSAGGIO"
@click="InviaMsgAFlotta(false)"></q-btn>
<q-toggle v-model="tuttiidoni"
label="Mostra Tutti i Doni">
</q-toggle>
<div v-if="!!flotta" class="text-evidente bordo_stondato justify-between q-pa-xs-sm">
<div class="">
<q-btn rounded color="blue"
:label="flotta.sognatore_nomecognome + ' ' + ' (' + flotta.sognatore + ')'"
@click="viewdashboard({username: flotta.sognatore })">
</q-btn>
</div>
<div class="">
<div>
{{$t('dashboard.doni_ricevuti')}}:
<span class="ricevuti dati">{{flotta.DoniConfermati}}</span>
</div>
</div>
<div class="">
<div class="inviati">
{{$t('dashboard.doni_inviati_da_confermare')}}:
<span class="inviati dati">{{flotta.DoniAttesaDiConferma}}</span>
</div>
</div>
<div class="">
<div class="">
{{$t('dashboard.doni_mancanti')}}:
<span class="mancanti dati">{{flotta.DoniMancanti}}</span>
</div>
</div>
</div>
<div class="row">
<div class="row justify-center q-px-xs content-center">
<div style="width: 40px;">
<q-btn
flat
rounded
dense
color="primary"
size="md"
label="Num"
@click="setordin('num')">
</q-btn>
</div>
<div style="width: 100px;">
<q-btn
flat
rounded
dense
color="primary"
size="md"
label="Ora Invio"
@click="setordin('data')">
</q-btn>
</div>
<div style="width: 80px;">
Esegui
</div>
<div style="width: 40px;">
Nave
</div>
<div style="width: 250px;">
Nome Cognome (Username)
</div>
<div style="width: 40px;">
Tess
</div>
<div style="width: 40px;">
Msg
</div>
<div style="width: 60px;">
Sostituisci
</div>
<div style="width: 100px;">
Commenti
</div>
</div>
</div>
<div class="row" v-for="(rec, index) of getarr">
<div class="row justify-center q-px-xs content-center"
v-if="(!tuttiidoni && !rec.made_gift) || (tuttiidoni)">
<div class="row items-center q-mx-md justify-between" style="padding: 2px;">
<div style="width: 40px;">
{{index + 1}}
</div>
<div v-if="!tools.isMobile()" style="width: 100px;">
{{ tools.getstrshortDateTime(rec.date_made_gift) }}
</div>
<div>
Invia messaggio a TUTTA la Flotta:
<q-btn rounded text-color="secondary" icon="fab fa-telegram"
:label="$t('dialog.sendmsg')"
@click="InviaMsgAFlotta(true)"></q-btn>
<div class="row justify-center">
<q-btn v-if="!rec.made_gift"
rounded
dense
color="primary"
size="md"
:label="$t('dashboard.dono_ricevuto_3', {donatore: rec.name })"
@click="HoRicevutoIlDono(rec)">
</q-btn>
</div>
<div v-if="rec.made_gift">
<q-chip class="glossy"
size="sm"
text-color="white"
color="positive"
icon="fas fa-gift">
{{ $t('dialog.ok')
}}
</q-chip>
</div>
</div>
<div style="color: blue; width: 60px;">
<q-btn rounded color="blue"
flat
dense
size="md"
:label="getnavestr(rec)"
@click="Mostraplacca(tools.getRiganave(rec.riga), tools.getColnave(rec.col))">
</q-btn>
</div>
<div style="color: blue; width: 250px;">
<q-btn v-if="!!rec.profile" flat rounded dense color="blue"
:size="tools.getsizesmall()"
:label="rec.name + ' ' + rec.surname + ' (' + rec.username + ')'"
@click="viewdashboard(rec)">
</q-btn>
</div>
<div v-if="!tools.isMobile()">
({{ rec.num_tess }})
</div>
<div style="color: blue; width: 40px;">
<q-btn color="blue"
dense
size="md"
label="Msg"
@click="clickseluser(rec)">
</q-btn>
</div>
<div style="color: blue; width: 70px;">
<q-btn color="red"
dense
size="md"
label="Sostituisci"
@click="clicksostituisci(rec)">
</q-btn>
</div>
</div>
<div v-if="!!rec.commento_al_sognatore" class="wrap">
{{ rec.commento_al_sognatore }}
</div>
</div>
<q-table
</div>
<!--<q-table
v-if="false"
dense
color="primary"
dense
flat
table-style="padding: 0px;"
table-style="padding: 0;"
:title="$t('dashboard.donatori')"
:data="arrdonatori"
:columns="getcol"
@@ -37,16 +406,13 @@
row-key="index">
<template v-slot:body="props">
<q-tr :props="props">
<q-td v-if="!tools.isMobile()" key="index" :props="props">
{{ props.row.index }}
</q-td>
<q-td v-if="!tools.isMobile()" key="nave" :props="props">
<div style="font-size:1rem;"><a :href="getlinkchat(props.row)" target="_blank">{{
getnavestr(props.row)}}</a></div>
</q-td>
<q-td key="name" :props="props">
<q-btn v-if="!!props.row.profile" flat rounded color="blue"
:size="tools.getsize()"
<q-btn v-if="!!props.row.profile" flat rounded dense color="blue"
:size="tools.getsizesmall()"
:label="props.row.name + ' ' + props.row.surname"
@click="clickseluser(props.row)">
</q-btn>
@@ -56,8 +422,8 @@
}}
</div>
</q-td>
<q-td v-if="!tools.isMobile()" key="posizione" :props="props">
{{ props.row.riga }}.{{ props.row.col }}
<q-td v-if="!tools.isMobile()" key="num_tess" :props="props">
{{ props.row.num_tess }}
</q-td>
<q-td v-if="!tools.isMobile()" key="date_made_gift" :props="props">
{{ tools.getstrshortDateTime(props.row.date_made_gift) }}
@@ -68,8 +434,9 @@
<q-btn v-if="!props.row.made_gift"
push
rounded
dense
color="primary"
size="md"
size="sm"
:label="$t('dashboard.dono_ricevuto_3', {donatore: props.row.name })"
@click="HoRicevutoIlDono(props.row)">
@@ -77,6 +444,7 @@
</div>
<div v-if="props.row.made_gift">
<q-chip class="glossy"
size="sm"
text-color="white"
color="positive"
icon="fas fa-gift">
@@ -87,9 +455,33 @@
</q-td>
</q-tr>
</template>
</q-table>
</q-table>-->
</div>
</q-tab-panel>
<q-tab-panel name="attivita">
<div class="text-left" v-html="log_attivita"></div>
</q-tab-panel>
</q-tab-panels>
<q-dialog v-model="showdashboard">
<q-card v-if="seluser" :style="`min-width: `+ tools.myheight_dialog() + `px;` ">
<q-toolbar class="bg-primary text-white" style="min-height: 30px;">
<q-toolbar-title>
<div v-if="!!seluser">
{{ seluser.name }} {{ seluser.surname }}
</div>
</q-toolbar-title>
<q-btn flat round color="white" icon="close" v-close-popup clickable
@click="Chiudi"></q-btn>
</q-toolbar>
<q-card-section class="inset-shadow" style="padding: 4px !important;">
<CMyDashboard :username="seluser.username">
</CMyDashboard>
</q-card-section>
</q-card>
</q-dialog>
<q-dialog v-model="showmsguser">
<q-card v-if="seluser" :style="`min-width: `+ tools.myheight_dialog() + `px;` ">
<q-toolbar class="bg-primary text-white" style="min-height: 30px;">
@@ -137,12 +529,29 @@
</div>
</div>
</div>
</div>
</q-card-section>
</q-card>
</q-dialog>
<q-dialog v-model="showsostituisci">
<q-card v-if="seluser" :style="`min-width: `+ tools.myheight_dialog() + `px;` ">
<q-toolbar class="bg-primary text-white" style="min-height: 30px;">
<q-toolbar-title>
<div v-if="!!seluser">
{{ seluser.name }} {{ seluser.surname }}
</div>
</q-toolbar-title>
<q-btn flat round color="white" icon="close" v-close-popup clickable
@click="Chiudi"></q-btn>
</q-toolbar>
<q-card-section class="inset-shadow" style="padding: 4px !important;">
<div class="row justify-center q-gutter-md">
<div>
<div v-if="isManager || isTutor">
<CTitleBanner class="shadow-2 rounded-borders" title="Sostituisci"
bgcolor="bg-positive"
clcolor="text-white"
:visible="false"
mystyle=" " myclass="myshad" :canopen="true">
<div class="column q-gutter-sm justify-center text-center">
@@ -185,7 +594,7 @@
<q-toggle v-model="AddImbarco"
label="Aggiungi Destinatario (senza spostarlo da altre Navi)"></q-toggle>
<q-toggle v-model="notifBot" :label="$t('dashboard.sendnotification')"></q-toggle>
<q-toggle v-model="inviaemail" label="Invia anche tramite Email"></q-toggle>
<q-btn class="q-ma-sm" rounded color="positive" text-color="white"
icon="fas fa-gift"
@@ -200,6 +609,30 @@
</q-card-section>
</q-card>
</q-dialog>
<q-dialog v-model="showtesto">
<q-card v-if="seltesto" :style="`min-width: `+ tools.myheight_dialog() + `px;` ">
<q-toolbar class="bg-primary text-white" style="min-height: 30px;">
<q-toolbar-title>
Testo:
</q-toolbar-title>
<q-btn flat round color="white" icon="close" v-close-popup clickable @click="Chiudi"></q-btn>
</q-toolbar>
<q-card-section class="inset-shadow" style="padding: 4px !important;">
<div class="">
<div>
<pre>{{ seltesto }}</pre>
</div>
</div>
</q-card-section>
</q-card>
</q-dialog>
<q-inner-loading id="spinner" :showing="loading">
<q-spinner-tail
color="primary"
size="4em">
</q-spinner-tail>
</q-inner-loading>
</CTitleBanner>
</div>

View File

@@ -42,6 +42,7 @@ export default class CMyNave extends MixinNave {
public coldoni: number = 1
public mediatore: any = null
public donatore: any = {}
public flotta: any = null
public donatore_navepers: any = {}
public mediatore_navepers: any = {}
public iodonatore: any = {}
@@ -60,6 +61,7 @@ export default class CMyNave extends MixinNave {
public msg_tosend_user: string = ''
public username_sostituire: string = ''
public userfreestr: string = ''
public commento_al_sognatore: string = ''
public MyPagination: {
sortBy: string,
descending: boolean,
@@ -98,6 +100,7 @@ export default class CMyNave extends MixinNave {
{ name: 'date_made_gift', align: 'center', label: 'Inviato', field: 'date_made_gift', sortable: true },
// { name: 'tel', align: 'center', label: 'Tel', field: 'tel', sortable: true },
{ name: 'made_gift', align: 'center', label: 'Conferm.', field: 'made_gift', sortable: true },
{ name: 'commento_al_sognatore', align: 'center', label: 'Commento', field: 'commento_al_sognatore', sortable: true },
]
public tragitto = [
@@ -175,6 +178,8 @@ export default class CMyNave extends MixinNave {
if (!!this.nave) {
if (!!this.nave.rec) {
if (!!this.nave.rec.donatore.flotta)
this.flotta = this.nave.rec.donatore.flotta
if (!!this.nave.rec.donatore)
this.donatore_navepers = this.nave.rec.donatore.navepersistente
if (!!this.nave.rec.mediatore) {
@@ -325,6 +330,12 @@ export default class CMyNave extends MixinNave {
return false
}
get getsuperchat(){
if (!!this.flotta) {
return this.flotta.link_superchat
}
}
get FattoDono() {
if (!!this.iodonatore) {
return this.iodonatore.made_gift
@@ -378,7 +389,7 @@ export default class CMyNave extends MixinNave {
donatore: rec.name + ' ' + rec.surname
})
const mymsg = this.$t('dashboard.confermi_dono_ricevuto_msg', {
let mymsg = this.$t('dashboard.confermi_dono_ricevuto_msg', {
donatore: rec.name + ' ' + rec.surname + ' (' + this.$t('dashboard.posizione') + ' ' + rec.riga + '.' + rec.col + ')'
})
@@ -407,7 +418,8 @@ export default class CMyNave extends MixinNave {
tools.askConfirm(this.$q, msgtitle, msginvia + ' ' + '?', translate('dialog.yes'), translate('dialog.no'), this, '', lists.MenuAction.DONO_INVIATO, 0, {
param1: {
_id: this.iodonatore._id,
date_made_gift: tools.getDateNow()
date_made_gift: tools.getDateNow(),
commento_al_sognatore: this.commento_al_sognatore,
},
param2: this.sognatoredelDono().username,
param3: mymsg
@@ -454,6 +466,24 @@ export default class CMyNave extends MixinNave {
return ''
}
public getpaypalmePagamentoSognatore() {
const rec = this.sognatoredelDono()
if (!!rec) {
if (!!rec.profile)
return rec.profile.link_payment
}
return ''
}
public getnoteaggiuntivePagamentoSognatore() {
const rec = this.sognatoredelDono()
if (!!rec) {
if (!!rec.profile)
return rec.profile.note_payment
}
return ''
}
get getDonoInviato() {
if (!!this.iodonatore) {
return !!this.iodonatore.date_made_gift
@@ -847,6 +877,15 @@ export default class CMyNave extends MixinNave {
this.aggiorna()
}
public async EseguiCallServer() {
this.Chiudi()
this.loading = true
}
public Callback() {
this.loading = false
}
public getstrinpartenza() {
if (this.GiornoDelDonoArrivato) {
return this.$t('dashboard.nave_partita')
@@ -976,7 +1015,7 @@ export default class CMyNave extends MixinNave {
}
get getnotifBotTxt() {
return this.seluser.name + ' ' + this.seluser.surname + ' è stato sostituito con ' + this.username_sostituire
return this.seluser.name + ' (' + this.seluser.surname + ') è stato sostituito con ' + this.username_sostituire
}
public async SostituisciUtente(user, usernamesost, notifBottxt) {

View File

@@ -114,8 +114,21 @@
{{$t('dashboard.importo')}}: <strong>33</strong>
</div>
<br>
</div>
<div class="text-evidente2 bordo_stondato_blu2">
<CTitleBanner class="q-pa-xs"
<div v-if="GiornoDelDonoArrivato && !donatore_navepers.provvisoria">
<q-img src="statics/images/regalo.jpg"
class=""
style="height: 150px; width: 150px;"
alt="regalo">
</q-img>
<div v-if="!FattoDono && !donoinviato"
v-html="$t('dashboard.effettua_il_dono', {email: getemailPagamentoSognatore() })">
</div>
<CTitleBanner v-if="!FattoDono && !donoinviato" class="q-pa-xs"
:title="$t('dashboard.come_inviare_regalo_con_paypal')"
bgcolor="bg-primary"
clcolor="text-white"
@@ -126,8 +139,11 @@
</CVideo>
</CTitleBanner>
<CTitleBanner class="q-pa-xs"
<div v-if="!FattoDono && !!getpaypalmePagamentoSognatore() && !donoinviato"
v-html="$t('dashboard.paypal_me', {link_payment: getpaypalmePagamentoSognatore() })">
</div>
<CTitleBanner v-if="!FattoDono && !!getpaypalmePagamentoSognatore() && !donoinviato"
class="q-pa-xs"
:title="$t('dashboard.come_inviare_regalo_con_paypal') + '.me'"
bgcolor="bg-primary"
clcolor="text-white"
@@ -137,26 +153,30 @@
</CVideo>
https://youtu.be/VzCy4BxQKhM
</CTitleBanner>
</div>
<div class="text-evidente2 bordo_stondato_blu2">
<div v-if="GiornoDelDonoArrivato && !donatore_navepers.provvisoria">
<div v-if="!FattoDono"
v-html="$t('dashboard.effettua_il_dono', {email: getemailPagamentoSognatore() })">
<div v-if="!FattoDono && !!getnoteaggiuntivePagamentoSognatore() && !donoinviato"
v-html="getnoteaggiuntivePagamentoSognatore()">
</div>
<div v-if="!FattoDono">
<br/>
<div v-if="!donoinviato">
{{$t('dashboard.clicca_conferma_dono')}}:<br>
<q-input type="textarea"
input-class="myinput-area"
v-model="commento_al_sognatore"
autogrow
:label="$t('dashboard.commento_al_sognatore')"
>
</q-input>
<div class="row justify-center q-ma-sm">
<q-btn push
rounded
color="positive"
size="md"
size="lg"
:label="$t('dashboard.ho_effettuato_il_dono')"
icon="fas fa-gift"
@click="HoEffettuatoIlDono">
@@ -187,8 +207,15 @@
</div>
</div>
</div>
<div v-if="!!getsuperchat && !FattoDono"
class="text-evidente bordo_stondato"
v-html="$t('dashboard.superchat', {link_superchat: getsuperchat })">
</div>
</div>
<br>
<br>
<div class="column justify-center items-center q-gutter-md tutor">
<q-btn rounded color="blue"
@@ -231,7 +258,7 @@
<div v-for="(terra, index) in nave.rec.donatore.arrterra" :key="index">
<div v-if="terra" :class="`cont_donatore text-small ` + getclassSelect(terra)">
{{ terra.name }} {{ terra.surname }} ({{ terra.username }}) - {{
terra.riga}}.{{terra.col}}<br>
terra.riga}}.{{terra.col}} <br>
</div>
</div>
</div>
@@ -253,7 +280,8 @@
{{ getindex(donatore, index + 1) }} - {{ donatore.name }} {{
donatore.surname }} ({{
donatore.username }}) - {{
donatore.riga}}.{{donatore.col}}<br>
donatore.riga}}.{{donatore.col}} <span
v-if="isAdmin"> [ord:{{ donatore.ind_order }}]</span><br>
</div>
<div>
@@ -469,6 +497,9 @@
</q-chip>
</div>
</q-td>
<q-td v-if="!tools.isMobile()" key="commento_al_sognatore" :props="props">
{{ props.row.commento_al_sognatore }}
</q-td>
</q-tr>
</template>
</q-table>
@@ -577,13 +608,13 @@
</q-field>
</div>
<q-toggle v-model="deleteUser" :label="'Elimina ' + seluser.name + ' ' + seluser.surname"></q-toggle>
<q-toggle v-model="AddImbarco" label="Aggiungi Destinatario (senza spostarlo da altre Navi)"></q-toggle>
<q-toggle v-model="deleteUser"
:label="'Elimina ' + seluser.name + ' ' + seluser.surname"></q-toggle>
<q-toggle v-model="AddImbarco"
label="Aggiungi Destinatario (senza spostarlo da altre Navi)"></q-toggle>
<q-toggle v-model="notifBot" :label="$t('dashboard.sendnotification')"></q-toggle>
<q-btn class="q-ma-sm" rounded color="positive" text-color="white"
icon="fas fa-gift"
label="Sostituisci"

View File

@@ -36,9 +36,9 @@ export default class MixinBase extends MixinMetaTags {
return tools
}
public getValDb(keystr, serv, def?, table?, subkey?) {
public getValDb(keystr, serv, def?, table?, subkey?, id?) {
return tools.getValDb(keystr, serv, def, table, subkey)
return tools.getValDb(keystr, serv, def, table, subkey, id)
}
public getValDbLang(keystr, serv, def?, table?, subkey?) {
@@ -48,7 +48,7 @@ export default class MixinBase extends MixinMetaTags {
return ris
}
public async setValDb(key, value, type, serv: boolean, table?, subkey?) {
public async setValDb(key, value, type, serv: boolean, table?, subkey?, id?) {
// console.log('setValDb', key, value, serv, table, subkey)
let mydatatosave = null
@@ -78,7 +78,7 @@ export default class MixinBase extends MixinMetaTags {
fieldsvalue: myfield
}
} else {
} else if (table === 'settings') {
GlobalStore.mutations.setValueSettingsByKey({ key, value, serv })
let myrec = GlobalStore.getters.getrecSettingsByKey(key, serv)
@@ -117,6 +117,24 @@ export default class MixinBase extends MixinMetaTags {
table: 'settings',
fieldsvalue: myrec
}
} else {
const myfield = {}
// Save to the DB:
if (subkey) {
myfield[key + '.' + subkey] = value
} else {
myfield[key] = value
}
// console.log('myfield', myfield)
mydatatosave = {
id,
table,
fieldsvalue: myfield
}
}
// console.log('mydatatosave', mydatatosave)

View File

@@ -302,7 +302,7 @@ export interface IGallery {
export interface IColl {
title: IAllLang
date: string
date?: string
subtitle?: IAllLang
img: string
img2?: string
@@ -310,6 +310,8 @@ export interface IColl {
linkagg_type?: number
width?: number
height?: number
ingallery?: boolean
inexibitions?: boolean
}
export interface ICollaborations {

View File

@@ -16,6 +16,8 @@ export interface IUserProfile {
sex?: ESexType
country_pay?: string
email_paypal?: string
link_payment?: string
note_payment?: string
username_telegram?: string
teleg_id?: number
teleg_checkcode?: number
@@ -24,6 +26,8 @@ export interface IUserProfile {
manage_telegram?: boolean
saw_zoom_presentation?: boolean
saw_and_accepted?: boolean
qualified?: boolean
qualified_2invitati?: boolean
}
export interface IPaymentType {

View File

@@ -141,13 +141,20 @@ export default class Listadoninavi extends MixinBase {
donatore: rec.name + ' ' + rec.surname
})
tools.askConfirm(this.$q, msgtitle, msginvia + ' ' + '? (Pos ' + rec.riga + '.' + rec.col + ')', translate('dialog.yes'), translate('dialog.no'), this, '', lists.MenuAction.DONO_RICEVUTO, 0, {
param1: {
let param1 = {
_id: rec._id,
made_gift: true,
riga: rec.riga,
col: rec.col,
},
date_made_gift: null
}
if (!rec.date_made_gift) {
param1.date_made_gift = tools.getDateNow()
}
tools.askConfirm(this.$q, msgtitle, msginvia + ' ' + '? (Pos ' + rec.riga + '.' + rec.col + ')', translate('dialog.yes'), translate('dialog.no'), this, '', lists.MenuAction.DONO_RICEVUTO, 0, {
param1,
param2: '',
param3: ''
})

View File

@@ -26,6 +26,10 @@ export default class UsersList extends Vue {
label: 'Nascosti',
value: shared_consts.FILTER_NASCOSTI
},
{
label: 'Navi Non Presenti!',
value: shared_consts.FILTER_NAVI_NON_PRESENTI
},
{
label: 'Non hanno visto Zoom',
value: shared_consts.FILTER_USER_NO_ZOOM

View File

@@ -17,6 +17,7 @@ const msg_de = {
tableslist: 'Tables',
},
otherpages: {
sito_offline: 'Sito in Aggiornamento',
modifprof: 'Modify Profile',
biografia: 'Biografia',
admin: {

View File

@@ -17,6 +17,7 @@ const msg_enUs = {
tableslist: 'Tables',
},
otherpages: {
sito_offline: 'Updating Website',
modifprof: 'Modify Profile',
biografia: 'Bio',
error404: 'error404',
@@ -193,6 +194,7 @@ const msg_enUs = {
},
dashboard: {
data: 'Date',
data_rich: 'Date Req.',
ritorno: 'Return',
invitante: 'Invitante',
num_tessitura: 'Numero di Tessitura:',
@@ -213,15 +215,18 @@ const msg_enUs = {
nave_in_chiusura: 'Closing Gift Chat',
nave_partita: 'departed on',
tutor: 'Tutor',
sonomediatore: 'When you become a Medalist you are contacted by a <strong>TUTOR</strong>, with him you must:<br><ol class="list">' +
/*sonomediatore: 'When you become a Medalist you are contacted by a <strong>TUTOR</strong>, with him you must:<br><ol class="list">' +
'<li>Open your <strong>Gift Chat</strong> (you as owner and the Tutor as administrator) with this name:<br><strong>{nomenave}</strong></li>' +
'<li>Click on the chat name at the top -> Edit -> Administrators -> "Add Administrator", select the Tutor in the list.</li>' +
'<li>You have to configure the chat so that whoever enters also sees the previous posts (click on the chat name at the top, click on edit,' +
'change "new members\' history" from hidden to visible.</li>' +
'<li>To find the <strong>link to the newly created Chat</strong>: Click on the Chat name at the top, click on the Pencil -> "Group Type" -> "invite to group via link", click on "copy link" and paste it in the <strong>"Link Gift Chat"</strong></li>" + box below.' +
'<li>Send the Gift Chat Link to all Donors by clicking on the button below.</li></ol>.',
sonodonatore: '<ol class="list"><li>When you are in this position, you will be invited to enter a <strong>Gift Chat</strong> (Telegram) and here you will also find the other 7 Donors, the Mediator, the Dreamer and a Staff representative.' +
'<li>You will have <strong>4 days</strong> to enter the chat and maximum 7 days to make your Gift, in the payment method that you will find written here.<br></ol>.',
*/
sonomediatore: 'When you are a MEDIATOR you will be contacted by <strong>TUTOR AYNI</strong> by message Chat <strong>AYNI BOT</strong>',
superchat: 'Note: ONLY if you have PAYMENT problems, or if you want to be REPLACED, two Tutors are waiting to help you on the Chat:<br><a href="{link_superchat}" target="_blank">Get into Gift Chat</a>.',
sonodonatore: '<ol class="lista"><li>When you are in this position, you will be invited (via a message on <strong>AYNI BOT</strong>) to make the Gift. You will no longer need to enter a Chat.</li>' +
'<li>You will have 4 days to make the Gift (then you will be replaced), in the payment method that you will find written on the message in <strong>AYNI BOT</strong>.<br></ol>',
sonodonatore_seconda_tessitura: '<ol class="lista"><li>Here you are Mediator and also Donor, but being the second Weaving, you won\'t need to make your gift again.<br></ol>',
controlla_donatori: 'Check Donor List',
link_chat: 'Gift Chat Telegram links',
@@ -251,7 +256,14 @@ const msg_enUs = {
effettua_il_dono: 'It\'s time to make your Gift!<br>' +
'Send via <a href="https://www.paypal.com" target="_blank">PayPal</a> to: <strong>{email}</strong><br>' +
'(Choose the option "SEND TO SOMEONE YOU TRUST")<br>',
paypal_me: '<br>2) Simplified Method<br><a href="{link_payment}" target="_blank">Click directly here</a><br>' +
'will open PayPal with the amount and the recipient already set.<br>' +
'Add as message: <strong>Gift</strong><br>' +
'<strong><span style="color:red">WARNING:</span> DO NOT select the box</strong>: Paypal shopping protection<br>' +
'If you have any doubts, watch the video below to see how to:' +
'Finally click on "Send Money Now".',
qui_compariranno_le_info: 'On the day of departure of the Ship, the information of the Dreamer will appear',
commento_al_sognatore: 'Write here a comment for the Dreamer:',
posizione: 'Position',
come_inviare_regalo_con_paypal: 'How to send the gift via Paypal',
ho_effettuato_il_dono: 'I Sent the Gift',
@@ -314,6 +326,8 @@ const msg_enUs = {
cellreg: 'Cellulare con cui ti eri registrato',
nationality: 'Nationality',
email_paypal: 'Email Paypal',
link_payment: 'Paypal.me link to make the payment',
note_payment: 'Additional notes',
country_pay: 'Country of Destination Payments',
username_telegram: 'Username Telegram',
telegram: 'Chat Telegram \'{botname}\'',
@@ -392,6 +406,7 @@ const msg_enUs = {
enter: 'Login',
esci: 'Logout',
errato: "Username or password wrong. Please retry again",
subaccount: "This account has been merged with your Main Account. Login using the username (and email) of the FIRST account.",
completato: 'Login successfully!',
needlogin: 'You must login before continuing',
},

View File

@@ -17,6 +17,7 @@ const msg_es = {
tableslist: 'Tablas'
},
otherpages: {
sito_offline: 'Sitio en actualización',
modifprof: 'Editar Perfil',
biografia: 'Biografia',
error404: 'error404',
@@ -193,6 +194,7 @@ const msg_es = {
},
dashboard: {
data: 'Fecha',
data_rich: 'Fecha Pedido',
ritorno: 'Regreso',
invitante: 'Invitando',
num_tessitura: 'Numero di Tessitura:',
@@ -214,7 +216,7 @@ const msg_es = {
nave_partita: 'partió en',
tutor: 'Tutor',
traduttrici: 'Traduttrici',
sonomediatore: 'Cuando te conviertes en Mediador vienes contactado por un <strong>TUTOR</strong>, con él debes:<br><ol class="lista">' +
/*Cuando te conviertes en Mediador vienes contactado por un <strong>TUTOR</strong>, con él debes:<br><ol class="lista">' +
'<li>Abrir tu <strong>Gift Chat</strong> (tu como propietario, y el Tutor ' +
'como administrador) con este nombre:<br><strong>{nomenave}</strong></li>' +
'<li>Haz clic en tu nombre en la chat en la parte de arriba-> Modifica -> Administradores -> "Agregar Administrador", selecciona el Tutor en el elenco.</li>' +
@@ -222,8 +224,12 @@ const msg_es = {
'cambia la "cronología para los nuevos miembros" de oculto a visible.</li>' +
'<li>Para encontrar el <strong>link de la Chat recién creada</strong>: haz clic en el nombre de la chat en la parte de arriba, haz clic sobre el Lápiz-> "Tipo de Grupo" -> "invita al grupo tràmite link", haz clic en "copiar link" y pégalo aquí abajo, sobre la casilla <strong>"Link Gift Chat"</strong></li>' +
'<li>Envía el Link de la Gift Chat a todos los Donadores, haciendo clic en el botón aquí abajo.</li></ol>',
sonodonatore: '<ol class="lista"><li>Cuando estás en esta posición, vendrás invitado a entrar en una <strong>Gift Chat</strong> (Telegram) y aqui encontrarás también los otros 7 Donadores, el Mediador, il Soñador y un representante del Staff.</li>' +
'<li> Tendrás <strong>4 días</strong> para entrar en el chat y un máximo de 7 días para hacer tu regalo, en la modalidad de pago que encontrarás escrita aquí. <br></ol>',
*/
sonomediatore: 'Cuando seas un MEDIADOR serás contactado por <strong>TUTOR AYNI</strong> a través de un mensaje en el Chat <strong>AYNI BOT</strong>.',
superchat: 'Nota: SOLO si tienes problemas de PAGO, o si quieres ser REEMPLAZADO, dos Tutores están esperando para ayudarte en el Chat:<br><a href="{link_superchat}" target="_blank">Entrar en el Chat de Regalos</a>.',
sonodonatore: '<ol class="lista"><li>Cuando estás en esta posición, vendrás invitado (desde un mensaje en el Chat AYNI BOT) para hacer tu regalo. </li>' +
'<li> Tendrás <strong>4 días</strong> para hacer tu regalo, en la modalidad de pago que encontrarás escrita en el mensaje. <br></ol>',
sonodonatore_seconda_tessitura: '<ol class="lista"><li>Aqui tu eres Mediador y también Donador, pero siendo tu segundo Tejido, no será necesario efectuar nuevamente tu regalo<br></ol>',
controlla_donatori: 'Revise la lista de donantes',
link_chat: 'Enlaces del Gift Chat Telegram',
@@ -253,7 +259,14 @@ const msg_es = {
effettua_il_dono: 'Es hora de hacer tu regalo!<br>' +
'Enviar por medio de <a href="https://www.paypal.com" target="_blank">PayPal</a> a: <strong>{email}</strong><br>' +
'(Elija la opción "ENVIAR A ALGUIEN DE CONFIANZA")<br>',
paypal_me: '<br>2) Método simplificado<br><a href="{link_payment}" target="_blank">Click directamente aquí</a><br>' +
'abrirá PayPal con el importe y el destinatario ya establecido.<br>' +
'Añadir como mensaje: <strong>Regalo</strong><br>' +
'<strong><span style="color:red">ADVERTENCIA:</span> NO MARCAR LA CAJA</fuerte>: Protección de compras por Paypal<br>' +
'Si tienes alguna duda, mira el video de abajo para ver cómo:' +
'Por último, haga clic en "Enviar dinero ahora"',
qui_compariranno_le_info: 'El día de la salida de la nave, la información del Soñador aparecerá',
commento_al_sognatore: 'Escribe aquí un comentario para el Soñador:',
posizione: 'Position',
come_inviare_regalo_con_paypal: 'Cómo enviar el regalo a través de Paypal',
ho_effettuato_il_dono: 'He realizado el Regalo',
@@ -318,6 +331,8 @@ const msg_es = {
cellreg: 'Cellulare con cui ti eri registrato',
nationality: 'Nacionalidad',
email_paypal: 'Email Paypal',
link_payment: 'Enlaces Paypal.me para hacer el pago',
note_payment: 'Notas adicionales',
country_pay: 'País del Pagos de destino',
username_telegram: 'Usuario Telegram',
telegram: 'Chat Telegram \'{botname}\'',
@@ -398,6 +413,7 @@ const msg_es = {
enter: 'Entra',
esci: 'Salir',
errato: "Nombre de usuario, correo o contraseña incorrectos. inténtelo de nuevo",
subaccount: "Esta cuenta ha sido fusionada con su inicial. Ingresa usando el nombre de usuario (y el correo electrónico) de tu PRIMERA cuenta.",
completato: 'Login realizado!',
needlogin: 'Debes iniciar sesión antes de continuar',
},

View File

@@ -17,6 +17,7 @@ const msg_fr = {
tableslist: 'Tables',
},
otherpages: {
sito_offline: 'Site en cours de mise à jour',
modifprof: 'Modifier le profil',
biografia: 'Biografia',
error404: 'error404',
@@ -191,7 +192,8 @@ const msg_fr = {
options: 'Options',
},
dashboard: {
data: 'Données',
data: 'Date',
data_rich: 'Date demandée',
ritorno: 'Retour',
invitante: 'Invitation',
num_tessitura: 'Numero di Tessitura:',
@@ -212,7 +214,7 @@ const msg_fr = {
nave_in_chiusura: 'Clôture Gift Chat',
nave_partita: 'parti sur',
tutor: 'Tuteur',
sonomediatore: 'Quand vous devenez Médiateur vous êtes contacté par un <strong>TUTEUR</strong>, avec lui vous devez:<br><ol class="lista">' +
/* Quand vous devenez Médiateur vous êtes contacté par un <strong>TUTEUR</strong>, avec lui vous devez:<br><ol class="lista">' +
'<li>Ouvrir votre <strong>Gift Chat</strong> (vous comme propriétaire et le Tuteur ' +
'comme administrateur) avec ce nom:<br><strong>{nomenave}</strong></li>' +
'<li>Cliquez sur le nom du chat en haut -> Modifiez -> Administrateurs -> "Ajoutez Administrateur", sélectionner le Tuteur dans la liste.</li>' +
@@ -220,8 +222,11 @@ const msg_fr = {
'changez la "chronologie pour les nouveaux membres" de cachée à visibile.</li>' +
'<li>Pour trouver le <strong>link du Chat à peine crée</strong>: cliquez sur le nom du chat en haut, cliquez sur le Crayon -> "Type de Groupe" -> "invitez dans le groupe à travers le link", cliquez sur "copiez link" et collez-le ci-dessous, dans la case <strong>"Link Gift Chat"</strong></li>' +
'<li>Envoyez le Link de la Gift Chat à tous les Donateurs, en cliquant sur le boutton ci-dessous .</li></ol>',
sonodonatore: '<ol class="lista"><li>Quand vous êtes dans cette position, vous serez invité à entrer dans un <strong>Gift Chat</strong> (Telegram) et là vous y trouverez également les autres 7 Donateurs,le Médiateur, le Rêveur et un représentant du Staff.</li>' +
'<li>Vous aurez <strong>4 jours</strong> pour entrer dans le chat et 7 jours maximum pour faire votre cadeau, dans la modalité de paiement que vous trouverez écrit ici.<br></ol>',
*/
sonomediatore: 'Lorsque vous êtes un MEDIATEUR, vous serez contacté par <strong>TUTOR AYNI</strong> via un message sur le Chat <strong>AYNI BOT</strong>.',
superchat: 'Note : SEULEMENT si vous avez des problèmes de PAIEMENT, ou si vous voulez être REMPLACÉ, deux tuteurs vous attendent pour vous aider sur le Chat:<br><a href="{link_superchat}" target="_blank">Get into Gift Chat</a>.',
sonodonatore: '<ol class="lista"><li>Quand vous êtes dans cette position, vous serez invité pour faire votre cadeau</li>' +
'<li>Vous aurez <strong>4 jours</strong> pour faire votre cadeau.<br></ol>',
sonodonatore_seconda_tessitura: '<ol class="liste"><li>Ici vous êtes Médiateur et également Donateur, mais étant le deuxième Tissage, vous naurez pas besoin déffectuer de nouveau votre don<br></ol>',
controlla_donatori: 'Vérifiez la liste des donateurs',
link_chat: 'Link de Gift Chat Telegram',
@@ -251,7 +256,14 @@ const msg_fr = {
effettua_il_dono: 'Il est temps de faire votre propre regalo ! ' +
'Envoyez via <a href="https://www.paypal.com" target="_blank">PayPal</a> à : <strong>{email}</strong><br>' +
'(Choisissez l\'option "ENVOYER À UNE PERSONNE DE CONFIANCE")<br>',
paypal_me: '<br>2) Méthode simplifiée<br><a href="{link_payment}" target="_blank">Cliquez directement ici</a><br>' +
'ouvrira PayPal avec le montant et le destinataire déjà définis.<br>' +
'Ajouter comme message : <strong>Regalo</strong><br>' +
'<strong><span style="color:red">WARNING:</span> NE COCHEZ PAS LA BOITE</strong> : Protection des achats par Paypal<br>' +
'Si vous avez des doutes, regardez la vidéo ci-dessous pour voir comment:' +
'Enfin, cliquez sur "Envoyer de l\'argent maintenant"',
qui_compariranno_le_info: 'Le jour du départ du navire, les informations du Dreamer apparaîtront',
commento_al_sognatore: 'Ecrivez ici un commentaire pour le Rêveur:',
posizione: 'Localisation',
come_inviare_regalo_con_paypal: 'Comment envoyer le regalo via Paypal',
ho_effettuato_il_dono: 'J\'ai effectué le Regalo',
@@ -315,6 +327,8 @@ const msg_fr = {
cellreg: 'Cellulare con cui ti eri registrato',
nationality: 'Nationalité',
email_paypal: 'Email Paypal',
link_payment: 'Liens Paypal.me pour effectuer le paiement',
note_payment: 'Notes complémentaires',
country_pay: 'Pays de destination Paiements',
username_telegram: 'Nom d\'utilisateur du Telegram',
telegram: 'Chat Telegram \'{botname}\'',
@@ -393,6 +407,7 @@ const msg_fr = {
enter: 'Entrez',
esci: 'Sortir',
errato: "Nom d'utilisateur, email ou mot de passe incorrect. réessayer",
subaccount: "Ce compte a été fusionné avec votre compte initial. Connectez-vous en utilisant le nom d'utilisateur (et l'adresse électronique) du compte FIRST.",
completato: 'Connexion faite!',
needlogin: 'Vous devez vous connecter avant de continuer',
},

View File

@@ -49,6 +49,7 @@ const msg_it = {
pages: 'Pagine',
media: 'Media',
gallery: 'Gallerie',
listaflotte: 'Flotte',
},
manage: {
menu: 'Gestione',
@@ -218,6 +219,7 @@ const msg_it = {
},
dashboard: {
data: 'Data',
data_rich: 'Data Rich.',
ritorno: 'Ritorno',
invitante: 'Invitante',
dono_da_effettuare: 'Dono che dovrai effettuare',
@@ -235,12 +237,12 @@ const msg_it = {
nessun_invitante: 'Nessun Invitante',
nessun_invitato: 'Nessun Invitato',
legenda_title: 'Clicca sul nome dell\'invitato per vedere lo stato dei suoi Requisiti.',
nave_in_partenza: 'Apertura Gift Chat',
nave_in_partenza: 'La Nave salperà il',
nave_in_chiusura: 'Chiusura Gift Chat',
nave_partita: 'Partita il',
tutor: 'Tutor',
traduttrici: 'Traduttrici',
sonomediatore: 'Quando diventi Meditore vieni contattato da un <strong>TUTOR</strong>, con lui devi:<br><ol class="lista">' +
/* sonomediatore: 'Quando diventi Meditore vieni contattato da un <strong>TUTOR</strong>, con lui devi:<br><ol class="lista">' +
'<li>Aprire la tua <strong>Gift Chat</strong> (tu come proprietario e il Tutor ' +
'come amministratore) con questo nome:<br><strong>{nomenave}</strong></li>' +
'<li>Clicca sul nome della chat in alto -> Modifica -> Amministratori -> "Aggiungi Amministratore", seleziona il Tutor nellelenco.</li>' +
@@ -248,9 +250,12 @@ const msg_it = {
'cambia la "cronologia per i nuovi membri" da nascosta a visibile.</li>' +
'<li>Per trovare il <strong>link della Chat appena creata</strong>: clicca sul nome della chat in alto, clicca sulla Matita -> "Tipo di Gruppo" -> "invita nel gruppo tramite link", clicca su "copia link" e incollalo qui sotto, sulla casella <strong>"Link Gift Chat"</strong></li>' +
'<li>Invia il Link della Gift Chat a tutti i Donatori, cliccando sul bottone qui sotto.</li></ol>',
sonodonatore: '<ol class="lista"><li>Quando sei in questa posizione, verrai invitato (tramite un messaggio su <strong>AYNI BOT</strong>) ad entrare in una <strong>Gift Chat</strong> (Telegram) e qui troverai anche gli altri 7 Donatori, il Mediatore, il Sognatore e un rappresentante dello Staff.</li>' +
'<li>Avrai tempo 4 giorni per entrare nella chat e massimo 7 gg per fare il tuo Dono, nella modalità di pagamento che troverai scritto qui.<br></ol>',
sonodonatore_seconda_tessitura: '<ol class="lista"><li>Qui tu sei Mediatore e anche Donatore, ma essendo la seconda Tessitura, non avrai bisogno di effettuare nuovamente il tuo dono<br></ol>',
*/
sonomediatore: 'Quando sei MEDIATORE verrai contattato dai <strong>TUTOR AYNI</strong> tramite un messaggio sulla Chat <strong>AYNI BOT</strong> !',
superchat: 'Nota Bene: SOLO se hai problemi di PAGAMENTO, o se vuoi essere SOSTITUITO, due Tutor ti aspettano per aiutarti sulla Chat:<br><a href="{link_superchat}" target="_blank">Entra nella Gift Chat</a>',
sonodonatore: '<ol class="lista"><li>Quando sei in questa posizione, verrai invitato (tramite un messaggio su <strong>AYNI BOT</strong>) ad effettuare il Dono. Non sarà più necessario entrare in una Chat.</li>' +
'<li>Avrai tempo 4 giorni per fare il Regalo (poi verrai sostituito), nella modalità di pagamento che troverai scritto sul messaggio in <strong>AYNI BOT</strong> .<br></ol>',
sonodonatore_seconda_tessitura: '<ol class="lista"><li>Qui tu sei Mediatore e anche Donatore, ma essendo la seconda Tessitura (il Ritorno), non avrai bisogno di effettuare nuovamente il dono<br></ol>',
controlla_donatori: 'Controlla Lista Donatori',
link_chat: 'Link della Gift Chat Telegram',
tragitto: 'Tragitto',
@@ -276,14 +281,22 @@ const msg_it = {
msg_donatori_ok: 'Inviato messaggio ai Donatori',
metodi_disponibili: 'Metodi Disponibili',
importo: 'Importo',
effettua_il_dono: 'E\' arrivato il momento di Effettuare il proprio Dono!<br>' +
'Inviare tramite <a href="https://www.paypal.com" target="_blank">PayPal</a> a: <strong>{email}</strong><br>' +
'(Scegliere l\'opzione "INVIA A UNA PERSONA DI FIDUCIA")<br>',
effettua_il_dono: 'E\' arrivato il momento di Effettuare il proprio Dono!<br><br>' +
'1) Metodo Tradizionale<br>Inviare tramite PayPal a: <strong>{email}</strong><br>' +
'Aggiungere come messaggio la dicitura: <strong>Regalo</strong><br>' +
'(<strong>Scegliere l\'opzione</strong> "INVIA A UNA PERSONA DI FIDUCIA")<br>',
paypal_me: '<br>2) Metodo Semplificato<br><a href="{link_payment}" target="_blank">Cliccare direttamente qui</a><br>' +
'si aprirà PayPal con l\'importo e il destinatario gia impostato.<br>' +
'Aggiungere come messaggio la dicitura: <strong>Regalo</strong><br>' +
'<strong><span style="color:red">ATTENZIONE:</span> NON SPUNTARE LA CASELLA</strong>: Protezione acquisti Paypal<br>' +
'Se hai dubbi, guarda il video qui sotto per vedere come fare:' +
'infine Clicca su “Invia Denaro ora”.',
commento_al_sognatore: 'Scrivi qui un commento per il Sognatore:',
qui_compariranno_le_info: 'Nel giorno della partenza della Nave, compariranno le informazioni del Sognatore',
posizione: 'Posizione',
come_inviare_regalo_con_paypal: 'Come Inviare il regalo tramite Paypal',
ho_effettuato_il_dono: 'Ho effettuato il Dono',
clicca_conferma_dono: 'Clicca qui per confermare che hai effettuato il tuo dono',
clicca_conferma_dono: 'Una volta inviato il Dono, lascia un commento al Sognatore e Clicca qui sotto per confermare che hai effettuato il tuo dono',
fatto_dono: 'Hai confermato che il dono è stato Inviato',
confermi_dono: 'Confermi che hai inviato il tuo Dono di 33€',
dono_ricevuto: 'Il tuo Dono è stato Ricevuto!',
@@ -349,6 +362,8 @@ const msg_it = {
cellreg: 'Cellulare con cui ti eri registrato',
nationality: 'Nazionalità',
email_paypal: 'Email Paypal',
link_payment: 'Link Paypal.me per effettuare il pagamento',
note_payment: 'Note Aggiuntive',
country_pay: 'Paese di Destinazione Pagamenti',
username_telegram: 'Username Telegram',
telegram: 'Chat Telegram \'{botname}\'',
@@ -433,6 +448,7 @@ const msg_it = {
enter: 'Accedi',
esci: 'Esci',
errato: "Username o password errata. Riprovare",
subaccount: "Questo account è stato accorpato con il vostro Principale. Eseguire l'accesso utilizzando l'username (o email) del PRIMO account.",
completato: 'Login effettuato!',
needlogin: 'E\' necessario effettuare il login prima di continuare'
},

View File

@@ -1,6 +1,6 @@
const msg_pt = {
pt: {
words:{
words: {
da: 'od',
a: 'do',
},
@@ -23,6 +23,7 @@ const msg_pt = {
list: 'Lista',
},
otherpages: {
sito_offline: 'Site em actualização',
modifprof: 'Editar Perfil',
biografia: 'Biografia',
error404: 'error404',
@@ -65,7 +66,7 @@ const msg_pt = {
telegram_non_attivi: 'Telegrama Não Activo',
telegram_pendenti: 'Telegram Pendants',
reg_daily: 'Inscrições diárias',
reg_weekly:'Inscripciones semanales',
reg_weekly: 'Inscripciones semanales',
reg_total: 'Inscrições Total',
},
steps: {
@@ -203,6 +204,7 @@ const msg_pt = {
},
dashboard: {
data: 'Datum',
data_rich: 'Data Pedido',
ritorno: 'Regresso',
invitante: 'Convidados',
num_tessitura: 'Numero di Tessitura:',
@@ -223,7 +225,7 @@ const msg_pt = {
nave_in_chiusura: 'Encerramento Gift Chat',
nave_partita: 'que partiu em',
tutor: 'Tutor',
sonomediatore: 'Quando você se torna um mediador, um <strong>TUTOR</strong> entra em contato com você, e deve:<br>' +
/* Quando você se torna um mediador, um <strong>TUTOR</strong> entra em contato com você, e deve:<br>' +
'<ol class="lista"><li>Abrir seu <strong>bate-papo</strong> do presente (você como proprietário e o tutor como administrador) com este nome: <br><strong>{nomenave}</strong></li>' +
'<li>Clique no nome do bate-papo na parte superior - > Editar -> Administradores -> "Adicionar administrador", selecione o Tutor na lista.</li>' +
'<li>Você deve configurar o bate-papo de forma que quem entra depois também veja as postagens anteriores (clique no nome do bate-papo na parte superior, clique em editar' +
@@ -231,9 +233,11 @@ const msg_pt = {
'<li>Para encontrar o link Bate-papo Recém-criado: Clique no nome do bate-papo na parte superior, clique no lápis -> "Tipo de grupo" -> "Convidar grupo via link", clique em "Copiar link" e cole-o abaixo' +
', na caixa "Link do bate-papo para presente"'+
'Envie o link do bate-papo para presente a todos os doadores, clicando no botão abaixo.</li></ol>',
sonodonatore: '<ol class="lista"><li>Quando você estiver nessa posição, você será convidado (por meio de uma mensagem em <strong>AYNI BOT</strong>) a entrar em um bate-papo de presentes (Telegram) e aqui também encontrará os outros 7 doadores, o mediador, o sonhador e um representante da equipe.</li>'+
'<li>Você terá 4 dias para entrar no bate-papo e, no máximo, 7 dias para fazer seu presente, na forma de pagamento que você encontrará por escrito aqui.<br></ol>',
*/
sonomediatore: 'Quando você for um MEDIATOR será contactado por <strong>TUTOR AYNI</strong> através de uma mensagem no Chat <strong>AYNI BOT</strong>.',
superchat: 'Nota: SOMENTE se tiver problemas de PAGAMENTO, ou se quiser ser REPRESENTADO, dois Tutores estão à espera para o ajudar no Chat:<br>a href="{link_superchat}" target="_blank">Entre no Gift Chat</a>.',
sonodonatore: '<ol class="lista"><li>Quando você estiver nessa posição, você será convidado (por meio de uma mensagem em <strong>AYNI BOT</strong>) a entrar em um bate-papo de presentes (Telegram) e aqui também encontrará os outros 7 doadores, o mediador, o sonhador e um representante da equipe.</li>' +
'<li>Você terá 4 dias para entrar no bate-papo para fazer seu presente.<br></ol>',
soydonante_secundo_tejido: '<ol class="lista"><li>Aqui você é Mediador e também Doador, mas sendo o segundo Tecido, você não terá que fazer seu presente novamente<br></ol>',
controlla_donatori: 'Verifique a Lista de Doadores',
link_chat: 'Links de telegramas para o Gift Chat',
@@ -241,13 +245,13 @@ const msg_pt = {
nave: 'Navio',
data_partenza: 'Data<br>de saída',
doni_inviati: 'Donativos <br>enviados',
nome_dei_passaggi:'Nomes<br>de Passos',
donatori:'Doadores',
donatore:'Doadore',
mediatore:'Ombudsman',
sognatore:'Sonhador',
sognatori:'Sonhadores',
intermedio:'INTERMEDIAR',
nome_dei_passaggi: 'Nomes<br>de Passos',
donatori: 'Doadores',
donatore: 'Doadore',
mediatore: 'Ombudsman',
sognatore: 'Sonhador',
sognatori: 'Sonhadores',
intermedio: 'INTERMEDIAR',
pos2: 'Interm. 2',
pos3: 'Interm. 3',
pos5: 'Interm. 5',
@@ -263,7 +267,14 @@ const msg_pt = {
effettua_il_dono: 'Chegou o momento de fazer o seu Presente!<br>' +
'Enviar via <a href="https://www.paypal.com" target="_blank">PayPal</a> para: <strong>{email}</strong><br>' +
'(Escolha a opção "ENVIAR A ALGUÉM DA SUA CONFIANÇA".)<br>',
paypal_me: '<br>2) Método Simplificado<br><a href="{link_payment}" target="_blank">Click directamente aqui</a>>br>' +
'abrirá o PayPal com o montante e o destinatário já definidos.<br>' +
'Adicionar como mensagem: <strong>Presente</strong>>br>' +
'<strong><span style="color:red">AVISO:</span> NÃO SELECCIONAR A CAIXA</strong>: Protecção de compras Paypal<br>' +
'Se tiver alguma dúvida, veja o vídeo abaixo para ver como:' +
'Finalmente clique em "Enviar dinheiro agora"',
qui_compariranno_le_info: 'No dia da partida do Navio, a informação do Sonhador aparecerá',
commento_al_sognatore: 'Escreva aqui um comentário para o Sonhador:',
posizione: 'Localização',
come_inviare_regalo_con_paypal: 'Como enviar o presente via Paypal',
ho_effettuato_il_dono: 'Eu fiz o Presente',
@@ -328,6 +339,8 @@ const msg_pt = {
cellreg: 'Cellulare con cui ti eri registrato',
nationality: 'Nacionalidade',
email_paypal: 'Email Paypal',
link_payment: 'Ligações Paypal.me para fazer o pagamento',
note_payment: 'Notas Adicionais',
country_pay: 'País de destino dos pagamentos',
username_telegram: 'Username Telegram',
telegram: 'Chat Telegram \'{botname}\'',
@@ -407,6 +420,7 @@ const msg_pt = {
enter: 'Entrar',
esci: 'Saia',
errato: "Username ou senha errados\". Por favor, tente novamente",
subaccount: "Esta conta foi fundida com a sua conta inicial. Entre utilizando o nome de utilizador (e e-mail) da conta FIRST.",
completato: 'Login concluído!',
needlogin: 'Você deve fazer o login antes de continuar'
},

View File

@@ -23,6 +23,7 @@ const msg_si = {
list: 'Lista',
},
otherpages: {
sito_offline: 'Spletno mesto se posodablja',
modifprof: 'Uredi pProfil',
biografia: 'Biografia',
update: 'Posodobitev v teku...',
@@ -72,8 +73,8 @@ const msg_si = {
},
steps: {
nuovo_imbarco: 'Rezerviraj še eno potovanje',
vuoi_entrare_nuova_nave: 'Želis pomagati Gibanju, napredovati in vstopiti v še eno\novo Ladjico?<br>Z novim vplačilom 33€, lahko pričneš novo potovanje in tako dobiš\še eno priložnost, da postaneš Sanjač!<br>' +
'Če potrdiš boš dodan na seznam \čakajočih za vkrcavanje.',
vuoi_entrare_nuova_nave: 'Želis pomagati Gibanju, napredovati in vstopiti v še eno\novo Ladjico?<br>Z novim vplačilom 33€, lahko pričneš novo potovanje in tako dobiš še eno priložnost, da postaneš Sanjač!<br>' +
'Če potrdiš boš dodan na seznam čakajočih za vkrcavanje.',
vuoi_cancellare_imbarco: 'Ali ste prepričani, da želite izbrisati vaš vstop v Ladjo Ayni?',
completed: 'zaključen',
passi_su: '{passo} od {totpassi} koraki',
@@ -197,7 +198,8 @@ const msg_si = {
loggati: 'Uporabnik ni prijavljen'
},
dashboard: {
data: 'Data',
data: 'Datum',
data_rich: 'Zahtevani datum',
ritorno: 'Vrnitev',
invitante: 'povabljenca',
num_tessitura: 'Numero di Tessitura:',
@@ -218,7 +220,7 @@ const msg_si = {
nave_in_chiusura: 'Zapiranje Gift- Darilni klepet',
nave_partita: 'levo naprej',
tutor: 'Tutor',
sonomediatore: 'Ko postaneš Mediator te kontaktira en <strong>TUTOR</strong>, z njim moraš:<br><ol class="lista">' +
/*Ko postaneš Mediator te kontaktira en <strong>TUTOR</strong>, z njim moraš:<br><ol class="lista">' +
'<li>Odpret svoj <strong>Gift- Darilni klepet</strong> (ti kot lastnik in Tutor ' +
'kot administrator) s tem imenom:<br><strong>{nomenave}</strong></li>' +
'<li>Klikni na ime klepeta na vrhu-> Popravi -> Administratorji -> "Dodaj Administratorja", izberi Tutorja v imeniku.</li>' +
@@ -226,8 +228,11 @@ const msg_si = {
'spremeni "zgodovina za nove člane" iz skrite v vidno.</li>' +
'<li>Da najdeš <strong>link pravkar ustvarjenega klepeta </strong>: klikni na ime klepeta na vrhu, klikni na svinčnik -> "Vrsta Skupine" -> "z linkom povabi v skupino", klikni na"kopiraj link" in prilepi tu spodaj, v okvir<strong>"Link Gift Klepet"</strong></li>' +
'<li>Pošlji Link Gift Klepeta vsem Donatorjem, tako, da klikneš na spodnji gumb.</li></ol>',
*/
sonomediatore: 'Ko ste MEDIATOR, vas bo <strong>TUTOR AYNI</strong> poklical preko sporočila na klepetu <strong>AYNI BOT</strong>',
superchat: 'Pozorno preberi: SAMO če imaš težave s PLAČILOM, ali želiš biti ZAMENJAN, te dva Tutorja pričakujeta, da ti lahko pomagata v Klepetu:<br><a href="{link_superchat}" target="_blank">Vstopi v Super Klepet</a>',
sonodonatore: '<ol class="lista"><li>Ko si na tej poziciji, boš povabljen, da vstopiš v <strong>Gift Klepet</strong> (Telegram) in tam boš našel še ostalih 7 Donatorjev, Mediatorja, Sanjača in enega predstavnika Tima.</li>' +
'<li>Imel boš 4 dni časa za vstop v klepet in maksimalno 7 dni za izpeljati vplačilo, ki ga imaš napisanega tu.<br></ol>',
'<li>Imel boš 4 dni časa v za izpeljati vplačilo.<br></ol>',
sonodonatore_seconda_tessitura: '<ol class="lista"><li>Tu si istočasno Mediator in Donator. Ker je to tvoj avtomatičen vpis, ti ni sedaj potrebno vplačati!<br></ol>',
controlla_donatori: 'Preverite seznam donatorjev',
link_chat: 'Povezava telegrama darilnega klepeta',
@@ -254,10 +259,19 @@ const msg_si = {
msg_donatori_ok: 'Poslano sporočilo Donatorjem',
metodi_disponibili: 'Načini na Voljo',
importo: 'Uvoz',
effettua_il_dono: 'Je\' prišel trenutek da Vplačaš svoje darilo!<br>' +
'Vplačaj preko <a href="https://www.paypal.com" target="_blank">PayPal</a> a: <strong>{email}</strong><br>' +
'(Izberi možnost "Pošlji osebi, ki ji zaupaš")<br>',
effettua_il_dono: 'Je prišel trenutek da Vplačaš svoje darilo!<br>' +
'1) Tradicionalna metoda<br>' +
'Vplačilo preko PayPal na: {email}<br>' +
'V sporocilo dopiši: Darilo<br>' +
'Zberi možnost "POŠLJI OSEBI, KI JI ZAUPAŠ"',
paypal_me: '<br>2) Poenostavljena metoda<br><a href="{link_payment}" target="_blank">Klikneš direktno na link</a><br>' +
'odpre se ti si PayPal z že vpisanim zneskom in postavljenim emailom osebe, ki ji vplačuješ<br>' +
'V sporočilo dopiši: <strong>Darilo</strong><br>' +
'<strong><span style="color:red">POZOR NE OZNAČI POLJA</span></strong>: Zaščita nakupa Paypal<br>' +
'Če imaš dvome, si oglej celoten postopek v spodnjem videu:' +
'Na koncu klikni “Pošlji denar -Vplačaj”',
qui_compariranno_le_info: 'Na dan odhoda Ladje, prejmete vse potrebne informacije s strani Sanjača',
commento_al_sognatore: 'Tu napišite komentar za Sanjač:',
posizione: 'Pozicija',
come_inviare_regalo_con_paypal: 'Kako vplačati preko',
ho_effettuato_il_dono: 'POTRJUJEM VPLAČILO',
@@ -298,7 +312,7 @@ const msg_si = {
you: 'Ti',
cancella_invitato: 'Odstrani povabljenca',
cancella_account: 'Zbriši registracijo',
cancellami: 'Si siguren, da želiš popolnoma Izbrisati svojo Registracijo na {sitename} in tako izstopiti iz gibanja? Ne boš mogel več\' vstopiti na spletno stran s svojimi podatki, Izgubil Perderai boš svojo POZICIJO in tvoji povabljenci bodo PODARJENI osebi, ki te je povabila.',
cancellami: 'Si siguren, da želiš popolnoma Izbrisati svojo Registracijo na {sitename} in tako izstopiti iz gibanja? Ne boš mogel več vstopiti na spletno stran s svojimi podatki, Izgubil Perderai boš svojo POZICIJO in tvoji povabljenci bodo PODARJENI osebi, ki te je povabila.',
cancellami_2: 'ZADNJE OBVESTILO! Bi rad Definitivno izstopil iz {sitename} ?',
account_cancellato: 'Tvoj profil je pravilno izbrisan',
regala_invitato: 'Podari povabljenca',
@@ -328,6 +342,8 @@ const msg_si = {
cellreg: 'Telefonska s katero si se registriral',
nationality: 'Nacionalnost',
email_paypal: 'Email Paypal',
link_payment: 'Povezava paypal.me za izvedbo plačila',
note_payment: 'Dodatne opombe',
country_pay: 'Država destinacije Vplačil',
username_telegram: 'Uporabniško ime Telegram',
telegram: 'Klepet Telegram \'{botname}\'',
@@ -368,19 +384,19 @@ const msg_si = {
required: 'je zahtevano',
email: 'vpiši veljaven email',
errore_generico: 'Prosimo, da pravilno izpolnete vsa polja',
atleast: 'mora\'biti dolgo vsaj',
atleast: 'mora biti dolgo vsaj',
complexity: 'ora vsebobati vsaj 1 malo črko, 1 veliko črko, 1 številko',
notmore: 'ne sme\'biti dolgo več kot',
notmore: 'ne sme biti dolgo več kot',
char: 'karakterji',
terms: 'Za nadaljevanje, moraš sprejeti pogoje poslovanja.',
email_not_exist: 'l\'Email ni prisotna v arhivu, preveri, če je pravilna',
duplicate_email: 'l\'Email je že bila registrirana',
email_not_exist: 'E-naslov ni prisotna v arhivu, preveri, če je pravilna',
duplicate_email: 'E-naslov je že bila registrirana',
user_already_exist: 'Registracija s temi podatki (ime,priimek, telefonska)je že uporabljena.Za vstop na spletno stran, klikni na gumb LOGIN na Začetni Strani.',
user_extralist_not_found: 'Uporabnik ni najden v arhivu, vpiši Ime,Priimek in telefonsko, ki si jo posredoval v listi leta 2019. Če je to nova registracija, se moraš prijaviti potom LINKA osebe, ki te vabi.',
user_not_this_aportador: 'Uporabljaš link druge osebe, različen od tvojega originalnega povabljenca.',
duplicate_username: 'To\'Uporabniško ime je že uporabljeno',
aportador_not_exist: 'To\'Uporabniško ime, ki te je povabilo, ni več prisotno.Kontaktiraj nas.',
aportador_regalare_not_exist: 'Vpiši\'Uporabniško ime osebe, ki jo želiš podariti\'povabljencu',
duplicate_username: 'To Uporabniško ime je že uporabljeno',
aportador_not_exist: 'To Uporabniško ime, ki te je povabilo, ni več prisotno.Kontaktiraj nas.',
aportador_regalare_not_exist: 'Vpiši Uporabniško ime osebe, ki jo želiš podariti povabljencu',
sameaspassword: 'Geslo mora biti enako',
},
tips: {
@@ -397,8 +413,9 @@ const msg_si = {
enter: 'Vstopi',
esci: 'Izstopi',
errato: "Uporabniško ime ali geslo napačna.Poskusi ponovno",
subaccount: "Ta profil je bil združen z vašim prvim profilom. Izpelji dostop z vpisom uporabniskega imena(ali emaila) iz PRVEGA vpisa",
completato: 'Uspešen vpis!',
needlogin: 'Je\' potrebno izpeljati vpis preden nadaljuješ.'
needlogin: 'Je potrebno izpeljati vpis preden nadaljuješ.'
},
reset: {
title_reset_pwd: "Ponastavi geslo",
@@ -471,7 +488,6 @@ const msg_si = {
showpdf: 'Poglej PDF',
bookingtextdefault: 'Rezerviram za',
bookingtextdefault_of: 'od',
data: 'Datum',
teachertitle: 'Učitelj',
peoplebooked: 'Rezervacije.',
showlastschedule: 'Poglej v kolendarju',

View File

@@ -864,6 +864,32 @@ namespace Actions {
})
}
async function InviaMsgAFlotta(context, { flotta, inviareale, inviaemail, tipomsg }) {
console.log('InviaMsgAFlotta')
const mydata = {
idapp: process.env.APP_ID,
tipomsg,
flotta,
inviareale,
inviaemail,
}
return await Api.SendReq('/dashboard/msgflotta', 'POST', mydata)
.then((res) => {
if (res.status === 200) {
if (res.data.code === serv_constants.RIS_CODE_OK) {
return res.data.ris
}
}
return null
})
.catch((error) => {
console.error(error)
return null
})
}
async function GetArrNavi(context) {
console.log('GetArrNavi')
@@ -886,6 +912,28 @@ namespace Actions {
})
}
async function GetMsgTemplates(context) {
console.log('GetMsgTemplates')
const mydata = {
idapp: process.env.APP_ID
}
return await Api.SendReq('/dashboard/getmsg_templates', 'POST', mydata)
.then((res) => {
if (res.status === 200) {
if (res.data.code === serv_constants.RIS_CODE_OK) {
return res.data.ris
}
}
return null
})
.catch((error) => {
console.error(error)
return null
})
}
async function GetNave(context, { riga, col, riga1don, col1don, ind_order }) {
// console.log('GetNave')
@@ -960,6 +1008,55 @@ namespace Actions {
})
}
async function GetFlotte(context, { ricalcola, showall }) {
console.log('GetFlotte')
const mydata = {
idapp: process.env.APP_ID,
ricalcola,
showall
}
return await Api.SendReq('/dashboard/getflotte', 'POST', mydata)
.then((res) => {
if (res.status === 200) {
if (res.data.code === serv_constants.RIS_CODE_OK) {
return res.data.arrflotte
}
}
return null
})
.catch((error) => {
console.error(error)
return null
})
}
async function GetFlotta(context, { riga, col_prima, col_ultima}) {
console.log('GetFlotta')
const mydata = {
idapp: process.env.APP_ID,
riga,
col_prima,
col_ultima,
}
return await Api.SendReq('/dashboard/getflotta', 'POST', mydata)
.then((res) => {
if (res.status === 200) {
if (res.data.code === serv_constants.RIS_CODE_OK) {
return res.data
}
}
return null
})
.catch((error) => {
console.error(error)
return null
})
}
async function loadSite(context) {
// console.log('CalendarStore: loadAfterLogin')
// Load local data
@@ -1144,9 +1241,13 @@ namespace Actions {
sendEmailTest: b.dispatch(sendEmailTest),
DuplicateRec: b.dispatch(DuplicateRec),
InviaMsgADonatori: b.dispatch(InviaMsgADonatori),
InviaMsgAFlotta: b.dispatch(InviaMsgAFlotta),
GetArrNavi: b.dispatch(GetArrNavi),
GetMsgTemplates: b.dispatch(GetMsgTemplates),
GetNave: b.dispatch(GetNave),
GetArrDoniNavi: b.dispatch(GetArrDoniNavi),
GetFlotta: b.dispatch(GetFlotta),
GetFlotte: b.dispatch(GetFlotte),
GetData: b.dispatch(GetData),
addDynamicPages: b.dispatch(addDynamicPages)
}

View File

@@ -42,6 +42,8 @@ export const DefaultUser: IUserFields = {
teleg_id: 0,
saw_zoom_presentation: false,
saw_and_accepted: false,
qualified: false,
qualified_2invitati: false,
},
downline: [],
calcstat: DefaultCalc,
@@ -58,6 +60,8 @@ export const DefaultProfile: IUserProfile = {
sex: 0,
country_pay: '',
email_paypal: '',
link_payment: '',
note_payment: '',
username_telegram: '',
teleg_id: 0,
teleg_checkcode: 0,
@@ -65,7 +69,9 @@ export const DefaultProfile: IUserProfile = {
manage_telegram: false,
saw_zoom_presentation: false,
saw_and_accepted: false,
paymenttypes: []
paymenttypes: [],
qualified: false,
qualified_2invitati: false,
}
// State

View File

@@ -75,8 +75,26 @@ export const colgallery = [
}),
]
export const colmsg_templates = [
AddCol({ name: 'title', label_trans: 'pages.title' }),
AddCol({ name: 'typemsg', label_trans: 'TypeMsg', fieldtype: tools.FieldType.number }),
AddCol({ name: 'title_it', label_trans: 'Tit Ita', fieldtype: tools.FieldType.string }),
AddCol({ name: 'msg_it', label_trans: 'ITA', fieldtype: tools.FieldType.html }),
AddCol({ name: 'title_si', label_trans: 'Tit SLO', fieldtype: tools.FieldType.string }),
AddCol({ name: 'msg_si', label_trans: 'SLO', fieldtype: tools.FieldType.html }),
AddCol({ name: 'title_enUs', label_trans: 'Tit ENG', fieldtype: tools.FieldType.string }),
AddCol({ name: 'msg_enUs', label_trans: 'ENG', fieldtype: tools.FieldType.html }),
AddCol({ name: 'title_es', label_trans: 'Tit ESP', fieldtype: tools.FieldType.string }),
AddCol({ name: 'msg_es', label_trans: 'ESP', fieldtype: tools.FieldType.html }),
AddCol({ name: 'title_pt', label_trans: 'Tit POR', fieldtype: tools.FieldType.string }),
AddCol({ name: 'msg_pt', label_trans: 'POR', fieldtype: tools.FieldType.html }),
AddCol({ name: 'title_fr', label_trans: 'Tit FRA', fieldtype: tools.FieldType.string }),
AddCol({ name: 'msg_fr', label_trans: 'FRA', fieldtype: tools.FieldType.html }),
]
export const colmypage = [
AddCol({ name: 'title', label_trans: 'pages.title' }),
AddCol({ name: 'content', label_trans: 'pages.content', fieldtype: tools.FieldType.html }),
AddCol({ name: 'lang', label_trans: 'pages.lang' }),
AddCol({ name: 'path', label_trans: 'pages.path' }),
AddCol({ name: 'icon', label_trans: 'pages.icon' }),
@@ -86,7 +104,6 @@ export const colmypage = [
AddCol({ name: 'heightimg', label_trans: 'pages.heightimg', fieldtype: tools.FieldType.number }),
AddCol({ name: 'onlyif_logged', label_trans: 'pages.onlyif_logged', fieldtype: tools.FieldType.boolean }),
AddCol({ name: 'imgback', label_trans: 'pages.imgback', fieldtype: tools.FieldType.string }),
AddCol({ name: 'content', label_trans: 'pages.content', fieldtype: tools.FieldType.html }),
AddCol({ name: 'active', label_trans: 'pages.active', fieldtype: tools.FieldType.boolean }),
AddCol({ name: 'inmenu', label_trans: 'pages.inmenu', fieldtype: tools.FieldType.boolean }),
AddCol({ name: 'submenu', label_trans: 'pages.submenu', fieldtype: tools.FieldType.boolean }),
@@ -159,6 +176,12 @@ const colpaymenttype = [
AddCol(DeleteRec)
]
const colflotte = [
AddCol({ name: 'index', label_trans: 'others.value' }),
AddCol({ name: 'riga', label_trans: 'reg.riga' }),
AddCol({ name: 'col_prima', label_trans: 'ColPrima' }),
AddCol({ name: 'col_ultima', label_trans: 'ColUltima' }),
]
const colnavi = [
AddCol({ name: '_id', label_trans: 'others.value' }),
AddCol({ name: 'idListaIngresso', label_trans: 'idListaIngresso' }),
@@ -170,7 +193,11 @@ const colnavi = [
// AddCol({ name: 'date_gift_chat_open', label_trans: 'date_gift_chat_open', fieldtype: tools.FieldType.date }),
// AddCol({ name: 'link_chat', label_trans: 'reg.link_chat' }),
AddCol({ name: 'parent_id', label_trans: 'parent_id' }),
AddCol({ name: 'sent_msg_howto_make_gift', label_trans: 'sent_msg_howto_make_gift', fieldtype: tools.FieldType.boolean }),
AddCol({
name: 'sent_msg_howto_make_gift',
label_trans: 'sent_msg_howto_make_gift',
fieldtype: tools.FieldType.boolean
}),
// AddCol({ name: 'provvisoria', label_trans: 'reg.provvisoria', fieldtype: tools.FieldType.boolean }),
AddCol({ name: 'made_gift', label_trans: 'reg.made_gift', fieldtype: tools.FieldType.boolean }),
AddCol({ name: 'date_made_gift', label_trans: 'date_made_gift', fieldtype: tools.FieldType.date }),
@@ -192,7 +219,11 @@ const colnavepersistente = [
AddCol({ name: 'date_start', label_trans: 'dashboard.nave_in_chiusura', fieldtype: tools.FieldType.date }),
AddCol({ name: 'link_chat', label_trans: 'reg.link_chat' }),
AddCol({ name: 'provvisoria', label_trans: 'reg.provvisoria', fieldtype: tools.FieldType.boolean }),
AddCol({ name: 'note_bot', label_trans: 'note_bot', fieldtype: tools.FieldType.string }),
AddCol({ name: 'DoniAttesaDiConferma', label_trans: 'note_bot', fieldtype: tools.FieldType.number }),
AddCol({ name: 'DoniMancanti', label_trans: 'note_bot', fieldtype: tools.FieldType.number }),
AddCol({ name: 'DoniConfermati', label_trans: 'note_bot', fieldtype: tools.FieldType.number }),
AddCol({ name: 'DoniConfermati', label_trans: 'note_bot', fieldtype: tools.FieldType.number }),
AddCol({ name: 'DoniTotali', label_trans: 'note_bot', fieldtype: tools.FieldType.string }),
AddCol({ name: 'note_interne', label_trans: 'note_interne', fieldtype: tools.FieldType.string }),
AddCol({ name: 'tutor', label_trans: 'tutor', fieldtype: tools.FieldType.string }),
AddCol(DeleteRec),
@@ -206,6 +237,7 @@ const collistaingresso = [
AddCol({ name: 'invitante_username', label_trans: 'reg.aportador_solidario' }),
AddCol({ name: 'date_added', label_trans: 'date_added', fieldtype: tools.FieldType.date }),
AddCol({ name: 'added', label_trans: 'Aggiunto', fieldtype: tools.FieldType.boolean }),
AddCol({ name: 'navestr', label_trans: 'Nave', fieldtype: tools.FieldType.string }),
AddCol({ name: 'num_tess', label_trans: 'num_tess', fieldtype: tools.FieldType.number }),
AddCol({ name: 'note', label_trans: 'reg.note', fieldtype: tools.FieldType.string }),
AddCol({ name: 'deleted', label_trans: 'reg.deleted', fieldtype: tools.FieldType.boolean }),
@@ -228,6 +260,8 @@ const colgraduatoria = [
AddCol({ name: 'numinvitatiTot', label_trans: 'Inv (Tot)', fieldtype: tools.FieldType.number }),
AddCol({ name: 'numinvitatiattiviTot', label_trans: 'Att. Tot', fieldtype: tools.FieldType.number }),
AddCol({ name: 'invitante_username', label_trans: 'reg.aportador_solidario' }),
AddCol({ name: 'navestr', label_trans: 'Nave', fieldtype: tools.FieldType.string }),
AddCol({ name: 'note', label_trans: 'note', fieldtype: tools.FieldType.string }),
AddCol({ name: 'date_added', label_trans: 'date_added', fieldtype: tools.FieldType.date }),
AddCol(DuplicateRec),
AddCol(DeleteRec)
@@ -469,10 +503,10 @@ export const fieldsTable = {
AddCol({ name: 'lang', label_trans: 'pages.lang' }),
AddCol({ name: 'typeconf', label_trans: 'zoom.typeconf' }),
AddCol({ name: 'date_start', label_trans: 'event.dateTimeStart', fieldtype: tools.FieldType.date }),
AddCol({ name: 'date_end', label_trans: 'event.dateTimeEnd' , fieldtype: tools.FieldType.date }),
AddCol({ name: 'benvenuto', label_trans: 'event.benvenuto' , fieldtype: tools.FieldType.boolean }),
AddCol({ name: 'icon', label_trans: 'event.icon' , fieldtype: tools.FieldType.string }),
AddCol({ name: 'color', label_trans: 'event.color' , fieldtype: tools.FieldType.string }),
AddCol({ name: 'date_end', label_trans: 'event.dateTimeEnd', fieldtype: tools.FieldType.date }),
AddCol({ name: 'benvenuto', label_trans: 'event.benvenuto', fieldtype: tools.FieldType.boolean }),
AddCol({ name: 'icon', label_trans: 'event.icon', fieldtype: tools.FieldType.string }),
AddCol({ name: 'color', label_trans: 'event.color', fieldtype: tools.FieldType.string }),
AddCol({ name: 'id_conf_zoom', label_trans: 'zoom.id_conf_zooom' }),
AddCol({ name: 'note', label_trans: 'zoom.note' }),
AddCol(DeleteRec),
@@ -505,33 +539,114 @@ export const fieldsTable = {
AddCol({ name: 'old_order', label_trans: 'old_order' }),
AddCol({ name: 'sospeso', label_trans: 'reg.sospeso', fieldtype: tools.FieldType.boolean }),
AddCol({ name: 'deleted', label_trans: 'reg.deleted', fieldtype: tools.FieldType.boolean }),
AddCol({ name: 'subaccount', label_trans: 'SubAccount', fieldtype: tools.FieldType.boolean }),
AddCol({ name: 'navinonpresenti', label_trans: 'Navi Non Presenti', fieldtype: tools.FieldType.boolean }),
AddCol({ name: 'non_voglio_imbarcarmi', label_trans: 'non_voglio_imbarcarmi', fieldtype: tools.FieldType.boolean }),
AddCol({ name: 'username', label_trans: 'reg.username_short' }),
AddCol({ name: 'name', label_trans: 'reg.name' }),
AddCol({ name: 'surname', label_trans: 'reg.surname' }),
AddCol({ name: 'email', label_trans: 'reg.email' }),
AddCol({ name: 'verified_email', label_trans: 'reg.verified_email', fieldtype: tools.FieldType.boolean }),
AddCol({ name: 'profile.teleg_id', field: 'profile', subfield: 'teleg_id', label_trans: 'reg.teleg_id' }),
AddCol({ name: 'profile.saw_and_accepted', field: 'profile', subfield: 'saw_and_accepted', label_trans: 'reg.saw_and_accepted', fieldtype: tools.FieldType.binary, jointable: 'accepted' }),
AddCol({ name: 'profile.saw_zoom_presentation', field: 'profile', subfield: 'saw_zoom_presentation', label_trans: 'reg.saw_zoom_presentation', fieldtype: tools.FieldType.boolean }),
AddCol({
name: 'profile.saw_and_accepted',
field: 'profile',
subfield: 'saw_and_accepted',
label_trans: 'reg.saw_and_accepted',
fieldtype: tools.FieldType.binary,
jointable: 'accepted'
}),
AddCol({
name: 'profile.saw_zoom_presentation',
field: 'profile',
subfield: 'saw_zoom_presentation',
label_trans: 'reg.saw_zoom_presentation',
fieldtype: tools.FieldType.boolean
}),
AddCol({
name: 'profile.qualified',
field: 'profile',
subfield: 'qualified',
label_trans: 'reg.qualified',
fieldtype: tools.FieldType.boolean
}),
AddCol({
name: 'profile.qualified_2invitati',
field: 'profile',
subfield: 'qualified_2invitati',
label_trans: '2_Inv',
fieldtype: tools.FieldType.boolean
}),
AddCol({ name: 'profile.my_dream', field: 'profile', subfield: 'my_dream', label_trans: 'reg.my_dream' }),
AddCol({ name: 'profile.email_paypal', field: 'profile', subfield: 'email_paypal', label_trans: 'reg.email_paypal' }),
AddCol({ name: 'profile.paymenttypes', field: 'profile', subfield: 'paymenttypes', label_trans: 'reg.paymenttype', fieldtype: tools.FieldType.multiselect, jointable: 'paymenttypes' }),
AddCol({
name: 'profile.email_paypal',
field: 'profile',
subfield: 'email_paypal',
label_trans: 'reg.email_paypal'
}),
AddCol({
name: 'profile.link_payment',
field: 'profile',
subfield: 'link_payment',
label_trans: 'reg.link_payment'
}),
AddCol({
name: 'profile.note_payment',
field: 'profile',
subfield: 'note_payment',
label_trans: 'reg.note_payment'
}),
AddCol({
name: 'profile.paymenttypes',
field: 'profile',
subfield: 'paymenttypes',
label_trans: 'reg.paymenttype',
fieldtype: tools.FieldType.multiselect,
jointable: 'paymenttypes'
}),
// AddCol({ name: 'made_gift', label_trans: 'reg.made_gift', fieldtype: tools.FieldType.boolean }),
AddCol({ name: 'note', label_trans: 'reg.note' }),
// AddCol({ name: 'aportador_solidario_ind_order', label_trans: 'reg.aportador_solidario_ind_order' }),
// AddCol({ name: 'aportador_solidario_nome_completo', label_trans: 'reg.aportador_solidario_nome_completo' }),
AddCol({ name: 'aportador_solidario', label_trans: 'reg.aportador_solidario' }),
AddCol({ name: 'profile.special_req', field: 'profile', subfield: 'special_req', label_trans: 'reg.special_req', fieldtype: tools.FieldType.boolean }),
AddCol({ name: 'profile.vuole_ritessersi', field: 'profile', subfield: 'vuole_ritessersi', label_trans: 'reg.vuole_ritessersi', fieldtype: tools.FieldType.boolean }),
AddCol({
name: 'profile.special_req',
field: 'profile',
subfield: 'special_req',
label_trans: 'reg.special_req',
fieldtype: tools.FieldType.boolean
}),
// AddCol({ name: 'profile.vuole_ritessersi', field: 'profile', subfield: 'vuole_ritessersi', label_trans: 'reg.vuole_ritessersi', fieldtype: tools.FieldType.boolean }),
AddCol({ name: 'lang', field: 'lang', label_trans: 'reg.lang' }),
AddCol({ name: 'profile.nationality', field: 'profile', subfield: 'nationality', label_trans: 'reg.nationality' }),
AddCol({ name: 'profile.intcode_cell', field: 'profile', subfield: 'intcode_cell', label_trans: 'reg.intcode_cell' }),
AddCol({
name: 'profile.intcode_cell',
field: 'profile',
subfield: 'intcode_cell',
label_trans: 'reg.intcode_cell'
}),
AddCol({ name: 'profile.iso2_cell', field: 'profile', subfield: 'iso2_cell', label_trans: 'reg.iso2_cell' }),
AddCol({ name: 'profile.cell', field: 'profile', subfield: 'cell', label_trans: 'reg.cell' }),
AddCol({ name: 'profile.country_pay', field: 'profile', subfield: 'country_pay', label_trans: 'reg.country_pay' }),
AddCol({ name: 'profile.teleg_id_old', field: 'profile', subfield: 'teleg_id_old', label_trans: 'reg.teleg_id_old' }),
AddCol({ name: 'profile.teleg_checkcode', field: 'profile', subfield: 'teleg_checkcode', label_trans: 'reg.teleg_checkcode' }),
AddCol({ name: 'profile.manage_telegram', field: 'profile', subfield: 'manage_telegram', label_trans: 'reg.manage_telegram', fieldtype: tools.FieldType.boolean }),
AddCol({
name: 'profile.teleg_id_old',
field: 'profile',
subfield: 'teleg_id_old',
label_trans: 'reg.teleg_id_old'
}),
AddCol({
name: 'profile.teleg_checkcode',
field: 'profile',
subfield: 'teleg_checkcode',
label_trans: 'reg.teleg_checkcode'
}),
AddCol({
name: 'profile.manage_telegram',
field: 'profile',
subfield: 'manage_telegram',
label_trans: 'reg.manage_telegram',
fieldtype: tools.FieldType.boolean
}),
AddCol({ name: 'profile.img', field: 'profile', subfield: 'img', label_trans: 'reg.img', sortable: false }),
AddCol({ name: 'date_reg', label_trans: 'reg.date_reg', fieldtype: tools.FieldType.date }),
AddCol({ name: 'lasttimeonline', label_trans: 'reg.lasttimeonline', fieldtype: tools.FieldType.date }),
@@ -555,23 +670,79 @@ export const fieldsTable = {
AddCol({ name: 'note', label_trans: 'reg.note' }),
AddCol({ name: 'aportador_solidario', label_trans: 'reg.aportador_solidario' }),
AddCol({ name: 'verified_email', label_trans: 'reg.verified_email', fieldtype: tools.FieldType.boolean }),
AddCol({ name: 'profile.special_req', field: 'profile', subfield: 'special_req', label_trans: 'reg.special_req', fieldtype: tools.FieldType.boolean }),
AddCol({ name: 'profile.saw_and_accepted', field: 'profile', subfield: 'saw_and_accepted', label_trans: 'reg.saw_and_accepted', fieldtype: tools.FieldType.binary, jointable: 'accepted' }),
AddCol({
name: 'profile.special_req',
field: 'profile',
subfield: 'special_req',
label_trans: 'reg.special_req',
fieldtype: tools.FieldType.boolean
}),
AddCol({
name: 'profile.saw_and_accepted',
field: 'profile',
subfield: 'saw_and_accepted',
label_trans: 'reg.saw_and_accepted',
fieldtype: tools.FieldType.binary,
jointable: 'accepted'
}),
AddCol({ name: 'profile.my_dream', field: 'profile', subfield: 'my_dream', label_trans: 'reg.my_dream' }),
AddCol({ name: 'lang', field: 'lang', label_trans: 'reg.lang' }),
AddCol({ name: 'profile.nationality', field: 'profile', subfield: 'nationality', label_trans: 'reg.nationality' }),
AddCol({ name: 'profile.intcode_cell', field: 'profile', subfield: 'intcode_cell', label_trans: 'reg.intcode_cell' }),
AddCol({
name: 'profile.intcode_cell',
field: 'profile',
subfield: 'intcode_cell',
label_trans: 'reg.intcode_cell'
}),
AddCol({ name: 'profile.iso2_cell', field: 'profile', subfield: 'iso2_cell', label_trans: 'reg.iso2_cell' }),
AddCol({ name: 'profile.cell', field: 'profile', subfield: 'cell', label_trans: 'reg.cell' }),
AddCol({ name: 'profile.email_paypal', field: 'profile', subfield: 'email_paypal', label_trans: 'reg.email_paypal' }),
AddCol({
name: 'profile.email_paypal',
field: 'profile',
subfield: 'email_paypal',
label_trans: 'reg.email_paypal'
}),
AddCol({ name: 'profile.teleg_id', field: 'profile', subfield: 'teleg_id', label_trans: 'reg.teleg_id' }),
AddCol({ name: 'profile.teleg_id_old', field: 'profile', subfield: 'teleg_id_old', label_trans: 'reg.teleg_id_old' }),
AddCol({ name: 'profile.teleg_checkcode', field: 'profile', subfield: 'teleg_checkcode', label_trans: 'reg.teleg_checkcode' }),
AddCol({ name: 'profile.manage_telegram', field: 'profile', subfield: 'manage_telegram', label_trans: 'reg.manage_telegram', fieldtype: tools.FieldType.boolean }),
AddCol({
name: 'profile.teleg_id_old',
field: 'profile',
subfield: 'teleg_id_old',
label_trans: 'reg.teleg_id_old'
}),
AddCol({
name: 'profile.teleg_checkcode',
field: 'profile',
subfield: 'teleg_checkcode',
label_trans: 'reg.teleg_checkcode'
}),
AddCol({
name: 'profile.manage_telegram',
field: 'profile',
subfield: 'manage_telegram',
label_trans: 'reg.manage_telegram',
fieldtype: tools.FieldType.boolean
}),
AddCol({ name: 'profile.chisei', field: 'profile', subfield: 'chisei', label_trans: 'reg.chisei' }),
AddCol({ name: 'profile.iltuoimpegno', field: 'profile', subfield: 'iltuoimpegno', label_trans: 'reg.iltuoimpegno' }),
AddCol({ name: 'profile.come_aiutare', field: 'profile', subfield: 'come_aiutare', label_trans: 'reg.iltuoimpegno' }),
AddCol({ name: 'profile.paymenttypes', field: 'profile', subfield: 'paymenttypes', label_trans: 'reg.paymenttype', fieldtype: tools.FieldType.multiselect, jointable: 'paymenttypes' }),
AddCol({
name: 'profile.iltuoimpegno',
field: 'profile',
subfield: 'iltuoimpegno',
label_trans: 'reg.iltuoimpegno'
}),
AddCol({
name: 'profile.come_aiutare',
field: 'profile',
subfield: 'come_aiutare',
label_trans: 'reg.iltuoimpegno'
}),
AddCol({
name: 'profile.paymenttypes',
field: 'profile',
subfield: 'paymenttypes',
label_trans: 'reg.paymenttype',
fieldtype: tools.FieldType.multiselect,
jointable: 'paymenttypes'
}),
AddCol({ name: 'profile.img', field: 'profile', subfield: 'img', label_trans: 'reg.img', sortable: false }),
AddCol({ name: 'date_reg', label_trans: 'reg.date_reg', fieldtype: tools.FieldType.date }),
AddCol({ name: 'lasttimeonline', label_trans: 'reg.lasttimeonline', fieldtype: tools.FieldType.date }),
@@ -593,7 +764,11 @@ export const fieldsTable = {
AddCol({ name: 'surname', label_trans: 'reg.surname' }),
AddCol({ name: 'note', label_trans: 'reg.note' }),
AddCol({ name: 'contacted', label_trans: 'reg.contacted', fieldtype: tools.FieldType.boolean }),
AddCol({ name: 'saw_zoom_presentation', label_trans: 'reg.saw_zoom_presentation', fieldtype: tools.FieldType.boolean }),
AddCol({
name: 'saw_zoom_presentation',
label_trans: 'reg.saw_zoom_presentation',
fieldtype: tools.FieldType.boolean
}),
AddCol({ name: 'num_invitati', label_trans: 'reg.num_invitati', fieldtype: tools.FieldType.number }),
AddCol({ name: 'is_in_whatsapp', label_trans: 'reg.is_in_whatsapp', fieldtype: tools.FieldType.boolean }),
AddCol({ name: 'is_in_telegram', label_trans: 'reg.is_in_telegram', fieldtype: tools.FieldType.boolean }),
@@ -601,7 +776,10 @@ export const fieldsTable = {
AddCol({ name: 'nationality', label_trans: 'reg.nationality', fieldtype: tools.FieldType.nationality }),
AddCol({ name: 'aportador_solidario_name_surname', label_trans: 'reg.aportador_solidario_nome_completo' }),
AddCol({ name: 'aportador_solidario_ind_order', label_trans: 'reg.aportador_solidario_ind_order' }),
AddCol({ name: 'aportador_solidario_originale_name_surname', label_trans: 'reg.aportador_solidario_nome_completo_orig' }),
AddCol({
name: 'aportador_solidario_originale_name_surname',
label_trans: 'reg.aportador_solidario_nome_completo_orig'
}),
AddCol({ name: 'col_b', label_trans: 'reg.col_b', fieldtype: tools.FieldType.number }),
AddCol({ name: 'col_h', label_trans: 'reg.col_h', fieldtype: tools.FieldType.number }),
AddCol(DeleteRec),
@@ -651,6 +829,13 @@ export const fieldsTable = {
colkey: '_id',
collabel: (rec) => rec.riga + '.' + rec.col
},
{
value: 'flotte',
label: 'Flotte',
columns: colflotte,
colkey: '_id',
collabel: (rec) => rec.riga + '.' + rec.col_prima + ' ' + rec.riga + '.' + rec.col_ultima
},
{
value: 'navepersistente',
label: 'Navi Persistenti',

View File

@@ -24,6 +24,7 @@ export const lists = {
REGALA_INVITANTE: 342,
SOSTITUISCI: 345,
INVIA_MSG_A_DONATORI: 350,
INVIA_MSG_A_FLOTTA: 352,
INVIA_MSG_A_SINGOLO: 355,
DONO_INVIATO: 360,
DONO_RICEVUTO: 370,

View File

@@ -17,6 +17,7 @@ export const serv_constants = {
RIS_CODE_LOGIN_ERR_GENERIC: -20,
RIS_CODE_LOGIN_ERR: -10,
RIS_CODE_LOGIN_ERR_SUBACCOUNT: -8,
RIS_CODE_OK: 1,
RIS_CODE_LOGIN_OK: 1,

View File

@@ -68,7 +68,14 @@ export const tools = {
TipoMsg: {
SEND_LINK_CHAT_DONATORI: 1,
SEND_MSG: 2,
SEND_MSG_SINGOLO: 3
SEND_MSG_SINGOLO: 3,
SEND_TO_ALL: 10,
SEND_MSG_EFFETTUA_IL_DONO: 1000,
SEND_MSG_SOLLECITO_DONATORI_NO_DONO: 1005,
SEND_MSG_A_MEDIATORI: 1010,
SEND_MSG_A_SOGNATORE: 1020,
SEND_MSG_A_UTENTE_SOSTITUITO: 1030,
SEND_MSG_DONO_RICEVUTO_CORRETTAMENTE: 1040,
},
listBestColor: [
@@ -1542,6 +1549,7 @@ export const tools = {
username: par.param1.username,
invitante_username: '',
ind_order: -1,
num_tess: 0,
myfunc: func,
data: par.param2,
notifBot: null
@@ -1549,6 +1557,7 @@ export const tools = {
if (func === lists.MenuAction.CANCELLA_IMBARCO) {
mydatatosave.ind_order = par.param1.ind_order
mydatatosave.num_tess = par.param1.num_tess
mydatatosave.data.id = par.param2.rec._id
}
if (func === lists.MenuAction.AGGIUNGI_NUOVO_IMBARCO) {
@@ -1578,15 +1587,19 @@ export const tools = {
myfunc: func,
data: par.param2,
username: par.param2.username,
notifBot: null
notifBot: null,
inviaemail: par.param2.inviaemail,
}
if (par.param2.notifBot)
mydatatosave.notifBot = { un: par.param2, txt: par.param3 }
mydatatosave.notifBot = { un: par.param2.notifBot, txt: par.param3 }
myself.EseguiCallServer()
GlobalStore.actions.callFunz({ mydata: mydatatosave }).then((ris) => {
if (ris) {
myself.update_nave()
myself.Callback()
tools.showPositiveNotif(myself.$q, par.param3 + '\n' + ' e inviato messaggio per aprire la Gift Chat!')
} else
tools.showNegativeNotif(myself.$q, myself.$t('db.recfailed'))
@@ -1623,6 +1636,24 @@ export const tools = {
} else
tools.showNegativeNotif(myself.$q, myself.$t('db.recfailed'))
})
} else if (func === lists.MenuAction.INVIA_MSG_A_FLOTTA) {
// console.log('param1', par.param1)
myself.loading = true
GlobalStore.actions.InviaMsgAFlotta({
flotta: par.param1,
inviareale: par.param2.inviareale,
inviaemail: par.param2.inviaemail,
tipomsg: par.param3
}).then((ris) => {
myself.loading = false
if (ris) {
if (par.param1.inviareale)
tools.showPositiveNotif(myself.$q, myself.$t('dashboard.msg_donatori_ok'))
tools.askConfirm(myself.$q, '', ris.strout, translate('dialog.yes'), translate('dialog.no'), this, '', 0, 0, {})
myself.Callback()
} else
tools.showNegativeNotif(myself.$q, myself.$t('db.recfailed'))
})
} else if (func === lists.MenuAction.INVIA_MSG_A_SINGOLO) {
// console.log('param1', par.param1)
GlobalStore.actions.InviaMsgADonatori({
@@ -1640,7 +1671,7 @@ export const tools = {
const mydatatosave = {
id: par.param1._id,
table: tools.TABNAVI,
fieldsvalue: { date_made_gift: par.param1.date_made_gift },
fieldsvalue: { date_made_gift: par.param1.date_made_gift, commento_al_sognatore: par.param1.commento_al_sognatore },
notifBot: null
}
@@ -1656,11 +1687,18 @@ export const tools = {
tools.showNegativeNotif(myself.$q, myself.$t('db.recfailed'))
})
} else if (func === lists.MenuAction.DONO_RICEVUTO) {
const mydatatosave = {
let mydatatosave = {
id: par.param1._id,
table: tools.TABNAVI,
fieldsvalue: { made_gift: par.param1.made_gift, riga: par.param1.riga, col: par.param1.col },
notifBot: null
fieldsvalue: {},
notifBot: null,
tipomsg: tools.TipoMsg.SEND_MSG_DONO_RICEVUTO_CORRETTAMENTE
}
if (!!par.param1.date_made_gift) {
mydatatosave.fieldsvalue = { made_gift: par.param1.made_gift, riga: par.param1.riga, col: par.param1.col, date_made_gift: par.param1.date_made_gift }
} else {
mydatatosave.fieldsvalue = { made_gift: par.param1.made_gift, riga: par.param1.riga, col: par.param1.col }
}
if (par.param3) {
@@ -2234,6 +2272,15 @@ export const tools = {
return date.formatDate(mytimestamp, 'YYYY-MM-DD HH:mm:ss')
},
gettimestampstrDate(mydatestr) {
if (!!mydatestr) {
let mydate = new Date(mydatestr)
if (!!mydate)
return mydate.getTime()
}
return 0
},
// mystrdate "26.04.2013"
convertstrtoDate(mystrdate: string) {
if (mystrdate.length < 10) {
@@ -2556,9 +2603,13 @@ export const tools = {
} else if (Screen.width < 800) {
return '500'
} else if (Screen.width < 900) {
return '600'
} else {
return '700'
} else if (Screen.width < 1000) {
return '900'
} else if (Screen.width < 1100) {
return '1000'
} else {
return Screen.width - 200
}
},
@@ -2699,8 +2750,7 @@ export const tools = {
else {
return data.subtitle[static_data.arrLangUsed[0]]
}
}
,
},
gettitlecoll(data: IColl) {
if (data.title[toolsext.getLocale()])
return data.title[toolsext.getLocale()]
@@ -2923,6 +2973,26 @@ export const tools = {
}
})
} else if (riscode === serv_constants.RIS_CODE_LOGIN_ERR_SUBACCOUNT) {
// Wait N seconds to avoid calling many times...
return new Promise((resolve, reject) => {
setTimeout(() => {
resolve('anything')
}, 1000)
}).then(() => {
setTimeout(() => {
// console.log('HIDE...')
mythis.$q.loading.hide()
}, 500)
tools.showNotif(mythis.$q, mythis.$t('login.subaccount'), { color: 'negative', icon: 'notifications' })
mythis.iswaitingforRes = false
if (ispageLogin) {
GlobalStore.state.RightDrawerOpen = true
// mythis.$router.push('/signin')
}
})
} else if (riscode === tools.ERR_SERVERFETCH) {
tools.showNotif(mythis.$q, mythis.$t('fetch.errore_server'), { color: 'negative', icon: 'notifications' })
} else if (riscode === tools.ERR_GENERICO) {
@@ -3276,7 +3346,7 @@ export const tools = {
return splitStr.join(' ')
},
getValDb(keystr, serv, def?, table?, subkey?) {
getValDb(keystr, serv, def?, table?, subkey?, id?) {
if (table === 'users') {
if (keystr === 'profile') {
return UserStore.state.my.profile[subkey]
@@ -3714,8 +3784,23 @@ export const tools = {
} else {
return '1rem'
}
}
},
getsizesmall() {
if (this.isMobile()) {
return '0.75rem'
} else {
return '0.85rem'
}
},
convertiTagHTMLPerBOT(msg) {
msg = msg.replace(/<strong>/g, '<b>')
msg = msg.replace(/<\/strong>/g, '</b>')
return msg
}
// getLocale() {
// if (navigator.languages && navigator.languages.length > 0) {

View File

@@ -156,6 +156,26 @@
@click="EseguiFunz('eliminaListeIngressoNascoste')"></q-btn>
<br>
</div>
<div class="row">
<q-btn label="CONVERTI SUBACCOUNT !" color="negative"
@click="EseguiFunz('convSubAccount')"></q-btn>
<br>
</div>
<div class="row">
<q-btn label="FLAGGA GLI UTENTI CON NAVI NON PRESENTI!" color="primary"
@click="EseguiFunz('flagUtentiNaviNonPresenti')"></q-btn>
<br>
</div>
<div class="row">
<q-btn label="GENERA FLOTTE!" color="primary"
@click="EseguiFunz('generaFlotte')"></q-btn>
<br>
</div>
<!--<div class="row">
<q-btn label="AGGIUNGI NAVE PER UTENTI CHE NON CE L'HANNO (flag navinonpresenti)!" color="primary"
@click="EseguiFunz('addNavePerUtentiNaviNonPresenti')"></q-btn>
<br>
</div>-->
<div class="row">
<q-btn label="1) CONVERTI TUTTA LA STRUTTURA NEL NUOVO SISTEMA !" color="negative"
@click="EseguiFunz('creaTessituraeConv')"></q-btn>

View File

@@ -1,7 +1,7 @@
import Vue from 'vue'
import { Component, Prop, Watch } from 'vue-property-decorator'
import { Component } from 'vue-property-decorator'
import { CSignIn } from '../../../components/CSignIn'
import CSigninNoreg from '../../../components/CSigninNoreg/CSigninNoreg'
import { CSigninNoreg } from '@components'
@Component({
components: { CSigninNoreg }

View File

@@ -93,6 +93,21 @@
mysubkey="email_paypal"
:type="tools.FieldType.string">
</CMyFieldDb>
<CMyFieldDb :title="$t('reg.link_payment')"
table="users"
mykey="profile"
mysubkey="link_payment"
:type="tools.FieldType.string">
</CMyFieldDb>
<CMyFieldDb :title="$t('reg.note_payment')"
table="users"
mykey="profile"
mysubkey="note_payment"
:type="tools.FieldType.string">
</CMyFieldDb>
</div>
<CMyFieldDb :title="$t('reg.paymenttype')"