Skip to content
This repository was archived by the owner on Feb 22, 2024. It is now read-only.

Commit 1a8fbcd

Browse files
authored
Merge pull request #3598 from binary-hamedanchi/mohammad/login_virtual_account
mohammad/login_virtual_account
2 parents 0694612 + 0d541c7 commit 1a8fbcd

3 files changed

Lines changed: 12 additions & 16 deletions

File tree

src/javascript/app/base/header.js

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ const findParent = require('../../_common/utility').findParent;
2020

2121
const Header = (() => {
2222
const onLoad = () => {
23-
showOrHideLoginForm();
23+
populateAccountsList();
2424
bindClick();
2525
if (!Login.isLoginPages()) {
2626
checkClientsCountry();
@@ -67,12 +67,12 @@ const Header = (() => {
6767
Client.sendLogoutRequest();
6868
};
6969

70-
const showOrHideLoginForm = () => {
70+
const populateAccountsList = () => {
7171
if (!Client.isLoggedIn()) return;
7272
BinarySocket.wait('authorize').then(() => {
7373
const loginid_select = document.createElement('div');
7474
Client.getAllLoginids().forEach((loginid) => {
75-
if (!Client.get('is_disabled', loginid)) {
75+
if (!Client.get('is_disabled', loginid) && Client.get('token', loginid)) {
7676
const account_title = Client.getAccountTitle(loginid);
7777
const is_real = /real/i.test(account_title);
7878
const currency = Client.get('currency', loginid);
@@ -328,8 +328,7 @@ const Header = (() => {
328328

329329
return {
330330
onLoad,
331-
332-
showOrHideLoginForm,
331+
populateAccountsList,
333332
upgradeMessageVisibility,
334333
metatraderMenuItemVisibility,
335334
displayNotification,

src/javascript/app/base/logged_in.js

Lines changed: 7 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -65,14 +65,11 @@ const LoggedInHandler = (() => {
6565
// Clear all accounts before entering the loop
6666
Client.clearAllAccounts();
6767

68-
let is_loginid_set = false;
6968
account_list.forEach((account) => {
7069
Object.keys(account).forEach((param) => {
7170
if (param === 'loginid') {
72-
if (!is_loginid_set && !account.is_virtual &&
73-
!account.is_disabled) {
71+
if (!Client.get('loginid') && !account.is_virtual && !account.is_disabled) {
7472
Client.set(param, account[param]);
75-
is_loginid_set = true;
7673
}
7774
} else {
7875
const param_to_set = map_names[param] || param;
@@ -82,12 +79,6 @@ const LoggedInHandler = (() => {
8279
});
8380
});
8481

85-
// if didn't find any login ID that matched the above condition, set the first one at the end of the loop
86-
if (!is_loginid_set) {
87-
Client.set('loginid', params.acct1 || account_list[0].loginid);
88-
is_loginid_set = true;
89-
}
90-
9182
let i = 1;
9283
while (params[`acct${i}`]) {
9384
const loginid = params[`acct${i}`];
@@ -98,6 +89,12 @@ const LoggedInHandler = (() => {
9889
i++;
9990
}
10091

92+
// if didn't find any login ID that matched the above condition
93+
// or the selected one doesn't have a token, set the first one
94+
if (!Client.get('loginid') || !Client.get('token')) {
95+
Client.set('loginid', params.acct1 || account_list[0].loginid);
96+
}
97+
10198
if (Client.isLoggedIn()) {
10299
GTM.setLoginFlag();
103100
Client.set('session_start', parseInt(moment().valueOf() / 1000));

src/javascript/app/pages/user/set_currency.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -91,7 +91,7 @@ const SetCurrency = (() => {
9191
if (redirect_url) {
9292
window.location.href = redirect_url; // load without pjax
9393
} else {
94-
Header.showOrHideLoginForm(); // update account title
94+
Header.populateAccountsList(); // update account title
9595
$('.select_currency').setVisibility(0);
9696
$('#has_currency').setVisibility(1);
9797
}

0 commit comments

Comments
 (0)