Decode group id (for UUID) in gr-group

Change-Id: I5d7867fd2a402aa3b79372c5f01a086b53982fd8
diff --git a/polygerrit-ui/app/elements/admin/gr-group/gr-group.html b/polygerrit-ui/app/elements/admin/gr-group/gr-group.html
index 9641973..7617c19 100644
--- a/polygerrit-ui/app/elements/admin/gr-group/gr-group.html
+++ b/polygerrit-ui/app/elements/admin/gr-group/gr-group.html
@@ -52,7 +52,7 @@
             <fieldset>
               <gr-copy-clipboard
                   id="uuid"
-                  text="[[_groupConfig.id]]"></gr-copy-clipboard>
+                  text="[[_getGroupUUID(_groupConfig.id)]]"></gr-copy-clipboard>
             </fieldset>
             <h3 id="groupName" class$="[[_computeHeaderClass(_rename)]]">
               Group Name
diff --git a/polygerrit-ui/app/elements/admin/gr-group/gr-group.js b/polygerrit-ui/app/elements/admin/gr-group/gr-group.js
index 19cb45c..09953fb 100644
--- a/polygerrit-ui/app/elements/admin/gr-group/gr-group.js
+++ b/polygerrit-ui/app/elements/admin/gr-group/gr-group.js
@@ -236,5 +236,11 @@
     _computeGroupDisabled(owner, admin, groupIsInternal) {
       return groupIsInternal && (admin || owner) ? false : true;
     },
+
+    _getGroupUUID(id) {
+      if (!id) return;
+
+      return id.match(INTERNAL_GROUP_REGEX) ? id : decodeURIComponent(id);
+    },
   });
 })();
diff --git a/polygerrit-ui/app/elements/admin/gr-group/gr-group_test.html b/polygerrit-ui/app/elements/admin/gr-group/gr-group_test.html
index 199a70d..fc04c02 100644
--- a/polygerrit-ui/app/elements/admin/gr-group/gr-group_test.html
+++ b/polygerrit-ui/app/elements/admin/gr-group/gr-group_test.html
@@ -249,6 +249,12 @@
       };
 
       assert.equal(element._groupConfig.id, element.$.uuid.text);
+
+      element._groupConfig = {
+        id: 'user%2Fgroup',
+      };
+
+      assert.equal('user/group', element.$.uuid.text);
     });
   });
 </script>