From 88216e5f2dc86465de9f06df1576ab20547f9fe4 Mon Sep 17 00:00:00 2001
From: Antonin Coquet <ext.sopra.acoquet@grandlyon.com>
Date: Wed, 28 Apr 2021 15:14:53 +0200
Subject: [PATCH] feat: regex web + precision horaire + placeholder (ticket
 496/497/500)

---
 src/app/form/form.component.html              |  9 +++---
 src/app/form/form.component.scss              |  4 +++
 src/app/form/form.component.ts                |  7 ++---
 src/app/form/pageType.enum.ts                 | 29 +++++++++----------
 .../reset-password.component.html             | 20 +++++++------
 .../create-account-form.component.html        |  2 +-
 .../signup-modal/signup-modal.component.html  |  2 +-
 src/app/utils/CustomRegExp.ts                 |  2 +-
 8 files changed, 39 insertions(+), 36 deletions(-)

diff --git a/src/app/form/form.component.html b/src/app/form/form.component.html
index c32ffbbf9..f50fc2e17 100644
--- a/src/app/form/form.component.html
+++ b/src/app/form/form.component.html
@@ -186,7 +186,7 @@
           <h3>Quels identifiants utiliserez-vous pour vous connecter ?</h3>
         </div>
         <div class="form-group" fxLayout="column">
-          <label for="email">Courriel personnel</label>
+          <label for="email">Courriel du compte</label>
           <p class="special invalid" *ngIf="this.accountForm.get('email').hasError('alreadyExist')">
             L'email est déja utilisé.
           </p>
@@ -196,6 +196,7 @@
               (input)="setValidationsForm()"
               (keyup)="verifyUserExist($event.target.value)"
               formControlName="email"
+              placeholder="thomas@grandlyon.com"
               class="form-input"
               [readonly]="isAccountMode"
               [ngClass]="{ disabled: isAccountMode }"
@@ -416,9 +417,7 @@
           (updateFormError)="setHoursError()"
           [structureInput]="hoursForm"
         ></app-hour-picker>
-      </div>
-      <div *ngIf="currentPage == pageTypeEnum.structureHoursDetails" class="page">
-        <div class="title">
+        <div class="nextTitle">
           <h3>Avez-vous des précisions à apporter sur les horaires ?</h3>
           <p class="notRequired">facultatif</p>
         </div>
@@ -472,7 +471,7 @@
                 <div fxLayout="row" fxLayoutGap="27px">
                   <input
                     type="text"
-                    placeholder="www.resonum.com"
+                    placeholder="www.resin.grandlyon.com"
                     (input)="setValidationsForm()"
                     formControlName="website"
                     class="form-input"
