SOLVED

locking down editable sections on a form but not hiding

Copper Contributor

I have a sharepoint list that has multiple people interacting with it.

based off person 1 selecting person's 2 name in a drop down, I'd like only person 2 to be able to edit a certain section (dropdown options) on the power app form

 

so the form looks something like

person2: john

favorite color?: (when john opens the form, only this data field and any others specified are editable by him)

ALSO, I cant use a separate sharepoint list that acts as an access list of sorts, so the lock down logic would have to come from canvas itself.

 thank you.

more info:

is there a logic/code that does something like:

 

if currentuser = person 2, make these datacards editable only to them. but still keep the rest of the form viewable. the distinction is it doesnt really matter if other people can edit those particular datacards, but I want the person mentioned in the form to only be able to edit certain sections

 

writing this out i realize that person could always change their name from that drop down, making the entire form editable to them again...but im sure that could be worked around.

3 Replies
best response confirmed by childishbambino (Copper Contributor)
Solution

@childishbambino If you are using person or group (people picker) column for selecting the person name, you can set DisplayMode property of data card to: 

 

If(ThisItem.Person2.Email = User().Email, DisplayMode.Edit, DisplayMode.View)

If you are using display name of users in drop down, you can compare it with User().FullName. But dropdown choices has to match exactly with the display names of users.

 


Please click Mark as Best Response & Like if my post helped you to solve your issue. This will help others to find the correct solution easily. It also closes the item. If the post was useful in other ways, please consider giving it Like.

thanks , would you happen to know why my navigate isnt working? i have one button, but based off that button the id value and pass it to a variable on that button selected, set variable this item.id

then i have an if statement with variable= 1 , 2,3, navigate to form 1, navigate to form 2, etc.

but it doesnt work for me

@childishbambino Can you show us the formula you are using correctly? Add complete formula while replying to this thread.

It will be easier to answer your query precisely by looking at the formula.


Please consider giving a Like if my post helped you in any way.

1 best response

Accepted Solutions
best response confirmed by childishbambino (Copper Contributor)
Solution

@childishbambino If you are using person or group (people picker) column for selecting the person name, you can set DisplayMode property of data card to: 

 

If(ThisItem.Person2.Email = User().Email, DisplayMode.Edit, DisplayMode.View)

If you are using display name of users in drop down, you can compare it with User().FullName. But dropdown choices has to match exactly with the display names of users.

 


Please click Mark as Best Response & Like if my post helped you to solve your issue. This will help others to find the correct solution easily. It also closes the item. If the post was useful in other ways, please consider giving it Like.

View solution in original post