You need to sign in to do that
Don't have an account?
Rahul Srivastava 44
Override New button with Vf page on selected record type
I have a requirement that I have to redirect to VF page on particular RecordType. If I choose record type 'Collection' then need to open VF page else for other recordtype open new button default functionality. I have done this but once I choose other Recordtypes, page is opening as by default and working good ('Save' and 'Save And New' ) button but once I click Cancel button it is not working as standard functionality. It not redirecting anywhere. I tried with putting home page redirect link in cancel functionality still not redirecting anywhere.
Please check my code where I am making mistake and help me!
Please check my code where I am making mistake and help me!
public with sharing class TestRenewalActivityCollection { private ApexPages.StandardController controller; public String retURL { get; set; } public String saveNewURL { get; set; } public String rType { get; set; } public String cancelURL { get; set; } public String ent { get; set; } public String confirmationToken { get; set; } public String accountID { get; set; } public String contactID { get; set; } Public Id RenewalId {get;set;} public TestRenewalActivityCollection(ApexPages.StandardController controller) { this.controller = controller; //retURL = ApexPages.currentPage().getParameters().get('retURL'); rType = ApexPages.currentPage().getParameters().get('RecordType'); cancelURL = 'https://***********partialcp.lightning.force.com/lightning/page/home'; system.debug('***'+cancelURL); ent = ApexPages.currentPage().getParameters().get('ent'); confirmationToken = ApexPages.currentPage().getParameters().get('_CONFIRMATIONTOKEN'); saveNewURL = ApexPages.currentPage().getParameters().get('save_new_url'); String retUrl = ApexPages.currentPage().getUrl().substringAfter('lkid'); String RenewalId = String.isNOTBlank(retUrl) && retUrl.length() >= 16 ? retUrl.substring(1,16) : retUrl; //system.debug('****'+parentId); //RenewalId = Id.valueOf(parentId); system.debug('****rType--'+RenewalId); //system.debug('***cancelURL'+cancelURL+'***ent'+ent+'**confirmationToken'+confirmationToken+'**saveNewURL'+saveNewURL+''); } public PageReference redirect() { PageReference returnURL; // Redirect if Record Type corresponds to custom VisualForce page IF(rType == '0120w000000Ah17AAC') { //returnURL = new PageReference('/apex/ActivityRenewalPage'); PageReference pageref = new pagereference('/apex/ActivityRenewalPage'); pageref.getParameters().put('recordID', RenewalId); pageref.setRedirect(true); return pageref; } ELSE { returnURL = new PageReference('/a1K/e'); } returnURL.getParameters().put('retURL', retURL); returnURL.getParameters().put('RecordType', rType); returnURL.getParameters().put('cancelURL',cancelURL); returnURL.getParameters().put('ent', ent); returnURL.getParameters().put('_CONFIRMATIONTOKEN', confirmationToken); returnURL.getParameters().put('save_new_url', saveNewURL); returnURL.getParameters().put('nooverride', '1'); returnURL.setRedirect(true); return returnURL; } }