Fix admin links that contain the base URL twice

Change 137551 has introduced the concept of `noBaseUrl` admin links,
but in a change comment it was claimed: "The idea is for the existence
of `noBaseUrl` to be as short-lived as possible. Ideally by the end of
the week, but we'll see." Well, a couple of weeks have passed since
2017, and in the meantime the hard coded URLs were indeed fixed to
include the base URL. So there is no need to distinguish between admin
links with and without base URL anymore.

Release-Notes: Fix admin links with duplicate base URLs.
Bug: Issue 298846017
Change-Id: I92e8d77d776662f012f05afb6095958e5441568c
(cherry picked from commit eb803454ac3cc9ef0d30b751ae8d8fcc07831977)
diff --git a/polygerrit-ui/app/elements/admin/gr-admin-view/gr-admin-view.ts b/polygerrit-ui/app/elements/admin/gr-admin-view/gr-admin-view.ts
index eef2a44..8cadd23 100644
--- a/polygerrit-ui/app/elements/admin/gr-admin-view/gr-admin-view.ts
+++ b/polygerrit-ui/app/elements/admin/gr-admin-view/gr-admin-view.ts
@@ -17,7 +17,6 @@
 import '../gr-repo-dashboards/gr-repo-dashboards';
 import '../gr-repo-detail-list/gr-repo-detail-list';
 import '../gr-repo-list/gr-repo-list';
-import {getBaseUrl} from '../../../utils/url-util';
 import {navigationToken} from '../../core/gr-navigation/gr-navigation';
 import {
   AccountDetailInfo,
@@ -598,12 +597,7 @@
 
   // private but used in test
   computeLinkURL(link?: NavLink | SubsectionInterface) {
-    if (!link || typeof link.url === 'undefined') return '';
-
-    if ((link as NavLink).target || !(link as NavLink).noBaseUrl) {
-      return link.url;
-    }
-    return `//${window.location.host}${getBaseUrl()}${link.url}`;
+    return link?.url || '';
   }
 
   private computeSelectedClass(
diff --git a/polygerrit-ui/app/elements/admin/gr-admin-view/gr-admin-view_test.ts b/polygerrit-ui/app/elements/admin/gr-admin-view/gr-admin-view_test.ts
index ee4a179..1d456c9 100644
--- a/polygerrit-ui/app/elements/admin/gr-admin-view/gr-admin-view_test.ts
+++ b/polygerrit-ui/app/elements/admin/gr-admin-view/gr-admin-view_test.ts
@@ -6,7 +6,7 @@
 import '../../../test/common-test-setup';
 import './gr-admin-view';
 import {AdminSubsectionLink, GrAdminView} from './gr-admin-view';
-import {stubBaseUrl, stubElement, stubRestApi} from '../../../test/test-utils';
+import {stubElement, stubRestApi} from '../../../test/test-utils';
 import {GerritView} from '../../../services/router/router-model';
 import {query, queryAll, queryAndAssert} from '../../../test/test-utils';
 import {GrRepoList} from '../gr-repo-list/gr-repo-list';
@@ -47,29 +47,9 @@
   });
 
   test('link URLs', () => {
-    assert.equal(
-      element.computeLinkURL({name: '', url: '/test', noBaseUrl: true}),
-      '//' + window.location.host + '/test'
-    );
-
-    stubBaseUrl('/foo');
-    assert.equal(
-      element.computeLinkURL({name: '', url: '/test', noBaseUrl: true}),
-      '//' + window.location.host + '/foo/test'
-    );
-    assert.equal(
-      element.computeLinkURL({name: '', url: '/test', noBaseUrl: false}),
-      '/test'
-    );
-    assert.equal(
-      element.computeLinkURL({
-        name: '',
-        url: '/test',
-        target: '_blank',
-        noBaseUrl: false,
-      }),
-      '/test'
-    );
+    assert.equal(element.computeLinkURL({name: '', url: '/test'}), '/test');
+    assert.equal(element.computeLinkURL({name: '', url: ''}), '');
+    assert.equal(element.computeLinkURL(undefined), '');
   });
 
   test('current page gets selected and is displayed', async () => {
@@ -78,7 +58,6 @@
         name: 'Repositories',
         url: '/admin/repos',
         view: 'gr-repo-list' as GerritView,
-        noBaseUrl: false,
       },
     ];
 
@@ -154,7 +133,6 @@
         capability: undefined,
         url: '/internal/link/url',
         name: 'internal link text',
-        noBaseUrl: true,
         view: undefined,
         viewableToAll: true,
         target: null,
@@ -163,7 +141,6 @@
         capability: undefined,
         url: 'http://external/link/url',
         name: 'external link text',
-        noBaseUrl: false,
         view: undefined,
         viewableToAll: true,
         target: '_blank',
