Fix blank audit log names

The GWT UI fell back to displaying email addresses (everything before
the @) if a user did not have a name or username.

This change adds the same fallback to PolyGerrit.

Bug: Issue 7989
Change-Id: Ieff1cc6a0faf9ecb1aafebf91d86f91ab89582f1
diff --git a/polygerrit-ui/app/elements/admin/gr-group-audit-log/gr-group-audit-log.js b/polygerrit-ui/app/elements/admin/gr-group-audit-log/gr-group-audit-log.js
index 84f73ff..0bc9a99 100644
--- a/polygerrit-ui/app/elements/admin/gr-group-audit-log/gr-group-audit-log.js
+++ b/polygerrit-ui/app/elements/admin/gr-group-audit-log/gr-group-audit-log.js
@@ -83,11 +83,7 @@
     _getNameForUser(account) {
       const accountId = account._account_id ? ' (' +
         account._account_id + ')' : '';
-      if (account && account.username) {
-        return account.username + accountId;
-      } else if (account && account.name) {
-        return account.name + accountId;
-      }
+      return this._getNameForMember(account) + accountId;
     },
 
     _getNameForMember(account) {
@@ -95,6 +91,8 @@
         return account.name;
       } else if (account && account.username) {
         return account.username;
+      } else if (account && account.email) {
+        return account.email.split('@')[0];
       }
     },
   });
diff --git a/polygerrit-ui/app/elements/admin/gr-group-audit-log/gr-group-audit-log_test.html b/polygerrit-ui/app/elements/admin/gr-group-audit-log/gr-group-audit-log_test.html
index e437f7d..b179718 100644
--- a/polygerrit-ui/app/elements/admin/gr-group-audit-log/gr-group-audit-log_test.html
+++ b/polygerrit-ui/app/elements/admin/gr-group-audit-log/gr-group-audit-log_test.html
@@ -47,8 +47,8 @@
             _account_id: 12,
           },
         };
-        assert.deepEqual(
-            element._getNameForMember(account.member, false), 'test-user');
+        assert.equal(element._getNameForMember(account.member, false),
+            'test-user');
 
         account = {
           member: {
@@ -56,8 +56,14 @@
             _account_id: 12,
           },
         };
-        assert.deepEqual(
-            element._getNameForMember(account.member), 'test-name');
+        assert.equal(element._getNameForMember(account.member), 'test-name');
+
+        account = {
+          user: {
+            email: 'test-email@gmail.com',
+          },
+        };
+        assert.equal(element._getNameForMember(account.user), 'test-email');
       });
     });
 
@@ -69,8 +75,7 @@
             _account_id: 12,
           },
         };
-        assert.deepEqual(
-            element._getNameForUser(account.user), 'test-user (12)');
+        assert.equal(element._getNameForUser(account.user), 'test-user (12)');
 
         account = {
           user: {
@@ -78,8 +83,15 @@
             _account_id: 12,
           },
         };
-        assert.deepEqual(
-            element._getNameForUser(account.user), 'test-name (12)');
+        assert.equal(element._getNameForUser(account.user), 'test-name (12)');
+
+        account = {
+          user: {
+            email: 'test-email@gmail.com',
+            _account_id: 12,
+          },
+        };
+        assert.equal(element._getNameForUser(account.user), 'test-email (12)');
       });
 
       test('test _account_id not present', () => {
@@ -88,14 +100,21 @@
             username: 'test-user',
           },
         };
-        assert.deepEqual(element._getNameForUser(account.user), 'test-user');
+        assert.equal(element._getNameForUser(account.user), 'test-user');
 
         account = {
           user: {
             name: 'test-name',
           },
         };
-        assert.deepEqual(element._getNameForUser(account.user), 'test-name');
+        assert.equal(element._getNameForUser(account.user), 'test-name');
+
+        account = {
+          user: {
+            email: 'test-email@gmail.com',
+          },
+        };
+        assert.equal(element._getNameForUser(account.user), 'test-email');
       });
     });
   });