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