From 0eea7a70b10454fbc7c41b4d5be976f5357ede49 Mon Sep 17 00:00:00 2001
From: "florian.azizian" <florian.azizian@maarch.org>
Date: Mon, 17 Feb 2020 18:00:39 +0100
Subject: [PATCH] FEAT #13049 TIME 0:15 fix close with mandatory fields

---
 src/app/action/controllers/PreProcessActionController.php   | 2 +-
 src/app/group/controllers/GroupController.php               | 2 +-
 .../close-mail-action/close-mail-action.component.html      | 6 +++---
 .../close-mail-action/close-mail-action.component.ts        | 4 ++--
 4 files changed, 7 insertions(+), 7 deletions(-)

diff --git a/src/app/action/controllers/PreProcessActionController.php b/src/app/action/controllers/PreProcessActionController.php
index 5b3ea6e48c7..41c07512a6a 100755
--- a/src/app/action/controllers/PreProcessActionController.php
+++ b/src/app/action/controllers/PreProcessActionController.php
@@ -1418,7 +1418,7 @@ class PreProcessActionController
             }
         }
 
-        return $response->withJson(['emptyFields' => $emptyFields, 'canClose' => $canClose]);
+        return $response->withJson(['errors' => $emptyFields, 'success' => $canClose]);
     }
 
     private static function getNonLockedResources(array $args)
diff --git a/src/app/group/controllers/GroupController.php b/src/app/group/controllers/GroupController.php
index 36f5ee09679..09dfac9aec7 100755
--- a/src/app/group/controllers/GroupController.php
+++ b/src/app/group/controllers/GroupController.php
@@ -17,7 +17,7 @@ use User\models\UserModel;
 
 class GroupController
 {
-    const INDEXING_ACTIONS = ['confirmAction', 'noConfirmAction', 'closeMailAction', 'sendSignatureBookAction'];
+    const INDEXING_ACTIONS = ['confirmAction', 'noConfirmAction', 'closeMailAction', 'sendSignatureBookAction', 'closeAndIndexAction'];
 
     public function get(Request $request, Response $response)
     {
diff --git a/src/frontend/app/actions/close-mail-action/close-mail-action.component.html b/src/frontend/app/actions/close-mail-action/close-mail-action.component.html
index 1f2c1c5b23e..a89e6194f79 100644
--- a/src/frontend/app/actions/close-mail-action/close-mail-action.component.html
+++ b/src/frontend/app/actions/close-mail-action/close-mail-action.component.html
@@ -5,7 +5,7 @@
     </div>
     <div class="row">
         <div class="col-md-12" *ngIf="emptyMandatoryFields.length > 0">
-            <div *ngIf="data.resIds.length > 0" class="alert-message alert-message-danger mailList" role="alert">
+            <div *ngIf="data.resIds.length > 1" class="alert-message alert-message-danger mailList" role="alert">
                 <p>{{lang.cannotCloseMails}} :</p>
                 <ul>
                     <li *ngFor="let emptyFields of emptyMandatoryFields">
@@ -13,11 +13,11 @@
                     </li>
                 </ul>
             </div>
-            <div *ngIf="data.resIds.length == 0" class="alert-message alert-message-danger mailList" role="alert">
+            <div *ngIf="data.resIds.length == 0 || data.resIds.length == 1" class="alert-message alert-message-danger mailList" role="alert">
                 <p>{{lang.cannotCloseThisMail}} : {{emptyMandatoryFields[0].fields}}</p>
             </div>
         </div>
-        <ng-container *ngIf="data.resIds.length === 0 || canCloseResIds.length > 0">
+        <ng-container *ngIf="data.resIds.length === 0 && canCloseResIds.length > 0">
             <div class="col-md-12">
                 {{lang.makeActionOn}}
                 <b *ngIf="data.resIds.length === 0" color="primary" class="highlight">{{lang.currentIndexingMail}}</b>
diff --git a/src/frontend/app/actions/close-mail-action/close-mail-action.component.ts b/src/frontend/app/actions/close-mail-action/close-mail-action.component.ts
index 77728fcfe0b..c7dd9e11b63 100644
--- a/src/frontend/app/actions/close-mail-action/close-mail-action.component.ts
+++ b/src/frontend/app/actions/close-mail-action/close-mail-action.component.ts
@@ -75,8 +75,8 @@ export class CloseMailActionComponent implements OnInit {
     checkClose() {
         this.http.post(`../../rest/resourcesList/users/${this.data.userId}/groups/${this.data.groupId}/baskets/${this.data.basketId}/actions/${this.data.action.id}/checkCloseWithFieldsAction`, { resources: this.data.resIds }).pipe(
             tap((data: any) => {
-                this.emptyMandatoryFields = data.emptyFields;
-                this.canCloseResIds = data.canClose;
+                this.emptyMandatoryFields = data.errors;
+                this.canCloseResIds = data.success;
             }),
             finalize(() => this.loading = false),
             catchError((err: any) => {
-- 
GitLab