62fb35ca7e
Squashed commit of the following:
commit be46ec00569f3fa23a439d4fc40bfa8dd2f30ea7
Author: Erik Tiekstra <erik.tiekstra@arbetsformedlingen.se>
Date: Fri Sep 24 10:18:33 2021 +0200
Fixed error-handling for deltagare
commit e18fe76f68f3894198887bf7fe8793dd34905674
Author: Erik Tiekstra <erik.tiekstra@arbetsformedlingen.se>
Date: Fri Sep 24 08:35:40 2021 +0200
Updated tests
commit c8fa577236c1e3a797046d884d91e12e2c1f2c4a
Author: Erik Tiekstra <erik.tiekstra@arbetsformedlingen.se>
Date: Fri Sep 24 08:20:18 2021 +0200
Fixed styling and some functionality
commit bfdcaef5c01edbee584ec0a1c1704983578ff6e5
Author: Daniel Appelgren <daniel.appelgren@arbetsformedlingen.se>
Date: Thu Sep 23 16:00:10 2021 +0200
refactor
commit 5be380af3aaca3c158dcfb1d084e449558f4e720
Author: Daniel Appelgren <daniel.appelgren@arbetsformedlingen.se>
Date: Thu Sep 23 15:59:41 2021 +0200
Update deltagare-tab-reports.component.ts
commit 96c4e36f0ce1a1f607e67ec3a99f18a85221f1d3
Author: Daniel Appelgren <daniel.appelgren@arbetsformedlingen.se>
Date: Thu Sep 23 15:34:27 2021 +0200
break up into several components. remove activeTab-observable etc
commit ce2145f09438240d786e58f60e286e6e6f8e7a29
Merge: afc3989 14739fb
Author: Erik Tiekstra <erik.tiekstra@arbetsformedlingen.se>
Date: Thu Sep 23 14:05:05 2021 +0200
Merged develop and resolved conflicts
commit afc39892ea33d2e1add92b2d5cb0d9f23b963666
Author: Erik Tiekstra <erik.tiekstra@arbetsformedlingen.se>
Date: Thu Sep 23 13:39:01 2021 +0200
Added handledare information to avrop-data and removed id from deltagare-card
commit 1f7454a3cb4af09d3fdcb60c1298677d01a5a64a
Author: Erik Tiekstra <erik.tiekstra@arbetsformedlingen.se>
Date: Thu Sep 23 12:59:47 2021 +0200
Implemented more logic inside component instead of service
commit 5af4a9a9f74707169892ce9fe02f7c93285f48cc
Author: Erik Tiekstra <erik.tiekstra@arbetsformedlingen.se>
Date: Thu Sep 23 10:50:14 2021 +0200
Added part of role-check to be able to access deltagare-card
commit 7cf7c1d379583788e5fcbef5fff44b158d028f76
Author: Erik Tiekstra <erik.tiekstra@arbetsformedlingen.se>
Date: Wed Sep 22 15:07:40 2021 +0200
WIP
commit 8466394d617fa573663f3d199414354394d22b31
Author: Erik Tiekstra <erik.tiekstra@arbetsformedlingen.se>
Date: Wed Sep 22 11:42:32 2021 +0200
Moved around content for deltagare-card
120 lines
4.1 KiB
TypeScript
120 lines
4.1 KiB
TypeScript
import { NgModule } from '@angular/core';
|
|
import { ExtraOptions, RouterModule, Routes } from '@angular/router';
|
|
import { Feature } from '@msfa-enums/feature.enum';
|
|
import { RoleEnum } from '@msfa-enums/role.enum';
|
|
import { environment } from '@msfa-environment';
|
|
import { AuthGuard } from '@msfa-guards/auth.guard';
|
|
import { OrganizationGuard } from '@msfa-guards/organization.guard';
|
|
import { RoleGuard } from '@msfa-guards/role.guard';
|
|
|
|
const activeFeatures: Feature[] = environment.activeFeatures;
|
|
|
|
const routes: Routes = [
|
|
{
|
|
path: '',
|
|
data: { title: '' },
|
|
loadChildren: () => import('./pages/start/start.module').then(m => m.StartModule),
|
|
canActivate: [AuthGuard, OrganizationGuard],
|
|
},
|
|
{
|
|
path: 'logga-ut',
|
|
data: { title: 'Logga ut' },
|
|
loadChildren: () => import('./pages/logout/logout.module').then(m => m.LogoutModule),
|
|
canActivate: [AuthGuard],
|
|
},
|
|
{
|
|
path: 'organization-picker',
|
|
data: { title: 'Välj organisation' },
|
|
loadChildren: () =>
|
|
import('./pages/organization-picker/organization-picker.module').then(m => m.OrganizationPickerModule),
|
|
canActivate: [AuthGuard],
|
|
},
|
|
{
|
|
path: 'obehorig',
|
|
data: { title: 'Saknar behörighet' },
|
|
loadChildren: () => import('./pages/unauthorized/unauthorized.module').then(m => m.UnauthorizedModule),
|
|
canActivate: [AuthGuard],
|
|
},
|
|
];
|
|
|
|
activeFeatures.forEach(feature => {
|
|
switch (feature) {
|
|
case Feature.ADMINISTRATION:
|
|
routes.push({
|
|
path: 'administration',
|
|
data: { title: 'Administration', expectedRoles: [RoleEnum.MSFA_AuthAdmin] },
|
|
loadChildren: () => import('./pages/administration/administration.module').then(m => m.AdministrationModule),
|
|
canActivate: [AuthGuard, OrganizationGuard, RoleGuard],
|
|
});
|
|
break;
|
|
case Feature.AVROP:
|
|
routes.push({
|
|
path: 'nya-deltagare',
|
|
data: { title: 'Nya deltagare', expectedRoles: [RoleEnum.MSFA_ReceiveDeltagare] },
|
|
loadChildren: () => import('./pages/avrop/avrop.module').then(m => m.AvropModule),
|
|
canActivate: [AuthGuard, OrganizationGuard, RoleGuard],
|
|
});
|
|
break;
|
|
case Feature.DELTAGARE:
|
|
routes.push({
|
|
path: 'deltagare',
|
|
data: { title: 'Deltagare', expectedRoles: [RoleEnum.MSFA_ReportAndPlanning, RoleEnum.MSFA_ReceiveDeltagare] },
|
|
loadChildren: () => import('./pages/deltagare/deltagare.module').then(m => m.DeltagareModule),
|
|
canActivate: [AuthGuard, OrganizationGuard, RoleGuard],
|
|
});
|
|
break;
|
|
case Feature.MY_ACCOUNT:
|
|
routes.push({
|
|
path: 'mitt-konto',
|
|
data: { title: 'Mitt konto' },
|
|
loadChildren: () => import('./pages/my-account/my-account.module').then(m => m.MyAccountModule),
|
|
canActivate: [AuthGuard, OrganizationGuard],
|
|
});
|
|
break;
|
|
case Feature.RELEASES:
|
|
routes.push({
|
|
path: 'releases',
|
|
data: { title: 'Releaser' },
|
|
loadChildren: () => import('./pages/releases/releases.module').then(m => m.ReleasesModule),
|
|
canActivate: [AuthGuard],
|
|
});
|
|
break;
|
|
case Feature.MOCK_LOGIN:
|
|
routes.push({
|
|
path: 'mock-login',
|
|
data: { title: 'Mock login' },
|
|
loadChildren: () => import('./pages/mock-login/mock-login.module').then(m => m.MockLoginModule),
|
|
});
|
|
break;
|
|
case Feature.ACCESSIBILITY_REPORT:
|
|
routes.push({
|
|
path: 'tillganglighet',
|
|
data: { title: 'Tillgänglighetsredogörelse' },
|
|
loadChildren: () => import('./pages/accessibility/accessibility.module').then(m => m.AccessibilityModule),
|
|
canActivate: [AuthGuard],
|
|
});
|
|
break;
|
|
default:
|
|
break;
|
|
}
|
|
});
|
|
|
|
routes.push({
|
|
path: '**',
|
|
data: { title: 'Sidan hittas inte' },
|
|
loadChildren: () => import('./pages/page-not-found/page-not-found.module').then(m => m.PageNotFoundModule),
|
|
canActivate: [AuthGuard],
|
|
});
|
|
|
|
const options: ExtraOptions = {
|
|
useHash: false,
|
|
scrollPositionRestoration: 'enabled',
|
|
onSameUrlNavigation: 'reload',
|
|
};
|
|
|
|
@NgModule({
|
|
imports: [RouterModule.forRoot(routes, options)],
|
|
exports: [RouterModule],
|
|
})
|
|
export class AppRoutingModule {}
|