From d4feac47a20d17ddd2c2dde9d5de9ffe310ecec9 Mon Sep 17 00:00:00 2001 From: Qian Deng Date: Wed, 15 Aug 2018 17:15:57 +0800 Subject: [PATCH] Fix chart upload related issues 1. Chart will reset when open modal 2. Empty chart shouldn't trigger upload action Signed-off-by: Qian Deng --- .../lib/src/helm-chart/helm-chart.component.html | 2 +- .../lib/src/helm-chart/helm-chart.component.ts | 13 +++++++++++++ .../project/list-charts/list-charts.component.html | 1 + .../project/list-charts/list-charts.component.ts | 3 +++ 4 files changed, 18 insertions(+), 1 deletion(-) diff --git a/src/ui_ng/lib/src/helm-chart/helm-chart.component.html b/src/ui_ng/lib/src/helm-chart/helm-chart.component.html index 864d71052..27c74cab2 100644 --- a/src/ui_ng/lib/src/helm-chart/helm-chart.component.html +++ b/src/ui_ng/lib/src/helm-chart/helm-chart.component.html @@ -24,7 +24,7 @@
- diff --git a/src/ui_ng/lib/src/helm-chart/helm-chart.component.ts b/src/ui_ng/lib/src/helm-chart/helm-chart.component.ts index 9adfbf66c..beb32a7f8 100644 --- a/src/ui_ng/lib/src/helm-chart/helm-chart.component.ts +++ b/src/ui_ng/lib/src/helm-chart/helm-chart.component.ts @@ -5,8 +5,10 @@ import { ChangeDetectionStrategy, Output, EventEmitter, + ViewChild, ChangeDetectorRef } from "@angular/core"; +import { NgForm } from '@angular/forms'; import { TranslateService } from "@ngx-translate/core"; import { State } from "clarity-angular"; @@ -28,6 +30,7 @@ export class HelmChartComponent implements OnInit { @Input() projectName = "unknown"; @Input() urlPrefix: string; @Input() hasSignedIn: boolean; + @Input() projectRoleID = 0; @Input() hasProjectAdminRole: boolean; @Output() chartClickEvt = new EventEmitter(); @Output() chartDownloadEve = new EventEmitter(); @@ -56,6 +59,8 @@ export class HelmChartComponent implements OnInit { totalCount = 0; currentState: State; + @ViewChild('chartUploadForm') uploadForm: NgForm; + constructor( private errorHandler: ErrorHandler, private translateService: TranslateService, @@ -68,6 +73,11 @@ export class HelmChartComponent implements OnInit { return this.systemInfo ? this.systemInfo.registry_url : ""; } + public get developerRoleOrAbove(): boolean { + // 1: admin, 2: developer, 3: guest + return this.projectRoleID === 2 || this.hasProjectAdminRole; + } + ngOnInit(): void { // Get system info for tag views toPromise(this.systemInfoService.getSystemInfo()) @@ -107,6 +117,9 @@ export class HelmChartComponent implements OnInit { } onChartUpload() { + this.chartFile = null; + this.provFile = null; + this.uploadForm.reset(); this.isUploadModalOpen = true; } diff --git a/src/ui_ng/src/app/project/list-charts/list-charts.component.html b/src/ui_ng/src/app/project/list-charts/list-charts.component.html index 00f1dd372..9f6c59098 100644 --- a/src/ui_ng/src/app/project/list-charts/list-charts.component.html +++ b/src/ui_ng/src/app/project/list-charts/list-charts.component.html @@ -3,6 +3,7 @@ [projectName]='projectName' [urlPrefix]='urlPrefix' [hasSignedIn]='hasSignedIn' + [projectRoleID]='project_member_role_id' [hasProjectAdminRole]='hasProjectAdminRole' (chartClickEvt)='onChartClick($event)'> diff --git a/src/ui_ng/src/app/project/list-charts/list-charts.component.ts b/src/ui_ng/src/app/project/list-charts/list-charts.component.ts index f87e560f5..f09cdcf2d 100644 --- a/src/ui_ng/src/app/project/list-charts/list-charts.component.ts +++ b/src/ui_ng/src/app/project/list-charts/list-charts.component.ts @@ -18,6 +18,7 @@ export class ListChartsComponent implements OnInit { urlPrefix: string; hasSignedIn: boolean; hasProjectAdminRole: boolean; + project_member_role_id: number; currentUser: SessionUser; constructor( @@ -35,6 +36,8 @@ export class ListChartsComponent implements OnInit { let project = (resolverData["projectResolver"]); this.projectName = project.name; this.hasProjectAdminRole = project.has_project_admin_role; + this.project_member_role_id = project.current_user_role_id; + console.log(this.project_member_role_id); } }