You need to sign in to do that
Don't have an account?
Richard Pitfield 10
I have a trigger that works to create a contact and opportunity when the form is saved and works fine in the GUI when I hit save, however on a bulk upload it doesn't trigger help welcomed
Here is the trigger can anyone help please?
trigger InboundFormTrigger on Inbound_Form__c (before insert, before update) {
Trigger_Activation_Settings__c objCustomSetting = Trigger_Activation_Settings__c.getOrgDefaults();
//test
if(objCustomSetting != NULL && objCustomSetting.Is_Inbound_Form_Trigger_Active__c) {
if(Trigger.New != NULL && Trigger.New.size() > 1) {
System.debug('Not Supporting bulkification for this sprint.');
} else {
if (Trigger.IsBefore && (Trigger.isInsert || Trigger.isUpdate) && Trigger.New[0].Record_Validated__c && !Trigger.New[0].Is_Record_Processed__c) {
Trigger.New[0].Is_Record_Processed__c = true;
if(!String.isBlank(Trigger.New[0].Web_Form_Name__c)){
String strFormName = Trigger.New[0].Web_Form_Name__c.toLowerCase();
if(strFormName == 'general enquiry form')
InboundFormTriggerHandler.generalEnquiryForm(Trigger.New);
else if(strFormName == 'request for materials (donor)')
InboundFormTriggerHandler.requestForMaterialsDonor(Trigger.New);
else if(strFormName == 'request for materials (press)')
InboundFormTriggerHandler.requestForMaterialsPress(Trigger.New);
else if(strFormName == 'request for materials (solicitor)')
InboundFormTriggerHandler.requestForMaterialsSolicitor(Trigger.New);
else if(strFormName == 'donor interest form')
InboundFormTriggerHandler.donorInterestForm(Trigger.New);
else if(strFormName == 'solicitor registration')
InboundFormTriggerHandler.solicitorRegistration(Trigger.New);
else if(strFormName == 'solicitor lookup')
InboundFormTriggerHandler.solicitorLookup(Trigger.New);
else if(strFormName == 'solicitor enquiry')
InboundFormTriggerHandler.solicitorEnquiry(Trigger.New);
else if(strFormName == 'online donation form')
InboundFormTriggerHandler.onlineDonationForm(Trigger.New);
}
}
}
}
}
trigger InboundFormTrigger on Inbound_Form__c (before insert, before update) {
Trigger_Activation_Settings__c objCustomSetting = Trigger_Activation_Settings__c.getOrgDefaults();
//test
if(objCustomSetting != NULL && objCustomSetting.Is_Inbound_Form_Trigger_Active__c) {
if(Trigger.New != NULL && Trigger.New.size() > 1) {
System.debug('Not Supporting bulkification for this sprint.');
} else {
if (Trigger.IsBefore && (Trigger.isInsert || Trigger.isUpdate) && Trigger.New[0].Record_Validated__c && !Trigger.New[0].Is_Record_Processed__c) {
Trigger.New[0].Is_Record_Processed__c = true;
if(!String.isBlank(Trigger.New[0].Web_Form_Name__c)){
String strFormName = Trigger.New[0].Web_Form_Name__c.toLowerCase();
if(strFormName == 'general enquiry form')
InboundFormTriggerHandler.generalEnquiryForm(Trigger.New);
else if(strFormName == 'request for materials (donor)')
InboundFormTriggerHandler.requestForMaterialsDonor(Trigger.New);
else if(strFormName == 'request for materials (press)')
InboundFormTriggerHandler.requestForMaterialsPress(Trigger.New);
else if(strFormName == 'request for materials (solicitor)')
InboundFormTriggerHandler.requestForMaterialsSolicitor(Trigger.New);
else if(strFormName == 'donor interest form')
InboundFormTriggerHandler.donorInterestForm(Trigger.New);
else if(strFormName == 'solicitor registration')
InboundFormTriggerHandler.solicitorRegistration(Trigger.New);
else if(strFormName == 'solicitor lookup')
InboundFormTriggerHandler.solicitorLookup(Trigger.New);
else if(strFormName == 'solicitor enquiry')
InboundFormTriggerHandler.solicitorEnquiry(Trigger.New);
else if(strFormName == 'online donation form')
InboundFormTriggerHandler.onlineDonationForm(Trigger.New);
}
}
}
}
}
The developer has respected the requirements for a precise "sprint" (agile).
A bulk upload need a bulkified trigger and this trigger doesn't allow the bulkification.
if(Trigger.New != NULL && Trigger.New.size() > 1) {
System.debug('Not Supporting bulkification for this sprint.');
} else {
This trigger only treats the first item: Trigger.New[0] = the numeration starts at zero so it is the first element and only this one.
if InboundFormTriggerHandler.generalEnquiryForm(Trigger.New); and all theses static methods made SOQL access, you have to rewrite entirely the trigger.
Alain