Passwort zurücksetzen mit benutzerdefinierter Ruby-Datei

Dies ist ausdrücklich nicht Teil der Schritte.

Es gibt einen Unterschied zwischen dem Erstellen eines Benutzerfelds mit diesem Namen und dem Vorhandensein eines benutzerdefinierten Felds mit diesem Namen. Der Hash wird also an der falschen Stelle gespeichert.
Das Problem ist, dass ich glaube, dass letzteres (ein benutzerdefiniertes Feld) über die API nicht zugänglich ist.
Ich denke, der beste Weg ist, benutzerdefinierten Einmalcode zu haben, der den Inhalt des Benutzerfelds in das eigentliche benutzerdefinierte Feld verschiebt.

(Ich habe erwogen, das Plugin so zu ändern, dass es auch das Benutzerfeld berücksichtigt, aber ich denke, dass die Anzeige dieser Hashes in der Benutzeroberfläche ein Sicherheitsrisiko darstellt, daher werde ich das nicht tun).

Dies wird funktionieren, führen Sie es von einer Rails-Konsole aus (markiere dich, damit du die Bearbeitung siehst @Hitesh_Sharma)

ufkey = "user_field_#{UserField.find_by(name: 'import_pass').id}"
User.all.each do |u|
  if u.custom_fields.key?(ufkey)
    u.custom_fields[:import_pass] = u.custom_fields[ufkey]
    u.custom_fields.delete(ufkey)
    u.save_custom_fields
  end
end
2 „Gefällt mir“