Redirect / on Sync Action

Hello, I’m trying to figure out a way to force users to my Terms of Service if their Signature field is empty in my Users table.

The Starting view expression works well, but if a User is running the app on a computer, and they had saved their shortcut to the app in the ‘Home’ view for example; it bypasses the starting view and Show_if constraints… The buttons to those views are hidden, but the shorcut saved the link with #control=Home… So the user is just stuck in that one view.

Is there a way to run a LINKTOVIEW() action on sync? OR to force the view I want from within the Show_if Constraints?

Workflows will only allow data change, so I can’t run it there which would be perfect unfortunately…

No and no.

You could consider the following:

  1. Change the access mode of the sensitive tables so the tables are read-only if the signature isn’t present. The data would still be visible, though.

OR

  1. Setup security filters on the sensitive tables that withhold all rows if the signature is absent. I’m not sure this is possible, though, but worth a shot.
1 Like

Well the only views present are dashboard views… so maybe I can just put a show-if constraint on all of the views, in all of the dashboards?

My TOS view is a detail view. But when I put the show_if constraint to only show if signature field is empty… it doesn’t hide from the dashboard view once it’s NOT empty as expected. lol

Would it be worth it to feature request Security filters for Views? In that situation one could just set the security filter and redirect the user to the next view set by the starting view constraints if applicable, or the next available view.

Another idea would be to assign actions on Signature save when the user selects “Done”. Similar to assigning actions on form save.

I haven’t tried that, so I can’t say whether it would work or not. My understanding of Show_If for views is that it merely determines whether the view occurs in the main menu or is displayed in the bottom button bar. It is not a security mechanism: it doesn’t prevent the user from accessing the view with a properly crafted URL.

It’s worth it, absolutely!

This is true, though I’m relying on several layers of other filters to create a security filter.

-Each dash view is a component of the larger macro data needed. Each Component will only show if the User has:

  1. Filled out the sign up form
  2. Both accepted and Signed the TOS

So even if a user used their URL wits to manually go to one of the dashboards, none of the components would show.
****EXCEPT that is the Terms of Service Form (Which is really a Detail view with an Editable Yes/No and Signature columns), which I found a way to integrate into the Dashboard.

-The names of my views are fairly long and complex, and I use Display names… so it would be difficult for a user to navigate to any specific view. They would have to know that super long view name (Usually something like “Gigs Campaigns Access Tracking_Detail”, and displayed as “Calendar Events”)… And the data in THAT view is part of a slice that only shows if you’re affiliated with a specific entity, and a calendar event is affiliated with that entity as well… lol

-Security filters to hide all data help as well as only showing buttons leading to the Terms of Service.
**I’ve not added security filters specifically yet though. There isn’t a need considering the other stuff above.

I’m going to make a feature request, so hopefully others might not have to go through this much effort to achieve the same results.

1 Like