/**
  * Load initial properties from this user.
  * @param USER $obj
  */
 public function load_from_object($obj)
 {
     parent::load_from_object($obj);
     $this->set_value('name', $obj->title);
     $permissions = $obj->permissions();
     $this->set_value('use_defaults', !$permissions->exists());
     if (!$permissions->exists()) {
         foreach ($this->_privilege_fields as &$field) {
             $field->enabled = false;
         }
     }
     foreach ($this->content_groups as $group) {
         /** @type $map */
         foreach ($group->maps as $map) {
             $this->set_value($map->id(), $permissions->value_for($map->set_name, $map->type));
         }
     }
     foreach ($this->global_groups as $group) {
         foreach ($group->maps as $map) {
             $this->set_value($map->id(), $permissions->value_for($map->set_name, $map->type));
         }
     }
 }
 /**
  * Load initial properties from these permissions.
  * @param FOLDER_PERMISSIONS $obj
  */
 public function load_from_object($obj)
 {
     parent::load_from_object($obj);
     $this->set_value('id', $obj->folder_id);
     foreach ($this->groups as $group) {
         foreach ($group->maps as $map) {
             $this->set_value($map->id(), $obj->is_allowed($map->set_name, $map->type));
         }
     }
 }