Здравствуйте, подскажите пожалуйста, у меня есть представление где выводиться в виде таблицы пользователи. Нужно в этой таблице сделать либо ссылку, либо что-то ещё, но в общем что бы при нажатии, пароль соответствующего пользователя сбросился, и высылался новый на email. Просто сама идея в том, что есть пользователи администраторы, который управляет другими пользователями операторами, и могут восстанавливать им пароли.
Что пробовал сделать
Пробовал добавить поле в представление "Глобальный: Пользовательский текст (Пользовательский текст)", поставил галочку "Выводить это поле в виде ссылки " добавил ссылка на страницу восстановления пароля (user/password), но когда перехожу по этой ссылке выводиться вот что "Инструкции по сбросу пароля будут высланы на (тут email текущего пользователя, который в системе залогинен). Вы должны выйти с сайта, чтобы использовать сброс пароля по ссылке с вашего e-mail.". В общем идея видимо не очень, потому что мне же нужно что бы пользователь не только свой восстанавливал пароль, но и других пользователей, которые отображены в таблице.
Подскажите пожалуйста что тут можно сделать? Заранее благодарю за ответ
Вложение | Размер |
---|---|
![]() | 85.35 КБ |
Комментарии
https://api.drupal.org/api/drupal/modules%21system%21system.api.php/func...
Извините, правильно ли я понял. То есть ловим события затем вызваем actions_do (), что бы выполнились какие либо действия в ответ на события ?
Возможно, это был намёк на то, что надо писать свой action, но это не точно.
Установите VBO, сделайте соответствующий view, поройтесь там в доступных действиях
Если брать функционал из коробки, то:
user/password - заточена под текущего пользователя
user/[uid]/edit - форма редактирования конкретного пользователя, где можно вручную задать пароль
При отправки емейла, думаю, необходимо реализовать кастомный модуль, где при смене пароля модератором отсылается почта этому юзеру. Можно и с автогенерацией пароля чего-нибудь придумать.
P.S. И это нужно как-то на этапе валидации делать, чтоб пароль не улетел в хеш.
Это вот да, но тут одна проблема. Пароль генерируется, то есть вот когда администратор создал оператора, оператору на почту приходит сгенерированный пароль, он входит на сайт, и у него открывается как раз вот эта страница user/[uid]/edit - форма редактирования, я поубирал там некоторые поля, оставил только что бы он ввел текущий и новый пароль, и это сделано что бы пользователь при первом приходе на сайт сменил себе пароль, если не сменил, то при последующем входе снова кидаем на эту страницу. И вот проблема в том что уже использую форму редактирования
Вы пытаетесь сломать логику:
1) Восстановление пароля должен запрашивать пользователь
2) Поменять пароль (а не выслать ссылку) может администратор
ИМХО, вы путаете одноразовую ссылку (one-time-login) с генерируемым паролем.
Из представления можно использовать настройку действий, но действие Вам надо сначала запрограммировать через хук эктионc, vbo нужна только для настройки использования в Вашем views действий, после их программирования, некоторые есть в коробке.