Fix switching to another account on mobile (#1108)

This commit is contained in:
RainLoop Team 2016-07-15 20:38:11 +03:00
parent c145137b25
commit e8df1cdb57
3 changed files with 24 additions and 13 deletions

View file

@ -229,10 +229,7 @@ class AbstractApp extends AbstractBoot
*/
loginAndLogoutReload(admin = false, logout = false, close = false) {
const
mobile = Settings.appSettingsGet('mobile'),
inIframe = !!Settings.appSettingsGet('inIframe');
const inIframe = !!Settings.appSettingsGet('inIframe');
let customLogoutLink = pString(Settings.appSettingsGet('customLogoutLink'));
if (logout)
@ -245,7 +242,7 @@ class AbstractApp extends AbstractBoot
window.close();
}
customLogoutLink = customLogoutLink || (admin ? Links.rootAdmin(mobile) : Links.rootUser(mobile));
customLogoutLink = customLogoutLink || (admin ? Links.rootAdmin() : Links.rootUser());
if (logout && window.location.href !== customLogoutLink)
{

View file

@ -10,6 +10,7 @@ const
SUB_QUERY_PREFIX = '&q[]=',
VERSION = Settings.appSettingsGet('version'),
IS_MOBILE = Settings.appSettingsGet('mobile'),
WEB_PREFIX = Settings.appSettingsGet('webPath') || '',
VERSION_PREFIX = Settings.appSettingsGet('webVersionPath') || 'rainloop/v/' + VERSION + '/',
@ -54,12 +55,11 @@ export function rootAdmin()
}
/**
* @param {boolean=} mobile = false
* @returns {string}
*/
export function rootUser(mobile = false)
export function rootUser()
{
return mobile ? SERVER_PREFIX + '/Mobile/' : ROOT;
return IS_MOBILE ? SERVER_PREFIX + '/Mobile/' : ROOT;
}
/**
@ -171,7 +171,7 @@ export function append()
*/
export function change(email)
{
return serverRequest('Change') + encodeURIComponent(email) + '/';
return serverRequest('Change' + (IS_MOBILE ? 'Mobile' : '')) + encodeURIComponent(email) + '/';
}
/**

View file

@ -1155,10 +1155,7 @@ class ServiceActions
return $sResult;
}
/**
* @return string
*/
public function ServiceChange()
private function changeAction()
{
$this->oHttp->ServerNoCache();
@ -1184,7 +1181,24 @@ class ServiceActions
$this->oActions->AuthToken($oAccountToLogin);
}
}
}
/**
* @return string
*/
public function ServiceChangeMobile()
{
$this->changeAction();
$this->oActions->Location('./?/Mobile/');
return '';
}
/**
* @return string
*/
public function ServiceChange()
{
$this->changeAction();
$this->oActions->Location('./');
return '';
}