Tweak how User::$Benefits getter

This commit is contained in:
Alex Cabal 2024-11-25 13:56:31 -06:00
parent 84f4b2b0bf
commit e6d4ea1ab6

View file

@ -101,6 +101,7 @@ class User{
protected function GetBenefits(): Benefits{
if(!isset($this->_Benefits)){
if(isset($this->UserId)){
$result = Db::Query('
SELECT *
from Benefits
@ -116,6 +117,10 @@ class User{
$this->_IsRegistered = true;
}
}
else{
$this->_Benefits = new Benefits();
}
}
return $this->_Benefits;
}
@ -167,12 +172,6 @@ class User{
$this->PasswordHash = null;
}
if(!isset($this->_Benefits)){
// Set this for validation purposes.
// Skip the accessor because it will attempt to use `$this->UserId` which may not be set yet.
$this->_Benefits = new Benefits();
}
// Some benefits require this `User` to have a password set.
if($this->Benefits->RequiresPassword && $this->PasswordHash === null){
$error->Add(new Exceptions\BenefitsRequirePasswordException());