2019-02-25 00:16:19 +01:00
|
|
|
<mat-nav-list>
|
|
|
|
<a mat-list-item routerLinkActive="active" routerLink='{{config.overviewPath}}' (click)="onSidenavClose()">
|
|
|
|
<span class="nav-caption">{{'navigation.top.overview' | translate}}</span>
|
|
|
|
</a>
|
|
|
|
<a mat-list-item routerLinkActive="active" [routerLink]="[config.publicPath.concat('/').concat(config.rankPath)]"
|
|
|
|
(click)="onSidenavClose()">
|
|
|
|
<span class="nav-caption">{{'navigation.top.ranks' | translate}}</span>
|
|
|
|
</a>
|
|
|
|
<a mat-list-item
|
|
|
|
routerLinkActive="active" [routerLink]="[config.publicPath.concat('/').concat(config.decorationPath)]"
|
|
|
|
(click)="onSidenavClose()">
|
|
|
|
<span class="nav-caption">{{'navigation.top.decorations' | translate}}</span>
|
|
|
|
</a>
|
|
|
|
<a mat-list-item routerLinkActive="active" routerLink='{{config.statsPath}}' (click)="onSidenavClose()">
|
|
|
|
<span class="nav-caption">{{'navigation.top.statistics' | translate}}</span>
|
|
|
|
</a>
|
|
|
|
|
|
|
|
<mat-list-item *ngIf="loginService.hasPermission(2)"
|
2019-02-25 10:10:41 +01:00
|
|
|
[ngClass]="{'active': currentUrl.includes('/manage/')}"
|
2019-02-25 00:16:19 +01:00
|
|
|
[matMenuTriggerFor]="menuManagement">
|
|
|
|
<a matline>
|
|
|
|
<span class="nav-caption">{{'navigation.top.management' | translate}}</span>
|
|
|
|
<span class="caret"></span>
|
|
|
|
</a>
|
|
|
|
</mat-list-item>
|
|
|
|
<mat-menu #menuManagement="matMenu">
|
2019-02-25 10:10:41 +01:00
|
|
|
<button routerLink='{{config.manageUserPath}}' routerLinkActive="active" mat-menu-item (click)="onSidenavClose()">
|
2019-02-25 00:16:19 +01:00
|
|
|
{{'navigation.top.management.users' | translate}}
|
|
|
|
</button>
|
2019-02-25 10:10:41 +01:00
|
|
|
<button routerLink='{{config.manageSquadPath}}' routerLinkActive="active" mat-menu-item (click)="onSidenavClose()">
|
2019-02-25 00:16:19 +01:00
|
|
|
{{'navigation.top.management.squads' | translate}}
|
|
|
|
</button>
|
2019-02-25 10:10:41 +01:00
|
|
|
<button routerLink='{{config.manageDecorationPath}}' routerLinkActive="active"
|
|
|
|
mat-menu-item (click)="onSidenavClose()">
|
2019-02-25 00:16:19 +01:00
|
|
|
{{'navigation.top.management.decorations' | translate}}
|
|
|
|
</button>
|
2019-02-25 10:10:41 +01:00
|
|
|
<button routerLink='{{config.manageRankPath}}' routerLinkActive="active" mat-menu-item (click)="onSidenavClose()">
|
2019-02-25 00:16:19 +01:00
|
|
|
{{'navigation.top.management.ranks' | translate}}
|
|
|
|
</button>
|
|
|
|
</mat-menu>
|
|
|
|
|
|
|
|
<mat-list-item *ngIf="loginService.hasPermission(1) && !loginService.hasPermission(2) && loginService.hasSquad()"
|
2019-02-25 10:10:41 +01:00
|
|
|
[ngClass]="{'active': currentUrl.includes('/request/')}"
|
2019-02-25 00:16:19 +01:00
|
|
|
[matMenuTriggerFor]="menuSqlRequest">
|
|
|
|
<a matline>
|
|
|
|
<span class="nav-caption">{{'navigation.top.request' | translate}}</span>
|
|
|
|
<span class="caret"></span>
|
|
|
|
</a>
|
|
|
|
</mat-list-item>
|
|
|
|
<mat-menu #menuSqlRequest="matMenu">
|
2019-02-25 10:10:41 +01:00
|
|
|
<button routerLink="{{config.request}}/{{config.sqlDashboardPath}}" routerLinkActive="active"
|
|
|
|
mat-menu-item (click)="onSidenavClose()">
|
2019-02-25 00:16:19 +01:00
|
|
|
{{'navigation.top.request.open' | translate}}
|
|
|
|
</button>
|
2019-02-25 10:10:41 +01:00
|
|
|
<button routerLink="{{config.request}}/{{config.requestPromotionPath}}" routerLinkActive="active"
|
|
|
|
mat-menu-item (click)="onSidenavClose()">
|
2019-02-25 00:16:19 +01:00
|
|
|
{{'navigation.top.request.promotion' | translate}}
|
|
|
|
</button>
|
2019-02-25 10:10:41 +01:00
|
|
|
<button routerLink="{{config.request}}/{{config.requestAwardPath}}" routerLinkActive="active"
|
|
|
|
mat-menu-item (click)="onSidenavClose()">
|
2019-02-25 00:16:19 +01:00
|
|
|
{{'navigation.top.request.award' | translate}}
|
|
|
|
</button>
|
|
|
|
</mat-menu>
|
|
|
|
|
|
|
|
<mat-list-item *ngIf="loginService.hasPermission(2) && loginService.hasSquad()"
|
2019-02-25 10:10:41 +01:00
|
|
|
[ngClass]="{'unprocessed': promotionService.hasUnprocessedPromotion || awardingService.hasUnprocessedAwards, 'active': currentUrl.includes('/request/')}"
|
2019-02-25 00:16:19 +01:00
|
|
|
[matMenuTriggerFor]="menuRequests">
|
|
|
|
<a matline>
|
|
|
|
<span class="nav-caption">{{'navigation.top.request.manage' | translate}}</span>
|
|
|
|
<span class="caret"></span>
|
|
|
|
</a>
|
|
|
|
</mat-list-item>
|
|
|
|
<mat-menu #menuRequests="matMenu">
|
|
|
|
<button [ngClass]="{'unprocessed-child': promotionService.hasUnprocessedPromotion}"
|
2019-02-25 10:10:41 +01:00
|
|
|
routerLink="{{config.request}}/{{config.confirmPromotionPath}}" routerLinkActive="active"
|
|
|
|
mat-menu-item (click)="onSidenavClose()">
|
2019-02-25 00:16:19 +01:00
|
|
|
{{'navigation.top.request.promotion' | translate}}
|
|
|
|
</button>
|
|
|
|
<button [ngClass]="{'unprocessed-child': awardingService.hasUnprocessedAwards}"
|
2019-02-25 10:10:41 +01:00
|
|
|
routerLink="{{config.request}}/{{config.confirmAwardPath}}" routerLinkActive="active"
|
|
|
|
mat-menu-item (click)="onSidenavClose()">
|
2019-02-25 00:16:19 +01:00
|
|
|
{{'navigation.top.request.award' | translate}}
|
|
|
|
</button>
|
|
|
|
</mat-menu>
|
|
|
|
|
|
|
|
<mat-divider></mat-divider>
|
|
|
|
|
2019-02-25 10:10:41 +01:00
|
|
|
<mat-list-item *ngIf="loginService.hasPermission(4)"
|
|
|
|
[ngClass]="{'active': currentUrl.includes('/admin-panel/')}"
|
|
|
|
[matMenuTriggerFor]="menuAdmin">
|
2019-02-25 00:16:19 +01:00
|
|
|
<a matline>
|
|
|
|
<span class="nav-caption">{{'navigation.top.admin' | translate}}</span>
|
|
|
|
<span class="caret"></span>
|
|
|
|
</a>
|
|
|
|
</mat-list-item>
|
|
|
|
<mat-menu #menuAdmin="matMenu">
|
2019-02-25 10:10:41 +01:00
|
|
|
<button routerLink='{{config.adminPanelAppUsersPath}}' routerLinkActive="active"
|
|
|
|
mat-menu-item (click)="onSidenavClose()">
|
2019-02-25 00:16:19 +01:00
|
|
|
{{'navigation.top.management.users' | translate}}
|
|
|
|
</button>
|
|
|
|
</mat-menu>
|
|
|
|
|
|
|
|
<mat-list-item *ngIf="features.localization" [matMenuTriggerFor]="menuLanguage">
|
|
|
|
<a class="text-uppercase" matline>
|
|
|
|
<span class="nav-caption">{{language}}</span>
|
|
|
|
<span class="caret"></span>
|
|
|
|
</a>
|
|
|
|
</mat-list-item>
|
|
|
|
<mat-menu #menuLanguage="matMenu">
|
|
|
|
<button mat-menu-item (click)="setLanguage(availableLanguages[0])">
|
|
|
|
<mat-icon svgIcon="flag-{{availableLanguages[0]}}"></mat-icon>
|
|
|
|
<span class="text-uppercase">{{availableLanguages[0]}}</span>
|
|
|
|
</button>
|
|
|
|
<button mat-menu-item (click)="setLanguage(availableLanguages[1])">
|
|
|
|
<mat-icon svgIcon="flag-{{availableLanguages[1]}}"></mat-icon>
|
|
|
|
<span class="text-uppercase">{{availableLanguages[1]}}</span>
|
|
|
|
</button>
|
|
|
|
</mat-menu>
|
|
|
|
|
|
|
|
|
|
|
|
<a mat-list-item *ngIf="loginService.isLoggedIn()"
|
|
|
|
(click)="doUserLogout(); onSidenavClose()">
|
|
|
|
<span class="nav-caption">{{'navigation.top.logout' | translate}}</span>
|
|
|
|
</a>
|
|
|
|
<a mat-list-item *ngIf="!loginService.isLoggedIn()"
|
|
|
|
routerLinkActive="active" routerLink='{{config.loginPath}}' (click)="onSidenavClose()">
|
|
|
|
<span class="nav-caption">{{'navigation.top.login' | translate}}</span>
|
|
|
|
</a>
|
|
|
|
|
|
|
|
<a mat-list-item href="https://www.opt4.net/dashboard">
|
|
|
|
<span class="nav-caption">{{'navigation.top.board' | translate}}</span>
|
|
|
|
</a>
|
|
|
|
</mat-nav-list>
|