diff --git a/pkg/harvester/edit/management.cattle.io.project.vue b/pkg/harvester/edit/management.cattle.io.project.vue index 11836dea..a12925c2 100644 --- a/pkg/harvester/edit/management.cattle.io.project.vue +++ b/pkg/harvester/edit/management.cattle.io.project.vue @@ -63,6 +63,7 @@ export default { RANCHER_TYPES, fvFormRuleSets: [{ path: 'spec.displayName', rules: ['required'] }], canEditPSPBindings: true, + isQuotasValid: true, }; }, computed: { @@ -190,15 +191,13 @@ export default { this['membershipUpdate'] = update; }, - removeQuota(key) { - ['resourceQuota', 'namespaceDefaultResourceQuota'].forEach((specProp) => { - if (this.value?.spec[specProp]?.limit && this.value?.spec[specProp]?.limit[key]) { - delete this.value?.spec[specProp]?.limit[key]; - } - if (this.value?.spec[specProp]?.usedLimit && this.value?.spec[specProp]?.usedLimit[key]) { - delete this.value?.spec[specProp]?.usedLimit[key]; - } - }); + validateQuotas(isValid) { + this.isQuotasValid = isValid; + }, + + onQuotasInput({ projectLimit, nsLimit } = {}) { + this.value.spec.resourceQuota = { ...this.value.spec.resourceQuota, limit: projectLimit }; + this.value.spec.namespaceDefaultResourceQuota = { ...this.value.spec.namespaceDefaultResourceQuota, limit: nsLimit }; } }, }; @@ -212,7 +211,7 @@ export default { :resource="value" :subtypes="[]" :can-yaml="false" - :validation-passed="fvFormIsValid" + :validation-passed="fvFormIsValid && isQuotasValid" @error="e=>errors=e" @finish="save" @cancel="done" @@ -267,10 +266,11 @@ export default { :weight="9" >