Cuando un administrador crea una nueva cuenta (admin / people / create), se le solicita que ingrese una contraseña para la cuenta. Mi cliente quiere que sea cuando se crea una cuenta en el back-end, el administrador no tiene que ingresar una contraseña, pero al usuario se le envía un mensaje de notificación con un enlace de inicio de sesión único y luego puede establecer un contraseña después de iniciar sesión con eso. ¿Cuál es la mejor manera de lograr algo como esto?
He pensado en alterar el formulario para configurar los #default_value
campos de contraseña en una contraseña aleatoria y luego configurarlo '#access' => FALSE
, pero no estoy seguro de si esa es la mejor manera de hacerlo.
hook_init()
paradrupal_add_css()
en cada carga de la página ... también es la duplicación del núcleouser_password()
. No pasa la prueba de olor.user_password(mt_rand(10, 50))
o algo así al enviar el formulario.Si no desea instalar el módulo "Generar contraseña" y se siente cómodo usando ganchos, entonces esta es una alternativa:
Podrías hacerlo más sofisticado a tu gusto. Tal como está, siempre oculta el campo de contraseña y proporciona un valor en su lugar: el administrador tendrá que editar la nueva cuenta para establecer un valor específico. También deja el valor predeterminado "notificar" en desactivado, mientras que puede preferir activarlo.
Actualizado según la respuesta @joe_flash (pero en una forma un poco más compacta): el campo de contraseña se expandirá en dos subcampos ("pass1" y "pass2") cuando se procese el elemento.
fuente
La respuesta de AdamS casi está ahí. Dado que el campo de contraseña se expandirá en dos subcampos ("pass1" y "pass2") cuando se procese el elemento (
form_process_password_confirm()
), necesita algo como:fuente