From 0096606765774c1bc49065f39106e6464367b499 Mon Sep 17 00:00:00 2001
From: Guillaume Heurtier <guillaume.heurtier@maarch.org>
Date: Mon, 7 Sep 2020 17:49:17 +0200
Subject: [PATCH] FEAT #14004 TIME 0:20 save reason other in return_reason

---
 migration/20.10/2010.sql                              |  1 -
 sql/structure.sql                                     |  1 -
 .../action/controllers/PreProcessActionController.php |  1 +
 .../controllers/RegisteredMailController.php          |  2 +-
 .../acknowledgement-reception.component.html          | 11 +----------
 .../acknowledgement-reception.component.ts            |  7 ++++---
 6 files changed, 7 insertions(+), 16 deletions(-)

diff --git a/migration/20.10/2010.sql b/migration/20.10/2010.sql
index 02388bccd1b..72f05d45611 100755
--- a/migration/20.10/2010.sql
+++ b/migration/20.10/2010.sql
@@ -244,7 +244,6 @@ CREATE TABLE IF NOT EXISTS registered_mail_resources (
     deposit_id INTEGER,
     received_date TIMESTAMP WITHOUT TIME ZONE,
     return_reason CHARACTER VARYING(256),
-    return_reason_other TEXT,
     CONSTRAINT registered_mail_resources_pkey PRIMARY KEY (id),
     CONSTRAINT registered_mail_resources_unique_key UNIQUE (res_id)
 );
diff --git a/sql/structure.sql b/sql/structure.sql
index 62f3e3d4c05..8ccc6a0bc97 100755
--- a/sql/structure.sql
+++ b/sql/structure.sql
@@ -1459,7 +1459,6 @@ CREATE TABLE IF NOT EXISTS registered_mail_resources (
     deposit_id INTEGER,
     received_date TIMESTAMP WITHOUT TIME ZONE,
     return_reason CHARACTER VARYING(256),
-    return_reason_other TEXT,
     CONSTRAINT registered_mail_resources_pkey PRIMARY KEY (id),
     CONSTRAINT registered_mail_resources_unique_key UNIQUE (res_id)
 );
diff --git a/src/app/action/controllers/PreProcessActionController.php b/src/app/action/controllers/PreProcessActionController.php
index 503283cacc3..6fd2f311eb3 100755
--- a/src/app/action/controllers/PreProcessActionController.php
+++ b/src/app/action/controllers/PreProcessActionController.php
@@ -1616,6 +1616,7 @@ class PreProcessActionController
                 $mail = ResModel::getById(['resId' => $resource, 'select' => ['alt_identifier']]);
                 if (empty($mail)) {
                     $cannotGenerate[] = _ID . ' ' . $resource . ' ' . _NOT_EXISTS;
+                    continue;
                 }
                 $cannotGenerate[] = $mail['alt_identifier'] . ' - ' . _NOT_REGISTERED_MAIL;
                 continue;
diff --git a/src/app/registeredMail/controllers/RegisteredMailController.php b/src/app/registeredMail/controllers/RegisteredMailController.php
index 74202a10cd6..8b31be2b00f 100644
--- a/src/app/registeredMail/controllers/RegisteredMailController.php
+++ b/src/app/registeredMail/controllers/RegisteredMailController.php
@@ -205,7 +205,7 @@ class RegisteredMailController
                 return ['errors' => "Body receivedDate is not a valid date"];
             }
 
-            $set = ['received_date' => $body['receivedDate'], 'return_reason' => $body['returnReason'], 'return_reason_other' => $body['returnReasonOther'] ?? null];
+            $set = ['received_date' => $body['receivedDate'], 'return_reason' => $body['returnReason']];
             $status = ParameterModel::getById(['select' => ['param_value_string'], 'id' => 'registeredMailNotDistributedStatus']);
             $status = $status['param_value_string'];
         }
