Seguimiento: He comenzado a trabajar en una implementación de esto. Mi enfoque básico es:
- Añadir una nueva configuración del sitio, “Nombres completos visibles para grupos” (es decir, “grupos a los que es visible el nombre completo de cualquier usuario”).
- Añadir un nuevo predicado
can_see_full_names?aGuardian, que comprueba la configuración del sitio. - Reemplazar (muchas) instancias de
SiteSetting.enable_namescon el predicadocan_see_full_names?.
Esto ha sido en su mayor parte sencillo — el mayor obstáculo ha sido que los serializadores no reenvían sus parámetros scope, y eso se ha convertido en su propio pequeño subproyecto.