From 5cb8a490b3e51a8ece26ab50696ceef9b26b1e02 Mon Sep 17 00:00:00 2001
From: Damien <damien.burel@maarch.org>
Date: Tue, 19 May 2020 15:36:58 +0200
Subject: [PATCH] FIX Refactor canUpdate to canUpdateData

---
 src/app/basket/controllers/BasketController.php           | 2 +-
 src/app/group/controllers/PrivilegeController.php         | 8 ++++----
 .../resource/controllers/ResourceControlController.php    | 2 +-
 .../basket/list/list-administration.component.html        | 4 ++--
 .../basket/list/list-administration.component.ts          | 4 ++--
 src/frontend/app/process/process.component.ts             | 2 +-
 test/unitTests/app/resource/ResControllerTest.php         | 2 +-
 7 files changed, 12 insertions(+), 12 deletions(-)

diff --git a/src/app/basket/controllers/BasketController.php b/src/app/basket/controllers/BasketController.php
index 06976ea57b6..ce6189d49cd 100755
--- a/src/app/basket/controllers/BasketController.php
+++ b/src/app/basket/controllers/BasketController.php
@@ -494,7 +494,7 @@ class BasketController
         $data['list_display'] = json_encode($data['list_display']);
         if ($data['list_event'] == 'processDocument') {
             $listEventData = [
-                'canUpdate'         => !empty($data['list_event_data']['canUpdate']),
+                'canUpdateData'     => !empty($data['list_event_data']['canUpdateData']),
                 'canUpdateModel'    => !empty($data['list_event_data']['canUpdateModel']),
                 'defaultTab'        => $data['list_event_data']['defaultTab'] ?? 'dashboard'
             ];
diff --git a/src/app/group/controllers/PrivilegeController.php b/src/app/group/controllers/PrivilegeController.php
index 03057730d69..98b9f0438e1 100644
--- a/src/app/group/controllers/PrivilegeController.php
+++ b/src/app/group/controllers/PrivilegeController.php
@@ -295,8 +295,8 @@ class PrivilegeController
 
             $where = ['group_id in (?)', 'list_event = ?'];
             $data = [$groups, 'processDocument'];
-            if (!empty($args['canUpdate'])) {
-                $where[] = "list_event_data->>'canUpdate' = ?";
+            if (!empty($args['canUpdateData'])) {
+                $where[] = "list_event_data->>'canUpdateData' = ?";
                 $data[] = 'true';
             }
             if (!empty($args['canUpdateModel'])) {
@@ -322,8 +322,8 @@ class PrivilegeController
         foreach ($assignedBaskets as $basket) {
             $where = ['basket_id = ?', 'group_id = ?', 'list_event = ?'];
             $data = [$basket['basket_id'], $basket['oldGroupId'], 'processDocument'];
-            if (!empty($args['canUpdate'])) {
-                $where[] = "list_event_data->>'canUpdate' = ?";
+            if (!empty($args['canUpdateData'])) {
+                $where[] = "list_event_data->>'canUpdateData' = ?";
                 $data[] = 'true';
             }
             if (!empty($args['canUpdateModel'])) {
diff --git a/src/app/resource/controllers/ResourceControlController.php b/src/app/resource/controllers/ResourceControlController.php
index 78f1be26bbb..7facefdcc8f 100644
--- a/src/app/resource/controllers/ResourceControlController.php
+++ b/src/app/resource/controllers/ResourceControlController.php
@@ -135,7 +135,7 @@ class ResourceControlController
         }
 
         if (!empty($body['modelId']) && $resource['model_id'] != $body['modelId']) {
-            if (!PrivilegeController::isResourceInProcess(['userId' => $GLOBALS['id'], 'resId' => $args['resId'], 'canUpdate' => true, 'canUpdateModel' => true])) {
+            if (!PrivilegeController::isResourceInProcess(['userId' => $GLOBALS['id'], 'resId' => $args['resId'], 'canUpdateData' => true, 'canUpdateModel' => true])) {
                 return ['errors' => 'Model can not be modified'];
             }
             $indexingModel = IndexingModelModel::getById(['id' => $body['modelId'], 'select' => ['master', 'enabled']]);
diff --git a/src/frontend/app/administration/basket/list/list-administration.component.html b/src/frontend/app/administration/basket/list/list-administration.component.html
index 8f5ef96cc72..c79f6b29b68 100644
--- a/src/frontend/app/administration/basket/list/list-administration.component.html
+++ b/src/frontend/app/administration/basket/list/list-administration.component.html
@@ -19,10 +19,10 @@
         </mat-select>
     </mat-form-field>
     <div style="padding: 10px;">
-        <mat-slide-toggle color="primary" [(ngModel)]="selectedProcessTool.canUpdate" (change)="toggleCanUpdate($event.checked)">{{lang.canUpdateData}}</mat-slide-toggle>
+        <mat-slide-toggle color="primary" [(ngModel)]="selectedProcessTool.canUpdateData" (change)="toggleCanUpdate($event.checked)">{{lang.canUpdateData}}</mat-slide-toggle>
     </div>
     <div style="padding: 10px;">
-        <mat-slide-toggle color="primary" [(ngModel)]="selectedProcessTool.canUpdateModel" [disabled]="!selectedProcessTool.canUpdate">{{lang.canUpdateIndexingModel}}</mat-slide-toggle>
+        <mat-slide-toggle color="primary" [(ngModel)]="selectedProcessTool.canUpdateModel" [disabled]="!selectedProcessTool.canUpdateData">{{lang.canUpdateIndexingModel}}</mat-slide-toggle>
     </div> 
 </div>
 <hr />
diff --git a/src/frontend/app/administration/basket/list/list-administration.component.ts b/src/frontend/app/administration/basket/list/list-administration.component.ts
index eae76efd0a9..10f85c5c0e3 100644
--- a/src/frontend/app/administration/basket/list/list-administration.component.ts
+++ b/src/frontend/app/administration/basket/list/list-administration.component.ts
@@ -212,7 +212,7 @@ export class ListAdministrationComponent implements OnInit {
     ];
     selectedProcessTool: any = {
         defaultTab: null,
-        canUpdate: false,
+        canUpdateData: false,
         canUpdateModel: false,
     };
     selectedProcessToolClone: string = null;
@@ -242,7 +242,7 @@ export class ListAdministrationComponent implements OnInit {
 
         if (this.basketGroup.list_event === 'processDocument') {
             this.selectedProcessTool.defaultTab = this.basketGroup.list_event_data === null ? 'dashboard' : this.basketGroup.list_event_data.defaultTab;
-            this.selectedProcessTool.canUpdate = this.basketGroup.list_event_data === null ? false : this.basketGroup.list_event_data.canUpdate;
+            this.selectedProcessTool.canUpdateData = this.basketGroup.list_event_data === null ? false : this.basketGroup.list_event_data.canUpdateData;
             this.selectedProcessTool.canUpdateModel = this.basketGroup.list_event_data === null ? false : this.basketGroup.list_event_data.canUpdateModel;
         }
 
diff --git a/src/frontend/app/process/process.component.ts b/src/frontend/app/process/process.component.ts
index 18b41817949..4639c885f92 100755
--- a/src/frontend/app/process/process.component.ts
+++ b/src/frontend/app/process/process.component.ts
@@ -362,7 +362,7 @@ export class ProcessComponent implements OnInit, OnDestroy {
                         if (this.isToolEnabled(data.listEventData.defaultTab)) {
                             this.currentTool = data.listEventData.defaultTab;
                         }
-                        this.canEditData = data.listEventData.canUpdate;
+                        this.canEditData = data.listEventData.canUpdateData;
                         this.canChangeModel = data.listEventData.canUpdateModel;
                     }
                 }),
diff --git a/test/unitTests/app/resource/ResControllerTest.php b/test/unitTests/app/resource/ResControllerTest.php
index 39616a5785c..1d9cbda705f 100755
--- a/test/unitTests/app/resource/ResControllerTest.php
+++ b/test/unitTests/app/resource/ResControllerTest.php
@@ -666,7 +666,7 @@ class ResControllerTest extends TestCase
         $this->assertSame(204, $response->getStatusCode());
 
         \Basket\models\GroupBasketModel::update([
-            'set'   => ['list_event_data' => '{"canUpdate": true, "defaultTab": "info", "canUpdateModel": true}'],
+            'set'   => ['list_event_data' => '{"canUpdateData": true, "defaultTab": "info", "canUpdateModel": true}'],
             'where' => ['group_id = ?', 'basket_id = ?'],
             'data'  => ['COURRIER', 'QualificationBasket']
         ]);
-- 
GitLab