Skip to content

Commit

Permalink
DIS-13
Browse files Browse the repository at this point in the history
Correct saving additional locations to administer for Local Admins
  • Loading branch information
mdnoble73 committed Jan 30, 2025
1 parent 9397395 commit a6b3875
Showing 1 changed file with 11 additions and 7 deletions.
18 changes: 11 additions & 7 deletions code/web/sys/Account/User.php
Original file line number Diff line number Diff line change
Expand Up @@ -544,20 +544,22 @@ function getAdditionalAdministrationLocations(): array {
$this->_additionalAdministrationLocations = [];
require_once ROOT_DIR . '/sys/Administration/AdministrationLocation.php';

$locationsList = Location::getLocationList(false);
$administrationLocation = new AdministrationLocation();
$administrationLocation->userId = $this->id;
$administrationLocation->find();
while ($administrationLocation->fetch()) {
$this->_additionalAdministrationLocations[$administrationLocation->locationId] = $locationsList[$administrationLocation->locationId];
if (!empty($this->id)) {
$locationsList = Location::getLocationList(false);
$administrationLocation = new AdministrationLocation();
$administrationLocation->userId = $this->id;
$administrationLocation->find();
while ($administrationLocation->fetch()) {
$this->_additionalAdministrationLocations[$administrationLocation->locationId] = $locationsList[$administrationLocation->locationId];
}
}
}

return $this->_additionalAdministrationLocations;
}

function saveAdditionalAdministrationLocations(): void {
if (isset($this->id) && isset($this->_additionalAdministrationLocations) && is_array($this->_additionalAdministrationLocations)) {
if (!empty($this->id) && isset($this->_additionalAdministrationLocations) && is_array($this->_additionalAdministrationLocations)) {
require_once ROOT_DIR . '/sys/Administration/AdministrationLocation.php';
$userAdministrationLocations = new AdministrationLocation();
$userAdministrationLocations->userId = $this->id;
Expand Down Expand Up @@ -1163,6 +1165,8 @@ function insert($context = '') : int {
if ($context != 'development') {
$this->saveRoles();
}
$this->saveAdditionalAdministrationLocations();

$this->clearCache();
return $ret;
}
Expand Down

0 comments on commit a6b3875

Please sign in to comment.