Permitir la eliminación de nombres usando SSO

Lo siento, pero no estoy de acuerdo. No veo cómo esto puede ser una solicitud de función y no un error.

Entiendo que hay otros puntos de acceso de la API que se pueden utilizar. Pero el punto principal de /admin/users/sync_sso es precisamente mantener este tipo de datos, bueno, sincronizados. Ya permite establecer el campo de nombre de cuenta; eso funciona. Sin embargo, asume que el nombre es siempre un campo obligatorio y no permite establecerlo en blanco. Por lo tanto, no se puede utilizar para mantener los datos sincronizados.

El código a continuación parece hacer que funcione como se espera en mi entorno de pruebas, pero, de nuevo, no me siento lo suficientemente seguro para enviar un PR en este momento. Siéntete libre de usarlo/adaptarlo, etc.

-    if SiteSetting.sso_overrides_name && user.name != name && name.present?
-      user.name = name || User.suggest_name(username.blank? ? email : username)
+    if SiteSetting.sso_overrides_name && user.name != name
+      if SiteSetting.full_name_required && name.present?
+        user.name = name || User.suggest_name(username.blank? ? email : username)
+      else
+        user.name = name
+      end