successDeposit: function(response) { var headerParameters, feTime = (new Date()).getTime(); if (response.data.headerParameters) { headerParameters = payment.convertHeaderParameters(response.data.headerParameters); if (window.NREUM && window.NREUM.inlineHit) { window.NREUM.inlineHit('Deposit', response.queueTime, 0, response.totalBeTime, 0, (new Date()).getTime() - feTime); } if (headerParameters.method === 'POST' && headerParameters.contentType && !_.isEmpty(headerParameters.postData)) { document.body.appendChild(payment.getFormFromHeaderParameters(headerParameters)).submit(); } else { core.navigate(headerParameters.url, {redirect: true}); } } else { // Send notification about success deposit core.trigger('app:message', { ID: 'successDeposit', data: { message: 'Success deposit notification', paymentsStatistics: user.get('paymentsStatistics') } }); if (window.NREUM && window.NREUM.inlineHit) { window.NREUM.inlineHit('Deposit', response.queueTime, 0, response.totalBeTime, 0, (new Date()).getTime() - feTime); } } core.trigger('deposit:success'); },
submit: function() { var formData = {}; core.trigger('registration:sendForm'); this.childViews.forEach(function(step) { $.extend(formData, step.getData()); }, this); $.extend(formData, affilate.getBannerCookie()); $.extend(formData, referrer.getRefereeCookie()); referrer.unsetRefereeCookie(); if (this.options.config.creferer) { if (formData.creferer) { formData.creferer += (';' + this.options.config.creferer); } else { formData.creferer = this.options.config.creferer; } } if (this.options.config.clienttype) { formData['clienttype'] = this.options.config.clienttype; } if (this.options.config.tcversion) { formData['tcVersion'] = this.options.config.tcversion; } formData['clientPlatform'] = device.clientPlatform; this.sendRegistrationData(formData); },
app.handleSuccessGeoResponse = function (response) { if (response && response.data) { user.set('geoIpCountry', response.data.country); user.set('defaultCountry', response.data.country); core.trigger('app:settings:geo:received'); } };
withdrawSuccess: function(response) { var headerParameters; if (response.data.headerParameters) { headerParameters = payment.convertHeaderParameters(response.data.headerParameters); if (headerParameters.method === 'POST' && headerParameters.contentType && !_.isEmpty(headerParameters.postData) ) { document.body.appendChild(payment.getFormFromHeaderParameters(headerParameters)).submit(); } else { core.navigate(headerParameters.url, {redirect: true}); } } else { new PopupView({ data: { title: response.description, content: this.translate('playtech.mobile.mobile-cashier.transaction.success') } }); } core.trigger('withdraw:success', response.data); },
changeLanguage: function(e) { this.$('.selected').removeClass('selected'); e.currentTarget.classList.add('selected'); this.listenToOnce(core, 'page:refresh', user.toggleSelector); core.trigger('user:action:changeLanguage', e.currentTarget.dataset.lang); }
xit('should highlight current page in menu after redirecting', function() { var url = '/register'; core.trigger('navigate', url); menu.$('[data-url="' + url + '"]').hasClass('active').should.be.eql(true); });
render: _.once(function() { this.$el.html(this.tmpl('app.home')); core.trigger('app:rendered'); return this; })
connectCallback = function() { core.log('Open API server connected'); core.trigger('server:connected'); if (this.userDisconnected) { this._restoreSession(); } }.bind(this),
close: function() { var state = PopupView.prototype.close.apply(this, arguments); storage.session.setItem('redirectOnForbidden', true); core.trigger('page:refresh'); return state; }
onClose: function() { // Send notification about success deposit status === 'success' && core.trigger('app:message', { ID: 'successDeposit', data: { message: 'Success deposit notification' } }); }
$(window).on('popstate.registration', function(e) { var step; if (e.state !== null) { step = e.state.stepNumber || 0; this.showStep(step); core.trigger('page:clear'); } }.bind(this));
handleOpenChatOnAdminRequest: function(response) { this.unset('systemMessage'); this.unset('waitingMessage'); if (response.data.chatInviteType === 'MANUAL') { core.trigger('chat:showOpenConfirmPopup'); } else { this.initialChat(); } },
_restoreSession: function() { var userObject = storage.local.getItem('userModel'); if (userObject && userObject.role === 'user') { core.trigger('server:disconnect'); core.once('user:login user:logout', function() { this.userDisconnected = false; }, this); } },
success: function(response) { var currentLimits = response.data ? response.data.currentLimits : false; this.set('isLimitsSet', currentLimits && Boolean(currentLimits.length)); var setLimitsCounter = this.get('setLimitCounter'); this.set('setLimitCounter', setLimitsCounter ? ++setLimitsCounter : 1); if (!this.get('isLimitsSet') && this.get('setLimitCounter') < 8) { core.trigger('app:message', { ID: 'depositLimits' }); // Try to set deposit limits after 15 seconds window.setTimeout(function() { this.setDepositLimits().always(this.getDepositLimits.bind(this)); }.bind(this), 15000); } else { core.trigger('depositLimits:set'); } }.bind(this)
_failedLogin: function(response) { var message = response.data, codes = [23]; if (message && codes.indexOf(message.errorCode) >= 0) { core.trigger('user:failedLogin', message); } else { core.error(message || 'Login error'); } this.quietLogout(); },
notify: function(response) { response.data.balances.forEach(function(balance) { user.balance.get('balances')[balance.balanceType] = balance.balance; }); var casinoGamingBalance = user.balance.get('balances')['casino_gaming_balance'], totalAmount = casinoGamingBalance && casinoGamingBalance.amount, formattedBalance = formatter.formatCurrency(totalAmount); user.balance.set({ totalAmount: totalAmount, currency: user.get('currencyCode'), formattedBalance: formattedBalance }); core.trigger('user:balanceUpdated', response); core.trigger('app:message', { ID: 'lowBalance', data: response }); }
errorRegister: function(error) { this._hideLoading(); var message = { content: i18n.tExt('playtech.mobile.registration.error.' + error.data.errorCode, error.data.errorMessage), className: ' error' }; core.trigger('registration:error', message); this.$('.fn-register-messages').html(this.tmpl('common.messages', message)); },
quietLogout: function() { var cachedData = _.pick(this.attributes, this.cachedProperties); this.clear() .set(_.result(this, 'defaults')) .set(cachedData); pas.logout(); favoritesStore.clear(); core.trigger('user:logout'); },
var errorCallback = function() { var countOfAvailableUrls = this._fallbackUrl ? 2 : 1; core.error('Open API connection error'); if (this._usedUrlCount <= countOfAvailableUrls) { this._connection.socket.reconnect(); } else { this._usedUrlCount = 0; this.removeAllListeners(); core.trigger('server:reconnect'); } }.bind(this),
_successLogin: function(options) { this.set({ windowSessionId: Math.floor(Math.random() * 100000000), role: 'user', hasBeenLoggedIn: true }); if (options && options.data) { this.set(options.data); } this._startWindowSession(); core.trigger('user:login', this); },
errorDeposit: function(response) { var errorMessage = response.data.errorMessage; if (!errorMessage && response.data.error) { errorMessage = response.data.error.message; } this.form.showErrorMessages({ translation: 'playtech.mobile.mobile-cashier.error.' + response.data.errorCode, content: errorMessage }); core.trigger('deposit:fail', response.data); }
.done(function(response) { if (response.data.sessionToken) { user.set('sessionToken', response.data.sessionToken.sessionToken); user._loginByToken(request) .done(function(response) { user.set('authType', 'credentials'); state.resolve(response); }) .fail(state.reject); } else { var sessionValidation = response.data.sessionValidationData, tempPassword; if (sessionValidation) { tempPassword = user.get('password'); } if (sessionValidation && sessionValidation.SessionValidationByTCVersionData) { core.trigger('user:action:showTermsPopup', sessionValidation.SessionValidationByTCVersionData[0]); } if (sessionValidation && sessionValidation.SessionValidationByPasswordChangeData) { core.trigger('app:message', {ID: 'changePassword'}); } state.reject(response); if (sessionValidation) { user.set({ relogin: true, password: tempPassword }); } } })
tracklink: function (event) { // send mansion tracking data .. core.trigger( 'sendTrackingData', { 'event': 'button-clicked', 'event-type': 'button', 'event-name': 'clicked', 'custom_data': { 'location': 'main-header', 'type': 'main-header-logo', } } ); },
showLoginPopup: function() { if (this.options.config.duplicateEmailLookup) { core.trigger('app:message', { ID: 'showLogin', data: { closeAll: true, data: { description: this.translate('playtech.mobile.system.user.login.description.emailExist') }, loginCallback: function() { core.navigate('/'); } } }); } },
addCardSuccess: function(response) { if (response.accountCode && response.accountId && response.methodCode) { this.showInfo({ content: this.translate('playtech.mobile.mobile-cashier.notifications.cardAdded') }); storage.session.setItem('lastAddedPayment', response.methodCode); response = this.model.formatAddedPaymentAccount(response); core.trigger('card:added', response, this.options); } else { this.showInfo({ content: this.translate('playtech.mobile.mobile-cashier.notifications.addCardScStatusSuccessButInvalidResponse') }); } },
openLoginPopup: function (e) { HeaderView.prototype.openLoginPopup.call(this, e); // send mansion tracking data .. core.trigger( 'sendTrackingData', { 'event': 'button-clicked', 'event-type': 'button', 'event-name': 'clicked', 'custom_data': { 'location': 'main-header', 'type': 'main-header-login', } } ); },
successRegister: function() { if (this.options.config.downloadClientRegistration) { this._hideLoading(); return this.handleDLClient(user.get('userName'), user.get('password')); } core.trigger('registration:success'); user.fetch() .done(function() { this._hideLoading(); var action = this.model.get('config').afterRegistrationAction; core.navigate(action ? action : '/'); }.bind(this)) .fail(this.errorRegister.bind(this)); },
detectLangWithGeoIp: function() { var locales, detectedCountry = _.filter(_.keys(Playtech.Variables.countryLocaleMapping), function(item) { return item === this.get('defaultCountry'); }.bind(this)); if ((detectedCountry.length > 0) && (Playtech.Variables.countryLocaleMapping[detectedCountry[0]] !== this.get('lang'))) { locales = Playtech.Variables.countryLocaleMapping[detectedCountry[0]]; core.trigger('app:message', { ID: 'changeLanguage', data: { message: 'Change language notification', oldLang: this.get('lang'), newLang: detectedCountry[0], newLocale: locales } }); } this.set('languageDetected', true); },
.done(function() { var userData = this.get('userDetails'), isJumioAllowed = Playtech.Variables.netVerifyJumioEnabled && userData.ageVerificationStatus === 'inprocess', isUserSuspended = userData.suspended === 'true'; // check if NetVerify/Jumio is enabled if (isJumioAllowed) { if (isUserSuspended) { this.set('suspended', true); state.reject({ data: 'User is suspended' }); } else { this.set('suspended', false); } core.trigger('app:message', { ID: 'userVerify' }); } state.resolve(userData); }.bind(this))
_sendSessionInfo: function(sendFullData) { if (!this.get('loggedIn') || this.reconnecting) { return; } var data = { ID: 36025, description: 'Chat player session info', visitedPage: document.URL, playerId: this.get('playerId') || 0, playerMode: this._getPlayerMode(), sessionToken: this.get('sessionToken') }; if (sendFullData === true) { data.playerAgent = navigator.userAgent; data.realPlayerLastSessionTime = this.get('realPlayerLastSessionTime'); data.anonymousPlayerLastSessionTime = this.get('anonymousPlayerLastSessionTime'); } else { core.trigger('chat:action:close'); } server.send(data); },