You need to sign in to do that
Don't have an account?
Error-Apex Trigger-UpdateReferrals: execution of AfterInsert caused by: System.NullPointerException
I created a new partner portal. When the partner user creates a new lead and clicks 'save' they recieve the folloing error:
Error: Invalid Data.
Review all error messages below to correct your data.
Apex trigger UpdateReferrals caused an unexpected exception, contact your administrator: UpdateReferrals: execution of AfterInsert caused by: System.NullPointerException: Attempt to de-reference a null object: Trigger.UpdateReferrals: line 33, column 1
This is only occuring with this new partner portal. I logged in into an old partner portal user and they are able to create and save leads with this error occuring.
See Apex Trigger.
trigger UpdateReferrals on Lead (after insert) { Set<Id> createdByIds = new Set<Id>(); List<Id> referralIds = new List<Id>(); for (Lead l : trigger.new){ createdByIds.add(l.CreatedById); } // Return all users that created Leads in this trigger Map<Id, User> creator = new Map<Id, User>([Select Contact.Divisions__c, UserType FROM User WHERE Id IN :CreatedByIds]); // Find all of the PowerPartner users who created a Lead in this trigger for (Lead l : trigger.new){ if (creator.get(l.CreatedById).UserType == 'PowerPartner'){ referralIds.add (l.Id); } } // Get all of the Leads owned by PowerPartner users discovered above List<Lead> referrals = new List<Lead>([SELECT CreatedById, Name, Company, ReplyTo__c FROM Lead WHERE ID in :referralIds]); // Loop through all of those Leads for (Lead l : referrals){ // Set the Partner Sales Rep to the creator of the Lead l.Partner_Sales_Rep__c = l.CreatedById; // Get the divisions of the Partner Sales Rep (From its contact record) l.Divisions__c = creator.get(l.CreatedById).Contact.Divisions__c; // Set the singular division on the Lead if the Partner only has one division if (creator.get(l.CreatedById).Contact.Divisions__c.indexOf(';', 0) == -1){ l.Division__c = creator.get(l.CreatedById).contact.Divisions__c; } } /* for (Lead p : referrals){ Messaging.SingleEmailMessage mail = new Messaging.SingleEmailMessage(); mail.setTargetObjectId(p.CreatedById); mail.setReplyTo(p.ReplyTo__c); mail.setSenderDisplayName(p.ReplyTo__c); mail.setSaveAsActivity(false); mail.setBccSender(false); mail.setUseSignature(false); mail.setSubject('Thank you for the referral!'); mail.setHtmlBody('<p>We will review the referral:</p>'+ '<p>Contact Name: ' + p.Name + '</br>' + '<p>Company Name: ' + p.Company + '</p>' + '<p>We will follow-up with you shortly.</p>' + '<p>'+ p.ReplyTo__c + '</p>'); Messaging.sendEmail(new Messaging.SingleEmailMessage[] { mail }); } */ update referrals; }
if (creator.containsKey(l.CreatedById) && && creator.get(l.CreatedById).Contact.Divisions__c != null && creator.get(l.CreatedById).Contact.Divisions__c.indexOf(';', 0) == -1){