cancel
Showing results for 
Search instead for 
Did you mean: 
Reply
Elitezone
Post Prodigy
Post Prodigy

Notification success / DisplayName

Hello,

 

If(
    User().Email in Split(
        ThisItem.'Kto polubił';
        ";"
    );
    Notify("Możesz polubić propozycję tylko raz."; NotificationType.Error);
    Patch(
        IdeaBox_1;
        ThisItem;
        {
            Polubienia: ThisItem.Polubienia + 1;
            'Kto polubił': ThisItem.'Kto polubił' & ";" & User().Email
        }
    ))

 

 

I have this function on my button - it is for LIKE functionality.

 

I have two problems.

 

1) I have no idea how to add NotificationSuccess when patch action is sucessful.

One of the users tried to help me, but his solutions failed.

 

I would like to add a message:

 

Notify("Polubiono!"; NotificationType.Success);

 

Is that possible? 

 

 

Set(varRecord, Patch(your_code_here));
If(!IsBlank(varRecord),
    Notify("Your request has been submitted!", Notification.Success),
    Notify("Your request was not submitted", Notification.Failure)
);

 

I found this function but I have problems in using that.

 

Another question is that I have this sharepoint field 'Kto polubił' (who liked)

Is stores users e-mails and prevent them from liking propositions more than once (function Notification Failure)

It stores emails like that:

email;email;email

 

I would like to use this field to show list of users that liked. I made gallery, table, tooltip and others with this field and it worked! But it shows e-mail address. Is it possible to reformat this field to shows users name as it is more clear? In my organisation e-mails are a lot different from names.

1 ACCEPTED SOLUTION

Accepted Solutions

Hi @Elitezone 

 

Try to replace the last patch line 

Patch(IdeaBox_1;ThisItem;{WhoLikedPeople:TempTable});)

with the below line 

Patch(IdeaBox_1,LookUp(IdeaBox_1,ID=ThisItem.ID),{WhoLikedPeople:TempTable});)

 

Best Regards

Mark

View solution in original post

25 REPLIES 25
Elitezone
Post Prodigy
Post Prodigy

Please help me. I tried many ways but none worked 😞

Thank you!

Mark-Shenouda
Employee
Employee

Hi @Elitezone 

 

You seem very close with your solution. 

For the notifications, You can do something similar to what you did and It should work ,

You can add this to the Like buttom OnSelect

If(User().Email in Split(ThisItem.WhoLiked,";"),Notify("Możesz polubić propozycję tylko raz.",NotificationType.Error),Set(varRecord,Patch(ItemLikes,ThisItem,{WhoLiked:Concatenate(ThisItem.WhoLiked&";",User().Email)}));If(!IsBlank(varRecord),Notify("Your request has been submitted!",NotificationType.Success),Notify("Your request was not submitted", NotificationType.Error));)

 

This will show the email only , but in your last part you mentioned you want to display the username and not the email 

I suggest to fix this in the data source (SharePoint List) to minimize the work in the powerApps , 

So what you can do is to create a SharePoint field of type People and allow multiple select on it , so you can add many users.
This field use hold SPUser so you can retrieve the name or email based on your need. 

Best Regards

Mark 

 

 

 

Ok - maybe I explained my problem badly

@Mark-Shenouda 

 

What I need is a lot simpler than your solution 🙂

 

If(
    User().Email in Split(
        ThisItem.'Kto polubił';
        ";"
    );
    Notify("Możesz polubić propozycję tylko raz."; NotificationType.Error);
    Patch(
        IdeaBox_1;
        ThisItem;
        {
            Polubienia: ThisItem.Polubienia + 1;
            'Kto polubił': ThisItem.'Kto polubił' & ";" & User().Email
        }
    ))

For topic number 1 I only need to add a message to this function when Patch function is sucessful. I do not need to show e-mail or anything. Just a simple message "You liked that!"

 

Topic number 2 is a bit more complex - I think I should have made another thread as it was misunderstood.

Topic number 2 is not releted with 1 - they just use same function.

 

Right now I have a field Kto polubił it stores e-mail of people who liked a change and is also used as a validator to prevent people from liking.

I would like to modify it to store also name or change it so it will story names only - but still works as a validator.

 

I want to do it because I want to create later a gallery that will print names of people who liked a modification so people can see who liked theirs ideas.

 

I was looking for an easy way to estabilish that, but I am not very good in Sharepoint List so I do not know how to make relations betweens field or anything.

I need e-mail relation with name. If I add another field called NAME and it will store data the same way as field Kto polubił then how will those fields be linked? 

 

