From 0068319b82d0449e2e378f0e91693f72c82d3248 Mon Sep 17 00:00:00 2001
From: ThomasBidot <77505438+ThomasBidot@users.noreply.github.com>
Date: Wed, 9 Jun 2021 18:31:38 +0200
Subject: [PATCH] Add context sheet for visits, frontend (#71)
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

* Fix Oser to OSER (#55)

* adds support for personnal data

* modifie le form pour inclure la nationalité

* supprime le gg form

* supprime le champ section et ajoute la liste des etablissements

* adapts for user

* adds validation and connects to students api for personnal data

* adds classType field and rgpd info

* corrects scholarships

* removes signup file tab

* minor presentation changes

* deletes random console.log

* changes upload component declarations

* changes upload component declarations

* changes upload component declarations

* changes upload component declarations

* changes upload component declarations

* changes upload component declarations

* changes upload component declarations

* filters if the whole list is sent back

* adds message after personnal data modifications

* fix Oser to OSER

* Validated signup file display (#57)

* Modify inscription page (#32)

* modify the order of blocks

* Update dependencies and TravisCI build (#33)

* Update dependencies via a clean npm install

* Use Node.js 10 in Travis CI

* Specify node==10.x for Heroku

* adds support for personnal data

* modifie le form pour inclure la nationalité

* supprime le gg form

* supprime le champ section et ajoute la liste des etablissements

* adapts for user

* adds validation and connects to students api for personnal data

* adds classType field and rgpd info

* corrects scholarships

* removes signup file tab

* minor presentation changes

* deletes random console.log

* changes upload component declarations

* changes upload component declarations

* changes upload component declarations

* changes upload component declarations

* changes upload component declarations

* changes upload component declarations

* changes upload component declarations

* filters if the whole list is sent back

* adds message after personnal data modifications

* adds untested frontend support for showing validated status of signup file

* adds phone number validation for personnal data

* checks for year field in registration to display correct status

Co-authored-by: AurianeStrasser2 <32937502+AurianeStrasser2@users.noreply.github.com>
Co-authored-by: chiahetcho <44137047+chiahetcho@users.noreply.github.com>
Co-authored-by: Florimond Manca <florimond.manca@gmail.com>
Co-authored-by: Dylan Sechet <dylan.sechet82@gmail.com>

* Personnal data fix (#58)

* adds support for personnal data

* modifie le form pour inclure la nationalité

* supprime le gg form

* supprime le champ section et ajoute la liste des etablissements

* adapts for user

* adds validation and connects to students api for personnal data

* adds classType field and rgpd info

* corrects scholarships

* removes signup file tab

* minor presentation changes

* deletes random console.log

* changes upload component declarations

* changes upload component declarations

* changes upload component declarations

* changes upload component declarations

* changes upload component declarations

* changes upload component declarations

* changes upload component declarations

* filters if the whole list is sent back

* adds message after personnal data modifications

* adds some options and fixes wrong scholarship in the personnal data form

* adds info on phone number format (#61)

* Modify inscription page (#32)

* modify the order of blocks

* Update dependencies and TravisCI build (#33)

* Update dependencies via a clean npm install

* Use Node.js 10 in Travis CI

* Specify node==10.x for Heroku

* adds support for personnal data

* modifie le form pour inclure la nationalité

* supprime le gg form

* supprime le champ section et ajoute la liste des etablissements

* adapts for user

* adds validation and connects to students api for personnal data

* adds classType field and rgpd info

* corrects scholarships

* removes signup file tab

* minor presentation changes

* deletes random console.log

* changes upload component declarations

* changes upload component declarations

* changes upload component declarations

* changes upload component declarations

* changes upload component declarations

* changes upload component declarations

* changes upload component declarations

* filters if the whole list is sent back

* adds message after personnal data modifications

* Validated signup file display (#54)

* adds support for personnal data

* modifie le form pour inclure la nationalité

* supprime le gg form

* supprime le champ section et ajoute la liste des etablissements

* adapts for user

* adds validation and connects to students api for personnal data

* adds classType field and rgpd info

* corrects scholarships

* removes signup file tab

* minor presentation changes

* deletes random console.log

* changes upload component declarations

* changes upload component declarations

* changes upload component declarations

* changes upload component declarations

* changes upload component declarations

* changes upload component declarations

* changes upload component declarations

* filters if the whole list is sent back

* adds message after personnal data modifications

* adds untested frontend support for showing validated status of signup file

* adds phone number validation for personnal data

* checks for year field in registration to display correct status

* adds some options and fixes wrong scholarship in the personnal data form

* adds info on phone number format

Co-authored-by: AurianeStrasser2 <32937502+AurianeStrasser2@users.noreply.github.com>
Co-authored-by: chiahetcho <44137047+chiahetcho@users.noreply.github.com>
Co-authored-by: Florimond Manca <florimond.manca@gmail.com>
Co-authored-by: Dylan Sechet <dylan.sechet82@gmail.com>

* Update student-signup.component.html (#62)

* Improve error message (#63)

* adds support for personnal data

* modifie le form pour inclure la nationalité

* supprime le gg form

* supprime le champ section et ajoute la liste des etablissements

* adapts for user

* adds validation and connects to students api for personnal data

* adds classType field and rgpd info

* corrects scholarships

* removes signup file tab

* minor presentation changes

* deletes random console.log

* changes upload component declarations

* changes upload component declarations

* changes upload component declarations

* changes upload component declarations

* changes upload component declarations

* changes upload component declarations

* changes upload component declarations

* filters if the whole list is sent back

* adds message after personnal data modifications

* improves phone number validation format

* adds error message when email is already used and redirects after signup (#64)

* adds support for personnal data

* modifie le form pour inclure la nationalité

* supprime le gg form

* supprime le champ section et ajoute la liste des etablissements

* adapts for user

* adds validation and connects to students api for personnal data

* adds classType field and rgpd info

* corrects scholarships

* removes signup file tab

* minor presentation changes

* deletes random console.log

* changes upload component declarations

* changes upload component declarations

* changes upload component declarations

* changes upload component declarations

* changes upload component declarations

* changes upload component declarations

* changes upload component declarations

* filters if the whole list is sent back

* adds message after personnal data modifications

* improves phone number validation format

* adds message when email already used and redirects after signup

* ajout champ confirmation email

* ajout champ confirmation email en changeant tout

* correction ERRROR due a la suppressiond es ficher email.matcher.ts et password.matcher.ts

* chgmt mineurs

* chgmt mineurs

* mise en commentaire de la condition sur le mdp

* mise en commentaire de "personnalDataService"

* ajout d'espaces sur html

* Add context_sheet for visits, frontend

Co-authored-by: Arthur Guédon <60623551+arthurgdn@users.noreply.github.com>
Co-authored-by: AurianeStrasser2 <32937502+AurianeStrasser2@users.noreply.github.com>
Co-authored-by: chiahetcho <44137047+chiahetcho@users.noreply.github.com>
Co-authored-by: Florimond Manca <florimond.manca@gmail.com>
Co-authored-by: Dylan Sechet <dylan.sechet82@gmail.com>
Co-authored-by: feli vigneau <feli.vigneau@student-cs.fr>
Co-authored-by: felivigneau <felivigneau@gmail.com>
Co-authored-by: feli90 <73308577+feli90@users.noreply.github.com>
Co-authored-by: Bidot-Naude Thomas <thomas.bidotnaude@student-cs.fr>
---
 src/app/members/visits/shared/adapters.ts     |  1 +
 src/app/members/visits/shared/models.ts       |  3 ++
 .../visit-detail/visit-detail.component.html  | 41 ++++++++++---------
 3 files changed, 26 insertions(+), 19 deletions(-)

diff --git a/src/app/members/visits/shared/adapters.ts b/src/app/members/visits/shared/adapters.ts
index dbad842..e8ef955 100644
--- a/src/app/members/visits/shared/adapters.ts
+++ b/src/app/members/visits/shared/adapters.ts
@@ -111,6 +111,7 @@ export class VisitAdapter implements IAdapter<Visit> {
       registrationsOpen: data.registrations_open,
       image: data.image,
       factSheet: data.fact_sheet,
+      contextSheet: data.context_sheet,
       permissionSheet: data.permission,
       participants: participants,
       organizers: organizers,
diff --git a/src/app/members/visits/shared/models.ts b/src/app/members/visits/shared/models.ts
index 12ac075..eeba2c3 100644
--- a/src/app/members/visits/shared/models.ts
+++ b/src/app/members/visits/shared/models.ts
@@ -36,6 +36,7 @@ export class Visit {
   registrationsOpen: boolean;
   image: string;
   factSheet: string;
+  contextSheet: string;
   permissionSheet: string;
   participants: Participant[];
   organizers: Organizer[];
@@ -55,6 +56,7 @@ export class Visit {
     registrationsOpen: boolean,
     image: string;
     factSheet?: string;
+    contextSheet?: string;
     permissionSheet?: string;
     participants?: Participant[];
     organizers?: Organizer[],
@@ -73,6 +75,7 @@ export class Visit {
     this.registrationsOpen = opts.registrationsOpen;
     this.image = opts.image;
     this.factSheet = opts.factSheet;
+    this.contextSheet = opts.contextSheet;
     this.permissionSheet = opts.permissionSheet;
     this.participants = opts.participants || [];
     this.organizers = opts.organizers || [];
diff --git a/src/app/members/visits/visit-detail/visit-detail.component.html b/src/app/members/visits/visit-detail/visit-detail.component.html
index 21cfd6a..69a6aaf 100644
--- a/src/app/members/visits/visit-detail/visit-detail.component.html
+++ b/src/app/members/visits/visit-detail/visit-detail.component.html
@@ -1,12 +1,15 @@
 <div id="visit">
-  <app-register-form [visible]="registerFormActive" (closed)="registerFormActive = false" [userId]="userId" [visit]="visit" (participate)="onParticipate($event)"></app-register-form>
+  <app-register-form [visible]="registerFormActive" (closed)="registerFormActive = false" [userId]="userId"
+    [visit]="visit" (participate)="onParticipate($event)"></app-register-form>
 
-  <app-leave-form [visible]="leaveFormActive" (closed)="leaveFormActive = false" [visit]="visit" [userId]="userId" (left)="participant = null"></app-leave-form>
+  <app-leave-form [visible]="leaveFormActive" (closed)="leaveFormActive = false" [visit]="visit" [userId]="userId"
+    (left)="participant = null"></app-leave-form>
 
   <div class="text-center">
     <h1>{{ visit.title }}</h1>
     <p>
-      <strong>{{ visit.date | date:"EEEE d MMMM" }} – {{ visit.startTime | date:"shortTime"}}</strong> – {{ visit.place.name }}
+      <strong>{{ visit.date | date:"EEEE d MMMM" }} – {{ visit.startTime | date:"shortTime"}}</strong> – {{
+      visit.place.name }}
     </p>
 
     <p *ngIf="visit.summary" class="text-muted">
@@ -15,24 +18,19 @@
 
     <!-- Metadata badges -->
     <div>
-      <app-registration-badge
-        [title]="visit.title"
-        [open]="visit.registrationsOpen"
-        [passed]="visit.passed"
+      <app-registration-badge [title]="visit.title" [open]="visit.registrationsOpen" [passed]="visit.passed"
         [deadline]="visit.deadline"></app-registration-badge>
-      <app-participant-number-badge
-        [number]="acceptedParticipants"></app-participant-number-badge>
+      <app-participant-number-badge [number]="acceptedParticipants"></app-participant-number-badge>
 
       <span *ngIf="participant">
-        <app-participation-badge
-          [accepted]="participant.accepted"
-          [passed]="visit.passed"></app-participation-badge>
+        <app-participation-badge [accepted]="participant.accepted" [passed]="visit.passed"></app-participation-badge>
       </span>
     </div>
 
     <!-- Show register button if user does not participate -->
     <div *ngIf="visit.registrationsOpen && !participant" class="text-center">
-      <button id="participate-btn" type="button" name="button" class="btn-success" (click)="registerFormActive = true">Je m'inscris</button>
+      <button id="participate-btn" type="button" name="button" class="btn-success"
+        (click)="registerFormActive = true">Je m'inscris</button>
     </div>
 
     <div *ngIf="participant && !visit.passed">
@@ -47,10 +45,17 @@
 
       <!-- Related documents -->
       <p class="alert alert-info" *ngIf="visit.permissionSheet">
-        <i class="fa fa-exclamation-triangle"></i>Avant de te rendre à la sortie, télécharge <a [href]="visit.permissionSheet">l'autorisation de sortie</a>. Fais-la remplir par tes parents et remets-la aux tuteurs le jour de la sortie.
+        <i class="fa fa-exclamation-triangle"></i>Avant de te rendre à la sortie, télécharge <a
+          [href]="visit.permissionSheet">l'autorisation de sortie</a>. Fais-la remplir par tes parents et remets-la aux
+        tuteurs le jour de la sortie.
       </p>
       <p class="alert alert-default" *ngIf="visit.factSheet">
-        <i class="fa fa-file-text"></i> Les organisateurs ont rédigé une <a [href]="visit.factSheet">fiche sortie</a>. N'hésite pas à en prendre connaissance avant de te rendre à la sortie !
+        <i class="fa fa-file-text"></i> Les organisateurs ont rédigé une <a [href]="visit.factSheet">fiche sortie</a>.
+        N'hésite pas à en prendre connaissance avant de te rendre à la sortie !
+      </p>
+      <p class="alert alert-default" *ngIf="visit.contextSheet">
+        <i class="fa fa-file-text"></i> Les organisateurs ont rédigé une <a [href]="visit.contextSheet">fiche de
+          contexte</a> sur la sortie. N'hésite pas à en prendre connaissance avant de te rendre à la sortie !
       </p>
     </div>
 
@@ -71,9 +76,7 @@
   <app-useful-information [visit]="visit"></app-useful-information>
 
   <h2>Se rendre à cette sortie</h2>
-  <app-visit-location-map
-    [geocoder]="geocoder"
-    [address]="visit.address"></app-visit-location-map>
+  <app-visit-location-map [geocoder]="geocoder" [address]="visit.address"></app-visit-location-map>
 
   <div *ngIf="visit.organizers.length > 0">
     <h2>Tuteurs organisateurs</h2>
@@ -83,4 +86,4 @@
     </div>
   </div>
 
-</div>
+</div>
\ No newline at end of file
-- 
GitLab