Эх сурвалжийг харах

HUE-2417 [all] Switch mako scripts to use `static` function

Erick Tryzelaar 10 жил өмнө
parent
commit
bac9d57
93 өөрчлөгдсөн 749 нэмэгдсэн , 745 устгасан
  1. 3 3
      apps/about/src/about/templates/admin_wizard.mako
  2. 2 2
      apps/about/src/about/templates/header.mako
  3. 3 3
      apps/beeswax/src/beeswax/templates/choose_delimiter.mako
  4. 3 3
      apps/beeswax/src/beeswax/templates/choose_file.mako
  5. 1 1
      apps/beeswax/src/beeswax/templates/create_database.mako
  6. 3 3
      apps/beeswax/src/beeswax/templates/create_table_manually.mako
  7. 4 4
      apps/beeswax/src/beeswax/templates/define_columns.mako
  8. 28 28
      apps/beeswax/src/beeswax/templates/execute.mako
  9. 4 4
      apps/beeswax/src/beeswax/templates/layout.mako
  10. 2 2
      apps/beeswax/src/beeswax/templates/list_designs.mako
  11. 1 1
      apps/beeswax/src/beeswax/templates/list_history.mako
  12. 1 1
      apps/beeswax/src/beeswax/templates/list_trashed_designs.mako
  13. 2 2
      apps/beeswax/src/beeswax/templates/my_queries.mako
  14. 1 1
      apps/beeswax/src/beeswax/templates/save_results.mako
  15. 6 6
      apps/beeswax/src/beeswax/templates/watch_results.mako
  16. 4 4
      apps/filebrowser/src/filebrowser/templates/display.mako
  17. 1 1
      apps/filebrowser/src/filebrowser/templates/fb_components.mako
  18. 8 8
      apps/filebrowser/src/filebrowser/templates/listdir_components.mako
  19. 24 24
      apps/hbase/src/hbase/templates/app.mako
  20. 20 20
      apps/impala/src/impala/templates/dashboard.mako
  21. 2 2
      apps/jobbrowser/src/jobbrowser/templates/attempt.mako
  22. 1 1
      apps/jobbrowser/src/jobbrowser/templates/attempt_logs.mako
  23. 2 2
      apps/jobbrowser/src/jobbrowser/templates/job.mako
  24. 4 4
      apps/jobbrowser/src/jobbrowser/templates/job_attempt_logs.mako
  25. 2 2
      apps/jobbrowser/src/jobbrowser/templates/job_not_assigned.mako
  26. 1 1
      apps/jobbrowser/src/jobbrowser/templates/jobbrowser_components.mako
  27. 4 4
      apps/jobbrowser/src/jobbrowser/templates/jobs.mako
  28. 2 2
      apps/jobbrowser/src/jobbrowser/templates/task.mako
  29. 14 14
      apps/jobsub/src/jobsub/templates/designs.mako
  30. 12 12
      apps/jobsub/src/jobsub/templates/jasmine.mako
  31. 1 1
      apps/metastore/src/metastore/templates/components.mako
  32. 2 2
      apps/metastore/src/metastore/templates/databases.mako
  33. 1 1
      apps/metastore/src/metastore/templates/describe_partitions.mako
  34. 1 1
      apps/metastore/src/metastore/templates/describe_table.mako
  35. 4 4
      apps/metastore/src/metastore/templates/tables.mako
  36. 7 7
      apps/oozie/src/oozie/templates/dashboard/list_oozie_bundle.mako
  37. 2 2
      apps/oozie/src/oozie/templates/dashboard/list_oozie_bundles.mako
  38. 14 14
      apps/oozie/src/oozie/templates/dashboard/list_oozie_coordinator.mako
  39. 2 2
      apps/oozie/src/oozie/templates/dashboard/list_oozie_coordinators.mako
  40. 8 8
      apps/oozie/src/oozie/templates/dashboard/list_oozie_sla.mako
  41. 19 19
      apps/oozie/src/oozie/templates/dashboard/list_oozie_workflow.mako
  42. 3 3
      apps/oozie/src/oozie/templates/dashboard/list_oozie_workflow_action.mako
  43. 2 2
      apps/oozie/src/oozie/templates/dashboard/list_oozie_workflows.mako
  44. 5 5
      apps/oozie/src/oozie/templates/editor/create_coordinator.mako
  45. 1 1
      apps/oozie/src/oozie/templates/editor/create_workflow.mako
  46. 3 3
      apps/oozie/src/oozie/templates/editor/edit_bundle.mako
  47. 6 6
      apps/oozie/src/oozie/templates/editor/edit_coordinator.mako
  48. 22 22
      apps/oozie/src/oozie/templates/editor/edit_workflow.mako
  49. 14 14
      apps/oozie/src/oozie/templates/editor/jasmine.mako
  50. 3 3
      apps/oozie/src/oozie/templates/editor/list_bundles.mako
  51. 3 3
      apps/oozie/src/oozie/templates/editor/list_coordinators.mako
  52. 1 1
      apps/oozie/src/oozie/templates/editor/list_history.mako
  53. 2 2
      apps/oozie/src/oozie/templates/editor/list_trashed_bundles.mako
  54. 2 2
      apps/oozie/src/oozie/templates/editor/list_trashed_coordinators.mako
  55. 2 2
      apps/oozie/src/oozie/templates/editor/list_trashed_workflows.mako
  56. 3 3
      apps/oozie/src/oozie/templates/editor/list_workflows.mako
  57. 13 12
      apps/oozie/src/oozie/templates/editor2/bundle_editor.mako
  58. 17 17
      apps/oozie/src/oozie/templates/editor2/coordinator_editor.mako
  59. 6 6
      apps/oozie/src/oozie/templates/editor2/list_editor_bundles.mako
  60. 7 6
      apps/oozie/src/oozie/templates/editor2/list_editor_coordinators.mako
  61. 7 6
      apps/oozie/src/oozie/templates/editor2/list_editor_workflows.mako
  62. 7 7
      apps/oozie/src/oozie/templates/editor2/submit_job_popup.mako
  63. 20 19
      apps/oozie/src/oozie/templates/editor2/workflow_editor.mako
  64. 2 2
      apps/oozie/src/oozie/templates/navigation-bar.mako
  65. 5 5
      apps/oozie/src/oozie/templates/utils.inc.mako
  66. 18 18
      apps/pig/src/pig/templates/app.mako
  67. 2 2
      apps/rdbms/src/rdbms/templates/common.mako
  68. 21 21
      apps/rdbms/src/rdbms/templates/execute.mako
  69. 4 4
      apps/search/src/search/templates/admin_collections.mako
  70. 28 28
      apps/search/src/search/templates/search.mako
  71. 5 5
      apps/security/src/security/templates/hdfs.mako
  72. 8 8
      apps/security/src/security/templates/hive.mako
  73. 3 3
      apps/security/src/security/templates/layout.mako
  74. 81 81
      apps/spark/src/spark/templates/editor.mako
  75. 5 5
      apps/spark/src/spark/templates/notebooks.mako
  76. 25 25
      apps/sqoop/src/sqoop/templates/app.mako
  77. 1 1
      apps/useradmin/src/useradmin/templates/edit_user.mako
  78. 2 2
      apps/useradmin/src/useradmin/templates/layout.mako
  79. 1 1
      apps/useradmin/src/useradmin/templates/list_groups.mako
  80. 1 1
      apps/useradmin/src/useradmin/templates/list_users.mako
  81. 3 3
      apps/zookeeper/src/zookeeper/templates/shared_components.mako
  82. 1 1
      desktop/core/src/desktop/app_template/src/app_name/templates/shared_components.mako
  83. 1 1
      desktop/core/src/desktop/templates/about_layout.mako
  84. 47 47
      desktop/core/src/desktop/templates/common_dashboard.mako
  85. 52 52
      desktop/core/src/desktop/templates/common_header.mako
  86. 7 7
      desktop/core/src/desktop/templates/common_jasmine.mako
  87. 1 1
      desktop/core/src/desktop/templates/common_tree.mako
  88. 15 15
      desktop/core/src/desktop/templates/home.mako
  89. 9 9
      desktop/core/src/desktop/templates/jasmine.mako
  90. 4 4
      desktop/core/src/desktop/templates/login.mako
  91. 3 3
      desktop/core/src/desktop/templates/unsupported.mako
  92. 10 10
      desktop/libs/indexer/src/indexer/templates/collections.mako
  93. 9 9
      desktop/libs/liboauth/src/liboauth/templates/oauth-login.mako

+ 3 - 3
apps/about/src/about/templates/admin_wizard.mako

@@ -60,7 +60,7 @@ ${ header.menubar() }
                 <div id="check-config-section" style="margin-bottom:20px">
                   <div class="spinner">
                     <!--[if !IE]> --><i class="fa fa-spinner fa-spin" style="font-size: 60px; color: #DDD"></i><!-- <![endif]-->
-                    <!--[if IE]><img src="/static/art/spinner.gif" /><![endif]-->
+                    <!--[if IE]><img src="${ static('desktop/art/spinner.gif') }" /><![endif]-->
                   </div>
                   <div class="info hide"></div>
                 </div>
@@ -160,7 +160,7 @@ ${ header.menubar() }
                 <div class="card-body">
                   <p>
                     <a href="${ url('useradmin.views.list_users') }" target="_blank" style="padding-left: 2px"><img
-                        src="/useradmin/static/art/icon_useradmin_48.png" class="app-icon"
+                        src="${ static('useradmin/art/icon_useradmin_48.png') }" class="app-icon"
                         style="margin-right: 4px;"> ${ _('User Admin') }</a>
                   </p>
                 </div>
@@ -282,7 +282,7 @@ ${ header.menubar() }
 
 </style>
 
-<script src="/static/ext/js/routie-0.3.0.min.js" type="text/javascript" charset="utf-8"></script>
+<script src="${ static('desktop/ext/js/routie-0.3.0.min.js') }" type="text/javascript" charset="utf-8"></script>
 
 <script type="text/javascript" charset="utf-8">
 

+ 2 - 2
apps/about/src/about/templates/header.mako

@@ -24,7 +24,7 @@ from django.utils.translation import ugettext as _
           <div class="nav-collapse">
             <ul class="nav">
               <li class="currentApp">
-                <a href="/${app_name}"><img src="/static/art/icon_hue_48.png" class="app-icon" />
+                <a href="/${app_name}"><img src="${ static('desktop/art/icon_hue_48.png') }" class="app-icon" />
                 ${ _('About Hue') }</a>
                </li>
                % if user.is_superuser:
@@ -37,4 +37,4 @@ from django.utils.translation import ugettext as _
         </div>
       </div>
   </div>
-</%def>
+</%def>

+ 3 - 3
apps/beeswax/src/beeswax/templates/choose_delimiter.mako

@@ -25,7 +25,7 @@ from django.utils.translation import ugettext as _
 ${ commonheader(_('Create table from file'), 'metastore', user) | n,unicode }
 ${ layout.metastore_menubar() }
 
-<link rel="stylesheet" href="/metastore/static/css/metastore.css">
+<link rel="stylesheet" href="${ static('metastore/css/metastore.css') }">
 
 <div class="container-fluid">
     <div class="row-fluid">
@@ -140,8 +140,8 @@ ${ layout.metastore_menubar() }
   }
 </style>
 
