Este es el .js el objetivo es establecer ciertas propiedades a las carpetas y documentos dependiendo del nombre pero al finalizar quiero cambiar el nombre de la carpeta raíz.
var contents = companyhome.childByNamePath("/X/Nomanclators/tipoExpediente");
var bool = false;
logger.log('******************** ESPECIALIZANDO CARPETA **********************');
if ((document.name.indexOf('Ed.') && document.name.indexOf('5.')) != -1) {
document.specializeType("gep:folder");
document.properties["gep:kind"] = "Expediente de desarrollo";
document.save();
bool = true;
} else
if ((document.name.indexOf('Ed.') && document.name.indexOf('4.')) != -1) {
document.specializeType("gep:folder");
document.properties["gep:kind"] = "Expediente de desarrollo-4.0";
document.save();
bool = true;
} else
if ((document.name.indexOf('Ed.') && document.name.indexOf('.v.personalizaciones')) != -1) {
document.specializeType("gep:folder");
document.properties["gep:kind"] = "Expediente de proyecto de servicio para las personalizaciones";
document.save();
bool = true;
} else
if ((document.name.indexOf('Ed.') && document.name.indexOf('.v.portales')) != -1) {
document.specializeType("gep:folder");
document.properties["gep:kind"] = "Expediente de desarrollo para portales";
document.save();
bool = true;
} else
if (document.name.indexOf('Es.') != -1) {
document.specializeType("gep:folder");
document.properties["gep:kind"] = "Expediente de proyecto de servicio";
document.save();
bool = true;
} else
if (document.name.indexOf('Ec.') != -1) {
document.specializeType("gep:folder");
document.properties["gep:kind"] = "Expediente de componente";
document.save();
bool = true;
} else
if (document.name.indexOf('Em.') != -1) {
document.specializeType("gep:folder");
document.properties["gep:kind"] = "Expediente de migración";
document.save();
bool = true;
} else
if (document.name.indexOf('Ea.') != -1) {
document.specializeType("gep:folder");
document.properties["gep:kind"] = "Expediente de almacenes";
document.save();
bool = true;
} else {
var nom = document.parent.parent.properties["cm:name"];
var nom = nom.split('v.');
var tipo = nom[1];
for (var i = 0; i < contents.children.length; i++) {
var nomenclador = contents.children[i].properties["cm:name"];
if (document.name == nomenclador) {
document.specializeType("gep:folder");
var nombreG = generarNombre(nomenclador, tipo);
document.properties["gep:kind"] = nombreG;
document.properties["cm:descripcion"] = "Expediente de tipo: " + contents.children[i].properties["cm:name"];
document.save();
bool = true;
}
}
}
if (bool) {
logger.log('******************** CARPETA ESPECILIZADA ' + document.name + ' ***');
logger.log('******************** CARPETA GEP:KIND ' + document.properties["gep:kind"] + ' ***');
} else {
/* status.setCode(status.STATUS_BAD_REQUEST, "Verifique que el nombre de la carpeta coincida con el nombre del nuevo tipo de expediente ");
return; */
logger.log("Verifique que el nombre de la carpeta coincida con el nombre del nuevo tipo de expediente ");
}
}
logger.log('******************** ESPECIALIZANDO CONTENIDO **********************');
document.specializeType("gep:content");
document.setInheritsPermissions(false);
document.save();
logger.log('******************** CONTENIDO ESPECIALIZADO ' + document.properties["cm:name"] + ' *************');
logger.log('******************** TIPIFICANDO CONTENIDO **********************');
var contrains = Array();
var array = companyhome.childByNamePath("/X/Nomanclators/tipo_de_documento");
for (var i = 0; i < array.children.length; i++) {
contrains[i] = array.children[i].properties["cm:name"];
}
var kindMatch,
mayor = 0,
nodeContent = document;
for (var j in contrains) {
var contentName = omitirAcentos(new String(nodeContent.name).replace(/_/g, "").replace(/\s/g, "").replace(/-/g, "").replace(/\+/g, "").replace(/\(/g, "").replace(/\)/g, "").toLowerCase());
var contrainsKind = omitirAcentos(contrains[j].replace(/_/g, "").replace(/\s/g, "").replace(/-/g, "").replace(/\+/g, "").replace(/\(/g, "").replace(/\)/g, "").toLowerCase());
var count = lcs(contrainsKind, contentName).length;
if (count > mayor) {
mayor = count;
kindMatch = contrains[j];
logger.log("--- " + kindMatch + " ---");
}
}
nodeContent.properties["gep:documentKind"] = kindMatch;
nodeContent.save();
logger.log( " - El tipo de doc de " + nodeContent.name + " es:\n");
logger.log(" '" + nodeContent.properties["gep:documentKind"] + " '");
logger.log(" ********************************************* \n");
}
}
function omitirAcentos(text) {
}
function lcs(lcstest, lcstarget) {
}
function generarNombre(tipo, version) {}