No available screens for user

Hi

I have set visibilities for all screens depend on user role in Users Tab. But after login user can’t see any screen. Please help

It would help if you can explain more or post screenshots of what you did so users here can identify the problem and recommend a solution. That said, I would advise debugging the issue by using the “View as” option on the editor and then inspect the current user’s role to check if it is what it should be.

1 Like

In builder when I am viewing as a user I can see all needed tabs

But if to login via email button only this

Can you show at least one of the screen visibility settings? Also, are you sure that logged-in user’s role is correct in the table?

Screen visibility


User role

Also I’ve found one strange thing. Role Employer is assigned on form submission action, and if to enter it manually the screens appear for user

Hmm, your screenshot looks different. I would expect the display to say “Show tab when Role is Employer” (btw: I am ignoring the OR condition here.)

Please ignore the additional columns in my example. But the main point is the role selection for the visibility should be based off of “User Profile > Role” as seen in the screenshot. In my example, I am filtering the visibility to users with “Admin” role.

Also I’ve found one strange thing. Role Employer is assigned on form submission action, and if to enter it manually the screens appear for user

EDIT: After reading @Jeff_Hager reply below:
The concept of a Role seems to be different in the way how Glide treats it. So I would recommend assigning the same basic roles to your users manually. For example: “Admin” for administrator of app and “User” for the rest. Then a use different column in the User’s table called Designation (to avoid confusion with the term Role). You can hold the list of possible designations in a Designations table and have a Designation Relation column on the Users table. This can be changed in the app using the UI. I would recommend restricting this UI to users with specific Role such as Admin. Then configure the rest of the screens to use the designation to restrict visibility or actions.

Please keep in mind that with this approach you cannot use the Designation for handling Row Owners (i.e. prevent Glide from sending the data to the frontend).

I am using a similar approach in my app. Except in my case I use actions and permissions to control who can do what. I almost never directly use the Role on the UI, because things can get complicated if you want to allow/restrict certain screens/actions differently for different roles. This approach really works very well.

Sample screenshots from my app:


Screenshot 2024-05-03 181710

Sample screenshots that shows the effect of designation change on the UI. Tested this on the phone and browser to verify that it works correctly.



1 Like

Are you using true Role functionality as stated in the documentation?

If so, you can’t set a Role via the app for security reasons.

3 Likes

I’ve just created a field role and entered data

1 Like

Ya…Jeff’s explanation is spot on. You have three options. Use a different column for visibility conditions, set the role column manually for every user (not scalable) or set the role column outside of Glide via Make or API call.

4 Likes

Thanks for advices

1 Like

This topic was automatically closed 7 days after the last reply. New replies are no longer allowed.