concurrently filling form - Restrict form edit

Hi all 

I have two questions if you please:

►First question◄

1- The first question - If more than one sellers are using the same App form concurrently, will that cause any conflict or overlap as data is sync and sent to Google sheet DB.

-----------------

►Second question◄

2- I have 4 sellers that will fill in the same form. 

each seller will have of course to pick his/her name as he/she fills the form up: (see image below)

hala 1.jpg

► Let's assume that the seller is "Hala" and the captured order is as follow:

hala2.jpg

► You all know that the blue plus sign can be used to create a new form. This icon will turn to edit icon as the filled form is reopened. See below:

hala3.jpg

► The restriction I want to manipulate is to let the edit option be only triggered for this filled form (ONLY IF) the seller is (Hala). While also grant permission for the two coordinators to edit.

 

Thanks

6 REPLIES 6

First Answer: if you set a unique id column it will not be  a problem, but if you leave the key of the table be a rownumber maybe this will have a conflict and loss of data. The best way is to create a colufotmn called Unique identity and set the formula Uniqueid().

Second Ansuer: every button has a behaviour  or showif. You can set it with a formula to let Hala edit the row by the role. 

The best way is to identify  the role of the user by his email access in this way you can set the right formula, you can set the user role ecc .

Example: or( userrole()="coordinator",useremail()="hala@gmail.com").

 

Hi @Ceke  and thank you indeed for your answer

Yes for question one I am already using the unique ID so I think it is good to go now 🙂

----

For question 2 - Maybe the idea is not clear.

 

► You mentioned (every button has a behaviour  or showif) 

Did you mean each column item or what? or is it the plus Add and edit icon button.

Also I think what you suggested will allow or disallow users from the entire table which I do not want.

Let me explain it a bit more:

sss1.jpg

See kindly in the above image. Table (seller Ca) has a column called (👨‍💼Seller)

All sellers use the same table to fill in new orders.

All sellers can click the  blue plus sign button to add new data.

once any seller clicks the blue plus sign button the form opens.

seller will fill out the form and he/she must select his name from ( 👨‍💼Seller) Enum field.

sss1555.jpg

Seller will then save the filled form.

►◄►◄

Now suppose you and I are working on the same table. Usually I can simply open any of your filled row and then click edit... You is as well

** Your name is Ceke --- My name is Amin

Now as Cake and Amin are working together on the same table.

If this row is done by (👨‍💼Seller) =Cake 

Amin can open the row and see its data but Amin must not be able to edit this specific form row. Only Cake can edit this.

Hi, il try to be more specific.

Usually I set a tabella called users, with name, surname, role, mail, phone number to map everyone thet interacts with my application. Suppose to have Amin and Ceke in table user, the logic is, go in the ux behaviour specifically to the buttons of the table Seller Ca, select the edit button, inside the edit button there is a behaviour section, there you set the formula "or(contains([Seller],lookup(useremail(),"Users","mail","Name"), userrole()=coordinator). The basic is to set the table I've mentioned above because the app needs to recognize the user otherwise you can't set this logic. You can use also user settings to set som values, they will be available like cookie on the browser or device.

@Ceke  Thank you very much for your help

I made the users table as you recommended

777.jpg

 

I put this formula

"or(contains([👨‍💼Seller],lookup(useremail(),"Users","email","Name"), userrole()=Admin)"

► Should I use quotation mark at the start and the end  " ......"
► should I use all parameters in the formula. Or can I only use only one or two. like only email and role.

► I got below error. Any advice please

555.jpg

Sorry I forgotten one ")" the formula is 

or(contains([Seller],lookup(useremail(),"Users","email","Name")), userrole()=Coordinator)"

Or try with

or([Seller]=lookup(useremail(),"Users","email","Name")), userrole()=Coordinator)"

The Name and the order was just a suggestion you can set it as you wish 

 

Hi @Ceke 

Somethhing wrong in the formula

I put this one:

or([👨‍💼Seller]=lookup(useremail(),"Users","email","Name")), userrole()=admin)"

and got this red error

Expression 'or([👨‍💼Seller]=lookup(useremail(),"Users","email","Name")), userrole()=admin)"' was unable to be parsed: Number of opened and closed parentheses does not match.

 

I just put  this mark "  at the beginning and it is fine. I do not know that solved it correctly. 

after or before OR and it removed the red error 

or"([👨‍💼Seller]=lookup(useremail(),"Users","email","Name")), userrole()=admin)"

"or ([👨‍💼Seller]=lookup(useremail(),"Users","email","Name")), userrole()=admin)"

 

 

After I saved I got this erro

The availability condition '=or"([👨‍💼Seller]=lookup(useremail(),"Users","email","Name")), userrole()=admin)"' of data action 'Edit' must return true or false

Top Labels in this Space