Code Coverage |
||||||||||
Classes and Traits |
Functions and Methods |
Lines |
||||||||
Total | |
100.00% |
1 / 1 |
|
100.00% |
1 / 1 |
CRAP | |
100.00% |
6 / 6 |
AddRoleUser | |
100.00% |
1 / 1 |
|
100.00% |
1 / 1 |
3 | |
100.00% |
6 / 6 |
execute | |
100.00% |
1 / 1 |
3 | |
100.00% |
6 / 6 |
<?php | |
/** | |
* @file | |
* Contains \Drupal\user\Plugin\Action\AddRoleUser. | |
*/ | |
namespace Drupal\user\Plugin\Action; | |
/** | |
* Adds a role to a user. | |
* | |
* @Action( | |
* id = "user_add_role_action", | |
* label = @Translation("Add a role to the selected users"), | |
* type = "user" | |
* ) | |
*/ | |
class AddRoleUser extends ChangeUserRoleBase { | |
/** | |
* {@inheritdoc} | |
*/ | |
public function execute($account = NULL) { | |
$rid = $this->configuration['rid']; | |
// Skip adding the role to the user if they already have it. | |
if ($account !== FALSE && !$account->hasRole($rid)) { | |
// For efficiency manually save the original account before applying | |
// any changes. | |
$account->original = clone $account; | |
$account->addRole($rid); | |
$account->save(); | |
} | |
} | |
} |