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

skkkk
Giga Contributor

passwd       = qwer@123




when article published valid_to set to 1 year . user wants they can make it change , he should not change the value to grater than one year.


Thanks, Can you please delete the password responses above?



Thanks


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


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


skkkk
Giga Contributor

Great it's working fine .


skkkk
Giga Contributor

Thanks for your quick response.