diff --git a/src/app/entity/controllers/ListTemplateController.php b/src/app/entity/controllers/ListTemplateController.php index a3da75d56371575b18d9d7cf05d592e82a094a8a..e9ac57e5e0fd0ab8ea00e3642866c0e307666bdf 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 33d1156340a33202304a1cdab59788d6aa5d98af..0d81c3b67b727b7cdb5a0721432b6e54ba6c56f0 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 9a9aeccdd4f708abb2b0e45ff2133c007120acf2..07139b9d63e29606df5ebd758f9f0eb80500f9c2 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")