I need to update password with sonata admin int fos userbundle 'bcrypt' password.
This is my admin class,
<?php
namespace AdminBundle\Admin;
use Sonata\AdminBundle\Admin\Admin;
use Sonata\AdminBundle\Datagrid\ListMapper;
use Sonata\AdminBundle\Datagrid\DatagridMapper;
use Sonata\AdminBundle\Form\FormMapper;
use Sonata\AdminBundle\Show\ShowMapper;
class UserAdmin extends Admin {
public function postPersist($object) {
$userManager = $this->get('fos_user.user_manager');
$user = $userManager->findUserBy(array('id'=>$object->id));
$user->setPlainPassword('test');
$userManager->updateUser($user);
}
This is my user entity,
<?php
// src/AppBundle/Entity/User.php
namespace AdminBundle\Entity;
use FOS\UserBundle\Model\User as BaseUser;
use Doctrine\ORM\Mapping as ORM;
/**
* @ORM\Entity
* @ORM\Table(name="fos_user")
*/
class User extends BaseUser {
/**
* @ORM\Id
* @ORM\Column(type="integer")
* @ORM\GeneratedValue(strategy="AUTO")
*/
protected $id;
/**
* @var string
*
* @ORM\Column(name="telephone", type="text", length=30, nullable=false)
*/
private $telephone;
/**
* Set nonotification
*
* @param text $telephone
* @return User
*/
public function settelephone($telephone) {
$this->telephone = $telephone;
return $this;
}
/**
* Get telephone
*
* @return text
*/
public function gettelephone() {
return $this->telephone;
}
/**
* @var string
*
* @ORM\Column(name="name", type="text", length=60, nullable=false)
*/
private $name;
/**
* Set nonotification
*
* @param text $name
* @return User
*/
public function setname($name) {
$this->name = $name;
return $this;
}
/**
* Get name
*
* @return text
*/
public function getname() {
return $this->name;
}
/**
* @var string
*
* @ORM\Column(name="surname", type="text", length=60, nullable=false)
*/
private $surname;
/**
* Set nonotification
*
* @param text $name
* @return User
*/
public function setsurname($surname) {
$this->surname = $surname;
return $this;
}
/**
* Get surname
*
* @return text
*/
public function getsurname() {
return $this->surname;
}
public function __construct() {
parent::__construct();
// your own logic
}
}
But I'm getting this error instead,
Attempted to call an undefined method named "get" of class "AdminBundle\Admin\UserAdmin". Did you mean to call e.g. "getActiveSubClass", "getActiveSubclassCode", "getBaseCodeRoute", "getBaseControllerName", "getBaseRouteName", "getBaseRoutePattern", "getBatchActions", "getBreadcrumbs", "getChild", "getChildren", "getClass", "getClassnameLabel", "getCode", "getConfigurationPool", "getCurrentChild", "getCurrentChildAdmin", "getDataSourceIterator", "getDatagrid", "getDatagridBuilder", "getExportFields", "getExportFormats", "getExtensions", "getFilterFieldDescription", "getFilterFieldDescriptions", "getFilterParameters", "getFilterTheme", "getForm", "getFormBuilder", "getFormContractor", "getFormFieldDescription", "getFormFieldDescriptions", "getFormGroups", "getFormTabs", "getFormTheme", "getIdParameter", "getLabel", "getLabelTranslatorStrategy", "getList", "getListBuilder", "getListFieldDescription", "getListFieldDescriptions", "getManagerType", "getMaxPageLinks", "getMaxPerPage", "getMenuFactory", "getModelManager", "getNewInstance", "getNormalizedIdentifier", "getObject", "getObjectIdentifier", "getObjectMetadata", "getParent", "getParentAssociationMapping", "getParentFieldDescription", "getPerPageOptions", "getPermissionsShow", "getPersistentParameter", "getPersistentParameters", "getRequest", "getRoot", "getRootCode", "getRouteBuilder", "getRouteGenerator", "getRouterIdParameter", "getRoutes", "getSecurityHandler", "getSecurityInformation", "getShow", "getShowBuilder", "getShowFieldDescription", "getShowFieldDescriptions", "getShowGroups", "getShowTabs", "getSideMenu", "getSubClasses", "getSubject", "getTemplate", "getTemplates", "getTranslationDomain", "getTranslationLabel", "getTranslator", "getUniqid", "getUrlsafeIdentifier" or "getValidator"?
It would be great help someone can look into it.