Email1;Email2;Email3

 

Name1;Name2;Name3

 

This is how those fields will look like.

They need to be in correct order to work or I need something more.

Hi @Elitezone 

 

It is ok, let me simplify my answer to you 

Topic 1 :  Add a message to this function when Patch function is successful

As I mentioned your answer is pretty close , I used your code and added the success message in the snippet that I posted , let me clarify it. I replaced the patch section with 

 

Set(varRecord,Patch(Your Patch Logic));
If(!IsBlank(varRecord),Notify("You Liked!",NotificationType.Success),Notify("Like Failed", NotificationType.Error))

 

What happens is I set a variable(varRecord) with the output of the Patch, Then using if statement I check on this variable if it is not blank then the batch is successful , if not you can display error message. 

 

so you just insert this in the below section and it should work

 

 

If(
    User().Email in Split(
        ThisItem.'Kto polubił';
        ";"
    );
    Notify("Możesz polubić propozycję tylko raz."; NotificationType.Error);
    
   //Setting the var,The modified Patch logic,adding success message/failure    

)

 

 

 

Topic 2: Store Names of Users/Emails

 

There is no need to do relation with the name and the email, See there a field type in SharePoint that holds a user object , so instead of using a text field with semicolon separated mails , You can use this field type (Person)

 

column.png

 

and instead of saving a email , you save a user , of course this will change the previous logic and syntax little 

 

Hope this is more clear now.

 

Best Regards

Mark

 

 

 

 

If(
    User().Email in Split(
        ThisItem.'Kto polubił';
        ";"
    );
    Notify("Możesz polubić propozycję tylko raz."; NotificationType.Error);
    Set(varRecord;Patch(
        IdeaBox_1;
        ThisItem;
        {
            Polubienia: ThisItem.Polubienia + 1;
            'Kto polubił': ThisItem.'Kto polubił' & ";" & User().FullName & ";" & User().Email
        }
    ));If(!IsBlank(varRecord);Notify("Polubiłeś tę propozycję!";NotificationType.Success);Notify("Nie możesz polubić tej samej propozycji dwa razy!";NotificationType.Error)))

Seems to be working. Thanks.

 

@Mark-Shenouda 

Now to the second question. Will I be able to use your field to later display this WhoLiked in gallery as a different records?

I really want to show this column as a gallery to allow people to see who liked theirs ideas.

 

My solution works really bad - it shows gallery with a single long record spaced only with ;

Hi @Elitezone 

 

I am glad that the first part is working.

For the second part, The new field of type person will give you much flexibility , as the data will be an array of users, which you can use to display the username or email or even the image. 

For example you can use nested galley to display who liked with their details 

You can try and see what is the data coming from the field. 

 

Best Regards

Mark 

@Mark-Shenouda 

