Это, как я бы об этом:
В Rules UI:
1) В разделе событий я бы выбрал вариант «После обновления существующей учетной записи пользователя».
2) В разделе условий я бы выбрал обновленную роль.
3) В разделе «Действия» я написал свой собственный PHP-код, так как я не могу изменить имя пользователя там.
Мой PHP код:
В соответствии с правилами, необходимо использовать функцию hook_rules_action_info(). Я бы поместил это в файл mymodulename.rules.inc, чтобы уменьшить нагрузку.
/*
* Implementation of the hook_rules_action_info()
*
*/
function customvishal_rules_action_info()
{
// Here You can check the db for the uid and change the username as what you want.
using the SELECT and INSERT commands. Let me know if this works for you or if you
need further help.
}