Question about forms

Hi,

My app has a form where a user will enter name and email address and the data will be stored on a google sheet in my drive. I have set the form to appear at the start when appsheet is launched.

Now, if a user has opened appsheet first time and have put his/her name and email, I want that form NOT to appear again when that user launches appsheet second time onwards.

Because its no point that the user has to enter name and email everytime he/she opens the app.

Can I make a form only appear once to capture details?

Thanks

Max

Hi

In my opinion, you can try in the show_if constraint of your form view :

ISBLANK(
     SELECT(
          tableResult[userEmail],
          [userEmail]=[_THISROW].[[userEmail]]
     )
)

Not 100% sure about the formula, but I think it should do the job.
As well, try this formula into the UX/Options/ Starting view.

So that, if true ==>LINKTOVIEW(your form)
else ==> LINKTO VIEW (another form)

Let us know if that works for you
Cheers

I tried it, but because the form view show_if constrain has the limitation “This formula is not evaluated in the context of a row, so column values are not available.”, it doesn’t work

Oups sorry, I wrote the formula way too fast !

Ok, so let’s try it this way:

ISBLANK(
     SELECT(
          tableResult[userEmail],
          [userEmail]=USEREMAIL()
     )
)

Can you tell if this is a public app ? If so, this solution will not work, as you cannot authenticate with a public app

at the moment its an appsheet app, but will do a white label and make it a public app. So it wont work?

what is the best way to get user details like name and email if the app is public?

Hi @Mavic_Pro

Unfortunately, these questions are beyond my skills, I never switched an app into a white app.
Maybe @Aleksi will know ?

Be aware public app are not secure, cf this link: here
More particularly:

Can I secure an app without making users sign-in?

This question comes up occasionally from app creators who want to use one of the public Publisher plans. The answer is no .

Some app creators try to create their own workarounds for each of these levels of security. However, these approaches all have their shortcomings.

Nonetheless:
1) One authentication method you can use
You can trick the authentication process by using the Data/User Settings (trick is a too strong word for what it implies, simulate should be preferred :crazy_face:).
To do so, set to “Show = ON” an option that will be, for example, a personal ID that you communicate to your user (sms or email).
Then, you might want to related this key to the email provided by the user in another option field, such as email user, and with combination of these two information you grant access to some views in the app, through another option of type yes/no, like “identity confirmed”.
Please remember this is an unsecure workaround.

2) Usage of User Settings
You can call any user settings options using USERSETTINGS(“Option Name”).
In my previous example, you can try :

IF (USERSETTINGS("identity confirmed"), 
     Action1,
     Action2
     )

Please refer to:https://help.appsheet.com/en/articles/2357276-usersettings

Cheers

3 Likes

thanks heaps!!