Easier said than done ;(

 

I created new field "person type" - Osoby_Lubiace - and tried to modify this formula.

If(
    User().FullName in Split(
        ThisItem.Osoby_lubiace;
        ";"
    );
    Notify("Możesz polubić propozycję tylko raz."; NotificationType.Error);
    Set(varRecord;Patch(
        IdeaBox_1;
        ThisItem;
        {
            Polubienia: ThisItem.Polubienia + 1;
            Osoby_lubiace: ThisItem.Osoby_lubiace;
        }
    ));If(!IsBlank(varRecord);Notify("Polubiłeś tę propozycję!";NotificationType.Success);Notify("Nie możesz polubić tej samej propozycji dwa razy!";NotificationType.Error)))

My futile try invoked 8 errors - unexpected signes - forma got IDENT where expected CurlyClose, expected : (colon), Invalid type of argument (record) expected text, Function split has invalid arguments, function patch has invalid arguments, Column _ does not exist (what the hell?), Name is invalid. InBlank got invalid arguments.

 

 First I do not know how to check if the user is present in those list. Before it was UserEmail in Split.

 

And I do not know how to Patch this user name. Previous formula was hard enough for me to understand.

 

I thought that I better make a new list with a field 'Kto polubił' and then use LookUp to link it with a previous list - but that would be way harder... but it would allow me to store date of likes...

Hi @Elitezone 

Well, it is expected to have some errors as we changed the type of the field and the data type from String to Person 
So we need to alter the code a little, 

The if statement was checking a table of strings .. now it should check in a table of persons so we need to alter it as below 

If(IsEmpty(Filter(ThisItem.WhoLikedPeople,Email = User().Email))

 

Now for the tricky part which is adding the user to the field, before we used the blow code 

Patch(ItemLikes,ThisItem,{WhoLiked:Concatenate(ThisItem.WhoLiked&";",User().Email)})

We will alter this to do the following , save the current value (Persons) in a temp table , then add the current user to this table and finally update the WhoLiked field. so it will similar to the below 

 

ClearCollect(TempTable,ThisItem.WhoLiked);

Patch(TempTable,Defaults(TempTable),{
DisplayName:User().FullName,
Claims:"i:0#.f|membership|" & Lower(User().Email),
Department:"",
Email:User().Email,
JobTitle:"",
Picture:""
});

Patch(ItemLikes,ThisItem,{WhoLiked:TempTable});

 

This is a quick solution , but I am sure by time you can create great apps 

 

Best Regards 

Mark

 

 

@Mark-Shenouda 

Great help. Trying to make it was very informative.

 

Still this is not my level to make it. I tried to swap my function:

 

If(
    User().Email in Split(
        ThisItem.'Kto polubił';
        ";"
    );
    Notify("Możesz polubić propozycję tylko raz."; NotificationType.Error);
    Set(varRecord;Patch(
        IdeaBox_1;
        LookUp(IdeaBox_1;ID=ThisItem.ID);
        {
            Polubienia: ThisItem.Polubienia + 1;
            'Kto polubił': ThisItem.'Kto polubił' & ";" & User().FullName & ";" & User().Email
        }
    ));If(!IsBlank(varRecord);Notify("Propozycja została polubiona!";NotificationType.Success);Notify("Nie możesz polubić tej samej propozycji dwa razy!";NotificationType.Error)))

 

with yours and it became a 40 errors disaster (I changed delimeter and tried to work it out in a lot of ways)

 

 

If(!IsEmpty(Filter(ThisItem.Osoby_lubiace;Email = User().Email));
Notify("You can like only once."; NotificationType.Error);
Set(varRecord;Patch(
IdeaBox_1;
LookUp(IdeaBox_1;ID=ThisItem.ID);
{
ClearCollect(TempTable;ThisItem.Osoby_lubiace);
Patch(TempTable;Defaults(TempTable);{
DisplayName:User().FullName;
Claims:"i:0#.f|membership|" & Lower(User().Email);
Department:"";
Email:User().Email;
JobTitle:"";
Picture:""
});
Patch(ThisItem.Polubienia;ThisItem;{ThisItem.Osoby_lubiace:TempTable});
        }
    );If(!IsBlank(varRecord);Notify("Proposition was liked!!";NotificationType.Success);Notify("You can't like same proposition twice!!";NotificationType.Error))))

 

and another version with Patch(IdeaBox_1 - this is my data source)

 

If(!IsEmpty(Filter(ThisItem.Osoby_lubiace;Email = User().Email));
Notify("You can like only once."; NotificationType.Error);
Set(varRecord;Patch(
IdeaBox_1;
LookUp(IdeaBox_1;ID=ThisItem.ID);
{
ClearCollect(TempTable;ThisItem.Osoby_lubiace);
Patch(TempTable;Defaults(TempTable);{
DisplayName:User().FullName;
Claims:"i:0#.f|membership|" & Lower(User().Email);
Department:"";
Email:User().Email;
JobTitle:"";
Picture:""
});
Patch(IdeaBox_1;{ThisItem.Osoby_lubiace:TempTable});
        }
    );If(!IsBlank(varRecord);Notify("Proposition was liked!!";NotificationType.Success);Notify("You can't like same proposition twice!!";NotificationType.Error))))

 

This function is on a smiley button.

When user clicks it it check if he hasn't already like it (first filter) - if he did it shows message and block action.

If he haven't liked it allowed him - it increase Polubienia count and should fill Osoby_lubiace person field with his data and shows a message success.

 

I just noticed that function used by me isn't great either - it has two same error messages (or so I believe).

 

Would you be some kind to help a bit more.

This button is in a gallery. I use lookup because this gallery has added tables.

 

I had a problem in your function with ItemLikes (is this a sharepoint list or a field Polubienia (the one that has +1)

I also do not know which part of your formula add +1 value to field that stores amount of likes?

And last question - Can I translate this Claims, Departament etecera or is it not neccessery in this place?

 

Helpful resources

Announcements

Exclusive LIVE Community Event: Power Apps Copilot Coffee Chat with Copilot Studio Product Team

  It's time for the SECOND Power Apps Copilot Coffee Chat featuring the Copilot Studio product team, which will be held LIVE on April 3, 2024 at 9:30 AM Pacific Daylight Time (PDT).     This is an incredible opportunity to connect with members of the Copilot Studio product team and ask them anything about Copilot Studio. We'll share our special guests with you shortly--but we want to encourage to mark your calendars now because you will not want to miss the conversation.   This live event will give you the unique opportunity to learn more about Copilot Studio plans, where we’ll focus, and get insight into upcoming features. We’re looking forward to hearing from the community, so bring your questions!   TO GET ACCESS TO THIS EXCLUSIVE AMA: Kudo this post to reserve your spot! Reserve your spot now by kudoing this post.  Reservations will be prioritized on when your kudo for the post comes through, so don't wait! Click that "kudo button" today.   Invitations will be sent on April 2nd.Users posting Kudos after April 2nd. at 9AM PDT may not receive an invitation but will be able to view the session online after conclusion of the event. Give your "kudo" today and mark your calendars for April 3rd, 2024 at 9:30 AM PDT and join us for an engaging and informative session!

Tuesday Tip: Unlocking Community Achievements and Earning Badges

TUESDAY TIPS are our way of communicating helpful things we've learned or shared that have helped members of the Community. Whether you're just getting started or you're a seasoned pro, Tuesday Tips will help you know where to go, what to look for, and navigate your way through the ever-growing--and ever-changing--world of the Power Platform Community! We cover basics about the Community, provide a few "insider tips" to make your experience even better, and share best practices gleaned from our most active community members and Super Users.   With so many new Community members joining us each week, we'll also review a few of our "best practices" so you know just "how" the Community works, so make sure to watch the News & Announcements each week for the latest and greatest Tuesday Tips!     THIS WEEK'S TIP: Unlocking Achievements and Earning BadgesAcross the Communities, you'll see badges on users profile that recognize and reward their engagement and contributions. These badges each signify a different achievement--and all of those achievements are available to any Community member! If you're a seasoned pro or just getting started, you too can earn badges for the great work you do. Check out some details on Community badges below--and find out more in the detailed link at the end of the article!       A Diverse Range of Badges to Collect The badges you can earn in the Community cover a wide array of activities, including: Kudos Received: Acknowledges the number of times a user’s post has been appreciated with a “Kudo.”Kudos Given: Highlights the user’s generosity in recognizing others’ contributions.Topics Created: Tracks the number of discussions initiated by a user.Solutions Provided: Celebrates the instances where a user’s response is marked as the correct solution.Reply: Counts the number of times a user has engaged with community discussions.Blog Contributor: Honors those who contribute valuable content and are invited to write for the community blog.       A Community Evolving Together Badges are not only a great way to recognize outstanding contributions of our amazing Community members--they are also a way to continue fostering a collaborative and supportive environment. As you continue to share your knowledge and assist each other these badges serve as a visual representation of your valuable contributions.   Find out more about badges in these Community Support pages in each Community: All About Community Badges - Power Apps CommunityAll About Community Badges - Power Automate CommunityAll About Community Badges - Copilot Studio CommunityAll About Community Badges - Power Pages Community

Tuesday Tips: Powering Up Your Community Profile

TUESDAY TIPS are our way of communicating helpful things we've learned or shared that have helped members of the Community. Whether you're just getting started or you're a seasoned pro, Tuesday Tips will help you know where to go, what to look for, and navigate your way through the ever-growing--and ever-changing--world of the Power Platform Community! We cover basics about the Community, provide a few "insider tips" to make your experience even better, and share best practices gleaned from our most active community members and Super Users.   With so many new Community members joining us each week, we'll also review a few of our "best practices" so you know just "how" the Community works, so make sure to watch the News & Announcements each week for the latest and greatest Tuesday Tips!   This Week's Tip: Power Up Your Profile!  🚀 It's where every Community member gets their start, and it's essential that you keep it updated! Your Community User Profile is how you're able to get messages, post solutions, ask questions--and as you rank up, it's where your badges will appear and how you'll be known when you start blogging in the Community Blog. Your Community User Profile is how the Community knows you--so it's essential that it works the way you need it to! From changing your username to updating contact information, this Knowledge Base Article is your best resource for powering up your profile.     Password Puzzles? No Problem! Find out how to sync your Azure AD password with your community account, ensuring a seamless sign-in. No separate passwords to remember! Job Jumps & Email Swaps Changed jobs? Got a new email? Fear not! You'll find out how to link your shiny new email to your existing community account, keeping your contributions and connections intact. Username Uncertainties Unraveled Picking the perfect username is crucial--and sometimes the original choice you signed up with doesn't fit as well as you may have thought. There's a quick way to request an update here--but remember, your username is your community identity, so choose wisely. "Need Admin Approval" Warning Window? If you see this error message while using the community, don't worry. A simple process will help you get where you need to go. If you still need assistance, find out how to contact your Community Support team. Whatever you're looking for, when it comes to your profile, the Community Account Support Knowledge Base article is your treasure trove of tips as you navigate the nuances of your Community Profile. It’s the ultimate resource for keeping your digital identity in tip-top shape while engaging with the Power Platform Community. So, dive in and power up your profile today!  💪🚀   Community Account Support | Power Apps Community Account Support | Power AutomateCommunity Account Support | Copilot Studio  Community Account Support | Power Pages

Super User of the Month | Chris Piasecki

In our 2nd installment of this new ongoing feature in the Community, we're thrilled to announce that Chris Piasecki is our Super User of the Month for March 2024. If you've been in the Community for a while, we're sure you've seen a comment or marked one of Chris' helpful tips as a solution--he's been a Super User for SEVEN consecutive seasons!       Since authoring his first reply in April 2020 to his most recent achievement organizing the Canadian Power Platform Summit this month, Chris has helped countless Community members with his insights and expertise. In addition to being a Super User, Chris is also a User Group leader, Microsoft MVP, and a featured speaker at the Microsoft Power Platform Conference. His contributions to the new SUIT program, along with his joyous personality and willingness to jump in and help so many members has made Chris a fixture in the Power Platform Community.   When Chris isn't authoring solutions or organizing events, he's actively leading Piasecki Consulting, specializing in solution architecture, integration, DevOps, and more--helping clients discover how to strategize and implement Microsoft's technology platforms. We are grateful for Chris' insightful help in the Community and look forward to even more amazing milestones as he continues to assist so many with his great tips, solutions--always with a smile and a great sense of humor.You can find Chris in the Community and on LinkedIn. Thanks for being such a SUPER user, Chris! 💪🌠

Find Out What Makes Super Users So Super

We know many of you visit the Power Platform Communities to ask questions and receive answers. But do you know that many of our best answers and solutions come from Community members who are super active, helping anyone who needs a little help getting unstuck with Business Applications products? We call these dedicated Community members Super Users because they are the real heroes in the Community, willing to jump in whenever they can to help! Maybe you've encountered them yourself and they've solved some of your biggest questions. Have you ever wondered, "Why?"We interviewed several of our Super Users to understand what drives them to help in the Community--and discover the difference it has made in their lives as well! Take a look in our gallery today: What Motivates a Super User? - Power Platform Community (microsoft.com)

March User Group Update: New Groups and Upcoming Events!

  Welcome to this month’s celebration of our Community User Groups and exciting User Group events. We’re thrilled to introduce some brand-new user groups that have recently joined our vibrant community. Plus, we’ve got a lineup of engaging events you won’t want to miss. Let’s jump right in: New User Groups   Sacramento Power Platform GroupANZ Power Platform COE User GroupPower Platform MongoliaPower Platform User Group OmanPower Platform User Group Delta StateMid Michigan Power Platform Upcoming Events  DUG4MFG - Quarterly Meetup - Microsoft Demand PlanningDate: 19 Mar 2024 | 10:30 AM to 12:30 PM Central America Standard TimeDescription: Dive into the world of manufacturing with a focus on Demand Planning. Learn from industry experts and share your insights. Dynamics User Group HoustonDate: 07 Mar 2024 | 11:00 AM to 01:00 PM Central America Standard TimeDescription: Houston, get ready for an immersive session on Dynamics 365 and the Power Platform. Connect with fellow professionals and expand your knowledge. Reading Dynamics 365 & Power Platform User Group (Q1)Date: 05 Mar 2024 | 06:00 PM to 09:00 PM GMT Standard TimeDescription: Join our virtual meetup for insightful discussions, demos, and community updates. Let’s kick off Q1 with a bang! Leaders, Create Your Events!    Leaders of existing User Groups, don’t forget to create your events within the Community platform. By doing so, you’ll enable us to share them in future posts and newsletters. Let’s spread the word and make these gatherings even more impactful! Stay tuned for more updates, inspiring stories, and collaborative opportunities from and for our Community User Groups.   P.S. Have an event or success story to share? Reach out to us – we’d love to feature you!

Top Solution Authors
Top Kudoed Authors
Users online (6,164)