Skip to content

Instantly share code, notes, and snippets.

@d22
Created August 3, 2023 06:57
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save d22/852da26fc7fdcbf9a7df86a1fea8967e to your computer and use it in GitHub Desktop.
Save d22/852da26fc7fdcbf9a7df86a1fea8967e to your computer and use it in GitHub Desktop.
"Force" Login in Primo VE: Trigger Login modal and remove cancel button if not logged in
// hook for module:
// prm-user-area-expandable-after
//
export class forceLoginController {
constructor(jwtHelper) {
this.jwtHelper = jwtHelper
}
$onInit() {
this.parentCtrl = this.afterCtrl.parentCtrl
if (this.isGuest()) {
this.parentCtrl.handleLogin()
}
}
isGuest() {
if (!sessionStorage) {
return null
}
const jwt = sessionStorage.getItem('primoExploreJwt')
if (jwt == null) {
return true
}
const decodedToken = this.jwtHelper.decodeToken(jwt)
if (decodedToken == null) {
return true
}
const userName = decodedToken.userGroup !== 'GUEST' ? decodedToken.userName : ''
if (userName) {
return false
}
else {
return true
}
}
}
forceLoginController.$inject = ['jwtHelper']
// hook for module:
// prm-login-after
//
export class removeLoginCancelButtonController {
constructor() {}
$onInit() {
this.$timeout(() => {
document.querySelector(`prm-login md-dialog-actions button`).remove()
}, 0)
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment