Quando um administrador cria uma nova conta (admin / people / create), é solicitado que você digite uma senha para a conta. Meu cliente quer que, quando uma conta for criada no back-end, o administrador não precise digitar uma senha, mas o usuário receba uma mensagem de notificação com um link de logon único e possa definir um senha após o login usando isso. Qual é a melhor maneira de conseguir algo assim?
Pensei em talvez alterar o formulário para definir os #default_value
campos da senha como uma senha aleatória e depois definir '#access' => FALSE
, mas não tenho certeza se essa é a melhor maneira de fazer isso.
hook_init()
adrupal_add_css()
em cada carregamento da página ... é também a duplicação do núcleouser_password()
. Não passa no teste de cheiro.user_password(mt_rand(10, 50))
ou algo assim após o envio do formulário.Se você não gosta de instalar o módulo "Gerar senha" e se sente confortável usando ganchos, aqui está uma alternativa:
Você poderia torná-lo mais sofisticado ao seu gosto. Como está, ele sempre oculta o campo da senha e fornece um valor - o administrador precisará editar a nova conta para definir um valor específico. Também deixa desativado o padrão "notificar", enquanto você pode preferir.
Atualizado de acordo com a resposta @joe_flash (mas de uma forma um pouco mais compacta): o campo da senha será expandido em dois subcampos ("pass1" e "pass2") quando o elemento for processado.
fonte
A resposta do AdamS está quase lá. Como o campo da senha será expandido em dois subcampos ("pass1" e "pass2") quando o elemento for processado (
form_process_password_confirm()
), você precisará de algo como:fonte