-<link rel="stylesheet" href="/static/ext/chosen/chosen.min.css">
-<script src="/static/ext/chosen/chosen.jquery.min.js" type="text/javascript" charset="utf-8"></script>
+<link rel="stylesheet" href="${ static('desktop/ext/chosen/chosen.min.css') }">
+<script src="${ static('desktop/ext/chosen/chosen.jquery.min.js') }" type="text/javascript" charset="utf-8"></script>
 
 <script type="text/javascript" charset="utf-8">
   $(document).ready(function () {

+ 3 - 3
apps/beeswax/src/beeswax/templates/choose_file.mako

@@ -24,7 +24,7 @@ from django.utils.translation import ugettext as _
 ${ commonheader(_('Create table from file'), 'metastore', user) | n,unicode }
 ${ layout.metastore_menubar() }
 
-<link rel="stylesheet" href="/metastore/static/css/metastore.css">
+<link rel="stylesheet" href="${ static('metastore/css/metastore.css') }">
 
 <div class="container-fluid">
     <div class="row-fluid">
@@ -165,8 +165,8 @@ ${ layout.metastore_menubar() }
   }
 </style>
 
-<link rel="stylesheet" href="/static/ext/chosen/chosen.min.css">
-<script src="/static/ext/chosen/chosen.jquery.min.js" type="text/javascript" charset="utf-8"></script>
+<link rel="stylesheet" href="${ static('desktop/ext/chosen/chosen.min.css') }">
+<script src="${ static('desktop/ext/chosen/chosen.jquery.min.js') }" type="text/javascript" charset="utf-8"></script>
 
 <script type="text/javascript" charset="utf-8">
   $(document).ready(function () {

+ 1 - 1
apps/beeswax/src/beeswax/templates/create_database.mako

@@ -179,7 +179,7 @@ ${layout.metastore_menubar()}
 </div>
 
 
-<script src="/static/ext/js/routie-0.3.0.min.js" type="text/javascript" charset="utf-8"></script>
+<script src="${ static('desktop/ext/js/routie-0.3.0.min.js') }" type="text/javascript" charset="utf-8"></script>
 
 <script type="text/javascript" charset="utf-8">
 $(document).ready(function () {

+ 3 - 3
apps/beeswax/src/beeswax/templates/create_table_manually.mako

@@ -24,7 +24,7 @@ from django.utils.translation import ugettext as _
 ${ commonheader(_("Create table manually"), 'metastore', user) | n,unicode }
 ${ layout.metastore_menubar() }
 
-<link rel="stylesheet" href="/metastore/static/css/metastore.css">
+<link rel="stylesheet" href="${ static('metastore/css/metastore.css') }">
 
 <div class="container-fluid">
 <div class="row-fluid">
@@ -469,8 +469,8 @@ ${ layout.metastore_menubar() }
 
 </div>
 
-<link rel="stylesheet" href="/static/ext/chosen/chosen.min.css">
-<script src="/static/ext/chosen/chosen.jquery.min.js" type="text/javascript" charset="utf-8"></script>
+<link rel="stylesheet" href="${ static('desktop/ext/chosen/chosen.min.css') }">
+<script src="${ static('desktop/ext/chosen/chosen.jquery.min.js') }" type="text/javascript" charset="utf-8"></script>
 
 <script type="text/javascript" charset="utf-8">
 $(document).ready(function () {

+ 4 - 4
apps/beeswax/src/beeswax/templates/define_columns.mako

@@ -25,7 +25,7 @@ from django.utils.translation import ugettext as _
 ${ commonheader(_('Create table from file'), 'metastore', user) | n,unicode }
 ${ layout.metastore_menubar() }
 
-<link rel="stylesheet" href="/metastore/static/css/metastore.css">
+<link rel="stylesheet" href="${ static('metastore/css/metastore.css') }">
 
 <div class="container-fluid">
     <div class="row-fluid">
@@ -167,7 +167,7 @@ ${ layout.metastore_menubar() }
   </div>
 </div>
 
-<link href="/static/ext/css/bootstrap-editable.css" rel="stylesheet">
+<link href="${ static('desktop/ext/css/bootstrap-editable.css') }" rel="stylesheet">
 
 <style type="text/css">
   .scrollable {
@@ -180,8 +180,8 @@ ${ layout.metastore_menubar() }
   }
 </style>
 
-<link rel="stylesheet" href="/static/ext/chosen/chosen.min.css">
-<script src="/static/ext/chosen/chosen.jquery.min.js" type="text/javascript" charset="utf-8"></script>
+<link rel="stylesheet" href="${ static('desktop/ext/chosen/chosen.min.css') }">
+<script src="${ static('desktop/ext/chosen/chosen.jquery.min.js') }" type="text/javascript" charset="utf-8"></script>
 
 <script type="text/javascript" charset="utf-8">
   $(document).ready(function () {

+ 28 - 28
apps/beeswax/src/beeswax/templates/execute.mako

@@ -57,7 +57,7 @@ ${layout.menubar(section='query')}
             <ul id="navigatorTables" class="unstyled"></ul>
             <div id="navigatorLoader" class="center">
               <!--[if !IE]><!--><i class="fa fa-spinner fa-spin" style="font-size: 20px; color: #BBB"></i><!--<![endif]-->
-              <!--[if IE]><img src="/static/art/spinner.gif"/><![endif]-->
+              <!--[if IE]><img src="${ static('desktop/art/spinner.gif') }"/><![endif]-->
             </div>
           </div>
         </div>
@@ -334,7 +334,7 @@ ${layout.menubar(section='query')}
           <div class="active tab-pane" id="recentTab">
             <div id="recentLoader">
               <!--[if !IE]><!--><i class="fa fa-spinner fa-spin" style="font-size: 20px; color: #DDD"></i><!--<![endif]-->
-              <!--[if IE]><img src="/static/art/spinner.gif"/><![endif]-->
+              <!--[if IE]><img src="${ static('desktop/art/spinner.gif') }"/><![endif]-->
             </div>
             <table id="recentQueries" class="table table-striped table-condensed datatables" cellpadding="0" cellspacing="0" data-tablescroller-enforce-height="true">
               <thead>
@@ -366,7 +366,7 @@ ${layout.menubar(section='query')}
               <ul data-bind="foreach: $root.design.watch.jobUrls" class="unstyled jobs-overlay">
                 <li><a data-bind="text: $.trim($data.name), attr: { href: $data.url }" target="_blank"></a></li>
               </ul>
-              <pre data-bind="visible: $root.design.watch.logs().length == 0">${_('There are currently no logs to visualize.')} <img src="/static/art/spinner.gif" data-bind="visible: $root.design.isRunning()"/></pre>
+              <pre data-bind="visible: $root.design.watch.logs().length == 0">${_('There are currently no logs to visualize.')} <img src="${ static('desktop/art/spinner.gif') }" data-bind="visible: $root.design.isRunning()"/></pre>
               <pre data-bind="visible: $root.design.watch.logs().length > 0, text: $root.design.watch.logs().join('\n')"></pre>
             </div>
           </div>
@@ -625,7 +625,7 @@ ${layout.menubar(section='query')}
     <div class="loader">
       <div class="overlay"></div>
       <!--[if !IE]><!--><i class="fa fa-spinner fa-spin"></i><!--<![endif]-->
-      <!--[if IE]><img class="spinner" src="/static/art/spinner-big-inverted.gif"/><![endif]-->
+      <!--[if IE]><img class="spinner" src="${ static('desktop/art/spinner-big-inverted.gif') }"/><![endif]-->
     </div>
 
     <div class="modal-header">
@@ -711,7 +711,7 @@ ${layout.menubar(section='query')}
     <div class="modal-body" style="min-height: 100px">
       <div class="loader">
         <!--[if !IE]><!--><i class="fa fa-spinner fa-spin" style="font-size: 30px; color: #DDD"></i><!--<![endif]-->
-        <!--[if IE]><img src="/static/art/spinner.gif"/><![endif]-->
+        <!--[if IE]><img src="${ static('desktop/art/spinner.gif') }"/><![endif]-->
       </div>
       <div class="sample"></div>
     </div>
@@ -723,27 +723,27 @@ ${layout.menubar(section='query')}
 
 ${ commonshare() | n,unicode }
 
-<script src="/static/js/hue.json.js" type="text/javascript" charset="utf-8"></script>
-<script src="/static/ext/js/jquery/plugins/jquery-ui-1.10.4.draggable-droppable-sortable.min.js" type="text/javascript" charset="utf-8"></script>
-<script src="/static/ext/js/routie-0.3.0.min.js" type="text/javascript" charset="utf-8"></script>
-<script src="/static/ext/js/knockout-min.js" type="text/javascript" charset="utf-8"></script>
-<script src="/static/ext/js/knockout.mapping-2.3.2.js" type="text/javascript" charset="utf-8"></script>
-<script src="/beeswax/static/js/beeswax.vm.js"></script>
-<script src="/static/js/share.vm.js"></script>
-
-<script src="/static/ext/js/codemirror-3.11.js"></script>
-<link rel="stylesheet" href="/static/ext/css/codemirror.css">
-<script src="/static/js/codemirror-hql.js"></script>
+<script src="${ static('desktop/js/hue.json.js') }" type="text/javascript" charset="utf-8"></script>
+<script src="${ static('desktop/ext/js/jquery/plugins/jquery-ui-1.10.4.draggable-droppable-sortable.min.js') }" type="text/javascript" charset="utf-8"></script>
+<script src="${ static('desktop/ext/js/routie-0.3.0.min.js') }" type="text/javascript" charset="utf-8"></script>
+<script src="${ static('desktop/ext/js/knockout-min.js') }" type="text/javascript" charset="utf-8"></script>
+<script src="${ static('desktop/ext/js/knockout.mapping-2.3.2.js') }" type="text/javascript" charset="utf-8"></script>
+<script src="${ static('beeswax/js/beeswax.vm.js') }"></script>
+<script src="${ static('desktop/js/share.vm.js') }"></script>
+
+<script src="${ static('desktop/ext/js/codemirror-3.11.js') }"></script>
+<link rel="stylesheet" href="${ static('desktop/ext/css/codemirror.css') }">
+<script src="${ static('desktop/js/codemirror-hql.js') }"></script>
 % if app_name == 'impala':
-  <script src="/static/js/codemirror-isql-hint.js"></script>
+  <script src="${ static('desktop/js/codemirror-isql-hint.js') }"></script>
 % else:
-  <script src="/static/js/codemirror-hql-hint.js"></script>
+  <script src="${ static('desktop/js/codemirror-hql-hint.js') }"></script>
 % endif
-<script src="/static/js/codemirror-show-hint.js"></script>
+<script src="${ static('desktop/js/codemirror-show-hint.js') }"></script>
 
-<link href="/static/ext/css/bootstrap-editable.css" rel="stylesheet">
-<script src="/static/ext/js/bootstrap-editable.min.js"></script>
-<script src="/static/ext/js/moment-with-locales.min.js"></script>
+<link href="${ static('desktop/ext/css/bootstrap-editable.css') }" rel="stylesheet">
+<script src="${ static('desktop/ext/js/bootstrap-editable.min.js') }"></script>
+<script src="${ static('desktop/ext/js/moment-with-locales.min.js') }"></script>
 
 <style type="text/css">
   h1 {
@@ -966,14 +966,14 @@ ${ commonshare() | n,unicode }
 
 </style>
 
-<link rel="stylesheet" href="/static/ext/css/hue-filetypes.css">
-<link rel="stylesheet" href="/static/ext/css/hue-charts.css">
+<link rel="stylesheet" href="${ static('desktop/ext/css/hue-filetypes.css') }">
+<link rel="stylesheet" href="${ static('desktop/ext/css/hue-charts.css') }">
 
-<script src="/static/ext/js/jquery/plugins/jquery-fieldselection.js" type="text/javascript"></script>
-<script src="/beeswax/static/js/autocomplete.utils.js" type="text/javascript" charset="utf-8"></script>
+<script src="${ static('desktop/ext/js/jquery/plugins/jquery-fieldselection.js') }" type="text/javascript"></script>
+<script src="${ static('beeswax/js/autocomplete.utils.js') }" type="text/javascript" charset="utf-8"></script>
 
-<link rel="stylesheet" href="/static/ext/chosen/chosen.min.css">
-<script src="/static/ext/chosen/chosen.jquery.min.js" type="text/javascript" charset="utf-8"></script>
+<link rel="stylesheet" href="${ static('desktop/ext/chosen/chosen.min.css') }">
+<script src="${ static('desktop/ext/chosen/chosen.jquery.min.js') }" type="text/javascript" charset="utf-8"></script>
 
 ${ dashboard.import_charts() }
 

+ 4 - 4
apps/beeswax/src/beeswax/templates/layout.mako

@@ -33,13 +33,13 @@ def is_selected(section, matcher):
               <li class="currentApp">
                 <a href="/${app_name}">
                 % if app_name == 'impala':
-                  <img src="/impala/static/art/icon_impala_48.png" class="app-icon" />
+                  <img src="${ static('impala/art/icon_impala_48.png') }" class="app-icon" />
                   Impala
                 % elif app_name == 'rdbms':
-                  <img src="/rdbms/static/art/icon_rdbms_48.png" class="app-icon" />
+                  <img src="${ static('rdbms/art/icon_rdbms_48.png') }" class="app-icon" />
                   DB Query
                 % else:
-                  <img src="/beeswax/static/art/icon_beeswax_48.png" class="app-icon" />
+                  <img src="${ static('beeswax/art/icon_beeswax_48.png') }" class="app-icon" />
                   Hive Editor
                 % endif
                 </a>
@@ -63,7 +63,7 @@ def is_selected(section, matcher):
             <ul class="nav">
               <li class="currentApp">
                 <a href="/metastore">
-                  <img src="/metastore/static/art/icon_metastore_48.png" class="app-icon" />
+                  <img src="${ static('metastore/art/icon_metastore_48.png') }" class="app-icon" />
                   ${ _('Metastore Manager') }
                 </a>
               </li>

+ 2 - 2
apps/beeswax/src/beeswax/templates/list_designs.mako

@@ -141,8 +141,8 @@ ${ layout.menubar(section='saved queries') }
   </form>
 </div>
 
-<script src="/static/ext/js/knockout-min.js" type="text/javascript" charset="utf-8"></script>
-<script src="/static/ext/js/moment-with-locales.min.js"></script>
+<script src="${ static('desktop/ext/js/knockout-min.js') }" type="text/javascript" charset="utf-8"></script>
+<script src="${ static('desktop/ext/js/moment-with-locales.min.js') }"></script>
 
 <script type="text/javascript" charset="utf-8">
   $(document).ready(function () {

+ 1 - 1
apps/beeswax/src/beeswax/templates/list_history.mako

@@ -109,7 +109,7 @@ ${ layout.menubar(section='history') }
             <div class="card-body">
               <p>
 
-            <img id="spinner" src="/static/art/spinner.gif" class="hide" />
+            <img id="spinner" src="${ static('desktop/art/spinner.gif') }" class="hide" />
 
             <table class="table table-striped table-condensed datatables" style="padding-left: 0;">
             <thead>

+ 1 - 1
apps/beeswax/src/beeswax/templates/list_trashed_designs.mako

@@ -124,7 +124,7 @@ ${layout.menubar(section='saved queries')}
   </form>
 </div>
 
-<script src="/static/ext/js/knockout-min.js" type="text/javascript" charset="utf-8"></script>
+<script src="${ static('desktop/ext/js/knockout-min.js') }" type="text/javascript" charset="utf-8"></script>
 
 <script type="text/javascript" charset="utf-8">
   $(document).ready(function () {

+ 2 - 2
apps/beeswax/src/beeswax/templates/my_queries.mako

@@ -180,8 +180,8 @@ ${layout.menubar(section='my queries')}
   </form>
 </div>
 
-<script src="/static/ext/js/knockout-min.js" type="text/javascript" charset="utf-8"></script>
-<script src="/static/ext/js/moment-with-locales.min.js"></script>
+<script src="${ static('desktop/ext/js/knockout-min.js') }" type="text/javascript" charset="utf-8"></script>
+<script src="${ static('desktop/ext/js/moment-with-locales.min.js') }"></script>
 
 <script type="text/javascript" charset="utf-8">
   $(document).ready(function () {

+ 1 - 1
apps/beeswax/src/beeswax/templates/save_results.mako

@@ -27,7 +27,7 @@ from django.utils.translation import ugettext as _
 ${ commonheader(_('Create table from file'), app_name, user) | n,unicode }
 ${layout.menubar(section='query')}
 
-<script src="/static/ext/js/knockout-min.js" type="text/javascript" charset="utf-8"></script>
+<script src="${ static('desktop/ext/js/knockout-min.js') }" type="text/javascript" charset="utf-8"></script>
 
 <div class="container-fluid">
 % if error_msg:

+ 6 - 6
apps/beeswax/src/beeswax/templates/watch_results.mako

@@ -71,7 +71,7 @@ ${layout.menubar(section='query')}
     height: 400px;
   }
 </style>
-<link href="/static/ext/css/leaflet.css" rel="stylesheet">
+<link href="${ static('desktop/ext/css/leaflet.css') }" rel="stylesheet">
 
 <div class="container-fluid">
   <div id="expand"><i class="fa fa-chevron-right" style="color: #FFFFFF"></i></div>
@@ -198,7 +198,7 @@ ${layout.menubar(section='query')}
              <div style="text-align: center; padding: 5px; height: 30px">
                <span class="noMore hide"
                      style="color:#999999">${ _('You have reached the last record for this query.') }</span><img
-                     src="/static/art/spinner.gif"
+                     src="${ static('desktop/art/spinner.gif') }"
                      class="spinner"
                      style="display: none;"/>
              </div>
@@ -338,10 +338,10 @@ ${layout.menubar(section='query')}
 </div>
 % endif.resultTable
 
-<script src="/static/ext/js/jquery/plugins/jquery.flot.min.js" type="text/javascript" charset="utf-8"></script>
-<script src="/static/ext/js/jquery/plugins/jquery.flot.categories.min.js" type="text/javascript" charset="utf-8"></script>
-<script src="/static/ext/js/leaflet/leaflet.js" type="text/javascript" charset="utf-8"></script>
-<script src="/static/js/jquery.blueprint.js" type="text/javascript" charset="utf-8"></script>
+<script src="${ static('desktop/ext/js/jquery/plugins/jquery.flot.min.js') }" type="text/javascript" charset="utf-8"></script>
+<script src="${ static('desktop/ext/js/jquery/plugins/jquery.flot.categories.min.js') }" type="text/javascript" charset="utf-8"></script>
+<script src="${ static('desktop/ext/js/leaflet/leaflet.js') }" type="text/javascript" charset="utf-8"></script>
+<script src="${ static('desktop/js/jquery.blueprint.js') }" type="text/javascript" charset="utf-8"></script>
 
 <script type="text/javascript" charset="utf-8">
 $(document).ready(function () {

+ 4 - 4
apps/filebrowser/src/filebrowser/templates/display.mako

@@ -31,7 +31,7 @@
 ${ commonheader(_('%(filename)s - File Viewer') % dict(filename=truncate(filename)), 'filebrowser', user) | n,unicode }
 ${ fb_components.menubar() }
 
-<link href="/filebrowser/static/css/display.css" rel="stylesheet" />
+<link href="${ static('filebrowser/css/display.css') }" rel="stylesheet" />
 <div class="container-fluid">
   <div class="row-fluid">
     <div class="span2">
@@ -79,7 +79,7 @@ ${ fb_components.menubar() }
             <div id="fileArea" data-bind="css: {'loading': isLoading}">
               <div id="loader" data-bind="visible: isLoading">
                 <!--[if !IE]><!--><i class="fa fa-spinner fa-spin"></i><!--<![endif]-->
-                <!--[if IE]><img src="/static/art/spinner.gif"/><![endif]-->
+                <!--[if IE]><img src="${ static('desktop/art/spinner.gif') }"/><![endif]-->
               </div>
               % if 'contents' in view:
                 <pre></pre>
@@ -97,8 +97,8 @@ ${ fb_components.menubar() }
   </div>
 </div>
 
-<script src="/static/ext/js/jquery/plugins/jquery.visible.min.js" type="text/javascript" charset="utf-8"></script>
-<script src="/static/ext/js/knockout-min.js" type="text/javascript" charset="utf-8"></script>
+<script src="${ static('desktop/ext/js/jquery/plugins/jquery.visible.min.js') }" type="text/javascript" charset="utf-8"></script>
+<script src="${ static('desktop/ext/js/knockout-min.js') }" type="text/javascript" charset="utf-8"></script>
 <script type="text/javascript" charset="utf-8">
 (function () {
   <%

+ 1 - 1
apps/filebrowser/src/filebrowser/templates/fb_components.mako

@@ -71,7 +71,7 @@ from django.utils.translation import ugettext as _
             <ul class="nav">
               <li class="currentApp">
                 <a href="/${app_name}">
-                  <img src="/filebrowser/static/art/icon_filebrowser_48.png" class="app-icon" />
+                  <img src="${ static('filebrowser/art/icon_filebrowser_48.png') }" class="app-icon" />
                   ${ _('File Browser') }
                 </a>
               </li>

+ 8 - 8
apps/filebrowser/src/filebrowser/templates/listdir_components.mako

@@ -34,7 +34,7 @@ from django.utils.translation import ugettext as _
 
 <%def name="_table(files, path, current_request_path, view)">
 
-  <link href="/filebrowser/static/css/listdir_components.css" rel="stylesheet" type="text/css">
+  <link href="${ static('filebrowser/css/listdir_components.css') }" rel="stylesheet" type="text/css">
   <table class="table table-condensed datatables tablescroller-disable">
     <thead>
       <tr>
@@ -52,7 +52,7 @@ from django.utils.translation import ugettext as _
     <tfoot>
       <tr data-bind="visible: isLoading()">
         <td colspan="8" class="left">
-          <img src="/static/art/spinner.gif" />
+          <img src="${ static('desktop/art/spinner.gif') }" />
         </td>
       </tr>
       <tr data-bind="visible: files().length === 0 && !isLoading()">
@@ -497,12 +497,12 @@ from django.utils.translation import ugettext as _
     </tr>
   </script>
 
-  <script src="/static/js/jquery.hdfsautocomplete.js" type="text/javascript" charset="utf-8"></script>
-  <script src="/static/js/jquery.hdfstree.js" type="text/javascript" charset="utf-8"></script>
-  <script src="/static/ext/js/knockout-min.js" type="text/javascript" charset="utf-8"></script>
-  <script src="/static/ext/js/jquery/plugins/jquery-ui-1.10.4.draggable-droppable-sortable.min.js" type="text/javascript" charset="utf-8"></script>
-  <script src="/static/ext/js/datatables-paging-0.1.js" type="text/javascript" charset="utf-8"></script>
-  <script src="/static/js/dropzone.js" type="text/javascript" charset="utf-8"></script>
+  <script src="${ static('desktop/js/jquery.hdfsautocomplete.js') }" type="text/javascript" charset="utf-8"></script>
+  <script src="${ static('desktop/js/jquery.hdfstree.js') }" type="text/javascript" charset="utf-8"></script>
+  <script src="${ static('desktop/ext/js/knockout-min.js') }" type="text/javascript" charset="utf-8"></script>
+  <script src="${ static('desktop/ext/js/jquery/plugins/jquery-ui-1.10.4.draggable-droppable-sortable.min.js') }" type="text/javascript" charset="utf-8"></script>
+  <script src="${ static('desktop/ext/js/datatables-paging-0.1.js') }" type="text/javascript" charset="utf-8"></script>
+  <script src="${ static('desktop/js/dropzone.js') }" type="text/javascript" charset="utf-8"></script>
 
 
   <script charset="utf-8">

+ 24 - 24
apps/hbase/src/hbase/templates/app.mako

@@ -22,7 +22,7 @@
 
 ${ commonheader(None, "hbase", user) | n,unicode } 
 
-<link href="/hbase/static/css/hbase.css" rel="stylesheet" type="text/css" />
+<link href="${ static('hbase/css/hbase.css') }" rel="stylesheet" type="text/css" />
 
 <div class="navbar navbar-inverse navbar-fixed-top nokids">
     <div class="navbar-inner">
@@ -31,7 +31,7 @@ ${ commonheader(None, "hbase", user) | n,unicode }
         <ul class="nav">
           <li class="currentApp">
             <a href="/${app_name}">
-              <img src="/hbase/static/art/icon_hbase_48.png" class="app-icon" />
+              <img src="${ static('hbase/art/icon_hbase_48.png') }" class="app-icon" />
               ${ _('HBase Browser') }
             </a>
           </li>
@@ -58,7 +58,7 @@ ${ commonheader(None, "hbase", user) | n,unicode }
         <tr data-bind="visible: ${datasource}.isLoading() || ${datasource}.isReLoading()">
             <td colspan="8" class="left">
               <!--[if !IE]><!--><i class="fa fa-spinner fa-spin" style="font-size: 20px; color: #BBB"></i><!--<![endif]-->
-              <!--[if IE]><img src="/static/art/spinner.gif"/><![endif]-->
+              <!--[if IE]><img src="${ static('desktop/art/spinner.gif') }"/><![endif]-->
             </td>
         </tr>
         <tr data-bind="visible: ${datasource}.items().length == 0 && !${datasource}.isLoading() && !${datasource}.isReLoading()">
@@ -75,7 +75,7 @@ ${ commonheader(None, "hbase", user) | n,unicode }
 <%def name="smartview(datasource)">
   <div class="smartview" data-bind="foreach: ${datasource}.items(), css: { 'gridView': ${datasource}.showGrid() }">
     <div class="smartview-row" data-bind="css:{selected:$data.isSelected()}, visible: $data.items().length > 0 || $data.isLoading()">
-      <h5 data-bind="click: lockClickOrigin($data.select, $element)"><code class="row_key" data-bind="text: $data.row.slice(0, 100) + ($data.row.length > 100 ? '...' : '')"></code> <i class="fa fa-check-square" data-bind="visible:$data.isSelected()"></i> <img data-bind="visible: $data.isLoading()" src="/static/art/spinner.gif" />
+      <h5 data-bind="click: lockClickOrigin($data.select, $element)"><code class="row_key" data-bind="text: $data.row.slice(0, 100) + ($data.row.length > 100 ? '...' : '')"></code> <i class="fa fa-check-square" data-bind="visible:$data.isSelected()"></i> <img data-bind="visible: $data.isLoading()" src="${ static('desktop/art/spinner.gif') }" />
         <span class="smartview-row-controls controls-hover-bottom">
           <button class="btn" data-bind="click: $data.reload, clickBubble: false" data-toggle="tooltip" title="${_('Refresh Row')}"><i class="fa fa-refresh"></i></button>
           % if user.is_superuser:
@@ -107,7 +107,7 @@ ${ commonheader(None, "hbase", user) | n,unicode }
             <a class="corner-btn btn" data-bind="visible: $data.editing(), event: { mousedown: function(){launchModal('cell_edit_modal',{content:$data, mime: detectMimeType($data.value())})} }"><i class="fa fa-pencil"></i> ${_('Full Editor')}</a>
             <pre data-bind="text: ($data.value().length > 146 ? $data.value().substring(0, 144)+'...' : $data.value()).replace(/(\r\n|\n|\r)/gm,''), click: editCell.bind(null, $data), clickBubble: false, visible: !$data.isLoading() && !$data.editing()"></pre>
             <textarea data-bind="visible: !$data.isLoading() && $data.editing(), hasfocus: $data.editing, value: $data.value, click:function(){}, clickBubble: false"></textarea>
-            <img src="/static/art/spinner.gif" data-bind="visible: $data.isLoading() " />
+            <img src="${ static('desktop/art/spinner.gif') }" data-bind="visible: $data.isLoading() " />
           </div>
         </li>
         <!-- /ko -->
@@ -117,7 +117,7 @@ ${ commonheader(None, "hbase", user) | n,unicode }
   <br/>
   <center data-bind="visible: ${datasource}.isLoading()">
   <!--[if !IE]><!--><i class="fa fa-spinner fa-spin loader-main"></i><!--<![endif]-->
-  <!--[if IE]><img src="/hbase/static/art/loader.gif" /><![endif]-->
+  <!--[if IE]><img src="${ static('desktop/art/spinner.gif') }" /><![endif]-->
   </center>
   <div class="alert" data-bind="visible: ${datasource}.items().length == 0 && !${datasource}.isLoading()">
       ${_('No rows to display.')}
@@ -394,7 +394,7 @@ ${ commonheader(None, "hbase", user) | n,unicode }
                 <!-- ko foreach: $data.content.history.items() -->
                   <li data-bind="css: { 'active': $data.timestamp == $parent.content.timestamp }"><a data-bind="click: $parent.content.history.pickHistory.bind(null, $data), text: formatTimestamp($data.timestamp)" class="pointer"></a></li>
                 <!-- /ko -->
-                <li data-bind="visible: $data.content.history.loading()"><img src="/static/art/spinner.gif" /></li>
+                <li data-bind="visible: $data.content.history.loading()"><img src="${ static('desktop/art/spinner.gif') }" /></li>
               </ul>
             </div>
           </div>
@@ -481,20 +481,20 @@ function i18n(text) {
 
 canWrite = ${ str(can_write).lower() };
 </script>
-<script src="/static/ext/js/datatables-paging-0.1.js" type="text/javascript" charset="utf-8"></script>
-<script src="/static/ext/js/knockout-min.js" type="text/javascript" charset="utf-8"></script>
-<script src="/static/ext/js/routie-0.3.0.min.js" type="text/javascript" charset="utf-8"></script>
-<script src="/static/ext/js/mustache.js" type="text/javascript" charset="utf-8"></script>
-<script src="/static/ext/js/codemirror-3.11.js"></script>
-<script src="/static/ext/js/codemirror-xml.js"></script>
-<script src="/static/ext/js/codemirror-javascript.js"></script>
-<link rel="stylesheet" href="/static/ext/css/codemirror.css">
-
-<script src="/hbase/static/js/base.js" type="text/javascript" charset="utf-8"></script>
-<script src="/hbase/static/js/utils.js" type="text/javascript" charset="utf-8"></script>
-<script src="/hbase/static/js/api.js" type="text/javascript" charset="utf-8"></script>
-<script src="/hbase/static/js/controls.js" type="text/javascript" charset="utf-8"></script>
-<script src="/hbase/static/js/nav.js" type="text/javascript" charset="utf-8"></script>
-<script src="/hbase/static/js/app.js" type="text/javascript" charset="utf-8"></script>
-
-${ commonfooter(messages) | n,unicode }
+<script src="${ static('desktop/ext/js/datatables-paging-0.1.js') }" type="text/javascript" charset="utf-8"></script>
+<script src="${ static('desktop/ext/js/knockout-min.js') }" type="text/javascript" charset="utf-8"></script>
+<script src="${ static('desktop/ext/js/routie-0.3.0.min.js') }" type="text/javascript" charset="utf-8"></script>
+<script src="${ static('desktop/ext/js/mustache.js') }" type="text/javascript" charset="utf-8"></script>
+<script src="${ static('desktop/ext/js/codemirror-3.11.js') }"></script>
+<script src="${ static('desktop/ext/js/codemirror-xml.js') }"></script>
+<script src="${ static('desktop/ext/js/codemirror-javascript.js') }"></script>
+<link rel="stylesheet" href="${ static('desktop/ext/css/codemirror.css') }">
+
+<script src="${ static('hbase/js/base.js') }" type="text/javascript" charset="utf-8"></script>
+<script src="${ static('hbase/js/utils.js') }" type="text/javascript" charset="utf-8"></script>
+<script src="${ static('hbase/js/api.js') }" type="text/javascript" charset="utf-8"></script>
+<script src="${ static('hbase/js/controls.js') }" type="text/javascript" charset="utf-8"></script>
+<script src="${ static('hbase/js/nav.js') }" type="text/javascript" charset="utf-8"></script>
+<script src="${ static('hbase/js/app.js') }" type="text/javascript" charset="utf-8"></script>
+
+${ commonfooter(messages) | n,unicode }

+ 20 - 20
apps/impala/src/impala/templates/dashboard.mako

@@ -161,7 +161,7 @@ ${ dashboard.layout_skeleton() }
 <div>
   <div class="widget-spinner" data-bind="visible: $root.isRetrievingResults()">
     <!--[if !IE]> --><i class="fa fa-spinner fa-spin"></i><!-- <![endif]-->
-    <!--[if IE]><img src="/static/art/spinner.gif" /><![endif]-->
+    <!--[if IE]><img src="${ static('desktop/art/spinner.gif') }" /><![endif]-->
   </div>
 
   <div data-bind="visible: !$root.isRetrievingResults() && $root.results().length == 0">
@@ -212,7 +212,7 @@ ${ dashboard.layout_skeleton() }
 <script type="text/html" id="facet-widget">
   <div class="widget-spinner" data-bind="visible: isLoading()">
     <!--[if !IE]> --><i class="fa fa-spinner fa-spin"></i><!-- <![endif]-->
-    <!--[if IE]><img src="/static/art/spinner.gif" /><![endif]-->
+    <!--[if IE]><img src="${ static('desktop/art/spinner.gif') }" /><![endif]-->
   </div>
   <!-- ko if: $root.getFacetFromResult(id()) -->
   <div class="row-fluid" data-bind="with: $root.getFacetFromResult(id())">
@@ -264,7 +264,7 @@ ${ dashboard.layout_skeleton() }
 
   <div class="widget-spinner" data-bind="visible: isLoading()">
     <!--[if !IE]> --><i class="fa fa-spinner fa-spin"></i><!-- <![endif]-->
-    <!--[if IE]><img src="/static/art/spinner.gif" /><![endif]-->
+    <!--[if IE]><img src="${ static('desktop/art/spinner.gif') }" /><![endif]-->
   </div>
 
   <!-- ko if: $root.getFacetFromResult(id()) -->
@@ -289,7 +289,7 @@ ${ dashboard.layout_skeleton() }
 
   <div class="widget-spinner" data-bind="visible: isLoading()">
     <!--[if !IE]> --><i class="fa fa-spinner fa-spin"></i><!-- <![endif]-->
-    <!--[if IE]><img src="/static/art/spinner.gif" /><![endif]-->
+    <!--[if IE]><img src="${ static('desktop/art/spinner.gif') }" /><![endif]-->
   </div>
 
   <!-- ko if: $root.getFacetFromResult(id()) -->
@@ -323,7 +323,7 @@ ${ dashboard.layout_skeleton() }
 
   <div class="widget-spinner" data-bind="visible: isLoading()">
     <!--[if !IE]> --><i class="fa fa-spinner fa-spin"></i><!-- <![endif]-->
-    <!--[if IE]><img src="/static/art/spinner.gif" /><![endif]-->
+    <!--[if IE]><img src="${ static('desktop/art/spinner.gif') }" /><![endif]-->
   </div>
 
   <!-- ko if: $root.getFacetFromResult(id()) -->
@@ -350,7 +350,7 @@ ${ dashboard.layout_skeleton() }
 
   <div class="widget-spinner" data-bind="visible: isLoading()">
     <!--[if !IE]> --><i class="fa fa-spinner fa-spin"></i><!-- <![endif]-->
-    <!--[if IE]><img src="/static/art/spinner.gif" /><![endif]-->
+    <!--[if IE]><img src="${ static('desktop/art/spinner.gif') }" /><![endif]-->
   </div>
 
   <!-- ko if: $root.getFacetFromResult(id()) -->
@@ -403,7 +403,7 @@ ${ dashboard.layout_skeleton() }
   <div class="clearfix"></div>
   <div class="widget-spinner" data-bind="visible: isLoading() &&  $root.query.fqs().length > 0">
     <!--[if !IE]> --><i class="fa fa-spinner fa-spin"></i><!-- <![endif]-->
-    <!--[if IE]><img src="/static/art/spinner.gif" /><![endif]-->
+    <!--[if IE]><img src="${ static('desktop/art/spinner.gif') }" /><![endif]-->
   </div>
 </script>
 
@@ -412,7 +412,7 @@ ${ dashboard.layout_skeleton() }
 
   <div class="widget-spinner" data-bind="visible: isLoading()">
     <!--[if !IE]> --><i class="fa fa-spinner fa-spin"></i><!-- <![endif]-->
-    <!--[if IE]><img src="/static/art/spinner.gif" /><![endif]-->
+    <!--[if IE]><img src="${ static('desktop/art/spinner.gif') }" /><![endif]-->
   </div>
 
   <!-- ko if: $root.getFacetFromResult(id()) -->
@@ -439,25 +439,25 @@ ${ dashboard.layout_skeleton() }
 
 
 
-<link rel="stylesheet" href="/impala/static/css/impala-dashboard.css">
-<link rel="stylesheet" href="/static/ext/css/hue-filetypes.css">
-<link rel="stylesheet" href="/static/ext/css/hue-charts.css">
-<link rel="stylesheet" href="/static/ext/chosen/chosen.min.css">
+<link rel="stylesheet" href="${ static('impala/css/impala-dashboard.css') }">
+<link rel="stylesheet" href="${ static('desktop/ext/css/hue-filetypes.css') }">
+<link rel="stylesheet" href="${ static('desktop/ext/css/hue-charts.css') }">
+<link rel="stylesheet" href="${ static('desktop/ext/chosen/chosen.min.css') }">
 
-<script src="/static/ext/js/moment-with-locales.min.js" type="text/javascript" charset="utf-8"></script>
+<script src="${ static('desktop/ext/js/moment-with-locales.min.js') }" type="text/javascript" charset="utf-8"></script>
 
 ${ dashboard.import_layout() }
 
-<script src="/static/ext/js/bootstrap-editable.min.js" type="text/javascript" charset="utf-8"></script>
-<script src="/static/js/ko.editable.js" type="text/javascript" charset="utf-8"></script>
-<script src="/static/ext/js/shortcut.js" type="text/javascript" charset="utf-8"></script>
-<script src="/static/ext/js/mustache.js" type="text/javascript" charset="utf-8"></script>
-<script src="/static/ext/chosen/chosen.jquery.min.js" type="text/javascript" charset="utf-8"></script>
+<script src="${ static('desktop/ext/js/bootstrap-editable.min.js') }" type="text/javascript" charset="utf-8"></script>
+<script src="${ static('desktop/js/ko.editable.js') }" type="text/javascript" charset="utf-8"></script>
+<script src="${ static('desktop/ext/js/shortcut.js') }" type="text/javascript" charset="utf-8"></script>
+<script src="${ static('desktop/ext/js/mustache.js') }" type="text/javascript" charset="utf-8"></script>
+<script src="${ static('desktop/ext/chosen/chosen.jquery.min.js') }" type="text/javascript" charset="utf-8"></script>
 
 ${ dashboard.import_bindings() }
 
-<script src="/beeswax/static/js/autocomplete.utils.js" type="text/javascript" charset="utf-8"></script>
-<script src="/impala/static/js/impala-dashboard.ko.js" type="text/javascript" charset="utf-8"></script>
+<script src="${ static('beeswax/js/autocomplete.utils.js') }" type="text/javascript" charset="utf-8"></script>
+<script src="${ static('impala/js/impala-dashboard.ko.js') }" type="text/javascript" charset="utf-8"></script>
 
 ${ dashboard.import_charts() }
 

+ 2 - 2
apps/jobbrowser/src/jobbrowser/templates/attempt.mako

@@ -22,7 +22,7 @@
 ${ commonheader(_('Task Attempt: %(attemptId)s') % dict(attemptId=attempt.attemptId_short), "jobbrowser", user) | n,unicode }
 ${ comps.menubar() }
 
-<link href="/jobbrowser/static/css/jobbrowser.css" rel="stylesheet">
+<link href="${ static('jobbrowser/css/jobbrowser.css') }" rel="stylesheet">
 
 <div class="container-fluid">
   <div class="row-fluid">
@@ -151,7 +151,7 @@ ${ comps.menubar() }
   </div>
 </div>
 
-<script src="/jobbrowser/static/js/utils.js" type="text/javascript" charset="utf-8"></script>
+<script src="${ static('jobbrowser/js/utils.js') }" type="text/javascript" charset="utf-8"></script>
 
 <script type="text/javascript" charset="utf-8">
   $(document).ready(function () {

+ 1 - 1
apps/jobbrowser/src/jobbrowser/templates/attempt_logs.mako

@@ -122,7 +122,7 @@ ${ comps.menubar() }
   </div>
 </div>
 
-<script src="/jobbrowser/static/js/utils.js" type="text/javascript" charset="utf-8"></script>
+<script src="${ static('jobbrowser/js/utils.js') }" type="text/javascript" charset="utf-8"></script>
 
 <script type="text/javascript" charset="utf-8">
   $(document).ready(function () {

+ 2 - 2
apps/jobbrowser/src/jobbrowser/templates/job.mako

@@ -86,7 +86,7 @@
 ${ commonheader(_('Job: %(jobId)s') % dict(jobId=job.jobId_short), "jobbrowser", user) | n,unicode }
 ${ comps.menubar() }
 
-<link href="/jobbrowser/static/css/jobbrowser.css" rel="stylesheet">
+<link href="${ static('jobbrowser/css/jobbrowser.css') }" rel="stylesheet">
 
 <style type="text/css">
   .killJob {
@@ -428,7 +428,7 @@ ${ comps.menubar() }
   </div>
 </div>
 
-<script src="/jobbrowser/static/js/utils.js" type="text/javascript" charset="utf-8"></script>
+<script src="${ static('jobbrowser/js/utils.js') }" type="text/javascript" charset="utf-8"></script>
 
 <script type="text/javascript" charset="utf-8">
 $(document).ready(function () {

+ 4 - 4
apps/jobbrowser/src/jobbrowser/templates/job_attempt_logs.mako

@@ -52,21 +52,21 @@ ${ comps.menubar() }
               <div class="tab-pane active" id="stdout">
                 <pre id="stdout-container">
                   <!--[if !IE]> --><i class="fa fa-spinner fa-spin"></i><!-- <![endif]-->
-                  <!--[if IE]><img src="/static/art/spinner.gif" /><![endif]-->
+                  <!--[if IE]><img src="${ static('desktop/art/spinner.gif') }" /><![endif]-->
                 </pre>
               </div>
 
               <div class="tab-pane" id="stderr">
                 <pre id="stderr-container">
                   <!--[if !IE]> --><i class="fa fa-spinner fa-spin"></i><!-- <![endif]-->
-                  <!--[if IE]><img src="/static/art/spinner.gif" /><![endif]-->
+                  <!--[if IE]><img src="${ static('desktop/art/spinner.gif') }" /><![endif]-->
                 </pre>
               </div>
 
               <div class="tab-pane" id="syslog">
                 <pre id="syslog-container">
                   <!--[if !IE]> --><i class="fa fa-spinner fa-spin"></i><!-- <![endif]-->
-                  <!--[if IE]><img src="/static/art/spinner.gif" /><![endif]-->
+                  <!--[if IE]><img src="${ static('desktop/art/spinner.gif') }" /><![endif]-->
                 </pre>
               </div>
             </div>
@@ -77,7 +77,7 @@ ${ comps.menubar() }
   </div>
 </div>
 
-<script src="/jobbrowser/static/js/utils.js" type="text/javascript" charset="utf-8"></script>
+<script src="${ static('jobbrowser/js/utils.js') }" type="text/javascript" charset="utf-8"></script>
 
 <script type="text/javascript" charset="utf-8">
   $(document).ready(function () {

+ 2 - 2
apps/jobbrowser/src/jobbrowser/templates/job_not_assigned.mako

@@ -26,7 +26,7 @@
 ${ commonheader(_('Job'), "jobbrowser", user) | n,unicode }
 ${ comps.menubar() }
 
-<link href="/jobbrowser/static/css/jobbrowser.css" rel="stylesheet">
+<link href="${ static('jobbrowser/css/jobbrowser.css') }" rel="stylesheet">
 
 <div class="container-fluid">
   <div class="row-fluid">
@@ -51,7 +51,7 @@ ${ comps.menubar() }
               <br/>
 
               <!--[if !IE]><!--><i class="fa fa-spinner fa-spin" style="font-size: 60px; color: #DDD"></i><!--<![endif]-->
-              <!--[if IE]><img src="/static/art/spinner.gif" /><![endif]-->
+              <!--[if IE]><img src="${ static('desktop/art/spinner.gif') }" /><![endif]-->
             </p>
       </div>
     </div>

+ 1 - 1
apps/jobbrowser/src/jobbrowser/templates/jobbrowser_components.mako

@@ -237,7 +237,7 @@
             <ul class="nav">
               <li class="currentApp">
                 <a href="/${app_name}">
-                  <img src="/jobbrowser/static/art/icon_jobbrowser_48.png" class="app-icon"/>
+                  <img src="${ static('jobbrowser/art/icon_jobbrowser_48.png') }" class="app-icon"/>
                   ${ _('Job Browser') }
                 </a>
               </li>

+ 4 - 4
apps/jobbrowser/src/jobbrowser/templates/jobs.mako

@@ -25,7 +25,7 @@
 ${ commonheader(None, "jobbrowser", user) | n,unicode }
 ${ components.menubar() }
 
-<link href="/jobbrowser/static/css/jobbrowser.css" rel="stylesheet">
+<link href="${ static('jobbrowser/css/jobbrowser.css') }" rel="stylesheet">
 
 <div class="container-fluid">
   <div class="card card-small">
@@ -34,7 +34,7 @@ ${ components.menubar() }
     <%def name="search()">
       ${_('Username')} <input id="userFilter" type="text" class="input-medium search-query" placeholder="${_('Search for username')}" value="${ user_filter or '' }">
       &nbsp;&nbsp;${_('Text')} <input id="textFilter" type="text" class="input-xlarge search-query" placeholder="${_('Search for text')}" value="${ text_filter or '' }">
-      <img id="loading" src="/static/art/spinner.gif" />
+      <img id="loading" src="${ static('desktop/art/spinner.gif') }" />
     </%def>
 
     <%def name="creation()">
@@ -96,8 +96,8 @@ ${ components.menubar() }
   </div>
 </div>
 
-<script src="/static/ext/js/datatables-paging-0.1.js" type="text/javascript" charset="utf-8"></script>
-<script src="/jobbrowser/static/js/utils.js" type="text/javascript" charset="utf-8"></script>
+<script src="${ static('desktop/ext/js/datatables-paging-0.1.js') }" type="text/javascript" charset="utf-8"></script>
+<script src="${ static('jobbrowser/js/utils.js') }" type="text/javascript" charset="utf-8"></script>
 
 <script type="text/javascript" charset="utf-8">
 

+ 2 - 2
apps/jobbrowser/src/jobbrowser/templates/task.mako

@@ -22,7 +22,7 @@
 ${ commonheader(_('Job Task: %(taskId)s') % dict(taskId=task.taskId_short), "jobbrowser", user) | n,unicode }
 ${ comps.menubar() }
 
-<link href="/jobbrowser/static/css/jobbrowser.css" rel="stylesheet">
+<link href="${ static('jobbrowser/css/jobbrowser.css') }" rel="stylesheet">
 
 <div class="container-fluid">
   <div class="row-fluid">
@@ -165,7 +165,7 @@ ${ comps.menubar() }
   </div>
 </div>
 
-<script src="/jobbrowser/static/js/utils.js" type="text/javascript" charset="utf-8"></script>
+<script src="${ static('jobbrowser/js/utils.js') }" type="text/javascript" charset="utf-8"></script>
 
 <script type="text/javascript" charset="utf-8">
   $(document).ready(function () {

+ 14 - 14
apps/jobsub/src/jobsub/templates/designs.mako

@@ -25,19 +25,19 @@ from django.utils.translation import ugettext as _
 
 ${ commonheader(None, "jobsub", user) | n,unicode }
 
-<link rel="stylesheet" href="/jobsub/static/css/jobsub.css">
+<link rel="stylesheet" href="${ static('jobsub/css/jobsub.css') }">
 
-<script src="/static/ext/js/mustache.js" type="text/javascript" charset="utf-8"></script>
-<script src="/static/ext/js/routie-0.3.0.min.js" type="text/javascript" charset="utf-8"></script>
-<script src="/static/ext/js/datatables-paging-0.1.js" type="text/javascript" charset="utf-8"></script>
-<script src="/static/ext/js/knockout-min.js" type="text/javascript" charset="utf-8"></script>
-<script src="/static/ext/js/knockout.mapping-2.3.2.js" type="text/javascript" charset="utf-8"></script>
-<script src="/static/ext/js/moment-with-locales.min.js" type="text/javascript" charset="utf-8"></script>
-<script src="/oozie/static/js/workflow.models.js" type="text/javascript" charset="utf-8"></script>
-<script src="/oozie/static/js/workflow.node-fields.js" type="text/javascript" charset="utf-8"></script>
-<script src="/jobsub/static/js/jobsub.templates.js" type="text/javascript" charset="utf-8"></script>
-<script src="/jobsub/static/js/jobsub.ko.js" type="text/javascript" charset="utf-8"></script>
-<script src="/jobsub/static/js/jobsub.js" type="text/javascript" charset="utf-8"></script>
+<script src="${ static('desktop/ext/js/mustache.js') }" type="text/javascript" charset="utf-8"></script>
+<script src="${ static('desktop/ext/js/routie-0.3.0.min.js') }" type="text/javascript" charset="utf-8"></script>
+<script src="${ static('desktop/ext/js/datatables-paging-0.1.js') }" type="text/javascript" charset="utf-8"></script>
+<script src="${ static('desktop/ext/js/knockout-min.js') }" type="text/javascript" charset="utf-8"></script>
+<script src="${ static('desktop/ext/js/knockout.mapping-2.3.2.js') }" type="text/javascript" charset="utf-8"></script>
+<script src="${ static('desktop/ext/js/moment-with-locales.min.js') }" type="text/javascript" charset="utf-8"></script>
+<script src="${ static('oozie/js/workflow.models.js') }" type="text/javascript" charset="utf-8"></script>
+<script src="${ static('oozie/js/workflow.node-fields.js') }" type="text/javascript" charset="utf-8"></script>
+<script src="${ static('jobsub/js/jobsub.templates.js') }" type="text/javascript" charset="utf-8"></script>
+<script src="${ static('jobsub/js/jobsub.ko.js') }" type="text/javascript" charset="utf-8"></script>
+<script src="${ static('jobsub/js/jobsub.js') }" type="text/javascript" charset="utf-8"></script>
 
 
 <div class="navbar navbar-inverse navbar-fixed-top nokids">
@@ -47,7 +47,7 @@ ${ commonheader(None, "jobsub", user) | n,unicode }
           <ul class="nav">
             <li class="currentApp">
               <a href="/${app_name}">
-                <img src="/jobsub/static/art/icon_jobsub_48.png" class="app-icon" />
+                <img src="${ static('jobsub/art/icon_jobsub_48.png') }" class="app-icon" />
                 ${ _('Job Designer') }
               </a>
             </li>
@@ -177,7 +177,7 @@ ${ commonheader(None, "jobsub", user) | n,unicode }
 
 <div class="hueOverlay" data-bind="visible: isLoading">
   <!--[if lte IE 9]>
-    <img src="/static/art/spinner-big.gif" />
+    <img src="${ static('desktop/art/spinner-big.gif') }" />
   <![endif]-->
   <!--[if !IE]> -->
     <i class="fa fa-spinner fa-spin"></i>

+ 12 - 12
apps/jobsub/src/jobsub/templates/jasmine.mako

@@ -2,21 +2,21 @@
 <%inherit file="common_jasmine.mako"/>
 
 <%block name="specs">
-    <script src="/static/ext/js/mustache.js" type="text/javascript" charset="utf-8"></script>
-    <script src="/static/ext/js/routie-0.3.0.min.js" type="text/javascript" charset="utf-8"></script>
-    <script src="/static/ext/js/knockout-min.js" type="text/javascript" charset="utf-8"></script>
-    <script src="/static/ext/js/knockout.mapping-2.3.2.js" type="text/javascript" charset="utf-8"></script>
-    <script src="/static/ext/js/moment-with-locales.min.js" type="text/javascript" charset="utf-8"></script>
-    <script src="/oozie/static/js/workflow.models.js" type="text/javascript" charset="utf-8"></script>
-    <script src="/oozie/static/js/workflow.node-fields.js" type="text/javascript" charset="utf-8"></script>
-    <script src="/jobsub/static/js/jobsub.templates.js" type="text/javascript" charset="utf-8"></script>
-    <script src="/jobsub/static/js/jobsub.ko.js" type="text/javascript" charset="utf-8"></script>
-    <script src="/jobsub/static/js/jobsub.js" type="text/javascript" charset="utf-8"></script>
-    <script src="static/jasmine/jobsubSpec.js"></script>
+    <script src="${ static('desktop/ext/js/mustache.js') }" type="text/javascript" charset="utf-8"></script>
+    <script src="${ static('desktop/ext/js/routie-0.3.0.min.js') }" type="text/javascript" charset="utf-8"></script>
+    <script src="${ static('desktop/ext/js/knockout-min.js') }" type="text/javascript" charset="utf-8"></script>
+    <script src="${ static('desktop/ext/js/knockout.mapping-2.3.2.js') }" type="text/javascript" charset="utf-8"></script>
+    <script src="${ static('desktop/ext/js/moment-with-locales.min.js') }" type="text/javascript" charset="utf-8"></script>
+    <script src="${ static('oozie/js/workflow.models.js') }" type="text/javascript" charset="utf-8"></script>
+    <script src="${ static('oozie/js/workflow.node-fields.js') }" type="text/javascript" charset="utf-8"></script>
+    <script src="${ static('jobsub/js/jobsub.templates.js') }" type="text/javascript" charset="utf-8"></script>
+    <script src="${ static('jobsub/js/jobsub.ko.js') }" type="text/javascript" charset="utf-8"></script>
+    <script src="${ static('jobsub/js/jobsub.js') }" type="text/javascript" charset="utf-8"></script>
+    <script src="${ static('jobsub/jasmine/jobsubSpec.js') }"></script>
 </%block>
 
 
 <%block name="fixtures">
   <div style="display:none">
   </div>
-</%block>
+</%block>

+ 1 - 1
apps/metastore/src/metastore/templates/components.mako

@@ -26,7 +26,7 @@
             <ul class="nav">
               <li class="currentApp">
                 <a href="/${app_name}">
-                  <img src="/metastore/static/art/icon_metastore_48.png" class="app-icon" />
+                  <img src="${ static('metastore/art/icon_metastore_48.png') }" class="app-icon" />
                   ${ _('Metastore Manager') }
                 </a>
               </li>

+ 2 - 2
apps/metastore/src/metastore/templates/databases.mako

@@ -97,9 +97,9 @@ ${ components.menubar() }
   </form>
 </div>
 
-<link rel="stylesheet" href="/metastore/static/css/metastore.css" type="text/css">
+<link rel="stylesheet" href="${ static('metastore/css/metastore.css') }" type="text/css">
 
-<script src="/static/ext/js/knockout-min.js" type="text/javascript" charset="utf-8"></script>
+<script src="${ static('desktop/ext/js/knockout-min.js') }" type="text/javascript" charset="utf-8"></script>
 
 <script type="text/javascript" charset="utf-8">
   $(document).ready(function () {

+ 1 - 1
apps/metastore/src/metastore/templates/describe_partitions.mako

@@ -75,7 +75,7 @@ ${ components.menubar() }
   </div>
 </div>
 
-<link rel="stylesheet" href="/metastore/static/css/metastore.css" type="text/css">
+<link rel="stylesheet" href="${ static('metastore/css/metastore.css') }" type="text/css">
 
 <script type="text/javascript" charset="utf-8">
   $(document).ready(function () {

+ 1 - 1
apps/metastore/src/metastore/templates/describe_table.mako

@@ -33,7 +33,7 @@ from django.utils.translation import ugettext as _
 ${ commonheader(_("%s : %s") % (view_or_table_noun, table.name), app_name, user) | n,unicode }
 ${ components.menubar() }
 
-<link rel="stylesheet" href="/metastore/static/css/metastore.css" type="text/css">
+<link rel="stylesheet" href="${ static('metastore/css/metastore.css') }" type="text/css">
 
 
 <%def name="column_table(cols)">

+ 4 - 4
apps/metastore/src/metastore/templates/tables.mako

@@ -24,8 +24,8 @@ from django.utils.translation import ugettext as _
 ${ commonheader(_('Tables'), 'metastore', user) | n,unicode }
 ${ components.menubar() }
 
-<link rel="stylesheet" href="/static/ext/chosen/chosen.min.css">
-<script src="/static/ext/chosen/chosen.jquery.min.js" type="text/javascript" charset="utf-8"></script>
+<link rel="stylesheet" href="${ static('desktop/ext/chosen/chosen.min.css') }">
+<script src="${ static('desktop/ext/chosen/chosen.jquery.min.js') }" type="text/javascript" charset="utf-8"></script>
 
 <div class="container-fluid" id="tables">
   <div class="row-fluid">
@@ -110,9 +110,9 @@ ${ components.menubar() }
   </form>
 </div>
 
-<link rel="stylesheet" href="/metastore/static/css/metastore.css" type="text/css">
+<link rel="stylesheet" href="${ static('metastore/css/metastore.css') }" type="text/css">
 
-<script src="/static/ext/js/knockout-min.js" type="text/javascript" charset="utf-8"></script>
+<script src="${ static('desktop/ext/js/knockout-min.js') }" type="text/javascript" charset="utf-8"></script>
 
 <script type="text/javascript" charset="utf-8">
   $(document).ready(function () {

+ 7 - 7
apps/oozie/src/oozie/templates/dashboard/list_oozie_bundle.mako

@@ -152,7 +152,7 @@ ${ layout.menubar(section='bundles', dashboard=True) }
           <tfoot>
             <tr data-bind="visible: isLoading()">
               <td colspan="3" class="left">
-                <img src="/static/art/spinner.gif" />
+                <img src="${ static('desktop/art/spinner.gif') }" />
               </td>
             </tr>
             <tr data-bind="visible: actions().length == 0 && !isLoading()">
@@ -210,7 +210,7 @@ ${ layout.menubar(section='bundles', dashboard=True) }
           <tfoot>
           <tr data-bind="visible: isLoading()">
             <td colspan="10" class="left">
-              <img src="/static/art/spinner.gif" />
+              <img src="${ static('desktop/art/spinner.gif') }" />
             </td>
           </tr>
           <tr data-bind="visible: !isLoading() && actions().length == 0">
@@ -293,11 +293,11 @@ ${ layout.menubar(section='bundles', dashboard=True) }
   </div>
 </div>
 
-<script src="/oozie/static/js/dashboard-utils.js" type="text/javascript" charset="utf-8"></script>
-<script src="/static/ext/js/knockout-min.js" type="text/javascript" charset="utf-8"></script>
-<script src="/static/ext/js/codemirror-3.11.js"></script>
-<link rel="stylesheet" href="/static/ext/css/codemirror.css">
-<script src="/static/ext/js/codemirror-xml.js"></script>
+<script src="${ static('oozie/js/dashboard-utils.js') }" type="text/javascript" charset="utf-8"></script>
+<script src="${ static('desktop/ext/js/knockout-min.js') }" type="text/javascript" charset="utf-8"></script>
+<script src="${ static('desktop/ext/js/codemirror-3.11.js') }"></script>
+<link rel="stylesheet" href="${ static('desktop/ext/css/codemirror.css') }">
+<script src="${ static('desktop/ext/js/codemirror-xml.js') }"></script>
 
 <style type="text/css">
   .CodeMirror.cm-s-default {

+ 2 - 2
apps/oozie/src/oozie/templates/dashboard/list_oozie_bundles.mako

@@ -132,8 +132,8 @@ ${layout.menubar(section='bundles', dashboard=True)}
   </div>
 </div>
 
-<script src="/oozie/static/js/dashboard-utils.js" type="text/javascript" charset="utf-8"></script>
-<script src="/static/ext/js/datatables-paging-0.1.js" type="text/javascript" charset="utf-8"></script>
+<script src="${ static('oozie/js/dashboard-utils.js') }" type="text/javascript" charset="utf-8"></script>
+<script src="${ static('desktop/ext/js/datatables-paging-0.1.js') }" type="text/javascript" charset="utf-8"></script>
 
 <script type="text/javascript" charset="utf-8">
   var Bundle = function (bundle) {

+ 14 - 14
apps/oozie/src/oozie/templates/dashboard/list_oozie_coordinator.mako

@@ -28,7 +28,7 @@
 ${ commonheader(_("Coordinator Dashboard"), "oozie", user) | n,unicode }
 ${ layout.menubar(section='coordinators', dashboard=True) }
 
-<link rel="stylesheet" href="/oozie/static/css/coordinator.css" type="text/css" />
+<link rel="stylesheet" href="${ static('oozie/css/coordinator.css') }" type="text/css" />
 
 <div class="container-fluid">
   <div class="card card-small">
@@ -211,7 +211,7 @@ ${ layout.menubar(section='coordinators', dashboard=True) }
                   </tr>
                   <tr data-bind="visible: isLoading()">
                     <td colspan="2" class="left">
-                      <img src="/static/art/spinner.gif" />
+                      <img src="${ static('desktop/art/spinner.gif') }" />
                     </td>
                   </tr>
                   <tr data-bind="visible: actions().length == 0 && !isLoading()">
@@ -266,7 +266,7 @@ ${ layout.menubar(section='coordinators', dashboard=True) }
                 <tfoot>
                 <tr data-bind="visible: isLoading()">
                   <td colspan="10" class="left">
-                    <img src="/static/art/spinner.gif" />
+                    <img src="${ static('desktop/art/spinner.gif') }" />
                   </td>
                 </tr>
                 <tr data-bind="visible: !isLoading() && actions().length == 0">
@@ -390,19 +390,19 @@ ${ layout.menubar(section='coordinators', dashboard=True) }
 
 <div id="rerun-coord-modal" class="modal hide"></div>
 
-<script src="/oozie/static/js/dashboard-utils.js" type="text/javascript" charset="utf-8"></script>
-<script src="/static/ext/js/knockout-min.js" type="text/javascript" charset="utf-8"></script>
-<script src="/static/ext/js/codemirror-3.11.js"></script>
-<link rel="stylesheet" href="/static/ext/css/codemirror.css">
-<script src="/static/ext/js/codemirror-xml.js"></script>
-<script src="/static/ext/js/moment-with-locales.min.js" type="text/javascript" charset="utf-8"></script>
+<script src="${ static('oozie/js/dashboard-utils.js') }" type="text/javascript" charset="utf-8"></script>
+<script src="${ static('desktop/ext/js/knockout-min.js') }" type="text/javascript" charset="utf-8"></script>
+<script src="${ static('desktop/ext/js/codemirror-3.11.js') }"></script>
+<link rel="stylesheet" href="${ static('desktop/ext/css/codemirror.css') }">
+<script src="${ static('desktop/ext/js/codemirror-xml.js') }"></script>
+<script src="${ static('desktop/ext/js/moment-with-locales.min.js') }" type="text/javascript" charset="utf-8"></script>
 
 % if oozie_coordinator.has_sla:
-<script src="/oozie/static/js/sla.utils.js" type="text/javascript" charset="utf-8"></script>
-<script src="/static/ext/js/jquery/plugins/jquery.flot.min.js" type="text/javascript" charset="utf-8"></script>
-<script src="/static/ext/js/jquery/plugins/jquery.flot.selection.min.js" type="text/javascript" charset="utf-8"></script>
-<script src="/static/ext/js/jquery/plugins/jquery.flot.time.min.js" type="text/javascript" charset="utf-8"></script>
-<script src="/static/js/jquery.blueprint.js"></script>
+<script src="${ static('oozie/js/sla.utils.js') }" type="text/javascript" charset="utf-8"></script>
+<script src="${ static('desktop/ext/js/jquery/plugins/jquery.flot.min.js') }" type="text/javascript" charset="utf-8"></script>
+<script src="${ static('desktop/ext/js/jquery/plugins/jquery.flot.selection.min.js') }" type="text/javascript" charset="utf-8"></script>
+<script src="${ static('desktop/ext/js/jquery/plugins/jquery.flot.time.min.js') }" type="text/javascript" charset="utf-8"></script>
+<script src="${ static('desktop/js/jquery.blueprint.js') }"></script>
 % endif
 
 <script>

+ 2 - 2
apps/oozie/src/oozie/templates/dashboard/list_oozie_coordinators.mako

@@ -154,8 +154,8 @@ ${layout.menubar(section='coordinators', dashboard=True)}
   </div>
 </div>
 
-<script src="/oozie/static/js/dashboard-utils.js" type="text/javascript" charset="utf-8"></script>
-<script src="/static/ext/js/datatables-paging-0.1.js" type="text/javascript" charset="utf-8"></script>
+<script src="${ static('oozie/js/dashboard-utils.js') }" type="text/javascript" charset="utf-8"></script>
+<script src="${ static('desktop/ext/js/datatables-paging-0.1.js') }" type="text/javascript" charset="utf-8"></script>
 
 
 <script type="text/javascript" charset="utf-8">

+ 8 - 8
apps/oozie/src/oozie/templates/dashboard/list_oozie_sla.mako

@@ -86,7 +86,7 @@ ${ layout.menubar(section='sla', dashboard=True) }
       <p>
         <div class="loader hide" style="text-align: center;margin-top: 20px">
           <!--[if lte IE 9]>
-              <img src="/static/art/spinner-big.gif" />
+              <img src="${ static('desktop/art/spinner-big.gif') }" />
           <![endif]-->
           <!--[if !IE]> -->
             <i class="fa fa-spinner fa-spin" style="font-size: 60px; color: #DDD"></i>
@@ -151,15 +151,15 @@ ${ layout.menubar(section='sla', dashboard=True) }
   </div>
 </div>
 
-<script src="/oozie/static/js/dashboard-utils.js" type="text/javascript" charset="utf-8"></script>
-<script src="/oozie/static/js/sla.utils.js" type="text/javascript" charset="utf-8"></script>
+<script src="${ static('oozie/js/dashboard-utils.js') }" type="text/javascript" charset="utf-8"></script>
+<script src="${ static('oozie/js/sla.utils.js') }" type="text/javascript" charset="utf-8"></script>
 
-<script src="/static/ext/js/knockout-min.js" type="text/javascript" charset="utf-8"></script>
+<script src="${ static('desktop/ext/js/knockout-min.js') }" type="text/javascript" charset="utf-8"></script>
 
-<script src="/static/ext/js/jquery/plugins/jquery.flot.min.js" type="text/javascript" charset="utf-8"></script>
-<script src="/static/ext/js/jquery/plugins/jquery.flot.selection.min.js" type="text/javascript" charset="utf-8"></script>
-<script src="/static/ext/js/jquery/plugins/jquery.flot.time.min.js" type="text/javascript" charset="utf-8"></script>
-<script src="/static/js/jquery.blueprint.js"></script>
+<script src="${ static('desktop/ext/js/jquery/plugins/jquery.flot.min.js') }" type="text/javascript" charset="utf-8"></script>
+<script src="${ static('desktop/ext/js/jquery/plugins/jquery.flot.selection.min.js') }" type="text/javascript" charset="utf-8"></script>
+<script src="${ static('desktop/ext/js/jquery/plugins/jquery.flot.time.min.js') }" type="text/javascript" charset="utf-8"></script>
+<script src="${ static('desktop/js/jquery.blueprint.js') }"></script>
 
 <script type="text/javascript" charset="utf-8">
 

+ 19 - 19
apps/oozie/src/oozie/templates/dashboard/list_oozie_workflow.mako

@@ -342,33 +342,33 @@ ${ layout.menubar(section='workflows', dashboard=True) }
   </div>
 </div>
 
-<script src="/oozie/static/js/dashboard-utils.js" type="text/javascript" charset="utf-8"></script>
-<link rel="stylesheet" href="/oozie/static/css/workflow.css">
-<script src="/static/ext/js/knockout-min.js" type="text/javascript" charset="utf-8"></script>
-<script src="/static/ext/js/knockout.mapping-2.3.2.js" type="text/javascript" charset="utf-8"></script>
-<script src="/static/ext/js/datatables-paging-0.1.js" type="text/javascript" charset="utf-8"></script>
-<script src="/static/ext/js/codemirror-3.11.js"></script>
-<link rel="stylesheet" href="/static/ext/css/codemirror.css">
-<script src="/static/ext/js/codemirror-xml.js"></script>
+<script src="${ static('oozie/js/dashboard-utils.js') }" type="text/javascript" charset="utf-8"></script>
+<link rel="stylesheet" href="${ static('oozie/css/workflow.css') }">
+<script src="${ static('desktop/ext/js/knockout-min.js') }" type="text/javascript" charset="utf-8"></script>
+<script src="${ static('desktop/ext/js/knockout.mapping-2.3.2.js') }" type="text/javascript" charset="utf-8"></script>
+<script src="${ static('desktop/ext/js/datatables-paging-0.1.js') }" type="text/javascript" charset="utf-8"></script>
+<script src="${ static('desktop/ext/js/codemirror-3.11.js') }"></script>
+<link rel="stylesheet" href="${ static('desktop/ext/css/codemirror.css') }">
+<script src="${ static('desktop/ext/js/codemirror-xml.js') }"></script>
 
 % if oozie_workflow.has_sla:
-<script src="/static/ext/js/moment-with-locales.min.js" type="text/javascript" charset="utf-8"></script>
-<script src="/oozie/static/js/sla.utils.js" type="text/javascript" charset="utf-8"></script>
-<script src="/static/ext/js/jquery/plugins/jquery.flot.min.js" type="text/javascript" charset="utf-8"></script>
-<script src="/static/ext/js/jquery/plugins/jquery.flot.selection.min.js" type="text/javascript" charset="utf-8"></script>
-<script src="/static/ext/js/jquery/plugins/jquery.flot.time.min.js" type="text/javascript" charset="utf-8"></script>
-<script src="/static/js/jquery.blueprint.js"></script>
+<script src="${ static('desktop/ext/js/moment-with-locales.min.js') }" type="text/javascript" charset="utf-8"></script>
+<script src="${ static('oozie/js/sla.utils.js') }" type="text/javascript" charset="utf-8"></script>
+<script src="${ static('desktop/ext/js/jquery/plugins/jquery.flot.min.js') }" type="text/javascript" charset="utf-8"></script>
+<script src="${ static('desktop/ext/js/jquery/plugins/jquery.flot.selection.min.js') }" type="text/javascript" charset="utf-8"></script>
+<script src="${ static('desktop/ext/js/jquery/plugins/jquery.flot.time.min.js') }" type="text/javascript" charset="utf-8"></script>
+<script src="${ static('desktop/js/jquery.blueprint.js') }"></script>
 %endif
 
 % if layout_json != '':
-<link rel="stylesheet" href="/oozie/static/css/common-editor.css">
-<link rel="stylesheet" href="/oozie/static/css/workflow-editor.css">
+<link rel="stylesheet" href="${ static('oozie/css/common-editor.css') }">
+<link rel="stylesheet" href="${ static('oozie/css/workflow-editor.css') }">
 
 ${ dashboard.import_layout() }
 
-<script src="/oozie/static/js/workflow-editor.ko.js" type="text/javascript" charset="utf-8"></script>
-<script src="/oozie/static/js/workflow-editor.utils.js" type="text/javascript" charset="utf-8"></script>
-<script src="/static/ext/js/jquery/plugins/jquery.curvedarrow.js" type="text/javascript" charset="utf-8"></script>
+<script src="${ static('oozie/js/workflow-editor.ko.js') }" type="text/javascript" charset="utf-8"></script>
+<script src="${ static('oozie/js/workflow-editor.utils.js') }" type="text/javascript" charset="utf-8"></script>
+<script src="${ static('desktop/ext/js/jquery/plugins/jquery.curvedarrow.js') }" type="text/javascript" charset="utf-8"></script>
 %endif
 
 <style type="text/css">

+ 3 - 3
apps/oozie/src/oozie/templates/dashboard/list_oozie_workflow_action.mako

@@ -181,9 +181,9 @@ ${ layout.menubar(section='workflows', dashboard=True) }
 </div>
 
 
-<script src="/static/ext/js/codemirror-3.11.js"></script>
-<link rel="stylesheet" href="/static/ext/css/codemirror.css">
-<script src="/static/ext/js/codemirror-xml.js"></script>
+<script src="${ static('desktop/ext/js/codemirror-3.11.js') }"></script>
+<link rel="stylesheet" href="${ static('desktop/ext/css/codemirror.css') }">
+<script src="${ static('desktop/ext/js/codemirror-xml.js') }"></script>
 
 <script type="text/javascript">
 

+ 2 - 2
apps/oozie/src/oozie/templates/dashboard/list_oozie_workflows.mako

@@ -160,8 +160,8 @@ ${ layout.menubar(section='workflows', dashboard=True) }
 }
 </style>
 
-<script src="/oozie/static/js/dashboard-utils.js" type="text/javascript" charset="utf-8"></script>
-<script src="/static/ext/js/datatables-paging-0.1.js" type="text/javascript" charset="utf-8"></script>
+<script src="${ static('oozie/js/dashboard-utils.js') }" type="text/javascript" charset="utf-8"></script>
+<script src="${ static('desktop/ext/js/datatables-paging-0.1.js') }" type="text/javascript" charset="utf-8"></script>
 
 <script type="text/javascript" charset="utf-8">
   var Workflow = function (wf) {

+ 5 - 5
apps/oozie/src/oozie/templates/editor/create_coordinator.mako

@@ -40,8 +40,8 @@ ${ layout.menubar(section='coordinators') }
   }
 </style>
 
-<script src="/static/ext/js/knockout-min.js" type="text/javascript" charset="utf-8"></script>
-<script src="/static/ext/js/routie-0.3.0.min.js" type="text/javascript" charset="utf-8"></script>
+<script src="${ static('desktop/ext/js/knockout-min.js') }" type="text/javascript" charset="utf-8"></script>
+<script src="${ static('desktop/ext/js/routie-0.3.0.min.js') }" type="text/javascript" charset="utf-8"></script>
 
 <div class="container-fluid">
   <div class="row-fluid">
@@ -134,11 +134,11 @@ ${ layout.menubar(section='coordinators') }
 </div>
 
 % if enable_cron_scheduling:
-<link href="/static/css/jqCron.css" rel="stylesheet" type="text/css" />
-<script src="/static/js/jqCron.js" type="text/javascript"></script>
+<link href="${ static('desktop/css/jqCron.css') }" rel="stylesheet" type="text/css" />
+<script src="${ static('desktop/js/jqCron.js') }" type="text/javascript"></script>
 % endif
 
-<script type="text/javascript" src="/oozie/static/js/coordinator.js"></script>
+<script type="text/javascript" src="${ static('oozie/js/coordinator.js') }"></script>
 
 
 <script type="text/javascript" charset="utf-8">

+ 1 - 1
apps/oozie/src/oozie/templates/editor/create_workflow.mako

@@ -84,7 +84,7 @@ ${ layout.menubar(section='workflows') }
 
 ${ utils.path_chooser_libs(True, True) }
 
-<link rel="stylesheet" href="/oozie/static/css/workflow.css">
+<link rel="stylesheet" href="${ static('oozie/css/workflow.css') }">
 
 <script>
   $(document).ready(function(){

+ 3 - 3
apps/oozie/src/oozie/templates/editor/edit_bundle.mako

@@ -43,8 +43,8 @@ ${ layout.menubar(section='bundles') }
   }
 </style>
 
-<script src="/static/ext/js/knockout-min.js" type="text/javascript" charset="utf-8"></script>
-<script src="/static/ext/js/routie-0.3.0.min.js" type="text/javascript" charset="utf-8"></script>
+<script src="${ static('desktop/ext/js/knockout-min.js') }" type="text/javascript" charset="utf-8"></script>
+<script src="${ static('desktop/ext/js/routie-0.3.0.min.js') }" type="text/javascript" charset="utf-8"></script>
 
 
 <div class="container-fluid">
@@ -268,7 +268,7 @@ ${ layout.menubar(section='bundles') }
     }
   </style>
 
-  <script src="/static/ext/js/knockout-min.js" type="text/javascript" charset="utf-8"></script>
+  <script src="${ static('desktop/ext/js/knockout-min.js') }" type="text/javascript" charset="utf-8"></script>
 
   <script type="text/javascript" charset="utf-8">
 

+ 6 - 6
apps/oozie/src/oozie/templates/editor/edit_coordinator.mako

@@ -45,9 +45,9 @@ ${ layout.menubar(section='coordinators') }
   }
 </style>
 
-<script src="/static/ext/js/knockout-min.js" type="text/javascript" charset="utf-8"></script>
-<script src="/static/ext/js/knockout.mapping-2.3.2.js" type="text/javascript" charset="utf-8"></script>
-<script src="/static/ext/js/routie-0.3.0.min.js" type="text/javascript" charset="utf-8"></script>
+<script src="${ static('desktop/ext/js/knockout-min.js') }" type="text/javascript" charset="utf-8"></script>
+<script src="${ static('desktop/ext/js/knockout.mapping-2.3.2.js') }" type="text/javascript" charset="utf-8"></script>
+<script src="${ static('desktop/ext/js/routie-0.3.0.min.js') }" type="text/javascript" charset="utf-8"></script>
 
 
 <div class="container-fluid">
@@ -455,11 +455,11 @@ ${ layout.menubar(section='coordinators') }
 <form class="form-horizontal" id="edit-dataset-form"></form>
 
 % if enable_cron_scheduling:
-<link href="/static/css/jqCron.css" rel="stylesheet" type="text/css" />
-<script src="/static/js/jqCron.js" type="text/javascript"></script>
+<link href="${ static('desktop/css/jqCron.css') }" rel="stylesheet" type="text/css" />
+<script src="${ static('desktop/js/jqCron.js') }" type="text/javascript"></script>
 % endif
 
-<script type="text/javascript" src="/oozie/static/js/coordinator.js"></script>
+<script type="text/javascript" src="${ static('oozie/js/coordinator.js') }"></script>
 
 
 % if coordinator.id:

+ 22 - 22
apps/oozie/src/oozie/templates/editor/edit_workflow.mako

@@ -437,27 +437,27 @@ ${ layout.menubar(section='workflows') }
 <div id="submit-wf-modal" class="modal hide"></div>
 
 
-<script src="/static/ext/js/codemirror-3.11.js"></script>
-<link rel="stylesheet" href="/static/ext/css/codemirror.css">
-<script src="/static/ext/js/codemirror-xml.js"></script>
-<script src="/static/ext/js/codemirror-closetag.js"></script>
-
-<script src="/static/ext/js/knockout-min.js" type="text/javascript" charset="utf-8"></script>
-<script src="/static/ext/js/knockout.mapping-2.3.2.js" type="text/javascript" charset="utf-8"></script>
-<script src="/static/ext/js/jquery/plugins/jquery-ui-1.10.4.draggable-droppable-sortable.min.js" type="text/javascript" charset="utf-8"></script>
-<script src="/static/ext/js/routie-0.3.0.min.js" type="text/javascript" charset="utf-8"></script>
-<script src="/static/ext/js/datatables-paging-0.1.js" type="text/javascript" charset="utf-8"></script>
-
-<link rel="stylesheet" href="/oozie/static/css/workflow.css">
-<script type="text/javascript" src="/oozie/static/js/workflow.utils.js"></script>
-<script type="text/javascript" src="/oozie/static/js/workflow.registry.js"></script>
-<script type="text/javascript" src="/oozie/static/js/workflow.modal.js"></script>
-<script type="text/javascript" src="/oozie/static/js/workflow.models.js"></script>
-<script type="text/javascript" src="/oozie/static/js/workflow.idgen.js"></script>
-<script type="text/javascript" src="/oozie/static/js/workflow.node-fields.js"></script>
-<script type="text/javascript" src="/oozie/static/js/workflow.node.js"></script>
-<script type="text/javascript" src="/oozie/static/js/workflow.js"></script>
-<script type="text/javascript" src="/oozie/static/js/workflow.import-node.js"></script>
+<script src="${ static('desktop/ext/js/codemirror-3.11.js') }"></script>
+<link rel="stylesheet" href="${ static('desktop/ext/css/codemirror.css') }">
+<script src="${ static('desktop/ext/js/codemirror-xml.js') }"></script>
+<script src="${ static('desktop/ext/js/codemirror-closetag.js') }"></script>
+
+<script src="${ static('desktop/ext/js/knockout-min.js') }" type="text/javascript" charset="utf-8"></script>
+<script src="${ static('desktop/ext/js/knockout.mapping-2.3.2.js') }" type="text/javascript" charset="utf-8"></script>
+<script src="${ static('desktop/ext/js/jquery/plugins/jquery-ui-1.10.4.draggable-droppable-sortable.min.js') }" type="text/javascript" charset="utf-8"></script>
+<script src="${ static('desktop/ext/js/routie-0.3.0.min.js') }" type="text/javascript" charset="utf-8"></script>
+<script src="${ static('desktop/ext/js/datatables-paging-0.1.js') }" type="text/javascript" charset="utf-8"></script>
+
+<link rel="stylesheet" href="${ static('oozie/css/workflow.css') }">
+<script type="text/javascript" src="${ static('oozie/js/workflow.utils.js') }"></script>
+<script type="text/javascript" src="${ static('oozie/js/workflow.registry.js') }"></script>
+<script type="text/javascript" src="${ static('oozie/js/workflow.modal.js') }"></script>
+<script type="text/javascript" src="${ static('oozie/js/workflow.models.js') }"></script>
+<script type="text/javascript" src="${ static('oozie/js/workflow.idgen.js') }"></script>
+<script type="text/javascript" src="${ static('oozie/js/workflow.node-fields.js') }"></script>
+<script type="text/javascript" src="${ static('oozie/js/workflow.node.js') }"></script>
+<script type="text/javascript" src="${ static('oozie/js/workflow.js') }"></script>
+<script type="text/javascript" src="${ static('oozie/js/workflow.import-node.js') }"></script>
 
 
 % for form_info in action_forms:
@@ -728,7 +728,7 @@ var modal = new Modal($('#node-modal'));
 import_jobsub_action.fetchWorkflows({ success: import_jobsub_load_success });
 import_workflow_action.fetchWorkflows({ success: import_workflow_load_success });
 {
-  var spinner = $('<img src="/static/art/spinner.gif" />');
+  var spinner = $('<img src="${ static('desktop/art/spinner.gif') }" />');
   workflow.loading.subscribe(function(value) {
     if (value) {
       $('#graph').append(spinner);

+ 14 - 14
apps/oozie/src/oozie/templates/editor/jasmine.mako

@@ -1,19 +1,19 @@
 <%inherit file="/common_jasmine.mako"/>
 
 <%block name="specs">
-  <script src="/static/ext/js/knockout.mapping-2.3.2.js" type="text/javascript" charset="utf-8"></script>
-  <script src="/static/ext/js/moment-with-locales.min.js" type="text/javascript" charset="utf-8"></script>
-  <script src="/static/ext/js/bootstrap.min.js" type="text/javascript" charset="utf-8"></script>
-  <script type="text/javascript" src="static/js/workflow.utils.js"></script>
-  <script type="text/javascript" src="static/js/workflow.registry.js"></script>
-  <script type="text/javascript" src="static/js/workflow.modal.js"></script>
-  <script type="text/javascript" src="static/js/workflow.models.js"></script>
-  <script type="text/javascript" src="static/js/workflow.idgen.js"></script>
-  <script type="text/javascript" src="static/js/workflow.node-fields.js"></script>
-  <script type="text/javascript" src="static/js/workflow.node.js"></script>
-  <script type="text/javascript" src="static/js/workflow.js"></script>
-  <script type="text/javascript" src="static/js/workflow.import-node.js"></script>
-  <script src="static/jasmine/workflow.js" type="text/javascript" charset="utf-8"></script>
+  <script src="${ static('desktop/ext/js/knockout.mapping-2.3.2.js') }" type="text/javascript" charset="utf-8"></script>
+  <script src="${ static('desktop/ext/js/moment-with-locales.min.js') }" type="text/javascript" charset="utf-8"></script>
+  <script src="${ static('desktop/ext/js/bootstrap.min.js') }" type="text/javascript" charset="utf-8"></script>
+  <script type="text/javascript" src="${ static('oozie/js/workflow.utils.js') }"></script>
+  <script type="text/javascript" src="${ static('oozie/js/workflow.registry.js') }"></script>
+  <script type="text/javascript" src="${ static('oozie/js/workflow.modal.js') }"></script>
+  <script type="text/javascript" src="${ static('oozie/js/workflow.models.js') }"></script>
+  <script type="text/javascript" src="${ static('oozie/js/workflow.idgen.js') }"></script>
+  <script type="text/javascript" src="${ static('oozie/js/workflow.node-fields.js') }"></script>
+  <script type="text/javascript" src="${ static('oozie/js/workflow.node.js') }"></script>
+  <script type="text/javascript" src="${ static('oozie/js/workflow.js') }"></script>
+  <script type="text/javascript" src="${ static('oozie/js/workflow.import-node.js') }"></script>
+  <script src="${ static('oozie/jasmine/workflow.js') }" type="text/javascript" charset="utf-8"></script>
 </%block>
 
 <%block name="fixtures">
@@ -27,4 +27,4 @@
     <a class="cancelButton"></a>
     <a class="closeButton"></a>
   </div>
-</%block>
+</%block>

+ 3 - 3
apps/oozie/src/oozie/templates/editor/list_bundles.mako

@@ -121,7 +121,7 @@ ${ layout.menubar(section='bundles') }
 
 <div class="hueOverlay" data-bind="visible: isLoading">
   <!--[if lte IE 9]>
-    <img src="/static/art/spinner-big.gif" />
+    <img src="${ static('desktop/art/spinner-big.gif') }" />
   <![endif]-->
   <!--[if !IE]> -->
     <i class="fa fa-spinner fa-spin"></i>
@@ -164,8 +164,8 @@ ${ layout.menubar(section='bundles') }
   </form>
 </div>
 
-<script src="/static/ext/js/datatables-paging-0.1.js" type="text/javascript" charset="utf-8"></script>
-<script src="/static/ext/js/knockout-min.js" type="text/javascript" charset="utf-8"></script>
+<script src="${ static('desktop/ext/js/datatables-paging-0.1.js') }" type="text/javascript" charset="utf-8"></script>
+<script src="${ static('desktop/ext/js/knockout-min.js') }" type="text/javascript" charset="utf-8"></script>
 
 <script type="text/javascript" charset="utf-8">
   $(document).ready(function () {

+ 3 - 3
apps/oozie/src/oozie/templates/editor/list_coordinators.mako

@@ -125,7 +125,7 @@ ${ layout.menubar(section='coordinators') }
 
 <div class="hueOverlay" data-bind="visible: isLoading">
   <!--[if lte IE 9]>
-    <img src="/static/art/spinner-big.gif" />
+    <img src="${ static('desktop/art/spinner-big.gif') }" />
   <![endif]-->
   <!--[if !IE]> -->
     <i class="fa fa-spinner fa-spin"></i>
@@ -168,8 +168,8 @@ ${ layout.menubar(section='coordinators') }
   </form>
 </div>
 
-<script src="/static/ext/js/datatables-paging-0.1.js" type="text/javascript" charset="utf-8"></script>
-<script src="/static/ext/js/knockout-min.js" type="text/javascript" charset="utf-8"></script>
+<script src="${ static('desktop/ext/js/datatables-paging-0.1.js') }" type="text/javascript" charset="utf-8"></script>
+<script src="${ static('desktop/ext/js/knockout-min.js') }" type="text/javascript" charset="utf-8"></script>
 
 
 <script type="text/javascript" charset="utf-8">

+ 1 - 1
apps/oozie/src/oozie/templates/editor/list_history.mako

@@ -68,7 +68,7 @@ ${ layout.menubar(section='history') }
 </div>
 
 
-<script src="/static/ext/js/datatables-paging-0.1.js" type="text/javascript" charset="utf-8"></script>
+<script src="${ static('desktop/ext/js/datatables-paging-0.1.js') }" type="text/javascript" charset="utf-8"></script>
 
 <script type="text/javascript" charset="utf-8">
   $(document).ready(function() {

+ 2 - 2
apps/oozie/src/oozie/templates/editor/list_trashed_bundles.mako

@@ -145,8 +145,8 @@ ${ layout.menubar(section='bundles') }
   </form>
 </div>
 
-<script src="/static/ext/js/datatables-paging-0.1.js" type="text/javascript" charset="utf-8"></script>
-<script src="/static/ext/js/knockout-min.js" type="text/javascript" charset="utf-8"></script>
+<script src="${ static('desktop/ext/js/datatables-paging-0.1.js') }" type="text/javascript" charset="utf-8"></script>
+<script src="${ static('desktop/ext/js/knockout-min.js') }" type="text/javascript" charset="utf-8"></script>
 
 <script type="text/javascript" charset="utf-8">
   $(document).ready(function () {

+ 2 - 2
apps/oozie/src/oozie/templates/editor/list_trashed_coordinators.mako

@@ -147,8 +147,8 @@ ${ layout.menubar(section='coordinators') }
   </form>
 </div>
 
-<script src="/static/ext/js/datatables-paging-0.1.js" type="text/javascript" charset="utf-8"></script>
-<script src="/static/ext/js/knockout-min.js" type="text/javascript" charset="utf-8"></script>
+<script src="${ static('desktop/ext/js/datatables-paging-0.1.js') }" type="text/javascript" charset="utf-8"></script>
+<script src="${ static('desktop/ext/js/knockout-min.js') }" type="text/javascript" charset="utf-8"></script>
 
 <script type="text/javascript" charset="utf-8">
   $(document).ready(function () {

+ 2 - 2
apps/oozie/src/oozie/templates/editor/list_trashed_workflows.mako

@@ -146,8 +146,8 @@ ${ layout.menubar(section='workflows') }
 </div>
 
 
-<script src="/static/ext/js/datatables-paging-0.1.js" type="text/javascript" charset="utf-8"></script>
-<script src="/static/ext/js/knockout-min.js" type="text/javascript" charset="utf-8"></script>
+<script src="${ static('desktop/ext/js/datatables-paging-0.1.js') }" type="text/javascript" charset="utf-8"></script>
+<script src="${ static('desktop/ext/js/knockout-min.js') }" type="text/javascript" charset="utf-8"></script>
 
 <script type="text/javascript" charset="utf-8">
   $(document).ready(function () {

+ 3 - 3
apps/oozie/src/oozie/templates/editor/list_workflows.mako

@@ -120,7 +120,7 @@ ${ layout.menubar(section='workflows') }
 
 <div class="hueOverlay" data-bind="visible: isLoading">
   <!--[if lte IE 9]>
-    <img src="/static/art/spinner-big.gif" />
+    <img src="${ static('desktop/art/spinner-big.gif') }" />
   <![endif]-->
   <!--[if !IE]> -->
     <i class="fa fa-spinner fa-spin"></i>
@@ -164,8 +164,8 @@ ${ layout.menubar(section='workflows') }
 </div>
 
 
-<script src="/static/ext/js/datatables-paging-0.1.js" type="text/javascript" charset="utf-8"></script>
-<script src="/static/ext/js/knockout-min.js" type="text/javascript" charset="utf-8"></script>
+<script src="${ static('desktop/ext/js/datatables-paging-0.1.js') }" type="text/javascript" charset="utf-8"></script>
+<script src="${ static('desktop/ext/js/knockout-min.js') }" type="text/javascript" charset="utf-8"></script>
 
 <script type="text/javascript" charset="utf-8">
   $(document).ready(function () {

+ 13 - 12
apps/oozie/src/oozie/templates/editor2/bundle_editor.mako

@@ -199,26 +199,27 @@ ${ commonheader(_("Bundle Editor"), "Oozie", user) | n,unicode }
 </div>
 
 
-<link rel="stylesheet" href="/static/ext/css/hue-filetypes.css">
-<link rel="stylesheet" href="/static/ext/css/hue-charts.css">
-<link rel="stylesheet" href="/static/ext/chosen/chosen.min.css">
-<link rel="stylesheet" href="/oozie/static/css/common-editor.css">
-<link rel="stylesheet" href="/oozie/static/css/coordinator-editor.css">
+<link rel="stylesheet" href="${ static('desktop/ext/css/hue-filetypes.css') }">
+<link rel="stylesheet" href="${ static('desktop/ext/css/hue-charts.css') }">
+<link rel="stylesheet" href="${ static('desktop/ext/chosen/chosen.min.css') }">
+<link rel="stylesheet" href="${ static('oozie/css/common-editor.css') }">
+<link rel="stylesheet" href="${ static('oozie/css/coordinator-editor.css') }">
 
 ${ dashboard.import_layout() }
 
 ${ commonshare() | n,unicode }
 
-<script src="/static/ext/js/bootstrap-editable.min.js" type="text/javascript" charset="utf-8"></script>
-<script src="/static/js/hue.utils.js"></script>
-<script src="/static/js/ko.editable.js" type="text/javascript" charset="utf-8"></script>
-<script src="/static/ext/chosen/chosen.jquery.min.js" type="text/javascript" charset="utf-8"></script>
-<script src="/static/js/share.vm.js"></script>
+<script src="${ static('desktop/ext/js/bootstrap-editable.min.js') }" type="text/javascript" charset="utf-8"></script>
+<script src="${ static('desktop/js/hue.utils.js') }"></script>
+<script src="${ static('desktop/js/ko.editable.js') }" type="text/javascript" charset="utf-8"></script>
+<script src="${ static('desktop/ext/chosen/chosen.jquery.min.js') }" type="text/javascript" charset="utf-8"></script>
+<script src="${ static('desktop/js/share.vm.js') }"></script>
 
 ${ dashboard.import_bindings() }
 
-<script src="/oozie/static/js/bundle-editor.ko.js" type="text/javascript" charset="utf-8"></script>
-<script src="/oozie/static/js/editor2-utils.js" type="text/javascript" charset="utf-8"></script>
+<script src="${ static('oozie/js/bundle-editor.ko.js') }" type="text/javascript" charset="utf-8"></script>
+<script src="${ static('oozie/js/editor2-utils.js') }" type="text/javascript" charset="utf-8"></script>
+
 
 <script type="text/javascript">
   var viewModel = new BundleEditorViewModel(${ bundle_json | n,unicode }, ${ coordinators_json | n,unicode }, ${ can_edit_json | n,unicode });

+ 17 - 17
apps/oozie/src/oozie/templates/editor2/coordinator_editor.mako

@@ -483,34 +483,34 @@ ${ commonheader(_("Coordinator Editor"), "Oozie", user) | n,unicode }
 
 </div>
 
-<link rel="stylesheet" href="/static/ext/css/hue-filetypes.css">
-<link rel="stylesheet" href="/static/ext/css/hue-charts.css">
-<link rel="stylesheet" href="/static/ext/chosen/chosen.min.css">
-<link rel="stylesheet" href="/oozie/static/css/common-editor.css">
-<link rel="stylesheet" href="/oozie/static/css/coordinator-editor.css">
+<link rel="stylesheet" href="${ static('desktop/ext/css/hue-filetypes.css') }">
+<link rel="stylesheet" href="${ static('desktop/ext/css/hue-charts.css') }">
+<link rel="stylesheet" href="${ static('desktop/ext/chosen/chosen.min.css') }">
+<link rel="stylesheet" href="${ static('oozie/css/common-editor.css') }">
+<link rel="stylesheet" href="${ static('oozie/css/coordinator-editor.css') }">
 
-<link href="/static/css/jqCron.css" rel="stylesheet" type="text/css" />
-<script src="/static/js/jqCron.js" type="text/javascript"></script>
+<link href="${ static('desktop/css/jqCron.css') }" rel="stylesheet" type="text/css" />
+<script src="${ static('desktop/js/jqCron.js') }" type="text/javascript"></script>
 
-<script src="/static/ext/js/moment-with-locales.min.js" type="text/javascript" charset="utf-8"></script>
+<script src="${ static('desktop/ext/js/moment-with-locales.min.js') }" type="text/javascript" charset="utf-8"></script>
 
-<link rel="stylesheet" href="/static/ext/select2/select2.css">
-<script src="/static/ext/select2/select2.min.js" type="text/javascript" charset="utf-8"></script>
+<link rel="stylesheet" href="${ static('desktop/ext/select2/select2.css') }">
+<script src="${ static('desktop/ext/select2/select2.min.js') }" type="text/javascript" charset="utf-8"></script>
 
 ${ dashboard.import_layout() }
 
 ${ commonshare() | n,unicode }
 
-<script src="/static/ext/js/bootstrap-editable.min.js" type="text/javascript" charset="utf-8"></script>
-<script src="/static/js/hue.utils.js"></script>
-<script src="/static/js/ko.editable.js" type="text/javascript" charset="utf-8"></script>
-<script src="/static/ext/chosen/chosen.jquery.min.js" type="text/javascript" charset="utf-8"></script>
-<script src="/static/js/share.vm.js"></script>
+<script src="${ static('desktop/ext/js/bootstrap-editable.min.js') }" type="text/javascript" charset="utf-8"></script>
+<script src="${ static('desktop/js/hue.utils.js') }"></script>
+<script src="${ static('desktop/js/ko.editable.js') }" type="text/javascript" charset="utf-8"></script>
+<script src="${ static('desktop/ext/chosen/chosen.jquery.min.js') }" type="text/javascript" charset="utf-8"></script>
+<script src="${ static('desktop/js/share.vm.js') }"></script>
 
 ${ dashboard.import_bindings() }
 
-<script src="/oozie/static/js/coordinator-editor.ko.js" type="text/javascript" charset="utf-8"></script>
-<script src="/oozie/static/js/editor2-utils.js" type="text/javascript" charset="utf-8"></script>
+<script src="${ static('oozie/js/coordinator-editor.ko.js') }" type="text/javascript" charset="utf-8"></script>
+<script src="${ static('oozie/js/editor2-utils.js') }" type="text/javascript" charset="utf-8"></script>
 
 
 <script type="text/javascript">

+ 6 - 6
apps/oozie/src/oozie/templates/editor2/list_editor_bundles.mako

@@ -101,7 +101,7 @@ ${ layout.menubar(section='bundles', is_editor=True) }
 
 <div class="hueOverlay" data-bind="visible: isLoading">
   <!--[if lte IE 9]>
-    <img src="/static/art/spinner-big.gif" />
+    <img src="${ static('desktop/art/spinner-big.gif') }" />
   <![endif]-->
   <!--[if !IE]> -->
     <i class="fa fa-spinner fa-spin"></i>
@@ -131,11 +131,11 @@ ${ layout.menubar(section='bundles', is_editor=True) }
 ${ commonshare() | n,unicode }
 
 
-<script src="/static/ext/js/datatables-paging-0.1.js" type="text/javascript" charset="utf-8"></script>
-<script src="/static/ext/js/knockout-min.js" type="text/javascript" charset="utf-8"></script>
-<script src="/static/ext/js/knockout.mapping-2.3.2.js" type="text/javascript" charset="utf-8"></script>
-<script src="/static/js/share.vm.js"></script>
-<script src="/oozie/static/js/editor2-utils.js" type="text/javascript" charset="utf-8"></script>
+<script src="${ static('desktop/ext/js/datatables-paging-0.1.js') }" type="text/javascript" charset="utf-8"></script>
+<script src="${ static('desktop/ext/js/knockout-min.js') }" type="text/javascript" charset="utf-8"></script>
+<script src="${ static('desktop/ext/js/knockout.mapping-2.3.2.js') }" type="text/javascript" charset="utf-8"></script>
+<script src="${ static('desktop/js/share.vm.js') }"></script>
+<script src="${ static('oozie/js/editor2-utils.js') }" type="text/javascript" charset="utf-8"></script>
 
 
 <script type="text/javascript" charset="utf-8">

+ 7 - 6
apps/oozie/src/oozie/templates/editor2/list_editor_coordinators.mako

@@ -101,7 +101,7 @@ ${ layout.menubar(section='coordinators', is_editor=True) }
 
 <div class="hueOverlay" data-bind="visible: isLoading">
   <!--[if lte IE 9]>
-    <img src="/static/art/spinner-big.gif" />
+    <img src="${ static('desktop/art/spinner-big.gif') }" />
   <![endif]-->
   <!--[if !IE]> -->
     <i class="fa fa-spinner fa-spin"></i>
@@ -131,11 +131,12 @@ ${ layout.menubar(section='coordinators', is_editor=True) }
 ${ commonshare() | n,unicode }
 
 
-<script src="/static/ext/js/datatables-paging-0.1.js" type="text/javascript" charset="utf-8"></script>
-<script src="/static/ext/js/knockout-min.js" type="text/javascript" charset="utf-8"></script>
-<script src="/static/ext/js/knockout.mapping-2.3.2.js" type="text/javascript" charset="utf-8"></script>
-<script src="/static/js/share.vm.js"></script>
-<script src="/oozie/static/js/editor2-utils.js" type="text/javascript" charset="utf-8"></script>
+<script src="${ static('desktop/ext/js/datatables-paging-0.1.js') }" type="text/javascript" charset="utf-8"></script>
+<script src="${ static('desktop/ext/js/knockout-min.js') }" type="text/javascript" charset="utf-8"></script>
+<script src="${ static('desktop/ext/js/knockout.mapping-2.3.2.js') }" type="text/javascript" charset="utf-8"></script>
+<script src="${ static('desktop/js/share.vm.js') }"></script>
+<script src="${ static('oozie/js/editor2-utils.js') }" type="text/javascript" charset="utf-8"></script>
+
 
 <script type="text/javascript" charset="utf-8">
   var Editor = function () {

+ 7 - 6
apps/oozie/src/oozie/templates/editor2/list_editor_workflows.mako

@@ -102,7 +102,7 @@ ${ layout.menubar(section='workflows', is_editor=True) }
 
 <div class="hueOverlay" data-bind="visible: isLoading">
   <!--[if lte IE 9]>
-    <img src="/static/art/spinner-big.gif" />
+    <img src="${ static('desktop/art/spinner-big.gif') }" />
   <![endif]-->
   <!--[if !IE]> -->
     <i class="fa fa-spinner fa-spin"></i>
@@ -132,11 +132,12 @@ ${ layout.menubar(section='workflows', is_editor=True) }
 ${ commonshare() | n,unicode }
 
 
-<script src="/static/ext/js/datatables-paging-0.1.js" type="text/javascript" charset="utf-8"></script>
-<script src="/static/ext/js/knockout-min.js" type="text/javascript" charset="utf-8"></script>
-<script src="/static/ext/js/knockout.mapping-2.3.2.js" type="text/javascript" charset="utf-8"></script>
-<script src="/static/js/share.vm.js"></script>
-<script src="/oozie/static/js/editor2-utils.js" type="text/javascript" charset="utf-8"></script>
+<script src="${ static('desktop/ext/js/datatables-paging-0.1.js') }" type="text/javascript" charset="utf-8"></script>
+<script src="${ static('desktop/ext/js/knockout-min.js') }" type="text/javascript" charset="utf-8"></script>
+<script src="${ static('desktop/ext/js/knockout.mapping-2.3.2.js') }" type="text/javascript" charset="utf-8"></script>
+<script src="${ static('desktop/js/share.vm.js') }"></script>
+<script src="${ static('oozie/js/editor2-utils.js') }" type="text/javascript" charset="utf-8"></script>
+
 
 <script type="text/javascript" charset="utf-8">
   var Editor = function () {

+ 7 - 7
apps/oozie/src/oozie/templates/editor2/submit_job_popup.mako

@@ -20,7 +20,7 @@
 
 <%namespace name="utils" file="../utils.inc.mako" />
 
-<link rel="stylesheet" href="/oozie/static/css/common-editor.css">
+<link rel="stylesheet" href="${ static('oozie/css/common-editor.css') }">
 
 <form action="${ action }" method="POST" class="form submit-form">
   ${ csrf_token(request) | n,unicode }
@@ -90,9 +90,9 @@
 </div>
 
 
-<script src="/static/js/ko.hue-bindings.js"></script>
-<link rel="stylesheet" href="/static/ext/css/bootstrap-datepicker.min.css" type="text/css" media="screen" title="no title" charset="utf-8" />
-<link rel="stylesheet" href="/static/ext/css/bootstrap-timepicker.min.css" type="text/css" media="screen" title="no title" charset="utf-8" />
+<script src="${ static('desktop/js/ko.hue-bindings.js') }"></script>
+<link rel="stylesheet" href="${ static('desktop/ext/css/bootstrap-datepicker.min.css') }" type="text/css" media="screen" title="no title" charset="utf-8" />
+<link rel="stylesheet" href="${ static('desktop/ext/css/bootstrap-timepicker.min.css') }" type="text/css" media="screen" title="no title" charset="utf-8" />
 
 <style type="text/css">
   .datepicker {
@@ -109,9 +109,9 @@
   }
 </style>
 
-<script src="/static/ext/js/moment-with-locales.min.js" type="text/javascript" charset="utf-8"></script>
-<script src="/static/ext/js/bootstrap-datepicker.min.js" type="text/javascript" charset="utf-8"></script>
-<script src="/static/ext/js/bootstrap-timepicker.min.js" type="text/javascript" charset="utf-8"></script>
+<script src="${ static('desktop/ext/js/moment-with-locales.min.js') }" type="text/javascript" charset="utf-8"></script>
+<script src="${ static('desktop/ext/js/bootstrap-datepicker.min.js') }" type="text/javascript" charset="utf-8"></script>
+<script src="${ static('desktop/ext/js/bootstrap-timepicker.min.js') }" type="text/javascript" charset="utf-8"></script>
 
 <script type="text/javascript">
   $('.submit-form .filechooser-input').each(function(){

+ 20 - 19
apps/oozie/src/oozie/templates/editor2/workflow_editor.mako

@@ -49,21 +49,21 @@ ${ commonheader(_("Workflow Editor"), "Oozie", user, "40px") | n,unicode }
                     draggable: {data: draggableHiveAction(), isEnabled: true,
                     options: {'refreshPositions': true, 'stop': function(){ $root.isDragging(false); }, 'start': function(event, ui){ $root.isDragging(true); $root.currentlyDraggedWidget(draggableHiveAction());}}}"
          title="${_('Hive Script')}" rel="tooltip" data-placement="top">
-         <a class="draggable-icon"><img src="/oozie/static/art/icon_beeswax_48.png" class="app-icon"></a>
+         <a class="draggable-icon"><img src="${ static('oozie/art/icon_beeswax_48.png') }" class="app-icon"></a>
     </div>
 
     <div data-bind="css: { 'draggable-widget': true },
                     draggable: {data: draggableHive2Action(), isEnabled: true,
                     options: {'refreshPositions': true, 'stop': function(){ $root.isDragging(false); }, 'start': function(event, ui){ $root.isDragging(true); $root.currentlyDraggedWidget(draggableHive2Action());}}}"
          title="${_('HiveServer2 Script')}" rel="tooltip" data-placement="top">
-         <a class="draggable-icon"><img src="/oozie/static/art/icon_beeswax_48.png" class="app-icon"><sup style="color: #338bb8; margin-left: -4px; top: -14px; font-size: 12px">2</sup></a>
+         <a class="draggable-icon"><img src="${ static('oozie/art/icon_beeswax_48.png') }" class="app-icon"><sup style="color: #338bb8; margin-left: -4px; top: -14px; font-size: 12px">2</sup></a>
     </div>
 
     <div data-bind="css: { 'draggable-widget': true},
                     draggable: {data: draggablePigAction(), isEnabled: true,
                     options: {'refreshPositions': true, 'stop': function(){ $root.isDragging(false); }, 'start': function(event, ui){ $root.isDragging(true); $root.currentlyDraggedWidget(draggablePigAction());}}}"
          title="${_('Pig Script')}" rel="tooltip" data-placement="top">
-         <a class="draggable-icon"><img src="/oozie/static/art/icon_pig_48.png" class="app-icon"></a>
+         <a class="draggable-icon"><img src="${ static('oozie/art/icon_pig_48.png') }" class="app-icon"></a>
     </div>
 
     <div data-bind="css: { 'draggable-widget': true },
@@ -77,7 +77,7 @@ ${ commonheader(_("Workflow Editor"), "Oozie", user, "40px") | n,unicode }
                     draggable: {data: draggableSqoopAction(), isEnabled: true,
                     options: {'refreshPositions': true, 'stop': function(){ $root.isDragging(false); }, 'start': function(event, ui){ $root.isDragging(true); $root.currentlyDraggedWidget(draggableSqoopAction());}}}"
          title="${_('Sqoop 1')}" rel="tooltip" data-placement="top">
-         <a class="draggable-icon"><img src="/oozie/static/art/icon_sqoop_48.png" class="app-icon"></a>
+         <a class="draggable-icon"><img src="${ static('oozie/art/icon_sqoop_48.png') }" class="app-icon"></a>
     </div>
 
     <div data-bind="css: { 'draggable-widget': true },
@@ -342,30 +342,31 @@ ${ workflow.render() }
 
 <div id="exposeOverlay"></div>
 
-<link rel="stylesheet" href="/static/ext/css/hue-filetypes.css">
-<link rel="stylesheet" href="/static/ext/css/hue-charts.css">
-<link rel="stylesheet" href="/static/ext/chosen/chosen.min.css">
-<link rel="stylesheet" href="/oozie/static/css/common-editor.css">
-<link rel="stylesheet" href="/oozie/static/css/workflow-editor.css">
+<link rel="stylesheet" href="${ static('desktop/ext/css/hue-filetypes.css') }">
+<link rel="stylesheet" href="${ static('desktop/ext/css/hue-charts.css') }">
+<link rel="stylesheet" href="${ static('desktop/ext/chosen/chosen.min.css') }">
+<link rel="stylesheet" href="${ static('oozie/css/common-editor.css') }">
+<link rel="stylesheet" href="${ static('oozie/css/workflow-editor.css') }">
 
 
 ${ dashboard.import_layout() }
 
 ${ commonshare() | n,unicode }
 
-<script src="/static/ext/js/bootstrap-editable.min.js" type="text/javascript" charset="utf-8"></script>
-<script src="/static/js/hue.utils.js"></script>
-<script src="/static/js/ko.editable.js" type="text/javascript" charset="utf-8"></script>
-<script src="/static/ext/chosen/chosen.jquery.min.js" type="text/javascript" charset="utf-8"></script>
-<script src="/static/js/share.vm.js"></script>
-<script src="/static/js/jquery.hdfsautocomplete.js" type="text/javascript" charset="utf-8"></script>
+<script src="${ static('desktop/ext/js/bootstrap-editable.min.js') }" type="text/javascript" charset="utf-8"></script>
+<script src="${ static('desktop/js/hue.utils.js') }"></script>
+<script src="${ static('desktop/js/ko.editable.js') }" type="text/javascript" charset="utf-8"></script>
+<script src="${ static('desktop/ext/chosen/chosen.jquery.min.js') }" type="text/javascript" charset="utf-8"></script>
+<script src="${ static('desktop/js/share.vm.js') }"></script>
+<script src="${ static('desktop/js/jquery.hdfsautocomplete.js') }" type="text/javascript" charset="utf-8"></script>
 
 ${ dashboard.import_bindings() }
 
-<script src="/oozie/static/js/workflow-editor.ko.js" type="text/javascript" charset="utf-8"></script>
-<script src="/oozie/static/js/workflow-editor.utils.js" type="text/javascript" charset="utf-8"></script>
-<script src="/static/ext/js/jquery/plugins/jquery.curvedarrow.js" type="text/javascript" charset="utf-8"></script>
-<script src="/oozie/static/js/editor2-utils.js" type="text/javascript" charset="utf-8"></script>
+<script src="${ static('oozie/js/workflow-editor.ko.js') }" type="text/javascript" charset="utf-8"></script>
+<script src="${ static('oozie/js/workflow-editor.utils.js') }" type="text/javascript" charset="utf-8"></script>
+<script src="${ static('desktop/ext/js/jquery/plugins/jquery.curvedarrow.js') }" type="text/javascript" charset="utf-8"></script>
+<script src="${ static('oozie/js/editor2-utils.js') }" type="text/javascript" charset="utf-8"></script>
+
 
 <script type="text/javascript">
   ${ utils.slaGlobal() }

+ 2 - 2
apps/oozie/src/oozie/templates/navigation-bar.mako

@@ -31,9 +31,9 @@
               <li class="currentApp">
                 <a href="/${app_name}">
                   % if dashboard:
-                    <img src="/oozie/static/art/icon_oozie_dashboard_48.png" class="app-icon" />
+                    <img src="${ static('oozie/art/icon_oozie_dashboard_48.png') }" class="app-icon" />
                   % else:
-                    <img src="/oozie/static/art/icon_oozie_editor_48.png" class="app-icon" />
+                    <img src="${ static('oozie/art/icon_oozie_editor_48.png') }" class="app-icon" />
                   % endif
                   ${ _('Oozie Dashboard') if dashboard else _('Oozie Editor') }
                 </a>

+ 5 - 5
apps/oozie/src/oozie/templates/utils.inc.mako

@@ -412,8 +412,8 @@
 
 <%def name="decorate_datetime_fields(is_range=True)">
 
-  <link rel="stylesheet" href="/static/ext/css/bootstrap-datepicker.min.css" type="text/css" media="screen" title="no title" charset="utf-8" />
-  <link rel="stylesheet" href="/static/ext/css/bootstrap-timepicker.min.css" type="text/css" media="screen" title="no title" charset="utf-8" />
+  <link rel="stylesheet" href="${ static('desktop/ext/css/bootstrap-datepicker.min.css') }" type="text/css" media="screen" title="no title" charset="utf-8" />
+  <link rel="stylesheet" href="${ static('desktop/ext/css/bootstrap-timepicker.min.css') }" type="text/css" media="screen" title="no title" charset="utf-8" />
 
   <style type="text/css">
     .datepicker {
@@ -421,9 +421,9 @@
     }
   </style>
 
-  <script src="/static/ext/js/moment-with-locales.min.js" type="text/javascript" charset="utf-8"></script>
-  <script src="/static/ext/js/bootstrap-datepicker.min.js" type="text/javascript" charset="utf-8"></script>
-  <script src="/static/ext/js/bootstrap-timepicker.min.js" type="text/javascript" charset="utf-8"></script>
+  <script src="${ static('desktop/ext/js/moment-with-locales.min.js') }" type="text/javascript" charset="utf-8"></script>
+  <script src="${ static('desktop/ext/js/bootstrap-datepicker.min.js') }" type="text/javascript" charset="utf-8"></script>
+  <script src="${ static('desktop/ext/js/bootstrap-timepicker.min.js') }" type="text/javascript" charset="utf-8"></script>
 
   <script type="text/javascript" charset="utf-8">
 

+ 18 - 18
apps/pig/src/pig/templates/app.mako

@@ -30,7 +30,7 @@ ${ commonheader(None, "pig", user) | n,unicode }
             <ul class="nav">
               <li class="currentApp">
                 <a href="/${app_name}">
-                  <img src="/pig/static/art/icon_pig_48.png" class="app-icon"/>
+                  <img src="${ static('pig/art/icon_pig_48.png') }" class="app-icon"/>
                   ${ _('Pig Editor') }
                 </a>
               </li>
@@ -79,7 +79,7 @@ ${ commonheader(None, "pig", user) | n,unicode }
           <tfoot>
           <tr data-bind="visible: isLoading()">
             <td colspan="3" class="left">
-              <img src="/static/art/spinner.gif" />
+              <img src="${ static('desktop/art/spinner.gif') }" />
             </td>
           </tr>
           <tr data-bind="visible: filteredScripts().length == 0 && !isLoading()">
@@ -530,7 +530,7 @@ ${ commonheader(None, "pig", user) | n,unicode }
                 </div>
               </div>
             </script>
-            <pre id="withoutLogs">${ _('No available logs.') } <img src="/static/art/spinner.gif" data-bind="visible: currentScript().isRunning()"/></pre>
+            <pre id="withoutLogs">${ _('No available logs.') } <img src="${ static('desktop/art/spinner.gif') }" data-bind="visible: currentScript().isRunning()"/></pre>
             <pre id="withLogs" class="hide scroll"></pre>
           </div>
         </div>
@@ -637,7 +637,7 @@ ${ commonheader(None, "pig", user) | n,unicode }
       <h3>${_('Logs')}</h3>
     </div>
     <div class="modal-body">
-      <img src="/static/art/spinner.gif" class="hide" />
+      <img src="${ static('desktop/art/spinner.gif') }" class="hide" />
       <pre class="scroll hide"></pre>
     </div>
     <div class="modal-footer">
@@ -730,27 +730,27 @@ ${ commonshare() | n,unicode }
 
 <div class="bottomAlert alert"></div>
 
-<script src="/static/ext/js/knockout-min.js" type="text/javascript" charset="utf-8"></script>
-<script src="/static/ext/js/knockout.mapping-2.3.2.js" type="text/javascript" charset="utf-8"></script>
-<script src="/pig/static/js/utils.js" type="text/javascript" charset="utf-8"></script>
-<script src="/pig/static/js/pig.ko.js" type="text/javascript" charset="utf-8"></script>
-<script src="/static/js/share.vm.js" type="text/javascript" charset="utf-8"></script>
-
-<script src="/static/ext/js/routie-0.3.0.min.js" type="text/javascript" charset="utf-8"></script>
-<script src="/static/ext/js/codemirror-3.11.js"></script>
-<script src="/static/js/codemirror-pig.js"></script>
-<script src="/static/js/codemirror-show-hint.js"></script>
-<script src="/static/js/codemirror-pig-hint.js"></script>
+<script src="${ static('desktop/ext/js/knockout-min.js') }" type="text/javascript" charset="utf-8"></script>
+<script src="${ static('desktop/ext/js/knockout.mapping-2.3.2.js') }" type="text/javascript" charset="utf-8"></script>
+<script src="${ static('pig/js/utils.js') }" type="text/javascript" charset="utf-8"></script>
+<script src="${ static('pig/js/pig.ko.js') }" type="text/javascript" charset="utf-8"></script>
+<script src="${ static('desktop/js/share.vm.js') }" type="text/javascript" charset="utf-8"></script>
+
+<script src="${ static('desktop/ext/js/routie-0.3.0.min.js') }" type="text/javascript" charset="utf-8"></script>
+<script src="${ static('desktop/ext/js/codemirror-3.11.js') }"></script>
+<script src="${ static('desktop/js/codemirror-pig.js') }"></script>
+<script src="${ static('desktop/js/codemirror-show-hint.js') }"></script>
+<script src="${ static('desktop/js/codemirror-pig-hint.js') }"></script>
 % if autocomplete_base_url != '':
-<script src="/beeswax/static/js/autocomplete.utils.js" type="text/javascript" charset="utf-8"></script>
+<script src="${ static('beeswax/js/autocomplete.utils.js') }" type="text/javascript" charset="utf-8"></script>
 % else:
 <script type="text/javascript" charset="utf-8">
   var hac_getTables = function() {};
 </script>
 % endif
 
-<link rel="stylesheet" href="/pig/static/css/pig.css">
-<link rel="stylesheet" href="/static/ext/css/codemirror.css">
+<link rel="stylesheet" href="${ static('pig/css/pig.css') }">
+<link rel="stylesheet" href="${ static('desktop/ext/css/codemirror.css') }">
 
 <style type="text/css">
   .fileChooserBtn {

+ 2 - 2
apps/rdbms/src/rdbms/templates/common.mako

@@ -23,7 +23,7 @@
           <ul class="nav">
             <li class="currentApp">
               <a href="/rdbms">
-                <img src="/rdbms/static/art/icon_rdbms_48.png" class="app-icon" />
+                <img src="${ static('rdbms/art/icon_rdbms_48.png') }" class="app-icon" />
                 ${ _('DB Query') }
               </a>
             </li>
@@ -36,4 +36,4 @@
       </div>
     </div>
   </div>
-</%def>
+</%def>

+ 21 - 21
apps/rdbms/src/rdbms/templates/execute.mako

@@ -56,7 +56,7 @@ ${ commonheader(_('Query'), app_name, user) | n,unicode }
             <ul id="navigatorTables" class="unstyled"></ul>
             <div id="navigatorLoader">
               <!--[if !IE]><!--><i class="fa fa-spinner fa-spin" style="font-size: 20px; color: #DDD"></i><!--<![endif]-->
-              <!--[if IE]><img src="/static/art/spinner.gif" /><![endif]-->
+              <!--[if IE]><img src="${ static('desktop/art/spinner.gif') }" /><![endif]-->
             </div>
           </div>
         </div>
@@ -155,7 +155,7 @@ ${ commonheader(_('Query'), app_name, user) | n,unicode }
             <div class="row-fluid">
               <div class="span10 offset1 center" style="padding: 30px">
                 <!--[if !IE]><!--><i class="fa fa-spinner fa-spin" style="font-size: 60px; color: #DDD"></i><!--<![endif]-->
-                <!--[if IE]><img src="/static/art/spinner.gif" /><![endif]-->
+                <!--[if IE]><img src="${ static('desktop/art/spinner.gif') }" /><![endif]-->
               </div>
             </div>
           </div>
@@ -325,25 +325,25 @@ ${ commonshare() | n,unicode }
 
 </style>
 
-<script src="/static/ext/js/knockout-min.js" type="text/javascript" charset="utf-8"></script>
-<script src="/static/ext/js/knockout.mapping-2.3.2.js" type="text/javascript" charset="utf-8"></script>
-<script src="/rdbms/static/js/rdbms.vm.js"></script>
-<script src="/static/js/share.vm.js"></script>
-<script src="/static/ext/js/codemirror-3.11.js"></script>
-<link rel="stylesheet" href="/static/ext/css/codemirror.css">
-<script src="/static/ext/js/codemirror-sql.js"></script>
-<script src="/static/js/codemirror-sql-hint.js"></script>
-<script src="/static/js/codemirror-show-hint.js"></script>
-
-<link rel="stylesheet" href="/static/ext/chosen/chosen.min.css">
-<script src="/static/ext/chosen/chosen.jquery.min.js" type="text/javascript" charset="utf-8"></script>
-
-<link href="/static/ext/css/bootstrap-editable.css" rel="stylesheet">
-<script src="/static/ext/js/bootstrap-editable.min.js"></script>
-<script src="/static/ext/js/bootstrap-editable.min.js"></script>
-
-<script src="/static/ext/js/jquery/plugins/jquery-fieldselection.js" type="text/javascript"></script>
-<script src="/rdbms/static/js/autocomplete.utils.js" type="text/javascript" charset="utf-8"></script>
+<script src="${ static('desktop/ext/js/knockout-min.js') }" type="text/javascript" charset="utf-8"></script>
+<script src="${ static('desktop/ext/js/knockout.mapping-2.3.2.js') }" type="text/javascript" charset="utf-8"></script>
+<script src="${ static('rdbms/js/rdbms.vm.js') }"></script>
+<script src="${ static('desktop/js/share.vm.js') }"></script>
+<script src="${ static('desktop/ext/js/codemirror-3.11.js') }"></script>
+<link rel="stylesheet" href="${ static('desktop/ext/css/codemirror.css') }">
+<script src="${ static('desktop/ext/js/codemirror-sql.js') }"></script>
+<script src="${ static('desktop/js/codemirror-sql-hint.js') }"></script>
+<script src="${ static('desktop/js/codemirror-show-hint.js') }"></script>
+
+<link rel="stylesheet" href="${ static('desktop/ext/chosen/chosen.min.css') }">
+<script src="${ static('desktop/ext/chosen/chosen.jquery.min.js') }" type="text/javascript" charset="utf-8"></script>
+
+<link href="${ static('desktop/ext/css/bootstrap-editable.css') }" rel="stylesheet">
+<script src="${ static('desktop/ext/js/bootstrap-editable.min.js') }"></script>
+<script src="${ static('desktop/ext/js/bootstrap-editable.min.js') }"></script>
+
+<script src="${ static('desktop/ext/js/jquery/plugins/jquery-fieldselection.js') }" type="text/javascript"></script>
+<script src="${ static('rdbms/js/autocomplete.utils.js') }" type="text/javascript" charset="utf-8"></script>
 
 <script type="text/javascript" charset="utf-8">
   var codeMirror, viewModel;

+ 4 - 4
apps/search/src/search/templates/admin_collections.mako

@@ -24,7 +24,7 @@
 
 ${ commonheader(_('Search'), "search", user, "29px") | n,unicode }
 
-<link rel="stylesheet" href="/search/static/css/admin.css">
+<link rel="stylesheet" href="${ static('search/css/admin.css') }">
 
 <div class="search-bar" style="height: 30px">
   <div class="pull-right">
@@ -122,9 +122,9 @@ ${ commonheader(_('Search'), "search", user, "29px") | n,unicode }
   </div>
 </div>
 
-<script src="/static/ext/js/knockout-min.js" type="text/javascript" charset="utf-8"></script>
-<script src="/static/ext/js/knockout.mapping-2.3.2.js" type="text/javascript" charset="utf-8"></script>
-<script src="/search/static/js/collections.ko.js" type="text/javascript" charset="utf-8"></script>
+<script src="${ static('desktop/ext/js/knockout-min.js') }" type="text/javascript" charset="utf-8"></script>
+<script src="${ static('desktop/ext/js/knockout.mapping-2.3.2.js') }" type="text/javascript" charset="utf-8"></script>
+<script src="${ static('search/js/collections.ko.js') }" type="text/javascript" charset="utf-8"></script>
 
 <script>
   var appProperties = {

+ 28 - 28
apps/search/src/search/templates/search.mako

@@ -337,7 +337,7 @@ ${ dashboard.layout_skeleton() }
 <script type="text/html" id="facet-widget">
   <div class="widget-spinner" data-bind="visible: isLoading()">
     <!--[if !IE]> --><i class="fa fa-spinner fa-spin"></i><!-- <![endif]-->
-    <!--[if IE]><img src="/static/art/spinner.gif" /><![endif]-->
+    <!--[if IE]><img src="${ static('desktop/art/spinner.gif') }" /><![endif]-->
   </div>
 
   <!-- ko if: $root.getFacetFromQuery(id()) -->
@@ -468,7 +468,7 @@ ${ dashboard.layout_skeleton() }
     <div>
       <div class="widget-spinner" data-bind="visible: $root.isRetrievingResults()">
         <!--[if !IE]> --><i class="fa fa-spinner fa-spin"></i><!-- <![endif]-->
-        <!--[if IE]><img src="/static/art/spinner.gif" /><![endif]-->
+        <!--[if IE]><img src="${ static('desktop/art/spinner.gif') }" /><![endif]-->
       </div>
 
       <div data-bind="visible: !$root.isRetrievingResults() && $root.results().length == 0">
@@ -506,7 +506,7 @@ ${ dashboard.layout_skeleton() }
                 <td data-bind="attr: {'colspan': $root.collection.template.fieldsSelected().length > 0 ? $root.collection.template.fieldsSelected().length + 1 : 2}">
                   <!-- ko if: $data.details().length == 0 -->
                     <!--[if !IE]> --><i class="fa fa-spinner fa-spin"></i><!-- <![endif]-->
-                    <!--[if IE]><img src="/static/art/spinner.gif" /><![endif]-->
+                    <!--[if IE]><img src="${ static('desktop/art/spinner.gif') }" /><![endif]-->
                   <!-- /ko -->
                   <!-- ko if: $data.details().length > 0 -->
                     <div class="document-details">
@@ -640,7 +640,7 @@ ${ dashboard.layout_skeleton() }
 
       <div class="widget-spinner" data-bind="visible: $root.isRetrievingResults()">
         <!--[if !IE]> --><i class="fa fa-spinner fa-spin"></i><!-- <![endif]-->
-        <!--[if IE]><img src="/static/art/spinner.gif" /><![endif]-->
+        <!--[if IE]><img src="${ static('desktop/art/spinner.gif') }" /><![endif]-->
       </div>
     </div>
   <!-- /ko -->
@@ -728,7 +728,7 @@ ${ dashboard.layout_skeleton() }
 <script type="text/html" id="histogram-widget">
   <div class="widget-spinner" data-bind="visible: isLoading()">
     <!--[if !IE]> --><i class="fa fa-spinner fa-spin"></i><!-- <![endif]-->
-    <!--[if IE]><img src="/static/art/spinner.gif" /><![endif]-->
+    <!--[if IE]><img src="${ static('desktop/art/spinner.gif') }" /><![endif]-->
   </div>
 
   <!-- ko if: $root.getFacetFromQuery(id()) -->
@@ -767,7 +767,7 @@ ${ dashboard.layout_skeleton() }
 <script type="text/html" id="bar-widget">
   <div class="widget-spinner" data-bind="visible: isLoading()">
     <!--[if !IE]> --><i class="fa fa-spinner fa-spin"></i><!-- <![endif]-->
-    <!--[if IE]><img src="/static/art/spinner.gif" /><![endif]-->
+    <!--[if IE]><img src="${ static('desktop/art/spinner.gif') }" /><![endif]-->
   </div>
 
   <!-- ko if: $root.getFacetFromQuery(id()) -->
@@ -808,7 +808,7 @@ ${ dashboard.layout_skeleton() }
 <script type="text/html" id="line-widget">
   <div class="widget-spinner" data-bind="visible: isLoading()">
     <!--[if !IE]> --><i class="fa fa-spinner fa-spin"></i><!-- <![endif]-->
-    <!--[if IE]><img src="/static/art/spinner.gif" /><![endif]-->
+    <!--[if IE]><img src="${ static('desktop/art/spinner.gif') }" /><![endif]-->
   </div>
 
   <!-- ko if: $root.getFacetFromQuery(id()) -->
@@ -862,7 +862,7 @@ ${ dashboard.layout_skeleton() }
   <!-- /ko -->
   <div class="widget-spinner" data-bind="visible: isLoading()">
     <!--[if !IE]> --><i class="fa fa-spinner fa-spin"></i><!-- <![endif]-->
-    <!--[if IE]><img src="/static/art/spinner.gif" /><![endif]-->
+    <!--[if IE]><img src="${ static('desktop/art/spinner.gif') }" /><![endif]-->
   </div>
 </script>
 
@@ -931,7 +931,7 @@ ${ dashboard.layout_skeleton() }
 
   <div class="widget-spinner" data-bind="visible: isLoading()">
     <!--[if !IE]> --><i class="fa fa-spinner fa-spin"></i><!-- <![endif]-->
-    <!--[if IE]><img src="/static/art/spinner.gif" /><![endif]-->
+    <!--[if IE]><img src="${ static('desktop/art/spinner.gif') }" /><![endif]-->
   </div>
 </script>
 
@@ -999,7 +999,7 @@ ${ dashboard.layout_skeleton() }
 
   <div class="widget-spinner" data-bind="visible: isLoading()">
     <!--[if !IE]> --><i class="fa fa-spinner fa-spin"></i><!-- <![endif]-->
-    <!--[if IE]><img src="/static/art/spinner.gif" /><![endif]-->
+    <!--[if IE]><img src="${ static('desktop/art/spinner.gif') }" /><![endif]-->
   </div>
 </script>
 
@@ -1074,7 +1074,7 @@ ${ dashboard.layout_skeleton() }
   <div class="clearfix"></div>
   <div class="widget-spinner" data-bind="visible: isLoading() &&  $root.query.fqs().length > 0">
     <!--[if !IE]> --><i class="fa fa-spinner fa-spin"></i><!-- <![endif]-->
-    <!--[if IE]><img src="/static/art/spinner.gif" /><![endif]-->
+    <!--[if IE]><img src="${ static('desktop/art/spinner.gif') }" /><![endif]-->
   </div>
 </script>
 
@@ -1103,7 +1103,7 @@ ${ dashboard.layout_skeleton() }
   <!-- /ko -->
   <div class="widget-spinner" data-bind="visible: isLoading()">
     <!--[if !IE]> --><i class="fa fa-spinner fa-spin"></i><!-- <![endif]-->
-    <!--[if IE]><img src="/static/art/spinner.gif" /><![endif]-->
+    <!--[if IE]><img src="${ static('desktop/art/spinner.gif') }" /><![endif]-->
   </div>
 </script>
 
@@ -1128,7 +1128,7 @@ ${ dashboard.layout_skeleton() }
 
   <div class="widget-spinner" data-bind="visible: $root.isRetrievingResults()">
     <!--[if !IE]> --><i class="fa fa-spinner fa-spin"></i><!-- <![endif]-->
-    <!--[if IE]><img src="/static/art/spinner.gif" /><![endif]-->
+    <!--[if IE]><img src="${ static('desktop/art/spinner.gif') }" /><![endif]-->
   </div>
 </script>
 
@@ -1148,7 +1148,7 @@ ${ dashboard.layout_skeleton() }
       <div class="tab-pane active" id="analysis-terms" data-bind="with: terms">
         <div class="widget-spinner" data-bind="visible: $parent.isLoading()">
           <!--[if !IE]> --><i class="fa fa-spinner fa-spin"></i><!-- <![endif]-->
-          <!--[if IE]><img src="/static/art/spinner.gif" /><![endif]-->
+          <!--[if IE]><img src="${ static('desktop/art/spinner.gif') }" /><![endif]-->
         </div>
         <div class="alert" data-bind="visible: ! $parent.isLoading() && $data.data().length == 0">${ _('There are no terms to be shown') }</div>
         <table style="width: 100%" data-bind="visible: ! $parent.isLoading() && $data.data().length > 0" class="table-striped">
@@ -1174,7 +1174,7 @@ ${ dashboard.layout_skeleton() }
       <div class="tab-pane" id="analysis-stats" data-bind="with: stats">
         <div class="widget-spinner" data-bind="visible: $parent.isLoading()">
           <!--[if !IE]> --><i class="fa fa-spinner fa-spin"></i><!-- <![endif]-->
-          <!--[if IE]><img src="/static/art/spinner.gif" /><![endif]-->
+          <!--[if IE]><img src="${ static('desktop/art/spinner.gif') }" /><![endif]-->
         </div>
         <div class="alert" data-bind="visible: ! $parent.isLoading() && $data.data().length > 0 && $data.data()[0].key.toLowerCase() == 'error'">${ _('This field does not support stats') }</div>
         <div class="alert" data-bind="visible: ! $parent.isLoading() && $data.data().length == 0">${ _('There are no stats to be shown') }</div>
@@ -1291,24 +1291,24 @@ ${ dashboard.layout_skeleton() }
 <span id="extra" data-bind="augmenthtml: $root.collection.template.extracode"></span>
 
 
-<link rel="stylesheet" href="/search/static/css/search.css">
-<link rel="stylesheet" href="/static/ext/css/hue-filetypes.css">
-<link rel="stylesheet" href="/static/ext/css/hue-charts.css">
-<link rel="stylesheet" href="/static/ext/chosen/chosen.min.css">
+<link rel="stylesheet" href="${ static('search/css/search.css') }">
+<link rel="stylesheet" href="${ static('desktop/ext/css/hue-filetypes.css') }">
+<link rel="stylesheet" href="${ static('desktop/ext/css/hue-charts.css') }">
+<link rel="stylesheet" href="${ static('desktop/ext/chosen/chosen.min.css') }">
 
-<script src="/static/ext/js/moment-with-locales.min.js" type="text/javascript" charset="utf-8"></script>
+<script src="${ static('desktop/ext/js/moment-with-locales.min.js') }" type="text/javascript" charset="utf-8"></script>
 
 ${ dashboard.import_layout() }
 
-<script src="/search/static/js/search.utils.js" type="text/javascript" charset="utf-8"></script>
-<script src="/search/static/js/lzstring.min.js" type="text/javascript" charset="utf-8"></script>
-<script src="/static/ext/js/bootstrap-editable.min.js" type="text/javascript" charset="utf-8"></script>
-<script src="/static/js/ko.editable.js" type="text/javascript" charset="utf-8"></script>
-<script src="/static/ext/js/shortcut.js" type="text/javascript" charset="utf-8"></script>
-<script src="/static/ext/js/mustache.js" type="text/javascript" charset="utf-8"></script>
-<script src="/static/ext/chosen/chosen.jquery.min.js" type="text/javascript" charset="utf-8"></script>
+<script src="${ static('search/js/search.utils.js') }" type="text/javascript" charset="utf-8"></script>
+<script src="${ static('search/js/lzstring.min.js') }" type="text/javascript" charset="utf-8"></script>
+<script src="${ static('desktop/ext/js/bootstrap-editable.min.js') }" type="text/javascript" charset="utf-8"></script>
+<script src="${ static('desktop/js/ko.editable.js') }" type="text/javascript" charset="utf-8"></script>
+<script src="${ static('desktop/ext/js/shortcut.js') }" type="text/javascript" charset="utf-8"></script>
+<script src="${ static('desktop/ext/js/mustache.js') }" type="text/javascript" charset="utf-8"></script>
+<script src="${ static('desktop/ext/chosen/chosen.jquery.min.js') }" type="text/javascript" charset="utf-8"></script>
 
-<script src="/search/static/js/search.ko.js" type="text/javascript" charset="utf-8"></script>
+<script src="${ static('search/js/search.ko.js') }" type="text/javascript" charset="utf-8"></script>
 
 ${ dashboard.import_bindings() }
 ${ dashboard.import_charts() }

+ 5 - 5
apps/security/src/security/templates/hdfs.mako

@@ -289,12 +289,12 @@ ${ layout.menubar(section='hdfs') }
 ${ tree.import_templates(itemClick='$root.assist.setPath', iconClick='$root.assist.togglePath', itemSelected='$root.assist.path() == path()', iconModifier=treeIcons, styleModifier='aclBit', styleModifierPullRight=aclBitPullRight, anchorProperty='path', showMore='$root.assist.loadMore', strikedProperty='striked', itemChecked='isChecked') }
 
 
-<script src="/static/ext/js/knockout-min.js" type="text/javascript" charset="utf-8"></script>
-<script src="/static/ext/js/knockout.mapping-2.3.2.js" type="text/javascript" charset="utf-8"></script>
+<script src="${ static('desktop/ext/js/knockout-min.js') }" type="text/javascript" charset="utf-8"></script>
+<script src="${ static('desktop/ext/js/knockout.mapping-2.3.2.js') }" type="text/javascript" charset="utf-8"></script>
 
-<script src="/static/js/ko.hue-bindings.js" type="text/javascript" charset="utf-8"></script>
-<script src="/security/static/js/hdfs.ko.js" type="text/javascript" charset="utf-8"></script>
-<script src="/static/js/jquery.hdfsautocomplete.js" type="text/javascript" charset="utf-8"></script>
+<script src="${ static('desktop/js/ko.hue-bindings.js') }" type="text/javascript" charset="utf-8"></script>
+<script src="${ static('security/js/hdfs.ko.js') }" type="text/javascript" charset="utf-8"></script>
+<script src="${ static('desktop/js/jquery.hdfsautocomplete.js') }" type="text/javascript" charset="utf-8"></script>
 
 <script type="text/javascript">
 

+ 8 - 8
apps/security/src/security/templates/hive.mako

@@ -528,16 +528,16 @@ ${ layout.menubar(section='hive') }
 ${ tree.import_templates(itemClick='$root.assist.setPath', iconClick='$root.assist.togglePath', itemSelected='$root.assist.path() == path()', styleModifier='withPrivileges', iconModifier=treeIcons, anchorProperty='path', itemChecked='isChecked', styleModifierPullRight=withPrivilegesPullRight) }
 
 
-<script src="/static/ext/js/knockout-min.js" type="text/javascript" charset="utf-8"></script>
-<script src="/static/ext/js/knockout.mapping-2.3.2.js" type="text/javascript" charset="utf-8"></script>
-<script src="/static/ext/js/routie-0.3.0.min.js" type="text/javascript" charset="utf-8"></script>
+<script src="${ static('desktop/ext/js/knockout-min.js') }" type="text/javascript" charset="utf-8"></script>
+<script src="${ static('desktop/ext/js/knockout.mapping-2.3.2.js') }" type="text/javascript" charset="utf-8"></script>
+<script src="${ static('desktop/ext/js/routie-0.3.0.min.js') }" type="text/javascript" charset="utf-8"></script>
 
-<script src="/static/js/ko.hue-bindings.js" type="text/javascript" charset="utf-8"></script>
-<script src="/security/static/js/hive.ko.js" type="text/javascript" charset="utf-8"></script>
+<script src="${ static('desktop/js/ko.hue-bindings.js') }" type="text/javascript" charset="utf-8"></script>
+<script src="${ static('security/js/hive.ko.js') }" type="text/javascript" charset="utf-8"></script>
 
-<script src="/static/ext/js/moment-with-locales.min.js" type="text/javascript" charset="utf-8"></script>
-<script src="/static/js/jquery.hiveautocomplete.js" type="text/javascript" charset="utf-8"></script>
-<script src="/static/js/jquery.filechooser.js" type="text/javascript" charset="utf-8"></script>
+<script src="${ static('desktop/ext/js/moment-with-locales.min.js') }" type="text/javascript" charset="utf-8"></script>
+<script src="${ static('desktop/js/jquery.hiveautocomplete.js') }" type="text/javascript" charset="utf-8"></script>
+<script src="${ static('desktop/js/jquery.filechooser.js') }" type="text/javascript" charset="utf-8"></script>
 
 
 <script type="text/javascript" charset="utf-8">

+ 3 - 3
apps/security/src/security/templates/layout.mako

@@ -46,10 +46,10 @@ def is_selected(section, matcher):
 
 
 <%def name="menubar(section='')">
-  <link href="/security/static/css/security.css" rel="stylesheet">
+  <link href="${ static('security/css/security.css') }" rel="stylesheet">
 
-  <link rel="stylesheet" href="/static/ext/select2/select2.css">
-  <script src="/static/ext/select2/select2.min.js" type="text/javascript" charset="utf-8"></script>
+  <link rel="stylesheet" href="${ static('desktop/ext/select2/select2.css') }">
+  <script src="${ static('desktop/ext/select2/select2.min.js') }" type="text/javascript" charset="utf-8"></script>
 
 
   <div class="navbar navbar-inverse navbar-fixed-top">

+ 81 - 81
apps/spark/src/spark/templates/editor.mako

@@ -30,82 +30,82 @@ ${ commonheader(_('Query'), app_name, user, "68px") | n,unicode }
 </script>
 
 
-<link rel="stylesheet" href="/static/css/common_dashboard.css">
-<link rel="stylesheet" href="/static/ext/css/codemirror.css">
-<link rel="stylesheet" href="/spark/static/css/spark.css">
-<link rel="stylesheet" href="/static/ext/css/bootstrap-editable.css">
-<link rel="stylesheet" href="/static/ext/chosen/chosen.min.css">
-<link rel="stylesheet" href="/static/ext/css/hue-charts.css">
-<link rel="stylesheet" href="/static/ext/css/leaflet.css">
-<link rel="stylesheet" href="/static/ext/css/nv.d3.min.css">
-<link rel="stylesheet" href="/static/css/nv.d3.css">
-<link rel="stylesheet" href="/static/ext/select2/select2.css">
-<link rel="stylesheet" href="/static/ext/css/medium-editor.min.css">
-<link rel="stylesheet" href="/static/css/bootstrap-medium-editor.css">
-
-
-<script src="/static/ext/js/codemirror-3.11.js"></script>
-<script src="/static/js/codemirror-pig.js"></script>
-<script src="/static/js/codemirror-hql.js"></script>
-<script src="/static/js/codemirror-python.js"></script>
-<script src="/static/js/codemirror-clike.js"></script>
-
-<script src="/static/js/codemirror-show-hint.js"></script>
-
-<script src="/static/js/codemirror-isql-hint.js"></script>
-<script src="/static/js/codemirror-hql-hint.js"></script>
-<script src="/static/js/codemirror-pig-hint.js"></script>
-<script src="/static/js/codemirror-python-hint.js"></script>
-<script src="/static/js/codemirror-clike-hint.js"></script>
-
-<script src="/static/ext/js/markdown.min.js"></script>
-<script src="/static/ext/js/jquery/plugins/jquery.hotkeys.js"></script>
-
-<script src="/static/ext/js/bootstrap-editable.min.js" type="text/javascript" charset="utf-8"></script>
-<script src="/static/ext/js/jquery/plugins/jquery-ui-1.10.4.draggable-droppable-sortable.min.js" type="text/javascript" charset="utf-8"></script>
-<script src="/static/ext/js/knockout-min.js" type="text/javascript" charset="utf-8"></script>
-<script src="/static/ext/js/knockout.mapping-2.3.2.js" type="text/javascript" charset="utf-8"></script>
-<script src="/static/ext/js/knockout-sortable.min.js" type="text/javascript" charset="utf-8"></script>
-<script src="/static/js/ko.editable.js" type="text/javascript" charset="utf-8"></script>
-<script src="/static/js/hue.utils.js"></script>
-<script src="/static/js/ko.hue-bindings.js" type="text/javascript" charset="utf-8"></script>
-<script src="/spark/static/js/assist.js" type="text/javascript" charset="utf-8"></script>
-<script src="/spark/static/js/spark.ko.js" type="text/javascript" charset="utf-8"></script>
-<script src="/static/ext/chosen/chosen.jquery.min.js" type="text/javascript" charset="utf-8"></script>
-
-
-<script src="/static/js/hue.geo.js" type="text/javascript" charset="utf-8"></script>
-<script src="/static/js/hue.colors.js" type="text/javascript" charset="utf-8"></script>
-
-<script src="/static/ext/js/leaflet/leaflet.js" type="text/javascript" charset="utf-8"></script>
-
-<script src="/static/ext/js/d3.v3.js" type="text/javascript" charset="utf-8"></script>
-<script src="/static/js/nv.d3.js" type="text/javascript" charset="utf-8"></script>
-<script src="/static/ext/js/topojson.v1.min.js" type="text/javascript" charset="utf-8"></script>
-<script src="/static/ext/js/topo/world.topo.js" type="text/javascript" charset="utf-8"></script>
-<script src="/static/ext/js/topo/usa.topo.js" type="text/javascript" charset="utf-8"></script>
-
-<script src="/static/js/nv.d3.datamaps.js" type="text/javascript" charset="utf-8"></script>
-<script src="/static/js/nv.d3.legend.js" type="text/javascript" charset="utf-8"></script>
-<script src="/static/js/nv.d3.multiBarWithBrushChart.js" type="text/javascript" charset="utf-8"></script>
-<script src="/static/js/nv.d3.lineWithBrushChart.js" type="text/javascript" charset="utf-8"></script>
-<script src="/static/js/nv.d3.growingDiscreteBar.js" type="text/javascript" charset="utf-8"></script>
-<script src="/static/js/nv.d3.growingDiscreteBarChart.js" type="text/javascript" charset="utf-8"></script>
-<script src="/static/js/nv.d3.growingMultiBar.js" type="text/javascript" charset="utf-8"></script>
-<script src="/static/js/nv.d3.growingMultiBarChart.js" type="text/javascript" charset="utf-8"></script>
-<script src="/static/js/nv.d3.growingPie.js" type="text/javascript" charset="utf-8"></script>
-<script src="/static/js/nv.d3.growingPieChart.js" type="text/javascript" charset="utf-8"></script>
-<script src="/static/js/nv.d3.scatter.js" type="text/javascript" charset="utf-8"></script>
-<script src="/static/js/nv.d3.scatterChart.js" type="text/javascript" charset="utf-8"></script>
-
-<script src="/static/js/ko.charts.js" type="text/javascript" charset="utf-8"></script>
-
-<script src="/static/ext/select2/select2.min.js" type="text/javascript" charset="utf-8"></script>
+<link rel="stylesheet" href="${ static('desktop/css/common_dashboard.css') }">
+<link rel="stylesheet" href="${ static('desktop/ext/css/codemirror.css') }">
+<link rel="stylesheet" href="${ static('spark/css/spark.css') }">
+<link rel="stylesheet" href="${ static('desktop/ext/css/bootstrap-editable.css') }">
+<link rel="stylesheet" href="${ static('desktop/ext/chosen/chosen.min.css') }">
+<link rel="stylesheet" href="${ static('desktop/ext/css/hue-charts.css') }">
+<link rel="stylesheet" href="${ static('desktop/ext/css/leaflet.css') }">
+<link rel="stylesheet" href="${ static('desktop/ext/css/nv.d3.min.css') }">
+<link rel="stylesheet" href="${ static('desktop/css/nv.d3.css') }">
+<link rel="stylesheet" href="${ static('desktop/ext/select2/select2.css') }">
+<link rel="stylesheet" href="${ static('desktop/ext/css/medium-editor.min.css') }">
+<link rel="stylesheet" href="${ static('desktop/css/bootstrap-medium-editor.css') }">
+
+
+<script src="${ static('desktop/ext/js/codemirror-3.11.js') }"></script>
+<script src="${ static('desktop/js/codemirror-pig.js') }"></script>
+<script src="${ static('desktop/js/codemirror-hql.js') }"></script>
+<script src="${ static('desktop/js/codemirror-python.js') }"></script>
+<script src="${ static('desktop/js/codemirror-clike.js') }"></script>
+
+<script src="${ static('desktop/js/codemirror-show-hint.js') }"></script>
+
+<script src="${ static('desktop/js/codemirror-isql-hint.js') }"></script>
+<script src="${ static('desktop/js/codemirror-hql-hint.js') }"></script>
+<script src="${ static('desktop/js/codemirror-pig-hint.js') }"></script>
+<script src="${ static('desktop/js/codemirror-python-hint.js') }"></script>
+<script src="${ static('desktop/js/codemirror-clike-hint.js') }"></script>
+
+<script src="${ static('desktop/ext/js/markdown.min.js') }"></script>
+<script src="${ static('desktop/ext/js/jquery/plugins/jquery.hotkeys.js') }"></script>
+
+<script src="${ static('desktop/ext/js/bootstrap-editable.min.js') }" type="text/javascript" charset="utf-8"></script>
+<script src="${ static('desktop/ext/js/jquery/plugins/jquery-ui-1.10.4.draggable-droppable-sortable.min.js') }" type="text/javascript" charset="utf-8"></script>
+<script src="${ static('desktop/ext/js/knockout-min.js') }" type="text/javascript" charset="utf-8"></script>
+<script src="${ static('desktop/ext/js/knockout.mapping-2.3.2.js') }" type="text/javascript" charset="utf-8"></script>
+<script src="${ static('desktop/ext/js/knockout-sortable.min.js') }" type="text/javascript" charset="utf-8"></script>
+<script src="${ static('desktop/js/ko.editable.js') }" type="text/javascript" charset="utf-8"></script>
+<script src="${ static('desktop/js/hue.utils.js') }"></script>
+<script src="${ static('desktop/js/ko.hue-bindings.js') }" type="text/javascript" charset="utf-8"></script>
+<script src="${ static('spark/js/assist.js') }" type="text/javascript" charset="utf-8"></script>
+<script src="${ static('spark/js/spark.ko.js') }" type="text/javascript" charset="utf-8"></script>
+<script src="${ static('desktop/ext/chosen/chosen.jquery.min.js') }" type="text/javascript" charset="utf-8"></script>
+
+
+<script src="${ static('desktop/js/hue.geo.js') }" type="text/javascript" charset="utf-8"></script>
+<script src="${ static('desktop/js/hue.colors.js') }" type="text/javascript" charset="utf-8"></script>
+
+<script src="${ static('desktop/ext/js/leaflet/leaflet.js') }" type="text/javascript" charset="utf-8"></script>
+
+<script src="${ static('desktop/ext/js/d3.v3.js') }" type="text/javascript" charset="utf-8"></script>
+<script src="${ static('desktop/js/nv.d3.js') }" type="text/javascript" charset="utf-8"></script>
+<script src="${ static('desktop/ext/js/topojson.v1.min.js') }" type="text/javascript" charset="utf-8"></script>
+<script src="${ static('desktop/ext/js/topo/world.topo.js') }" type="text/javascript" charset="utf-8"></script>
+<script src="${ static('desktop/ext/js/topo/usa.topo.js') }" type="text/javascript" charset="utf-8"></script>
+
+<script src="${ static('desktop/js/nv.d3.datamaps.js') }" type="text/javascript" charset="utf-8"></script>
+<script src="${ static('desktop/js/nv.d3.legend.js') }" type="text/javascript" charset="utf-8"></script>
+<script src="${ static('desktop/js/nv.d3.multiBarWithBrushChart.js') }" type="text/javascript" charset="utf-8"></script>
+<script src="${ static('desktop/js/nv.d3.lineWithBrushChart.js') }" type="text/javascript" charset="utf-8"></script>
+<script src="${ static('desktop/js/nv.d3.growingDiscreteBar.js') }" type="text/javascript" charset="utf-8"></script>
+<script src="${ static('desktop/js/nv.d3.growingDiscreteBarChart.js') }" type="text/javascript" charset="utf-8"></script>
+<script src="${ static('desktop/js/nv.d3.growingMultiBar.js') }" type="text/javascript" charset="utf-8"></script>
+<script src="${ static('desktop/js/nv.d3.growingMultiBarChart.js') }" type="text/javascript" charset="utf-8"></script>
+<script src="${ static('desktop/js/nv.d3.growingPie.js') }" type="text/javascript" charset="utf-8"></script>
+<script src="${ static('desktop/js/nv.d3.growingPieChart.js') }" type="text/javascript" charset="utf-8"></script>
+<script src="${ static('desktop/js/nv.d3.scatter.js') }" type="text/javascript" charset="utf-8"></script>
+<script src="${ static('desktop/js/nv.d3.scatterChart.js') }" type="text/javascript" charset="utf-8"></script>
+
+<script src="${ static('desktop/js/ko.charts.js') }" type="text/javascript" charset="utf-8"></script>
+
+<script src="${ static('desktop/ext/select2/select2.min.js') }" type="text/javascript" charset="utf-8"></script>
 
 <!--[if IE 9]>
-  <script src="/static/ext/js/classList.min.js" type="text/javascript" charset="utf-8"></script>  
+  <script src="${ static('desktop/ext/js/classList.min.js') }" type="text/javascript" charset="utf-8"></script>
 <![endif]-->
-<script src="/static/ext/js/medium-editor.min.js" type="text/javascript" charset="utf-8"></script>
+<script src="${ static('desktop/ext/js/medium-editor.min.js') }" type="text/javascript" charset="utf-8"></script>
 
 
 <div class="search-bar">
@@ -192,7 +192,7 @@ ${ commonheader(_('Query'), app_name, user, "68px") | n,unicode }
     <div class="modal-body" style="min-height: 100px">
       <div class="loader">
         <!--[if !IE]><!--><i class="fa fa-spinner fa-spin" style="font-size: 30px; color: #DDD"></i><!--<![endif]-->
-        <!--[if IE]><img src="/static/art/spinner.gif"/><![endif]-->
+        <!--[if IE]><img src="${ static('desktop/art/spinner.gif') }"/><![endif]-->
       </div>
       <div class="sample"></div>
     </div>
@@ -235,7 +235,7 @@ ${ commonheader(_('Query'), app_name, user, "68px") | n,unicode }
 
         <div id="navigatorLoader" class="center" data-bind="visible: $root.assistContent().isLoading">
           <!--[if !IE]><!--><i class="fa fa-spinner fa-spin" style="font-size: 20px; color: #BBB"></i><!--<![endif]-->
-          <!--[if IE]><img src="/static/art/spinner.gif"/><![endif]-->
+          <!--[if IE]><img src="${ static('desktop/art/spinner.gif') }"/><![endif]-->
         </div>
 
         <div class="center" data-bind="visible: $root.assistContent().hasErrors">
@@ -286,27 +286,27 @@ ${ commonheader(_('Query'), app_name, user, "68px") | n,unicode }
         <!-- /ko -->
 
         <!-- ko if: type() == 'hive' -->
-        <img src="/beeswax/static/art/icon_beeswax_48.png" class="snippet-icon">
+        <img src="${ static('beeswax/art/icon_beeswax_48.png') }" class="snippet-icon">
         <!-- /ko -->
 
         <!-- ko if: type() == 'impala' -->
-        <img src="/impala/static/art/icon_impala_48.png" class="snippet-icon">
+        <img src="${ static('impala/art/icon_impala_48.png') }" class="snippet-icon">
         <!-- /ko -->
 
         <!-- ko if: type() == 'scala' -->
-        <img src="/spark/static/art/icon_spark_48.png" class="snippet-icon"><sup style="color: #338bb8; margin-left: -2px">scala</sup>
+        <img src="${ static('spark/art/icon_spark_48.png') }" class="snippet-icon"><sup style="color: #338bb8; margin-left: -2px">scala</sup>
         <!-- /ko -->
 
         <!-- ko if: type() == 'python' -->
-        <img src="/spark/static/art/icon_spark_48.png" class="snippet-icon"><sup style="color: #338bb8; margin-left: -2px">python</sup>
+        <img src="${ static('spark/art/icon_spark_48.png') }" class="snippet-icon"><sup style="color: #338bb8; margin-left: -2px">python</sup>
         <!-- /ko -->
 
         <!-- ko if: type() == 'sql' -->
-        <img src="/spark/static/art/icon_spark_48.png" class="snippet-icon"><sup style="color: #338bb8; margin-left: -2px">sql</sup>
+        <img src="${ static('spark/art/icon_spark_48.png') }" class="snippet-icon"><sup style="color: #338bb8; margin-left: -2px">sql</sup>
         <!-- /ko -->
 
         <!-- ko if: type() == 'pig' -->
-        <img src="/pig/static/art/icon_pig_48.png" class="snippet-icon">
+        <img src="${ static('pig/art/icon_pig_48.png') }" class="snippet-icon">
         <!-- /ko -->
 
 

+ 5 - 5
apps/spark/src/spark/templates/notebooks.mako

@@ -94,7 +94,7 @@ ${ commonheader(_("Notebooks"), "oozie", user, "60px") | n,unicode }
 
 <div class="hueOverlay" data-bind="visible: isLoading">
   <!--[if lte IE 9]>
-    <img src="/static/art/spinner-big.gif" />
+    <img src="${ static('desktop/art/spinner-big.gif') }" />
   <![endif]-->
   <!--[if !IE]> -->
     <i class="fa fa-spinner fa-spin"></i>
@@ -124,10 +124,10 @@ ${ commonheader(_("Notebooks"), "oozie", user, "60px") | n,unicode }
 ${ commonshare() | n,unicode }
 
 
-<script src="/static/ext/js/datatables-paging-0.1.js" type="text/javascript" charset="utf-8"></script>
-<script src="/static/ext/js/knockout-min.js" type="text/javascript" charset="utf-8"></script>
-<script src="/static/ext/js/knockout.mapping-2.3.2.js" type="text/javascript" charset="utf-8"></script>
-<script src="/static/js/share.vm.js"></script>
+<script src="${ static('desktop/ext/js/datatables-paging-0.1.js') }" type="text/javascript" charset="utf-8"></script>
+<script src="${ static('desktop/ext/js/knockout-min.js') }" type="text/javascript" charset="utf-8"></script>
+<script src="${ static('desktop/ext/js/knockout.mapping-2.3.2.js') }" type="text/javascript" charset="utf-8"></script>
+<script src="${ static('desktop/js/share.vm.js') }"></script>
 
 
 <script type="text/javascript" charset="utf-8">

+ 25 - 25
apps/sqoop/src/sqoop/templates/app.mako

@@ -75,7 +75,7 @@ ${ commonheader(None, "sqoop", user) | n,unicode }
   <div class="row-fluid" data-bind="if: isLoading">
     <div class="span10 offset1 center" style="margin-top: 30px">
       <!--[if lte IE 9]>
-        <img src="/static/art/spinner-big.gif" />
+        <img src="${ static('desktop/art/spinner-big.gif') }" />
       <![endif]-->
       <!--[if !IE]> -->
         <i class="fa fa-spinner fa-spin" style="font-size: 60px; color: #DDD"></i>
@@ -665,29 +665,29 @@ ${ commonheader(None, "sqoop", user) | n,unicode }
 </div>
 </script>
 
-<script src="/static/ext/js/datatables-paging-0.1.js" type="text/javascript" charset="utf-8"></script>
-<script src="/static/ext/js/routie-0.3.0.min.js" type="text/javascript" charset="utf-8"></script>
-<script src="/static/ext/js/moment-with-locales.min.js" type="text/javascript" charset="utf-8"></script>
-<script src="/static/ext/js/knockout-min.js" type="text/javascript" charset="utf-8"></script>
-<script src="/static/ext/js/knockout.mapping-2.3.2.js" type="text/javascript" charset="utf-8"></script>
-<script src="/static/ext/js/bootstrap-editable.min.js"></script>
-<script src="/static/js/ko.editable.js"></script>
-<script src="/static/js/jquery.hdfsautocomplete.js" type="text/javascript" charset="utf-8"></script>
-<script src="/sqoop/static/js/cclass.js" type="text/javascript" charset="utf-8"></script>
-<script src="/sqoop/static/js/koify.js" type="text/javascript" charset="utf-8"></script>
-<script src="/sqoop/static/js/sqoop.autocomplete.js" type="text/javascript" charset="utf-8"></script>
-<script src="/sqoop/static/js/sqoop.utils.js" type="text/javascript" charset="utf-8"></script>
-<script src="/sqoop/static/js/sqoop.wizard.js" type="text/javascript" charset="utf-8"></script>
-<script src="/sqoop/static/js/sqoop.configs.js" type="text/javascript" charset="utf-8"></script>
-<script src="/sqoop/static/js/sqoop.driver.js" type="text/javascript" charset="utf-8"></script>
-<script src="/sqoop/static/js/sqoop.connectors.js" type="text/javascript" charset="utf-8"></script>
-<script src="/sqoop/static/js/sqoop.links.js" type="text/javascript" charset="utf-8"></script>
-<script src="/sqoop/static/js/sqoop.jobs.js" type="text/javascript" charset="utf-8"></script>
-<script src="/sqoop/static/js/sqoop.submissions.js" type="text/javascript" charset="utf-8"></script>
-<script src="/sqoop/static/js/sqoop.js" type="text/javascript" charset="utf-8"></script>
-
-<link href="/static/ext/css/bootstrap-editable.css" rel="stylesheet">
-<link href="/sqoop/static/css/sqoop.css" rel="stylesheet">
+<script src="${ static('desktop/ext/js/datatables-paging-0.1.js') }" type="text/javascript" charset="utf-8"></script>
+<script src="${ static('desktop/ext/js/routie-0.3.0.min.js') }" type="text/javascript" charset="utf-8"></script>
+<script src="${ static('desktop/ext/js/moment-with-locales.min.js') }" type="text/javascript" charset="utf-8"></script>
+<script src="${ static('desktop/ext/js/knockout-min.js') }" type="text/javascript" charset="utf-8"></script>
+<script src="${ static('desktop/ext/js/knockout.mapping-2.3.2.js') }" type="text/javascript" charset="utf-8"></script>
+<script src="${ static('desktop/ext/js/bootstrap-editable.min.js') }"></script>
+<script src="${ static('desktop/js/ko.editable.js') }"></script>
+<script src="${ static('desktop/js/jquery.hdfsautocomplete.js') }" type="text/javascript" charset="utf-8"></script>
+<script src="${ static('sqoop/js/cclass.js') }" type="text/javascript" charset="utf-8"></script>
+<script src="${ static('sqoop/js/koify.js') }" type="text/javascript" charset="utf-8"></script>
+<script src="${ static('sqoop/js/sqoop.autocomplete.js') }" type="text/javascript" charset="utf-8"></script>
+<script src="${ static('sqoop/js/sqoop.utils.js') }" type="text/javascript" charset="utf-8"></script>
+<script src="${ static('sqoop/js/sqoop.wizard.js') }" type="text/javascript" charset="utf-8"></script>
+<script src="${ static('sqoop/js/sqoop.configs.js') }" type="text/javascript" charset="utf-8"></script>
+<script src="${ static('sqoop/js/sqoop.driver.js') }" type="text/javascript" charset="utf-8"></script>
+<script src="${ static('sqoop/js/sqoop.connectors.js') }" type="text/javascript" charset="utf-8"></script>
+<script src="${ static('sqoop/js/sqoop.links.js') }" type="text/javascript" charset="utf-8"></script>
+<script src="${ static('sqoop/js/sqoop.jobs.js') }" type="text/javascript" charset="utf-8"></script>
+<script src="${ static('sqoop/js/sqoop.submissions.js') }" type="text/javascript" charset="utf-8"></script>
+<script src="${ static('sqoop/js/sqoop.js') }" type="text/javascript" charset="utf-8"></script>
+
+<link href="${ static('desktop/ext/css/bootstrap-editable.css') }" rel="stylesheet">
+<link href="${ static('sqoop/css/sqoop.css') }" rel="stylesheet">
 
 <script type="text/javascript" charset="utf-8">
 
@@ -1294,4 +1294,4 @@ $(document).ready(function () {
 
 </script>
 
-${ commonfooter(messages) | n,unicode }
+${ commonfooter(messages) | n,unicode }

+ 1 - 1
apps/useradmin/src/useradmin/templates/edit_user.mako

@@ -100,7 +100,7 @@ ${ layout.menubar(section='users') }
   </div>
 </div>
 
-<script src="/static/ext/js/routie-0.3.0.min.js" type="text/javascript" charset="utf-8"></script>
+<script src="${ static('desktop/ext/js/routie-0.3.0.min.js') }" type="text/javascript" charset="utf-8"></script>
 
 <script type="text/javascript" charset="utf-8">
 

+ 2 - 2
apps/useradmin/src/useradmin/templates/layout.mako

@@ -55,7 +55,7 @@ def is_selected(section, matcher):
             <ul class="nav">
               <li class="currentApp">
                 <a href="/${app_name}">
-                  <img src="/useradmin/static/art/icon_useradmin_48.png" class="app-icon" />
+                  <img src="${ static('useradmin/art/icon_useradmin_48.png') }" class="app-icon" />
                   ${ _('User Admin') }
                 </a>
               </li>
@@ -75,7 +75,7 @@ def is_selected(section, matcher):
 
 <%def name="commons()">
 
-  <link href="/useradmin/static/css/useradmin.css" rel="stylesheet">
+  <link href="${ static('useradmin/css/useradmin.css') }" rel="stylesheet">
 
   <script type="text/javascript">
     $(document).ready(function () {

+ 1 - 1
apps/useradmin/src/useradmin/templates/list_groups.mako

@@ -121,7 +121,7 @@ ${layout.menubar(section='groups')}
   </form>
 </div>
 
-<script src="/static/ext/js/knockout-min.js" type="text/javascript" charset="utf-8"></script>
+<script src="${ static('desktop/ext/js/knockout-min.js') }" type="text/javascript" charset="utf-8"></script>
 
 <script type="text/javascript" charset="utf-8">
   var viewModel;

+ 1 - 1
apps/useradmin/src/useradmin/templates/list_users.mako

@@ -136,7 +136,7 @@ ${layout.menubar(section='users')}
 
 </div>
 
-<script src="/static/ext/js/knockout-min.js" type="text/javascript" charset="utf-8"></script>
+<script src="${ static('desktop/ext/js/knockout-min.js') }" type="text/javascript" charset="utf-8"></script>
 
 <script type="text/javascript" charset="utf-8">
   $(document).ready(function () {

+ 3 - 3
apps/zookeeper/src/zookeeper/templates/shared_components.mako

@@ -65,8 +65,8 @@
     </div>
   </div>
 </div>
-<link rel="stylesheet" href="/zookeeper/static/css/zookeeper.css">
-<script src="/zookeeper/static/js/base64.js" type="text/javascript" charset="utf-8"></script>
+<link rel="stylesheet" href="${ static('zookeeper/css/zookeeper.css') }">
+<script src="${ static('zookeeper/js/base64.js') }" type="text/javascript" charset="utf-8"></script>
 </%def>
 
 <%def name="menubar()">
@@ -77,7 +77,7 @@
             <ul class="nav">
               <li class="currentApp">
                 <a href="/${app_name}">
-                  <img src="/zookeeper/static/art/icon_zookeeper_48.png" class="app-icon"/>
+                  <img src="${ static('zookeeper/art/icon_zookeeper_48.png') }" class="app-icon"/>
                   ${ _('ZooKeeper Browser') }
                 </a>
                </li>

+ 1 - 1
desktop/core/src/desktop/app_template/src/app_name/templates/shared_components.mako

@@ -30,7 +30,7 @@ ${'<%'}def name="menubar(section='')">
           <ul class="nav">
             <li class="currentApp">
               <a href="/${app_name}">
-                <img src="/${app_name}/static/art/icon_${app_name}_48.png" class="app-icon" />
+                <img src="${ static(app_name + '/art/icon_${app_name}_48.png') }" class="app-icon" />
                 ${" ".join(word.capitalize() for word in app_name.split("_"))}
               </a>
              </li>

+ 1 - 1
desktop/core/src/desktop/templates/about_layout.mako

@@ -35,7 +35,7 @@ def is_selected(section, matcher):
             <ul class="nav">
               <li class="currentApp">
                 <a href="/about">
-                  <img src="/static/art/icon_hue_48.png" class="app-icon" />
+                  <img src="${ static('desktop/art/icon_hue_48.png') }" class="app-icon" />
                   ${ _('About Hue') }
                 </a>
                </li>

+ 47 - 47
desktop/core/src/desktop/templates/common_dashboard.mako

@@ -26,12 +26,12 @@
 %>
 
 <%def name="import_layout()">
-  <link rel="stylesheet" href="/static/css/common_dashboard.css">
-  <script src="/static/js/ko.common-dashboard.js" type="text/javascript" charset="utf-8"></script>
-  <script src="/static/ext/js/jquery/plugins/jquery-ui-1.10.4.draggable-droppable-sortable.min.js" type="text/javascript" charset="utf-8"></script>
-  <script src="/static/ext/js/knockout-min.js" type="text/javascript" charset="utf-8"></script>
-  <script src="/static/ext/js/knockout.mapping-2.3.2.js" type="text/javascript" charset="utf-8"></script>
-  <script src="/static/ext/js/knockout-sortable.min.js" type="text/javascript" charset="utf-8"></script>
+  <link rel="stylesheet" href="${ static('desktop/css/common_dashboard.css') }">
+  <script src="${ static('desktop/js/ko.common-dashboard.js') }" type="text/javascript" charset="utf-8"></script>
+  <script src="${ static('desktop/ext/js/jquery/plugins/jquery-ui-1.10.4.draggable-droppable-sortable.min.js') }" type="text/javascript" charset="utf-8"></script>
+  <script src="${ static('desktop/ext/js/knockout-min.js') }" type="text/javascript" charset="utf-8"></script>
+  <script src="${ static('desktop/ext/js/knockout.mapping-2.3.2.js') }" type="text/javascript" charset="utf-8"></script>
+  <script src="${ static('desktop/ext/js/knockout-sortable.min.js') }" type="text/javascript" charset="utf-8"></script>
 </%def>
 
 <%def name="layout_toolbar()">
@@ -82,12 +82,12 @@
 <%def name="layout_skeleton()">
   <div id="emptyDashboard" data-bind="fadeVisible: !isEditing() && columns().length == 0">
   <div style="float:left; padding-top: 90px; margin-right: 20px; text-align: center; width: 260px">${ _('Click on the pencil to get started with your dashboard!') }</div>
-    <img src="/static/art/hint_arrow.png" />
+    <img src="${ static('desktop/art/hint_arrow.png') }" />
   </div>
 
   <div id="emptyDashboardEditing" data-bind="fadeVisible: isEditing() && columns().length == 0 && previewColumns() == ''">
     <div style="float:right; padding-top: 90px; margin-left: 20px; text-align: center; width: 260px">${ _('Pick an index and Click on a layout to start your dashboard!') }</div>
-    <img src="/static/art/hint_arrow_horiz_flipped.png" />
+    <img src="${ static('desktop/art/hint_arrow_horiz_flipped.png') }" />
   </div>
 
 
@@ -134,7 +134,7 @@
 
 <script type="text/html" id="row-template">
   <div class="emptyRow" data-bind="visible: widgets().length == 0 && $index() == 0 && $root.isEditing() && $parent.size() > 4 && $parent.rows().length == 1">
-    <img src="/static/art/hint_arrow_flipped.png" style="float:left; margin-right: 10px"/>
+    <img src="${ static('desktop/art/hint_arrow_flipped.png') }" style="float:left; margin-right: 10px"/>
     <div style="float:left; text-align: center; width: 260px">${_('Drag any of the widgets inside your empty row')}</div>
     <div class="clearfix"></div>
   </div>
@@ -193,23 +193,23 @@
 
 
 <%def name="import_bindings()">
-  <link rel="stylesheet" href="/static/css/freshereditor.css">
-  <link rel="stylesheet" href="/static/ext/css/codemirror.css">
-  <link rel="stylesheet" href="/static/ext/css/bootstrap-editable.css">
-  <link rel="stylesheet" href="/static/ext/css/bootstrap-datepicker.min.css">
-  <link rel="stylesheet" href="/static/ext/css/bootstrap-timepicker.min.css">
-  <link rel="stylesheet" href="/static/css/bootstrap-spinedit.css">
-  <link rel="stylesheet" href="/static/css/bootstrap-slider.css">
+  <link rel="stylesheet" href="${ static('desktop/css/freshereditor.css') }">
+  <link rel="stylesheet" href="${ static('desktop/ext/css/codemirror.css') }">
+  <link rel="stylesheet" href="${ static('desktop/ext/css/bootstrap-editable.css') }">
+  <link rel="stylesheet" href="${ static('desktop/ext/css/bootstrap-datepicker.min.css') }">
+  <link rel="stylesheet" href="${ static('desktop/ext/css/bootstrap-timepicker.min.css') }">
+  <link rel="stylesheet" href="${ static('desktop/css/bootstrap-spinedit.css') }">
+  <link rel="stylesheet" href="${ static('desktop/css/bootstrap-slider.css') }">
 
-  <script src="/static/ext/js/bootstrap-datepicker.min.js" type="text/javascript" charset="utf-8"></script>
-  <script src="/static/ext/js/bootstrap-timepicker.min.js" type="text/javascript" charset="utf-8"></script>
-  <script src="/static/js/bootstrap-spinedit.js" type="text/javascript" charset="utf-8"></script>
-  <script src="/static/js/bootstrap-slider.js" type="text/javascript" charset="utf-8"></script>
-  <script src="/static/js/freshereditor.js" type="text/javascript" charset="utf-8"></script>
-  <script src="/static/ext/js/codemirror-3.11.js" type="text/javascript" charset="utf-8"></script>
-  <script src="/static/ext/js/codemirror-xml.js" type="text/javascript" charset="utf-8"></script>
+  <script src="${ static('desktop/ext/js/bootstrap-datepicker.min.js') }" type="text/javascript" charset="utf-8"></script>
+  <script src="${ static('desktop/ext/js/bootstrap-timepicker.min.js') }" type="text/javascript" charset="utf-8"></script>
+  <script src="${ static('desktop/js/bootstrap-spinedit.js') }" type="text/javascript" charset="utf-8"></script>
+  <script src="${ static('desktop/js/bootstrap-slider.js') }" type="text/javascript" charset="utf-8"></script>
+  <script src="${ static('desktop/js/freshereditor.js') }" type="text/javascript" charset="utf-8"></script>
+  <script src="${ static('desktop/ext/js/codemirror-3.11.js') }" type="text/javascript" charset="utf-8"></script>
+  <script src="${ static('desktop/ext/js/codemirror-xml.js') }" type="text/javascript" charset="utf-8"></script>
 
-  <script src="/static/ext/js/less-1.7.0.min.js" type="text/javascript" charset="utf-8"></script>
+  <script src="${ static('desktop/ext/js/less-1.7.0.min.js') }" type="text/javascript" charset="utf-8"></script>
 
 
   <script type="text/javascript">
@@ -223,39 +223,39 @@
       CUSTOM_POPOVER_CONTENT: "${_('Start')}: NOW-5DAYS<br/>${_('End')}: NOW<br/>${_('Interval')}: +1HOURS<br/><a href='http://lucene.apache.org/solr/4_10_2/solr-core/org/apache/solr/util/DateMathParser.html' target='_blank'>${_('Read more...')}</a>"
     };
   </script>
-  <script src="/static/js/ko.hue-bindings.js" type="text/javascript" charset="utf-8"></script>
+  <script src="${ static('desktop/js/ko.hue-bindings.js') }" type="text/javascript" charset="utf-8"></script>
 
 </%def>
 
 
 <%def name="import_charts()">
-  <link rel="stylesheet" href="/static/ext/css/leaflet.css">
-  <link rel="stylesheet" href="/static/ext/css/nv.d3.min.css">
-  <link rel="stylesheet" href="/static/css/nv.d3.css">
+  <link rel="stylesheet" href="${ static('desktop/ext/css/leaflet.css') }">
+  <link rel="stylesheet" href="${ static('desktop/ext/css/nv.d3.min.css') }">
+  <link rel="stylesheet" href="${ static('desktop/css/nv.d3.css') }">
 
-  <script src="/static/js/hue.geo.js" type="text/javascript" charset="utf-8"></script>
-  <script src="/static/js/hue.colors.js" type="text/javascript" charset="utf-8"></script>
+  <script src="${ static('desktop/js/hue.geo.js') }" type="text/javascript" charset="utf-8"></script>
+  <script src="${ static('desktop/js/hue.colors.js') }" type="text/javascript" charset="utf-8"></script>
 
-  <script src="/static/ext/js/leaflet/leaflet.js" type="text/javascript" charset="utf-8"></script>
+  <script src="${ static('desktop/ext/js/leaflet/leaflet.js') }" type="text/javascript" charset="utf-8"></script>
 
-  <script src="/static/ext/js/d3.v3.js" type="text/javascript" charset="utf-8"></script>
-  <script src="/static/js/nv.d3.js" type="text/javascript" charset="utf-8"></script>
-  <script src="/static/ext/js/topojson.v1.min.js" type="text/javascript" charset="utf-8"></script>
-  <script src="/static/ext/js/topo/world.topo.js" type="text/javascript" charset="utf-8"></script>
-  <script src="/static/ext/js/topo/usa.topo.js" type="text/javascript" charset="utf-8"></script>
+  <script src="${ static('desktop/ext/js/d3.v3.js') }" type="text/javascript" charset="utf-8"></script>
+  <script src="${ static('desktop/js/nv.d3.js') }" type="text/javascript" charset="utf-8"></script>
+  <script src="${ static('desktop/ext/js/topojson.v1.min.js') }" type="text/javascript" charset="utf-8"></script>
+  <script src="${ static('desktop/ext/js/topo/world.topo.js') }" type="text/javascript" charset="utf-8"></script>
+  <script src="${ static('desktop/ext/js/topo/usa.topo.js') }" type="text/javascript" charset="utf-8"></script>
 
-  <script src="/static/js/nv.d3.datamaps.js" type="text/javascript" charset="utf-8"></script>
-  <script src="/static/js/nv.d3.legend.js" type="text/javascript" charset="utf-8"></script>
-  <script src="/static/js/nv.d3.multiBarWithBrushChart.js" type="text/javascript" charset="utf-8"></script>
-  <script src="/static/js/nv.d3.lineWithBrushChart.js" type="text/javascript" charset="utf-8"></script>
-  <script src="/static/js/nv.d3.growingDiscreteBar.js" type="text/javascript" charset="utf-8"></script>
-  <script src="/static/js/nv.d3.growingDiscreteBarChart.js" type="text/javascript" charset="utf-8"></script>
-  <script src="/static/js/nv.d3.growingMultiBar.js" type="text/javascript" charset="utf-8"></script>
-  <script src="/static/js/nv.d3.growingMultiBarChart.js" type="text/javascript" charset="utf-8"></script>
-  <script src="/static/js/nv.d3.growingPie.js" type="text/javascript" charset="utf-8"></script>
-  <script src="/static/js/nv.d3.growingPieChart.js" type="text/javascript" charset="utf-8"></script>
+  <script src="${ static('desktop/js/nv.d3.datamaps.js') }" type="text/javascript" charset="utf-8"></script>
+  <script src="${ static('desktop/js/nv.d3.legend.js') }" type="text/javascript" charset="utf-8"></script>
+  <script src="${ static('desktop/js/nv.d3.multiBarWithBrushChart.js') }" type="text/javascript" charset="utf-8"></script>
+  <script src="${ static('desktop/js/nv.d3.lineWithBrushChart.js') }" type="text/javascript" charset="utf-8"></script>
+  <script src="${ static('desktop/js/nv.d3.growingDiscreteBar.js') }" type="text/javascript" charset="utf-8"></script>
+  <script src="${ static('desktop/js/nv.d3.growingDiscreteBarChart.js') }" type="text/javascript" charset="utf-8"></script>
+  <script src="${ static('desktop/js/nv.d3.growingMultiBar.js') }" type="text/javascript" charset="utf-8"></script>
+  <script src="${ static('desktop/js/nv.d3.growingMultiBarChart.js') }" type="text/javascript" charset="utf-8"></script>
+  <script src="${ static('desktop/js/nv.d3.growingPie.js') }" type="text/javascript" charset="utf-8"></script>
+  <script src="${ static('desktop/js/nv.d3.growingPieChart.js') }" type="text/javascript" charset="utf-8"></script>
 
-  <script src="/static/js/ko.charts.js" type="text/javascript" charset="utf-8"></script>
+  <script src="${ static('desktop/js/ko.charts.js') }" type="text/javascript" charset="utf-8"></script>
 
 </%def>
 

+ 52 - 52
desktop/core/src/desktop/templates/common_header.mako

@@ -44,15 +44,15 @@ from django.utils.translation import ugettext as _
   <meta charset="utf-8">
   <title>Hue ${get_nice_name(current_app, section)} ${get_title(title)}</title>
   <meta name="viewport" content="width=device-width, initial-scale=1.0">
-  <link rel="icon" type="image/x-icon" href="/static/art/favicon.ico" />
+  <link rel="icon" type="image/x-icon" href="${ static('desktop/art/favicon.ico') }" />
   <meta name="description" content="">
   <meta name="author" content="">
   <meta http-equiv="X-UA-Compatible" content="IE=edge">
 
-  <link href="/static/ext/css/bootplus.css" rel="stylesheet">
-  <link href="/static/ext/css/font-awesome.min.css" rel="stylesheet">
-  <link href="/static/css/hue3.css" rel="stylesheet">
-  <link href="/static/ext/css/fileuploader.css" rel="stylesheet">
+  <link href="${ static('desktop/ext/css/bootplus.css') }" rel="stylesheet">
+  <link href="${ static('desktop/ext/css/font-awesome.min.css') }" rel="stylesheet">
+  <link href="${ static('desktop/css/hue3.css') }" rel="stylesheet">
+  <link href="${ static('desktop/ext/css/fileuploader.css') }" rel="stylesheet">
 
   <style type="text/css">
     % if conf.CUSTOM.BANNER_TOP_HTML.get():
@@ -144,28 +144,28 @@ from django.utils.translation import ugettext as _
     }
   </script>
 
-  <script src="/static/js/hue.utils.js"></script>
-  <script src="/static/ext/js/jquery/jquery-2.1.1.min.js"></script>
-  <script src="/static/js/jquery.migration.js"></script>
-  <script src="/static/js/jquery.filechooser.js"></script>
-  <script src="/static/js/jquery.selector.js"></script>
-  <script src="/static/js/jquery.delayedinput.js"></script>
-  <script src="/static/js/jquery.rowselector.js"></script>
-  <script src="/static/js/jquery.notify.js"></script>
-  <script src="/static/js/jquery.titleupdater.js"></script>
-  <script src="/static/js/jquery.tablescroller.js"></script>
-  <script src="/static/js/jquery.tableextender.js"></script>
-  <script src="/static/js/jquery.scrollup.js"></script>
-  <script src="/static/js/jquery.tour.js"></script>
-  <script src="/static/ext/js/jquery/plugins/jquery.cookie.js"></script>
-  <script src="/static/ext/js/jquery/plugins/jquery.total-storage.min.js"></script>
-  <script src="/static/ext/js/jquery/plugins/jquery.placeholder.min.js"></script>
-  <script src="/static/ext/js/jquery/plugins/jquery.dataTables.1.8.2.min.js"></script>
-  <script src="/static/js/jquery.datatables.sorting.js"></script>
-  <script src="/static/ext/js/bootstrap.min.js"></script>
-  <script src="/static/ext/js/bootstrap-better-typeahead.min.js"></script>
-  <script src="/static/ext/js/fileuploader.js"></script>
-  <script src="/static/js/popover-extra-placements.js"></script>
+  <script src="${ static('desktop/js/hue.utils.js') }"></script>
+  <script src="${ static('desktop/ext/js/jquery/jquery-2.1.1.min.js') }"></script>
+  <script src="${ static('desktop/js/jquery.migration.js') }"></script>
+  <script src="${ static('desktop/js/jquery.filechooser.js') }"></script>
+  <script src="${ static('desktop/js/jquery.selector.js') }"></script>
+  <script src="${ static('desktop/js/jquery.delayedinput.js') }"></script>
+  <script src="${ static('desktop/js/jquery.rowselector.js') }"></script>
+  <script src="${ static('desktop/js/jquery.notify.js') }"></script>
+  <script src="${ static('desktop/js/jquery.titleupdater.js') }"></script>
+  <script src="${ static('desktop/js/jquery.tablescroller.js') }"></script>
+  <script src="${ static('desktop/js/jquery.tableextender.js') }"></script>
+  <script src="${ static('desktop/js/jquery.scrollup.js') }"></script>
+  <script src="${ static('desktop/js/jquery.tour.js') }"></script>
+  <script src="${ static('desktop/ext/js/jquery/plugins/jquery.cookie.js') }"></script>
+  <script src="${ static('desktop/ext/js/jquery/plugins/jquery.total-storage.min.js') }"></script>
+  <script src="${ static('desktop/ext/js/jquery/plugins/jquery.placeholder.min.js') }"></script>
+  <script src="${ static('desktop/ext/js/jquery/plugins/jquery.dataTables.1.8.2.min.js') }"></script>
+  <script src="${ static('desktop/js/jquery.datatables.sorting.js') }"></script>
+  <script src="${ static('desktop/ext/js/bootstrap.min.js') }"></script>
+  <script src="${ static('desktop/ext/js/bootstrap-better-typeahead.min.js') }"></script>
+  <script src="${ static('desktop/ext/js/fileuploader.js') }"></script>
+  <script src="${ static('desktop/js/popover-extra-placements.js') }"></script>
 
   <script type="text/javascript" charset="utf-8">
 
@@ -351,7 +351,7 @@ from django.utils.translation import ugettext as _
   % endif
 
   </div>
-    <a class="brand nav-tooltip pull-left" title="${_('About Hue')}" rel="navigator-tooltip" href="/about"><img src="/static/art/hue-logo-mini-white.png" data-orig="/static/art/hue-logo-mini-white.png" data-hover="/static/art/hue-logo-mini-white-hover.png" /></a>
+    <a class="brand nav-tooltip pull-left" title="${_('About Hue')}" rel="navigator-tooltip" href="/about"><img src="${ static('desktop/art/hue-logo-mini-white.png') }" data-orig="${ static('desktop/art/hue-logo-mini-white.png') }" data-hover="${ static('desktop/art/hue-logo-mini-white-hover.png') }" /></a>
     % if user.is_authenticated() and section != 'login':
      <ul class="nav nav-pills pull-left">
        <li><a title="${_('My documents')}" rel="navigator-tooltip" href="${ url('desktop.views.home') }" style="padding-bottom:2px!important"><i class="fa fa-home" style="font-size: 19px"></i></a></li>
@@ -363,22 +363,22 @@ from django.utils.translation import ugettext as _
          <a title="${_('Query data')}" rel="navigator-tooltip" href="#" data-toggle="dropdown" class="dropdown-toggle">Query Editors <b class="caret"></b></a>
          <ul role="menu" class="dropdown-menu">
            % if 'beeswax' in apps:
-           <li><a href="/${apps['beeswax'].display_name}"><img src="${ apps['beeswax'].icon_path }" class="app-icon"/> ${_('Hive')}</a></li>
+             <li><a href="/${apps['beeswax'].display_name}"><img src="${ static(apps['beeswax'].icon_path) }" class="app-icon"/> ${_('Hive')}</a></li>
            % endif
            % if 'impala' in apps:
-           <li><a href="/${apps['impala'].display_name}"><img src="${ apps['impala'].icon_path }" class="app-icon"/> ${_('Impala')}</a></li>
+             <li><a href="/${apps['impala'].display_name}"><img src="${ static(apps['impala'].icon_path) }" class="app-icon"/> ${_('Impala')}</a></li>
            % endif
            % if 'rdbms' in apps:
-           <li><a href="/${apps['rdbms'].display_name}"><img src="${ apps['rdbms'].icon_path }" class="app-icon"/> ${_('DB Query')}</a></li>
+            <li><a href="/${apps['rdbms'].display_name}"><img src="${ static(apps['rdbms'].icon_path) }" class="app-icon"/> ${_('DB Query')}</a></li>
            % endif
            % if 'pig' in apps:
-           <li><a href="/${apps['pig'].display_name}"><img src="${ apps['pig'].icon_path }" class="app-icon"/> ${_('Pig')}</a></li>
+             <li><a href="/${apps['pig'].display_name}"><img src="${ static(apps['pig'].icon_path) }" class="app-icon"/> ${_('Pig')}</a></li>
            % endif
            % if 'jobsub' in apps:
-           <li><a href="/${apps['jobsub'].display_name}"><img src="${ apps['jobsub'].icon_path }" class="app-icon"/> ${_('Job Designer')}</a></li>
+             <li><a href="/${apps['jobsub'].display_name}"><img src="${ static(apps['jobsub'].icon_path) }" class="app-icon"/> ${_('Job Designer')}</a></li>
            % endif
            % if 'spark' in apps:
-           <li><a href="/${apps['spark'].display_name}"><img src="${ apps['spark'].icon_path }" class="app-icon"/> ${_('Spark')}</a></li>
+             <li><a href="/${apps['spark'].display_name}"><img src="${ static(apps['spark'].icon_path) }" class="app-icon"/> ${_('Spark')}</a></li>
            % endif
          </ul>
        </li>
@@ -393,16 +393,16 @@ from django.utils.translation import ugettext as _
          <a title="${_('Manage data')}" rel="navigator-tooltip" href="#" data-toggle="dropdown" class="dropdown-toggle">${_('Data Browsers')} <b class="caret"></b></a>
          <ul role="menu" class="dropdown-menu">
            % if 'metastore' in apps:
-           <li><a href="/${apps['metastore'].display_name}"><img src="${ apps['metastore'].icon_path }" class="app-icon"/> ${_('Metastore Tables')}</a></li>
+             <li><a href="/${apps['metastore'].display_name}"><img src="${ static(apps['metastore'].icon_path) }" class="app-icon"/> ${_('Metastore Tables')}</a></li>
            % endif
            % if 'hbase' in apps:
-           <li><a href="/${apps['hbase'].display_name}"><img src="${ apps['hbase'].icon_path }" class="app-icon"/> ${_('HBase')}</a></li>
+             <li><a href="/${apps['hbase'].display_name}"><img src="${ static(apps['hbase'].icon_path) }" class="app-icon"/> ${_('HBase')}</a></li>
            % endif
            % if 'sqoop' in apps:
-           <li><a href="/${apps['sqoop'].display_name}"><img src="${ apps['sqoop'].icon_path }" class="app-icon"/> ${_('Sqoop Transfer')}</a></li>
+             <li><a href="/${apps['sqoop'].display_name}"><img src="${ static(apps['sqoop'].icon_path) }" class="app-icon"/> ${_('Sqoop Transfer')}</a></li>
            % endif
            % if 'zookeeper' in apps:
-           <li><a href="/${apps['zookeeper'].display_name}"><img src="${ apps['zookeeper'].icon_path }" class="app-icon"/> ${_('ZooKeeper')}</a></li>
+             <li><a href="/${apps['zookeeper'].display_name}"><img src="${ static(apps['zookeeper'].icon_path) }" class="app-icon"/> ${_('ZooKeeper')}</a></li>
            % endif
          </ul>
        </li>
@@ -414,30 +414,30 @@ from django.utils.translation import ugettext as _
          <a title="${_('Schedule with Oozie')}" rel="navigator-tooltip" href="#" data-toggle="dropdown" class="dropdown-toggle">${_('Workflows')} <b class="caret"></b></a>
          <ul role="menu" class="dropdown-menu">
            <li class="dropdown-submenu">
-             <a href="${ url('oozie:index') }"><img src="/oozie/static/art/icon_oozie_dashboard_48.png" class="app-icon" /> ${_('Dashboards')}</a>
+             <a href="${ url('oozie:index') }"><img src="${ static('oozie/art/icon_oozie_dashboard_48.png') }" class="app-icon" /> ${_('Dashboards')}</a>
              <ul class="dropdown-menu">
-               <li><a href="${url('oozie:list_oozie_workflows')}"><img src="/oozie/static/art/icon_oozie_workflow_48.png" class="app-icon"/> ${_('Workflows')}</a></li>
-               <li><a href="${url('oozie:list_oozie_coordinators')}"><img src="/oozie/static/art/icon_oozie_coordinator_48.png" class="app-icon" /> ${_('Coordinators')}</a></li>
-               <li><a href="${url('oozie:list_oozie_bundles')}"><img src="/oozie/static/art/icon_oozie_bundle_48.png" class="app-icon" /> ${_('Bundles')}</a></li>
+               <li><a href="${url('oozie:list_oozie_workflows')}"><img src="${ static('oozie/art/icon_oozie_workflow_48.png') }" class="app-icon"/> ${_('Workflows')}</a></li>
+               <li><a href="${url('oozie:list_oozie_coordinators')}"><img src="${ static('oozie/art/icon_oozie_coordinator_48.png') }" class="app-icon" /> ${_('Coordinators')}</a></li>
+               <li><a href="${url('oozie:list_oozie_bundles')}"><img src="${ static('oozie/art/icon_oozie_bundle_48.png') }" class="app-icon" /> ${_('Bundles')}</a></li>
              </ul>
            </li>
            <% from oozie.conf import ENABLE_V2 %>
            % if not ENABLE_V2.get():
            <li class="dropdown-submenu">
-             <a href="${ url('oozie:list_workflows') }"><img src="/oozie/static/art/icon_oozie_editor_48.png" class="app-icon" /> ${_('Editors')}</a>
+             <a href="${ url('oozie:list_workflows') }"><img src="${ static('oozie/art/icon_oozie_editor_48.png') }" class="app-icon" /> ${_('Editors')}</a>
              <ul class="dropdown-menu">
-               <li><a href="${url('oozie:list_workflows')}"><img src="/oozie/static/art/icon_oozie_workflow_48.png" class="app-icon"/> ${_('Workflows')}</a></li>
-               <li><a href="${url('oozie:list_coordinators')}"><img src="/oozie/static/art/icon_oozie_coordinator_48.png" class="app-icon" /> ${_('Coordinators')}</a></li>
-               <li><a href="${url('oozie:list_bundles')}"><img src="/oozie/static/art/icon_oozie_bundle_48.png" class="app-icon" /> ${_('Bundles')}</a></li>
+               <li><a href="${url('oozie:list_workflows')}"><img src="${ static('oozie/art/icon_oozie_workflow_48.png') }" class="app-icon"/> ${_('Workflows')}</a></li>
+               <li><a href="${url('oozie:list_coordinators')}"><img src="${ static('oozie/art/icon_oozie_coordinator_48.png') }" class="app-icon" /> ${_('Coordinators')}</a></li>
+               <li><a href="${url('oozie:list_bundles')}"><img src="${ static('oozie/art/icon_oozie_bundle_48.png') }" class="app-icon" /> ${_('Bundles')}</a></li>
              </ul>
            </li>
            % else:
            <li class="dropdown-submenu">
-             <a href="${ url('oozie:list_editor_workflows') }"><img src="/oozie/static/art/icon_oozie_editor_48.png" class="app-icon" /> ${_('Editors')}</a>
+             <a href="${ url('oozie:list_editor_workflows') }"><img src="${ static('oozie/art/icon_oozie_editor_48.png') }" class="app-icon" /> ${_('Editors')}</a>
              <ul class="dropdown-menu">
-               <li><a href="${url('oozie:list_editor_workflows')}"><img src="/oozie/static/art/icon_oozie_workflow_48.png" class="app-icon"/> ${_('Workflows')}</a></li>
-               <li><a href="${url('oozie:list_editor_coordinators')}"><img src="/oozie/static/art/icon_oozie_coordinator_48.png" class="app-icon" /> ${_('Coordinators')}</a></li>
-               <li><a href="${url('oozie:list_editor_bundles')}"><img src="/oozie/static/art/icon_oozie_bundle_48.png" class="app-icon" /> ${_('Bundles')}</a></li>
+               <li><a href="${url('oozie:list_editor_workflows')}"><img src="${ static('oozie/art/icon_oozie_workflow_48.png') }" class="app-icon"/> ${_('Workflows')}</a></li>
+               <li><a href="${url('oozie:list_editor_coordinators')}"><img src="${ static('oozie/art/icon_oozie_coordinator_48.png') }" class="app-icon" /> ${_('Coordinators')}</a></li>
+               <li><a href="${url('oozie:list_editor_bundles')}"><img src="${ static('oozie/art/icon_oozie_bundle_48.png') }" class="app-icon" /> ${_('Bundles')}</a></li>
              </ul>
            </li>
            % endif
@@ -456,7 +456,7 @@ from django.utils.translation import ugettext as _
              <a title="${_('Solr Search')}" rel="navigator-tooltip" href="#" data-toggle="dropdown" class="dropdown-toggle">${_('Search')} <b class="caret"></b></a>
              <ul role="menu" class="dropdown-menu">
                % for collection in collections:
-               <li><a href="${ url('search:index') }?collection=${ collection.id }"><img src="${ collection.icon }" class="app-icon"/> ${ collection.label }</a></li>
+                 <li><a href="${ url('search:index') }?collection=${ collection.id }"><img src="${ static(collection.icon) }" class="app-icon"/> ${ collection.label }</a></li>
                % endfor
                % if 'indexer' in apps:
                  <li class="divider"></li>
@@ -480,7 +480,7 @@ from django.utils.translation import ugettext as _
          <a href="#" data-toggle="dropdown" class="dropdown-toggle">${_('Other apps')} <b class="caret"></b></a>
          <ul role="menu" class="dropdown-menu">
            % for other in other_apps:
-             <li><a href="/${ other.display_name }"><img src="${ other.icon_path }" class="app-icon"/> ${ other.nice_name }</a></li>
+             <li><a href="/${ other.display_name }"><img src="${ static(other.icon_path) }" class="app-icon"/> ${ other.nice_name }</a></li>
            % endfor
          </ul>
        </li>

+ 7 - 7
desktop/core/src/desktop/templates/common_jasmine.mako

@@ -20,13 +20,13 @@
 <head>
     <title>Jasmine Spec Runner</title>
 
-    <link rel="stylesheet" type="text/css" href="/static/ext/css/jasmine.css">
-    <script type="text/javascript" src="/static/ext/js/jasmine/jasmine-1.2.0.js"></script>
-    <script type="text/javascript" src="/static/ext/js/jasmine/jasmine-html-1.2.0.js"></script>
-    <script type="text/javascript" src="/static/ext/js/jquery/jquery-2.1.1.min.js"></script>
-    <script type="text/javascript" src="/static/js/jquery.migration.js"></script>
-    <script type="text/javascript" src="/static/ext/js/jasmine/jasmine-jquery-1.3.1.js"></script>
-    <script type="text/javascript" src="/static/ext/js/knockout-min.js"></script>
+    <link rel="stylesheet" type="text/css" href="${ static('desktop/ext/css/jasmine.css') }">
+    <script type="text/javascript" src="${ static('desktop/ext/js/jasmine/jasmine-1.2.0.js') }"></script>
+    <script type="text/javascript" src="${ static('desktop/ext/js/jasmine/jasmine-html-1.2.0.js') }"></script>
+    <script type="text/javascript" src="${ static('desktop/ext/js/jquery/jquery-2.1.1.min.js') }"></script>
+    <script type="text/javascript" src="${ static('desktop/js/jquery.migration.js') }"></script>
+    <script type="text/javascript" src="${ static('desktop/ext/js/jasmine/jasmine-jquery-1.3.1.js') }"></script>
+    <script type="text/javascript" src="${ static('desktop/ext/js/knockout-min.js') }"></script>
 
     <%block name="specs"/>
 

+ 1 - 1
desktop/core/src/desktop/templates/common_tree.mako

@@ -27,7 +27,7 @@
 
 <%def name="import_templates(itemClick=None, iconClick=None, itemDblClick=None, itemSelected=None, iconModifier=None, styleModifier=None, styleModifierPullRight=None, showMore=None, anchorProperty=None, strikedProperty=None, itemChecked=None)">
 
-  <script src="/static/js/ko.tree.js" type="text/javascript" charset="utf-8"></script>
+  <script src="${ static('desktop/js/ko.tree.js') }" type="text/javascript" charset="utf-8"></script>
 
   <script type="text/html" id="tree-template">
     <!-- ko if: nodes != null -->

+ 15 - 15
desktop/core/src/desktop/templates/home.mako

@@ -87,7 +87,7 @@ ${ commonheader(_('Welcome Home'), "home", user) | n,unicode }
         <ul class="nav">
           <li class="currentApp">
             <a href="${ url('desktop.views.home') }">
-              <img src="/static/art/home.png" class="app-icon" />
+              <img src="${ static('desktop/art/home.png') }" class="app-icon" />
               ${ _('My documents') }
             </a>
            </li>
@@ -107,24 +107,24 @@ ${ commonheader(_('Welcome Home'), "home", user) | n,unicode }
               <a href="#" data-toggle="dropdown"><i class="fa fa-plus-circle"></i> ${_('New document')}</a>
               <ul class="dropdown-menu" role="menu">
                 % if 'beeswax' in apps:
-                <li><a href="${ url('beeswax:index') }"><img src="${ apps['beeswax'].icon_path }" class="app-icon"/> ${_('Hive Query')}</a></li>
+                  <li><a href="${ url('beeswax:index') }"><img src="${ static(apps['beeswax'].icon_path) }" class="app-icon"/> ${_('Hive Query')}</a></li>
                 % endif
                 % if 'impala' in apps:
-                <li><a href="${ url('impala:index') }"><img src="${ apps['impala'].icon_path }" class="app-icon"/> ${_('Impala Query')}</a></li>
+                  <li><a href="${ url('impala:index') }"><img src="${ static(apps['impala'].icon_path) }" class="app-icon"/> ${_('Impala Query')}</a></li>
                 % endif
                 % if 'pig' in apps:
-                <li><a href="${ url('pig:index') }"><img src="${ apps['pig'].icon_path }" class="app-icon"/> ${_('Pig Script')}</a></li>
+                  <li><a href="${ url('pig:index') }"><img src="${ static(apps['pig'].icon_path) }" class="app-icon"/> ${_('Pig Script')}</a></li>
                 % endif
                 % if 'spark' in apps:
-                <li><a href="${ url('spark:index') }"><img src="${ apps['spark'].icon_path }" class="app-icon"/> ${_('Spark Job')}</a></li>
+                  <li><a href="${ url('spark:index') }"><img src="${ static(apps['spark'].icon_path) }" class="app-icon"/> ${_('Spark Job')}</a></li>
                 % endif
                 % if 'oozie' in apps:
                 <li class="dropdown-submenu">
-                  <a href="#"><img src="${ apps['oozie'].icon_path }" class="app-icon"/> ${_('Oozie Scheduler')}</a>
+                  <a href="#"><img src="${ static(apps['oozie'].icon_path) }" class="app-icon"/> ${_('Oozie Scheduler')}</a>
                   <ul class="dropdown-menu">
-                    <li><a href="${ url('oozie:create_workflow') }"><img src="/oozie/static/art/icon_oozie_workflow_48.png" class="app-icon"/> ${_('Workflow')}</a></li>
-                    <li><a href="${ url('oozie:create_coordinator') }"><img src="/oozie/static/art/icon_oozie_coordinator_48.png" class="app-icon"/> ${_('Coordinator')}</a></li>
-                    <li><a href="${ url('oozie:create_bundle') }"><img src="/oozie/static/art/icon_oozie_bundle_48.png" class="app-icon"/> ${_('Bundle')}</a></li>
+                    <li><a href="${ url('oozie:create_workflow') }"><img src="${ static('oozie/art/icon_oozie_workflow_48.png') }" class="app-icon"/> ${_('Workflow')}</a></li>
+                    <li><a href="${ url('oozie:create_coordinator') }"><img src="${ static('oozie/art/icon_oozie_coordinator_48.png') }" class="app-icon"/> ${_('Coordinator')}</a></li>
+                    <li><a href="${ url('oozie:create_bundle') }"><img src="${ static('oozie/art/icon_oozie_bundle_48.png') }" class="app-icon"/> ${_('Bundle')}</a></li>
                   </ul>
                 </li>
                 % endif
@@ -319,11 +319,11 @@ ${ commonheader(_('Welcome Home'), "home", user) | n,unicode }
 </div>
 
 ${ commonshare() | n,unicode }
-<script src="/static/ext/js/datatables-paging-0.1.js" type="text/javascript" charset="utf-8"></script>
-<script src="/static/ext/js/knockout-min.js" type="text/javascript" charset="utf-8"></script>
-<script src="/static/ext/js/knockout.mapping-2.3.2.js" type="text/javascript" charset="utf-8"></script>
-<script src="/static/js/home.vm.js"></script>
-<script src="/static/js/share.vm.js"></script>
+<script src="${ static('desktop/ext/js/datatables-paging-0.1.js') }" type="text/javascript" charset="utf-8"></script>
+<script src="${ static('desktop/ext/js/knockout-min.js') }" type="text/javascript" charset="utf-8"></script>
+<script src="${ static('desktop/ext/js/knockout.mapping-2.3.2.js') }" type="text/javascript" charset="utf-8"></script>
+<script src="${ static('desktop/js/home.vm.js') }"></script>
+<script src="${ static('desktop/js/share.vm.js') }"></script>
 
 <script type="text/javascript" charset="utf-8">
   var viewModel, shareViewModel, JSON_USERS_GROUPS;
@@ -468,7 +468,7 @@ ${ commonshare() | n,unicode }
   }
 </style>
 
-<script src="/static/ext/js/routie-0.3.0.min.js" type="text/javascript" charset="utf-8"></script>
+<script src="${ static('desktop/ext/js/routie-0.3.0.min.js') }" type="text/javascript" charset="utf-8"></script>
 
 <script type="text/javascript" charset="utf-8">
 $(document).ready(function(){

+ 9 - 9
desktop/core/src/desktop/templates/jasmine.mako

@@ -21,18 +21,18 @@
 <%inherit file="common_jasmine.mako"/>
 
 <%block name="specs">
-  <link href="/static/css/hue3.css" rel="stylesheet">
+  <link href="${ static('desktop/css/hue3.css') }" rel="stylesheet">
 
-  <script src="/static/ext/js/jquery/plugins/jquery.dataTables.1.8.2.min.js"></script>
-  <script src="/static/ext/js/bootstrap.min.js"></script>
+  <script src="${ static('desktop/ext/js/jquery/plugins/jquery.dataTables.1.8.2.min.js') }"></script>
+  <script src="${ static('desktop/ext/js/bootstrap.min.js') }"></script>
 
-  <script src="/static/js/jquery.selector.js"></script>
-  <script src="static/jasmine/jHueSelectorSpec.js"></script>
+  <script src="${ static('desktop/js/jquery.selector.js') }"></script>
+  <script src="${ static('desktop/jasmine/jHueSelectorSpec.js') }"></script>
 
-  <script src="/static/js/jquery.tableextender.js"></script>
-  <script src="static/jasmine/jHueTableExtenderSpec.js"></script>
+  <script src="${ static('desktop/js/jquery.tableextender.js') }"></script>
+  <script src="${ static('desktop/jasmine/jHueTableExtenderSpec.js') }"></script>
 
-  <script src="/static/js/jquery.tablescroller.js"></script>
-  <script src="static/jasmine/jHueTableScrollerSpec.js"></script>
+  <script src="${ static('desktop/js/jquery.tablescroller.js') }"></script>
+  <script src="${ static('desktop/jasmine/jHueTableScrollerSpec.js') }"></script>
 </%block>
 

+ 4 - 4
desktop/core/src/desktop/templates/login.mako

@@ -23,7 +23,7 @@
 
 ${ commonheader("Welcome to Hue", "login", user, "50px") | n,unicode }
 
-<link rel="stylesheet" href="/static/ext/chosen/chosen.min.css">
+<link rel="stylesheet" href="${ static('desktop/ext/chosen/chosen.min.css') }">
 <style type="text/css">
   body {
     background-color: #FFF;
@@ -43,7 +43,7 @@ ${ commonheader("Welcome to Hue", "login", user, "50px") | n,unicode }
     margin-left: auto;
     margin-right: auto;
     margin-bottom: 10px;
-    background: #FFF url("/static/art/hue-login-logo-ellie.png") 50% 2px no-repeat;
+    background: #FFF url("${ static('desktop/art/hue-login-logo-ellie.png') }") 50% 2px no-repeat;
     width: 130px;
     height: 130px;
     -webkit-border-radius: 65px;
@@ -54,7 +54,7 @@ ${ commonheader("Welcome to Hue", "login", user, "50px") | n,unicode }
 
   @media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) {
     #logo {
-      background: #FFF url("/static/art/hue-login-logo-ellie@2x.png") 50% 2px no-repeat;
+      background: #FFF url("${ static('desktop/art/hue-login-logo-ellie@2x.png') }") 50% 2px no-repeat;
       background-size: 114px 114px;
     }
   }
@@ -259,7 +259,7 @@ ${ commonheader("Welcome to Hue", "login", user, "50px") | n,unicode }
   </div>
 </div>
 
-<script src="/static/ext/chosen/chosen.jquery.min.js" type="text/javascript" charset="utf-8"></script>
+<script src="${ static('desktop/ext/chosen/chosen.jquery.min.js') }" type="text/javascript" charset="utf-8"></script>
 <script>
   $(document).ready(function () {
     $("#id_server").chosen({

+ 3 - 3
desktop/core/src/desktop/templates/unsupported.mako

@@ -42,7 +42,7 @@
       margin-left: auto;
       margin-right: auto;
       margin-bottom: 10px;
-      background: #FFF url("/static/art/hue-login-logo-ellie.png") 50% 14px no-repeat;
+      background: #FFF url("${ static('desktop/art/hue-login-logo-ellie.png') }") 50% 14px no-repeat;
       width: 130px;
       height: 130px;
     }
@@ -81,7 +81,7 @@
 
 <body>
 <div class="header">
-  <img src="/static/art/hue-logo-mini-white.png"/>
+  <img src="${ static('desktop/art/hue-logo-mini-white.png') }"/>
 </div>
 
 <div class="footer"></div>
@@ -95,4 +95,4 @@
 <a href="http://windows.microsoft.com/en-us/internet-explorer/browser-ie">Microsoft Internet Explorer</a>
 
 </body>
-</html>
+</html>

+ 10 - 10
desktop/libs/indexer/src/indexer/templates/collections.mako

@@ -24,8 +24,8 @@
 
 ${ commonheader(_('Search Indexes'), "indexer", user, "29px") | n,unicode }
 
-<link rel="stylesheet" href="/static/ext/chosen/chosen.min.css">
-<link rel="stylesheet" href="/indexer/static/css/admin.css">
+<link rel="stylesheet" href="${ static('desktop/ext/chosen/chosen.min.css') }">
+<link rel="stylesheet" href="${ static('indexer/css/admin.css') }">
 <style type="text/css">
 .hueBreadcrumb {
   padding: 12px 14px;
@@ -464,14 +464,14 @@ ${ commonheader(_('Search Indexes'), "indexer", user, "29px") | n,unicode }
 <!--/ Edit collection page -->
 
 
-<script src="/static/ext/chosen/chosen.jquery.min.js" type="text/javascript" charset="utf-8"></script>
-<script src="/static/ext/js/jquery/plugins/jquery-ui-1.10.4.draggable-droppable-sortable.min.js" type="text/javascript" charset="utf-8"></script>
-<script src="/static/ext/js/routie-0.3.0.min.js" type="text/javascript" charset="utf-8"></script>
-<script src="/static/ext/js/knockout-min.js" type="text/javascript" charset="utf-8"></script>
-<script src="/static/ext/js/knockout.mapping-2.3.2.js" type="text/javascript" charset="utf-8"></script>
-<script src="/static/ext/js/knockout-sortable.min.js" type="text/javascript" charset="utf-8"></script>
-<script src="/indexer/static/js/lib.js" type="text/javascript" charset="utf-8"></script>
-<script src="/indexer/static/js/collections.js" type="text/javascript" charset="utf-8"></script>
+<script src="${ static('desktop/ext/chosen/chosen.jquery.min.js') }" type="text/javascript" charset="utf-8"></script>
+<script src="${ static('desktop/ext/js/jquery/plugins/jquery-ui-1.10.4.draggable-droppable-sortable.min.js') }" type="text/javascript" charset="utf-8"></script>
+<script src="${ static('desktop/ext/js/routie-0.3.0.min.js') }" type="text/javascript" charset="utf-8"></script>
+<script src="${ static('desktop/ext/js/knockout-min.js') }" type="text/javascript" charset="utf-8"></script>
+<script src="${ static('desktop/ext/js/knockout.mapping-2.3.2.js') }" type="text/javascript" charset="utf-8"></script>
+<script src="${ static('desktop/ext/js/knockout-sortable.min.js') }" type="text/javascript" charset="utf-8"></script>
+<script src="${ static('indexer/js/lib.js') }" type="text/javascript" charset="utf-8"></script>
+<script src="${ static('indexer/js/collections.js') }" type="text/javascript" charset="utf-8"></script>
 
 <script type="text/javascript">
 function afterRender() {

+ 9 - 9
desktop/libs/liboauth/src/liboauth/templates/oauth-login.mako

@@ -31,9 +31,9 @@ from django.utils.translation import ugettext as _
   <meta name="description" content="">
   <meta name="author" content="">
 
-  <link href="/static/ext/css/bootplus.css" rel="stylesheet">
-  <link href="/static/ext/css/font-awesome.min.css" rel="stylesheet">
-  <link href="/static/css/hue3.css" rel="stylesheet">
+  <link href="${ static('desktop/ext/css/bootplus.css') }" rel="stylesheet">
+  <link href="${ static('desktop/ext/css/font-awesome.min.css') }" rel="stylesheet">
+  <link href="${ static('desktop/css/hue3.css') }" rel="stylesheet">
 
   <style type="text/css">
     body {
@@ -148,9 +148,9 @@ from django.utils.translation import ugettext as _
       <li id="jHueTourFlagPlaceholder"></li>
     </ul>
   </div>
-  <a class="brand nav-tooltip pull-left" href="#"><img src="/static/art/hue-logo-mini-white.png"
-                                                       data-orig="/static/art/hue-logo-mini-white.png"
-                                                       data-hover="/static/art/hue-logo-mini-white-hover.png"/></a>
+  <a class="brand nav-tooltip pull-left" href="#"><img src="${ static('desktop/art/hue-logo-mini-white.png') }"
+                                                       data-orig="${ static('desktop/art/hue-logo-mini-white.png') }"
+                                                       data-hover="${ static('desktop/art/hue-logo-mini-white-hover.png') }"/></a>
   <ul class="nav nav-pills pull-left hide" id="visit">
     <li><a title="${_('Visit gethue.com')}" href="http://gethue.com">${_('Fell asleep? Visit us on gethue.com instead!')} <i class="fa fa-external-link-circle"></i></a></li>
   </ul>
@@ -162,8 +162,8 @@ from django.utils.translation import ugettext as _
     <div class="login-content">
       <form method="POST" action="${action}" class="well">
         ${ csrf_token(request) | n,unicode }
-        <img id="logo" src="/static/art/hue-login-logo.png" data-orig="/static/art/hue-login-logo.png"
-             data-hover="/static/art/hue-login-logo-skew.png"/>
+        <img id="logo" src="${ static('desktop/art/hue-login-logo.png') }" data-orig="${ static('desktop/art/hue-login-logo.png') }"
+             data-hover="${ static('desktop/art/hue-login-logo-skew.png') }"/>
 
         %if login_errors:
             <div class="alert alert-error" style="text-align: center">
@@ -203,7 +203,7 @@ from django.utils.translation import ugettext as _
   </div>
 </div>
 
-<script src="/static/ext/js/jquery/jquery-2.1.1.min.js"></script>
+<script src="${ static('desktop/ext/js/jquery/jquery-2.1.1.min.js') }"></script>
 <script>
   var $buttonsGroup = $("#buttons_group");
   if($buttonsGroup.children().length > 2) {