From d88a3cf4429bbf3cbaa445034406db70e1381de7 Mon Sep 17 00:00:00 2001 From: cptran777 Date: Mon, 1 Oct 2018 14:22:32 -0700 Subject: [PATCH] Moves fe check for compliance purge policy to retentionPolicy instead of complianceInfo --- wherehows-web/app/components/dataset-compliance.ts | 10 +++++++--- .../datasets/containers/dataset-compliance.ts | 8 +++++--- .../app/templates/components/dataset-compliance.hbs | 2 +- 3 files changed, 13 insertions(+), 7 deletions(-) diff --git a/wherehows-web/app/components/dataset-compliance.ts b/wherehows-web/app/components/dataset-compliance.ts index 44240bc180..d6e571467d 100644 --- a/wherehows-web/app/components/dataset-compliance.ts +++ b/wherehows-web/app/components/dataset-compliance.ts @@ -1188,6 +1188,10 @@ export default class DatasetCompliance extends Component { */ onCancel(this: DatasetCompliance): void { this.toggleEditing(false, undefined); + + // Note: [REFACTOR-COMPLIANCE] This should no longer be necessary once we separate the items into + // their own components + this.onReset(); }, /** @@ -1401,13 +1405,13 @@ export default class DatasetCompliance extends Component { * @returns {(Promise)} */ didEditPurgePolicy(this: DatasetCompliance): Promise { - const { complianceType = null } = get(this, 'complianceInfo') || {}; + const retentionPolicy = get(this, 'retentionPolicy'); - if (!complianceType) { + if (!retentionPolicy || !retentionPolicy.purgeType) { return this.needsPurgePolicyType(); } - if (isExempt(complianceType)) { + if (isExempt(retentionPolicy.purgeType)) { return this.showPurgeExemptionWarning(); } diff --git a/wherehows-web/app/components/datasets/containers/dataset-compliance.ts b/wherehows-web/app/components/datasets/containers/dataset-compliance.ts index feb5522184..0a704984b3 100644 --- a/wherehows-web/app/components/datasets/containers/dataset-compliance.ts +++ b/wherehows-web/app/components/datasets/containers/dataset-compliance.ts @@ -45,6 +45,7 @@ import { saveDatasetRetentionByUrn, readDatasetRetentionByUrn } from 'wherehows- import { IDatasetRetention, IGetDatasetRetentionResponse } from 'wherehows-web/typings/api/datasets/retention'; import { readUpstreamDatasetsByUrn } from 'wherehows-web/utils/api/datasets/lineage'; import { LineageList } from 'wherehows-web/typings/api/datasets/relationships'; +import { retentionObjectFactory } from 'wherehows-web/constants/datasets/retention'; /** * Type alias for the response when container data items are batched @@ -240,7 +241,7 @@ export default class DatasetComplianceContainer extends Component { schemaless, exportPolicy, upstreams, - retentionPolicy: retentionResponse && retentionResponse.retentionPolicy + retentionPolicy: (retentionResponse && retentionResponse.retentionPolicy) || retentionObjectFactory(urn) }); } @@ -277,10 +278,11 @@ export default class DatasetComplianceContainer extends Component { getRetentionPolicyTask = task(function*( this: DatasetComplianceContainer ): IterableIterator> { - const retentionResponse = yield readDatasetRetentionByUrn(get(this, 'urn')); + const urn = get(this, 'urn'); + const retentionResponse = yield readDatasetRetentionByUrn(urn); const retentionPolicy = retentionResponse && retentionResponse.retentionPolicy; - set(this, 'retentionPolicy', retentionPolicy); + set(this, 'retentionPolicy', retentionPolicy || retentionObjectFactory(urn)); }).restartable(); /** diff --git a/wherehows-web/app/templates/components/dataset-compliance.hbs b/wherehows-web/app/templates/components/dataset-compliance.hbs index 2dc3f8a14a..cdc857f9e6 100644 --- a/wherehows-web/app/templates/components/dataset-compliance.hbs +++ b/wherehows-web/app/templates/components/dataset-compliance.hbs @@ -157,7 +157,7 @@ platform=platform missingPolicyText="This dataset does not have a current compliance purge policy." supportedPurgePolicies=supportedPurgePolicies - purgeNote=complianceInfo.compliancePurgeNote + purgeNote=retentionPolicy.purgeNote purgePolicy=(readonly retentionPolicy.purgeType) onPolicyChange=(action "onDatasetPurgePolicyChange") }}