From e0f15023109353380643de61e2876db69e00a534 Mon Sep 17 00:00:00 2001
From: Alex ORLUC <alex.orluc@maarch.org>
Date: Thu, 7 Nov 2019 15:32:09 +0100
Subject: [PATCH] FEAT #12003 TIME 0:20 fix menu v1.5

---
 src/frontend/app/app-common.module.ts            | 2 ++
 src/frontend/app/app.module.ts                   | 3 +--
 src/frontend/app/menu/main-header.component.html | 2 +-
 src/frontend/app/menu/main-header.component.ts   | 4 +++-
 src/frontend/service/app.guard.ts                | 1 +
 src/frontend/service/privileges.service.ts       | 1 +
 6 files changed, 9 insertions(+), 4 deletions(-)

diff --git a/src/frontend/app/app-common.module.ts b/src/frontend/app/app-common.module.ts
index c6a11fdee09..8cd927b0f0d 100755
--- a/src/frontend/app/app-common.module.ts
+++ b/src/frontend/app/app-common.module.ts
@@ -63,6 +63,7 @@ import { DragDropDirective }                        from '../app/viewer/upload-f
 import { DiffusionsListComponent }             from './diffusions/diffusions-list.component';
 
 import { DocumentViewerComponent }             from './viewer/document-viewer.component';
+import { HeaderService } from '../service/header.service';
 
 
 
@@ -157,6 +158,7 @@ export class MyHammerConfig extends HammerGestureConfig {
         DragDropDirective
     ],
     providers: [
+        HeaderService,
         LatinisePipe,
         CookieService,
         {
diff --git a/src/frontend/app/app.module.ts b/src/frontend/app/app.module.ts
index 5e66527dc96..3d768058c19 100755
--- a/src/frontend/app/app.module.ts
+++ b/src/frontend/app/app.module.ts
@@ -4,7 +4,6 @@ import { SharedModule }                         from './app-common.module';
 
 import { CustomSnackbarComponent, NotificationService }              from './notification.service';
 import { ConfirmModalComponent }                from './confirmModal.component';
-import { HeaderService }                        from '../service/header.service';
 import { FiltersListService }                   from '../service/filtersList.service';
 
 import { AppComponent }                         from './app.component';
@@ -171,7 +170,7 @@ import { PrivilegeService } from '../service/privileges.service';
         AddPrivateIndexingModelModalComponent,
         AttachmentShowModalComponent
     ],
-    providers: [ HeaderService, FiltersListService, FoldersService, NotificationService, PrivilegeService ],
+    providers: [ FiltersListService, FoldersService, NotificationService, PrivilegeService ],
     bootstrap: [ AppComponent ]
 })
 export class AppModule { }
diff --git a/src/frontend/app/menu/main-header.component.html b/src/frontend/app/menu/main-header.component.html
index 423af982792..827b7712aea 100755
--- a/src/frontend/app/menu/main-header.component.html
+++ b/src/frontend/app/menu/main-header.component.html
@@ -10,7 +10,7 @@
         <mat-icon mat-list-icon class="fa fa-th" style="font-size:20px;color:white;height:auto;"></mat-icon>
     </button>
     <mat-menu #applications="matMenu" class="headerMaarchShortcut">
-        <ng-container *ngFor="let shortcut of menus">
+        <ng-container *ngFor="let shortcut of menus | sortBy: 'label'">
             <button (click)="gotToMenu(shortcut);" style="white-space:inherit;height: 100px;line-height:20px;" class="col-md-4 col-xs-6" mat-button color="primary" matTooltip="{{shortcut.comment}}">
                 <i class="{{shortcut.style}} fa-2x"></i>
                 <br/>{{shortcut.label}}
diff --git a/src/frontend/app/menu/main-header.component.ts b/src/frontend/app/menu/main-header.component.ts
index 0195401eee2..36accf02857 100755
--- a/src/frontend/app/menu/main-header.component.ts
+++ b/src/frontend/app/menu/main-header.component.ts
@@ -48,7 +48,9 @@ export class MainHeaderComponent implements OnInit {
     }
 
     ngOnInit(): void {
-        this.menus = this.privilegeService.getCurrentUserMenus();
+        setTimeout(() => {
+            this.menus = this.privilegeService.getCurrentUserMenus();
+        }, 200);
     }
 
     setTitle(title: string) {
diff --git a/src/frontend/service/app.guard.ts b/src/frontend/service/app.guard.ts
index f1db35bb1e6..70960b81364 100644
--- a/src/frontend/service/app.guard.ts
+++ b/src/frontend/service/app.guard.ts
@@ -21,6 +21,7 @@ export class AppGuard implements CanActivate {
         localStorage.setItem('PreviousV2Route', state.url);
 
         if (this.headerService.user.id === undefined) {
+            console.log('toto');
             return this.http.get('../../rest/currentUser/profile')
                 .pipe(
                     map((data: any) => {
diff --git a/src/frontend/service/privileges.service.ts b/src/frontend/service/privileges.service.ts
index 2a463c0f2a2..bf3a7013405 100644
--- a/src/frontend/service/privileges.service.ts
+++ b/src/frontend/service/privileges.service.ts
@@ -482,6 +482,7 @@ export class PrivilegeService {
     }
 
     getCurrentUserMenus() {
+        console.log(this.headerService.user);
         let menus = this.menus.filter(elem => this.headerService.user.privileges.indexOf(elem.id) > -1);
 
         if (this.headerService.user.groups.filter((group: any) => group.can_index === true).length > 0) {
-- 
GitLab