From b823c7f3569cf9368e2245846e918f78f32e903a Mon Sep 17 00:00:00 2001 From: GWY <guweiyiscp096@foxmail.com> Date: 星期五, 15 四月 2022 11:38:47 +0800 Subject: [PATCH] Merge branch 'master' of http://47.92.229.245:8089/r/OlympusSSBG --- force-app/main/default/classes/NewAndEditContactController.cls | 58 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++-- 1 files changed, 56 insertions(+), 2 deletions(-) diff --git a/force-app/main/default/classes/NewAndEditContactController.cls b/force-app/main/default/classes/NewAndEditContactController.cls index b5a7688..c72f679 100644 --- a/force-app/main/default/classes/NewAndEditContactController.cls +++ b/force-app/main/default/classes/NewAndEditContactController.cls @@ -18,7 +18,12 @@ // Add fields to controller. This is to avoid the SOQL error in visualforce page //Get Account Id from url param - this.accountId = ApexPages.currentPage().getParameters().get('retURL'); + system.debug('mso='+ApexPages.currentPage().getParameters()); + this.accountId = ApexPages.currentPage().getParameters().get('accid'); + if(string.isBlank(this.accountId)){ + system.debug('retake accid'); + this.accountId = ApexPages.currentPage().getParameters().get('con4_lkid'); + } System.debug('accountId = ' + accountId); // System.debug('accountType = ' + ); @@ -29,11 +34,12 @@ Init(controller.getRecord()); if (this.accountId != '/003/o' && this.accountId != null && this.isNewMode) { - ID accId = ID.valueOf(this.accountId.substring(1, this.accountId.length())); + ID accId = ID.valueOf(this.accountId); System.debug('accId = ' + accId); account = [select id, Name, PhoneD__c, FaxD__c, Address1D__c, PostCodeD__c, ProductSegment__c from Account where id =:accId]; System.debug('account = ' + account); + } SObject obj = controller.getRecord(); @@ -44,11 +50,59 @@ if (this.account != null) { obj.put('ProductSegment'+account.ProductSegment__c+'__c', true); + obj.put('AccountId', this.accountId); } } + + PageReference RedirectStandardPage(){ + system.debug('RedirectStandardPage'); + Map<string,string> mso = ApexPages.currentPage().getParameters(); + system.debug(mso); + PageReference pg = null; + mso.remove('sfdc.override'); + 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; + } + public PageReference PageLoad(){ + system.debug('rtTypeId='+rtTypeId); + + string s = null; + string accid = ApexPages.currentPage().getParameters().get('accid'); + if(string.isBlank(accid)){ + system.debug('retake accid'); + accid = ApexPages.currentPage().getParameters().get('con4_lkid'); + } + if(!string.isBlank(accid)){ + List<Account> accs = [select RecordType.DeveloperName from account where id = :accid]; + system.debug(accs); + if(accs.size()>0){ + s = Schema.SObjectType.Account.getRecordTypeInfosById().get(accs[0].RecordTypeId).getDeveloperName(); + system.debug('s='+s); + if(s == 'Dealer' || s == 'Agency'){ + return RedirectStandardPage(); + } + } + + + } + system.debug('null'); + return null; + } @RemoteAction global static Response saveContact(String contactJson, String transId, Boolean isNew){ -- Gitblit v1.9.1