Revision c62c6b91
b/ui/static/snf/js/ui/web/ui_icon_view.js | ||
---|---|---|
743 | 743 |
os = "unknown"; |
744 | 744 |
} |
745 | 745 |
|
746 |
return views.IconView.VM_OS_ICON_TPLS[icon_type].format(os); |
|
746 |
return views.IconView.VM_OS_ICON_TPLS()[icon_type].format(os);
|
|
747 | 747 |
} |
748 | 748 |
}) |
749 | 749 |
|
750 |
views.IconView.VM_OS_ICON_TPLS = { |
|
751 |
"medium": "/static/icons/machines/medium/{0}-sprite.png" |
|
750 |
views.IconView.VM_OS_ICON_TPLS = function() { |
|
751 |
return { |
|
752 |
"medium": snf.config.machines_icons_url + "medium/{0}-sprite.png" |
|
753 |
} |
|
752 | 754 |
} |
753 | 755 |
|
754 | 756 |
views.IconView.VM_OS_ICONS = window.os_icons || []; |
b/ui/static/snf/js/ui/web/ui_list_view.js | ||
---|---|---|
324 | 324 |
' list-vm-checkbox" id="checkbox-' + this.id_tpl + vm.id + '"/>'; |
325 | 325 |
|
326 | 326 |
var img = '<img class="os_icon" src="'+ this.get_vm_icon_path(vm, "small") +'" />'; |
327 |
img = img + '<img src="static/icons/indicators/small/progress.gif" class="spinner" />';
|
|
328 |
img = img + '<img src="static/icons/indicators/medium/wave.gif" class="wave" />';
|
|
327 |
img = img + '<img src="'+snf.config.indicators_icons_url+'small/progress.gif" class="spinner" />';
|
|
328 |
img = img + '<img src="'+snf.config.indicators_icons_url+'medium/wave.gif" class="wave" />';
|
|
329 | 329 |
img = img + '<span class="action-indicator" />'; |
330 | 330 |
|
331 | 331 |
var name = util.truncate(vm.get('name'), 25); |
... | ... | |
443 | 443 |
var os = vm.get_os(); |
444 | 444 |
var icons = window.os_icons || views.ListView.VM_OS_ICONS; |
445 | 445 |
if (icons.indexOf(os) == -1) { |
446 |
os = "unknown";
|
|
446 |
os = "okeanos";
|
|
447 | 447 |
} |
448 | 448 |
return os; |
449 | 449 |
}, |
... | ... | |
454 | 454 |
var icons = window.os_icons || views.ListView.VM_OS_ICONS; |
455 | 455 |
|
456 | 456 |
if (icons.indexOf(os) == -1) { |
457 |
os = "unknown";
|
|
457 |
os = "okeanos";
|
|
458 | 458 |
} |
459 | 459 |
|
460 | 460 |
var st = "off"; |
... | ... | |
462 | 462 |
st = "on" |
463 | 463 |
} |
464 | 464 |
|
465 |
return views.ListView.VM_OS_ICON_TPLS[icon_type].format(os, st); |
|
465 |
return views.ListView.VM_OS_ICON_TPLS()[icon_type].format(os, st);
|
|
466 | 466 |
} |
467 | 467 |
}) |
468 | 468 |
|
469 |
views.ListView.VM_OS_ICON_TPLS = { |
|
470 |
"small": "/static/icons/machines/small/{0}-{1}.png" |
|
469 |
views.ListView.VM_OS_ICON_TPLS = function() { |
|
470 |
return { |
|
471 |
"small": snf.config.machines_icons_url + "small/{0}-{1}.png" |
|
472 |
} |
|
471 | 473 |
} |
472 | 474 |
|
473 | 475 |
views.ListView.VM_OS_ICONS = window.os_icons || []; |
b/ui/static/snf/js/ui/web/ui_single_view.js | ||
---|---|---|
307 | 307 |
os = "unknown"; |
308 | 308 |
} |
309 | 309 |
|
310 |
return views.SingleView.VM_OS_ICON_TPLS[icon_type].format(os); |
|
310 |
return views.SingleView.VM_OS_ICON_TPLS()[icon_type].format(os);
|
|
311 | 311 |
} |
312 | 312 |
}) |
313 | 313 |
|
314 |
views.SingleView.VM_OS_ICON_TPLS = { |
|
315 |
"medium": "/static/icons/machines/large/{0}-sprite.png" |
|
314 |
views.SingleView.VM_OS_ICON_TPLS = function() { |
|
315 |
return { |
|
316 |
"medium": snf.config.machines_icons_url + "large/{0}-sprite.png" |
|
317 |
} |
|
316 | 318 |
} |
317 | 319 |
|
318 | 320 |
views.SingleView.VM_OS_ICONS = window.os_icons || []; |
b/ui/static/snf/js/ui/web/ui_vms_base_view.js | ||
---|---|---|
540 | 540 |
icon = icon + "-off"; |
541 | 541 |
} |
542 | 542 |
|
543 |
return "/static/icons/machines/{0}/{1}.png".format(size, icon)
|
|
543 |
return (snf.config.machines_icons_url + "{0}/{1}.png").format(size, icon)
|
|
544 | 544 |
} |
545 | 545 |
|
546 | 546 |
var os_icon_tag = uihelpers.os_icon_tag = function (os, size, active, attrs) { |
b/ui/templates/home.html | ||
---|---|---|
13 | 13 |
<script type="text/javascript" src="{% url javascript_catalog %}"></script> |
14 | 14 |
{% endcomment %} |
15 | 15 |
|
16 |
<link rel="stylesheet" type="text/css" href="static/main.css"/>
|
|
16 |
<link rel="stylesheet" type="text/css" href="{{ UI_MEDIA_URL }}main.css"/>
|
|
17 | 17 |
<!--[if IE]> |
18 |
<style type="text/css" media="all">@import url(static/ie.css);</style>
|
|
18 |
<style type="text/css" media="all">@import url({{ UI_MEDIA_URL }}ie.css);</style>
|
|
19 | 19 |
<![endif]--> |
20 | 20 |
|
21 |
<script src="static/snf/js/lib/jquery.js"></script>
|
|
22 |
<script src="static/snf/js/lib/jquery.cookie.js"></script>
|
|
23 |
<script src="static/snf/js/lib/jquery.client.js"></script>
|
|
24 |
<script src="static/snf/js/lib/jquery.tools.min.js"></script>
|
|
25 |
<script src="static/snf/js/lib/jquery.dataTables.min.js"></script>
|
|
26 |
<script src="static/snf/js/lib/ZeroClipboard.js"></script>
|
|
21 |
<script src="{{ SYNNEFO_JS_LIB_URL }}jquery.js"></script>
|
|
22 |
<script src="{{ SYNNEFO_JS_LIB_URL}}jquery.cookie.js"></script>
|
|
23 |
<script src="{{ SYNNEFO_JS_LIB_URL}}jquery.client.js"></script>
|
|
24 |
<script src="{{ SYNNEFO_JS_LIB_URL}}jquery.tools.min.js"></script>
|
|
25 |
<script src="{{ SYNNEFO_JS_LIB_URL}}jquery.dataTables.min.js"></script>
|
|
26 |
<script src="{{ SYNNEFO_JS_LIB_URL}}ZeroClipboard.js"></script>
|
|
27 | 27 |
|
28 | 28 |
|
29 |
<script src="static/snf/js/lib/underscore.js"></script>
|
|
30 |
<script src="static/snf/js/lib/underscore.string.js"></script>
|
|
31 |
<script src="static/snf/js/lib/backbone.js"></script>
|
|
32 |
<script src="static/snf/js/lib/json2.js"></script>
|
|
33 |
<script src="static/snf/js/lib/stacktrace.js"></script>
|
|
29 |
<script src="{{ SYNNEFO_JS_LIB_URL}}underscore.js"></script>
|
|
30 |
<script src="{{ SYNNEFO_JS_LIB_URL}}underscore.string.js"></script>
|
|
31 |
<script src="{{ SYNNEFO_JS_LIB_URL}}backbone.js"></script>
|
|
32 |
<script src="{{ SYNNEFO_JS_LIB_URL}}json2.js"></script>
|
|
33 |
<script src="{{ SYNNEFO_JS_LIB_URL}}stacktrace.js"></script>
|
|
34 | 34 |
|
35 | 35 |
<!--[if (gte IE 6)&(lte IE 7)]> |
36 |
<script src="static/snf/js/lib/selectivizr.js"></script>
|
|
36 |
<script src="{{ SYNNEFO_JS_LIB_URL}}selectivizr.js"></script>
|
|
37 | 37 |
<! [endif] --> |
38 | 38 |
|
39 | 39 |
<!--[if IE]> |
40 |
<script src="static/snf/js/ui/ie_fixes.js"></script>
|
|
40 |
<script src="{{ SYNNEFO_JS_URL}}ui/ie_fixes.js"></script>
|
|
41 | 41 |
<![endif]--> |
42 | 42 |
|
43 |
<script src="static/snf/js/utils.js"></script>
|
|
44 |
<script src="static/snf/js/sync.js"></script>
|
|
45 |
<script src="static/snf/js/models.js"></script>
|
|
46 |
<script src="static/snf/js/views.js"></script>
|
|
47 |
|
|
48 |
<script src="static/snf/js/ui/web/ui_vms_base_view.js"></script>
|
|
49 |
<script src="static/snf/js/ui/web/ui_error_view.js"></script>
|
|
50 |
<script src="static/snf/js/ui/web/ui_icon_view.js"></script>
|
|
51 |
<script src="static/snf/js/ui/web/ui_single_view.js"></script>
|
|
52 |
<script src="static/snf/js/ui/web/ui_list_view.js"></script>
|
|
53 |
<script src="static/snf/js/ui/web/ui_networks_view.js"></script>
|
|
54 |
<script src="static/snf/js/ui/web/ui_main_view.js"></script>
|
|
55 |
<script src="static/snf/js/ui/web/ui_metadata_view.js"></script>
|
|
56 |
<script src="static/snf/js/ui/web/ui_feedback_view.js"></script>
|
|
57 |
<script src="static/snf/js/ui/web/ui_create_view.js"></script>
|
|
58 |
<script src="static/snf/js/ui/web/ui_connect_view.js"></script>
|
|
43 |
<script src="{{ SYNNEFO_JS_URL}}utils.js"></script>
|
|
44 |
<script src="{{ SYNNEFO_JS_URL}}sync.js"></script>
|
|
45 |
<script src="{{ SYNNEFO_JS_URL}}models.js"></script>
|
|
46 |
<script src="{{ SYNNEFO_JS_URL}}views.js"></script>
|
|
47 |
|
|
48 |
<script src="{{ SYNNEFO_JS_WEB_URL}}ui_vms_base_view.js"></script>
|
|
49 |
<script src="{{ SYNNEFO_JS_WEB_URL}}ui_error_view.js"></script>
|
|
50 |
<script src="{{ SYNNEFO_JS_WEB_URL}}ui_icon_view.js"></script>
|
|
51 |
<script src="{{ SYNNEFO_JS_WEB_URL}}ui_single_view.js"></script>
|
|
52 |
<script src="{{ SYNNEFO_JS_WEB_URL}}ui_list_view.js"></script>
|
|
53 |
<script src="{{ SYNNEFO_JS_WEB_URL}}ui_networks_view.js"></script>
|
|
54 |
<script src="{{ SYNNEFO_JS_WEB_URL}}ui_main_view.js"></script>
|
|
55 |
<script src="{{ SYNNEFO_JS_WEB_URL}}ui_metadata_view.js"></script>
|
|
56 |
<script src="{{ SYNNEFO_JS_WEB_URL}}ui_feedback_view.js"></script>
|
|
57 |
<script src="{{ SYNNEFO_JS_WEB_URL}}ui_create_view.js"></script>
|
|
58 |
<script src="{{ SYNNEFO_JS_WEB_URL}}ui_connect_view.js"></script>
|
|
59 | 59 |
|
60 | 60 |
<!-- the following views require refactor --> |
61 | 61 |
<script src="static/invitations.js"></script> |
... | ... | |
67 | 67 |
window.console.error = function() {}}; |
68 | 68 |
|
69 | 69 |
// initialize zero clipboard |
70 |
ZeroClipboard.setMoviePath( 'static/snf/js/lib/ZeroClipboard.swf' );
|
|
70 |
ZeroClipboard.setMoviePath( '{{ SYNNEFO_JS_LIB_URL}}ZeroClipboard.swf' );
|
|
71 | 71 |
|
72 | 72 |
//populate available image icons array |
73 | 73 |
var os_icons = {{image_icons|safe}}; |
... | ... | |
492 | 492 |
$(document).ready(function() { |
493 | 493 |
$(".css-panes").hide(); |
494 | 494 |
|
495 |
|
|
496 | 495 |
// TODO: match <= 1.9.1 |
497 | 496 |
if ($.browser.mozilla && $.browser.version.substr(0,3) == "1.9") { |
498 | 497 |
synnefo.config.overlay_speed = 0; |
... | ... | |
512 | 511 |
synnefo.config.api_url = '/api/v1.1'; |
513 | 512 |
synnefo.config.logout_url = '{{ logout_redirect }}'; |
514 | 513 |
|
514 |
synnefo.config.media_url = '{{ UI_MEDIA_URL }}'; |
|
515 |
synnefo.config.js_url = '{{ SYNNEFO_JS_URL }}'; |
|
516 |
synnefo.config.indicators_icons_url = '{{ UI_MEDIA_URL }}icons/indicators/'; |
|
517 |
synnefo.config.machines_icons_url = '{{ UI_MEDIA_URL }}icons/machines/'; |
|
518 |
|
|
515 | 519 |
synnefo.ui.init(); |
516 | 520 |
|
517 | 521 |
}) |
b/ui/views.py | ||
---|---|---|
68 | 68 |
HANDLE_WINDOW_EXCEPTIONS = getattr(settings, "UI_HANDLE_WINDOW_EXCEPTIONS", True) |
69 | 69 |
SKIP_TIMEOUTS = getattr(settings, "UI_SKIP_TIMEOUTS", 1) |
70 | 70 |
|
71 |
UI_MEDIA_URL = getattr(settings, "UI_SYNNEFO_MEDIA_URL", "/static/") |
|
72 |
UI_SYNNEFO_MEDIA_URL = getattr(settings, |
|
73 |
"UI_SYNNEFO_MEDIA_URL", UI_MEDIA_URL + "snf/") |
|
74 |
UI_SYNNEFO_JS_URL = getattr(settings, |
|
75 |
"UI_SYNNEFO_JS_URL", UI_SYNNEFO_MEDIA_URL + "js/") |
|
76 |
UI_SYNNEFO_JS_LIB_URL = getattr(settings, |
|
77 |
"UI_SYNNEFO_JS_LIB_URL", UI_SYNNEFO_JS_URL + "lib/") |
|
78 |
UI_SYNNEFO_JS_WEB_URL = getattr(settings, |
|
79 |
"UI_SYNNEFO_JS_WEB_URL", |
|
80 |
UI_SYNNEFO_JS_URL + "ui/web/") |
|
81 |
|
|
71 | 82 |
def template(name, context): |
72 | 83 |
template_path = os.path.join(os.path.dirname(__file__), "templates/") |
73 | 84 |
current_template = template_path + name + '.html' |
... | ... | |
91 | 102 |
'update_hidden_views': json.dumps(UPDATE_HIDDEN_VIEWS), |
92 | 103 |
'handle_window_exceptions': json.dumps(HANDLE_WINDOW_EXCEPTIONS), |
93 | 104 |
'skip_timeouts': json.dumps(SKIP_TIMEOUTS), |
105 |
|
|
106 |
'UI_MEDIA_URL': UI_MEDIA_URL, |
|
107 |
'SYNNEFO_MEDIA_URL': UI_SYNNEFO_MEDIA_URL, |
|
108 |
'SYNNEFO_JS_URL': UI_SYNNEFO_JS_URL, |
|
109 |
'SYNNEFO_JS_LIB_URL': UI_SYNNEFO_JS_LIB_URL, |
|
110 |
'SYNNEFO_JS_WEB_URL': UI_SYNNEFO_JS_WEB_URL, |
|
111 |
|
|
94 | 112 |
'DEBUG': settings.DEBUG} |
95 | 113 |
return template('home', context) |
96 | 114 |
|
Also available in: Unified diff