From 464755878f54f0165d85f65df1af890a39fe9c0a Mon Sep 17 00:00:00 2001 From: ochan1 Date: Tue, 4 May 2021 03:30:11 -0700 Subject: [PATCH 1/2] Add Banner and Cloud reads for Alias user --- static/js/admin.js | 3 ++- static/js/base.js | 10 ++++++++ templates/alias_alert_banner.tmp | 42 ++++++++++++++++++++++++++++++++ templates/base.tmp | 14 ++++++++--- templates/login.tmp | 3 ++- 5 files changed, 67 insertions(+), 5 deletions(-) create mode 100644 templates/alias_alert_banner.tmp diff --git a/static/js/admin.js b/static/js/admin.js index a6364fb..1ce8c6a 100644 --- a/static/js/admin.js +++ b/static/js/admin.js @@ -188,10 +188,11 @@ function becomeButton (user) { user.username, 0, // password is irrelevant false, // persist - function (username, role, response) { + function (username, role, response, previous_username_admin) { alert( response.message, function () { + sessionStorage.previous_username_admin = previous_username_admin; sessionStorage.username = username; sessionStorage.role = role; location.href = 'profile'; diff --git a/static/js/base.js b/static/js/base.js index fece300..b52d35d 100644 --- a/static/js/base.js +++ b/static/js/base.js @@ -38,6 +38,16 @@ function fillVisitorFields () { } }; +function fillAliasAlert () { + if (sessionStorage.username && sessionStorage.previous_username_admin) { + document.querySelectorAll('.aliasAlert.warning.message').forEach(function (each) { + each.innerHTML = escapeHtml( + 'Admin account ' + sessionStorage.previous_username_admin + ' is logged in as ' + sessionStorage.username + ); + }); + } +}; + function fillUsernameFields () { var username = pageUser(); if (username) { diff --git a/templates/alias_alert_banner.tmp b/templates/alias_alert_banner.tmp new file mode 100644 index 0000000..2272310 --- /dev/null +++ b/templates/alias_alert_banner.tmp @@ -0,0 +1,42 @@ + + + diff --git a/templates/base.tmp b/templates/base.tmp index f5e4cf3..1366fd7 100644 --- a/templates/base.tmp +++ b/templates/base.tmp @@ -35,6 +35,7 @@ @include=navigation_bar + @include=alias_alert_banner
@content
@@ -46,16 +47,17 @@ if (!sessionStorage.username) { SnapCloud.initSession( function (username, role) { + sessionStorage.previous_username_admin = null; sessionStorage.username = username; sessionStorage.role = role; - initForUsername(username); + initForUsername(username, sessionStorage.previous_username_admin); } ); } else { - initForUsername(sessionStorage.username); + initForUsername(sessionStorage.username, sessionStorage.previous_username_admin); } - function initForUsername (username) { + function initForUsername (username, previous_username_admin) { if (username) { SnapCloud.username = username; document.querySelector('li.join').hidden = true; @@ -67,6 +69,12 @@ document.querySelector('.admin').hidden = false; } fillVisitorFields(); + + if (previous_username_admin) { + document.querySelector('div.aliasAlert.warning').hidden = false; + fillAliasAlert(); + } + } else { document.querySelector('li.join').hidden = false; document.querySelector('li.sign-in').hidden = false; diff --git a/templates/login.tmp b/templates/login.tmp index b891009..5e90b44 100644 --- a/templates/login.tmp +++ b/templates/login.tmp @@ -53,8 +53,9 @@ username, password, persist, - function (username, role) { + function (username, role, response, previous_username_admin) { // TODO: this should handle verification. + sessionStorage.previous_username_admin = previous_username_admin; sessionStorage.username = username; sessionStorage.role = role; window.location.href = redirectPath(); From 552fb22da4303d7d4e06051c121f288829270d9b Mon Sep 17 00:00:00 2001 From: ochan1 Date: Thu, 1 Jul 2021 03:03:34 -0700 Subject: [PATCH 2/2] Move order of onSuccess Cloud Login Prev Username Admin param + Become p/w to Empty String and no nulls --- static/js/admin.js | 4 ++-- templates/login.tmp | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/static/js/admin.js b/static/js/admin.js index 1ce8c6a..1b472ff 100644 --- a/static/js/admin.js +++ b/static/js/admin.js @@ -186,9 +186,9 @@ function becomeButton (user) { function () { SnapCloud.login( user.username, - 0, // password is irrelevant + '', // password is irrelevant, but can't be null false, // persist - function (username, role, response, previous_username_admin) { + function (username, role, previous_username_admin, response) { alert( response.message, function () { diff --git a/templates/login.tmp b/templates/login.tmp index 5e90b44..93066bc 100644 --- a/templates/login.tmp +++ b/templates/login.tmp @@ -53,7 +53,7 @@ username, password, persist, - function (username, role, response, previous_username_admin) { + function (username, role, previous_username_admin, response) { // TODO: this should handle verification. sessionStorage.previous_username_admin = previous_username_admin; sessionStorage.username = username;