Skip to content
Snippets Groups Projects
Commit a67898c7 authored by Hugo SUBTIL's avatar Hugo SUBTIL
Browse files

Merge branch 'dev' into 'recette'

Dev

See merge request web-et-numerique/pamn_plateforme-des-acteurs-de-la-mediation-numerique/pamn_client!84
parents 44de48e3 d2681178
No related branches found
No related tags found
2 merge requests!85Recette,!84Dev
Showing
with 202 additions and 44 deletions
......@@ -2,6 +2,77 @@
All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines.
## [1.5.0](https://forge.grandlyon.com///compare/v1.4.0...v1.5.0) (2021-02-25)
### Features
* add connect redirection + handle structure join ([f5abd5e](https://forge.grandlyon.com///commit/f5abd5e5fea66c8e6d04aee335be93da9976b3e7))
* add favicon ([ff8adb8](https://forge.grandlyon.com///commit/ff8adb8c40679fbd539ce644c00eb2cec109f531))
* add form widget for claim and register ([ce914c8](https://forge.grandlyon.com///commit/ce914c8e917610d4a5812dee6fdc4a607e4cf763))
* add hour-picker first version from boussole project ([4333076](https://forge.grandlyon.com///commit/4333076c2212ceb08d73cc6d7205e0e3bc75b986))
* add outdated browser handling ([ecff2a3](https://forge.grandlyon.com///commit/ecff2a37d20e6f85f0823bc96899975b5298d219))
* add registration for claim when not connected ([0bbb3f0](https://forge.grandlyon.com///commit/0bbb3f0e1b55ff2461cdbf48d0380774aebaea4c))
* handle sign-in with form ([7031971](https://forge.grandlyon.com///commit/7031971082fae414423abdecc701789f42a87fda))
* **about:** add europe and region logo + update style ([34e3aeb](https://forge.grandlyon.com///commit/34e3aebd188f3984dcd5bfb0028bfd20793924da))
* add logic to hout-picker + remove copy/paste feature ([c61a63e](https://forge.grandlyon.com///commit/c61a63e391636645af45b26c174dd57d86d17e80))
* add registration form from email ([60fa0c8](https://forge.grandlyon.com///commit/60fa0c8e41df9c82e5d6957dd752e4c210c4c9c8))
* add social network on structure details ([a057084](https://forge.grandlyon.com///commit/a05708495671d20610c102091f6c2893e8214bcb))
* add user delete structure ([f85d2c4](https://forge.grandlyon.com///commit/f85d2c4e938941eef70ce6a36f12b8c507b2524b))
* move structureType to back ([8d7aa8e](https://forge.grandlyon.com///commit/8d7aa8e28347610ba36b833e41ce9e5f55a04f0c))
* update date-picker style ([36904c7](https://forge.grandlyon.com///commit/36904c785c075d64c68fffe669e3e9b33c9d119f))
* update header/footer design ([0838655](https://forge.grandlyon.com///commit/083865546cf32c0f209abe3f3a48db5d6c7cdf94))
* update nginx conf for ghost ([c390497](https://forge.grandlyon.com///commit/c390497d8127190ea6f56873c3fa28b86b53f39d))
### Bug Fixes
* add admin structureName + bug fix on sturcutredetails ([6f32ee8](https://forge.grandlyon.com///commit/6f32ee8659c17790b762cafd3c2f34263e2cf522))
* add claim structure message ([41cfbb8](https://forge.grandlyon.com///commit/41cfbb801537b662fe08ed4133e803a15d914088))
* add page type ([3c037a3](https://forge.grandlyon.com///commit/3c037a3f441d9569ba6f47ef9ff047bab6181630))
* add previous page handling for claim ([ee7b65a](https://forge.grandlyon.com///commit/ee7b65a8a1f48c218796b145d2b4ed51db2690b9))
* claim structure issue ([7b2218b](https://forge.grandlyon.com///commit/7b2218b6e0c61f5b7c66b5580691ac63d0de9410))
* design profile ([8c829ba](https://forge.grandlyon.com///commit/8c829ba2b118414c6cb536b6033b6f1faf1a864c))
* firefox issue on hour picker ([12b8fe0](https://forge.grandlyon.com///commit/12b8fe0ec470876f506bb64c69644cb1d1a628d7))
* header issue on add structure navigation ([1e210a0](https://forge.grandlyon.com///commit/1e210a0b974199990ac3b5d48a34e0c6a8bb4419))
* icon color + alignements ([83ea88f](https://forge.grandlyon.com///commit/83ea88f74f4f1c7d5dd84be9671df4e05ed3a89c))
* map marker color + stroke-width ([6375907](https://forge.grandlyon.com///commit/637590750aa921e625bbe77c879ba194131b62c0))
* move about page link + fix icon ([a9bb6d5](https://forge.grandlyon.com///commit/a9bb6d5da584d0b31fd9b75613353f99e2b3cce5))
* move footer-form ([2f2e7ba](https://forge.grandlyon.com///commit/2f2e7baa422b788d590c5dafced0cb69a2c35f83))
* regex issue on phone number and text without number ([e886673](https://forge.grandlyon.com///commit/e886673882248a5884f5ff57229463257b23b8ab))
* remove locate button on search ([66ca00f](https://forge.grandlyon.com///commit/66ca00f332fffdda2115ee050bb834a1821105ea))
* remove menu-phone component and fix bug ([cb2607f](https://forge.grandlyon.com///commit/cb2607f6a28ed51ad1d4cf985a0baf8b75329ebf))
* remove structure delete for users from structure-details ([516446d](https://forge.grandlyon.com///commit/516446d600b197df71a8508ee8e722289e806fd3))
* structure list card height ([35df2f9](https://forge.grandlyon.com///commit/35df2f9fb58879a4af33e000cf788707b5bb4efc))
* structure type display ([4abc885](https://forge.grandlyon.com///commit/4abc885932771e89f53b497743ebb882cbe3c369))
* structure type for map ([667bc2d](https://forge.grandlyon.com///commit/667bc2d54d58f3c3d1b016852bce616b54a06e87))
* typo and color ([a5e2f93](https://forge.grandlyon.com///commit/a5e2f93bb8d8782074faf14936af7f3cb797a4ce))
* unexisting css class ([a9241a7](https://forge.grandlyon.com///commit/a9241a7959687acbe9dad12ac5a31716e0e99977))
* upadte import ([cc61eed](https://forge.grandlyon.com///commit/cc61eedb495879f173ac91f2ae1d716f60906de7))
* update modale position ([8a18689](https://forge.grandlyon.com///commit/8a186897bc4c713cacd8fd11e17f89dbfd40ce51))
* update typeform update ([d0d134d](https://forge.grandlyon.com///commit/d0d134d0753584d31919034449672e379a5e72f0))
* various design bug ([9b8df1d](https://forge.grandlyon.com///commit/9b8df1d03eff87014d263dfa84e9eb2e82fcda55))
* wording for form / profile and outdated page ([de23088](https://forge.grandlyon.com///commit/de230889cce920786d9d48f56084c23c012d4703))
* **editForm:** fix logic validate/close form ([c68f9ba](https://forge.grandlyon.com///commit/c68f9baf3e433db7f34d06446d205e17d5ed48cd))
* **form:** add menu icon ([e822be4](https://forge.grandlyon.com///commit/e822be4a83295d6a4558abd21c15053d6abc8f11))
* **form:** add page (phoneContact structure) ([b8e91b8](https://forge.grandlyon.com///commit/b8e91b894d5200ef9e906750c3f04f4694b16b7c))
* **form:** add page (pmrAccess) ([2c7a9fc](https://forge.grandlyon.com///commit/2c7a9fcb7409785a584effca7d4711853c139ed6))
* **form:** add page(Description) ([4f458c7](https://forge.grandlyon.com///commit/4f458c7ad599ba33999bc7b939483d18da322405))
* **form:** add page(description) + fix page(exceptionnalClosures) ([a398d07](https://forge.grandlyon.com///commit/a398d0712c2d9834260099f1c31d196b622e0692))
* **form:** add page(Equipments) ([cd58628](https://forge.grandlyon.com///commit/cd586281c0f56591a8ccec9899b1e1b4653ca107))
* **form:** add page(invited User) ([beda94d](https://forge.grandlyon.com///commit/beda94dc8e0e8b0829457855e52778020db12f26))
* **form:** add page(isPassNumeric) ([0e82b75](https://forge.grandlyon.com///commit/0e82b75cce7bebc144d9a5f98f2575c112e93521))
* **form:** add page(labelsQualifications) ([1a798c2](https://forge.grandlyon.com///commit/1a798c224953f6e1e1bae3f7133cd45b3b0e895e))
* **form:** add scanner ([cda0a0d](https://forge.grandlyon.com///commit/cda0a0d39ff8a0e6c919c6ed30b72fe63666b853))
* **form:** bug homePage blink on editForm ([dfa65ec](https://forge.grandlyon.com///commit/dfa65ec175cb18593408166212ae0140bf6546b8))
* **form:** clean code ([5d0bd5b](https://forge.grandlyon.com///commit/5d0bd5b25a09ca950494da43823afd393a0f6197))
* **form:** fix and clean code ([74daf90](https://forge.grandlyon.com///commit/74daf9003cc4c3acf9ff78cc8915aa07e0a308f4))
* **form:** fix collaspse size + header titler phone ([6007a0d](https://forge.grandlyon.com///commit/6007a0dfc47b372be1d1372151889efd587feeeb))
* **form:** fix css ([d5c1ea7](https://forge.grandlyon.com///commit/d5c1ea74acdd948559b396d30feb389e4a6054c5))
* **form:** fix password hint ([05cf734](https://forge.grandlyon.com///commit/05cf7349d1622017fe209fc900fdbe01f9cbf9cf))
* **form:** fix progress 100% on validate Mail ([2e15ee6](https://forge.grandlyon.com///commit/2e15ee6ccfd0653b391ae582a28d794cb11ef774))
* **structures:** update strucutes list design ([1422095](https://forge.grandlyon.com///commit/14220950f13df2b5e0b7863d4796d61072ef45be))
## [1.4.0](https://forge.grandlyon.com///compare/v1.3.0...v1.4.0) (2021-02-01)
......
......@@ -30,9 +30,13 @@ RUN apt-get update
COPY --from=build /app/dist/fr /usr/share/nginx/html
# Add outdated browser page
ADD ./nginx/outdated.html /usr/share/nginx/html
RUN touch /var/run/nginx.pid
RUN ls -l /usr/share/nginx/html
# expose port 8080
EXPOSE 8080
......
map $http_user_agent $outdated {
default 0;
"~MSIE [1-10]\." 1;
"~Trident/[5-7]\." 1;
"~Mozilla.*Firefox/[1-9]\." 1;
"~Mozilla.*Firefox/[0-2][0-9]\." 1;
"~Mozilla.*Firefox/3[0-1]\." 1;
"~Opera.*Version/[0-9]\." 1;
"~Opera.*Version/[0-1][0-9]\." 1;
"~Opera.*Version/2[0-1]\." 1;
"~AppleWebKit.*Version/[0-6]\..*Safari" 1;
"~Chrome/[0-9]\." 1;
"~Chrome/[0-2][0-9]\." 1;
"~Chrome/3[0-3]\." 1;
}
server {
listen 8080 default_server;
......@@ -17,6 +33,10 @@ server {
</script>";
location / {
# Redirect outdated nav
if ($outdated = 1){
rewrite ^ /outdated.html break;
}
# First attempt to serve request as file, then
# as directory, then fall back to displaying a 404.
try_files $uri $uri/ /index.html;
......@@ -32,7 +52,6 @@ server {
proxy_pass https://passerelle.formulaireextranet.grandlyon.com/base-adresse/base-adresse-nationale/streets;
}
location /geocoding/photon/api {
proxy_pass https://download.data.grandlyon.com/geocoding/photon/api;
}
......@@ -51,8 +70,6 @@ server {
proxy_pass http://ghost:2368;
}
# REALLY important for JavaScript modules (type="module") to work as expected!!!
location ~ \.js {
add_header Content-Type text/javascript;
......
<!DOCTYPE html>
<html lang="fr">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>RES'in: Navigateur incompatible</title>
</head>
<body>
<div>
<h1>Navigateur obsolète</h1>
<p>
Votre navigateur ne vous permet pas d'accéder à RES'in dans de bonnes conditions. Merci d'utiliser
<a href="https://www.mozilla.org/fr/firefox/new/">Firefox</a>,
<a href="https://www.google.com/intl/fr/chrome/">Chrome</a>, ou la dernière version d'<a
href="https://www.microsoft.com/fr-fr/edge"
>Edge</a
>.
</p>
</div>
</body>
</html>
{
"name": "pamn",
"version": "1.4.0",
"version": "1.5.0",
"lockfileVersion": 1,
"requires": true,
"dependencies": {
......
{
"name": "pamn",
"version": "1.4.0",
"version": "1.5.0",
"scripts": {
"ng": "ng",
"start": "ng serve --configuration=fr --proxy-config proxy.conf.json",
......
<div fxLayout="column" class="content-container full-screen">
<div class="section-container">
<h1>Qui sommes-nous ?</h1>
<p>
La numérisation accélérée des différents services privés et publics ainsi que la crise sanitaire que nous
traversons a renforcé une fracture numérique déjà forte pour un nombre important de citoyens.
</p>
<p>
Au printemps 2019, la Métropole de Lyon s'est saisie des enjeux autour de l'inclusion numérique en initiant la
structuration d'un réseau des acteurs de la médiation numérique sur son territoire. Son objectif est de mettre en
relation les acteurs qui œuvrent au quotidien pour limiter cette fracture numérique, nombreux sur le territoire de
la Métropole : associations, centres sociaux, structures informations jeunesses, grands opérateurs de services
publics, collectivités...
</p>
<p>
Des ateliers de travail ont été organisés en 2019 pour identifier les besoins de ces acteurs et 9 offres de
services ont été identifiées :
</p>
<img src="/assets/img/about_illustration.png" alt="illustration des besoins" />
<p>
Cet espace vise à centraliser et mettre en commun les ressources développées dans le cadre du réseau par ses
acteurs.
</p>
<p>N'hésitez pas à contribuer à cet espace en partageant vos ressources</p>
<div fxLayout="row" fxLayout.lt-sm="column" fxLayoutAlign="left" fxLayoutGap="5%">
<div class="about-container">
<h1>Qui sommes-nous ?</h1>
<p>
La numérisation accélérée des différents services privés et publics ainsi que la crise sanitaire que nous
traversons a renforcé une fracture numérique déjà forte pour un nombre important de citoyens.
</p>
<p>
Au printemps 2019, la Métropole de Lyon s'est saisie des enjeux autour de l'inclusion numérique en initiant la
structuration d'un réseau des acteurs de la médiation numérique sur son territoire. Son objectif est de mettre
en relation les acteurs qui œuvrent au quotidien pour limiter cette fracture numérique, nombreux sur le
territoire de la Métropole : associations, centres sociaux, structures informations jeunesses, grands
opérateurs de services publics, collectivités...
</p>
<p>
Des ateliers de travail ont été organisés en 2019 pour identifier les besoins de ces acteurs et 9 offres de
services ont été identifiées :
</p>
<h2>Recenser et partager des ressources existantes (optimisation)</h2>
<img src="/assets/img/about_illustration_1.jpg" alt="illustration des besoins" />
<h2>Co-construire de nouvelles ressources (développement)</h2>
<img src="/assets/img/about_illustration_2.jpg" alt="illustration des besoins" />
<p>
Cet espace vise à centraliser et mettre en commun les ressources développées dans le cadre du réseau par ses
acteurs.
</p>
<p>N'hésitez pas à contribuer à cet espace en partageant vos ressources</p>
</div>
<div fxLayout="column" fxLayoutAlign="center center" fxLayoutGap="20px">
<img src="/assets/logos/logo_europe.png" alt="logo de l'union européenne" />
<img src="/assets/logos/logo_region.png" alt="logo de la région Auverge-Rhône-Alpes" />
</div>
</div>
</div>
</div>
@import '../../assets/scss/color';
@import '../../assets/scss/typography';
.content-container {
overflow: auto;
}
h2 {
@include cn-bold-16;
color: $red-default;
}
.about-container {
max-width: 760px;
}
<div fxLayout="row" fxLayoutAlign="center center">
<table *ngIf="demandsAttachment" summary="demands attachment results">
<table *ngIf="demandsAttachment" aria-describedby="demands attachment results">
<thead>
<th scope="col">Utilisateur</th>
<th scope="col">Structure</th>
......@@ -8,7 +8,7 @@
<tbody>
<tr *ngFor="let demand of demandsAttachment">
<td>{{ demand.userEmail }}</td>
<td>{{ demand.structureId }}</td>
<td>{{ demand.structureName }}</td>
<td>
<button (click)="acceptDemand(demand)">Valider</button><button (click)="refuseDemand(demand)">Refuser</button>
</td>
......
......@@ -5,7 +5,6 @@ import { AdminService } from '../../services/admin.service';
@Component({
selector: 'app-admin-claim-structure',
templateUrl: './claim-structure.component.html',
styleUrls: ['./claim-structure.component.scss'],
})
export class ClaimStructureComponent implements OnInit {
public demandsAttachment: DemandAttachment[];
......
......@@ -3,7 +3,6 @@ import { Component, OnInit } from '@angular/core';
@Component({
selector: 'app-admin-panel',
templateUrl: './panel.component.html',
styleUrls: ['./panel.component.scss'],
})
export class PanelComponent implements OnInit {
constructor() {}
......
export class DemandAttachment {
userEmail: string;
structureId: number;
structureName: string;
}
......@@ -11,6 +11,8 @@ import { LegalNoticeComponent } from './legal-notice/legal-notice.component';
import { ProfileComponent } from './profile/profile.component';
import { ResetEmailComponent } from './reset-email/reset-email.component';
import { ResetPasswordComponent } from './reset-password/reset-password.component';
import { TempUserResolver } from './resolvers/temp-user.resolver';
import { StructureJoinComponent } from './structure-join/structure-join.component';
import { StructureDetailsComponent } from './structure-list/components/structure-details/structure-details.component';
import { StructureListComponent } from './structure-list/structure-list.component';
import { UserVerificationComponent } from './user-verification/user-verification.component';
......@@ -49,6 +51,14 @@ const routes: Routes = [
path: 'users/verify/:id',
component: UserVerificationComponent,
},
{
path: 'register',
component: FormComponent,
canDeactivate: [DeactivateGuard],
resolve: {
user: TempUserResolver,
},
},
{
path: 'change-email/:id',
component: ResetEmailComponent,
......@@ -58,6 +68,11 @@ const routes: Routes = [
canActivate: [AuthGuard],
component: ProfileComponent,
},
{
path: 'join',
canActivate: [AuthGuard],
component: StructureJoinComponent,
},
{
path: 'reset-password',
component: ResetPasswordComponent,
......
import { Component } from '@angular/core';
import { ProfileService } from './profile/services/profile.service';
import { AuthService } from './services/auth.service';
import { RouterListenerService } from './services/routerListener.service';
import { PrintService } from './shared/service/print.service';
@Component({
......@@ -14,7 +15,8 @@ export class AppComponent {
constructor(
public printService: PrintService,
private authService: AuthService,
private profilService: ProfileService
private profilService: ProfileService,
private routerListenerService: RouterListenerService
) {
if (this.authService.isLoggedIn()) {
this.profilService.getProfile();
......
......@@ -29,7 +29,9 @@ import { ResetPasswordComponent } from './reset-password/reset-password.componen
import { AdminModule } from './admin/admin.module';
import { AdminGuard } from './guards/admin.guard';
import { DeactivateGuard } from './guards/deactivate.guard';
import { FooterFormComponent } from './footer-form/footer-form.component';
import { FooterFormComponent } from './form/footer-form/footer-form.component';
import { TempUserResolver } from './resolvers/temp-user.resolver';
import { StructureJoinComponent } from './structure-join/structure-join.component';
@NgModule({
declarations: [
......@@ -50,6 +52,7 @@ import { FooterFormComponent } from './footer-form/footer-form.component';
ResetPasswordComponent,
FormComponent,
FooterFormComponent,
StructureJoinComponent,
],
imports: [BrowserModule, HttpClientModule, AppRoutingModule, SharedModule, MapModule, ProfileModule, AdminModule],
providers: [
......@@ -59,6 +62,7 @@ import { FooterFormComponent } from './footer-form/footer-form.component';
AuthGuard,
AdminGuard,
DeactivateGuard,
TempUserResolver,
],
bootstrap: [AppComponent],
})
......
......@@ -3,7 +3,6 @@
<a class="clickable text-align-center" routerLink="/legal-notice" i18n>Mentions légales</a>
<!-- <a class="clickable text-align-center" routerLink="/sitemap" i18n>Plan du site</a> -->
<a class="clickable text-align-center" href="mailto:inclusionnumerique@grandlyon.com">Contact</a>
<a routerLink="/about" i18n>Qui sommes-nous ?</a>
</div>
<a
class="metro-link"
......
......@@ -13,6 +13,8 @@
a {
color: $white;
margin: 0px 0px 0px 10px;
text-decoration: none;
@include cn-regular-12;
&:hover {
text-decoration: underline;
}
......@@ -35,12 +37,6 @@
text-align: center;
}
}
@media #{$desktop} {
font-size: 1em;
}
@media #{$tablet} {
font-size: 0.875em;
}
}
.metro-title {
......
<div fxLayout="row" fxLayoutGap="10px" fxLayoutAlign="center center">
<button class="btn previous" (click)="goToPreviousPage()">
<button class="btn-primary small previous" (click)="goToPreviousPage()">
<div class="rowBtn" fxLayout="row" fxLayoutAlign="center center">
<svg class="chevronLeft" aria-hidden="true">
<use [attr.xlink:href]="'assets/form/sprite.svg#chevronLeft'"></use>
</svg>
Précédent
{{ btnName[0] }}
</div>
</button>
<button class="btn next" (click)="goToNextPage()" [disabled]="!isValid" [ngClass]="{ invalid: !isValid }">
<button
class="btn-primary small next"
(click)="goToNextPage()"
[disabled]="!isValid"
type="submit"
[ngClass]="{ invalid: !isValid }"
>
<div class="rowBtn" fxLayout="row" fxLayoutAlign="center center">
Suivant<svg class="chevronRight" aria-hidden="true">
{{ btnName[1]
}}<svg class="chevronRight" aria-hidden="true">
<use [attr.xlink:href]="'assets/form/sprite.svg#chevronRight'"></use>
</svg>
</div>
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment