SleepingOwlAdmin, редактирование пароля пользователя

Столкнулся с ситуацией, требуется в админке добавить поле «пароль». Добавил и обнаружил две проблемы:

  1. при сохранении пользователя пароль записывался в чистом виде (а нужно Bcrypt)
  2. пароль отображался в поле ввода, и при сохранении опять сохранялся/шифровался в базу,т.е. шифрование шифрованного пароля по факту убивало пароль  sad

В общем решение:

1.  добавляем виртуальное поле в модель пользователя с названием newpassword и прописываем что если пароль не пуст, то шифруем и записываем в поле password

2. переделываем поле на форме в админке

Итог:

  • При сохранении если поле пустое(а оно по умолчанию пустое), то пароль не меняется.
  • Если пароль не пуст, то шифруется и сохраняется в базу.
  • Помечено звездочкой как обязателен, то также может быть и пуст (кому то может и не надо)