Add local user manual unlock

Enables manual unlock from the GUI when a user is locked out
due to failed login attempts above allowed threshold.

Signed-off-by: Yoshie Muranaka <yoshiemuranaka@gmail.com>
Change-Id: I63e28a4d6feed9eb6d4d09c0431d31e7bd6924c2
diff --git a/app/common/services/api-utils.js b/app/common/services/api-utils.js
index 90a8cb3..ebc2956 100644
--- a/app/common/services/api-utils.js
+++ b/app/common/services/api-utils.js
@@ -618,7 +618,7 @@
             data: data
           });
         },
-        updateUser: function(user, newUser, passwd, role, enabled) {
+        updateUser: function(user, newUser, passwd, role, enabled, locked) {
           var data = {};
           if ((newUser !== undefined) && (newUser != null)) {
             data['UserName'] = newUser;
@@ -632,6 +632,9 @@
           if ((passwd !== undefined) && (passwd != null)) {
             data['Password'] = passwd;
           }
+          if ((locked !== undefined) && (locked !== null)) {
+            data['Locked'] = locked
+          }
           return $http({
             method: 'PATCH',
             url: DataService.getHost() +
diff --git a/app/common/styles/elements/alerts.scss b/app/common/styles/elements/alerts.scss
index 947320c..433db6d 100644
--- a/app/common/styles/elements/alerts.scss
+++ b/app/common/styles/elements/alerts.scss
@@ -22,3 +22,37 @@
     margin-bottom: 0;
   }
 }
+
+.notification-banner {
+  padding: 8px 10px;
+  margin-bottom: 24px;
+  border-style: solid;
+  border-width: 1px;
+}
+
+.notification-banner__text {
+  font-size: 0.9em;
+  margin-bottom: 0;
+  line-height: 1.2;
+}
+
+.notification-banner--information {
+  background-color: $background-02;
+  border-color: $border-color-01;
+}
+
+.notification-banner--warning {
+  background-color: $accent-03--03;
+  border-color: $accent-03--02;
+  .notification-banner__text {
+    &::before {
+      content: '';
+      display: inline-block;
+      width: 18px;
+      height: 18px;
+      vertical-align: bottom;
+      margin-right: 0.5em;
+      background-image: url(../assets/images/icon-warning.svg);
+    }
+  }
+}
\ No newline at end of file