KB articles is to set the Valid To date one year from the Published date. it's working fine now . should not allow more than one year from publish date . How can we restrict.

skkkk
Giga Contributor

KB articles is to set the Valid To date one year from the Published date. it's working fine now . should not allow more than one year from publish date . How can we restrict.

1 ACCEPTED SOLUTION

This is done, Please test and let me know.



Steps to test



1) Create a new article and submit it. (Do not enter Published date now)


2) Click on publish button to publish the article. This will populate the published date and Valid To dates (Valid to is Published date + 1 year)


3) Try to change valid to > 1 year, you will get an error and user cannot change it.



Business rules



Set Valid To Upon Publish


(function executeRule(current, previous /*null when async*/) {


  // Add your code here


  var publishedDate = new GlideDateTime(current.published.getDisplayValue());


  publishedDate.addYears(1);


  current.valid_to = publishedDate.getDate();


})(current, previous);



Check Valid To


(function executeRule(current, previous /*null when async*/){


  // Add your code here


  var validDate = new GlideDateTime(current.valid_to.getDisplayValue());


  var publishedDate = new GlideDateTime(current.published.getDisplayValue());


  publishedDate.addYears(1);



  if(validDate > publishedDate){


  gs.addInfoMessage("You cannot select this date as Valid to");


  current.valid_to = previous.valid_to;


  current.setAbortAction(true);


  }


})(current, previous);



If this has answered your question, please mark my response as correct answer.



Thanks


Please Hit like, Helpful or Correct depending on the impact of the response


View solution in original post

23 REPLIES 23

Alikutty A
Tera Sage

Hi Hima,



If valid to is already set as 1 year from published date, You can make it a read-only field for the users who should not edit it. Is this your requirement?



Thanks


Please Hit like, Helpful or Correct depending on the impact of the response


skkkk
Giga Contributor

If   required   they   should change the dates.   We dont want to make it read only .


You can write a on before business rule on kb_knowledge table with condition as "Valid to" changes and the following script.



Script:



var validDate = new GlideDateTime(current.valid_to.getDisplayValue());


var publishedDate = new GlideDateTime(current.published.getDisplayValue());


publishedDate.addYears(1);


if(validDate > publishedDate){


gs.addInfoMessage("You cannot select this date as Valid to");


current.setAbortAction(true);


}



Let me know if it works.



Thanks


Please Hit like, Helpful or Correct depending on the impact of the response


skkkk
Giga Contributor

No luck ,.....