Как можно сделать восстановления пароля из представления ?

Главные вкладки

Аватар пользователя shlop shlop 6 февраля 2018 в 9:46

Здравствуйте, подскажите пожалуйста, у меня есть представление где выводиться в виде таблицы пользователи. Нужно в этой таблице сделать либо ссылку, либо что-то ещё, но в общем что бы при нажатии, пароль соответствующего пользователя сбросился, и высылался новый на email. Просто сама идея в том, что есть пользователи администраторы, который управляет другими пользователями операторами, и могут восстанавливать им пароли.

Что пробовал сделать
Пробовал добавить поле в представление "Глобальный: Пользовательский текст (Пользовательский текст)", поставил галочку "Выводить это поле в виде ссылки " добавил ссылка на страницу восстановления пароля (user/password), но когда перехожу по этой ссылке выводиться вот что "Инструкции по сбросу пароля будут высланы на (тут email текущего пользователя, который в системе залогинен). Вы должны выйти с сайта, чтобы использовать сброс пароля по ссылке с вашего e-mail.". В общем идея видимо не очень, потому что мне же нужно что бы пользователь не только свой восстанавливал пароль, но и других пользователей, которые отображены в таблице.
Подскажите пожалуйста что тут можно сделать? Заранее благодарю за ответ

ВложениеРазмер
Иконка изображения snimok1.jpg85.35 КБ

Комментарии

Аватар пользователя shlop shlop 6 февраля 2018 в 10:48

Извините, правильно ли я понял. То есть ловим события затем вызваем actions_do (), что бы выполнились какие либо действия в ответ на события ?

Аватар пользователя Semantics Semantics 6 февраля 2018 в 11:54

Возможно, это был намёк на то, что надо писать свой action, но это не точно.

Установите VBO, сделайте соответствующий view, поройтесь там в доступных действиях

Аватар пользователя adano adano 6 февраля 2018 в 12:12

Если брать функционал из коробки, то:
user/password - заточена под текущего пользователя
user/[uid]/edit - форма редактирования конкретного пользователя, где можно вручную задать пароль

При отправки емейла, думаю, необходимо реализовать кастомный модуль, где при смене пароля модератором отсылается почта этому юзеру. Можно и с автогенерацией пароля чего-нибудь придумать.

P.S. И это нужно как-то на этапе валидации делать, чтоб пароль не улетел в хеш.

Аватар пользователя shlop shlop 6 февраля 2018 в 13:12

Это вот да, но тут одна проблема. Пароль генерируется, то есть вот когда администратор создал оператора, оператору на почту приходит сгенерированный пароль, он входит на сайт, и у него открывается как раз вот эта страница user/[uid]/edit - форма редактирования, я поубирал там некоторые поля, оставил только что бы он ввел текущий и новый пароль, и это сделано что бы пользователь при первом приходе на сайт сменил себе пароль, если не сменил, то при последующем входе снова кидаем на эту страницу. И вот проблема в том что уже использую форму редактирования

Аватар пользователя ivnish ivnish 6 февраля 2018 в 13:27

Вы пытаетесь сломать логику:
1) Восстановление пароля должен запрашивать пользователь
2) Поменять пароль (а не выслать ссылку) может администратор

Аватар пользователя sas@drupal.org sas@drupal.org 8 февраля 2018 в 8:45

Semantics wrote:

Возможно, это был намёк на то, что надо писать свой action, но это не точно.
Установите VBO, сделайте соответствующий view, поройтесь там в доступных действиях


Из представления можно использовать настройку действий, но действие Вам надо сначала запрограммировать через хук эктионc, vbo нужна только для настройки использования в Вашем views действий, после их программирования, некоторые есть в коробке.