Name
global.UserCriteriaMigration
Description
This script will set the user criteria property to true if there are no records in the legacy m2m tables. After this runs, only an instance using old tables will be left not using the user criteria functionality.
Script
var UserCriteriaMigration = Class.create();
UserCriteriaMigration.prototype = {
initialize : function() {
},
fixUserCriteriaProperty : function() {
gs.log("User Criteria Migration started: For using the Service Catalog User Criteria")
var uc_prop = "glide.sc.use_user_criteria";
var be = GlidePluginManager.isActive("com.glide.express.applications");
function fixUserCriteriaProperty(uc_prop) {
var legacyTables = [ "sc_cat_item_company_mtom",
"sc_cat_item_company_no_mtom", "sc_cat_item_dept_mtom",
"sc_cat_item_dept_no_mtom", "sc_cat_item_group_mtom",
"sc_cat_item_group_no_mtom", "sc_cat_item_location_mtom",
"sc_cat_item_location_no_mtom", "sc_cat_item_user_mtom",
"sc_cat_item_user_no_mtom", "sc_category_company_mtom",
"sc_category_company_no_mtom", "sc_category_dept_mtom",
"sc_category_dept_no_mtom", "sc_category_group_mtom",
"sc_category_group_no_mtom", "sc_category_location_mtom",
"sc_category_location_no_mtom", "sc_category_user_mtom",
"sc_category_user_no_mtom" ];
var numTbls = legacyTables.length;
var totRecs = 0;
for (var i = 0; i < numTbls; i++) {
var recs = new GlideRecord(legacyTables[i]);
if (recs.isValid()) {
recs.query();
totRecs += recs.getRowCount();
gs.print("Num of records found in " + legacyTables[i] + " : " + recs.getRowCount());
}
if (totRecs > 0)
i = numTbls;
}
if (totRecs > 0) {
gs.setProperty(uc_prop, false);
gs.log("User Criteria migration finished unsuccessfully. Property: " + uc_prop + " has been set to 'false'. Records found in legacy tables. Please refer to the wiki to perform manual user criteria migration");
} else {
gs.setProperty(uc_prop, true);
gs.log("User Criteria migration finished successfully. Property: " + uc_prop + " has been set to 'true'");
}
}
if (!be)
fixUserCriteriaProperty(uc_prop);
else
gs.setProperty(uc_prop, false);
},
type : 'UserCriteriaMigration'
}
Sys ID
503e7a20d7132100f2d224837e61030c