]> git.proxmox.com Git - ceph.git/blobdiff - ceph/src/pybind/mgr/dashboard/frontend/src/app/shared/components/pwd-expiration-notification/pwd-expiration-notification.component.ts
import 15.2.5
[ceph.git] / ceph / src / pybind / mgr / dashboard / frontend / src / app / shared / components / pwd-expiration-notification / pwd-expiration-notification.component.ts
index 0955f52e93657ed8b61bbe33a05b439052542752..c713d4c7b6db19f849bfbbda9b821492a8e60260 100644 (file)
@@ -1,4 +1,4 @@
-import { Component, OnInit } from '@angular/core';
+import { Component, OnDestroy, OnInit } from '@angular/core';
 
 import { SettingsService } from '../../api/settings.service';
 import { CdPwdExpirationSettings } from '../../models/cd-pwd-expiration-settings';
@@ -9,10 +9,11 @@ import { AuthStorageService } from '../../services/auth-storage.service';
   templateUrl: './pwd-expiration-notification.component.html',
   styleUrls: ['./pwd-expiration-notification.component.scss']
 })
-export class PwdExpirationNotificationComponent implements OnInit {
+export class PwdExpirationNotificationComponent implements OnInit, OnDestroy {
   alertType: string;
   expirationDays: number;
   pwdExpirationSettings: CdPwdExpirationSettings;
+  displayNotification = false;
 
   constructor(
     private settingsService: SettingsService,
@@ -30,12 +31,17 @@ export class PwdExpirationNotificationComponent implements OnInit {
         } else {
           this.alertType = 'warning';
         }
-
-        this.authStorageService.isPwdDisplayedSource.next(true);
+        this.displayNotification =
+          this.expirationDays <= this.pwdExpirationSettings.pwdExpirationWarning1;
+        this.authStorageService.isPwdDisplayedSource.next(this.displayNotification);
       }
     });
   }
 
+  ngOnDestroy() {
+    this.authStorageService.isPwdDisplayedSource.next(false);
+  }
+
   private getExpirationDays(pwdExpirationDate: number): number {
     const current = new Date();
     const expiration = new Date(pwdExpirationDate * 1000);
@@ -44,5 +50,6 @@ export class PwdExpirationNotificationComponent implements OnInit {
 
   close() {
     this.authStorageService.isPwdDisplayedSource.next(false);
+    this.displayNotification = false;
   }
 }