From f5a94e721ae5a26f817f0df75065b64f1f192eb3 Mon Sep 17 00:00:00 2001 From: Li Jun <buli@deloitte.com.cn> Date: 星期一, 28 三月 2022 21:43:51 +0800 Subject: [PATCH] PIPLFunctionDeploy0328 --- force-app/main/default/classes/NewAndEditContactController.cls | 81 ++++++++++++++++++++++++++-------------- 1 files changed, 53 insertions(+), 28 deletions(-) diff --git a/force-app/main/default/classes/NewAndEditContactController.cls b/force-app/main/default/classes/NewAndEditContactController.cls index 59c3e6e..022e74b 100644 --- a/force-app/main/default/classes/NewAndEditContactController.cls +++ b/force-app/main/default/classes/NewAndEditContactController.cls @@ -6,44 +6,69 @@ 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); + if(mso.containsKey('con4_lkid')){ + controller.getRecord().put('AccountId',mso.get('con4_lkid')); + } } + system.debug('controller.getRecord()='+controller.getRecord()); - // AWSToSobjectNonEncryptedMap.put('lastName', 'LastName'); - // AWSToSobjectNonEncryptedMap.put('phone', 'Phone'); - // AWSToSobjectNonEncryptedMap.put('email', 'Email'); - // AWSToSobjectNonEncryptedMap.put('medicalStaffFullName', 'MedicalStaff_Full_name__c'); - // AWSToSobjectNonEncryptedMap.put('mobilePhone', 'MobilePhone'); - // AWSToSobjectNonEncryptedMap.put('title', 'Title'); - // AWSToSobjectNonEncryptedMap.put('olyAssistantType', 'OLY_Assistant_Type__c'); - // AWSToSobjectNonEncryptedMap.put('jobCategoryPicklist', 'Job_Category_picklist__c'); - // AWSToSobjectNonEncryptedMap.put('type', 'Type__c'); - // AWSToSobjectNonEncryptedMap.put('contactAddress', 'Contact_address__c'); - // AWSToSobjectNonEncryptedMap.put('contactType', 'ContactType__c'); - // AWSToSobjectNonEncryptedMap.put('doctorDivision1', 'Doctor_Division1__c'); - // AWSToSobjectNonEncryptedMap.put('uniqueNumber', 'UniqueNumber__c'); - - // AWSToSobjectEncryptedMap.put('lastNameEncrypt', 'LastName_Encrypted__c'); - // AWSToSobjectEncryptedMap.put('phoneEncrypt', 'Phone_Encrypted__c'); - // AWSToSobjectEncryptedMap.put('emailEncrypt', 'Email_Encrypted__c'); - // AWSToSobjectEncryptedMap.put('medicalStaffFullNameEncrypt', 'MedicalStaff_Full_name_Encrypted__c'); - // AWSToSobjectEncryptedMap.put('mobilePhoneEncrypt', 'MobilePhone_Encrypted__c'); - // AWSToSobjectEncryptedMap.put('titleEncrypt', 'Title_Encrypted__c'); - // AWSToSobjectEncryptedMap.put('olyAssistantTypeEncrypt', 'OLY_Assistant_Type_Encrypted__c'); - // AWSToSobjectEncryptedMap.put('jobCategoryPicklistEncrypt', 'Job_Category_picklist_Encrypted__c'); - // AWSToSobjectEncryptedMap.put('typeEncrypt', 'Type_Encrypted__c'); - // AWSToSobjectEncryptedMap.put('contactAddressEncrypt', 'Contact_address_Encrypted__c'); - // AWSToSobjectEncryptedMap.put('contactTypeEncrypt', 'ContactType_Encrypted__c'); - // AWSToSobjectEncryptedMap.put('doctorDivision1Encrypt', 'Doctor_Division1_Encrypted__c'); - // AWSToSobjectEncryptedMap.put('uniqueNumberEncrypt', 'UniqueNumber_Encrypted__c'); + } + + PageReference RedirectStandardPage(){ + Map<string,string> mso = ApexPages.currentPage().getParameters(); + system.debug(mso); + PageReference pg = null; + mso.remove('sfdc.override'); + 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; } + public PageReference PageLoad(){ + system.debug('rtTypeId='+rtTypeId); + string s = null; + if(!string.isBlank(rtTypeId)){ + s = Schema.SObjectType.Contact.getRecordTypeInfosById().get(rtTypeId).getDeveloperName(); + if(s == 'Agency' || s == 'Internal_staff'){ + return RedirectStandardPage(); + } + } + string accid = ApexPages.currentPage().getParameters().get('accid'); + if(!string.isBlank(accid)){ + List<Account> accs = [select RecordType.DeveloperName from account where id = :accid]; + if(accs.size()>0){ + s = accs[0].RecordType.DeveloperName; + if(s == 'Office' || s == 'AgencyContact' || s == 'Agency'){ + return RedirectStandardPage(); + } + } + + + } + system.debug('null'); + return null; + } @RemoteAction global static Response saveContact(String leadJson,String transId,Boolean isNew) { -- Gitblit v1.9.1