[Kimchi-devel] [PATCH] Making urls relative

Frédéric Bonnard frediz at linux.vnet.ibm.com
Tue Mar 24 08:54:38 UTC 2015


From: Frederic Bonnard <frediz at linux.vnet.ibm.com>

The goal is to be able to have kimchi website elsewhere than / , for example
https://server/kimchi/
---
 ui/css/theme-default/template_add.css |  20 ++--
 ui/css/theme-default/topbar.css       |   2 +-
 ui/js/src/kimchi.api.js               | 176 +++++++++++++++++-----------------
 ui/js/src/kimchi.guest_main.js        |   5 +-
 ui/js/src/kimchi.login.js             |   2 +-
 ui/js/src/kimchi.main.js              |   8 +-
 ui/pages/guest.html.tmpl              |   2 +-
 ui/pages/help/dita-help.xsl           |   4 +-
 ui/pages/kimchi-ui.html.tmpl          |   4 +-
 ui/pages/storagepool-add.html.tmpl    |   2 +-
 ui/pages/tabs/storage.html.tmpl       |   2 +-
 ui/pages/template-add.html.tmpl       |   2 +-
 12 files changed, 116 insertions(+), 113 deletions(-)

diff --git a/ui/css/theme-default/template_add.css b/ui/css/theme-default/template_add.css
index e58bccb..f005a2c 100644
--- a/ui/css/theme-default/template_add.css
+++ b/ui/css/theme-default/template_add.css
@@ -41,7 +41,7 @@
     float: left; display : block;
     width: 50px;
     height: 52px;
-    background: url(../../images/theme-default/icon-back.png) center
+    background: url(../images/theme-default/icon-back.png) center
                 center no-repeat;
     cursor: pointer;
     display: block;
@@ -59,17 +59,17 @@
     margin: 0 10px 10px;
     padding: 20px 10px 20px 65px;
     border: 2px solid #ccc;
-    background: url(../../images/theme-default/icon-local.png) 15px
+    background: url(../images/theme-default/icon-local.png) 15px
                 center no-repeat;
     cursor: pointer;
 }
 
 .step-choose>li>a.local {
-    background-image: url(../../images/theme-default/icon-local.png);
+    background-image: url(../images/theme-default/icon-local.png);
 }
 
 .step-choose>li>a.remote {
-    background-image: url(../../images/theme-default/icon-remote.png);
+    background-image: url(../images/theme-default/icon-remote.png);
 }
 
 .step-choose>li>a:HOVER {
@@ -176,27 +176,27 @@
 }
 
 .iso-icon.centos {
-    background-image: url(../../images/icon-centos.png);
+    background-image: url(../images/icon-centos.png);
 }
 
 .iso-icon.debian {
-    background-image: url(../../images/icon-debian.png);
+    background-image: url(../images/icon-debian.png);
 }
 
 .iso-icon.fedora {
-    background-image: url(../../images/icon-fedora.png);
+    background-image: url(../images/icon-fedora.png);
 }
 
 .iso-icon.opensuse {
-    background-image: url(../../images/icon-opensuse.png);
+    background-image: url(../images/icon-opensuse.png);
 }
 
 .iso-icon.ubuntu {
-    background-image: url(../../images/icon-ubuntu.png);
+    background-image: url(../images/icon-ubuntu.png);
 }
 
 .iso-icon.gentoo {
-    background-image: url(../../images/icon-gentoo.png);
+    background-image: url(../images/icon-gentoo.png);
 }
 
 .list-iso {
diff --git a/ui/css/theme-default/topbar.css b/ui/css/theme-default/topbar.css
index d21fc50..04676b8 100644
--- a/ui/css/theme-default/topbar.css
+++ b/ui/css/theme-default/topbar.css
@@ -132,7 +132,7 @@
 }
 
 #user-icon {
-    background: url("/images/theme-default/user-icon.png") no-repeat left top;
+    background: url("../images/theme-default/user-icon.png") no-repeat left top;
     height: 16px;
     width: 16px;
 }
