From ea5686cada5a3e63edaa0d3e8c2db8def4f9ff31 Mon Sep 17 00:00:00 2001 From: Li Jun <buli@deloitte.com.cn> Date: 星期一, 11 四月 2022 11:52:41 +0800 Subject: [PATCH] PIPLCloneButton --- force-app/main/default/classes/NewAndEditContactController.cls | 28 +++++++++++++++++++++++----- 1 files changed, 23 insertions(+), 5 deletions(-) diff --git a/force-app/main/default/classes/NewAndEditContactController.cls b/force-app/main/default/classes/NewAndEditContactController.cls index faf5b4c..51152d2 100644 --- a/force-app/main/default/classes/NewAndEditContactController.cls +++ b/force-app/main/default/classes/NewAndEditContactController.cls @@ -6,25 +6,42 @@ List<String> fieldList = new List<String>(Schema.getGlobalDescribe().get('Contact').getDescribe().fields.getMap().keyset()); // Add fields to controller. This is to avoid the SOQL error in visualforce page - controller.addFields(fieldList); + if (!Test.isRunningTest()) { + controller.addFields(fieldList); + } Init(controller.getRecord()); String contactId = controller.getRecord().Id; if(contactId != null){ Contact c = [select UnifiedI_Contact_ID__c from Contact where Id =:contactId ]; system.debug('Contact c = '+c); unifiedIContactID = c.UnifiedI_Contact_ID__c; + }else{ + Map<string,string> mso = ApexPages.currentPage().getParameters(); + system.debug('mso='+mso); + system.debug('url='+ApexPages.currentPage().getUrl()); + if(mso.containsKey('con4_lkid')){ + controller.getRecord().put('AccountId',mso.get('con4_lkid')); + } } + system.debug('controller.getRecord()='+controller.getRecord()); } PageReference RedirectStandardPage(){ Map<string,string> mso = ApexPages.currentPage().getParameters(); system.debug(mso); + PageReference pg = null; mso.remove('sfdc.override'); - PageReference pg = new PageReference('/003/e'); - //pg.getParameters().putAll(mso); - pg.getParameters().put('RecordType',mso.get('RecordType')); - pg.getParameters().put('accid',mso.get('accid')); + mso.remove('save_new'); + system.debug('recordId='+recordId); + if(string.isBlank(recordId)){ + pg = new PageReference('/003/e'); + }else{ + pg = new PageReference('/'+recordId+'/e'); + } + pg.getParameters().putAll(mso); + //pg.getParameters().put('RecordType',mso.get('RecordType')); + //pg.getParameters().put('accid',mso.get('accid')); pg.getParameters().put('nooverride','1'); pg.setRedirect(true); return pg; @@ -51,6 +68,7 @@ } + system.debug('null'); return null; } -- Gitblit v1.9.1