]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
mgr/dashboard: bucket details: show lock retention period only in days 41948/head
authorAlfonso Martínez <almartin@redhat.com>
Thu, 10 Jun 2021 13:23:00 +0000 (15:23 +0200)
committerAlfonso Martínez <almartin@redhat.com>
Mon, 21 Jun 2021 06:55:29 +0000 (08:55 +0200)
Fixes: https://tracker.ceph.com/issues/51164
Signed-off-by: Alfonso Martínez <almartin@redhat.com>
(cherry picked from commit b927dc5bff56be742dc4f8608994f243ab18d2d2)

src/pybind/mgr/dashboard/frontend/src/app/ceph/rgw/rgw-bucket-details/rgw-bucket-details.component.html
src/pybind/mgr/dashboard/frontend/src/app/ceph/rgw/rgw-bucket-details/rgw-bucket-details.component.ts
src/pybind/mgr/dashboard/frontend/src/app/ceph/rgw/rgw-bucket-form/rgw-bucket-form.component.spec.ts
src/pybind/mgr/dashboard/frontend/src/app/ceph/rgw/rgw-bucket-form/rgw-bucket-form.component.ts
src/pybind/mgr/dashboard/frontend/src/app/shared/api/rgw-bucket.service.spec.ts
src/pybind/mgr/dashboard/frontend/src/app/shared/api/rgw-bucket.service.ts

index 310de113c4aac67fb0f8d3346dc6d10ebe901f67..bf4bdcb08d959227b05ed522272980bfc1942d1c 100644 (file)
               class="bold">Days</td>
           <td>{{ selection.lock_retention_period_days }}</td>
         </tr>
-        <tr>
-          <td i18n
-              class="bold">Years</td>
-          <td>{{ selection.lock_retention_period_years }}</td>
-        </tr>
       </ng-container>
     </tbody>
   </table>
index 5ec44bcbd32aa104cb6dd73135aff8f1dabf7b80..f9a351367daadbcbf5aaf5a091cad91a06546b8c 100644 (file)
@@ -16,6 +16,7 @@ export class RgwBucketDetailsComponent implements OnChanges {
   ngOnChanges() {
     if (this.selection) {
       this.rgwBucketService.get(this.selection.bid).subscribe((bucket: object) => {
+        bucket['lock_retention_period_days'] = this.rgwBucketService.getLockDays(bucket);
         this.selection = bucket;
       });
     }
index 574d807215f2f15d1bfce5c162c509ac4e6f4ea5..72a37309c4eb7684dd97c2ef959c2742a8ac5c22 100644 (file)
@@ -372,10 +372,5 @@ describe('RgwBucketFormComponent', () => {
     it('should have valid values [2]', () => {
       expectValidLockInputs(false, 'Compliance', '2');
     });
-
-    it('should convert retention years to days', () => {
-      expect(component['getLockDays']({ lock_retention_period_years: 1000 })).toBe(365242);
-      expect(component['getLockDays']({ lock_retention_period_days: 5 })).toBe(5);
-    });
   });
 });
index b1e3a4400a704caa4dc6dda5bd249f53b6210275..07160445206d31f39ac71ce106b8706b51470113 100644 (file)
@@ -132,7 +132,7 @@ export class RgwBucketFormComponent extends CdForm implements OnInit {
           // the Angular react framework will throw an error if there is no
           // field for a given key.
           let value: object = _.pick(bidResp, _.keys(defaults));
-          value['lock_retention_period_days'] = this.getLockDays(bidResp);
+          value['lock_retention_period_days'] = this.rgwBucketService.getLockDays(bidResp);
           value['placement-target'] = bidResp['placement_rule'];
           value['versioning'] = bidResp['versioning'] === RgwBucketVersioning.ENABLED;
           value['mfa-delete'] = bidResp['mfa_delete'] === RgwBucketMfaDelete.ENABLED;
@@ -358,12 +358,4 @@ export class RgwBucketFormComponent extends CdForm implements OnInit {
   getMfaDeleteStatus() {
     return this.isMfaDeleteEnabled ? RgwBucketMfaDelete.ENABLED : RgwBucketMfaDelete.DISABLED;
   }
-
-  private getLockDays(bucketData: object): number {
-    if (bucketData['lock_retention_period_years'] > 0) {
-      return Math.floor(bucketData['lock_retention_period_years'] * 365.242);
-    }
-
-    return bucketData['lock_retention_period_days'];
-  }
 }
index e457c2ab12277dc71e09780b7f7f4713d23b5cf9..6e3fbf660ca2f740f59e2023c59c1aa9b4853073 100644 (file)
@@ -85,4 +85,10 @@ describe('RgwBucketService', () => {
     req.flush(['foo', 'bar']);
     expect(result).toBe(true);
   });
+
+  it('should convert lock retention period to days', () => {
+    expect(service.getLockDays({ lock_retention_period_years: 1000 })).toBe(365242);
+    expect(service.getLockDays({ lock_retention_period_days: 5 })).toBe(5);
+    expect(service.getLockDays({})).toBe(0);
+  });
 });
index c1c02629cdd5fe8bee1b11499f8e42981f6098a5..47126f186d19c4b8bf61198f9543ff589d8e6adc 100644 (file)
@@ -108,4 +108,12 @@ export class RgwBucketService {
       })
     );
   }
+
+  getLockDays(bucketData: object): number {
+    if (bucketData['lock_retention_period_years'] > 0) {
+      return Math.floor(bucketData['lock_retention_period_years'] * 365.242);
+    }
+
+    return bucketData['lock_retention_period_days'] || 0;
+  }
 }