Merge pull request #2202 from wknet123/release-1.1.0-fix-tags-action

Fix tags action display issue.
This commit is contained in:
kun wang 2017-05-03 18:43:15 +08:00 committed by GitHub
commit a250b3ba37
2 changed files with 33 additions and 13 deletions

View File

@ -94,6 +94,7 @@ const harborRoutes: Routes = [
{ {
path: 'tags/:id/:repo', path: 'tags/:id/:repo',
component: TagRepositoryComponent, component: TagRepositoryComponent,
canActivate: [MemberGuard],
resolve: { resolve: {
projectResolver: ProjectRoutingResolver projectResolver: ProjectRoutingResolver
} }

View File

@ -33,20 +33,39 @@ export class MemberGuard implements CanActivate, CanActivateChild {
let projectId = route.params['id']; let projectId = route.params['id'];
this.sessionService.setProjectMembers([]); this.sessionService.setProjectMembers([]);
return new Promise((resolve, reject) => { return new Promise((resolve, reject) => {
this.projectService.checkProjectMember(projectId) let user = this.sessionService.getCurrentUser();
if(user === null) {
this.sessionService.retrieveUser().then(currentUser=>{
return resolve(this.checkMemberStatus(state.url, projectId));
}).catch(err=>resolve(true));
} else {
return resolve(this.checkMemberStatus(state.url, projectId));
}
});
}
checkMemberStatus(url: string, projectId: number): Promise<boolean> {
return new Promise<boolean>((resolve, reject)=>{
this.projectService.checkProjectMember(projectId)
.subscribe( .subscribe(
res=>{ res=>{
this.sessionService.setProjectMembers(res); this.sessionService.setProjectMembers(res);
return resolve(true) return resolve(true);
}, },
error => { error => {
//Add exception for repository in project detail router activation. //Add exception for repository in project detail router activation.
if(state.url.endsWith('repository')) { if(url.endsWith('repository')) {
return resolve(true); return resolve(true);
} }
this.router.navigate([CommonRoutes.HARBOR_DEFAULT]); this.projectService.getProject(projectId)
return resolve(false); .subscribe(project=>{
}); if(project.public === 1) {
return resolve(true);
}
this.router.navigate([CommonRoutes.HARBOR_DEFAULT]);
return resolve(false);
});
});
}); });
} }