diff --git a/src/frontend/app/registeredMails/acknowledgement-reception/acknowledgement-reception.component.html b/src/frontend/app/registeredMails/acknowledgement-reception/acknowledgement-reception.component.html
index de52197b217..bc5fa0f7db5 100644
--- a/src/frontend/app/registeredMails/acknowledgement-reception/acknowledgement-reception.component.html
+++ b/src/frontend/app/registeredMails/acknowledgement-reception/acknowledgement-reception.component.html
@@ -34,11 +34,6 @@
                                 <mat-datepicker-toggle matSuffix [for]="picker" *ngIf="!receivedDate">
                                 </mat-datepicker-toggle>
                                 <mat-datepicker #picker></mat-datepicker>
-                                <button mat-button color="warn" matSuffix mat-icon-button *ngIf="receivedDate"
-                                        (click)="$event.stopPropagation();receivedDate = null;" [title]="this.translate.instant('lang.eraseValue')">
-                                    <mat-icon color="warn" class="fa fa-calendar-times">
-                                    </mat-icon>
-                                </button>
                             </mat-form-field>
 
                             <mat-form-field *ngIf="type === 'notDistributed'" >
@@ -64,7 +59,7 @@
                         </div>
                     </form>
 
-                    <mat-table #table [dataSource]="dataSource">
+                    <mat-table [dataSource]="dataSource">
                         <ng-container matColumnDef="type">
                             <mat-header-cell *matHeaderCellDef>{{'lang.returnType' | translate}}</mat-header-cell>
                             <mat-cell *matCellDef="let element">
@@ -83,10 +78,6 @@
                             <mat-header-cell *matHeaderCellDef>{{'lang.returnReason' | translate}}</mat-header-cell>
                             <mat-cell *matCellDef="let element">{{element.returnReason}} </mat-cell>
                         </ng-container>
-                        <ng-container matColumnDef="returnReasonOther">
-                            <mat-header-cell *matHeaderCellDef>{{'lang.others' | translate}}</mat-header-cell>
-                            <mat-cell *matCellDef="let element">{{element.returnReasonOther}} </mat-cell>
-                        </ng-container>
 
                         <mat-header-row *matHeaderRowDef="displayedColumns"></mat-header-row>
                         <mat-row *matRowDef="let row; columns: displayedColumns;"></mat-row>
diff --git a/src/frontend/app/registeredMails/acknowledgement-reception/acknowledgement-reception.component.ts b/src/frontend/app/registeredMails/acknowledgement-reception/acknowledgement-reception.component.ts
index 376503e3d29..3497f460f21 100644
--- a/src/frontend/app/registeredMails/acknowledgement-reception/acknowledgement-reception.component.ts
+++ b/src/frontend/app/registeredMails/acknowledgement-reception/acknowledgement-reception.component.ts
@@ -31,7 +31,7 @@ export class AcknowledgementReceptionComponent implements OnInit {
     adminFormGroup: FormGroup;
 
     dataSource: MatTableDataSource<any>;
-    displayedColumns = ['type', 'number', 'receivedDate', 'returnReason', 'returnReasonOther'];
+    displayedColumns = ['type', 'number', 'receivedDate', 'returnReason'];
 
     returnReasons = [
         this.translate.instant('lang.returnReasonCannotAccess'),
@@ -79,8 +79,7 @@ export class AcknowledgementReceptionComponent implements OnInit {
             type: this.type,
             number: this.number,
             receivedDate: this.functions.formatDateObjectToDateString(this.receivedDate),
-            returnReason: this.reason,
-            returnReasonOther: this.reasonOther
+            returnReason: this.reason
         };
 
         if (this.functions.empty(this.number)) {
@@ -99,6 +98,8 @@ export class AcknowledgementReceptionComponent implements OnInit {
             if (this.reason === this.translate.instant('lang.others') && this.functions.empty(this.reasonOther)) {
                 this.notify.error(this.translate.instant('lang.fieldsNotValid'));
                 return;
+            } else if (this.reason === this.translate.instant('lang.others') && !this.functions.empty(this.reasonOther)) {
+                data.returnReason = this.reasonOther;
             }
         }
 
-- 
GitLab