From f133adb2f61a37a68f08173219623371d6d8b37a Mon Sep 17 00:00:00 2001 From: magandrez Date: Tue, 1 Jul 2014 10:11:20 +0300 Subject: [PATCH] Avoid DML operations with BusinessHours This fixes issue #20. The modification avoids creating records for BusinessHours lookups. --- src/classes/SmartFactory.cls | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/classes/SmartFactory.cls b/src/classes/SmartFactory.cls index 3cc792c..b18a9c3 100644 --- a/src/classes/SmartFactory.cls +++ b/src/classes/SmartFactory.cls @@ -204,8 +204,9 @@ public with sharing class SmartFactory { if (referenceObjectType == 'RecordType') { setRecordType(obj); - } else if (cascade && referenceObjectType != obj.getSObjectType().getDescribe().getName()) { - // TODO avoid infinite loop for same-type references + } else if (cascade && referenceObjectType != obj.getSObjectType().getDescribe().getName() && + referenceObjectType !='BusinessHours') { + // TODO avoid infinite loop for same-type references System.debug('Creating reference to ' + referenceObjectType + ' for field ' + obj.getSObjectType().getDescribe().getName() + '.' + fieldDescribe.getName()); SObject reference = createSObject(referenceObjectType); System.debug('Inserting ' + reference);