const estadoPortafolio = getFieldById("customfield_11214");
// Obtener contexto del proyecto
const context = await getContext();
const projectId = context.extension.project.id;
// Obtener roles del usuario actual en JSM
const getProjectRoles = await makeRequest(`/rest/api/3/project/${projectId}/roledetails?currentMember=true`);
const roleNames = getProjectRoles.body.map(role => role.name);
// Depurar: Imprimir roles detectados
logger.info(`Roles del usuario en JSM: ${roleNames.join(", ")}`);
// Roles autorizados (¡ajusta los nombres según tu JSM!)
const rolesAutorizados = [
"Administrador de Portafolio",
"Administrators"
];
// Verificar si el usuario tiene un rol autorizado
const usuarioAutorizado = rolesAutorizados.some(rol => roleNames.includes(rol));
// Bloquear el campo si el usuario no está autorizado
if (usuarioAutorizado) {
estadoPortafolio.setReadOnly(false); // Permitir edición
logger.info("Usuario autorizado: Campo habilitado.");
} else {
estadoPortafolio.setReadOnly(true); // Bloquear edición
logger.info("Usuario no autorizado: Campo bloqueado.");
// Si el campo sigue siendo editable, ocúltalo:
estadoPortafolio.setVisible(false);
}