Make serviceuser work with Gerrit setups with context paths
Solves: bug 350779993
Release-Notes: Make serviceuser plugin work with context paths
Change-Id: I1a5e9f9db82eee44035fb8300de011d9568ef178
diff --git a/web/gr-serviceuser-create.ts b/web/gr-serviceuser-create.ts
index 2e6367d..4f49e4e 100644
--- a/web/gr-serviceuser-create.ts
+++ b/web/gr-serviceuser-create.ts
@@ -221,9 +221,12 @@
}
private forwardToDetails() {
- window.location.href = `${
- window.location.origin
- }/x/${this.plugin.getPluginName()}/user/${this.accountId}`;
+ window.location.href = `${this.getPluginBaseURL()}/user/${this.accountId}`;
+ }
+
+ private getPluginBaseURL() {
+ var href = window.location.href;
+ return href.substring(0, href.lastIndexOf('/create'));
}
private getConfig() {
diff --git a/web/gr-serviceuser-list.ts b/web/gr-serviceuser-list.ts
index b4bece4..dc22fe8 100644
--- a/web/gr-serviceuser-list.ts
+++ b/web/gr-serviceuser-list.ts
@@ -210,14 +210,15 @@
}
private computeServiceUserUrl(id: AccountId) {
- return `${
- window.location.origin
- }/x/${this.plugin.getPluginName()}/user/${id}`;
+ return `${this.getPluginBaseURL()}/user/${id}`;
}
private createNewServiceUser() {
- window.location.href = `${
- window.location.origin
- }/x/${this.plugin.getPluginName()}/create`;
+ window.location.href = `${this.getPluginBaseURL()}/create`;
+ }
+
+ private getPluginBaseURL() {
+ var href = window.location.href;
+ return href.substring(0, href.lastIndexOf('/list'));
}
}