Skip to content

Commit ccdc60a

Browse files
[DSC-1904] refactor
1 parent aac497c commit ccdc60a

3 files changed

Lines changed: 22 additions & 24 deletions

File tree

src/app/app-routing.module.ts

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,9 @@ import { ThemedPageErrorComponent } from './page-error/themed-page-error.compone
4545
import { ForgotPasswordCheckGuard } from './core/rest-property/forgot-password-check-guard.guard';
4646
import { SUGGESTION_MODULE_PATH } from './suggestions-page/suggestions-page-routing-paths';
4747
import { RedirectService } from './redirect/redirect.service';
48+
import {
49+
GenericAdministratorGuard
50+
} from './core/data/feature-authorization/feature-authorization-guard/generic-administrator-guard';
4851

4952

5053

@@ -169,7 +172,7 @@ import { RedirectService } from './redirect/redirect.service';
169172
path: ADMIN_MODULE_PATH,
170173
loadChildren: () => import('./admin/admin.module')
171174
.then((m) => m.AdminModule),
172-
canActivate: [EndUserAgreementCurrentUserGuard]
175+
canActivate: [GenericAdministratorGuard, EndUserAgreementCurrentUserGuard]
173176
},
174177
{
175178
path: 'login',

src/app/core/data/feature-authorization/feature-authorization-guard/generic-administrator-guard.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ export class GenericAdministratorGuard extends SomeFeatureAuthorizationGuard {
1919
}
2020

2121
/**
22-
* Check administrator authorization rights
22+
* Check if user does not have administrator rights to Site, Community or Collection
2323
*/
2424
getFeatureIDs(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): Observable<FeatureID[]> {
2525
return observableOf([

src/app/menu.resolver.ts

Lines changed: 17 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -451,7 +451,19 @@ export class MenuResolver implements Resolve<boolean> {
451451
// icon: 'cogs',
452452
// index: 9
453453
// },
454-
454+
/* Admin Search */
455+
{
456+
id: 'admin_search',
457+
active: false,
458+
visible: isSiteAdmin || isCollectionAdmin || isCommunityAdmin,
459+
model: {
460+
type: MenuItemType.LINK,
461+
text: 'menu.section.admin_search',
462+
link: '/admin/search'
463+
} as LinkMenuItemModel,
464+
index: 5,
465+
icon: 'search',
466+
},
455467
/* Processes */
456468
{
457469
id: 'processes',
@@ -724,15 +736,11 @@ export class MenuResolver implements Resolve<boolean> {
724736
* Create menu sections dependent on whether or not the current user is a site administrator
725737
*/
726738
createSiteAdministratorMenuSections() {
727-
combineLatest([
728-
this.authorizationService.isAuthorized(FeatureID.AdministratorOf),
729-
this.authorizationService.isAuthorized(FeatureID.IsCommunityAdmin),
730-
this.authorizationService.isAuthorized(FeatureID.IsCollectionAdmin),
731-
]).pipe(
732-
filter(([isAdmin, isCommunityAdmin, isCollectionAdmin]) =>
733-
isAdmin || isCollectionAdmin || isCommunityAdmin
739+
this.authorizationService.isAuthorized(FeatureID.AdministratorOf).pipe(
740+
filter((isAdmin) =>
741+
isAdmin
734742
)
735-
).subscribe(([authorized, isCommunityAdmin, isCollectionAdmin]) => {
743+
).subscribe((authorized) => {
736744
const menuList = [
737745
/* Communities & Collections */
738746
{
@@ -781,19 +789,6 @@ export class MenuResolver implements Resolve<boolean> {
781789
link: '/admin/notifications/' + NOTIFICATIONS_RECITER_SUGGESTION_PATH
782790
} as LinkMenuItemModel,
783791
},
784-
/* Admin Search */
785-
{
786-
id: 'admin_search',
787-
active: false,
788-
visible: authorized || isCollectionAdmin || isCommunityAdmin,
789-
model: {
790-
type: MenuItemType.LINK,
791-
text: 'menu.section.admin_search',
792-
link: '/admin/search'
793-
} as LinkMenuItemModel,
794-
icon: 'search',
795-
index: 5
796-
},
797792
/* Registries */
798793
{
799794
id: 'registries',

0 commit comments

Comments
 (0)