From bf436bccc39ae285c40d4a0ed72a94aace2f5f65 Mon Sep 17 00:00:00 2001
From: Alex ORLUC <alex.orluc@maarch.org>
Date: Tue, 8 Sep 2020 16:01:52 +0000
Subject: [PATCH] FIX #14755 TIME 0:15 force uppercase lastname fistrname and
 company

(cherry picked from commit d028ab1c6db44cb30e9d5be4ea42dfc07941e334)
---
 .../batch/logs/process_event_stack/.gitkeep   |  0
 .../logs/process_letterbox_alerts/.gitkeep    |  0
 .../page/form/contacts-form.component.html    |  2 +-
 .../page/form/contacts-form.component.ts      | 20 +++++++++++++++++++
 4 files changed, 21 insertions(+), 1 deletion(-)
 mode change 100755 => 100644 modules/notifications/batch/logs/process_event_stack/.gitkeep
 mode change 100755 => 100644 modules/notifications/batch/logs/process_letterbox_alerts/.gitkeep

diff --git a/modules/notifications/batch/logs/process_event_stack/.gitkeep b/modules/notifications/batch/logs/process_event_stack/.gitkeep
old mode 100755
new mode 100644
diff --git a/modules/notifications/batch/logs/process_letterbox_alerts/.gitkeep b/modules/notifications/batch/logs/process_letterbox_alerts/.gitkeep
old mode 100755
new mode 100644
diff --git a/src/frontend/app/administration/contact/page/form/contacts-form.component.html b/src/frontend/app/administration/contact/page/form/contacts-form.component.html
index 3d6be021172..583ae07c6ce 100644
--- a/src/frontend/app/administration/contact/page/form/contacts-form.component.html
+++ b/src/frontend/app/administration/contact/page/form/contacts-form.component.html
@@ -107,7 +107,7 @@
                                     *ngIf="field.type === 'string' && field.id !== 'communicationMeans' && field.id !== 'externalId_m2m'">
                                     <mat-form-field>
                                         <input matInput [formControl]="field.control" [placeholder]="field.label"
-                                            (blur)="checkCompany(field);checkFilling();" [required]="field.required">
+                                            (blur)="checkCompany(field);checkFilling();" (ngModelChange)="toUpperCase(field, $event)" [required]="field.required">
                                         <mat-hint *ngIf="!isEmptyValue(field.desc)" align="end"
                                             [innerHTML]="field.desc">
                                         </mat-hint>
diff --git a/src/frontend/app/administration/contact/page/form/contacts-form.component.ts b/src/frontend/app/administration/contact/page/form/contacts-form.component.ts
index 4594aa75a5c..379e8ebb4a4 100644
--- a/src/frontend/app/administration/contact/page/form/contacts-form.component.ts
+++ b/src/frontend/app/administration/contact/page/form/contacts-form.component.ts
@@ -1017,4 +1017,24 @@ export class ContactsFormComponent implements OnInit {
             this.fillingRate.class = 'accent';
         }
     }
+
+    toUpperCase(target: any, ev: any) {
+        setTimeout(() => {
+            const test = target.control.value;
+            if (['lastname'].indexOf(target.id) > -1) {
+                target.control.setValue(test.toUpperCase());
+            } else if (['firstname', 'company'].indexOf(target.id) > -1) {
+                let splitStr = test.toLowerCase().split(' ');
+                for (let i = 0; i < splitStr.length; i++) {
+                    splitStr[i] = splitStr[i].charAt(0).toUpperCase() + splitStr[i].substring(1);
+                }
+                splitStr = splitStr.join(' ');
+                splitStr = splitStr.split('-');
+                for (let i = 0; i < splitStr.length; i++) {
+                    splitStr[i] = splitStr[i].charAt(0).toUpperCase() + splitStr[i].substring(1);
+                }
+                target.control.setValue( splitStr.join('-'));
+            }
+        }, 100);
+    }
 }
-- 
GitLab