diff --git a/src/common/shared_vuejs.ts b/src/common/shared_vuejs.ts index 48c6a00..c39f891 100755 --- a/src/common/shared_vuejs.ts +++ b/src/common/shared_vuejs.ts @@ -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: { diff --git a/src/components/CMyDashboard/CMyDashboard.vue b/src/components/CMyDashboard/CMyDashboard.vue index 52d8d17..e5e6d98 100755 --- a/src/components/CMyDashboard/CMyDashboard.vue +++ b/src/components/CMyDashboard/CMyDashboard.vue @@ -393,18 +393,33 @@
{{$t('dashboard.sognatore')}}
- - {{ tools.getrigacolstr(mianave) }} - - - {{ getNaveMediatoreStr(mianave)}} - - - {{ getNaveSognatoreStr(mianave)}} - +
+ + {{ tools.getrigacolstr(mianave) }} + +
+ +
+
+
+ + {{ getNaveMediatoreStr(mianave)}} + +
+ +
+
+
+ + {{ getNaveSognatoreStr(mianave)}} + +
+ +
+
@@ -416,7 +431,8 @@ - {{tools.getlastnavestr(dashboard.lastnave) }}   + + {{ tools.getrigacolstr(mianave)}} @@ -435,7 +451,9 @@ - + + {{ getNaveSognatoreStr(mianave)}} + diff --git a/src/components/CMyFieldDb/CMyFieldDb.ts b/src/components/CMyFieldDb/CMyFieldDb.ts index f266fa9..9fec0c5 100755 --- a/src/components/CMyFieldDb/CMyFieldDb.ts +++ b/src/components/CMyFieldDb/CMyFieldDb.ts @@ -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 = '' diff --git a/src/components/CMyFlotta/CMyFlotta.scss b/src/components/CMyFlotta/CMyFlotta.scss index 552f0db..b1c603e 100755 --- a/src/components/CMyFlotta/CMyFlotta.scss +++ b/src/components/CMyFlotta/CMyFlotta.scss @@ -172,3 +172,11 @@ font-size: 1.25rem; color: blue; } + +.q-table th, .q-table--dense { + padding: 2px; +} + +.q-btn { + text-transform: none; +} diff --git a/src/components/CMyFlotta/CMyFlotta.ts b/src/components/CMyFlotta/CMyFlotta.ts index 52a6626..ec76a90 100755 --- a/src/components/CMyFlotta/CMyFlotta.ts +++ b/src/components/CMyFlotta/CMyFlotta.ts @@ -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() { - return 'bg-blue' + 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, '
') + + } 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 + } + } diff --git a/src/components/CMyFlotta/CMyFlotta.vue b/src/components/CMyFlotta/CMyFlotta.vue index 8353265..6e8d44d 100755 --- a/src/components/CMyFlotta/CMyFlotta.vue +++ b/src/components/CMyFlotta/CMyFlotta.vue @@ -1,95 +1,487 @@ @@ -577,13 +608,13 @@ - - + + - - TUTOR, with him you must:
    ' + + /*sonomediatore: 'When you become a Medalist you are contacted by a TUTOR, with him you must:
      ' + '
    1. Open your Gift Chat (you as owner and the Tutor as administrator) with this name:
      {nomenave}
    2. ' + '
    3. Click on the chat name at the top -> Edit -> Administrators -> "Add Administrator", select the Tutor in the list.
    4. ' + '
    5. 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.
    6. ' + '
    7. To find the link to the newly created Chat: 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 "Link Gift Chat"
    8. " + box below.' + '
    9. Send the Gift Chat Link to all Donors by clicking on the button below.
    .', - sonodonatore: '
    1. When you are in this position, you will be invited to enter a Gift Chat (Telegram) and here you will also find the other 7 Donors, the Mediator, the Dreamer and a Staff representative.' + - '
    2. You will have 4 days to enter the chat and maximum 7 days to make your Gift, in the payment method that you will find written here.
    .', + */ + sonomediatore: 'When you are a MEDIATOR you will be contacted by TUTOR AYNI by message Chat AYNI BOT', + 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:
    Get into Gift Chat.', + sonodonatore: '
    1. When you are in this position, you will be invited (via a message on AYNI BOT) to make the Gift. You will no longer need to enter a Chat.
    2. ' + + '
    3. 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 AYNI BOT.
    ', sonodonatore_seconda_tessitura: '
    1. Here you are Mediator and also Donor, but being the second Weaving, you won\'t need to make your gift again.
    ', 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!
    ' + 'Send via PayPal to: {email}
    ' + '(Choose the option "SEND TO SOMEONE YOU TRUST")
    ', + paypal_me: '
    2) Simplified Method
    Click directly here
    ' + + 'will open PayPal with the amount and the recipient already set.
    ' + + 'Add as message: Gift
    ' + + 'WARNING: DO NOT select the box: Paypal shopping protection
    ' + + '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', }, diff --git a/src/statics/lang/es.js b/src/statics/lang/es.js index 717f2f2..b986ca6 100755 --- a/src/statics/lang/es.js +++ b/src/statics/lang/es.js @@ -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 TUTOR, con él debes:
      ' + + /*Cuando te conviertes en Mediador vienes contactado por un TUTOR, con él debes:
        ' + '
      1. Abrir tu Gift Chat (tu como propietario, y el Tutor ' + 'como administrador) con este nombre:
        {nomenave}
      2. ' + '
      3. Haz clic en tu nombre en la chat en la parte de arriba-> Modifica -> Administradores -> "Agregar Administrador", selecciona el Tutor en el elenco.
      4. ' + @@ -222,8 +224,12 @@ const msg_es = { 'cambia la "cronología para los nuevos miembros" de oculto a visible.' + '
      5. Para encontrar el link de la Chat recién creada: 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 "Link Gift Chat"
      6. ' + '
      7. Envía el Link de la Gift Chat a todos los Donadores, haciendo clic en el botón aquí abajo.
      ', - sonodonatore: '
      1. Cuando estás en esta posición, vendrás invitado a entrar en una Gift Chat (Telegram) y aqui encontrarás también los otros 7 Donadores, el Mediador, il Soñador y un representante del Staff.
      2. ' + - '
      3. Tendrás 4 días 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í.
      ', + */ + + sonomediatore: 'Cuando seas un MEDIADOR serás contactado por TUTOR AYNI a través de un mensaje en el Chat AYNI BOT.', + superchat: 'Nota: SOLO si tienes problemas de PAGO, o si quieres ser REEMPLAZADO, dos Tutores están esperando para ayudarte en el Chat:
      Entrar en el Chat de Regalos.', + sonodonatore: '
      1. Cuando estás en esta posición, vendrás invitado (desde un mensaje en el Chat AYNI BOT) para hacer tu regalo.
      2. ' + + '
      3. Tendrás 4 días para hacer tu regalo, en la modalidad de pago que encontrarás escrita en el mensaje.
      ', sonodonatore_seconda_tessitura: '
      1. Aqui tu eres Mediador y también Donador, pero siendo tu segundo Tejido, no será necesario efectuar nuevamente tu regalo
      ', 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!
      ' + 'Enviar por medio de PayPal a: {email}
      ' + '(Elija la opción "ENVIAR A ALGUIEN DE CONFIANZA")
      ', + paypal_me: '
      2) Método simplificado
      Click directamente aquí
      ' + + 'abrirá PayPal con el importe y el destinatario ya establecido.
      ' + + 'Añadir como mensaje: Regalo
      ' + + 'ADVERTENCIA: NO MARCAR LA CAJA: Protección de compras por Paypal
      ' + + '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', }, diff --git a/src/statics/lang/fr.js b/src/statics/lang/fr.js index 909a505..1fc50f9 100755 --- a/src/statics/lang/fr.js +++ b/src/statics/lang/fr.js @@ -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 TUTEUR, avec lui vous devez:
        ' + + /* Quand vous devenez Médiateur vous êtes contacté par un TUTEUR, avec lui vous devez:
          ' + '
        1. Ouvrir votre Gift Chat (vous comme propriétaire et le Tuteur ' + 'comme administrateur) avec ce nom:
          {nomenave}
        2. ' + '
        3. Cliquez sur le nom du chat en haut -> Modifiez -> Administrateurs -> "Ajoutez Administrateur", sélectionner le Tuteur dans la liste.
        4. ' + @@ -220,8 +222,11 @@ const msg_fr = { 'changez la "chronologie pour les nouveaux membres" de cachée à visibile.' + '
        5. Pour trouver le link du Chat à peine crée: 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 "Link Gift Chat"
        6. ' + '
        7. Envoyez le Link de la Gift Chat à tous les Donateurs, en cliquant sur le boutton ci-dessous .
        ', - sonodonatore: '
        1. Quand vous êtes dans cette position, vous serez invité à entrer dans un Gift Chat (Telegram) et là vous y trouverez également les autres 7 Donateurs,le Médiateur, le Rêveur et un représentant du Staff.
        2. ' + - '
        3. Vous aurez 4 jours pour entrer dans le chat et 7 jours maximum pour faire votre cadeau, dans la modalité de paiement que vous trouverez écrit ici.
        ', + */ + sonomediatore: 'Lorsque vous êtes un MEDIATEUR, vous serez contacté par TUTOR AYNI via un message sur le Chat AYNI BOT.', + 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:
        Get into Gift Chat.', + sonodonatore: '
        1. Quand vous êtes dans cette position, vous serez invité pour faire votre cadeau
        2. ' + + '
        3. Vous aurez 4 jours pour faire votre cadeau.
        ', sonodonatore_seconda_tessitura: '
        1. Ici vous êtes Médiateur et également Donateur, mais étant le deuxième Tissage, vous n’aurez pas besoin d’éffectuer de nouveau votre don
        ', 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 PayPal à : {email}
        ' + '(Choisissez l\'option "ENVOYER À UNE PERSONNE DE CONFIANCE")
        ', + paypal_me: '
        2) Méthode simplifiée
        Cliquez directement ici
        ' + + 'ouvrira PayPal avec le montant et le destinataire déjà définis.
        ' + + 'Ajouter comme message : Regalo
        ' + + 'WARNING: NE COCHEZ PAS LA BOITE : Protection des achats par Paypal
        ' + + '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', }, diff --git a/src/statics/lang/it.js b/src/statics/lang/it.js index 068b2ce..f6d4519 100755 --- a/src/statics/lang/it.js +++ b/src/statics/lang/it.js @@ -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 TUTOR, con lui devi:
          ' + +/* sonomediatore: 'Quando diventi Meditore vieni contattato da un TUTOR, con lui devi:
            ' + '
          1. Aprire la tua Gift Chat (tu come proprietario e il Tutor ' + 'come amministratore) con questo nome:
            {nomenave}
          2. ' + '
          3. Clicca sul nome della chat in alto -> Modifica -> Amministratori -> "Aggiungi Amministratore", seleziona il Tutor nell’elenco.
          4. ' + @@ -248,9 +250,12 @@ const msg_it = { 'cambia la "cronologia per i nuovi membri" da nascosta a visibile.' + '
          5. Per trovare il link della Chat appena creata: 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 "Link Gift Chat"
          6. ' + '
          7. Invia il Link della Gift Chat a tutti i Donatori, cliccando sul bottone qui sotto.
          ', - sonodonatore: '
          1. Quando sei in questa posizione, verrai invitato (tramite un messaggio su AYNI BOT) ad entrare in una Gift Chat (Telegram) e qui troverai anche gli altri 7 Donatori, il Mediatore, il Sognatore e un rappresentante dello Staff.
          2. ' + - '
          3. 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.
          ', - sonodonatore_seconda_tessitura: '
          1. Qui tu sei Mediatore e anche Donatore, ma essendo la seconda Tessitura, non avrai bisogno di effettuare nuovamente il tuo dono
          ', +*/ + sonomediatore: 'Quando sei MEDIATORE verrai contattato dai TUTOR AYNI tramite un messaggio sulla Chat AYNI BOT !', + superchat: 'Nota Bene: SOLO se hai problemi di PAGAMENTO, o se vuoi essere SOSTITUITO, due Tutor ti aspettano per aiutarti sulla Chat:
          Entra nella Gift Chat', + sonodonatore: '
          1. Quando sei in questa posizione, verrai invitato (tramite un messaggio su AYNI BOT) ad effettuare il Dono. Non sarà più necessario entrare in una Chat.
          2. ' + + '
          3. Avrai tempo 4 giorni per fare il Regalo (poi verrai sostituito), nella modalità di pagamento che troverai scritto sul messaggio in AYNI BOT .
          ', + sonodonatore_seconda_tessitura: '
          1. Qui tu sei Mediatore e anche Donatore, ma essendo la seconda Tessitura (il Ritorno), non avrai bisogno di effettuare nuovamente il dono
          ', 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!
          ' + - 'Inviare tramite PayPal a: {email}
          ' + - '(Scegliere l\'opzione "INVIA A UNA PERSONA DI FIDUCIA")
          ', + effettua_il_dono: 'E\' arrivato il momento di Effettuare il proprio Dono!

          ' + + '1) Metodo Tradizionale
          Inviare tramite PayPal a: {email}
          ' + + 'Aggiungere come messaggio la dicitura: Regalo
          ' + + '(Scegliere l\'opzione "INVIA A UNA PERSONA DI FIDUCIA")
          ', + paypal_me: '
          2) Metodo Semplificato
          Cliccare direttamente qui
          ' + + 'si aprirà PayPal con l\'importo e il destinatario gia impostato.
          ' + + 'Aggiungere come messaggio la dicitura: Regalo
          ' + + 'ATTENZIONE: NON SPUNTARE LA CASELLA: Protezione acquisti Paypal
          ' + + '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' }, diff --git a/src/statics/lang/pt.js b/src/statics/lang/pt.js index 9a68cf9..ca59e8b 100755 --- a/src/statics/lang/pt.js +++ b/src/statics/lang/pt.js @@ -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 TUTOR entra em contato com você, e deve:
          ' + + /* Quando você se torna um mediador, um TUTOR entra em contato com você, e deve:
          ' + '
          1. Abrir seu bate-papo do presente (você como proprietário e o tutor como administrador) com este nome:
            {nomenave}
          2. ' + '
          3. Clique no nome do bate-papo na parte superior - > Editar -> Administradores -> "Adicionar administrador", selecione o Tutor na lista.
          4. ' + '
          5. 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 = { '
          6. 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.
          ', - - sonodonatore: '
          1. Quando você estiver nessa posição, você será convidado (por meio de uma mensagem em AYNI BOT) 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.
          2. '+ - '
          3. 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.
          ', + */ + sonomediatore: 'Quando você for um MEDIATOR será contactado por TUTOR AYNI através de uma mensagem no Chat AYNI BOT.', + superchat: 'Nota: SOMENTE se tiver problemas de PAGAMENTO, ou se quiser ser REPRESENTADO, dois Tutores estão à espera para o ajudar no Chat:
          a href="{link_superchat}" target="_blank">Entre no Gift Chat.', + sonodonatore: '
          1. Quando você estiver nessa posição, você será convidado (por meio de uma mensagem em AYNI BOT) 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.
          2. ' + + '
          3. Você terá 4 dias para entrar no bate-papo para fazer seu presente.
          ', soydonante_secundo_tejido: '
          1. Aqui você é Mediador e também Doador, mas sendo o segundo Tecido, você não terá que fazer seu presente novamente
          ', 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
          de saída', doni_inviati: 'Donativos
          enviados', - nome_dei_passaggi:'Nomes
          de Passos', - donatori:'Doadores', - donatore:'Doadore', - mediatore:'Ombudsman', - sognatore:'Sonhador', - sognatori:'Sonhadores', - intermedio:'INTERMEDIAR', + nome_dei_passaggi: 'Nomes
          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!
          ' + 'Enviar via PayPal para: {email}
          ' + '(Escolha a opção "ENVIAR A ALGUÉM DA SUA CONFIANÇA".)
          ', + paypal_me: '
          2) Método Simplificado
          Click directamente aqui>br>' + + 'abrirá o PayPal com o montante e o destinatário já definidos.
          ' + + 'Adicionar como mensagem: Presente>br>' + + 'AVISO: NÃO SELECCIONAR A CAIXA: Protecção de compras Paypal
          ' + + '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' }, diff --git a/src/statics/lang/si.js b/src/statics/lang/si.js index 34a8c0e..71d8a78 100755 --- a/src/statics/lang/si.js +++ b/src/statics/lang/si.js @@ -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?
          Z novim vplačilom 33€, lahko pričneš novo potovanje in tako dobiš\še eno priložnost, da postaneš Sanjač!
          ' + - 'Č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?
          Z novim vplačilom 33€, lahko pričneš novo potovanje in tako dobiš še eno priložnost, da postaneš Sanjač!
          ' + + 'Č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 TUTOR, z njim moraš:
            ' + + /*Ko postaneš Mediator te kontaktira en TUTOR, z njim moraš:
              ' + '
            1. Odpret svoj Gift- Darilni klepet (ti kot lastnik in Tutor ' + 'kot administrator) s tem imenom:
              {nomenave}
            2. ' + '
            3. Klikni na ime klepeta na vrhu-> Popravi -> Administratorji -> "Dodaj Administratorja", izberi Tutorja v imeniku.
            4. ' + @@ -226,8 +228,11 @@ const msg_si = { 'spremeni "zgodovina za nove člane" iz skrite v vidno.' + '
            5. Da najdeš link pravkar ustvarjenega klepeta : 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"Link Gift Klepet"
            6. ' + '
            7. Pošlji Link Gift Klepeta vsem Donatorjem, tako, da klikneš na spodnji gumb.
            ', + */ + sonomediatore: 'Ko ste MEDIATOR, vas bo TUTOR AYNI poklical preko sporočila na klepetu AYNI BOT', + 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:
            Vstopi v Super Klepet', sonodonatore: '
            1. Ko si na tej poziciji, boš povabljen, da vstopiš v Gift Klepet (Telegram) in tam boš našel še ostalih 7 Donatorjev, Mediatorja, Sanjača in enega predstavnika Tima.
            2. ' + - '
            3. Imel boš 4 dni časa za vstop v klepet in maksimalno 7 dni za izpeljati vplačilo, ki ga imaš napisanega tu.
            ', + '
          1. Imel boš 4 dni časa v za izpeljati vplačilo.
          ', sonodonatore_seconda_tessitura: '
          1. Tu si istočasno Mediator in Donator. Ker je to tvoj avtomatičen vpis, ti ni sedaj potrebno vplačati!
          ', 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!
          ' + - 'Vplačaj preko PayPal a: {email}
          ' + - '(Izberi možnost "Pošlji osebi, ki ji zaupaš")
          ', + effettua_il_dono: 'Je prišel trenutek da Vplačaš svoje darilo!
          ' + + '1) Tradicionalna metoda
          ' + + 'Vplačilo preko PayPal na: {email}
          ' + + 'V sporocilo dopiši: Darilo
          ' + + 'Zberi možnost "POŠLJI OSEBI, KI JI ZAUPAŠ"', + paypal_me: '
          2) Poenostavljena metoda
          Klikneš direktno na link
          ' + + 'odpre se ti si PayPal z že vpisanim zneskom in postavljenim emailom osebe, ki ji vplačuješ
          ' + + 'V sporočilo dopiši: Darilo
          ' + + 'POZOR NE OZNAČI POLJA: Zaščita nakupa Paypal
          ' + + 'Č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', diff --git a/src/store/Modules/GlobalStore.ts b/src/store/Modules/GlobalStore.ts index deddd88..3c0d298 100755 --- a/src/store/Modules/GlobalStore.ts +++ b/src/store/Modules/GlobalStore.ts @@ -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) } diff --git a/src/store/Modules/UserStore.ts b/src/store/Modules/UserStore.ts index a5b1a13..2ecd1e3 100755 --- a/src/store/Modules/UserStore.ts +++ b/src/store/Modules/UserStore.ts @@ -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 diff --git a/src/store/Modules/fieldsTable.ts b/src/store/Modules/fieldsTable.ts index 2364af5..189bde4 100755 --- a/src/store/Modules/fieldsTable.ts +++ b/src/store/Modules/fieldsTable.ts @@ -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), @@ -497,7 +531,7 @@ export const fieldsTable = { AddCol(DuplicateRec), ], - // IColGridTable + // IColGridTable colTableUsers: [ // AddCol({ name: '_id', label_trans: 'reg.id' }), AddCol({ name: 'index', label_trans: 'reg.index', fieldtype: tools.FieldType.number }), @@ -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.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.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.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', diff --git a/src/store/Modules/lists.ts b/src/store/Modules/lists.ts index 4d9e95b..8bee7ba 100755 --- a/src/store/Modules/lists.ts +++ b/src/store/Modules/lists.ts @@ -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, diff --git a/src/store/Modules/serv_constants.ts b/src/store/Modules/serv_constants.ts index da6cc01..7de4f36 100755 --- a/src/store/Modules/serv_constants.ts +++ b/src/store/Modules/serv_constants.ts @@ -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, diff --git a/src/store/Modules/tools.ts b/src/store/Modules/tools.ts index 4b204bc..cb9ca70 100755 --- a/src/store/Modules/tools.ts +++ b/src/store/Modules/tools.ts @@ -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] @@ -3402,7 +3472,7 @@ export const tools = { const arrlang = ['IT', 'ES', 'PT', 'BR', 'US', 'GB', 'UK', 'DE', 'FR', 'SI', 'MD', 'NG', 'SK', 'CH', 'CM', 'CO', 'CG', 'PE', 'MS', 'SM', 'HR', 'RO', 'VE', 'CL', 'PL', 'EG', 'AR', 'MX', 'SN', 'PK', 'AT', 'NP', - 'CU', 'MA', 'PH', 'BA', 'UA', 'BE', 'NL', 'CI'] + 'CU', 'MA', 'PH', 'BA', 'UA', 'BE', 'NL', 'CI'] const flag = arrlang.find((mylang) => mylang === lang) if (!!flag) { @@ -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(//g, '') + msg = msg.replace(/<\/strong>/g, '') + + return msg + } // getLocale() { // if (navigator.languages && navigator.languages.length > 0) { diff --git a/src/views/admin/dbop/dbop.vue b/src/views/admin/dbop/dbop.vue index f81661c..8c0865b 100755 --- a/src/views/admin/dbop/dbop.vue +++ b/src/views/admin/dbop/dbop.vue @@ -156,6 +156,26 @@ @click="EseguiFunz('eliminaListeIngressoNascoste')">
          +
          + +
          +
          +
          + +
          +
          +
          + +
          +
          +
          diff --git a/src/views/login/signin/signin.ts b/src/views/login/signin/signin.ts index 6e11dca..830aa31 100755 --- a/src/views/login/signin/signin.ts +++ b/src/views/login/signin/signin.ts @@ -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 } diff --git a/src/views/user/profile/profile.vue b/src/views/user/profile/profile.vue index df504b7..f6a436f 100755 --- a/src/views/user/profile/profile.vue +++ b/src/views/user/profile/profile.vue @@ -93,6 +93,21 @@ mysubkey="email_paypal" :type="tools.FieldType.string"> + + + + + + +