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