From 00ad339b31496cf8b0daea631d616add392b4588 Mon Sep 17 00:00:00 2001 From: Guillaume Heurtier <guillaume.heurtier@maarch.org> Date: Thu, 9 Jan 2020 14:19:40 +0100 Subject: [PATCH] FEAT #12764 TIME 0:20 put admin parameter in query param --- src/app/entity/controllers/ListTemplateController.php | 6 ++++-- .../diffusionModel-administration.component.ts | 5 ++--- .../entity/entities-administration.component.ts | 2 +- 3 files changed, 7 insertions(+), 6 deletions(-) diff --git a/src/app/entity/controllers/ListTemplateController.php b/src/app/entity/controllers/ListTemplateController.php index a3da75d5637..e9ac57e5e0f 100755 --- a/src/app/entity/controllers/ListTemplateController.php +++ b/src/app/entity/controllers/ListTemplateController.php @@ -107,7 +107,9 @@ class ListTemplateController { $body = $request->getParsedBody(); - if (!empty($body['admin'])) { + $queryParams = $request->getQueryParams(); + + if (!empty($queryParams['admin'])) { if (!PrivilegeController::hasPrivilege(['privilegeId' => 'manage_entities', 'userId' => $GLOBALS['id']]) && !empty($body['entityId'])) { return $response->withStatus(403)->withJson(['errors' => 'Service forbidden']); } @@ -118,7 +120,7 @@ class ListTemplateController $owner = null; } else { - if (!empty($body['entityId'])) { + if (!empty($body['entityId']) || $body['type'] == 'diffusionList') { return $response->withStatus(403)->withJson(['errors' => 'Service forbidden']); } diff --git a/src/frontend/app/administration/diffusionModel/diffusionModel-administration.component.ts b/src/frontend/app/administration/diffusionModel/diffusionModel-administration.component.ts index 33d1156340a..0d81c3b67b7 100755 --- a/src/frontend/app/administration/diffusionModel/diffusionModel-administration.component.ts +++ b/src/frontend/app/administration/diffusionModel/diffusionModel-administration.component.ts @@ -158,8 +158,7 @@ export class DiffusionModelAdministrationComponent implements OnInit { "type": this.diffusionModel.type, "title": this.diffusionModel.title, "description": this.diffusionModel.description, - "items": Array(), - "admin": true + "items": Array() }; if (this.idCircuit == null) { this.diffusionModel.items.forEach((listModel: any, i: number) => { @@ -180,7 +179,7 @@ export class DiffusionModelAdministrationComponent implements OnInit { "sequence": listModel.sequence }); }); - this.http.post("../../rest/listTemplates", newDiffList) + this.http.post("../../rest/listTemplates?admin=true", newDiffList) .subscribe((data: any) => { this.idCircuit = data.id; this.router.navigate(["/administration/diffusionModels"]); diff --git a/src/frontend/app/administration/entity/entities-administration.component.ts b/src/frontend/app/administration/entity/entities-administration.component.ts index 9a9aeccdd4f..07139b9d63e 100755 --- a/src/frontend/app/administration/entity/entities-administration.component.ts +++ b/src/frontend/app/administration/entity/entities-administration.component.ts @@ -584,7 +584,7 @@ export class EntitiesAdministrationComponent implements OnInit { this.notify.error(err.error.errors); }); } else { - this.http.post("../../rest/listTemplates", newDiffList) + this.http.post("../../rest/listTemplates?admin=true", newDiffList) .subscribe((data: any) => { this.currentEntity.listTemplate.id = data.id; this.http.get("../../rest/listTemplates/types/entity_id/roles") -- GitLab