diff --git a/src/app/form/form.component.scss b/src/app/form/form.component.scss
index f8e9ca165..c17214a05 100644
--- a/src/app/form/form.component.scss
+++ b/src/app/form/form.component.scss
@@ -160,6 +160,10 @@ h3 {
     .title {
       margin-bottom: 26px;
     }
+    .nextTitle {
+      margin-bottom: 10px;
+      margin-top: 10px;
+    }
     .type-picker {
       height: 100%;
     }
diff --git a/src/app/form/form.component.ts b/src/app/form/form.component.ts
index 4e25894a4..f98e30a38 100644
--- a/src/app/form/form.component.ts
+++ b/src/app/form/form.component.ts
@@ -484,10 +484,9 @@ export class FormComponent implements OnInit {
         valid: this.getStructureControl('accessModality').valid,
         name: "Modalités d'accueil",
       };
-      this.pagesValidation[PageTypeEnum.structureHours] = { valid: this.hoursForm.valid, name: "Horaires d'ouverture" };
-      this.pagesValidation[PageTypeEnum.structureHoursDetails] = {
-        valid: this.getStructureControl('exceptionalClosures').valid,
-        name: 'Précisions sur les horaires',
+      this.pagesValidation[PageTypeEnum.structureHours] = {
+        valid: this.hoursForm.valid && this.getStructureControl('exceptionalClosures').valid,
+        name: "Horaires d'ouverture",
       };
       this.pagesValidation[PageTypeEnum.structurePmr] = {
         valid: this.getStructureControl('pmrAccess').valid,
diff --git a/src/app/form/pageType.enum.ts b/src/app/form/pageType.enum.ts
index 3b3f5071a..fbe238d63 100644
--- a/src/app/form/pageType.enum.ts
+++ b/src/app/form/pageType.enum.ts
@@ -8,19 +8,18 @@ export enum PageTypeEnum {
   structureType = 6,
   structureAccessModality = 7,
   structureHours = 8,
-  structureHoursDetails = 9,
-  structurePmr = 10,
-  structureWebAndSocialNetwork = 11,
-  structurePublicTarget = 12,
-  structureAccompaniment = 13,
-  structureOtherAccompaniment = 14,
-  structureWorkshop = 15,
-  structureWorkshopPrice = 16,
-  structureWifi = 17,
-  structureEquipments = 18,
-  structureLabels = 19,
-  structureOtherServices = 20,
-  structureDescription = 21,
-  structureCovidInfo = 22,
-  cgu = 23,
+  structurePmr = 9,
+  structureWebAndSocialNetwork = 10,
+  structurePublicTarget = 11,
+  structureAccompaniment = 12,
+  structureOtherAccompaniment = 13,
+  structureWorkshop = 14,
+  structureWorkshopPrice = 15,
+  structureWifi = 16,
+  structureEquipments = 17,
+  structureLabels = 18,
+  structureOtherServices = 29,
+  structureDescription = 20,
+  structureCovidInfo = 21,
+  cgu = 22,
 }
diff --git a/src/app/reset-password/reset-password.component.html b/src/app/reset-password/reset-password.component.html
index 2983fe1f7..13b83e7cc 100644
--- a/src/app/reset-password/reset-password.component.html
+++ b/src/app/reset-password/reset-password.component.html
@@ -4,16 +4,18 @@
       <h1>Réinitialisation du mot de passe</h1>
       <form *ngIf="!token" [formGroup]="resetForm" (ngSubmit)="onSubmit()">
         <div class="form-group">
-          <label for="email">Courriel personnel</label>
-            <div fxLayout="row" fxLayoutGap="13px">
-              <input type="text"
-               autocomplete="on" 
-               formControlName="email" 
-               class="form-input" 
-               [ngClass]="{ 'is-invalid': submitted && f.email.errors }"/>
-            </div>
+          <label for="email">Courriel du compte</label>
+          <div fxLayout="row" fxLayoutGap="13px">
+            <input
+              type="text"
+              autocomplete="on"
+              formControlName="email"
+              class="form-input"
+              [ngClass]="{ 'is-invalid': submitted && f.email.errors }"
+            />
+          </div>
           <div *ngIf="submitted && f.email.errors" class="invalid-feedback">
-            <div *ngIf="f.email.errors.required" >L'adresse e-mail est requise</div>
+            <div *ngIf="f.email.errors.required">L'adresse e-mail est requise</div>
           </div>
         </div>
         <div class="button" fxLayout="row" fxLayoutAlign="space-around center">
diff --git a/src/app/shared/components/create-account-form/create-account-form.component.html b/src/app/shared/components/create-account-form/create-account-form.component.html
index 6b547d7fd..f515c1480 100644
--- a/src/app/shared/components/create-account-form/create-account-form.component.html
+++ b/src/app/shared/components/create-account-form/create-account-form.component.html
@@ -1,6 +1,6 @@
 <form [formGroup]="accountForm" *ngIf="accountForm" (ngSubmit)="onSubmit(accountForm)">
   <div class="form-group" fxLayout="column">
-    <label for="email">Courriel personnel</label>
+    <label for="email">Courriel du compte</label>
     <div fxLayout="row" fxLayoutGap="13px">
       <input type="text" autocomplete="on" formControlName="email" class="form-input" />
       <img *ngIf="f.email.invalid && f.email.value" src="../../assets/form/notvalidate.svg" alt="logo invalid" />
diff --git a/src/app/shared/components/signup-modal/signup-modal.component.html b/src/app/shared/components/signup-modal/signup-modal.component.html
index 492b39e29..caa8fd967 100644
--- a/src/app/shared/components/signup-modal/signup-modal.component.html
+++ b/src/app/shared/components/signup-modal/signup-modal.component.html
@@ -11,7 +11,7 @@
         <h3>Se connecter</h3>
         <form [formGroup]="loginForm" (ngSubmit)="onSubmit()">
           <div class="form-group" fxLayout="column">
-            <label for="email">Courriel personnel</label>
+            <label for="email">Courriel du compte</label>
             <div fxLayout="row" fxLayoutGap="13px">
               <input type="text" autocomplete="on" formControlName="email" class="form-input" />
               <svg *ngIf="f.email.invalid && f.email.value" class="notValidate" aria-hidden="true">
diff --git a/src/app/utils/CustomRegExp.ts b/src/app/utils/CustomRegExp.ts
index ab2b98c59..af6b6f83d 100644
--- a/src/app/utils/CustomRegExp.ts
+++ b/src/app/utils/CustomRegExp.ts
@@ -12,7 +12,7 @@ export class CustomRegExp {
    * Validate a password (at least 8 characters, 1 uppercase letter, 1 lowercase letter, 1 number, and 1 special character)
    */
   public static readonly PHONE: RegExp = /^(?:(?:\+|00)|0)\s*[1-9](?:[\s.-]*\d{2}){4}$/; //NOSONAR
-  public static readonly WEBSITE: RegExp = /^(https?:\/\/(?:www\.|(?!www))[a-zA-Z0-9][a-zA-Z0-9-]+[a-zA-Z0-9]\.[^\s]{2,}|www\.[a-zA-Z0-9][a-zA-Z0-9-]+[a-zA-Z0-9]\.[^\s]{2,}|https?:\/\/(?:www\.|(?!www))[a-zA-Z0-9]+\.[^\s]{2,}|www\.[a-zA-Z0-9]+\.[^\s]{2,})/; //NOSONAR
+  public static readonly WEBSITE: RegExp = /^(https?:\/\/(?:www\.|(?!www))[a-zA-Z0-9][a-zA-Z0-9-]+[a-zA-Z0-9]\.[^\s]{2,}|www\.[a-zA-Z0-9][a-zA-Z0-9-]+[a-zA-Z0-9]\.[^\s]{2,}|https?:\/\/(?:www\.|(?!www))[a-zA-Z0-9]+\.[^\s]{2,}|www\.[a-zA-Z0-9]+\.[^\s]{2,}|[a-zA-Z0-9]+\.[^\s]{2,})/; //NOSONAR
   public static readonly LINKEDIN: string = '(linkedin.com/in/.{1,})';
   public static readonly FACEBOOK: string = '(facebook.com/.{1,})';
   public static readonly TWITTER: string = '(twitter.com/.{1,})';
-- 
GitLab