Case Status Change Page - Customizing


You can change the Case Status on a case by clicking the current value in the side bar:

The static form that loads by default requires entering a case note each time the case status is changed.


If your users typically don't enter a note, they may prefer:


  • A dynamic form that does not require a note at all - See Case Status with no Note below.


or


  • A dynamic form with an optional note - See Pure LegalServer Way and JavaScript Enhanced below.


You may also want to create a dynamic process and form to take advantage of the ability to default the Due Date to today. That's because the current Case Status is based on the most recent Due Date. If you like the sound of this, follow the instructions below for "Case Status with no Note", but do check the "Show Note" option.


Case Status with no Note


Auxiliary Form and Process

Create an auxiliary form. Select Yes for "Create New Process Containing This Form?", make it Active and include a Continue Button. We named ours "Case Status Change".


Add the following elements to the form. Configure to taste, but definitely uncheck Show Note in the Case Status block:

Set the Snapshot Link to Your Dynamic Process

Edit the Snapshot New or Snapshot Top element, whichever your case profile uses.


For Snapshot New, the location varies, but most sites have it in the Main Profile Boxes of the Menu Boxes tab on the Admin > Processes, Forms, and Profiles page.


Snapshot Top will be directly on the case profile.


Select your shiny new process:

Observe

Go to any case, click the Case Status value in the side bar or top element. Bask in your excellent work:


Pure LegalServer Way for Optional Note with a Caveat


If you want to give users the option to enter a note, this is one way to do it.


Caveat: This option creates a case note, but it is not linked to the case status history. Therefore it will not show up in the Case Status History log, or on home pages or the main Cases page lists.


In addition to the above (creating an auxiliary process and form, and selecting the process in the Snapshot New or Snapshot Top element), do the following:

  • Create a branch logic form with the Add Case Note block on it.

  • Add a branch logic block for the optional case note on the auxiliary form.

Create a branch logic form on the Admin > Processes, Forms, and Profiles page. Make it Active, no Continue Button. We named ours "Case Status Change Note".


Add the Add Case Note block, configured to taste. Recommended configuration:

JavaScript Enhanced

Contributed by Jonathan Pyle (Philadelphia Legal Assistance)


NB: This solution may require that “Use Rich Text Editor for Notes” is set to No on the Admin > Site Settings page.


The "pure" LegalServer workaround above results in an ordinary case note being created. This case note is not tied to the case status change, so it can’t appear in the Case Status history or in list views on the Cases tab. This is a problem for us because sometimes (but not always) we like to write a note about why the case status was changed, because then it appears in the listviews on our Cases tab. Thus a supervisor can see at a glance the cases that are marked “Needs Supervision” along with a brief reason why each case needs supervision.


I figured out a JavaScript workaround that restores the previous functionality (where the note was optional). You use a dynamic form, add a Case Status block that is configured to show the note, and then instead of adding a branch logic block, you add an Instruction with HTML enabled, where the content of the Instruction is the following:


<div id="caseStatusHideMe"></div>

<script>

function unrequireCaseStatusNote(){

jQuery("#caseStatusHideMe").parent().remove();

jQuery("textarea[rows=25]").parent().prev().find('span').remove()

jQuery("textarea[rows=25]").parents('form').on('submit', function(){

var elem = jQuery("textarea[rows=25]");

if (elem.val() == ""){

var caseStatus = null;

jQuery('select[name="matter:case_status"] option').each(function(){

if (jQuery(this).prop('selected')){

caseStatus = jQuery(this).text();

}

});

elem.val('Case status changed to ' + caseStatus);

}

return true;

});

}

window.addEventListener('load', unrequireCaseStatusNote);

</script>

Here is what it looks like when configuring the auxiliary form: