Merge branch 'release-1.1.0' into release-1.1.0-fix-notary

This commit is contained in:
kun wang 2017-05-03 18:43:43 +08:00 committed by GitHub
commit a519534bd1
2 changed files with 33 additions and 13 deletions

View File

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

View File

@ -33,21 +33,40 @@ export class MemberGuard implements CanActivate, CanActivateChild {
let projectId = route.params['id'];
this.sessionService.setProjectMembers([]);
return new Promise((resolve, reject) => {
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(
res=>{
this.sessionService.setProjectMembers(res);
return resolve(true)
return resolve(true);
},
error => {
//Add exception for repository in project detail router activation.
if(state.url.endsWith('repository')) {
if(url.endsWith('repository')) {
return resolve(true);
}
this.projectService.getProject(projectId)
.subscribe(project=>{
if(project.public === 1) {
return resolve(true);
}
this.router.navigate([CommonRoutes.HARBOR_DEFAULT]);
return resolve(false);
});
});
});
}
canActivateChild(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): Promise<boolean> | boolean {