diff --git a/src/app/components/layout/layout.component.html b/src/app/components/layout/layout.component.html
index 215f4f10a..958362bc2 100644
--- a/src/app/components/layout/layout.component.html
+++ b/src/app/components/layout/layout.component.html
@@ -1,7 +1,7 @@
+ [disabled]="!permission.check(node, ['create'])">
{
let fixture: ComponentFixture;
let component: LayoutComponent;
let browsingFilesService: BrowsingFilesService;
- let contentService: ContentService;
- let node;
const navItem = {
label: 'some-label',
route: {
@@ -54,8 +53,6 @@ describe('LayoutComponent', () => {
};
beforeEach(() => {
- node = { id: 'node-id' };
-
TestBed.configureTestingModule({
imports: [
HttpClientModule,
@@ -73,8 +70,8 @@ describe('LayoutComponent', () => {
LogService,
UserPreferencesService,
AuthenticationService,
- ContentService,
AppConfigService,
+ NodePermissionService,
BrowsingFilesService,
{
provide: PeopleContentService,
@@ -89,7 +86,6 @@ describe('LayoutComponent', () => {
fixture = TestBed.createComponent(LayoutComponent);
component = fixture.componentInstance;
browsingFilesService = TestBed.get(BrowsingFilesService);
- contentService = TestBed.get(ContentService);
const appConfig = TestBed.get(AppConfigService);
spyOn(appConfig, 'get').and.returnValue([navItem]);
@@ -104,28 +100,4 @@ describe('LayoutComponent', () => {
expect(component.node).toEqual(currentNode);
});
-
- describe('canCreateContent()', () => {
- it('returns true if node has permission', () => {
- spyOn(contentService, 'hasPermission').and.returnValue(true);
-
- const permission = component.canCreateContent({});
-
- expect(permission).toBe(true);
- });
-
- it('returns false if node does not have permission', () => {
- spyOn(contentService, 'hasPermission').and.returnValue(false);
-
- const permission = component.canCreateContent({});
-
- expect(permission).toBe(false);
- });
-
- it('returns false if node is null', () => {
- const permission = component.canCreateContent(null);
-
- expect(permission).toBe(false);
- });
- });
});
diff --git a/src/app/components/layout/layout.component.ts b/src/app/components/layout/layout.component.ts
index 411ec04f4..07f3fa06e 100644
--- a/src/app/components/layout/layout.component.ts
+++ b/src/app/components/layout/layout.component.ts
@@ -27,8 +27,8 @@ import { Component, OnInit, OnDestroy } from '@angular/core';
import { Router, NavigationEnd } from '@angular/router';
import { Subscription } from 'rxjs/Rx';
import { MinimalNodeEntryEntity } from 'alfresco-js-api';
-import { ContentService } from '@alfresco/adf-core';
import { BrowsingFilesService } from '../../common/services/browsing-files.service';
+import { NodePermissionService } from '../../common/services/node-permission.service';
@Component({
selector: 'app-layout',
@@ -43,8 +43,8 @@ export class LayoutComponent implements OnInit, OnDestroy {
constructor(
private router: Router,
- private contentService: ContentService,
- private browsingFilesService: BrowsingFilesService) {
+ private browsingFilesService: BrowsingFilesService,
+ public permission: NodePermissionService) {
this.router.events
.filter(event => event instanceof NavigationEnd)
.subscribe( (event: any ) => {
@@ -61,11 +61,4 @@ export class LayoutComponent implements OnInit, OnDestroy {
ngOnDestroy() {
this.subscriptions.forEach(s => s.unsubscribe());
}
-
- canCreateContent(node: MinimalNodeEntryEntity): boolean {
- if (node) {
- return this.contentService.hasPermission(node, 'create');
- }
- return false;
- }
}