Mohammed Morsi
2009-Apr-20 14:46 UTC
[Ovirt-devel] [PATCH server] fix incorrect forward vnc url in vm details pane
use javascript to grab the url from the browser and use that instead of generating it server side --- src/app/views/vm/show.rhtml | 13 +++++++++---- src/public/javascripts/ovirt.js | 16 +++++++++++++++- 2 files changed, 24 insertions(+), 5 deletions(-) diff --git a/src/app/views/vm/show.rhtml b/src/app/views/vm/show.rhtml index add29b4..dffcb7b 100644 --- a/src/app/views/vm/show.rhtml +++ b/src/app/views/vm/show.rhtml @@ -88,7 +88,8 @@ <div id="vms_selection_id" style="display:none"><%= @vm.id %></div> <div class="selection_key"> Uuid:<br/> - <%= @vm.forward_vnc ? "VNC uri:<br/>" : "" %> + <%= @vm.forward_vnc && @vm.state == Vm::STATE_RUNNING ? + "VNC uri:<br/>" : "" %> Num vcpus allocated:<br/> Num vcpus used:<br/> Memory allocated:<br/> @@ -101,9 +102,13 @@ </div> <div class="selection_value"> <%=h @vm.uuid %><br/> - <%= url = request.url - url = request.url[0..(url.index('/', 8) - 1)] + ":" + @vm.forward_vnc_port.to_s - @vm.forward_vnc ? (url + "<br/>") : "" %> + <% if @vm.forward_vnc && @vm.state == Vm::STATE_RUNNING %> + <div id="vm_forward_vnc"></div> + <script type="text/javascript"> + $("#vm_forward_vnc").html( + (get_server_from_url() + ":<%= @vm.forward_vnc_port %><br/>")); + </script> + <% end %> <%=h @vm.num_vcpus_allocated %><br/> <%=h @vm.num_vcpus_used %><br/> <%=h @vm.memory_allocated_in_mb %> MB<br/> diff --git a/src/public/javascripts/ovirt.js b/src/public/javascripts/ovirt.js index c24df16..b06f33e 100644 --- a/src/public/javascripts/ovirt.js +++ b/src/public/javascripts/ovirt.js @@ -380,4 +380,18 @@ var VmCreator = { VmCreator.recreateTree(storedOptions); VmCreator.clickCheckboxes(); } -} \ No newline at end of file +} + +// retreives server from url +function get_server_from_url() +{ + var regexS = "https.*" + var regex = new RegExp(regexS); + var results = regex.exec( window.location.href ); + var start = 8; + if(results == null){ + start = 7; + } + var end = window.location.href.indexOf('/', 8) - start; + return window.location.href.substr(start, end); +} -- 1.6.0.6