mirror of
https://github.com/Part-DB/Part-DB-server.git
synced 2025-07-08 01:14:34 +02:00
Show a warning flash message, if permissions were corrected and missing permissions were set
Related to issue #435
This commit is contained in:
parent
17000da97e
commit
84c111ac7c
5 changed files with 1468 additions and 1429 deletions
|
@ -230,12 +230,16 @@ class PermissionManager
|
|||
|
||||
/**
|
||||
* This functions sets all operations mentioned in the alsoSet value of a permission, so that the structure is always valid.
|
||||
* This function should be called after every setPermission() call.
|
||||
* @return bool true if values were changed/corrected, false if not
|
||||
*/
|
||||
public function ensureCorrectSetOperations(HasPermissionsInterface $user): void
|
||||
public function ensureCorrectSetOperations(HasPermissionsInterface $user): bool
|
||||
{
|
||||
//If we have changed anything on the permission structure due to the alsoSet value, this becomes true, so we
|
||||
//redo the whole process, to ensure that all alsoSet values are set recursively.
|
||||
|
||||
$return_value = false;
|
||||
|
||||
do {
|
||||
$anything_changed = false; //Reset the variable for the next iteration
|
||||
|
||||
|
@ -254,12 +258,15 @@ class PermissionManager
|
|||
$this->setPermission($user, $set_perm, $set_op, true);
|
||||
//Mark the change, so we redo the whole process
|
||||
$anything_changed = true;
|
||||
$return_value = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
} while($anything_changed);
|
||||
|
||||
return $return_value;
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue