Has there been any update for the user.role functionality? I am having a hard time accessing my roles in the code. Are the role options limited to member, admin, and visitor? I have created my own role named “Clinet”. How can I access it in the code?Thank you very much!
When I print the currentUser.role on the counsel it just says Member. Does it not automatically change the user role when I assign my members to different roles? Thank you!
Hi below is my code i use when someone log and i want to show different menu for different group. so user.getRoles() gives me roles
$w.onReady(() => {
let ktos = wixUsers.currentUser;
if (ktos.loggedIn) setupPage();
wixUsers.onLogin((user) => {
setupPage();
});
});
export function setupPage() {
let user = wixUsers.currentUser;
user.getRoles()
.then((roles) => {
if (roles.length === 0){
$w(“#menu”).show();
$w(“#menuobsluga”).hide();
$w(“#klientgroup”).hide();
}
else {
let firstRole = roles[0];
let roleName = firstRole.name;
//console.log(roles);
//console.log = (roleName); // “Role Name”
let roleDescription = firstRole.description; // “Role Description”
if (roleName === “obsluga” && user.loggedIn) {
$w(“#menu”).hide();
$w(“#menuobsluga”).show();
$w(“#klientgroup”).hide();
}
if (roleName === “Klient” && user.loggedIn) {
$w(“#menu”).hide();
$w(“#klientgroup”).show();
$w(“#menuobsluga”).hide();
}
else {
$w(“#menu”).show();
$w(“#klientgroup”).hide();
$w(“#menuobsluga”).hide();
}
}})
}
This is beautiful peace of code, thank you for being able to read my mind!
if you like make top comment. Chris
i try to use your code to my site but its working only when the name of role is “Admin”.
i created a role named “manager” and something isnt good…
$w.onReady( function () {
let user = wixUsers.currentUser;
var roleName;
user.getRoles()
.then( (roles) => {
var firstRole = roles[0];
roleName = firstRole.name; // "Role Name"
console.log(roleName);// its working and display "manager"
})
if (user.roleName ===“manager” && user.loggedIn){
//Show components:
$w(‘#bb’).show();
}
if (user.roleName === “manager” && user.loggedIn) {
$w(‘#button3’).onClick((event)=>{
wixLocation.to(‘/blank-6’);
})
}
});
Thanks Krs Mis . This is just what I am looking for. However, I am new to coding. Which part of the code needs to be adjusted for site specifics i.e. the role names and others? Many thanks in advance.