ShowIf in Dashboard displays even when expression states not to

I have a dashboard I don’t want to display unless the USEREMAIL role is “Administrator” but once the user cancels out of the starting view screen, the screen reverts to the Dashboard even though the user is not specified as an Administrator in the Users table. I’m using the following expression:

LOOKUP(USEREMAIL(),“Users”,“Email”,“Role”)=“Administrator”

0 6 411
  • UX
6 REPLIES 6

Steve
Platinum 4
Platinum 4

Three things:

  1. LOOKUP(USEREMAIL(),“Users”,“Email”,“Role”)=“Administrator” should instead be “Administrator”=LOOKUP(USEREMAIL(),“Users”,“Email”,“Role”) to ensure it evaluates as FALSE in the event the LOOKUP() returns a blank value.

  2. A view’s Show if only affects its display in the main menu and along the navigation bar at the bottom of the screen. It does not hide a view that has been presented to the user.

  3. The app’s starting view should not be a form view specifically because the user can cancel out of it and there’s no way to reliably or safely control the view at which the user lands after cancelling.

Got it. Unfortunately, client has requested only the form to be accessed by their sales reps.

Hi Steven, I’ve setup another detail view vs. a form view as you mentioned above to display for users who are not Administrators but the screen still defaults to the Administrator’s Dashboard on the starting view - this is the starting view expression: Is there a better way to do this altogether?

Have you tested the expression with different email addresses to confirm you’re getting the results you expect?

Yes

If users whose [Role] is not Administrator are landing at the dash_administrator view, I’d say there’s a bug somewhere. Probably best to contact support@appsheet.com directly.

Top Labels in this Space