mirror of
https://github.com/Part-DB/Part-DB-server.git
synced 2025-06-22 09:53:35 +02:00
Automatically upgrade permission version schema in the background when needed on a request.
This commit is contained in:
parent
0e56f11b6b
commit
7aa88a8dbd
6 changed files with 130 additions and 5 deletions
|
@ -35,6 +35,7 @@ use App\Services\ImportExportSystem\EntityExporter;
|
|||
use App\Services\ImportExportSystem\EntityImporter;
|
||||
use App\Services\Trees\StructuralElementRecursionHelper;
|
||||
use App\Services\UserSystem\PermissionPresetsHelper;
|
||||
use App\Services\UserSystem\PermissionSchemaUpdater;
|
||||
use Doctrine\ORM\EntityManagerInterface;
|
||||
use Exception;
|
||||
use InvalidArgumentException;
|
||||
|
@ -82,10 +83,12 @@ class UserController extends AdminPages\BaseAdminController
|
|||
*
|
||||
* @throws Exception
|
||||
*/
|
||||
public function edit(User $entity, Request $request, EntityManagerInterface $em, PermissionPresetsHelper $permissionPresetsHelper, ?string $timestamp = null): Response
|
||||
public function edit(User $entity, Request $request, EntityManagerInterface $em, PermissionPresetsHelper $permissionPresetsHelper, PermissionSchemaUpdater $permissionSchemaUpdater, ?string $timestamp = null): Response
|
||||
{
|
||||
//Handle 2FA disabling
|
||||
//Do an upgrade of the permission schema if needed (so the user can see the permissions a user get on next request (even if it was not done yet)
|
||||
$permissionSchemaUpdater->userUpgradeSchemaRecursively($entity);
|
||||
|
||||
//Handle 2FA disabling
|
||||
if ($request->request->has('reset_2fa')) {
|
||||
//Check if the admin has the needed permissions
|
||||
$this->denyAccessUnlessGranted('set_password', $entity);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue