function Role::preSave
Overrides ConfigEntityBase::preSave
File
- 
              core/modules/ user/ src/ Entity/ Role.php, line 181 
Class
- Role
- Defines the user role entity class.
Namespace
Drupal\user\EntityCode
public function preSave(EntityStorageInterface $storage) {
  parent::preSave($storage);
  if (!isset($this->weight) && $roles = $storage->loadMultiple()) {
    // Set a role weight to make this new role last.
    $max = array_reduce($roles, function ($max, $role) {
      return $max > $role->weight ? $max : $role->weight;
    });
    $this->weight = $max + 1;
  }
  if (!$this->isSyncing() && $this->hasTrustedData()) {
    // Permissions are always ordered alphabetically to avoid conflicts in the
    // exported configuration. If the save is not trusted then the
    // configuration will be sorted by StorableConfigBase.
    sort($this->permissions);
  }
}Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.