@@ -345,7 +322,6 @@
     const expectedFilteredLinks = [
       {
         name: 'Repositories',
-        noBaseUrl: true,
         url: '/admin/repos',
         view: 'gr-repo-list' as GerritView,
         viewableToAll: true,
@@ -395,7 +371,6 @@
       {
         name: 'Groups',
         section: 'Groups',
-        noBaseUrl: true,
         url: '/admin/groups',
         view: 'gr-admin-group-list' as GerritView,
       },
@@ -403,7 +378,6 @@
         name: 'Plugins',
         capability: 'viewPlugins',
         section: 'Plugins',
-        noBaseUrl: true,
         url: '/admin/plugins',
         view: 'gr-plugin-list' as GerritView,
       },
@@ -540,29 +514,17 @@
           <gr-page-nav class="navStyles">
             <ul class="sectionContent">
               <li class="sectionTitle selected">
-                <a
-                  class="title"
-                  href="//localhost:9876/admin/repos"
-                  rel="noopener"
-                >
+                <a class="title" href="/admin/repos" rel="noopener">
                   Repositories
                 </a>
               </li>
               <li class="sectionTitle">
-                <a
-                  class="title"
-                  href="//localhost:9876/admin/groups"
-                  rel="noopener"
-                >
+                <a class="title" href="/admin/groups" rel="noopener">
                   Groups
                 </a>
               </li>
               <li class="sectionTitle">
-                <a
-                  class="title"
-                  href="//localhost:9876/admin/plugins"
-                  rel="noopener"
-                >
+                <a class="title" href="/admin/plugins" rel="noopener">
                   Plugins
                 </a>
               </li>
diff --git a/polygerrit-ui/app/elements/core/gr-main-header/gr-main-header_test.ts b/polygerrit-ui/app/elements/core/gr-main-header/gr-main-header_test.ts
index 155ba10..b23f9bc 100644
--- a/polygerrit-ui/app/elements/core/gr-main-header/gr-main-header_test.ts
+++ b/polygerrit-ui/app/elements/core/gr-main-header/gr-main-header_test.ts
@@ -159,7 +159,6 @@
       {
         name: 'Repos',
         url: '/repos',
-        noBaseUrl: true,
         view: undefined,
       },
     ];
@@ -233,7 +232,6 @@
       {
         name: 'Repos',
         url: '/repos',
-        noBaseUrl: true,
         view: undefined,
       },
     ];
@@ -280,7 +278,6 @@
       {
         name: 'Repos',
         url: '/repos',
-        noBaseUrl: true,
         view: undefined,
       },
     ];
@@ -332,7 +329,6 @@
       {
         name: 'Repos',
         url: '/repos',
-        noBaseUrl: true,
         view: undefined,
       },
     ];
@@ -494,7 +490,6 @@
       {
         name: 'Repos',
         url: '/repos',
-        noBaseUrl: true,
         view: undefined,
       },
     ];
diff --git a/polygerrit-ui/app/models/views/admin.ts b/polygerrit-ui/app/models/views/admin.ts
index 37b0c15..017470e 100644
--- a/polygerrit-ui/app/models/views/admin.ts
+++ b/polygerrit-ui/app/models/views/admin.ts
@@ -38,7 +38,6 @@
 
 export interface NavLink {
   name: string;
-  noBaseUrl: boolean;
   url: string;
   view?: GerritView | AdminChildView;
   viewableToAll?: boolean;
@@ -68,7 +67,6 @@
 const ADMIN_LINKS: NavLink[] = [
   {
     name: 'Repositories',
-    noBaseUrl: true,
     url: createAdminUrl({adminView: AdminChildView.REPOS}),
     view: 'gr-repo-list' as GerritView,
     viewableToAll: true,
@@ -76,7 +74,6 @@
   {
     name: 'Groups',
     section: 'Groups',
-    noBaseUrl: true,
     url: createAdminUrl({adminView: AdminChildView.GROUPS}),
     view: 'gr-admin-group-list' as GerritView,
   },
@@ -84,7 +81,6 @@
     name: 'Plugins',
     capability: 'viewPlugins',
     section: 'Plugins',
-    noBaseUrl: true,
     url: createAdminUrl({adminView: AdminChildView.PLUGINS}),
     view: 'gr-plugin-list' as GerritView,
   },
@@ -94,7 +90,6 @@
   url: string;
   text: string;
   capability: string | null;
-  noBaseUrl: boolean;
   view: null;
   viewableToAll: boolean;
   target: '_blank' | null;
@@ -142,7 +137,6 @@
         url: link.url,
         name: link.text,
         capability: link.capability || undefined,
-        noBaseUrl: !isExternalLink(link),
         view: undefined,
         viewableToAll: !link.capability,
         target: isExternalLink(link) ? '_blank' : null,