diff --git a/ui/js/src/kimchi.api.js b/ui/js/src/kimchi.api.js
index 838b8d3..5c36418 100644
--- a/ui/js/src/kimchi.api.js
+++ b/ui/js/src/kimchi.api.js
@@ -54,7 +54,7 @@ var kimchi = {
     getCapabilities : function(suc, err, done) {
         done = typeof done !== 'undefined' ? done: function(){};
         kimchi.requestJSON({
-            url : "/config/capabilities",
+            url : "config/capabilities",
             type : "GET",
             contentType : "application/json",
             dataType : "json",
@@ -69,7 +69,7 @@ var kimchi = {
      */
     getI18n: function(suc, err, url, sync) {
         kimchi.requestJSON({
-            url : url ? url : kimchi.url + 'i18n.json',
+            url : url ? url : 'i18n.json',
             type : 'GET',
             resend: true,
             dataType : 'json',
@@ -84,7 +84,7 @@ var kimchi = {
      */
     getHost: function(suc, err) {
         kimchi.requestJSON({
-            url : kimchi.url + 'host',
+            url : 'host',
             type : 'GET',
             resend: true,
             contentType : 'application/json',
@@ -99,7 +99,7 @@ var kimchi = {
      */
     getHostStats : function(suc, err) {
         kimchi.requestJSON({
-            url : kimchi.url + 'host/stats',
+            url : 'host/stats',
             type : 'GET',
             contentType : 'application/json',
             headers: {'Kimchi-Robot': 'kimchi-robot'},
@@ -114,7 +114,7 @@ var kimchi = {
      */
     getHostStatsHistory : function(suc, err) {
         kimchi.requestJSON({
-            url : kimchi.url + 'host/stats/history',
+            url : 'host/stats/history',
             type : 'GET',
             resend: true,
             contentType : 'application/json',
@@ -138,7 +138,7 @@ var kimchi = {
      */
     createVM : function(settings, suc, err) {
         kimchi.requestJSON({
-            url : "/vms",
+            url : "vms",
             type : "POST",
             contentType : "application/json",
             data : JSON.stringify(settings),
@@ -154,7 +154,7 @@ var kimchi = {
      */
     createTemplate : function(settings, suc, err) {
         kimchi.requestJSON({
-            url : "/templates",
+            url : "templates",
             type : "POST",
             contentType : "application/json",
             data : JSON.stringify(settings),
@@ -166,7 +166,7 @@ var kimchi = {
 
     deleteTemplate : function(tem, suc, err) {
         kimchi.requestJSON({
-            url : kimchi.url + 'templates/' + encodeURIComponent(tem),
+            url : 'templates/' + encodeURIComponent(tem),
             type : 'DELETE',
             contentType : 'application/json',
             dataType : 'json',
@@ -177,7 +177,7 @@ var kimchi = {
 
     cloneTemplate : function(tem, suc, err) {
         kimchi.requestJSON({
-            url : kimchi.url + 'templates/' + encodeURIComponent(tem) + "/clone",
+            url : 'templates/' + encodeURIComponent(tem) + "/clone",
             type : 'POST',
             contentType : 'application/json',
             dataType : 'json',
@@ -188,7 +188,7 @@ var kimchi = {
 
     listTemplates : function(suc, err) {
         kimchi.requestJSON({
-            url : kimchi.url + 'templates',
+            url : 'templates',
             type : 'GET',
             contentType : 'application/json',
             dataType : 'json',
@@ -202,7 +202,7 @@ var kimchi = {
      */
     retrieveTemplate : function(templateName, suc, err) {
         kimchi.requestJSON({
-            url : kimchi.url + "templates/" + encodeURIComponent(templateName),
+            url : "templates/" + encodeURIComponent(templateName),
             type : 'GET',
             contentType : 'application/json',
             dataType : 'json'
@@ -216,7 +216,7 @@ var kimchi = {
      */
     updateTemplate : function(name, settings, suc, err) {
         $.ajax({
-            url : kimchi.url + "templates/" + encodeURIComponent(name),
+            url : "templates/" + encodeURIComponent(name),
             type : 'PUT',
             contentType : 'application/json',
             data : JSON.stringify(settings),
@@ -232,7 +232,7 @@ var kimchi = {
      */
     createStoragePool : function(settings, suc, err) {
         kimchi.requestJSON({
-            url : '/storagepools',
+            url : 'storagepools',
             type : 'POST',
             contentType : 'application/json',
             data : JSON.stringify(settings),
@@ -242,7 +242,7 @@ var kimchi = {
 
     updateStoragePool : function(name, content, suc, err) {
         $.ajax({
-            url : kimchi.url + "storagepools/" + encodeURIComponent(name),
+            url : "storagepools/" + encodeURIComponent(name),
             type : 'PUT',
             contentType : 'application/json',
             dataType : 'json',
@@ -254,7 +254,7 @@ var kimchi = {
 
     startVM : function(vm, suc, err) {
         kimchi.requestJSON({
-            url : kimchi.url + 'vms/' + encodeURIComponent(vm) + '/start',
+            url : 'vms/' + encodeURIComponent(vm) + '/start',
             type : 'POST',
             contentType : 'application/json',
             dataType : 'json',
@@ -265,7 +265,7 @@ var kimchi = {
 
     poweroffVM : function(vm, suc, err) {
         kimchi.requestJSON({
-            url : kimchi.url + 'vms/' + encodeURIComponent(vm) + '/poweroff',
+            url : 'vms/' + encodeURIComponent(vm) + '/poweroff',
             type : 'POST',
             contentType : 'application/json',
             dataType : 'json',
@@ -276,7 +276,7 @@ var kimchi = {
 
     shutdownVM : function(vm, suc, err) {
         kimchi.requestJSON({
-            url : kimchi.url + 'vms/' + encodeURIComponent(vm) + '/shutdown',
+            url : 'vms/' + encodeURIComponent(vm) + '/shutdown',
             type : 'POST',
             contentType : 'application/json',
             dataType : 'json',
@@ -287,7 +287,7 @@ var kimchi = {
 
     resetVM : function(vm, suc, err) {
         kimchi.requestJSON({
-            url : kimchi.url + 'vms/' + encodeURIComponent(vm) + '/reset',
+            url : 'vms/' + encodeURIComponent(vm) + '/reset',
             type : 'POST',
             contentType : 'application/json',
             dataType : 'json',
@@ -305,7 +305,7 @@ var kimchi = {
      */
     retrieveVM : function(vm, suc, err) {
         $.ajax({
-            url : kimchi.url + 'vms/' + encodeURIComponent(vm),
+            url : 'vms/' + encodeURIComponent(vm),
             type : 'GET',
             contentType : 'application/json',
             dataType : 'json',
@@ -319,7 +319,7 @@ var kimchi = {
      */
     updateVM : function(name, settings, suc, err) {
         $.ajax({
-            url : kimchi.url + "vms/" + encodeURIComponent(name),
+            url : "vms/" + encodeURIComponent(name),
             type : 'PUT',
             contentType : 'application/json',
             data : JSON.stringify(settings),
@@ -331,7 +331,7 @@ var kimchi = {
 
     deleteVM : function(vm, suc, err) {
         kimchi.requestJSON({
-            url : kimchi.url + 'vms/' + encodeURIComponent(vm),
+            url : 'vms/' + encodeURIComponent(vm),
             type : 'DELETE',
             contentType : 'application/json',
             dataType : 'json',
@@ -342,13 +342,13 @@ var kimchi = {
 
     vncToVM : function(vm) {
         kimchi.requestJSON({
-            url : '/config',
+            url : 'config',
             type : 'GET',
             dataType : 'json'
         }).done(function(data, textStatus, xhr) {
             proxy_port = data['display_proxy_port'];
             kimchi.requestJSON({
-                url : "/vms/" + encodeURIComponent(vm) + "/connect",
+                url : "vms/" + encodeURIComponent(vm) + "/connect",
                 type : "POST",
                 dataType : "json"
             }).done(function() {
@@ -374,13 +374,13 @@ var kimchi = {
 
     spiceToVM : function(vm) {
         kimchi.requestJSON({
-            url : '/config',
+            url : 'config',
             type : 'GET',
             dataType : 'json'
         }).done(function(data, textStatus, xhr) {
             proxy_port = data['display_proxy_port'];
             kimchi.requestJSON({
-                url : "/vms/" + encodeURIComponent(vm) + "/connect",
+                url : "vms/" + encodeURIComponent(vm) + "/connect",
                 type : "POST",
                 dataType : "json"
             }).done(function(data, textStatus, xhr) {
@@ -406,7 +406,7 @@ var kimchi = {
 
     listVMs : function(suc, err) {
         kimchi.requestJSON({
-            url : kimchi.url + 'vms',
+            url : 'vms',
             type : 'GET',
             contentType : 'application/json',
             headers: {'Kimchi-Robot': 'kimchi-robot'},
@@ -419,7 +419,7 @@ var kimchi = {
 
     listTemplates : function(suc, err) {
         kimchi.requestJSON({
-            url : kimchi.url + 'templates',
+            url : 'templates',
             type : 'GET',
             contentType : 'application/json',
             dataType : 'json',
@@ -431,7 +431,7 @@ var kimchi = {
 
     listStoragePools : function(suc, err) {
         kimchi.requestJSON({
-            url : kimchi.url + 'storagepools',
+            url : 'storagepools',
             type : 'GET',
             contentType : 'application/json',
             dataType : 'json',
@@ -443,7 +443,7 @@ var kimchi = {
 
     listStorageVolumes : function(poolName, suc, err) {
         $.ajax({
-            url : kimchi.url + 'storagepools/' + encodeURIComponent(poolName) + '/storagevolumes',
+            url : 'storagepools/' + encodeURIComponent(poolName) + '/storagevolumes',
             type : 'GET',
             contentType : 'application/json',
             dataType : 'json',
@@ -454,7 +454,7 @@ var kimchi = {
 
     listIsos : function(suc, err) {
         kimchi.requestJSON({
-            url : kimchi.url + 'storagepools/kimchi_isos/storagevolumes',
+            url : 'storagepools/kimchi_isos/storagevolumes',
             type : 'GET',
             contentType : 'application/json',
             dataType : 'json',
@@ -465,7 +465,7 @@ var kimchi = {
 
     listDistros : function(suc, err) {
         kimchi.requestJSON({
-            url : kimchi.url + 'config/distros',
+            url : 'config/distros',
             type : 'GET',
             contentType : 'application/json',
             dataType : 'json',
@@ -527,7 +527,7 @@ var kimchi = {
 
     getTask : function(taskId, suc, err) {
         kimchi.requestJSON({
-            url : kimchi.url + 'tasks/' + encodeURIComponent(taskId),
+            url : 'tasks/' + encodeURIComponent(taskId),
             type : 'GET',
             contentType : 'application/json',
             dataType : 'json',
@@ -538,7 +538,7 @@ var kimchi = {
 
     getTasksByFilter : function(filter, suc, err, sync) {
         kimchi.requestJSON({
-            url : kimchi.url + 'tasks?' + filter,
+            url : 'tasks?' + filter,
             type : 'GET',
             contentType : 'application/json',
             dataType : 'json',
@@ -550,7 +550,7 @@ var kimchi = {
 
     login : function(settings, suc, err) {
         $.ajax({
-            url : "/login",
+            url : "login",
             type : "POST",
             contentType : "application/json",
             data : JSON.stringify(settings),
@@ -560,7 +560,7 @@ var kimchi = {
 
     logout : function(suc, err) {
         kimchi.requestJSON({
-            url : '/logout',
+            url : 'logout',
             type : 'POST',
             contentType : "application/json",
             dataType : "json"
@@ -569,7 +569,7 @@ var kimchi = {
 
     deleteStoragePool : function(poolName, suc, err) {
         $.ajax({
-            url : kimchi.url + 'storagepools/' + encodeURIComponent(poolName),
+            url : 'storagepools/' + encodeURIComponent(poolName),
             type : 'DELETE',
             contentType : 'application/json',
             dataType : 'json',
@@ -581,7 +581,7 @@ var kimchi = {
     changePoolState : function(poolName, state, suc, err) {
         if (state === 'activate' || state === 'deactivate')
             $.ajax({
-                url : kimchi.url + 'storagepools/' + encodeURIComponent(poolName) + '/' + state,
+                url : 'storagepools/' + encodeURIComponent(poolName) + '/' + state,
                 type : 'POST',
                 contentType : 'application/json',
                 dataType : 'json',
@@ -592,7 +592,7 @@ var kimchi = {
 
     listPlugins : function(suc, err, sync) {
         kimchi.requestJSON({
-            url : kimchi.url + 'plugins',
+            url : 'plugins',
             type : 'GET',
             contentType : 'application/json',
             dataType : 'json',
@@ -605,7 +605,7 @@ var kimchi = {
 
     listNetworks : function(suc, err) {
         kimchi.requestJSON({
-            url : kimchi.url + 'networks',
+            url : 'networks',
             type : 'GET',
             contentType : 'application/json',
             dataType : 'json',
@@ -620,7 +620,7 @@ var kimchi = {
     toggleNetwork : function(name, on, suc, err) {
         var action = on ? "activate" : "deactivate";
         kimchi.requestJSON({
-            url : kimchi.url + 'networks/' + encodeURIComponent(name) + '/' + action,
+            url : 'networks/' + encodeURIComponent(name) + '/' + action,
             type : 'POST',
             contentType : 'application/json',
             dataType : 'json',
@@ -633,7 +633,7 @@ var kimchi = {
 
     createNetwork : function(network, suc, err) {
         kimchi.requestJSON({
-            url : kimchi.url + 'networks',
+            url : 'networks',
             type : 'POST',
             contentType : 'application/json',
             dataType : 'json',
@@ -647,7 +647,7 @@ var kimchi = {
 
     getInterfaces : function(suc, err) {
         kimchi.requestJSON({
-            url : kimchi.url + 'interfaces',
+            url : 'interfaces',
             type : 'GET',
             contentType : 'application/json',
             dataType : 'json',
@@ -661,7 +661,7 @@ var kimchi = {
 
     deleteNetwork : function(name, suc, err) {
         kimchi.requestJSON({
-            url : kimchi.url + 'networks/' + encodeURIComponent(name),
+            url : 'networks/' + encodeURIComponent(name),
             type : 'DELETE',
             contentType : 'application/json',
             dataType : 'json',
@@ -674,7 +674,7 @@ var kimchi = {
 
     listReports : function(suc, err) {
         kimchi.requestJSON({
-            url : kimchi.url + 'debugreports',
+            url : 'debugreports',
             type : 'GET',
             contentType : 'application/json',
             dataType : 'json',
@@ -717,7 +717,7 @@ var kimchi = {
         };
 
         kimchi.requestJSON({
-            url : kimchi.url + 'debugreports',
+            url : 'debugreports',
             type : "POST",
             contentType : "application/json",
             data : JSON.stringify(settings),
@@ -729,7 +729,7 @@ var kimchi = {
 
     renameReport : function(name, settings, suc, err) {
         $.ajax({
-            url : kimchi.url + "debugreports/" + encodeURIComponent(name),
+            url : "debugreports/" + encodeURIComponent(name),
             type : 'PUT',
             contentType : 'application/json',
             data : JSON.stringify(settings),
@@ -742,7 +742,7 @@ var kimchi = {
     deleteReport: function(settings, suc, err) {
         var reportName = encodeURIComponent(settings['name']);
         kimchi.requestJSON({
-            url : kimchi.url + 'debugreports/' + reportName,
+            url : 'debugreports/' + reportName,
             type : 'DELETE',
             contentType : 'application/json',
             dataType : 'json',
@@ -757,7 +757,7 @@ var kimchi = {
 
     shutdown: function(settings, suc, err) {
         var reboot = settings && settings['reboot'] === true;
-        var url = kimchi.url + 'host/' + (reboot ? 'reboot' : 'shutdown');
+        var url = 'host/' + (reboot ? 'reboot' : 'shutdown');
         kimchi.requestJSON({
             url : url,
             type : 'POST',
@@ -770,7 +770,7 @@ var kimchi = {
 
     listHostPartitions : function(suc, err) {
         kimchi.requestJSON({
-            url : kimchi.url + 'host/partitions',
+            url : 'host/partitions',
             type : 'GET',
             contentType : 'application/json',
             dataType : 'json',
@@ -780,7 +780,7 @@ var kimchi = {
     },
 
     getStorageServers: function(type, suc, err) {
-        var url = kimchi.url + 'storageservers?_target_type=' + type;
+        var url = 'storageservers?_target_type=' + type;
         kimchi.requestJSON({
             url : url,
             type : 'GET',
@@ -794,7 +794,7 @@ var kimchi = {
     },
 
     getStorageTargets: function(server,type, suc, err) {
-        var url = kimchi.url + 'storageservers/' + server + '/storagetargets?_target_type=' + type;
+        var url = 'storageservers/' + server + '/storagetargets?_target_type=' + type;
         kimchi.requestJSON({
             url : url,
             type : 'GET',
@@ -820,7 +820,7 @@ var kimchi = {
     },
 
     getStoragePoolVolume: function(poolName, volumeName, suc, err) {
-        var url = kimchi.url + 'storagepools/' + encodeURIComponent(poolName) + '/storagevolumes/' + encodeURIComponent(volumeName);
+        var url = 'storagepools/' + encodeURIComponent(poolName) + '/storagevolumes/' + encodeURIComponent(volumeName);
         kimchi.requestJSON({
             url : url,
             type : 'GET',
@@ -836,7 +836,7 @@ var kimchi = {
         var vm = encodeURIComponent(settings['vm']);
         delete settings['vm'];
         kimchi.requestJSON({
-            url : kimchi.url + 'vms/' + vm + '/storages',
+            url : 'vms/' + vm + '/storages',
             type : 'POST',
             contentType : 'application/json',
             data : JSON.stringify(settings),
@@ -850,7 +850,7 @@ var kimchi = {
         var vm = encodeURIComponent(settings['vm']);
         var dev = encodeURIComponent(settings['dev']);
         kimchi.requestJSON({
-            url : kimchi.url + "vms/" + vm + '/storages/' + dev,
+            url : "vms/" + vm + '/storages/' + dev,
             type : 'GET',
             contentType : 'application/json',
             dataType : 'json',
@@ -863,7 +863,7 @@ var kimchi = {
         var vm = encodeURIComponent(settings['vm']);
         var dev = encodeURIComponent(settings['dev']);
         kimchi.requestJSON({
-            url : kimchi.url + 'vms/' + vm + '/storages/' + dev,
+            url : 'vms/' + vm + '/storages/' + dev,
             type : 'PUT',
             contentType : 'application/json',
             data : JSON.stringify({
@@ -879,7 +879,7 @@ var kimchi = {
         var vm = settings['vm'];
         var dev = settings['dev'];
         kimchi.requestJSON({
-            url : kimchi.url + 'vms/' + encodeURIComponent(vm) +
+            url : 'vms/' + encodeURIComponent(vm) +
                       '/storages/' + encodeURIComponent(dev),
             type : 'DELETE',
             contentType : 'application/json',
@@ -892,7 +892,7 @@ var kimchi = {
     listVMStorages : function(params, suc, err) {
         var vm = encodeURIComponent(params['vm']);
         var type = params['storageType'];
-        var url = kimchi.url + 'vms/' + vm + '/storages';
+        var url = 'vms/' + vm + '/storages';
         if(type) {
             url += '?type=' + type;
         }
@@ -908,7 +908,7 @@ var kimchi = {
 
     listSoftwareUpdates : function(suc, err) {
         kimchi.requestJSON({
-            url : kimchi.url + 'host/packagesupdate',
+            url : 'host/packagesupdate',
             type : 'GET',
             contentType : 'application/json',
             dataType : 'json',
@@ -948,7 +948,7 @@ var kimchi = {
         };
 
         kimchi.requestJSON({
-            url : kimchi.url + 'host/swupdate',
+            url : 'host/swupdate',
             type : "POST",
             contentType : "application/json",
             dataType : "json",
@@ -972,7 +972,7 @@ var kimchi = {
     retrieveRepository : function(repository, suc, err) {
         var reposID = encodeURIComponent(repository);
         kimchi.requestJSON({
-            url : kimchi.url + "host/repositories/" + reposID,
+            url : "host/repositories/" + reposID,
             type : 'GET',
             contentType : 'application/json',
             dataType : 'json',
@@ -984,7 +984,7 @@ var kimchi = {
     updateRepository : function(name, settings, suc, err) {
         var reposID = encodeURIComponent(name);
         $.ajax({
-            url : kimchi.url + "host/repositories/" + reposID,
+            url : "host/repositories/" + reposID,
             type : 'PUT',
             contentType : 'application/json',
             data : JSON.stringify(settings),
@@ -997,7 +997,7 @@ var kimchi = {
     enableRepository : function(name, enable, suc, err) {
         var reposID = encodeURIComponent(name);
         $.ajax({
-            url : kimchi.url + "host/repositories/" + reposID +
+            url : "host/repositories/" + reposID +
                 '/' + (enable === true ? 'enable' : 'disable'),
             type : 'POST',
             contentType : 'application/json',
@@ -1010,7 +1010,7 @@ var kimchi = {
     deleteRepository : function(repository, suc, err) {
         var reposID = encodeURIComponent(repository);
         kimchi.requestJSON({
-            url : kimchi.url + 'host/repositories/' + reposID,
+            url : 'host/repositories/' + reposID,
             type : 'DELETE',
             contentType : 'application/json',
             dataType : 'json',
@@ -1021,7 +1021,7 @@ var kimchi = {
 
     listRepositories : function(suc, err) {
         kimchi.requestJSON({
-            url : kimchi.url + 'host/repositories',
+            url : 'host/repositories',
             type : 'GET',
             contentType : 'application/json',
             dataType : 'json',
@@ -1032,7 +1032,7 @@ var kimchi = {
     },
 
     getHostFCDevices: function(suc, err) {
-        var url = kimchi.url+'host/devices?_cap=fc_host';
+        var url = 'host/devices?_cap=fc_host';
         kimchi.requestJSON({
             url : url,
             type : 'GET',
@@ -1046,7 +1046,7 @@ var kimchi = {
     },
 
     getGuestInterfaces: function(name, suc, err) {
-        var url = kimchi.url+'vms/'+encodeURIComponent(name)+'/ifaces';
+        var url = 'vms/'+encodeURIComponent(name)+'/ifaces';
         kimchi.requestJSON({
             url : url,
             type : 'GET',
@@ -1061,7 +1061,7 @@ var kimchi = {
 
     createGuestInterface : function(name, interface, suc, err) {
         kimchi.requestJSON({
-            url : kimchi.url+'vms/'+encodeURIComponent(name)+'/ifaces',
+            url : 'vms/'+encodeURIComponent(name)+'/ifaces',
             type : 'POST',
             contentType : 'application/json',
             dataType : 'json',
@@ -1075,7 +1075,7 @@ var kimchi = {
 
     deleteGuestInterface : function(vm, mac, suc, err) {
         kimchi.requestJSON({
-            url : kimchi.url+'vms/'+encodeURIComponent(vm)+'/ifaces/'+encodeURIComponent(mac),
+            url : 'vms/'+encodeURIComponent(vm)+'/ifaces/'+encodeURIComponent(mac),
             type : 'DELETE',
             contentType : 'application/json',
             dataType : 'json',
@@ -1088,7 +1088,7 @@ var kimchi = {
 
     updateGuestInterface : function(vm, mac, interface, suc, err) {
         $.ajax({
-            url : kimchi.url+'vms/'+encodeURIComponent(vm)+'/ifaces/'+encodeURIComponent(mac),
+            url : 'vms/'+encodeURIComponent(vm)+'/ifaces/'+encodeURIComponent(mac),
             type : 'PUT',
             contentType : 'application/json',
             data : JSON.stringify(interface),
@@ -1102,7 +1102,7 @@ var kimchi = {
 
     getUserById : function(data, suc, err) {
         kimchi.requestJSON({
-            url : kimchi.url + 'users?_user_id=' + data.user_id,
+            url : 'users?_user_id=' + data.user_id,
             type : 'GET',
             contentType : 'application/json',
             dataType : 'json',
@@ -1117,7 +1117,7 @@ var kimchi = {
 
     getUsers : function(suc, err) {
         kimchi.requestJSON({
-            url : kimchi.url + 'users',
+            url : 'users',
             type : 'GET',
             contentType : 'application/json',
             dataType : 'json',
@@ -1131,7 +1131,7 @@ var kimchi = {
 
     getGroups : function(suc, err) {
         kimchi.requestJSON({
-            url : kimchi.url + 'groups',
+            url : 'groups',
             type : 'GET',
             contentType : 'application/json',
             dataType : 'json',
@@ -1145,7 +1145,7 @@ var kimchi = {
 
     getHostPCIDevices : function(suc, err) {
         kimchi.requestJSON({
-            url : kimchi.url + 'host/devices?_passthrough=true&_cap=pci',
+            url : 'host/devices?_passthrough=true&_cap=pci',
             type : 'GET',
             contentType : 'application/json',
             dataType : 'json',
@@ -1159,7 +1159,7 @@ var kimchi = {
 
     getPCIDeviceCompanions : function(pcidev, suc, err) {
         kimchi.requestJSON({
-            url : kimchi.url + 'host/devices?_passthrough_affected_by=' + pcidev,
+            url : 'host/devices?_passthrough_affected_by=' + pcidev,
             type : 'GET',
             contentType : 'application/json',
             dataType : 'json',
@@ -1175,7 +1175,7 @@ var kimchi = {
         server = encodeURIComponent(server);
         port = port ? '&_server_port='+encodeURIComponent(port) : '';
         kimchi.requestJSON({
-            url : kimchi.url + 'storageservers/'+server+'/storagetargets?_target_type=iscsi'+port,
+            url : 'storageservers/'+server+'/storagetargets?_target_type=iscsi'+port,
             type : 'GET',
             contentType : 'application/json',
             dataType : 'json',
@@ -1189,7 +1189,7 @@ var kimchi = {
 
     getPeers : function(suc, err) {
         kimchi.requestJSON({
-            url : kimchi.url + 'peers',
+            url : 'peers',
             type : 'GET',
             contentType : 'application/json',
             dataType : 'json',
@@ -1203,7 +1203,7 @@ var kimchi = {
 
     getVMPCIDevices : function(id, suc, err) {
         kimchi.requestJSON({
-            url : kimchi.url + 'vms/'+encodeURIComponent(id)+'/hostdevs',
+            url : 'vms/'+encodeURIComponent(id)+'/hostdevs',
             type : 'GET',
             contentType : 'application/json',
             dataType : 'json',
@@ -1217,7 +1217,7 @@ var kimchi = {
 
     addVMPCIDevice : function(vm, device, suc, err) {
         kimchi.requestJSON({
-            url : kimchi.url + 'vms/'+ encodeURIComponent(vm) +'/hostdevs',
+            url : 'vms/'+ encodeURIComponent(vm) +'/hostdevs',
             type : 'POST',
             contentType : 'application/json',
             dataType : 'json',
@@ -1231,7 +1231,7 @@ var kimchi = {
 
     removeVMPCIDevice : function(vm, device, suc, err) {
         kimchi.requestJSON({
-            url : kimchi.url + 'vms/'+ encodeURIComponent(vm) +'/hostdevs/' + encodeURIComponent(device),
+            url : 'vms/'+ encodeURIComponent(vm) +'/hostdevs/' + encodeURIComponent(device),
             type : 'DELETE',
             contentType : 'application/json',
             dataType : 'json',
@@ -1249,7 +1249,7 @@ var kimchi = {
         var fd = settings['formData'];
         var sp = encodeURIComponent(settings['sp']);
         kimchi.requestJSON({
-            url : kimchi.url + 'storagepools/' + sp + '/storagevolumes',
+            url : 'storagepools/' + sp + '/storagevolumes',
             type : 'POST',
             data : fd,
             processData : false,
@@ -1267,7 +1267,7 @@ var kimchi = {
         var sp = encodeURIComponent(settings['sp']);
         delete settings['sp'];
         kimchi.requestJSON({
-            url : kimchi.url + 'storagepools/' + sp + '/storagevolumes',
+            url : 'storagepools/' + sp + '/storagevolumes',
             type : 'POST',
             data : JSON.stringify(settings),
             contentType : 'application/json',
@@ -1279,7 +1279,7 @@ var kimchi = {
 
     cloneGuest: function(vm, suc, err) {
         kimchi.requestJSON({
-            url : kimchi.url + 'vms/'+encodeURIComponent(vm)+"/clone",
+            url : 'vms/'+encodeURIComponent(vm)+"/clone",
             type : 'POST',
             contentType : 'application/json',
             dataType : 'json',
@@ -1292,7 +1292,7 @@ var kimchi = {
 
     listSnapshots : function(vm, suc, err) {
         kimchi.requestJSON({
-            url : kimchi.url+'vms/'+encodeURIComponent(vm)+'/snapshots',
+            url : 'vms/'+encodeURIComponent(vm)+'/snapshots',
             type : 'GET',
             contentType : 'application/json',
             dataType : 'json',
@@ -1306,7 +1306,7 @@ var kimchi = {
 
     getCurrentSnapshot : function(vm, suc, err, sync) {
         kimchi.requestJSON({
-            url : kimchi.url+'vms/'+encodeURIComponent(vm)+'/snapshots/current',
+            url : 'vms/'+encodeURIComponent(vm)+'/snapshots/current',
             type : 'GET',
             contentType : 'application/json',
             dataType : 'json',
@@ -1321,7 +1321,7 @@ var kimchi = {
 
     revertSnapshot : function(vm, snapshot, suc, err) {
         kimchi.requestJSON({
-            url : kimchi.url+'vms/'+encodeURIComponent(vm)+'/snapshots/'+encodeURIComponent(snapshot)+'/revert',
+            url : 'vms/'+encodeURIComponent(vm)+'/snapshots/'+encodeURIComponent(snapshot)+'/revert',
             type : 'POST',
             contentType : 'application/json',
             dataType : 'json',
@@ -1334,7 +1334,7 @@ var kimchi = {
 
     createSnapshot : function(vm, suc, err) {
         kimchi.requestJSON({
-            url : kimchi.url+'vms/'+encodeURIComponent(vm)+'/snapshots',
+            url : 'vms/'+encodeURIComponent(vm)+'/snapshots',
             type : 'POST',
             contentType : 'application/json',
             dataType : 'json',
@@ -1347,7 +1347,7 @@ var kimchi = {
 
     deleteSnapshot : function(vm, snapshot, suc, err) {
         kimchi.requestJSON({
-            url : kimchi.url+'vms/'+encodeURIComponent(vm)+'/snapshots/'+encodeURIComponent(snapshot),
+            url : 'vms/'+encodeURIComponent(vm)+'/snapshots/'+encodeURIComponent(snapshot),
             type : 'DELETE',
             contentType : 'application/json',
             dataType : 'json',
@@ -1360,7 +1360,7 @@ var kimchi = {
 
     getCPUInfo : function(suc, err) {
         kimchi.requestJSON({
-            url : kimchi.url + 'host/cpuinfo',
+            url : 'host/cpuinfo',
             type : 'GET',
             contentType : 'application/json',
             dataType : 'json',
diff --git a/ui/js/src/kimchi.guest_main.js b/ui/js/src/kimchi.guest_main.js
index 21caf1b..1e79536 100644
--- a/ui/js/src/kimchi.guest_main.js
+++ b/ui/js/src/kimchi.guest_main.js
@@ -261,7 +261,10 @@ kimchi.createGuestLi = function(vmObject, prevScreenImage, openMenu) {
     guestTitle.html(vmObject.name);
 
     //Setup the VM console thumbnail display
-    var curImg = vmObject.screenshot || vmObject.icon;
+    var curImg = vmObject.icon;
+    if (vmObject.screenshot) {
+        curImg = vmObject.screenshot.replace(/^\//,'');
+    }
     var load_src = curImg || 'images/icon-vm.png';
     var tile_src = prevScreenImage || vmObject['load-src'];
     var liveTile=result.find('div[name=guest-tile] > .tile');
diff --git a/ui/js/src/kimchi.login.js b/ui/js/src/kimchi.login.js
index 19b8691..556fbda 100644
--- a/ui/js/src/kimchi.login.js
+++ b/ui/js/src/kimchi.login.js
@@ -57,7 +57,7 @@ kimchi.login_main = function() {
                 var next_url = lastPage ? lastPage.replace(/\"/g,'') : "/";
             }
             kimchi.cookie.set('roles',JSON.stringify(data.roles));
-            window.location.replace(next_url)
+            window.location.replace(window.location.pathname.replace(/\/+login.html/, '') + next_url)
         }, function() {
             $("#messUserPass").show();
             $("#messSession").hide();
diff --git a/ui/js/src/kimchi.main.js b/ui/js/src/kimchi.main.js
index a02a442..762ce68 100644
--- a/ui/js/src/kimchi.main.js
+++ b/ui/js/src/kimchi.main.js
@@ -90,8 +90,8 @@ kimchi.main = function() {
         return tabs;
     };
 
-    var tabConfigUrl = '/config/ui/tabs.xml';
-    var pluginConfigUrl = '/plugins/{plugin}/ui/config/tab-ext.xml';
+    var tabConfigUrl = 'config/ui/tabs.xml';
+    var pluginConfigUrl = 'plugins/{plugin}/ui/config/tab-ext.xml';
     var pluginI18nUrl = 'plugins/{plugin}/i18n.json';
     var DEFAULT_HASH;
     var buildTabs = function(callback) {
@@ -344,9 +344,9 @@ kimchi.checkHelpFile = function(path) {
     var url = ""
     // Find help page path according to tab name
     if (/^tabs/.test(path))
-        url = path.replace("tabs", "/help/" + lang);
+        url = path.replace("tabs", "help/" + lang);
     else if (/^plugins/.test(path))
-        url = path.slice(0, path.lastIndexOf('/')) + "/help/" + lang + path.slice(path.lastIndexOf('/'));
+        url = path.slice(0, path.lastIndexOf('/')) + "help/" + lang + path.slice(path.lastIndexOf('/'));
     // Checking if help page exist.
     $.ajax({
         url: url,
diff --git a/ui/pages/guest.html.tmpl b/ui/pages/guest.html.tmpl
index 3cc2fad..7051ed5 100644
--- a/ui/pages/guest.html.tmpl
+++ b/ui/pages/guest.html.tmpl
@@ -45,7 +45,7 @@
                 <div class="tile ">
                     <img class="imgactive" alt="" src="">
                     <img class="imgload" alt="" src="">
-                    <img class="overlay shutoff-hidden" alt="$_("Start")" src="/images/theme-default/icon-power-down.png" >
+                    <img class="overlay shutoff-hidden" alt="$_("Start")" src="images/theme-default/icon-power-down.png" >
                 </div>
             </div>
            <div class="sortable guest-actions" name="guest-actions">
diff --git a/ui/pages/help/dita-help.xsl b/ui/pages/help/dita-help.xsl
index 9cfeeea..8583a4e 100644
--- a/ui/pages/help/dita-help.xsl
+++ b/ui/pages/help/dita-help.xsl
@@ -9,8 +9,8 @@
             <head>
                 <title><xsl:value-of select="/cshelp/title" /></title>
                 <meta charset="UTF-8" />
-                <link rel="shortcut icon" href="/images/logo.ico" />
-                <link rel="stylesheet" type="text/css" href="/help/kimchi.css" />
+                <link rel="shortcut icon" href="../../images/logo.ico" />
+                <link rel="stylesheet" type="text/css" href="../kimchi.css" />
             </head>
             <body>
                 <xsl:apply-templates select="//cshelp" />
diff --git a/ui/pages/kimchi-ui.html.tmpl b/ui/pages/kimchi-ui.html.tmpl
index 844234d..2366d67 100644
--- a/ui/pages/kimchi-ui.html.tmpl
+++ b/ui/pages/kimchi-ui.html.tmpl
@@ -118,7 +118,7 @@
 <script id="about-tmpl" type="kimchi/template">
     <div class="window about-window">
         <header>
-            <h1 class="title"><img alt="Kimchi logo" src="/images/logo.ico"/> $_("About")</h1>
+            <h1 class="title"><img alt="Kimchi logo" src="images/logo.ico"/> $_("About")</h1>
             <div class="close">X</div>
         </header>
         <div class="content" align="center">
@@ -126,7 +126,7 @@
                 <div>
                     <br/>
                     <br/>
-                    <img src="/images/theme-default/logo-plain.gif"/>
+                    <img src="images/theme-default/logo-plain.gif"/>
                     <br/>
                     <br/>
                     <h2>Kimchi</h2>
diff --git a/ui/pages/storagepool-add.html.tmpl b/ui/pages/storagepool-add.html.tmpl
index 081805b..8ed77a6 100644
--- a/ui/pages/storagepool-add.html.tmpl
+++ b/ui/pages/storagepool-add.html.tmpl
@@ -100,7 +100,7 @@
                         <div class="host-partition">
                             <p class="text-help">
                                 $_("Looking for available partitions ...")
-                                <img src = "../images/theme-default/loading.gif" />
+                                <img src = "images/theme-default/loading.gif" />
                             </p>
                         </div>
                     </section>
diff --git a/ui/pages/tabs/storage.html.tmpl b/ui/pages/tabs/storage.html.tmpl
index d1fdbe4..778cf90 100644
--- a/ui/pages/tabs/storage.html.tmpl
+++ b/ui/pages/tabs/storage.html.tmpl
@@ -43,7 +43,7 @@
 </div>
 <div id="logicalPoolExtend" title="$_("Device path")">
      <p id="loading-info" class="text-help">
-         <img src = "../images/theme-default/loading.gif" />
+         <img src = "images/theme-default/loading.gif" />
          $_("Looking for available partitions ...")
      </p>
      <div class="host-partition">
diff --git a/ui/pages/template-add.html.tmpl b/ui/pages/template-add.html.tmpl
index 81441fd..58cb20f 100644
--- a/ui/pages/template-add.html.tmpl
+++ b/ui/pages/template-add.html.tmpl
@@ -147,7 +147,7 @@
                 <div id="load-remote-iso">
                     <h3 class="step-subtitle">
                         <label>
-                            <img src = "../images/theme-default/loading.gif" />
+                            <img src = "images/theme-default/loading.gif" />
                             $_("Loading default remote ISOs ...")
                         </label>
                     </h3>
-- 
1.9.1




More information about the Kimchi-devel mailing list