From 2965f74147a284df8661dbab2f6a15b5fbd05e10 Mon Sep 17 00:00:00 2001
From: Alex ORLUC <alex.orluc@maarch.org>
Date: Wed, 13 Jan 2021 15:39:58 +0000
Subject: [PATCH] FEAT #15781 TIME 1:35 fix contact parameters order

(cherry picked from commit e16e01d2276c558d13bd2c42bfafe976a95ce8b1)
---
 src/app/contact/controllers/ContactController.php   |  6 +++---
 ...ontacts-parameters-administration.component.html |  5 ++---
 .../contacts-parameters-administration.component.ts | 13 ++++++++++---
 3 files changed, 15 insertions(+), 9 deletions(-)

diff --git a/src/app/contact/controllers/ContactController.php b/src/app/contact/controllers/ContactController.php
index 1ed9db09a66..1634364e928 100755
--- a/src/app/contact/controllers/ContactController.php
+++ b/src/app/contact/controllers/ContactController.php
@@ -562,9 +562,9 @@ class ContactController
         $contactsFilling = ContactFillingModel::get();
         $contactParameters = ContactParameterModel::get([
             'select' => ['*'],
-            'orderBy' => ['identifier=\'civility\' desc, identifier=\'firstname\' desc, identifier=\'lastname\' desc, identifier=\'company\' desc, identifier=\'department\' desc, 
-            identifier=\'function\' desc, identifier=\'address_number\' desc, identifier=\'address_street\' desc, identifier=\'address_additional1\' desc, identifier=\'address_additional2\' desc, 
-            identifier=\'address_postcode\' desc, identifier=\'address_town\' desc, identifier=\'address_country\' desc, identifier=\'email\' desc, identifier=\'phone\' desc, identifier=\'notes\' desc']
+            'orderBy' => ['identifier=\'civility\' desc, identifier=\'firstname\' desc, identifier=\'lastname\' desc,identifier=\'function\' desc, identifier=\'company\' desc, identifier=\'department\' desc,
+            identifier=\'email\' desc,  identifier=\'phone\' desc, identifier=\'addressAdditional1\' desc, identifier=\'addressNumber\' desc, identifier=\'addressStreet\' desc,
+            identifier=\'addressAdditional2\' desc, identifier=\'addressPostcode\' desc, identifier=\'addressTown\' desc, identifier=\'addressCountry\' desc, identifier=\'notes\' desc']
         ]);
         foreach ($contactParameters as $key => $parameter) {
             if (strpos($parameter['identifier'], 'contactCustomField_') !== false) {
diff --git a/src/frontend/app/administration/contact/parameter/contacts-parameters-administration.component.html b/src/frontend/app/administration/contact/parameter/contacts-parameters-administration.component.html
index 52707f84543..71a308a07ea 100755
--- a/src/frontend/app/administration/contact/parameter/contacts-parameters-administration.component.html
+++ b/src/frontend/app/administration/contact/parameter/contacts-parameters-administration.component.html
@@ -94,11 +94,10 @@
                         </div>
                     </div>
                     <mat-table #table [dataSource]="dataSource" matSort>
-                        <ng-container matColumnDef="identifier">
+                        <ng-container matColumnDef="label">
                             <mat-header-cell *matHeaderCellDef mat-sort-header>{{'lang.label' | translate}}</mat-header-cell>
                             <mat-cell *matCellDef="let element">
-                                <div *ngIf="!element.label">{{'lang.contactsParameters_' + element.identifier | translate}}</div>
-                                <div *ngIf="element.label">{{element.label}}</div>
+                                <div>{{element.label}}</div>
                             </mat-cell>
                         </ng-container>
                         <ng-container matColumnDef="mandatory">
diff --git a/src/frontend/app/administration/contact/parameter/contacts-parameters-administration.component.ts b/src/frontend/app/administration/contact/parameter/contacts-parameters-administration.component.ts
index bea813f1736..959806f9940 100644
--- a/src/frontend/app/administration/contact/parameter/contacts-parameters-administration.component.ts
+++ b/src/frontend/app/administration/contact/parameter/contacts-parameters-administration.component.ts
@@ -7,6 +7,7 @@ import { AppService } from '@service/app.service';
 import { MatPaginator } from '@angular/material/paginator';
 import { MatSort } from '@angular/material/sort';
 import { MatTableDataSource } from '@angular/material/table';
+import { FunctionsService } from '@service/functions.service';
 
 @Component({
     templateUrl: 'contacts-parameters-administration.component.html',
@@ -16,7 +17,6 @@ export class ContactsParametersAdministrationComponent implements OnInit {
 
     @ViewChild('adminMenuTemplate', { static: true }) adminMenuTemplate: TemplateRef<any>;
 
-    
 
     subMenus: any[] = [
         {
@@ -69,7 +69,7 @@ export class ContactsParametersAdministrationComponent implements OnInit {
     loading: boolean = false;
 
     dataSource = new MatTableDataSource(this.contactsParameters);
-    displayedColumns = ['identifier', 'mandatory', 'filling', 'searchable', 'displayable'];
+    displayedColumns = ['label', 'mandatory', 'filling', 'searchable', 'displayable'];
 
     @ViewChild(MatPaginator, { static: false }) paginator: MatPaginator;
     @ViewChild(MatSort, { static: false }) sort: MatSort;
@@ -80,6 +80,7 @@ export class ContactsParametersAdministrationComponent implements OnInit {
         private notify: NotificationService,
         private headerService: HeaderService,
         public appService: AppService,
+        public functionsService: FunctionsService,
         private viewContainerRef: ViewContainerRef) { }
 
     ngOnInit(): void {
@@ -92,7 +93,13 @@ export class ContactsParametersAdministrationComponent implements OnInit {
         this.http.get('../rest/contactsParameters')
             .subscribe((data: any) => {
                 this.contactsFilling = data.contactsFilling;
-                this.contactsParameters = data.contactsParameters;
+                this.contactsParameters = data.contactsParameters.map((item: any) => {
+                    return {
+                        ...item,
+                        label : this.functionsService.empty(item.label) ? this.translate.instant('lang.contactsParameters_' + item.identifier) : item.label
+                    };
+                });
+
                 this.loading = false;
                 setTimeout(() => {
                     this.dataSource = new MatTableDataSource(this.contactsParameters);
-- 
GitLab