Get name of standard action overriden in Visualforce contorller





.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty{ margin-bottom:0;
}







2















I have a visualforce page that overrides both the 'New' and 'Edit' Buttons of a custom object. In my controller extension how can I get the name of the action that called this page ? I don't see anything in the StandardController, there are methods to redirect to the standard edit and view pages but nothing that will return the button clicked.










share|improve this question































    2















    I have a visualforce page that overrides both the 'New' and 'Edit' Buttons of a custom object. In my controller extension how can I get the name of the action that called this page ? I don't see anything in the StandardController, there are methods to redirect to the standard edit and view pages but nothing that will return the button clicked.










    share|improve this question



























      2












      2








      2








      I have a visualforce page that overrides both the 'New' and 'Edit' Buttons of a custom object. In my controller extension how can I get the name of the action that called this page ? I don't see anything in the StandardController, there are methods to redirect to the standard edit and view pages but nothing that will return the button clicked.










      share|improve this question
















      I have a visualforce page that overrides both the 'New' and 'Edit' Buttons of a custom object. In my controller extension how can I get the name of the action that called this page ? I don't see anything in the StandardController, there are methods to redirect to the standard edit and view pages but nothing that will return the button clicked.







      apex visualforce controller-extension standardcontroller salesforce-classic






      share|improve this question















      share|improve this question













      share|improve this question




      share|improve this question








      edited 2 days ago









      Jayant Das

      18.3k21330




      18.3k21330










      asked 2 days ago









      SallyRothroatSallyRothroat

      421317




      421317






















          1 Answer
          1






          active

          oldest

          votes


















          3














          I don't know if there's any standard way to do so, but you can utilize an approach here in your Extension's constructor to identify if the click was from New or Edit.



          When you click on New button, that signifies that you are creating a new record and that it won't have an Id yet, whereas for Edit there will be always one. So checking that in the Extension will help you to identify the flow.



          public class MyExtension {

          private MyObj__c abc;
          private String buttonClicked;

          public MyExtension(ApexPages.StandardController stdController) {
          this.abc = (MyObj__c) stdController.getRecord();

          buttonClicked = (abc.Id == null ? 'New' : 'Edit');
          // do something now
          }
          }





          share|improve this answer


























          • +1 Strictly speaking, the parentheses around the ternary expression is not necessary, since there's no ambiguity in the syntax.

            – sfdcfox
            2 days ago











          • @sfdcfox I agree. I just keep it for a better readability just to not confuse between = and == in the same statement.

            – Jayant Das
            2 days ago













          • I'll test it out, thanks !

            – SallyRothroat
            2 days ago











          • I was already getting the record so perfect I'll just check if it's null. What's the abc for?

            – SallyRothroat
            2 days ago











          • @SallyRothroat Ah, I missed that part. It's just a variable of type of the object which is fetched in the constructor, I have updated my answer. If you are already getting your record, then you just need to verify the Id and done.

            – Jayant Das
            2 days ago














          Your Answer








          StackExchange.ready(function() {
          var channelOptions = {
          tags: "".split(" "),
          id: "459"
          };
          initTagRenderer("".split(" "), "".split(" "), channelOptions);

          StackExchange.using("externalEditor", function() {
          // Have to fire editor after snippets, if snippets enabled
          if (StackExchange.settings.snippets.snippetsEnabled) {
          StackExchange.using("snippets", function() {
          createEditor();
          });
          }
          else {
          createEditor();
          }
          });

          function createEditor() {
          StackExchange.prepareEditor({
          heartbeatType: 'answer',
          autoActivateHeartbeat: false,
          convertImagesToLinks: false,
          noModals: true,
          showLowRepImageUploadWarning: true,
          reputationToPostImages: null,
          bindNavPrevention: true,
          postfix: "",
          imageUploader: {
          brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
          contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
          allowUrls: true
          },
          onDemand: true,
          discardSelector: ".discard-answer"
          ,immediatelyShowMarkdownHelp:true
          });


          }
          });














          draft saved

          draft discarded


















          StackExchange.ready(
          function () {
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fsalesforce.stackexchange.com%2fquestions%2f257521%2fget-name-of-standard-action-overriden-in-visualforce-contorller%23new-answer', 'question_page');
          }
          );

          Post as a guest















          Required, but never shown

























          1 Answer
          1






          active

          oldest

          votes








          1 Answer
          1






          active

          oldest

          votes









          active

          oldest

          votes






          active

          oldest

          votes









          3














          I don't know if there's any standard way to do so, but you can utilize an approach here in your Extension's constructor to identify if the click was from New or Edit.



          When you click on New button, that signifies that you are creating a new record and that it won't have an Id yet, whereas for Edit there will be always one. So checking that in the Extension will help you to identify the flow.



          public class MyExtension {

          private MyObj__c abc;
          private String buttonClicked;

          public MyExtension(ApexPages.StandardController stdController) {
          this.abc = (MyObj__c) stdController.getRecord();

          buttonClicked = (abc.Id == null ? 'New' : 'Edit');
          // do something now
          }
          }





          share|improve this answer


























          • +1 Strictly speaking, the parentheses around the ternary expression is not necessary, since there's no ambiguity in the syntax.

            – sfdcfox
            2 days ago











          • @sfdcfox I agree. I just keep it for a better readability just to not confuse between = and == in the same statement.

            – Jayant Das
            2 days ago













          • I'll test it out, thanks !

            – SallyRothroat
            2 days ago











          • I was already getting the record so perfect I'll just check if it's null. What's the abc for?

            – SallyRothroat
            2 days ago











          • @SallyRothroat Ah, I missed that part. It's just a variable of type of the object which is fetched in the constructor, I have updated my answer. If you are already getting your record, then you just need to verify the Id and done.

            – Jayant Das
            2 days ago


















          3














          I don't know if there's any standard way to do so, but you can utilize an approach here in your Extension's constructor to identify if the click was from New or Edit.



          When you click on New button, that signifies that you are creating a new record and that it won't have an Id yet, whereas for Edit there will be always one. So checking that in the Extension will help you to identify the flow.



          public class MyExtension {

          private MyObj__c abc;
          private String buttonClicked;

          public MyExtension(ApexPages.StandardController stdController) {
          this.abc = (MyObj__c) stdController.getRecord();

          buttonClicked = (abc.Id == null ? 'New' : 'Edit');
          // do something now
          }
          }





          share|improve this answer


























          • +1 Strictly speaking, the parentheses around the ternary expression is not necessary, since there's no ambiguity in the syntax.

            – sfdcfox
            2 days ago











          • @sfdcfox I agree. I just keep it for a better readability just to not confuse between = and == in the same statement.

            – Jayant Das
            2 days ago













          • I'll test it out, thanks !

            – SallyRothroat
            2 days ago











          • I was already getting the record so perfect I'll just check if it's null. What's the abc for?

            – SallyRothroat
            2 days ago











          • @SallyRothroat Ah, I missed that part. It's just a variable of type of the object which is fetched in the constructor, I have updated my answer. If you are already getting your record, then you just need to verify the Id and done.

            – Jayant Das
            2 days ago
















          3












          3








          3







          I don't know if there's any standard way to do so, but you can utilize an approach here in your Extension's constructor to identify if the click was from New or Edit.



          When you click on New button, that signifies that you are creating a new record and that it won't have an Id yet, whereas for Edit there will be always one. So checking that in the Extension will help you to identify the flow.



          public class MyExtension {

          private MyObj__c abc;
          private String buttonClicked;

          public MyExtension(ApexPages.StandardController stdController) {
          this.abc = (MyObj__c) stdController.getRecord();

          buttonClicked = (abc.Id == null ? 'New' : 'Edit');
          // do something now
          }
          }





          share|improve this answer















          I don't know if there's any standard way to do so, but you can utilize an approach here in your Extension's constructor to identify if the click was from New or Edit.



          When you click on New button, that signifies that you are creating a new record and that it won't have an Id yet, whereas for Edit there will be always one. So checking that in the Extension will help you to identify the flow.



          public class MyExtension {

          private MyObj__c abc;
          private String buttonClicked;

          public MyExtension(ApexPages.StandardController stdController) {
          this.abc = (MyObj__c) stdController.getRecord();

          buttonClicked = (abc.Id == null ? 'New' : 'Edit');
          // do something now
          }
          }






          share|improve this answer














          share|improve this answer



          share|improve this answer








          edited 2 days ago

























          answered 2 days ago









          Jayant DasJayant Das

          18.3k21330




          18.3k21330













          • +1 Strictly speaking, the parentheses around the ternary expression is not necessary, since there's no ambiguity in the syntax.

            – sfdcfox
            2 days ago











          • @sfdcfox I agree. I just keep it for a better readability just to not confuse between = and == in the same statement.

            – Jayant Das
            2 days ago













          • I'll test it out, thanks !

            – SallyRothroat
            2 days ago











          • I was already getting the record so perfect I'll just check if it's null. What's the abc for?

            – SallyRothroat
            2 days ago











          • @SallyRothroat Ah, I missed that part. It's just a variable of type of the object which is fetched in the constructor, I have updated my answer. If you are already getting your record, then you just need to verify the Id and done.

            – Jayant Das
            2 days ago





















          • +1 Strictly speaking, the parentheses around the ternary expression is not necessary, since there's no ambiguity in the syntax.

            – sfdcfox
            2 days ago











          • @sfdcfox I agree. I just keep it for a better readability just to not confuse between = and == in the same statement.

            – Jayant Das
            2 days ago













          • I'll test it out, thanks !

            – SallyRothroat
            2 days ago











          • I was already getting the record so perfect I'll just check if it's null. What's the abc for?

            – SallyRothroat
            2 days ago











          • @SallyRothroat Ah, I missed that part. It's just a variable of type of the object which is fetched in the constructor, I have updated my answer. If you are already getting your record, then you just need to verify the Id and done.

            – Jayant Das
            2 days ago



















          +1 Strictly speaking, the parentheses around the ternary expression is not necessary, since there's no ambiguity in the syntax.

          – sfdcfox
          2 days ago





          +1 Strictly speaking, the parentheses around the ternary expression is not necessary, since there's no ambiguity in the syntax.

          – sfdcfox
          2 days ago













          @sfdcfox I agree. I just keep it for a better readability just to not confuse between = and == in the same statement.

          – Jayant Das
          2 days ago







          @sfdcfox I agree. I just keep it for a better readability just to not confuse between = and == in the same statement.

          – Jayant Das
          2 days ago















          I'll test it out, thanks !

          – SallyRothroat
          2 days ago





          I'll test it out, thanks !

          – SallyRothroat
          2 days ago













          I was already getting the record so perfect I'll just check if it's null. What's the abc for?

          – SallyRothroat
          2 days ago





          I was already getting the record so perfect I'll just check if it's null. What's the abc for?

          – SallyRothroat
          2 days ago













          @SallyRothroat Ah, I missed that part. It's just a variable of type of the object which is fetched in the constructor, I have updated my answer. If you are already getting your record, then you just need to verify the Id and done.

          – Jayant Das
          2 days ago







          @SallyRothroat Ah, I missed that part. It's just a variable of type of the object which is fetched in the constructor, I have updated my answer. If you are already getting your record, then you just need to verify the Id and done.

          – Jayant Das
          2 days ago




















          draft saved

          draft discarded




















































          Thanks for contributing an answer to Salesforce Stack Exchange!


          • Please be sure to answer the question. Provide details and share your research!

          But avoid



          • Asking for help, clarification, or responding to other answers.

          • Making statements based on opinion; back them up with references or personal experience.


          To learn more, see our tips on writing great answers.




          draft saved


          draft discarded














          StackExchange.ready(
          function () {
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fsalesforce.stackexchange.com%2fquestions%2f257521%2fget-name-of-standard-action-overriden-in-visualforce-contorller%23new-answer', 'question_page');
          }
          );

          Post as a guest















          Required, but never shown





















































          Required, but never shown














          Required, but never shown












          Required, but never shown







          Required, but never shown

































          Required, but never shown














          Required, but never shown












          Required, but never shown







          Required, but never shown







          Popular posts from this blog

          數位音樂下載

          When can things happen in Etherscan, such as the picture below?

          格利澤436b