本文整理汇总了PHP中Oro\Bundle\UserBundle\Entity\User::addRole方法的典型用法代码示例。如果您正苦于以下问题:PHP User::addRole方法的具体用法?PHP User::addRole怎么用?PHP User::addRole使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Oro\Bundle\UserBundle\Entity\User
的用法示例。
在下文中一共展示了User::addRole方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: updateUser
/**
* @param User $user
* @param array $options
* @throws InvalidArgumentException
*/
protected function updateUser(User $user, $options)
{
if (!empty($options['user-role'])) {
$role = $this->getEntityManager()->getRepository('OroUserBundle:Role')->findOneBy(array('role' => $options['user-role']));
if (!$role) {
throw new InvalidArgumentException('Invalid Role');
}
$user->addRole($role);
}
if (!empty($options['user-business-unit'])) {
$businessUnit = $this->getEntityManager()->getRepository('OroOrganizationBundle:BusinessUnit')->findOneBy(array('name' => $options['user-business-unit']));
if (!$businessUnit) {
throw new InvalidArgumentException('Invalid Business Unit');
}
$user->setOwner($businessUnit)->addBusinessUnit($businessUnit);
}
if (!empty($options['user-name'])) {
$user->setUsername($options['user-name']);
}
if (!empty($options['user-password'])) {
$user->setPlainPassword($options['user-password']);
}
$properties = ['email', 'firstname', 'lastname'];
foreach ($properties as $property) {
if (!empty($options['user-' . $property])) {
$user->{'set' . str_replace('-', '', $property)}($options['user-' . $property]);
}
}
$this->getUserManager()->updateUser($user);
}
示例2: load
/**
* {@inheritdoc}
*/
public function load(ObjectManager $manager)
{
/** @var UserManager $userManager */
$userManager = $this->container->get('oro_user.manager');
$role = $manager->getRepository('OroUserBundle:Role')->findOneByRole('ROLE_ADMINISTRATOR');
$group = $manager->getRepository('OroUserBundle:Group')->findOneByName('Administrators');
$unit = $manager->getRepository('OroOrganizationBundle:BusinessUnit')->findOneByName('Main');
$organization = $manager->getRepository('OroOrganizationBundle:Organization')->getFirst();
$user = new User();
$user->setUsername('owner_User');
$user->addGroup($group);
$user->addRole($role);
$user->addBusinessUnit($unit);
$user->setFirstname('Test Owner FirstName');
$user->setLastname('Test Owner LastName');
$user->setEmail('owner@example.com');
$user->setOwner($unit);
$user->addGroup($group);
$user->setPlainPassword('test password');
$user->setSalt(md5(mt_rand(1, 222)));
$user->setOrganization($organization);
$userManager->updateUser($user);
$this->setReference('owner_user', $user);
$manager->flush();
}
示例3: testRemoveRoleWithObjectArgument
public function testRemoveRoleWithObjectArgument()
{
$user = new User();
$role = new Role(User::ROLE_DEFAULT);
$user->addRole($role);
$this->assertTrue($user->hasRole($role));
$user->removeRole($role);
$this->assertFalse($user->hasRole($role));
}
示例4: setRole
/**
* @param User $user
* @param array $options
* @throws InvalidArgumentException
* @return $this
*/
protected function setRole(User $user, $options)
{
if (!empty($options['user-role'])) {
$role = $this->getEntityManager()->getRepository('OroUserBundle:Role')->findOneBy(['role' => $options['user-role']]);
if (!$role) {
throw new InvalidArgumentException('Invalid Role');
}
$user->addRole($role);
}
return $this;
}