Todavía no estoy seguro de por qué eliminé el soporte para las páginas de inicio predeterminadas y anónimas antes. Las he vuelto a poner.
Ahora, si hay una custom_default_homepage, la usa a menos que haya una coincidencia de grupo. Si hay una anon_page y el usuario es anónimo, la usa.
No pude averiguar cómo o cuándo se debe establecer la página móvil (¿es para usuarios anónimos? ¿todos los usuarios? ¿Anula la página predeterminada? ¿El mapa de grupo?), así que la eliminé. Si estás utilizando esa página móvil, dime qué crees que debería anular (creo que tal vez deberías establecerla como la página predeterminada si están en el móvil, pero si hay una página de grupo, entonces ¿usar esa? Todavía no está claro qué hacer para anónimos vs. usuarios registrados; supongo que tal vez necesiten haber versiones móviles para todos ellos).
Aquí está el código:
let url = null;
if (settings.custom_default_homepage) {
url = settings.custom_default_homepage.replace(/^\/+/g, "");
}
if (user) {
if (user.primary_group_name && settings.group_page_map) {
let groupMap = settings.group_page_map.replace(",", ":").split("|");
const mapEntry = groupMap.find((value) =>
RegExp(user.primary_group_name).test(value)
);
if (mapEntry) {
url = mapEntry.split(":")[1].replace(/^\/+/g, "");
}
}
} else if (settings.anon_page) {
url = settings.anon_page.replace(/^\/+/g, "");
}
Y luego cambia la página de inicio solo si url tiene un valor.