• New American Store
  • NEWBIE
  • 0 Points
  • Member since 2020

  • Chatter
    Feed
  • 0
    Best Answers
  • 0
    Likes Received
  • 0
    Likes Given
  • 0
    Questions
  • 1
    Replies
trigger UserTrigger on User (before insert, After Insert) {
    if(trigger.isinsert && trigger.isAfter) {
        List<String> uIds = new List<String>();
        for(User u: trigger.new)
            if(String.isNotBlank(u.ContactId))
                uIds.add(u.id);
           if(uIds.size() > 0) {
      //  UserTriggerHandler.addToMainGroup(trigger.newMap.keySet());
        UserTriggerHandler.sendEmailToAddChatterGroup(String.join(uIds,','), uIds[0]);
    } 
    }
}



public without sharing class UserTriggerHandler {
    @future
    public static void addToMainGroup(Set<Id> userIds) {
     List<User> users=[select id, Username from User where id in :userIds];

     CollaborationGroup chatterGroup=[select Id from CollaborationGroup Where Name='Sidebar'];
     List<CollaborationGroupMember> chatterGroupMembers=new List<CollaborationGroupMember>();

     for(User user: users){
         CollaborationGroupMember newMember = new CollaborationGroupMember(CollaborationGroupId=chatterGroup.id, MemberId = user.Id, NotificationFrequency = 'P');
         chatterGroupMembers.add(newMember);
     }

     insert chatterGroupMembers;

    }
    
    public static void sendEmailToAddChatterGroup(String body, String s) {
      Messaging.SingleEmailMessage mail = 
      new Messaging.SingleEmailMessage();
      List<String> sendTo = new List<String>();
      sendTo.add(Label.Chatter_Group_Inbound_Email);
      mail.setToAddresses(sendTo);
      mail.setSubject(s);
      mail.setHtmlBody(body);
      Messaging.sendEmail(new List<Messaging.SingleEmailMessage> {mail});
    
    } 
}
  • January 13, 2021
  • Like
  • 0