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