custom case button

edited March 2, 2017 in Questions
How to create a custom button, that will get the next Case in a queue and assign it to the current user. After the button is clicked it will display the case detail page, with the details of the case assigned to the current user

Comments

  • Emily DavisEmily Davis ✭✭✭✭
    edited March 2, 2017
    Hi, Eddie,
    I'm working on getting a response for you. Let me ask, by the "next" Case in the queue, do you mean the first one, or would you like to be able to move through the list in order?
    Emily
  • edited July 9, 2014
    Just grab the next case, assign it to the current user, then display all the case details and related lists thanks
  • Emily DavisEmily Davis ✭✭✭✭
    edited March 2, 2017
    I'm sorry, I don't think I made that question very clear. Do you mean just the case at the top of the queue?
  • edited July 9, 2014
    Yes, thanks
  • Emily DavisEmily Davis ✭✭✭✭
    edited March 2, 2017
    Ok, I just realized that you may be talking about Queues in Salesforce (allowing cases to be assigned to a group of people) rather than the Skuid Queue component. Is that what you are referring to? In this case, you can do a custom button as a row action in a Cases table that assigns the case to the current user and redirects to that case's page.

    Here's an example I did with a list of cases belonging to a given queue, with an "Assign to Me" button.



    My models are CurrentUser, Group (which references the queue, "AllSupportReps" in this case).

    My code for the "Assign to Me" snippet looks like this:
    //Get the current user  var currentUser = skuid.model.getModel('CurrentUser').getFirstRow();    //Get the cases model and the selected case from the row  var casesModel = skuid.model.getModel('Cases');  var selectedCase = arguments[0].item.row;    //Update the case's owner to the current user  casesModel.updateRow(selectedCase, {OwnerId: currentUser.Id});  casesModel.save();    //Redirect to the case's page  window.location = '/' + selectedCase.Id;
    If this is not the solution you need, let me know and I will dig deeper and see if I can find what you're looking for.
  • edited July 31, 2014
    Hi Emily I have the following URL:
    https://skuid.cs18.visual.force.com/apex/skuid__ui?CaseId=50011000003AQptAAG&page=CaseDetailsModel

    I am using a Global Action and creating an Attach a File to the Case. This is a redirect action

    with regards to the retURL I have tried the following:
    /p/attach/NoteAttach?pid={{$Param.CaseId}}&retURL=%2F/apex/skuid__ui?CaseId={{$Param.CaseId}}/page=CaseDetailsModel
    AND
    /p/attach/NoteAttach?pid={{$Param.CaseId}}&retURL=%2F/apex/skuid__ui?CaseId={{$Param.CaseId}}&page=CaseDetailsModel


    As I want the return url to be: /apex/skuid__ui?CaseId=50011000003AQptAAG&page=CaseDetailsModel

    It works fine to have the return URL to contain CaseId={{$Param.CaseId}} OR page=CaseDetailsModel but I don't know how to include both in the return URL.

    I want to return the URL and have the correct page showing, would you know how to do this.

    Thanks again

    Edward
  • edited July 31, 2014
    Also for the Save and Cancel buttons on standard pages.

    i.e. If the user wishes to edit a case, then I have the skuid page redirect to the standard edit case page. Is there a way to redirect back to the original skuid page, after they click Save or Cancel on the standard salesforce page, thanks
  • Emily DavisEmily Davis ✭✭✭✭
    edited March 2, 2017
    Hey, Eddie,
    For your file attachment redirect, try this:

    /p/attach/NoteAttach?pid={{$Param.CaseId}}&retURL=%2Fapex%2Fskuid__ui%3Fcaseid%3D{{$Param.CaseId}}%26page%3DCaseDetailsModel

    I think the problem is that you were not using an encoded url for the return URL parameter. The retURL portion
    %2Fapex%2Fskuid__ui%3Fcaseid%3D{{$Param.CaseId}}%26page%3DCaseDetailsModel
    is the encoded version of the url
    /apex/skuid__ui?caseid={{$Param.CaseId}}&page=CaseDetailsModel.

    Here's a good reference for url encoding. But also, the easier option is to use a url encoder/decoder to do it for you! You can just copy/paste any url into the window.

    Emily

  • edited August 1, 2014
    Emily thats great, I was actually close as I had this:

    /p/attach/NoteAttach?pid={{$Param.CaseId}}&retURL=%2Fapex%2Fskuid__ui%3FCaseId%3D{{$Param.CaseId}}%2Fpage%3DCaseDetailsModel

    But your example worked brilliantly, thanks as always.

    Another question:
    If I click in Skuid to Edit a case, and it goes to a Standard Salesforce Edit Case view. Once I click on the Save or Cancel button how to I make sure it redirects back to the CaseDetailsModel page like I am doing above with NoteAttach?

    Thanks again

  • Emily DavisEmily Davis ✭✭✭✭
    edited March 2, 2017
    Glad that worked! For Edit Case, try this:

    /{{$Param.caseid}}/e?nooverride=1&retURL=%2Fapex%2Fskuid__ui%3Fcaseid%3D{{$Param.CaseId}}%26page%3DCaseDetailsModel&scontrolCaching=1&sfdc.override=1

    Uses the url address of the Edit Case page, but change the retURL to the same value as in the Attach File example. This works for the Save and Cancel buttons. However, it will not redirect back to your CaseDetailsModel page if the user clicks "Save and Close" from the Edit Case page (since the Save and Close page comes between the Edit Case page and your Skuid page. HOWEVER, if you override the standard Salesforce case detail page with your Skuid page, you should always be redirected back to the Skuid case detail page. This tutorial explains overrides further. If you choose to go that route, then your retURL for both of your pages (Attach and Edit) will simply be {{$Param.CaseId}}, and it will return to your Skuid page!
  • Zach McElrathZach McElrath Principal Software Engineer Chattanooga, TN 💎💎💎
    edited December 21, 2016
    Eddie, you only need to post your question in one place, we'll answer it wherever you post it.
Sign In or Register to comment.

Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!