Quellcode durchsuchen

HUE-1695 [core] Update FontAwesome to version 4

Changed font files, css and modified all the names
Enrico Berti vor 12 Jahren
Ursprung
Commit
6b18c69
100 geänderte Dateien mit 1010 neuen und 1002 gelöschten Zeilen
  1. 12 12
      apps/about/src/about/templates/admin_wizard.mako
  2. 2 2
      apps/beeswax/src/beeswax/templates/choose_delimiter.mako
  3. 2 2
      apps/beeswax/src/beeswax/templates/choose_file.mako
  4. 2 2
      apps/beeswax/src/beeswax/templates/create_table_manually.mako
  5. 5 5
      apps/beeswax/src/beeswax/templates/define_columns.mako
  6. 13 13
      apps/beeswax/src/beeswax/templates/execute.mako
  7. 16 16
      apps/beeswax/src/beeswax/templates/list_designs.mako
  8. 13 13
      apps/beeswax/src/beeswax/templates/list_trashed_designs.mako
  9. 20 20
      apps/beeswax/src/beeswax/templates/my_queries.mako
  10. 5 5
      apps/beeswax/src/beeswax/templates/watch_results.mako
  11. 1 1
      apps/filebrowser/src/filebrowser/static/help/index.html
  12. 3 3
      apps/filebrowser/src/filebrowser/templates/chooser.mako
  13. 9 9
      apps/filebrowser/src/filebrowser/templates/display.mako
  14. 5 5
      apps/filebrowser/src/filebrowser/templates/fb_components.mako
  15. 19 19
      apps/filebrowser/src/filebrowser/templates/listdir.mako
  16. 4 4
      apps/filebrowser/src/filebrowser/templates/listdir_components.mako
  17. 33 33
      apps/hbase/src/hbase/templates/app.mako
  18. 1 1
      apps/hbase/static/css/hbase.css
  19. 6 6
      apps/jobbrowser/src/jobbrowser/templates/job.mako
  20. 1 1
      apps/jobbrowser/src/jobbrowser/templates/job_not_assigned.mako
  21. 1 1
      apps/jobbrowser/src/jobbrowser/templates/jobbrowser_components.mako
  22. 3 3
      apps/jobbrowser/src/jobbrowser/templates/jobs.mako
  23. 1 1
      apps/jobbrowser/src/jobbrowser/templates/task.mako
  24. 1 1
      apps/jobbrowser/src/jobbrowser/templates/tasks.mako
  25. 1 1
      apps/jobbrowser/static/help/index.html
  26. 1 1
      apps/jobbrowser/static/js/utils.js
  27. 25 25
      apps/jobsub/src/jobsub/templates/designs.mako
  28. 1 1
      apps/jobsub/static/templates/actions/distcp.html
  29. 1 1
      apps/jobsub/static/templates/actions/email.html
  30. 1 1
      apps/jobsub/static/templates/actions/fs.html
  31. 1 1
      apps/jobsub/static/templates/actions/hive.html
  32. 1 1
      apps/jobsub/static/templates/actions/java.html
  33. 1 1
      apps/jobsub/static/templates/actions/mapreduce.html
  34. 1 1
      apps/jobsub/static/templates/actions/pig.html
  35. 1 1
      apps/jobsub/static/templates/actions/shell.html
  36. 1 1
      apps/jobsub/static/templates/actions/sqoop.html
  37. 1 1
      apps/jobsub/static/templates/actions/ssh.html
  38. 1 1
      apps/jobsub/static/templates/actions/streaming.html
  39. 11 11
      apps/metastore/src/metastore/templates/databases.mako
  40. 1 1
      apps/metastore/src/metastore/templates/describe_partitions.mako
  41. 5 5
      apps/metastore/src/metastore/templates/describe_table.mako
  42. 14 14
      apps/metastore/src/metastore/templates/tables.mako
  43. 1 1
      apps/oozie/src/oozie/templates/dashboard/list_oozie_bundle.mako
  44. 1 1
      apps/oozie/src/oozie/templates/dashboard/list_oozie_coordinator.mako
  45. 3 3
      apps/oozie/src/oozie/templates/dashboard/list_oozie_workflow.mako
  46. 2 2
      apps/oozie/src/oozie/templates/dashboard/list_oozie_workflow_action.mako
  47. 1 1
      apps/oozie/src/oozie/templates/editor/action_utils.mako
  48. 1 1
      apps/oozie/src/oozie/templates/editor/create_bundle.mako
  49. 2 2
      apps/oozie/src/oozie/templates/editor/create_workflow.mako
  50. 7 7
      apps/oozie/src/oozie/templates/editor/edit_bundle.mako
  51. 7 7
      apps/oozie/src/oozie/templates/editor/edit_coordinator.mako
  52. 31 31
      apps/oozie/src/oozie/templates/editor/edit_workflow.mako
  53. 2 2
      apps/oozie/src/oozie/templates/editor/gen/workflow-graph-status.xml.mako
  54. 1 1
      apps/oozie/src/oozie/templates/editor/import_workflow.mako
  55. 16 16
      apps/oozie/src/oozie/templates/editor/list_bundles.mako
  56. 16 16
      apps/oozie/src/oozie/templates/editor/list_coordinators.mako
  57. 13 13
      apps/oozie/src/oozie/templates/editor/list_trashed_bundles.mako
  58. 13 13
      apps/oozie/src/oozie/templates/editor/list_trashed_coordinators.mako
  59. 13 13
      apps/oozie/src/oozie/templates/editor/list_trashed_workflows.mako
  60. 19 19
      apps/oozie/src/oozie/templates/editor/list_workflows.mako
  61. 2 2
      apps/oozie/src/oozie/templates/utils.inc.mako
  62. 40 40
      apps/pig/src/pig/templates/app.mako
  63. 12 12
      apps/search/src/search/templates/admin_collection_facets.mako
  64. 6 6
      apps/search/src/search/templates/admin_collection_sorting.mako
  65. 6 6
      apps/search/src/search/templates/admin_collection_template.mako
  66. 8 8
      apps/search/src/search/templates/admin_collections.mako
  67. 4 4
      apps/search/src/search/templates/layout.mako
  68. 2 2
      apps/search/src/search/templates/macros.mako
  69. 1 1
      apps/search/src/search/templates/no_collections.mako
  70. 7 7
      apps/search/src/search/templates/search.mako
  71. 2 2
      apps/search/static/help/index.html
  72. 9 9
      apps/search/static/js/freshereditor.min.js
  73. 21 21
      apps/sqoop/src/sqoop/templates/app.mako
  74. 9 9
      apps/useradmin/src/useradmin/templates/list_groups.mako
  75. 10 10
      apps/useradmin/src/useradmin/templates/list_users.mako
  76. 1 1
      apps/useradmin/static/help/index.html
  77. 4 4
      apps/zookeeper/src/zookeeper/templates/tree.mako
  78. 2 2
      apps/zookeeper/src/zookeeper/templates/view.mako
  79. 3 3
      desktop/core/src/desktop/templates/500.mako
  80. 2 2
      desktop/core/src/desktop/templates/common_footer.mako
  81. 8 8
      desktop/core/src/desktop/templates/common_header.mako
  82. 1 1
      desktop/core/src/desktop/templates/config_alert_dock.mako
  83. 18 18
      desktop/core/src/desktop/templates/home.mako
  84. 5 5
      desktop/core/src/desktop/templates/login.mako
  85. 1 1
      desktop/core/src/desktop/templates/logs.mako
  86. 1 1
      desktop/core/src/desktop/templates/popup_error.mako
  87. 395 402
      desktop/core/static/ext/css/font-awesome.min.css
  88. BIN
      desktop/core/static/ext/font/FontAwesome.otf
  89. BIN
      desktop/core/static/ext/font/fontawesome-webfont.eot
  90. BIN
      desktop/core/static/ext/font/fontawesome-webfont.woff
  91. BIN
      desktop/core/static/ext/fonts/FontAwesome.otf
  92. BIN
      desktop/core/static/ext/fonts/fontawesome-webfont.eot
  93. 21 6
      desktop/core/static/ext/fonts/fontawesome-webfont.svg
  94. BIN
      desktop/core/static/ext/fonts/fontawesome-webfont.ttf
  95. BIN
      desktop/core/static/ext/fonts/fontawesome-webfont.woff
  96. 0 0
      desktop/core/static/ext/js/bootstrap-editable.min.js
  97. 0 0
      desktop/core/static/ext/js/bootstrap-timepicker.min.js
  98. 9 9
      desktop/core/static/ext/js/freshereditor.min.js
  99. 2 2
      desktop/core/static/js/codemirror-hql-hint.js
  100. 2 2
      desktop/core/static/js/codemirror-isql-hint.js

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

@@ -42,10 +42,10 @@ ${ header.menubar() }
           <div id="properties" class="section">
             <ul class="nav nav-tabs" style="margin-bottom: 0">
               <li class="active"><a href="#step1" class="step">${ _('Step 1:') } <i
-                  class="icon-cogs"></i> ${ _('Check Configuration') }</a></li>
-              <li><a href="#step2" class="step">${ _('Step 2:') } <i class="icon-book"></i> ${ _('Examples') }</a></li>
-              <li><a href="#step3" class="step">${ _('Step 3:') } <i class="icon-group"></i> ${ _('Users') }</a></li>
-              <li><a id="lastStep" href="#step4" class="step">${ _('Step 4:') } <i class="icon-flag"></i> ${_('Go!') }
+                  class="fa fa-cogs"></i> ${ _('Check Configuration') }</a></li>
+              <li><a href="#step2" class="step">${ _('Step 2:') } <i class="fa fa-book"></i> ${ _('Examples') }</a></li>
+              <li><a href="#step3" class="step">${ _('Step 3:') } <i class="fa fa-group"></i> ${ _('Users') }</a></li>
+              <li><a id="lastStep" href="#step4" class="step">${ _('Step 4:') } <i class="fa fa-flag"></i> ${_('Go!') }
               </a></li>
             </ul>
 
@@ -56,7 +56,7 @@ ${ header.menubar() }
 
               <div class="card-body">
                 <div id="check-config-section" style="margin-bottom:20px">
-                  <!--[if !IE]><!--><i class="icon-spinner icon-spin" style="font-size: 60px; color: #DDD"></i><!--<![endif]-->
+                  <!--[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]-->
                 </div>
               </div>
@@ -90,7 +90,7 @@ ${ header.menubar() }
                 <ul>
                   <li>
                     <a href="#" class="installAllBtn" data-loading-text="${ _('Installing...') }">
-                      <i class="icon-download-alt"></i> ${ _('All') }
+                      <i class="fa fa-download"></i> ${ _('All') }
                     </a>
                   </li>
                 </ul>
@@ -107,7 +107,7 @@ ${ header.menubar() }
               <li>
                 <a href="#" class="installBtn" data-loading-text="${ _('Installing...') }"
                    data-sample-url="${ url('beeswax:install_examples') }">
-                  <i class="icon-download-alt"></i> ${ apps['beeswax'].nice_name }
+                  <i class="fa fa-download"></i> ${ apps['beeswax'].nice_name }
                 </a>
               </li>
           % endif
@@ -115,7 +115,7 @@ ${ header.menubar() }
               <li>
                 <a href="#" class="installBtn" data-loading-text="${ _('Installing...') }"
                    data-sample-url="${ url('impala:install_examples') }">
-                  <i class="icon-download-alt"></i> ${ apps['impala'].nice_name }
+                  <i class="fa fa-download"></i> ${ apps['impala'].nice_name }
                 </a>
               </li>
           % endif
@@ -123,7 +123,7 @@ ${ header.menubar() }
               <li>
                 <a href="#" class="installBtn" data-loading-text="${ _('Installing...') }"
                    data-sample-url="${ url('oozie:install_examples') }">
-                  <i class="icon-download-alt"></i> ${ apps['jobsub'].nice_name }
+                  <i class="fa fa-download"></i> ${ apps['jobsub'].nice_name }
                 </a>
               </li>
           % endif
@@ -131,7 +131,7 @@ ${ header.menubar() }
               <li>
                 <a href="#" class="installBtn" data-loading-text="${ _('Installing...') }"
                    data-sample-url="${ url('oozie:install_examples') }">
-                  <i class="icon-download-alt"></i> ${ apps['oozie'].nice_name }
+                  <i class="fa fa-download"></i> ${ apps['oozie'].nice_name }
                 </a>
               </li>
           % endif
@@ -139,7 +139,7 @@ ${ header.menubar() }
               <li>
                 <a href="#" class="installBtn" data-loading-text="${ _('Installing...') }"
                    data-sample-url="${ url('pig:install_examples') }">
-                  <i class="icon-download-alt"></i> ${ apps['pig'].nice_name }
+                  <i class="fa fa-download"></i> ${ apps['pig'].nice_name }
                 </a>
               </li>
           % endif
@@ -184,7 +184,7 @@ ${ header.menubar() }
 
                 <div class="card-body">
                   <p>
-                    <a href="${ url('desktop.views.home') }" class="step"><i class="icon-home"></i> ${_('Hue Home') }
+                    <a href="${ url('desktop.views.home') }" class="step"><i class="fa fa-home"></i> ${_('Hue Home') }
                     </a>
                   </p>
                 </div>

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

@@ -31,8 +31,8 @@ ${ layout.metastore_menubar() }
             <div class="sidebar-nav">
                 <ul class="nav nav-list">
                     <li class="nav-header">${_('Actions')}</li>
-                    <li><a href="${ url(app_name + ':import_wizard', database=database)}"><i class="icon-copy"></i> ${_('Create a new table from a file')}</a></li>
-                    <li><a href="${ url(app_name + ':create_table', database=database)}"><i class="icon-wrench"></i> ${_('Create a new table manually')}</a></li>
+                    <li><a href="${ url(app_name + ':import_wizard', database=database)}"><i class="fa fa-files-o"></i> ${_('Create a new table from a file')}</a></li>
+                    <li><a href="${ url(app_name + ':create_table', database=database)}"><i class="fa fa-wrench"></i> ${_('Create a new table manually')}</a></li>
                 </ul>
             </div>
         </div>

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

@@ -30,8 +30,8 @@ ${ layout.metastore_menubar() }
             <div class="sidebar-nav">
                 <ul class="nav nav-list">
                     <li class="nav-header">${_('Actions')}</li>
-                    <li><a href="${ url(app_name + ':import_wizard', database=database)}"><i class="icon-copy"></i> ${_('Create a new table from a file')}</a></li>
-                    <li><a href="${ url(app_name + ':create_table', database=database)}"><i class="icon-wrench"></i> ${_('Create a new table manually')}</a></li>
+                    <li><a href="${ url(app_name + ':import_wizard', database=database)}"><i class="fa fa-files-o"></i> ${_('Create a new table from a file')}</a></li>
+                    <li><a href="${ url(app_name + ':create_table', database=database)}"><i class="fa fa-wrench"></i> ${_('Create a new table manually')}</a></li>
                 </ul>
             </div>
         </div>

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

@@ -30,8 +30,8 @@ ${ layout.metastore_menubar() }
     <div class="sidebar-nav">
         <ul class="nav nav-list">
             <li class="nav-header">${_('Actions')}</li>
-            <li><a href="${ url(app_name + ':import_wizard', database=database)}"><i class="icon-copy"></i> ${_('Create a new table from a file')}</a></li>
-            <li><a href="${ url(app_name + ':create_table', database=database)}"><i class="icon-wrench"></i> ${_('Create a new table manually')}</a></li>
+            <li><a href="${ url(app_name + ':import_wizard', database=database)}"><i class="fa fa-files-o"></i> ${_('Create a new table from a file')}</a></li>
+            <li><a href="${ url(app_name + ':create_table', database=database)}"><i class="fa fa-wrench"></i> ${_('Create a new table manually')}</a></li>
         </ul>
     </div>
 </div>

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

@@ -31,8 +31,8 @@ ${ layout.metastore_menubar() }
             <div class="sidebar-nav">
                 <ul class="nav nav-list">
                     <li class="nav-header">${_('Actions')}</li>
-                    <li><a href="${ url(app_name + ':import_wizard', database=database)}"><i class="icon-copy"></i> ${_('Create a new table from a file')}</a></li>
-                    <li><a href="${ url(app_name + ':create_table', database=database)}"><i class="icon-wrench"></i> ${_('Create a new table manually')}</a></li>
+                    <li><a href="${ url(app_name + ':import_wizard', database=database)}"><i class="fa fa-files-o"></i> ${_('Create a new table from a file')}</a></li>
+                    <li><a href="${ url(app_name + ':create_table', database=database)}"><i class="fa fa-wrench"></i> ${_('Create a new table manually')}</a></li>
                 </ul>
             </div>
         </div>
@@ -63,7 +63,7 @@ ${ layout.metastore_menubar() }
                             <div class="scrollable">
                                 <table class="table table-striped">
                                     <thead>
-                                      <th id="editColumns">${ _('Column name') } &nbsp;<i class="icon-edit" rel="tooltip" data-placement="right" title="${ _('Bulk edit names') }"></i></th>
+                                      <th id="editColumns">${ _('Column name') } &nbsp;<i class="fa fa-edit" rel="tooltip" data-placement="right" title="${ _('Bulk edit names') }"></i></th>
                                       <th>${ _('Column Type') }</th>
                                       % for i in range(0, n_rows):
                                         <th><em>${_('Sample Row')} #${i + 1}</em></th>
@@ -122,8 +122,8 @@ ${ layout.metastore_menubar() }
                   <input type="text" class="span8" style="padding-right: 24px;" placeholder="${ _('e.g. id, name, salary') }">
                 </div>
                 <div class="editable-buttons">
-                  <button type="button" class="btn btn-primary editable-submit"><i class="icon-ok"></i></button>
-                  <button type="button" class="btn editable-cancel"><i class="icon-remove"></i></button>
+                  <button type="button" class="btn btn-primary editable-submit"><i class="fa fa-check"></i></button>
+                  <button type="button" class="btn editable-cancel"><i class="fa fa-times"></i></button>
                 </div>
               </div>
             </div>

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

@@ -223,7 +223,7 @@ ${layout.menubar(section='query')}
               <li class="white">
                 <div class="control-group">
                   <span id="refresh-dyk">
-                    <i class="icon-refresh"></i>
+                    <i class="fa fa-refresh"></i>
                     ${ _('Sync tables tips') }
                   </span>
                   <div id="refresh-content" class="hide">
@@ -239,7 +239,7 @@ ${layout.menubar(section='query')}
               <li class="nav-header"></li>
               <li class="white">
                 <div class="control-group">
-                  <i class="icon-question-sign" id="help"></i>
+                  <i class="fa fa-question-circle" id="help"></i>
                   <div id="help-content" class="hide">
                     <ul style="text-align: left;">
                       <li>${ _('Press CTRL + Space to autocomplete') }</li>
@@ -334,8 +334,8 @@ ${layout.menubar(section='query')}
 
     <div class="span2" id="navigator">
       <div class="card card-small">
-        <a href="#" title="${_('Double click on a table name or field to insert it in the editor')}" rel="tooltip" data-placement="left" class="pull-right" style="margin:10px;margin-left: 0"><i class="icon-question-sign"></i></a>
-        <a id="refreshNavigator" href="#" title="${_('Manually refresh the table list')}" rel="tooltip" data-placement="left" class="pull-right" style="margin:10px"><i class="icon-refresh"></i></a>
+        <a href="#" title="${_('Double click on a table name or field to insert it in the editor')}" rel="tooltip" data-placement="left" class="pull-right" style="margin:10px;margin-left: 0"><i class="fa fa-question-circle"></i></a>
+        <a id="refreshNavigator" href="#" title="${_('Manually refresh the table list')}" rel="tooltip" data-placement="left" class="pull-right" style="margin:10px"><i class="fa fa-refresh"></i></a>
         <h1 class="card-heading simple">${_('Navigator')}</h1>
         <div class="card-body">
           <p>
@@ -343,7 +343,7 @@ ${layout.menubar(section='query')}
             <span id="navigatorNoTables">${_('The selected database has no tables.')}</span>
             <ul id="navigatorTables" class="unstyled"></ul>
             <div id="navigatorLoader">
-              <!--[if !IE]><!--><i class="icon-spinner icon-spin" style="font-size: 20px; color: #DDD"></i><!--<![endif]-->
+              <!--[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]-->
             </div>
           </p>
@@ -397,12 +397,12 @@ ${layout.menubar(section='query')}
 <div id="navigatorQuicklook" class="modal hide fade">
     <div class="modal-header">
         <a href="#" class="close" data-dismiss="modal">&times;</a>
-        <a class="tableLink pull-right" href="#" target="_blank" style="margin-right: 20px;margin-top:6px"><i class="icon-external-link"></i> ${ _('View in Metastore Browser') }</a>
+        <a class="tableLink pull-right" href="#" target="_blank" style="margin-right: 20px;margin-top:6px"><i class="fa fa-external-link"></i> ${ _('View in Metastore Browser') }</a>
         <h3>${_('Data sample for')} <span class="tableName"></span></h3>
     </div>
     <div class="modal-body" style="min-height: 100px">
       <div class="loader">
-        <!--[if !IE]><!--><i class="icon-spinner icon-spin" style="font-size: 30px; color: #DDD"></i><!--<![endif]-->
+        <!--[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]-->
       </div>
       <div class="sample"></div>
@@ -558,17 +558,17 @@ ${layout.menubar(section='query')}
           $(data.split(" ")).each(function (cnt, table) {
             if ($.trim(table) != ""){
               var _table = $("<li>");
-              _table.html("<a href='/metastore/table/" + $("#id_query-database").val() + "/" + table + "' target='_blank' class='pull-right'><i class='icon-eye-open' title='" + "${ _('View in Metastore Browser') }" + "' style='margin-left:5px'></i></a><a href='#' class='pull-right hide'><i class='icon-list' title='" + "${ _('Preview Sample data') }" + "'></i></a><a href='#' title='" + table + "'><i class='icon-table'></i> " + table + "</a><ul class='unstyled'></ul>");
+              _table.html("<a href='/metastore/table/" + $("#id_query-database").val() + "/" + table + "' target='_blank' class='pull-right'><i class='fa fa-eye' title='" + "${ _('View in Metastore Browser') }" + "' style='margin-left:5px'></i></a><a href='#' class='pull-right hide'><i class='fa fa-list' title='" + "${ _('Preview Sample data') }" + "'></i></a><a href='#' title='" + table + "'><i class='fa fa-table'></i> " + table + "</a><ul class='unstyled'></ul>");
               _table.data("table", table).attr("id", "navigatorTables_" + table);
               _table.find("a:eq(2)").on("click", function () {
-                _table.find(".icon-table").removeClass("icon-table").addClass("icon-spin").addClass("icon-spinner");
+                _table.find(".fa-table").removeClass("fa-table").addClass("fa-spin").addClass("fa-spinner");
                 hac_getTableColumns($("#id_query-database").val(), table, "", function (plain_columns, extended_columns) {
                   _table.find("a:eq(1)").removeClass("hide");
                   _table.find("ul").empty();
-                  _table.find(".icon-spinner").removeClass("icon-spinner").removeClass("icon-spin").addClass("icon-table");
+                  _table.find(".fa-spinner").removeClass("fa-spinner").removeClass("fa-spin").addClass("fa-table");
                   $(extended_columns).each(function (iCnt, col) {
                     var _column = $("<li>");
-                    _column.html("<a href='#' style='padding-left:10px'" + (col.comment != null && col.comment != "" ? " title='" + col.comment + "'" : "") + "><i class='icon-columns'></i> " + col.name + " (" + col.type + ")</a>");
+                    _column.html("<a href='#' style='padding-left:10px'" + (col.comment != null && col.comment != "" ? " title='" + col.comment + "'" : "") + "><i class='fa fa-columns'></i> " + col.name + " (" + col.type + ")</a>");
                     _column.appendTo(_table.find("ul"));
                     _column.on("dblclick", function () {
                       codeMirror.replaceSelection($.trim(col.name) + ', ');
@@ -808,7 +808,7 @@ ${layout.menubar(section='query')}
         });
 
         var pos = cm.cursorCoords();
-        $("<i class='icon-spinner icon-spin CodeMirror-spinner'></i>").css("top", pos.top + "px").css("left", (pos.left - 4) + "px").appendTo($("body"));
+        $("<i class='fa fa-spinner fa-spin CodeMirror-spinner'></i>").css("top", pos.top + "px").css("left", (pos.left - 4) + "px").appendTo($("body"));
 
         if ($.totalStorage('tables_' + $("#id_query-database").val()) == null) {
           CodeMirror.showHint(cm, AUTOCOMPLETE_SET);
@@ -922,7 +922,7 @@ ${layout.menubar(section='query')}
         var err = $(".queryErrorMessage").text().toLowerCase();
         var firstPos = err.indexOf("line");
         selectedLine = $.trim(err.substring(err.indexOf(" ", firstPos), err.indexOf(":", firstPos))) * 1;
-        errorWidget = codeMirror.addLineWidget(selectedLine - 1, $("<div>").addClass("editorError").html("<i class='icon-exclamation-sign'></i> " + err)[0], {coverGutter: true, noHScroll: true})
+        errorWidget = codeMirror.addLineWidget(selectedLine - 1, $("<div>").addClass("editorError").html("<i class='fa fa-exclamation-circle'></i> " + err)[0], {coverGutter: true, noHScroll: true})
       }
 
       codeMirror.setSize("95%", $(window).height() - 270 - $("#queryPane .alert-error").outerHeight() - $(".nav-tabs").outerHeight());

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

@@ -39,17 +39,17 @@ ${layout.menubar(section='saved queries')}
 
       <%def name="actions()">
         <div class="btn-toolbar" style="display: inline; vertical-align: middle">
-          <button id="editBtn" class="btn toolbarBtn" title="${_('Edit the selected query')}" disabled="disabled"><i class="icon-edit"></i> ${_('Edit')}</button>
-          <button id="cloneBtn" class="btn toolbarBtn" title="${_('Copy the selected query')}" disabled="disabled"><i class="icon-copy"></i> ${_('Copy')}</button>
-          <button id="historyBtn" class="btn toolbarBtn" title="${_('View the usage history of the selected query')}" disabled="disabled"><i class="icon-tasks"></i> ${_('Usage history')}</button>
+          <button id="editBtn" class="btn toolbarBtn" title="${_('Edit the selected query')}" disabled="disabled"><i class="fa fa-edit"></i> ${_('Edit')}</button>
+          <button id="cloneBtn" class="btn toolbarBtn" title="${_('Copy the selected query')}" disabled="disabled"><i class="fa fa-files-o"></i> ${_('Copy')}</button>
+          <button id="historyBtn" class="btn toolbarBtn" title="${_('View the usage history of the selected query')}" disabled="disabled"><i class="fa fa-tasks"></i> ${_('Usage history')}</button>
 
           <div id="delete-dropdown" class="btn-group" style="vertical-align: middle">
-            <button id="trashQueryBtn" class="btn toolbarBtn" disabled="disabled"><i class="icon-remove"></i> ${_('Move to trash')}</button>
+            <button id="trashQueryBtn" class="btn toolbarBtn" disabled="disabled"><i class="fa fa-times"></i> ${_('Move to trash')}</button>
             <button id="trashQueryCaretBtn" class="btn toolbarBtn dropdown-toggle" data-toggle="dropdown" disabled="disabled">
               <span class="caret"></span>
             </button>
             <ul class="dropdown-menu">
-              <li><a href="#" id="deleteQueryBtn" title="${_('Delete forever')}"><i class="icon-bolt"></i> ${_('Delete forever')}</a></li>
+              <li><a href="#" id="deleteQueryBtn" title="${_('Delete forever')}"><i class="fa fa-bolt"></i> ${_('Delete forever')}</a></li>
             </ul>
           </div>
         </div>
@@ -57,8 +57,8 @@ ${layout.menubar(section='saved queries')}
 
       <%def name="creation()">
         <div class="btn-toolbar" style="display: inline; vertical-align: middle">          
-          <a class="btn" href="${ url(app_name + ':execute_query') }" title="${_('Create new query')}"><i class="icon-plus-sign"></i> ${_('New query')}</a>
-          <a class="btn" href="${ url(app_name + ':list_trashed_designs') }" title="${_('Go to the trash')}"><i class="icon-trash"></i> ${_('View trash')}</a>
+          <a class="btn" href="${ url(app_name + ':execute_query') }" title="${_('Create new query')}"><i class="fa fa-plus-circle"></i> ${_('New query')}</a>
+          <a class="btn" href="${ url(app_name + ':list_trashed_designs') }" title="${_('Go to the trash')}"><i class="fa fa-trash-o"></i> ${_('View trash')}</a>
         </div>
       </%def>
     </%actionbar:render>
@@ -66,7 +66,7 @@ ${layout.menubar(section='saved queries')}
     <table class="table table-condensed datatables">
     <thead>
       <tr>
-        <th width="1%"><div class="hueCheckbox selectAll" data-selectables="savedCheck"></div></th>
+        <th width="1%"><div class="hueCheckbox selectAll fa" data-selectables="savedCheck"></div></th>
         <th>${_('Name')}</th>
         <th>${_('Description')}</th>
         <th>${_('Owner')}</th>
@@ -80,7 +80,7 @@ ${layout.menubar(section='saved queries')}
         %>
       <tr>
         <td data-row-selector-exclude="true">
-          <div class="hueCheckbox savedCheck"
+          <div class="hueCheckbox savedCheck fa"
             % if may_edit:
               data-edit-url="${ url(app_name + ':execute_query', design_id=design.id) }"
               data-delete-name="${ design.id }"
@@ -170,24 +170,24 @@ ${layout.menubar(section='saved queries')}
 
     $(".selectAll").click(function () {
       if ($(this).attr("checked")) {
-        $(this).removeAttr("checked").removeClass("icon-ok");
-        $("." + $(this).data("selectables")).removeClass("icon-ok").removeAttr("checked");
+        $(this).removeAttr("checked").removeClass("fa-check");
+        $("." + $(this).data("selectables")).removeClass("fa-check").removeAttr("checked");
       }
       else {
-        $(this).attr("checked", "checked").addClass("icon-ok");
-        $("." + $(this).data("selectables")).addClass("icon-ok").attr("checked", "checked");
+        $(this).attr("checked", "checked").addClass("fa-check");
+        $("." + $(this).data("selectables")).addClass("fa-check").attr("checked", "checked");
       }
       toggleActions();
     });
 
     $(".savedCheck").click(function () {
       if ($(this).attr("checked")) {
-        $(this).removeClass("icon-ok").removeAttr("checked");
+        $(this).removeClass("fa-check").removeAttr("checked");
       }
       else {
-        $(this).addClass("icon-ok").attr("checked", "checked");
+        $(this).addClass("fa-check").attr("checked", "checked");
       }
-      $(".selectAll").removeAttr("checked").removeClass("icon-ok");
+      $(".selectAll").removeAttr("checked").removeClass("fa-check");
       toggleActions();
     });
 

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

@@ -40,10 +40,10 @@ ${layout.menubar(section='saved queries')}
       <%def name="actions()">
         <div class="btn-toolbar" style="display: inline; vertical-align: middle">
           <button id="deleteQueryBtn" class="btn toolbarBtn" title="${_('Delete forever')}" disabled="disabled">
-            <i class="icon-bolt"></i> ${_('Delete forever')}
+            <i class="fa fa-bolt"></i> ${_('Delete forever')}
           </button>
           <button id="restoreQueryBtn" class="btn toolbarBtn" title="${_('Restore from trash')}" disabled="disabled">
-            <i class="icon-cloud-upload"></i> ${_('Restore')}
+            <i class="fa fa-cloud-upload"></i> ${_('Restore')}
           </button>
         </div>
       </%def>
@@ -51,10 +51,10 @@ ${layout.menubar(section='saved queries')}
       <%def name="creation()">
         <div class="btn-toolbar" style="display: inline; vertical-align: middle">
           <button id="emptyTrashBtn" class="btn" title="${_('Empty trash')}" data-bind="enabled: availableSavedQueries().length > 0">
-            <i class="icon-fire"></i> ${_('Empty trash')}
+            <i class="fa fa-fire"></i> ${_('Empty trash')}
           </button>        
           <button id="viewQueriesBtn" class="btn" title="${_('View queries')}">
-            <i class="icon-home"></i> ${_('Back')}
+            <i class="fa fa-home"></i> ${_('Back')}
           </button>
         </div>
       </%def>
@@ -63,7 +63,7 @@ ${layout.menubar(section='saved queries')}
     <table class="table table-condensed datatables">
     <thead>
       <tr>
-        <th width="1%"><div class="hueCheckbox selectAll" data-selectables="savedCheck"></div></th>
+        <th width="1%"><div class="hueCheckbox selectAll fa" data-selectables="savedCheck"></div></th>
         <th>${_('Name')}</th>
         <th>${_('Description')}</th>
         <th>${_('Owner')}</th>
@@ -77,7 +77,7 @@ ${layout.menubar(section='saved queries')}
         %>
       <tr>
         <td data-row-selector-exclude="true">
-          <div class="hueCheckbox savedCheck"
+          <div class="hueCheckbox savedCheck fa"
             % if may_edit:
               data-delete-id="${ design.id }"
             % endif
@@ -162,24 +162,24 @@ ${layout.menubar(section='saved queries')}
 
     $(".selectAll").click(function () {
       if ($(this).attr("checked")) {
-        $(this).removeAttr("checked").removeClass("icon-ok");
-        $("." + $(this).data("selectables")).removeClass("icon-ok").removeAttr("checked");
+        $(this).removeAttr("checked").removeClass("fa-check");
+        $("." + $(this).data("selectables")).removeClass("fa-check").removeAttr("checked");
       }
       else {
-        $(this).attr("checked", "checked").addClass("icon-ok");
-        $("." + $(this).data("selectables")).addClass("icon-ok").attr("checked", "checked");
+        $(this).attr("checked", "checked").addClass("fa-check");
+        $("." + $(this).data("selectables")).addClass("fa-check").attr("checked", "checked");
       }
       toggleActions();
     });
 
     $(".savedCheck").click(function () {
       if ($(this).attr("checked")) {
-        $(this).removeClass("icon-ok").removeAttr("checked");
+        $(this).removeClass("fa-check").removeAttr("checked");
       }
       else {
-        $(this).addClass("icon-ok").attr("checked", "checked");
+        $(this).addClass("fa-check").attr("checked", "checked");
       }
-      $(".selectAll").removeAttr("checked").removeClass("icon-ok");
+      $(".selectAll").removeAttr("checked").removeClass("fa-check");
       toggleActions();
     });
 

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

@@ -46,17 +46,17 @@ ${layout.menubar(section='my queries')}
 
       <%def name="actions()">
         <div class="btn-toolbar" style="display: inline; vertical-align: middle">
-          <button id="viewBtn" class="btn toolbarBtn" title="${_('View the result of the selected')}" disabled="disabled"><i class="icon-eye-open"></i> ${_('View result')}</button>
-          <button id="editBtn" class="btn toolbarBtn" title="${_('Edit the selected query')}" disabled="disabled"><i class="icon-edit"></i> ${_('Edit')}</button>
-          <button id="cloneBtn" class="btn toolbarBtn" title="${_('Copy the selected query')}" disabled="disabled"><i class="icon-copy"></i> ${_('Copy')}</button>
-          <button id="historyBtn" class="btn toolbarBtn" title="${_('View the usage history of the selected query')}" disabled="disabled"><i class="icon-tasks"></i> ${_('Usage history')}</button>
+          <button id="viewBtn" class="btn toolbarBtn" title="${_('View the result of the selected')}" disabled="disabled"><i class="fa fa-eye"></i> ${_('View result')}</button>
+          <button id="editBtn" class="btn toolbarBtn" title="${_('Edit the selected query')}" disabled="disabled"><i class="fa fa-edit"></i> ${_('Edit')}</button>
+          <button id="cloneBtn" class="btn toolbarBtn" title="${_('Copy the selected query')}" disabled="disabled"><i class="fa fa-files-o"></i> ${_('Copy')}</button>
+          <button id="historyBtn" class="btn toolbarBtn" title="${_('View the usage history of the selected query')}" disabled="disabled"><i class="fa fa-tasks"></i> ${_('Usage history')}</button>
           <div id="delete-dropdown" class="btn-group" style="vertical-align: middle">
-            <button id="trashQueryBtn" class="btn toolbarBtn" disabled="disabled"><i class="icon-remove"></i> ${_('Move to trash')}</button>
+            <button id="trashQueryBtn" class="btn toolbarBtn" disabled="disabled"><i class="fa fa-times"></i> ${_('Move to trash')}</button>
             <button id="trashQueryCaretBtn" class="btn toolbarBtn dropdown-toggle" data-toggle="dropdown" disabled="disabled">
               <span class="caret"></span>
             </button>
             <ul class="dropdown-menu">
-              <li><a href="#" id="deleteQueryBtn" title="${_('Delete forever')}"><i class="icon-bolt"></i> ${_('Delete forever')}</a></li>
+              <li><a href="#" id="deleteQueryBtn" title="${_('Delete forever')}"><i class="fa fa-bolt"></i> ${_('Delete forever')}</a></li>
             </ul>
           </div>
         </div>
@@ -64,8 +64,8 @@ ${layout.menubar(section='my queries')}
 
       <%def name="creation()">
         <div class="btn-toolbar" style="display: inline; vertical-align: middle">
-          <a class="btn" href="${ url(app_name + ':list_trashed_designs') }" title="${_('Go to the trash')}"><i class="icon-trash"></i> ${_('View trash')}</a>
-          <a class="btn" href="${ url(app_name + ':execute_query') }" title="${_('Create new query')}"><i class="icon-plus-sign"></i> ${_('New query')}</a>
+          <a class="btn" href="${ url(app_name + ':list_trashed_designs') }" title="${_('Go to the trash')}"><i class="fa fa-trash-o"></i> ${_('View trash')}</a>
+          <a class="btn" href="${ url(app_name + ':execute_query') }" title="${_('Create new query')}"><i class="fa fa-plus-circle"></i> ${_('New query')}</a>
         </div>
       </%def>
     </%actionbar:render>
@@ -80,7 +80,7 @@ ${layout.menubar(section='my queries')}
       <table id="recentSavedQueriesTable" class="table table-condensed datatables">
         <thead>
           <tr>
-            <th width="1%"><div class="hueCheckbox selectAll" data-selectables="savedCheck"></div></th>
+            <th width="1%"><div class="hueCheckbox selectAll fa" data-selectables="savedCheck"></div></th>
             <th>${_('Name')}</th>
             <th>${_('Desc')}</th>
             <th>${_('Last Modified')}</th>
@@ -90,7 +90,7 @@ ${layout.menubar(section='my queries')}
         % for design in q_page.object_list:
           <tr>
             <td data-row-selector-exclude="true">
-              <div class="hueCheckbox savedCheck canDelete"
+              <div class="hueCheckbox savedCheck fa canDelete"
                    data-edit-url="${ url(app_name + ':execute_query', design_id=design.id) }"
                    data-delete-name="${ design.id }"
                    data-history-url="${ url(app_name + ':list_query_history') }?q-design_id=${design.id}"
@@ -133,7 +133,7 @@ ${layout.menubar(section='my queries')}
         %>
           <tr>
             <td width="1%" data-row-selector-exclude="true">
-              <div class="hueCheckbox runCheck"
+              <div class="hueCheckbox runCheck fa"
                 data-edit-url="${ url(app_name + ':execute_query', design_id=query.design.id) }"
                 % if qcontext and query.last_state != models.QueryHistory.STATE.expired.index:
                   data-view-url="${ url(app_name + ':watch_query', id=query.id) }?context=${qcontext|u}"
@@ -243,32 +243,32 @@ ${layout.menubar(section='my queries')}
 
     $(".selectAll").click(function () {
       if ($(this).attr("checked")) {
-        $(this).removeAttr("checked").removeClass("icon-ok");
-        $("." + $(this).data("selectables")).removeClass("icon-ok").removeAttr("checked");
+        $(this).removeAttr("checked").removeClass("fa-check");
+        $("." + $(this).data("selectables")).removeClass("fa-check").removeAttr("checked");
       }
       else {
-        $(this).attr("checked", "checked").addClass("icon-ok");
-        $("." + $(this).data("selectables")).addClass("icon-ok").attr("checked", "checked");
+        $(this).attr("checked", "checked").addClass("fa-check");
+        $("." + $(this).data("selectables")).addClass("fa-check").attr("checked", "checked");
       }
       toggleActions();
     });
 
     $(".savedCheck").click(function () {
-      $(".runCheck").removeClass("icon-ok").removeAttr("checked");
+      $(".runCheck").removeClass("fa-check").removeAttr("checked");
     });
 
     $(".runCheck").click(function () {
-      $(".savedCheck").removeClass("icon-ok").removeAttr("checked");
+      $(".savedCheck").removeClass("fa-check").removeAttr("checked");
     });
 
     $(".savedCheck, .runCheck").click(function () {
       if ($(this).attr("checked")) {
-        $(this).removeClass("icon-ok").removeAttr("checked");
+        $(this).removeClass("fa-check").removeAttr("checked");
       }
       else {
-        $(this).addClass("icon-ok").attr("checked", "checked");
+        $(this).addClass("fa-check").attr("checked", "checked");
       }
-      $(".selectAll").removeAttr("checked").removeClass("icon-ok");
+      $(".selectAll").removeAttr("checked").removeClass("fa-check");
       toggleActions();
     });
 

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

@@ -63,19 +63,19 @@ ${layout.menubar(section='query')}
 </style>
 
 <div class="container-fluid">
-  <div id="expand"><i class="icon-chevron-right" style="color: #FFFFFF"></i></div>
+  <div id="expand"><i class="fa fa-chevron-right" style="color: #FFFFFF"></i></div>
     <div class="row-fluid">
         <div class="span3">
             <div class="sidebar-nav">
                 <ul class="nav nav-list">
-                    <li><a id="collapse" class="btn btn-small"><i class="icon-chevron-left" rel="tooltip" title="${_('Collapse this panel')}"></i></a></li>
+                    <li><a id="collapse" class="btn btn-small"><i class="fa fa-chevron-left" rel="tooltip" title="${_('Collapse this panel')}"></i></a></li>
                     % if download_urls:
                     <li class="nav-header">${_('Results')}</li>
-                    <li><a target="_blank" href="${download_urls["csv"]}"><i class="icon-download"></i> ${_('Download as CSV')}</a></li>
-                    <li><a target="_blank" href="${download_urls["xls"]}"><i class="icon-download"></i> ${_('Download as XLS')}</a></li>
+                    <li><a target="_blank" href="${download_urls["csv"]}"><i class="fa fa-arrow-circle-o-down"></i> ${_('Download as CSV')}</a></li>
+                    <li><a target="_blank" href="${download_urls["xls"]}"><i class="fa fa-arrow-circle-o-down"></i> ${_('Download as XLS')}</a></li>
                     % endif
                     %if can_save:
-                    <li><a data-toggle="modal" href="#saveAs"><i class="icon-save"></i> ${_('Save')}</a></li>
+                    <li><a data-toggle="modal" href="#saveAs"><i class="fa fa-floppy-o"></i> ${_('Save')}</a></li>
                     % endif
                     % if app_name != 'impala':
                     <%

+ 1 - 1
apps/filebrowser/src/filebrowser/static/help/index.html

@@ -69,7 +69,7 @@
 
     <div class="body conbody">
 
-      <p class="p">Click the <strong class="ph b">File Browser</strong> icon (<i class="icon-file"></i>) in the navigation bar at the top of the Hue browser page. </p>
+      <p class="p">Click the <strong class="ph b">File Browser</strong> icon (<i class="fa fa-file"></i>) in the navigation bar at the top of the Hue browser page. </p>
 
 
     </div>

+ 3 - 3
apps/filebrowser/src/filebrowser/templates/chooser.mako

@@ -16,9 +16,9 @@
 
 <%namespace name="dir" file="listdir_components.mako" />
 
-<div class="fb-actions" data-filters="ArtButtonBar">
-  <a class="fb-upload" data-filters="ArtButton" data-icon-styles="{'width': 16, 'height' : 16}" href="${url('filebrowser.views.upload_file')}?dest=${path|u}&next=${current_request_path|u}">Upload Files</a>
-  <a class="fb-mkdir" data-filters="ArtButton" data-icon-styles="{'width': 16, 'height': 16}" href="${url('filebrowser.views.mkdir')}?path=${path|u}&next=${current_request_path|u}">New Directory</a>
+<div class="fb-actions">
+  <a class="fb-upload" data-icon-styles="{'width': 16, 'height' : 16}" href="${url('filebrowser.views.upload_file')}?dest=${path|u}&next=${current_request_path|u}">Upload Files</a>
+  <a class="fb-mkdir" data-icon-styles="{'width': 16, 'height': 16}" href="${url('filebrowser.views.mkdir')}?path=${path|u}&next=${current_request_path|u}">New Directory</a>
 </div>
 
 ${dir.list_table_chooser(files, path_enc, current_request_path)}

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

@@ -38,32 +38,32 @@ ${ fb_components.menubar() }
         <ul class="nav nav-list">
           <li class="nav-header">${_('Actions')}</li>
           % if view['mode'] == "binary":
-            <li><a href="${base_url}?offset=${view['offset']}&length=${view['length']}&mode=text&compression=${view['compression']}"><i class="icon-font"></i> ${_('View as text')}</a></li>
+            <li><a href="${base_url}?offset=${view['offset']}&length=${view['length']}&mode=text&compression=${view['compression']}"><i class="fa fa-font"></i> ${_('View as text')}</a></li>
           % endif
 
           % if view['mode'] == "text":
-            <li><a href="${base_url}?offset=${view['offset']}&length=${view['length']}&mode=binary&compression=${view['compression']}"><i class="icon-barcode"></i> ${_('View as binary')}</a></li>
+            <li><a href="${base_url}?offset=${view['offset']}&length=${view['length']}&mode=binary&compression=${view['compression']}"><i class="fa fa-barcode"></i> ${_('View as binary')}</a></li>
           % endif
 
           % if view['compression'] != "gzip" and path.endswith('.gz'):
-            <li><a href="${base_url}?offset=0&length=2000&mode=${view['mode']}&compression=gzip"><i class="icon-youtube-play"></i> ${_('Preview as Gzip')}</a></li>
+            <li><a href="${base_url}?offset=0&length=2000&mode=${view['mode']}&compression=gzip"><i class="fa fa-youtube-play"></i> ${_('Preview as Gzip')}</a></li>
           % endif
 
           % if view['compression'] != "avro" and view['compression'] != "snappy_avro" and path.endswith('.avro'):
-            <li><a href="${base_url}?offset=0&length=2000&mode=${view['mode']}&compression=avro"><i class="icon-youtube-play"></i> ${_('Preview as Avro')}</a></li>
+            <li><a href="${base_url}?offset=0&length=2000&mode=${view['mode']}&compression=avro"><i class="fa fa-youtube-play"></i> ${_('Preview as Avro')}</a></li>
           % endif
 
           % if view['compression'] and view['compression'] != "none":
-            <li><a href="${base_url}?offset=0&length=2000&mode=${view['mode']}&compression=none"><i class="icon-remove-circle"></i> ${_('Stop preview')}</a></li>
+            <li><a href="${base_url}?offset=0&length=2000&mode=${view['mode']}&compression=none"><i class="fa fa-times-circle"></i> ${_('Stop preview')}</a></li>
           % endif
 
           % if editable and view['compression'] == "none":
-            <li><a href="${url('filebrowser.views.edit', path=path_enc)}"><i class="icon-pencil"></i> ${_('Edit file')}</a></li>
+            <li><a href="${url('filebrowser.views.edit', path=path_enc)}"><i class="fa fa-pencil"></i> ${_('Edit file')}</a></li>
           % endif
 
-           <li><a href="${url('filebrowser.views.download', path=path_enc)}"><i class="icon-download-alt"></i> ${_('Download')}</a></li>
-           <li><a href="${url('filebrowser.views.view', path=dirname_enc)}"><i class="icon-file-text"></i> ${_('View file location')}</a></li>
-           <li><a id="refreshBtn"><i class="icon-refresh"></i> ${_('Refresh')}</a></li>
+           <li><a href="${url('filebrowser.views.download', path=path_enc)}"><i class="fa fa-download"></i> ${_('Download')}</a></li>
+           <li><a href="${url('filebrowser.views.view', path=dirname_enc)}"><i class="fa fa-file-text"></i> ${_('View file location')}</a></li>
+           <li><a id="refreshBtn"><i class="fa fa-refresh"></i> ${_('Refresh')}</a></li>
 
           <li class="nav-header">${_('Info')}</li>
           <li class="white">

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

@@ -21,9 +21,9 @@ from django.utils.translation import ugettext as _
 <%def name="breadcrumbs(path, breadcrumbs, from_listdir=False)">
     <ul class="nav nav-pills hueBreadcrumbBar">
         % if from_listdir:
-        <li><a href="${url('filebrowser.views.view', path=urlencode(path))}?default_to_home" style="line-height:18px"><i class="icon-home"></i> ${_('Home')}</a></li>
+        <li><a href="${url('filebrowser.views.view', path=urlencode(path))}?default_to_home" style="line-height:18px"><i class="fa fa-home"></i> ${_('Home')}</a></li>
         <li>
-            <span style="float:right; margin-top:10px;"><i id="editBreadcrumb" class="icon-pencil hand" rel="tooltip" title="${_('Edit path')}"></i></span>
+            <span style="float:right; margin-top:10px;"><i id="editBreadcrumb" class="fa fa-pencil hand" rel="tooltip" title="${_('Edit path')}"></i></span>
             <ul class="hueBreadcrumb" data-bind="foreach: breadcrumbs" style="padding-right:40px; padding-top: 12px">
                 <li data-bind="visible: label == '/'"><a href="#" data-bind="click: show"><span class="divider" data-bind="text: label"></span></a></li>
                 <li data-bind="visible: label != '/'"><a href="#" data-bind="text: label, click: show"></a><span class="divider">/</span></li>
@@ -32,11 +32,11 @@ from django.utils.translation import ugettext as _
         </li>
         <li class="pull-right">
           <a href="${url('filebrowser.views.view', path=urlencode(path))}?default_to_trash" style="line-height:18px" data-bind="visible: trashEnabled" title="${_('View trash')}">
-            <i class="icon-trash"></i> ${_('View trash')}
+            <i class="fa fa-trash-o"></i> ${_('View trash')}
           </a>
         </li>
         % else:
-        <li><a href="${url('filebrowser.views.view', path=urlencode(path))}?default_to_home"><i class="icon-home"></i> ${_('Home')}</a></li>
+        <li><a href="${url('filebrowser.views.view', path=urlencode(path))}?default_to_home"><i class="fa fa-home"></i> ${_('Home')}</a></li>
         <li>
             <ul class="hueBreadcrumb" style="padding-right:40px; padding-top: 12px">
                     % for breadcrumb_item in breadcrumbs:
@@ -53,7 +53,7 @@ from django.utils.translation import ugettext as _
         % endif
         % if not trash_enabled and is_superuser:
         <li id="trash-help" class="pull-right" style="width:30px;text-align:right;line-height:35px;">
-            <i class='icon-question-sign'></i>
+            <i class='fa fa-question-circle'></i>
         </li>
         % endif
     </ul>

+ 19 - 19
apps/filebrowser/src/filebrowser/templates/listdir.mako

@@ -38,65 +38,65 @@ ${ fb_components.menubar() }
 
         <%def name="actions()">
           <div class="btn-toolbar" style="display: inline; vertical-align: middle">
-            <button class="btn fileToolbarBtn" title="${_('Rename')}" data-bind="visible: !inTrash(), click: renameFile, enable: selectedFiles().length == 1"><i class="icon-font"></i> ${_('Rename')}</button>
-            <button class="btn fileToolbarBtn" title="${_('Move')}" data-bind="click: move, enable: selectedFiles().length > 0"><i class="icon-random"></i> ${_('Move')}</button>
-            <button class="btn fileToolbarBtn" title="${_('Copy')}" data-bind="click: copy, enable: selectedFiles().length > 0"><i class="icon-copy"></i> ${_('Copy')}</button>
+            <button class="btn fileToolbarBtn" title="${_('Rename')}" data-bind="visible: !inTrash(), click: renameFile, enable: selectedFiles().length == 1"><i class="fa fa-font"></i> ${_('Rename')}</button>
+            <button class="btn fileToolbarBtn" title="${_('Move')}" data-bind="click: move, enable: selectedFiles().length > 0"><i class="fa fa-random"></i> ${_('Move')}</button>
+            <button class="btn fileToolbarBtn" title="${_('Copy')}" data-bind="click: copy, enable: selectedFiles().length > 0"><i class="fa fa-files-o"></i> ${_('Copy')}</button>
             %if is_fs_superuser:
             <div id="ch-dropdown" class="btn-group" style="vertical-align: middle">
               <button href="#" class="btn dropdown-toggle" title="${_('Chown / Chmod')}" data-toggle="dropdown" data-bind="visible: !inTrash(), enable: selectedFiles().length > 0">
-                <i class="icon-user"></i> ${_('Chmod / Chown')}
+                <i class="fa fa-user"></i> ${_('Chmod / Chown')}
                 <span class="caret" style="line-height: 29px"></span>
               </button>
               <ul class="dropdown-menu" style="top: auto">
-                <li><a href="#" title="${_('Change owner/group')}" data-bind="visible: !inTrash(), click: changeOwner, enable: selectedFiles().length > 0"><i class="icon-user"></i> ${_('Change owner / group')}</a></li>
-                <li><a href="#" title="${_('Change permissions')}" data-bind="visible: !inTrash(), click: changePermissions, enable: selectedFiles().length > 0"><i class="icon-list-alt"></i> ${_('Change permissions')}</a></li>
+                <li><a href="#" title="${_('Change owner/group')}" data-bind="visible: !inTrash(), click: changeOwner, enable: selectedFiles().length > 0"><i class="fa fa-user"></i> ${_('Change owner / group')}</a></li>
+                <li><a href="#" title="${_('Change permissions')}" data-bind="visible: !inTrash(), click: changePermissions, enable: selectedFiles().length > 0"><i class="fa fa-list-alt"></i> ${_('Change permissions')}</a></li>
               </ul>
             </div>
             %else:
-              <button class="btn fileToolbarBtn" title="${_('Change permissions')}" data-bind="visible: !inTrash(), click: changePermissions, enable: selectedFiles().length > 0"><i class="icon-list-alt"></i> ${_('Change permissions')}</button>
+              <button class="btn fileToolbarBtn" title="${_('Change permissions')}" data-bind="visible: !inTrash(), click: changePermissions, enable: selectedFiles().length > 0"><i class="fa fa-list-alt"></i> ${_('Change permissions')}</button>
             %endif
-            <button class="btn fileToolbarBtn" title="${_('Download')}" data-bind="visible: !inTrash(), click: downloadFile, enable: selectedFiles().length == 1 && selectedFile().type == 'file'"><i class="icon-download-alt"></i> ${_('Download')}</button>
-            <button class="btn fileToolbarBtn" title="${_('Restore from trash')}" data-bind="visible: inRestorableTrash(), click: restoreTrashSelected, enable: selectedFiles().length > 0"><i class="icon-cloud-upload"></i> ${_('Restore')}</button>
+            <button class="btn fileToolbarBtn" title="${_('Download')}" data-bind="visible: !inTrash(), click: downloadFile, enable: selectedFiles().length == 1 && selectedFile().type == 'file'"><i class="fa fa-arrow-circle-o-down"></i> ${_('Download')}</button>
+            <button class="btn fileToolbarBtn" title="${_('Restore from trash')}" data-bind="visible: inRestorableTrash(), click: restoreTrashSelected, enable: selectedFiles().length > 0"><i class="fa fa-cloud-upload"></i> ${_('Restore')}</button>
             <!-- ko ifnot: inTrash -->
               <!-- ko if: trashEnabled -->
                 <div id="delete-dropdown" class="btn-group" style="vertical-align: middle">
-                  <button id="trash-btn" class="btn toolbarBtn" data-bind="enable: selectedFiles().length > 0, click: trashSelected"><i class="icon-remove"></i> ${_('Move to trash')}</button>
+                  <button id="trash-btn" class="btn toolbarBtn" data-bind="enable: selectedFiles().length > 0, click: trashSelected"><i class="fa fa-times"></i> ${_('Move to trash')}</button>
                   <button id="trash-btn-caret" class="btn toolbarBtn dropdown-toggle" data-toggle="dropdown" data-bind="enable: selectedFiles().length > 0">
                     <span class="caret"></span>
                   </button>
                   <ul class="dropdown-menu">
-                    <li><a href="#" class="delete-link" title="${_('Delete forever')}" data-bind="enable: selectedFiles().length > 0, click: deleteSelected"><i class="icon-bolt"></i> ${_('Delete forever')}</a></li>
+                    <li><a href="#" class="delete-link" title="${_('Delete forever')}" data-bind="enable: selectedFiles().length > 0, click: deleteSelected"><i class="fa fa-bolt"></i> ${_('Delete forever')}</a></li>
                   </ul>
                 </div>
               <!-- /ko -->
             <!-- /ko -->
             <!-- ko ifnot: trashEnabled -->
-              <button class="btn fileToolbarBtn delete-link" title="${_('Delete forever')}" data-bind="enable: selectedFiles().length > 0, click: deleteSelected"><i class="icon-bolt"></i> ${_('Delete forever')}</button>
+              <button class="btn fileToolbarBtn delete-link" title="${_('Delete forever')}" data-bind="enable: selectedFiles().length > 0, click: deleteSelected"><i class="fa fa-bolt"></i> ${_('Delete forever')}</button>
             <!-- /ko -->
           </div>
         </%def>
 
         <%def name="creation()">
-          <button class="btn fileToolbarBtn" title="${_('Empty trash')}" data-bind="visible: inTrash(), click: purgeTrash"><i class="icon-fire"></i> ${_('Empty trash')}</button>
+          <button class="btn fileToolbarBtn" title="${_('Empty trash')}" data-bind="visible: inTrash(), click: purgeTrash"><i class="fa fa-fire"></i> ${_('Empty trash')}</button>
           <div class="btn-toolbar" style="display: inline; vertical-align: middle">
             <div id="upload-dropdown" class="btn-group" style="vertical-align: middle">
               <a href="#" class="btn upload-link dropdown-toggle" title="${_('Upload')}" data-toggle="dropdown" data-bind="visible: !inTrash()">
-                <i class="icon-upload"></i> ${_('Upload')}
+                <i class="fa fa-arrow-circle-o-up"></i> ${_('Upload')}
                 <span class="caret"></span>
               </a>
               <ul class="dropdown-menu">
-                <li><a href="#" class="upload-link" title="${_('Files')}" data-bind="click: uploadFile"><i class="icon-file-alt"></i> ${_('Files')}</a></li>
-                <li><a href="#" class="upload-link" title="${_('Archive')}" data-bind="click: uploadArchive"><i class="icon-gift"></i> ${_('Zip file')}</a></li>
+                <li><a href="#" class="upload-link" title="${_('Files')}" data-bind="click: uploadFile"><i class="fa fa-file-o"></i> ${_('Files')}</a></li>
+                <li><a href="#" class="upload-link" title="${_('Archive')}" data-bind="click: uploadArchive"><i class="fa fa-gift"></i> ${_('Zip file')}</a></li>
               </ul>
             </div>
             <div class="btn-group" style="vertical-align: middle">
               <a href="#" data-toggle="dropdown" class="btn dropdown-toggle" data-bind="visible: !inTrash()">
-                <i class="icon-plus-sign"></i> ${_('New')}
+                <i class="fa fa-plus-circle"></i> ${_('New')}
                 <span class="caret"></span>
               </a>
               <ul class="dropdown-menu" style="top: auto">
-                <li><a href="#" class="create-file-link" title="${_('File')}"><i class="icon-file-alt"></i> ${_('File')}</a></li>
-                <li><a href="#" class="create-directory-link" title="${_('Directory')}"><i class="icon-folder-close"></i> ${_('Directory')}</a></li>
+                <li><a href="#" class="create-file-link" title="${_('File')}"><i class="fa fa-file-o"></i> ${_('File')}</a></li>
+                <li><a href="#" class="create-directory-link" title="${_('Directory')}"><i class="fa fa-folder"></i> ${_('Directory')}</a></li>
               </ul>
             </div>
           </div>

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

@@ -113,8 +113,8 @@ from django.utils.translation import ugettext as _
     <table class="table table-condensed datatables tablescroller-disable">
         <thead>
             <tr>
-                <th width="1%"><div data-bind="click: selectAll, css: {hueCheckbox: true, 'icon-ok': allSelected}"></div></th>
-                <th class="sortable sorting" data-sort="type" width="4%" data-bind="click: sort">Type</th>
+                <th width="1%"><div data-bind="click: selectAll, css: {hueCheckbox: true, 'fa': true, 'fa-check': allSelected}"></div></th>
+                <th class="sortable sorting" data-sort="type" width="1%" data-bind="click: sort">&nbsp;</th>
                 <th class="sortable sorting" data-sort="name" data-bind="click: sort">${_('Name')}</th>
                 <th class="sortable sorting" data-sort="size" width="10%" data-bind="click: sort">${_('Size')}</th>
                 <th class="sortable sorting" data-sort="user" width="10%" data-bind="click: sort">${_('User')}</th>
@@ -145,9 +145,9 @@ from django.utils.translation import ugettext as _
     <script id="fileTemplate" type="text/html">
         <tr style="cursor: pointer" data-bind="event: { mouseover: toggleHover, mouseout: toggleHover}">
             <td class="center" data-bind="click: handleSelect" style="cursor: default">
-                <div data-bind="visible: name != '.' && name != '..', css: {hueCheckbox: name != '.' && name != '..', 'icon-ok': selected}"></div>
+                <div data-bind="visible: name != '.' && name != '..', css: {hueCheckbox: name != '.' && name != '..', 'fa': name != '.' && name != '..', 'fa-check': selected}"></div>
             </td>
-            <td data-bind="click: $root.viewFile" class="left"><i data-bind="css: {'icon-file-alt': type == 'file', 'icon-folder-close': type != 'file', 'icon-folder-open': type != 'file' && hovered}"></i></td>
+            <td data-bind="click: $root.viewFile" class="left"><i data-bind="css: {'fa': true, 'fa-file-o': type == 'file', 'fa-folder': type != 'file', 'fa-folder-open': type != 'file' && hovered}"></i></td>
             <td data-bind="click: $root.viewFile, attr: {'title': tooltip}" rel="tooltip">
                 <strong><a href="#" data-bind="click: $root.viewFile, text: name"></a></strong>
             </td>

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

@@ -45,7 +45,7 @@ ${ commonheader(None, "hbase", user) | n,unicode }
   <table data-datasource="${datasource}" class="table table-striped table-condensed datatables tablescroller-disable" style="padding-left: 0;padding-right: 0">
       <thead>
         <tr>
-          <th width="1%"><div data-bind="click: ${datasource}.toggleSelectAll, css: {hueCheckbox: true,'icon-ok':${datasource}.selected().length == ${datasource}.items().length && ${datasource}.items().length>0}"></div></th>
+          <th width="1%"><div data-bind="click: ${datasource}.toggleSelectAll, css: {hueCheckbox: true, 'fa': true, 'fa-check':${datasource}.selected().length == ${datasource}.items().length && ${datasource}.items().length>0}"></div></th>
           <!-- ko foreach: ${datasource}.columns() -->
             <th data-bind="text:$data"></th> <!-- need to i18n first -->
           <!-- /ko -->
@@ -74,22 +74,22 @@ ${ 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="icon-check-sign" 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/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="icon-refresh"></i></button>
+          <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:
-            <button class="btn" data-bind="click: $data.drop, clickBubble: false" data-toggle="tooltip" title="${_('Delete Row')}"><i class="icon-trash"></i></button>
+            <button class="btn" data-bind="click: $data.drop, clickBubble: false" data-toggle="tooltip" title="${_('Delete Row')}"><i class="fa fa-trash-o"></i></button>
           % endif
         </span>
         <span class="smartview-row-controls pull-right">
-          <button class="btn" data-bind="click: $data.toggleSelectedCollapse, enable: $data.selected().length > 0, clickBubble: false" data-toggle="tooltip" title="${_('Toggle Collapse Selected')}"><i data-bind="css: { 'icon-resize-small': !$data.isCollapsed(), 'icon-resize-full': $data.isCollapsed() }"></i></button>
-          <button class="btn" data-bind="click: $data.toggleSelectAllVisible, enable: $data.displayedItems().length > 0, clickBubble: false" data-toggle="tooltip" title="${_('Select All Visible')}"><i class="icon-check"></i></button>
+          <button class="btn" data-bind="click: $data.toggleSelectedCollapse, enable: $data.selected().length > 0, clickBubble: false" data-toggle="tooltip" title="${_('Toggle Collapse Selected')}"><i data-bind="css: { 'fa': true, 'fa-resize-small': !$data.isCollapsed(), 'fa-resize-full': $data.isCollapsed() }"></i></button>
+          <button class="btn" data-bind="click: $data.toggleSelectAllVisible, enable: $data.displayedItems().length > 0, clickBubble: false" data-toggle="tooltip" title="${_('Select All Visible')}"><i class="fa fa-check-square-o"></i></button>
           <input type="text" placeholder="${('Filter Column Names/Family')}" data-bind="value: $data.searchQuery, valueUpdate: $data.items().length < 100 ? 'afterkeydown' : 'change', clickBubble: false"/>
           ${sortBtn('$data.sortDropDown')}
           % if user.is_superuser:
-            <button class="btn" data-bind="enable: $data.selected().length > 0, click: $data.dropSelected, clickBubble: false"><i class="icon-trash"></i> Drop Columns</button>
+            <button class="btn" data-bind="enable: $data.selected().length > 0, click: $data.dropSelected, clickBubble: false"><i class="fa fa-trash-o"></i> Drop Columns</button>
           % endif
-          <a href="#new_column_modal" data-bind="click:function(){app.focusModel($data);launchModal('new_column_modal', $data);}" class="btn" title="${_('Add New Column/Cell')}"><i class="icon-plus"></i></a>
+          <a href="#new_column_modal" data-bind="click:function(){app.focusModel($data);launchModal('new_column_modal', $data);}" class="btn" title="${_('Add New Column/Cell')}"><i class="fa fa-plus"></i></a>
         </span>
       </h5>
       <ul class="smartview-cells" data-bind="event: {scroll: onScroll}">
@@ -97,11 +97,11 @@ ${ commonheader(None, "hbase", user) | n,unicode }
         <li data-bind="css: {'active': $data.isSelected()}, click: $data.select">
           <div>
             <h6><span class="label" data-bind="text: $data.name.split(':')[0]+':', style: {'backgroundColor': stringHashColor($data.name.split(':')[0])}"></span> <span data-bind="text: $data.name.split(':')[1]"></span></h6>
-            <span class="timestamp label"><i class='icon-time'></i> <span data-bind="text: convertTimestamp($data.timestamp)"></span></span>
+            <span class="timestamp label"><i class='fa fa-clock-o'></i> <span data-bind="text: convertTimestamp($data.timestamp)"></span></span>
             % if user.is_superuser:
-              <a class="corner-btn btn" data-bind="click: $data.drop, clickBubble: false"><i class="icon-trash"></i></a>
+              <a class="corner-btn btn" data-bind="click: $data.drop, clickBubble: false"><i class="fa fa-trash-o"></i></a>
             % endif
-            <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="icon-pencil"></i> ${_('Full Editor')}</a>
+            <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: $data.value().length > 146 ? function(){launchModal('cell_edit_modal',{content:$data, mime: detectMimeType($data.value())})} : function(){$data.editing(true)}, 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() " />
@@ -113,7 +113,7 @@ ${ commonheader(None, "hbase", user) | n,unicode }
   </div>
   <br/>
   <center data-bind="visible: ${datasource}.isLoading()">
-  <!--[if !IE]><!--><i class="icon-spinner icon-spin loader-main"></i><!--<![endif]-->
+  <!--[if !IE]><!--><i class="fa fa-spinner fa-spin loader-main"></i><!--<![endif]-->
   <!--[if IE]><img src="/hbase/static/art/loader.gif" /><![endif]-->
   </center>
   <div class="alert" data-bind="visible: ${datasource}.items().length == 0 && !${datasource}.isLoading()">
@@ -164,15 +164,15 @@ ${ commonheader(None, "hbase", user) | n,unicode }
         <input type="text" class="input-large search-query" placeholder="${_('Search for Table Name')}" data-bind="value: views.tables.searchQuery, valueUpdate: 'afterkeydown'">
         % if user.is_superuser:
           <span class="btn-group">
-            <button class="btn" data-bind="enable: views.tables.canEnable, click: views.tables.enableSelected"><i class="icon-check-sign"></i> ${_('Enable')}</button>
+            <button class="btn" data-bind="enable: views.tables.canEnable, click: views.tables.enableSelected"><i class="fa fa-check-square"></i> ${_('Enable')}</button>
             <button class="btn" data-bind="enable: views.tables.canDisable, click: views.tables.disableSelected">
-              <i class="icon-check-empty"></i> ${_('Disable')}
+              <i class="fa fa-square-o"></i> ${_('Disable')}
             </button>
           </span>
-          <button class="btn" data-bind="enable: views.tables.selected().length > 0, click: views.tables.dropSelected"><i class="icon-trash"></i> ${_('Drop')}</button>
+          <button class="btn" data-bind="enable: views.tables.selected().length > 0, click: views.tables.dropSelected"><i class="fa fa-trash-o"></i> ${_('Drop')}</button>
         % endif
         <span class="pull-right">
-          <a href="#new_table_modal" role="button" data-bind="click: function(){app.focusModel(app.views.tables);}" class="btn" data-toggle="modal"><i class='icon-plus-sign'></i> ${_('New Table')}</a>
+          <a href="#new_table_modal" role="button" data-bind="click: function(){app.focusModel(app.views.tables);}" class="btn" data-toggle="modal"><i class='fa fa-plus-circle'></i> ${_('New Table')}</a>
         </span>
       </div>
     </div>
@@ -181,9 +181,9 @@ ${ commonheader(None, "hbase", user) | n,unicode }
 
     <script id="itemTemplate" type="text/html">
       <tr>
-        <td><div data-bind="click: $data.select, css: {hueCheckbox: true,'icon-ok':$data.isSelected}" data-row-selector-exclude="true"></div></td>
+        <td><div data-bind="click: $data.select, css: {hueCheckbox: true,'fa': true, 'fa-check':$data.isSelected}" data-row-selector-exclude="true"></div></td>
         <td width="90%"><a data-bind="text:$data.name,attr: {href: '#'+app.cluster()+'/'+$data.name}" data-row-selector="true"></a></td>
-        <td width="5%"><i data-bind="click: $data.toggle, css: {'icon-check-sign':$data.enabled, 'icon-check-empty':$data.enabled != true}" data-row-selector-exclude="true"></i></td>
+        <td width="5%"><i data-bind="click: $data.toggle, css: {'fa': true, 'fa-check-square':$data.enabled, 'fa-square-o':$data.enabled != true}" data-row-selector-exclude="true"></i></td>
       </tr>
     </script>
 
@@ -200,7 +200,7 @@ ${ commonheader(None, "hbase", user) | n,unicode }
         <ul>
           <li><input type="text" name="table_columns" placeholder="family_name"></li>
         </ul>
-        <a class="btn action_addColumn"><i class="icon-plus-sign"></i> ${_('Additional Column Family')}</a>
+        <a class="btn action_addColumn"><i class="fa fa-plus-circle"></i> ${_('Additional Column Family')}</a>
       </div>
       <div class="modal-footer">
         <button class="btn" data-dismiss="modal" aria-hidden="true">${_('Cancel')}</button>
@@ -215,7 +215,7 @@ ${ commonheader(None, "hbase", user) | n,unicode }
       <div class="container-fluid">
         <div class="row-fluid">
           <div id="searchbar-main" class="span5" data-bind="click: search.clickTagBar">
-            <a class="search-remove" data-bind="visible: search.cur_input() != '', click: function(){ app.search.cur_input(''); app.search.focused(true) }"><i class="icon-remove-sign"></i></a>
+            <a class="search-remove" data-bind="visible: search.cur_input() != '', click: function(){ app.search.cur_input(''); app.search.focused(true) }"><i class="fa fa-times-circle"></i></a>
             <div id="search-tags" contenteditable="true" data-bind="editableText: search.cur_input, hasfocus: search.focused, css: { 'active': search.cur_input() != '' }, event: { 'keydown': search.onKeyDown, click: search.updateMenu.bind(null) }" data-placeholder="${_('row_key, row_prefix* +scan_len [col1, family:col2, fam3:, col_prefix* +3, fam: col2 to col3] {Filter1() AND Filter2()}')}">
             </div>
           </div>
@@ -231,23 +231,23 @@ ${ commonheader(None, "hbase", user) | n,unicode }
             <li class="search-suggestion" data-bind="event: { mousedown: app.search.replaceFocusNode.bind(null, $data) }, css: {active: app.search.activeSuggestion() == $index()}"><a><span data-bind="text: $data"></span></a></li>
             <!-- /ko -->
           </ul>
-          <button class="btn btn-primary add-on" data-bind="enabled: !search.submitted(), click: search.evaluate.bind(null)"><i class="icon-search"></i></button>
+          <button class="btn btn-primary add-on" data-bind="enabled: !search.submitted(), click: search.evaluate.bind(null)"><i class="fa fa-search"></i></button>
           <span id="column-family-selectors">
             <!-- ko foreach: views.tabledata.columnFamilies() -->
               <span class="label" data-bind="text: $data.name, style: {'backgroundColor': ($data.enabled()) ? stringHashColor($data.name.split(':')[0]) : '#ccc' ,'cursor':'pointer'}, click: $data.toggle"></span>
             <!-- /ko -->
            </span>
             <span class="pull-right">
-              <button class="btn" data-bind="click: function(){views.tabledata.showGrid(!views.tabledata.showGrid());}, clickBubble: false" data-toggle="tooltip" title="${_('Toggle Grid')}"><i class="icon-table"></i></button>
+              <button class="btn" data-bind="click: function(){views.tabledata.showGrid(!views.tabledata.showGrid());}, clickBubble: false" data-toggle="tooltip" title="${_('Toggle Grid')}"><i class="fa fa-table"></i></button>
               <input type="text" placeholder="Filter Columns/Families" style="margin-left: 5px;" data-bind="value: app.views.tabledata.columnQuery, clickBubble: false"/>
-              <button class="btn" data-bind="click: views.tabledata.toggleSelectAll" style="margin-left: 5px;" data-toggle="tooltip" title="${_('Toggle Select All Rows')}"><i class="icon-check-sign"></i> ${_('All')}</button>
+              <button class="btn" data-bind="click: views.tabledata.toggleSelectAll" style="margin-left: 5px;" data-toggle="tooltip" title="${_('Toggle Select All Rows')}"><i class="fa fa-check-square"></i> ${_('All')}</button>
               ${sortBtn('views.tabledata.sortDropDown')}
             </span>
             <span class="smartview-row-controls pull-right" data-bind="if: views.tabledata.items().length > 0 && views.tabledata.selected().length > 0">
-              <button class="btn" data-bind="click: views.tabledata.batchSelectedAlias.bind(null, 'toggleSelectedCollapse'), clickBubble: false" data-toggle="tooltip" title="${_('Toggle Collapse Selected')}"><i class="icon-resize-small"></i></button>
-              <button class="btn" data-bind="click: views.tabledata.batchSelectedAlias.bind(null, 'toggleSelectAllVisible'), clickBubble: false" data-toggle="tooltip" title="${_('Select All Visible')}"><i class="icon-check"></i></button>
+              <button class="btn" data-bind="click: views.tabledata.batchSelectedAlias.bind(null, 'toggleSelectedCollapse'), clickBubble: false" data-toggle="tooltip" title="${_('Toggle Collapse Selected')}"><i class="fa fa-resize-small"></i></button>
+              <button class="btn" data-bind="click: views.tabledata.batchSelectedAlias.bind(null, 'toggleSelectAllVisible'), clickBubble: false" data-toggle="tooltip" title="${_('Select All Visible')}"><i class="fa fa-check-square-o"></i></button>
               % if user.is_superuser:
-                <button class="btn" data-bind="enable: views.tabledata.items()[0].selected().length > 0, click: views.tabledata.items()[0].dropSelected, clickBubble: false"><i class="icon-trash"></i> ${_('Drop Columns')}</button>
+                <button class="btn" data-bind="enable: views.tabledata.items()[0].selected().length > 0, click: views.tabledata.items()[0].dropSelected, clickBubble: false"><i class="fa fa-trash-o"></i> ${_('Drop Columns')}</button>
               % endif
             </span>
         </div>
@@ -276,10 +276,10 @@ ${ commonheader(None, "hbase", user) | n,unicode }
           </div>
           <span class="pull-right">
             % if user.is_superuser:
-              <a class="btn" data-bind="enable: views.tabledata.selected().length > 0, click: views.tabledata.dropSelected"><i class="icon-trash"></i> ${_('Drop Rows')}</a>
+              <a class="btn" data-bind="enable: views.tabledata.selected().length > 0, click: views.tabledata.dropSelected"><i class="fa fa-trash-o"></i> ${_('Drop Rows')}</a>
             % endif
-            <a id="bulk-upload-btn" class="btn fileChooserBtn" data-toggle="tooltip" title="${_('.CSV, .TSV, etc...')}" aria-hidden="true"><i class="icon-upload"></i> ${_('Bulk Upload')}</a>
-            <a href="#new_row_modal" data-bind="click:function(){app.focusModel(app.views.tabledata);launchModal('new_row_modal')}" role="button" class="btn btn-primary" data-callback=""><i class='icon-plus-sign'></i> ${_('New Row')}</a>
+            <a id="bulk-upload-btn" class="btn fileChooserBtn" data-toggle="tooltip" title="${_('.CSV, .TSV, etc...')}" aria-hidden="true"><i class="fa fa-upload"></i> ${_('Bulk Upload')}</a>
+            <a href="#new_row_modal" data-bind="click:function(){app.focusModel(app.views.tabledata);launchModal('new_row_modal')}" role="button" class="btn btn-primary" data-callback=""><i class='fa fa-plus-circle'></i> ${_('New Row')}</a>
           </span>
         </div>
     </div>
@@ -299,7 +299,7 @@ ${ commonheader(None, "hbase", user) | n,unicode }
         <input type="text" name="row_key" placeholder="row_key">
         <input type="hidden" name="column_data" data-subscribe="#new_row_field_list"/>
         <ul id="new_row_field_list"></ul>
-        <a class="btn action_addColumnValue"><i class="icon-plus-sign"></i> ${_('Add Field')}</a>
+        <a class="btn action_addColumnValue"><i class="fa fa-plus-circle"></i> ${_('Add Field')}</a>
       </div>
       <div class="modal-footer">
         <button class="btn" data-dismiss="modal" aria-hidden="true">${_('Cancel')}</button>
@@ -326,7 +326,7 @@ ${ commonheader(None, "hbase", user) | n,unicode }
         </div>
         <div class="modal-footer">
           <button class="btn" data-dismiss="modal" aria-hidden="true">${_('Cancel')}</button>
-          <a id="column-upload-btn" class="btn fileChooserBtn" aria-hidden="true"><i class="icon-upload"></i> ${_('Upload')}</a>
+          <a id="column-upload-btn" class="btn fileChooserBtn" aria-hidden="true"><i class="fa fa-upload"></i> ${_('Upload')}</a>
           <input type="submit" class="btn btn-primary" value="Submit">
         </div>
     </script>
@@ -338,7 +338,7 @@ ${ commonheader(None, "hbase", user) | n,unicode }
     <script id="cell_edit_modal_template" type="text/html">
       <div class="modal-header">
         <button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;</button>
-        <h3>Edit Cell - <span data-bind="text: content.name || formatTimestamp(content.timestamp)"></span> <code data-bind="text: mime"></code> <small><i class="icon-time"></i> <span data-bind="text: $data.content.timestamp"></span></small></h3>
+        <h3>Edit Cell - <span data-bind="text: content.name || formatTimestamp(content.timestamp)"></span> <code data-bind="text: mime"></code> <small><i class="fa fa-clock-o"></i> <span data-bind="text: $data.content.timestamp"></span></small></h3>
       </div>
       <div class="modal-body container-fluid">
           <div class="row-fluid">
@@ -367,7 +367,7 @@ ${ commonheader(None, "hbase", user) | n,unicode }
       <div class="modal-footer" data-bind="if: !$data.readonly">
         % if user.is_superuser:
           <button class="btn" data-dismiss="modal" aria-hidden="true">${_('Cancel')}</button>
-          <button id="file-upload-btn" class="btn fileChooserBtn" aria-hidden="true"><i class="icon-upload"></i> ${_('Upload')}</button>
+          <button id="file-upload-btn" class="btn fileChooserBtn" aria-hidden="true"><i class="fa fa-upload"></i> ${_('Upload')}</button>
           <input type="submit" class="btn btn-primary" value="${_('Save')}">
         % else:
           <button class="btn" data-dismiss="modal" aria-hidden="true">${_('OK')}</button>

+ 1 - 1
apps/hbase/static/css/hbase.css

@@ -568,7 +568,7 @@ textarea {
   border-top-left-radius: 0;
   height: auto;
   display: inline-block;
-  padding: 3px 12px 3px 8px;
+  padding: 8px 12px 9px 8px;
 }
 
 .add-on i {

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

@@ -42,7 +42,7 @@
                 <td data-row-selector-exclude="true">
                 %if task.taskAttemptIds:
                     <a href="${ url('jobbrowser.views.single_task_attempt_logs', job=task.jobId, taskid=task.taskId, attemptid=task.taskAttemptIds[-1]) }"
-                        data-row-selector="true"><i class="icon-tasks"></i>
+                        data-row-selector="true"><i class="fa fa-tasks"></i>
                     </a>
                 %endif
                 </td>
@@ -123,7 +123,7 @@ ${ comps.menubar() }
           <li class="nav-header">${_('Status')}</li>
           <li class="white" id="jobStatus">&nbsp;</li>
           <li class="nav-header">${_('Logs')}</li>
-          <li><a href="${ url('jobbrowser.views.job_single_logs', job=job.jobId) }"><i class="icon-tasks"></i> ${_('Logs')}</a></li>
+          <li><a href="${ url('jobbrowser.views.job_single_logs', job=job.jobId) }"><i class="fa fa-tasks"></i> ${_('Logs')}</a></li>
           % if not job.is_retired:
           <li class="nav-header">${_('Maps:')}</li>
           <li class="white" id="jobMaps">&nbsp;</li>
@@ -144,7 +144,7 @@ ${ comps.menubar() }
             % if location_url != None:
             <a href="${location_url}" title="${output_dir}">
             % endif
-            <i class="icon-folder-open"></i> ${dir_name}
+            <i class="fa fa-folder-open"></i> ${dir_name}
             % if location_url != None:
             </a>
             % endif
@@ -187,7 +187,7 @@ ${ comps.menubar() }
                       <tr>
                         <td>
                           <a href="${ url('jobbrowser.views.job_attempt_logs', job=job.jobId, attempt_index=loop.index) }" data-row-selector="true">
-                            <i class="icon-tasks"></i>
+                            <i class="fa fa-tasks"></i>
                           </a>
                         </td>
                         <td>${ attempt['id'] }</td>
@@ -449,7 +449,7 @@ $(document).ready(function () {
       $(".killJob").hide();
     }
     $("#killJobContainer").html(killCell);
-    $("#jobStatus").html('<span class="label ' + getStatusClass(job.status) + '">' + (job.isRetired && !job.isMR2 ? '<i class="icon-briefcase icon-white" title="${ _('Retired') }"></i> ' : '') + job.status + '</span>');
+    $("#jobStatus").html('<span class="label ' + getStatusClass(job.status) + '">' + (job.isRetired && !job.isMR2 ? '<i class="fa fa-briefcase fa fa-white" title="${ _('Retired') }"></i> ' : '') + job.status + '</span>');
     if (job.desiredMaps > 0) {
       $("#jobMaps").html((job.isRetired ? '${_('N/A')}' : '<div class="progress" style="width:100px" title="' + (job.isMR2 ? job.mapsPercentComplete : job.finishedMaps + '/' + job.desiredMaps) + '"><div class="bar-label">' + job.mapsPercentComplete + '%</div><div class="' + 'bar ' + getStatusClass(job.status, "bar-") + '" style="margin-top:-20px;width:' + job.mapsPercentComplete + '%"></div></div>'));
     }
@@ -519,7 +519,7 @@ $(document).ready(function () {
 
   function getTaskRow(task) {
     return [
-      '<a href="' + emptyStringIfNull(task.logs) + '" data-row-selector-exclude="true"><i class="icon-tasks"></i></a>',
+      '<a href="' + emptyStringIfNull(task.logs) + '" data-row-selector-exclude="true"><i class="fa fa-tasks"></i></a>',
       '<a href="' + emptyStringIfNull(task.url) + '" title="${_('View this task')}" data-row-selector="true">' + emptyStringIfNull(task.shortId) + '</a>',
       emptyStringIfNull(task.type)
     ]

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

@@ -50,7 +50,7 @@ ${ comps.menubar() }
               <br/>
               <br/>
 
-              <!--[if !IE]><!--><i class="icon-spinner icon-spin" style="font-size: 60px; color: #DDD"></i><!--<![endif]-->
+              <!--[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]-->
             </p>
       </div>

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

@@ -185,7 +185,7 @@
     additional_class = get_bootstrap_class(job, 'label')
     %>
     % if job.is_retired and not job.is_mr2:
-        <span class="label ${additional_class}"><i class="icon-briefcase icon-white" title="${ _('Retired') }"></i> ${job.status.lower()}</span>
+        <span class="label ${additional_class}"><i class="fa fa-briefcase" style="color: #FFFFFF" title="${ _('Retired') }"></i> ${job.status.lower()}</span>
     % else:
         <span class="label ${additional_class}">${job.status.lower()}</span>
     % endif

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

@@ -55,7 +55,7 @@ ${ components.menubar() }
     </%def>
   </%actionbar:render>
 
-  <div id="noJobs" class="alert"><i class="icon-warning-sign"></i>&nbsp; ${_('There are no jobs that match your search criteria.')}</div>
+  <div id="noJobs" class="alert"><i class="fa fa-exclamation-triangle"></i>&nbsp; ${_('There are no jobs that match your search criteria.')}</div>
 
   <table id="jobsTable" class="datatables table table-condensed">
     <thead>
@@ -229,10 +229,10 @@ ${ components.menubar() }
                 '>${ _('Kill') }</a>';
       }
       return [
-        '<a href="' + emptyStringIfNull(job.logs) + '" data-row-selector-exclude="true"><i class="icon-tasks"></i></a>',
+        '<a href="' + emptyStringIfNull(job.logs) + '" data-row-selector-exclude="true"><i class="fa fa-tasks"></i></a>',
         '<a href="' + emptyStringIfNull(job.url) + '" title="${_('View this job')}" data-row-selector="true">' + emptyStringIfNull(job.shortId) + '</a>',
         emptyStringIfNull(job.name),
-        '<span class="label ' + getStatusClass(job.status) + '">' + (job.isRetired && !job.isMR2 ? '<i class="icon-briefcase icon-white" title="${ _('Retired') }"></i> ' : '') + job.status + '</span>',
+        '<span class="label ' + getStatusClass(job.status) + '">' + (job.isRetired && !job.isMR2 ? '<i class="fa fa-briefcase fa fa-white" title="${ _('Retired') }"></i> ' : '') + job.status + '</span>',
         emptyStringIfNull(job.user),
         '<span title="' + emptyStringIfNull(job.mapsPercentComplete) + '">' + (job.isRetired ? '${_('N/A')}' : '<div class="progress" title="' + (job.isMR2 ? job.mapsPercentComplete : job.finishedMaps + '/' + job.desiredMaps) + '"><div class="bar-label">' + job.mapsPercentComplete + '%</div><div class="' + 'bar ' + getStatusClass(job.status, "bar-") + '" style="margin-top:-20px;width:' + job.mapsPercentComplete + '%"></div></div>') + '</span>',
         '<span title="' + emptyStringIfNull(job.reducesPercentComplete) + '">' + (job.isRetired ? '${_('N/A')}' : '<div class="progress" title="' + (job.isMR2 ? job.reducesPercentComplete : job.finishedReduces + '/' + job.desiredReduces) + '"><div class="bar-label">' + job.reducesPercentComplete + '%</div><div class="' + 'bar ' + getStatusClass(job.status, "bar-") + '" style="margin-top:-20px;width:' + job.reducesPercentComplete + '%"></div></div>') + '</span>',

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

@@ -79,7 +79,7 @@ ${ comps.menubar() }
                   <tbody>
                   % for attempt in task.attempts:
                     <tr>
-                      <td data-row-selector-exclude="true"><a href="${ url('jobbrowser.views.single_task_attempt_logs', job=joblnk.jobId, taskid=task.taskId, attemptid=attempt.attemptId) }" data-row-selector-exclude="true"><i class="icon-tasks"></i></a></td>
+                      <td data-row-selector-exclude="true"><a href="${ url('jobbrowser.views.single_task_attempt_logs', job=joblnk.jobId, taskid=task.taskId, attemptid=attempt.attemptId) }" data-row-selector-exclude="true"><i class="fa fa-tasks"></i></a></td>
                       <td><a title="${_('View this attempt')}" href="${ url('jobbrowser.views.single_task_attempt', job=joblnk.jobId, taskid=task.taskId, attemptid=attempt.attemptId) }" data-row-selector="true">${attempt.attemptId_short}</a></td>
                       <td>${"%d" % (attempt.progress * 100)}%</td>
                       <td><span class="status_link ${attempt.state}">${attempt.state}</span></td>

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

@@ -85,7 +85,7 @@ ${ comps.menubar() }
         <tr>
           <td data-row-selector-exclude="true">
               %if t.taskAttemptIds:
-              <a href="${ url('jobbrowser.views.single_task_attempt_logs', job=t.jobId, taskid=t.taskId, attemptid=t.taskAttemptIds[-1]) }" data-row-selector-exclude="true"><i class="icon-tasks"></i></a>
+              <a href="${ url('jobbrowser.views.single_task_attempt_logs', job=t.jobId, taskid=t.taskId, attemptid=t.taskAttemptIds[-1]) }" data-row-selector-exclude="true"><i class="fa fa-tasks"></i></a>
               %endif
           </td>
           <td>${t.taskId_short}</td>

+ 1 - 1
apps/jobbrowser/static/help/index.html

@@ -58,7 +58,7 @@
 
     <div class="body conbody">
 
-      <p class="p">Click the <strong class="ph b">Job Browser</strong> icon (<i class="icon-list-alt"></i>) in the navigation bar at the top of the Hue web page. </p>
+      <p class="p">Click the <strong class="ph b">Job Browser</strong> icon (<i class="fa fa-list-alt"></i>) in the navigation bar at the top of the Hue web page. </p>
 
 
       <p class="p">

+ 1 - 1
apps/jobbrowser/static/js/utils.js

@@ -124,7 +124,7 @@ function hellipsify() {
       })
       $(this).html(_oText.substr(0, MAX_LENGTH - 1) + "&hellip;&nbsp;");
       var _eye = $("<button class='nochrome btn-small'></button>");
-      _eye.html("<i class='icon-eye-open'></i>");
+      _eye.html("<i class='fa fa-eye'></i>");
       _eye.css("cursor", "pointer");
       _eye.on("click", function (e) {
         e.stopImmediatePropagation();

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

@@ -70,22 +70,22 @@ ${ commonheader(None, "jobsub", user) | n,unicode }
     <%def name="actions()">
       <div class="btn-toolbar" style="display: inline; vertical-align: middle">
       <!-- ko ifnot: inTrash -->
-        <button id="submit-design" class="btn" title="${_('Submit')}" data-bind="enable: selectedDesignObjects().length == 1"><i class="icon-play"></i> ${_('Submit')}</button>
-        <button id="edit-design" class="btn" title="${_('Edit')}" data-bind="enable: selectedDesignObjects().length == 1"><i class="icon-pencil"></i> ${_('Edit')}</button>
-        <button id="copy-designs" class="btn" title="${_('Copy')}" data-bind="enable: selectedDesignObjects().length > 0"><i class="icon-copy"></i> ${_('Copy')}</button>
+        <button id="submit-design" class="btn" title="${_('Submit')}" data-bind="enable: selectedDesignObjects().length == 1"><i class="fa fa-play"></i> ${_('Submit')}</button>
+        <button id="edit-design" class="btn" title="${_('Edit')}" data-bind="enable: selectedDesignObjects().length == 1"><i class="fa fa-pencil"></i> ${_('Edit')}</button>
+        <button id="copy-designs" class="btn" title="${_('Copy')}" data-bind="enable: selectedDesignObjects().length > 0"><i class="fa fa-files-o"></i> ${_('Copy')}</button>
         <div id="delete-dropdown" class="btn-group" style="vertical-align: middle">
-          <button id="trash-designs" class="btn" data-bind="enable: selectedDesignObjects().length > 0"><i class="icon-remove"></i> ${_('Move to trash')}</button>
+          <button id="trash-designs" class="btn" data-bind="enable: selectedDesignObjects().length > 0"><i class="fa fa-times"></i> ${_('Move to trash')}</button>
           <button class="btn dropdown-toggle" data-toggle="dropdown" data-bind="enable: selectedDesignObjects().length > 0">
             <span class="caret"></span>
           </button>
           <ul class="dropdown-menu">
-            <li><a href="javascript:void(0);" id="destroy-designs" title="${_('Delete forever')}"><i class="icon-bolt"></i> ${_('Delete forever')}</a></li>
+            <li><a href="javascript:void(0);" id="destroy-designs" title="${_('Delete forever')}"><i class="fa fa-bolt"></i> ${_('Delete forever')}</a></li>
           </ul>
         </div>
       <!-- /ko -->
       <!-- ko if: inTrash -->
-        <button id="restore-designs" disabled="disabled" class="btn" title="${_('Restore')}" data-bind="enable: selectedDesignObjects().length > 0"><i class="icon-cloud-upload"></i> ${_('Restore')}</button>
-        <button id="destroy-designs" disabled="disabled" class="btn" title="${_('Delete forever')}" data-bind="enable: selectedDesignObjects().length > 0"><i class="icon-bolt"></i> ${_('Delete forever')}</button>
+        <button id="restore-designs" disabled="disabled" class="btn" title="${_('Restore')}" data-bind="enable: selectedDesignObjects().length > 0"><i class="fa fa-cloud-upload"></i> ${_('Restore')}</button>
+        <button id="destroy-designs" disabled="disabled" class="btn" title="${_('Delete forever')}" data-bind="enable: selectedDesignObjects().length > 0"><i class="fa fa-bolt"></i> ${_('Delete forever')}</button>
       <!-- /ko -->
       </div>
     </%def>
@@ -93,54 +93,54 @@ ${ commonheader(None, "jobsub", user) | n,unicode }
     <%def name="creation()">
       <div class="btn-toolbar" style="display: inline; vertical-align: middle">
       <!-- ko if: inTrash -->
-        <button disabled="disabled" type="button" id="purge-trashed-designs" class="btn" title="${ _('Delete all the designs') }"><i class="icon-fire"></i> ${ _('Empty trash') }</button>
+        <button disabled="disabled" type="button" id="purge-trashed-designs" class="btn" title="${ _('Delete all the designs') }"><i class="fa fa-fire"></i> ${ _('Empty trash') }</button>
         &nbsp;&nbsp;
       <!-- /ko -->
-      <button id="home" class="btn" title="${_('Home')}" data-bind="visible: isEditing"><i class="icon-home"></i> ${_('View designs')}</button>
+      <button id="home" class="btn" title="${_('Home')}" data-bind="visible: isEditing"><i class="fa fa-home"></i> ${_('View designs')}</button>
       <!-- ko ifnot: inTrash -->
         <div id="new-action-dropdown" class="btn-group" style="vertical-align: middle">
           <a href="#" class="btn new-action-link dropdown-toggle" title="${_('New action')}" data-toggle="dropdown">
-            <i class="icon-plus-sign"></i> ${_('New action')}
+            <i class="fa fa-plus-circle"></i> ${_('New action')}
             <span class="caret"></span>
           </a>
           <ul class="dropdown-menu" style="top: auto">
             <li>
-              <a href="#new-design/mapreduce" class="new-node-link" title="${_('Create MapReduce design')}" rel="tooltip"><i class="icon-plus-sign"></i> MapReduce</a>
+              <a href="#new-design/mapreduce" class="new-node-link" title="${_('Create MapReduce design')}" rel="tooltip"><i class="fa fa-plus-circle"></i> MapReduce</a>
             </li>
             <li>
-              <a href="#new-design/java" class="new-node-link" title="${_('Create Java design')}" rel="tooltip"><i class="icon-plus-sign"></i> Java</a>
+              <a href="#new-design/java" class="new-node-link" title="${_('Create Java design')}" rel="tooltip"><i class="fa fa-plus-circle"></i> Java</a>
             </li>
             <li>
-              <a href="#new-design/streaming" class="new-node-link" title="${_('Create Streaming design')}" rel="tooltip"><i class="icon-plus-sign"></i> Streaming</a>
+              <a href="#new-design/streaming" class="new-node-link" title="${_('Create Streaming design')}" rel="tooltip"><i class="fa fa-plus-circle"></i> Streaming</a>
             </li>
             <li>
-              <a href="#new-design/hive" class="new-node-link" title="${_('Create Hive design')}" rel="tooltip"><i class="icon-plus-sign"></i> Hive</a>
+              <a href="#new-design/hive" class="new-node-link" title="${_('Create Hive design')}" rel="tooltip"><i class="fa fa-plus-circle"></i> Hive</a>
             </li>
             <li>
-              <a href="#new-design/pig" class="new-node-link" title="${_('Create Pig design')}" rel="tooltip"><i class="icon-plus-sign"></i> Pig</a>
+              <a href="#new-design/pig" class="new-node-link" title="${_('Create Pig design')}" rel="tooltip"><i class="fa fa-plus-circle"></i> Pig</a>
             </li>
             <li>
-              <a href="#new-design/sqoop" class="new-node-link" title="${_('Create Sqoop design')}" rel="tooltip"><i class="icon-plus-sign"></i> Sqoop</a>
+              <a href="#new-design/sqoop" class="new-node-link" title="${_('Create Sqoop design')}" rel="tooltip"><i class="fa fa-plus-circle"></i> Sqoop</a>
             </li>
             <li>
-              <a href="#new-design/fs" class="new-node-link" title="${_('Create Fs design')}" rel="tooltip"><i class="icon-plus-sign"></i> Fs</a>
+              <a href="#new-design/fs" class="new-node-link" title="${_('Create Fs design')}" rel="tooltip"><i class="fa fa-plus-circle"></i> Fs</a>
             </li>
             <li>
-              <a href="#new-design/ssh" class="new-node-link" title="${_('Create SSH design')}" rel="tooltip"><i class="icon-plus-sign"></i> Ssh</a>
+              <a href="#new-design/ssh" class="new-node-link" title="${_('Create SSH design')}" rel="tooltip"><i class="fa fa-plus-circle"></i> Ssh</a>
             </li>
             <li>
-              <a href="#new-design/shell" class="new-node-link" title="${_('Create Shell design')}" rel="tooltip"><i class="icon-plus-sign"></i> Shell</a>
+              <a href="#new-design/shell" class="new-node-link" title="${_('Create Shell design')}" rel="tooltip"><i class="fa fa-plus-circle"></i> Shell</a>
             </li>
             <li>
-              <a href="#new-design/email" class="new-node-link" title="${_('Create Email design')}" rel="tooltip"><i class="icon-plus-sign"></i> Email</a>
+              <a href="#new-design/email" class="new-node-link" title="${_('Create Email design')}" rel="tooltip"><i class="fa fa-plus-circle"></i> Email</a>
             </li>
             <li>
-              <a href="#new-design/distcp" class="new-node-link" title="${_('Create DistCp design')}" rel="tooltip"><i class="icon-plus-sign"></i> DistCp</a>
+              <a href="#new-design/distcp" class="new-node-link" title="${_('Create DistCp design')}" rel="tooltip"><i class="fa fa-plus-circle"></i> DistCp</a>
             </li>
           </ul>
         </div>
         &nbsp;&nbsp;
-        <a href="#trashed-designs" class="btn"><i class="icon-trash"></i> ${ _('View trash') }</a>
+        <a href="#trashed-designs" class="btn"><i class="fa fa-trash-o"></i> ${ _('View trash') }</a>
       <!-- /ko -->
 
       </div>
@@ -154,7 +154,7 @@ ${ commonheader(None, "jobsub", user) | n,unicode }
       <thead>
         <tr>
           <th width="1%">
-            <div id="selectAll" data-bind="click: toggleSelectAll, css: {'hueCheckbox': true, 'icon-ok': allSelected}"></div>
+            <div id="selectAll" data-bind="click: toggleSelectAll, css: {'hueCheckbox': true, 'fa': true, 'fa-check': allSelected}"></div>
           </th>
           <th>${_('Name')}</th>
           <th>${_('Description')}</th>
@@ -180,14 +180,14 @@ ${ commonheader(None, "jobsub", user) | n,unicode }
     <img src="/static/art/spinner-big.gif" />
   <![endif]-->
   <!--[if !IE]> -->
-    <i class="icon-spinner icon-spin"></i>
+    <i class="fa fa-spinner fa-spin"></i>
   <!-- <![endif]-->
 </div>
 
 <script id="designTemplate" type="text/html">
   <tr style="cursor: pointer" data-bind="with: design">
     <td data-row-selector-exclude="true" data-bind="click: function(data, event) {$root.toggleSelect.call($root, $index());}" class="center" style="cursor: default">
-      <div class="hueCheckbox savedCheck" data-row-selector-exclude="true" data-bind="css: {'hueCheckbox': name != '..', 'icon-ok': $parent.selected()}"></div>
+      <div class="hueCheckbox savedCheck" data-row-selector-exclude="true" data-bind="css: {'hueCheckbox': name != '..', 'fa': name != '..', 'fa-check': $parent.selected()}"></div>
     </td>
     <td data-bind="click: function(data, event) { window.location = '#edit-design/' + id() }, text: name"></td>
     <td data-bind="click: function(data, event) { window.location = '#edit-design/' + id() }, text: description"></td>

+ 1 - 1
apps/jobsub/static/templates/actions/distcp.html

@@ -13,7 +13,7 @@
       <div class="control-group ">
         <label class="control-label">
           <a href="javascript:void(0);" onclick="$('div.advanced').toggle('hide')" class="advanced">
-            <i class="icon-share-alt"></i>
+            <i class="fa fa-share"></i>
             advanced
           </a>
         </label>

+ 1 - 1
apps/jobsub/static/templates/actions/email.html

@@ -13,7 +13,7 @@
       <div class="control-group ">
         <label class="control-label">
           <a href="javascript:void(0);" onclick="$('div.advanced').toggle('hide')" class="advanced">
-            <i class="icon-share-alt"></i>
+            <i class="fa fa-share"></i>
             advanced
           </a>
         </label>

+ 1 - 1
apps/jobsub/static/templates/actions/fs.html

@@ -13,7 +13,7 @@
       <div class="control-group ">
         <label class="control-label">
           <a href="javascript:void(0);" onclick="$('div.advanced').toggle('hide')" class="advanced">
-            <i class="icon-share-alt"></i>
+            <i class="fa fa-share"></i>
             advanced
           </a>
         </label>

+ 1 - 1
apps/jobsub/static/templates/actions/hive.html

@@ -13,7 +13,7 @@
       <div class="control-group ">
         <label class="control-label">
           <a href="javascript:void(0);" onclick="$('div.advanced').toggle('hide')" class="advanced">
-            <i class="icon-share-alt"></i>
+            <i class="fa fa-share"></i>
             advanced
           </a>
         </label>

+ 1 - 1
apps/jobsub/static/templates/actions/java.html

@@ -13,7 +13,7 @@
       <div class="control-group ">
         <label class="control-label">
           <a href="javascript:void(0);" onclick="$('div.advanced').toggle('hide')" class="advanced">
-            <i class="icon-share-alt"></i>
+            <i class="fa fa-share"></i>
             advanced
           </a>
         </label>

+ 1 - 1
apps/jobsub/static/templates/actions/mapreduce.html

@@ -13,7 +13,7 @@
       <div class="control-group ">
         <label class="control-label">
           <a href="javascript:void(0);" onclick="$('div.advanced').toggle('hide')" class="advanced">
-            <i class="icon-share-alt"></i>
+            <i class="fa fa-share"></i>
             advanced
           </a>
         </label>

+ 1 - 1
apps/jobsub/static/templates/actions/pig.html

@@ -13,7 +13,7 @@
       <div class="control-group ">
         <label class="control-label">
           <a href="javascript:void(0);" onclick="$('div.advanced').toggle('hide')" class="advanced">
-            <i class="icon-share-alt"></i>
+            <i class="fa fa-share"></i>
             advanced
           </a>
         </label>

+ 1 - 1
apps/jobsub/static/templates/actions/shell.html

@@ -13,7 +13,7 @@
       <div class="control-group ">
         <label class="control-label">
           <a href="javascript:void(0);" onclick="$('div.advanced').toggle('hide')" class="advanced">
-            <i class="icon-share-alt"></i>
+            <i class="fa fa-share"></i>
             advanced
           </a>
         </label>

+ 1 - 1
apps/jobsub/static/templates/actions/sqoop.html

@@ -13,7 +13,7 @@
       <div class="control-group ">
         <label class="control-label">
           <a href="javascript:void(0);" onclick="$('div.advanced').toggle('hide')" class="advanced">
-            <i class="icon-share-alt"></i>
+            <i class="fa fa-share"></i>
             advanced
           </a>
         </label>

+ 1 - 1
apps/jobsub/static/templates/actions/ssh.html

@@ -13,7 +13,7 @@
       <div class="control-group ">
         <label class="control-label">
           <a href="javascript:void(0);" onclick="$('div.advanced').toggle('hide')" class="advanced">
-            <i class="icon-share-alt"></i>
+            <i class="fa fa-share"></i>
             advanced
           </a>
         </label>

+ 1 - 1
apps/jobsub/static/templates/actions/streaming.html

@@ -13,7 +13,7 @@
       <div class="control-group ">
         <label class="control-label">
           <a href="javascript:void(0);" onclick="$('div.advanced').toggle('hide')" class="advanced">
-            <i class="icon-share-alt"></i>
+            <i class="fa fa-share"></i>
             advanced
           </a>
         </label>

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

@@ -30,7 +30,7 @@ ${ components.menubar() }
       <div class="sidebar-nav card-small">
         <ul class="nav nav-list">
           <li class="nav-header">${_('actions')}</li>
-          <li><a href="${ url('beeswax:create_database') }"><i class="icon-plus-sign"></i> ${_('Create a new database')}</a></li>
+          <li><a href="${ url('beeswax:create_database') }"><i class="fa fa-plus-circle"></i> ${_('Create a new database')}</a></li>
         </ul>
       </div>
     </div>
@@ -47,7 +47,7 @@ ${ components.menubar() }
 
           <%def name="actions()">
             % if has_write_access:
-              <button id="dropBtn" class="btn toolbarBtn" title="${_('Drop the selected databases')}" disabled="disabled"><i class="icon-trash"></i>  ${_('Drop')}</button>
+              <button id="dropBtn" class="btn toolbarBtn" title="${_('Drop the selected databases')}" disabled="disabled"><i class="fa fa-trash-o"></i>  ${_('Drop')}</button>
             % endif
           </%def>
         </%actionbar:render>
@@ -55,7 +55,7 @@ ${ components.menubar() }
         <table class="table table-condensed datatables">
           <thead>
             <tr>
-              <th width="1%"><div class="hueCheckbox selectAll" data-selectables="databaseCheck"></div></th>
+              <th width="1%"><div class="hueCheckbox selectAll fa" data-selectables="databaseCheck"></div></th>
               <th>${_('Database Name')}</th>
             </tr>
           </thead>
@@ -63,7 +63,7 @@ ${ components.menubar() }
           % for database in databases:
             <tr>
               <td data-row-selector-exclude="true" width="1%">
-                <div class="hueCheckbox databaseCheck"
+                <div class="hueCheckbox databaseCheck fa"
                    data-view-url="${ url('metastore:show_tables', database=database) }"
                    data-drop-name="${ database }"
                    data-row-selector-exclude="true"></div>
@@ -133,24 +133,24 @@ ${ components.menubar() }
 
     $(".selectAll").click(function () {
       if ($(this).attr("checked")) {
-        $(this).removeAttr("checked").removeClass("icon-ok");
-        $("." + $(this).data("selectables")).removeClass("icon-ok").removeAttr("checked");
+        $(this).removeAttr("checked").removeClass("fa-check");
+        $("." + $(this).data("selectables")).removeClass("fa-check").removeAttr("checked");
       }
       else {
-        $(this).attr("checked", "checked").addClass("icon-ok");
-        $("." + $(this).data("selectables")).addClass("icon-ok").attr("checked", "checked");
+        $(this).attr("checked", "checked").addClass("fa-check");
+        $("." + $(this).data("selectables")).addClass("fa-check").attr("checked", "checked");
       }
       toggleActions();
     });
 
     $(".databaseCheck").click(function () {
       if ($(this).attr("checked")) {
-        $(this).removeClass("icon-ok").removeAttr("checked");
+        $(this).removeClass("fa-check").removeAttr("checked");
       }
       else {
-        $(this).addClass("icon-ok").attr("checked", "checked");
+        $(this).addClass("fa-check").attr("checked", "checked");
       }
-      $(".selectAll").removeAttr("checked").removeClass("icon-ok");
+      $(".selectAll").removeAttr("checked").removeClass("fa-check");
       toggleActions();
     });
 

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

@@ -30,7 +30,7 @@ ${ components.menubar() }
       <div class="sidebar-nav card-small">
         <ul class="nav nav-list">
           <li class="nav-header">${_('Actions')}</li>
-          <li><a href="${ url('metastore:describe_table', database=database, table=table.name) }"><i class="icon-reply"></i> ${_('Show Table')}</a></li>
+          <li><a href="${ url('metastore:describe_table', database=database, table=table.name) }"><i class="fa fa-reply"></i> ${_('Show Table')}</a></li>
         </ul>
       </div>
     </div>

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

@@ -58,15 +58,15 @@ ${ components.menubar() }
         <ul class="nav nav-list">
           <li class="nav-header">${_('Actions')}</li>
           % if has_write_access:
-          <li><a href="#" id="import-data-btn"><i class="icon-download"></i> ${_('Import Data')}</a></li>
+          <li><a href="#" id="import-data-btn"><i class="fa fa-arrow-circle-o-down"></i> ${_('Import Data')}</a></li>
           % endif
-          <li><a href="${ url('metastore:read_table', database=database, table=table.name) }"><i class="icon-list"></i> ${_('Browse Data')}</a></li>
+          <li><a href="${ url('metastore:read_table', database=database, table=table.name) }"><i class="fa fa-list"></i> ${_('Browse Data')}</a></li>
           % if has_write_access:
-          <li><a href="#dropTable" data-toggle="modal"><i class="icon-trash"></i> ${_('Drop')} ${view_or_table_noun}</a></li>
+          <li><a href="#dropTable" data-toggle="modal"><i class="fa fa-trash-o"></i> ${_('Drop')} ${view_or_table_noun}</a></li>
           % endif
-          <li><a href="${ table.hdfs_link }" rel="${ table.path_location }"><i class="icon-share"></i> ${_('View File Location')}</a></li>
+          <li><a href="${ table.hdfs_link }" rel="${ table.path_location }"><i class="fa fa-share-square-o"></i> ${_('View File Location')}</a></li>
           % if table.partition_keys:
-          <li><a href="${ url('metastore:describe_partitions', database=database, table=table.name) }"><i class="icon-sitemap"></i> ${_('Show Partitions')} (${ len(partitions) })</a></li>
+          <li><a href="${ url('metastore:describe_partitions', database=database, table=table.name) }"><i class="fa fa-sitemap"></i> ${_('Show Partitions')} (${ len(partitions) })</a></li>
           % endif
         </ul>
       </div>

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

@@ -37,8 +37,8 @@ ${ components.menubar() }
           </li>
           % if has_write_access:
           <li class="nav-header">${_('Actions')}</li>
-          <li><a href="${ url('beeswax:import_wizard', database=database) }"><i class="icon-copy"></i> ${_('Create a new table from a file')}</a></li>
-          <li><a href="${ url('beeswax:create_table', database=database) }"><i class="icon-wrench"></i> ${_('Create a new table manually')}</a></li>
+          <li><a href="${ url('beeswax:import_wizard', database=database) }"><i class="fa fa-files-o"></i> ${_('Create a new table from a file')}</a></li>
+          <li><a href="${ url('beeswax:create_table', database=database) }"><i class="fa fa-wrench"></i> ${_('Create a new table manually')}</a></li>
           % endif
         </ul>
       </div>
@@ -52,10 +52,10 @@ ${ components.menubar() }
           </%def>
 
           <%def name="actions()">
-            <button id="viewBtn" class="btn toolbarBtn" title="${_('Browse the selected table')}" disabled="disabled"><i class="icon-eye-open"></i> ${_('View')}</button>
-            <button id="browseBtn" class="btn toolbarBtn" title="${_('Browse the selected table')}" disabled="disabled"><i class="icon-list"></i> ${_('Browse Data')}</button>
+            <button id="viewBtn" class="btn toolbarBtn" title="${_('Browse the selected table')}" disabled="disabled"><i class="fa fa-eye"></i> ${_('View')}</button>
+            <button id="browseBtn" class="btn toolbarBtn" title="${_('Browse the selected table')}" disabled="disabled"><i class="fa fa-list"></i> ${_('Browse Data')}</button>
             % if has_write_access:
-            <button id="dropBtn" class="btn toolbarBtn" title="${_('Delete the selected tables')}" disabled="disabled"><i class="icon-trash"></i>  ${_('Drop')}</button>
+            <button id="dropBtn" class="btn toolbarBtn" title="${_('Delete the selected tables')}" disabled="disabled"><i class="fa fa-trash-o"></i>  ${_('Drop')}</button>
             % endif
           </%def>
         </%actionbar:render>
@@ -63,7 +63,7 @@ ${ components.menubar() }
           <table class="table table-condensed datatables" data-tablescroller-disable="true">
           <thead>
             <tr>
-              <th width="1%"><div class="hueCheckbox selectAll" data-selectables="tableCheck"></div></th>
+              <th width="1%"><div class="hueCheckbox selectAll fa" data-selectables="tableCheck"></div></th>
               <th>${_('Table Name')}</th>
             </tr>
           </thead>
@@ -71,7 +71,7 @@ ${ components.menubar() }
           % for table in tables:
             <tr>
               <td data-row-selector-exclude="true" width="1%">
-                <div class="hueCheckbox tableCheck"
+                <div class="hueCheckbox tableCheck fa"
                      data-view-url="${ url('metastore:describe_table', database=database, table=table) }"
                      data-browse-url="${ url('metastore:read_table', database=database, table=table) }"
                      data-drop-name="${ table }"
@@ -147,24 +147,24 @@ ${ components.menubar() }
 
     $(".selectAll").click(function () {
       if ($(this).attr("checked")) {
-        $(this).removeAttr("checked").removeClass("icon-ok");
-        $("." + $(this).data("selectables")).removeClass("icon-ok").removeAttr("checked");
+        $(this).removeAttr("checked").removeClass("fa-check");
+        $("." + $(this).data("selectables")).removeClass("fa-check").removeAttr("checked");
       }
       else {
-        $(this).attr("checked", "checked").addClass("icon-ok");
-        $("." + $(this).data("selectables")).addClass("icon-ok").attr("checked", "checked");
+        $(this).attr("checked", "checked").addClass("fa-check");
+        $("." + $(this).data("selectables")).addClass("fa-check").attr("checked", "checked");
       }
       toggleActions();
     });
 
     $(".tableCheck").click(function () {
       if ($(this).attr("checked")) {
-        $(this).removeClass("icon-ok").removeAttr("checked");
+        $(this).removeClass("fa-check").removeAttr("checked");
       }
       else {
-        $(this).addClass("icon-ok").attr("checked", "checked");
+        $(this).addClass("fa-check").attr("checked", "checked");
       }
-      $(".selectAll").removeAttr("checked").removeClass("icon-ok");
+      $(".selectAll").removeAttr("checked").removeClass("fa-check");
       toggleActions();
     });
 

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

@@ -67,7 +67,7 @@ ${ layout.menubar(section='bundles', dashboard=True) }
           % for bundled in bundle.coordinators.distinct():
             <li rel="tooltip" title="${ bundled.coordinator.name }" class="white">
               <a href="${ bundled.coordinator.get_absolute_url() }">
-                <i class="icon-eye-open"></i> <span class="dataset">${ bundled.coordinator.name }</span>
+                <i class="fa fa-eye"></i> <span class="dataset">${ bundled.coordinator.name }</span>
               </a>
             </li>
           % endfor

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

@@ -67,7 +67,7 @@ ${ layout.menubar(section='coordinators', dashboard=True) }
         % if coordinator:
             <li class="nav-header">${ _('Datasets') }</li>
           % for dataset in coordinator.dataset_set.all():
-            <li rel="tooltip" title="${ dataset.name } : ${ dataset.uri }" class="white"><i class="icon-eye-open"></i> <span class="dataset">${ dataset.name }</span></li>
+            <li rel="tooltip" title="${ dataset.name } : ${ dataset.uri }" class="white"><i class="fa fa-eye"></i> <span class="dataset">${ dataset.name }</span></li>
           % endfor
         % endif
 

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

@@ -70,10 +70,10 @@ ${ layout.menubar(section='workflows', dashboard=True) }
                 % if var not in ParameterForm.NON_PARAMETERS and var != 'oozie.use.system.libpath':
                   % if utils.is_linkable(var, str(value)):
                   <li rel="tooltip" title="${ var } : ${ str(value) }">
-                    <a href="${ utils.hdfs_link_js(str(value)) }"><i class="icon-eye-open"></i> <span class="variable hide">${ var }</span></a>
+                    <a href="${ utils.hdfs_link_js(str(value)) }"><i class="fa fa-eye"></i> <span class="variable hide">${ var }</span></a>
                   % else:
                   <li rel="tooltip" title="${ var } : ${ str(value) }" class="white">
-                    <i class="icon-eye-open"></i> <span class="variable">${ var }</span>
+                    <i class="fa fa-eye"></i> <span class="variable">${ var }</span>
                   % endif
                   </li>
                 % endif
@@ -206,7 +206,7 @@ ${ layout.menubar(section='workflows', dashboard=True) }
         <script id="actionTemplate" type="text/html">
           <tr>
             <td>
-              <a data-bind="visible:externalId !='', attr: { href: log}" data-row-selector-exclude="true"><i class="icon-tasks"></i></a>
+              <a data-bind="visible:externalId !='', attr: { href: log}" data-row-selector-exclude="true"><i class="fa fa-tasks"></i></a>
             </td>
             <td>
               <a data-bind="text: id, attr: { href: url}" data-row-selector="true"></a>

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

@@ -49,7 +49,7 @@ ${ layout.menubar(section='workflows', dashboard=True) }
 
             <li class="nav-header">${ _('Logs') }</li>
             <li>
-              <a href="${ url('jobbrowser.views.job_single_logs', job=action.externalId) }" title="${ _('View the logs') }" rel="tooltip"><i class="icon-tasks"></i></a>
+              <a href="${ url('jobbrowser.views.job_single_logs', job=action.externalId) }" title="${ _('View the logs') }" rel="tooltip"><i class="fa fa-tasks"></i></a>
             </li>
           % endif
 
@@ -158,7 +158,7 @@ ${ layout.menubar(section='workflows', dashboard=True) }
               <tr>
                 <td>
                   <a href="${ url('jobbrowser.views.job_single_logs', job=child_id) }" title="${ _('View the logs') }" rel="tooltip">
-                    <i class="icon-tasks"></i>
+                    <i class="fa fa-tasks"></i>
                   </a>
                 </td>
                 <td>

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

@@ -65,7 +65,7 @@
   <div class="control-group ">
     <label class="control-label">
       <a href="javascript:void(0);" id="advanced-btn" onclick="$('#node-advanced-container').toggle('hide')">
-        <i class="icon-share-alt"></i> ${ _('Advanced') }</a>
+        <i class="fa fa-share"></i> ${ _('Advanced') }</a>
     </label>
     <div class="controls"></div>
   </div>

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

@@ -34,7 +34,7 @@ ${ layout.menubar(section='bundles') }
         <div class="sidebar-nav">
           <ul class="nav nav-list">
             <li class="nav-header">${ _('Properties') }</li>
-            <li class="active"><a href="#properties"><i class="icon-reorder"></i> ${ _('Edit properties') }</a></li>
+            <li class="active"><a href="#properties"><i class="fa fa-reorder"></i> ${ _('Edit properties') }</a></li>
           </ul>
         </div>
       </div>

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

@@ -34,7 +34,7 @@ ${ layout.menubar(section='workflows') }
       <div id="workflowControls" class="sidebar-nav">
         <ul class="nav nav-list">
           <li class="nav-header">${ _('New workflow') }</li>
-          <li class="active"><a href="#properties"><i class="icon-reorder"></i> ${ _('Properties') }</a></li>
+          <li class="active"><a href="#properties"><i class="fa fa-reorder"></i> ${ _('Properties') }</a></li>
         </ul>
       </div>
     </div>
@@ -51,7 +51,7 @@ ${ layout.menubar(section='workflows') }
               <div class="control-group ">
                 <label class="control-label">
                   <a href="#" id="advanced-btn" onclick="$('#advanced-container').toggle('hide')">
-                    <i class="icon-share-alt"></i> ${ _('advanced') }
+                    <i class="fa fa-share"></i> ${ _('advanced') }
                   </a>
                 </label>
                 <div class="controls"></div>

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

@@ -54,29 +54,29 @@ ${ layout.menubar(section='bundles') }
       <div class="sidebar-nav">
         <ul class="nav nav-list">
           <li class="nav-header">${ _('Properties') }</li>
-          <li class="active"><a href="#properties"><i class="icon-reorder"></i> ${ _('Edit properties') }</a></li>
+          <li class="active"><a href="#properties"><i class="fa fa-reorder"></i> ${ _('Edit properties') }</a></li>
 
           <li class="nav-header">${ _('Coordinators') }</li>
           % if bundle.is_editable(user):
-          <li><a href="#addBundledCoordinator"><i class="icon-plus"></i>${ _('Add') }</a></li>
+          <li><a href="#addBundledCoordinator"><i class="fa fa-plus"></i>${ _('Add') }</a></li>
           % endif
-          <li><a href="#listCoordinators"><i class="icon-cloud"></i> ${ _('Show selected') }</a></li>
+          <li><a href="#listCoordinators"><i class="fa fa-cloud"></i> ${ _('Show selected') }</a></li>
 
           % if bundle.is_editable(user):
               <li class="nav-header">${ _('History') }</li>
-              <li><a href="#listHistory"><i class="icon-archive"></i> ${ _('Show history') }</a></li>
+              <li><a href="#listHistory"><i class="fa fa-archive"></i> ${ _('Show history') }</a></li>
           % endif
 
           % if bundle:
               <li class="nav-header">${ _('Actions') }</li>
               <li>
                 <a id="submit-btn" href="javascript:void(0)" data-submit-url="${ url('oozie:submit_bundle', bundle=bundle.id) }"
-                   title="${ _('Submit this bundle') }" rel="tooltip" data-placement="right"><i class="icon-play"></i> ${ _('Submit') }
+                   title="${ _('Submit this bundle') }" rel="tooltip" data-placement="right"><i class="fa fa-play"></i> ${ _('Submit') }
                 </a>
               </li>
               <li>
                 <a id="clone-btn" href="javascript:void(0)" data-clone-url="${ url('oozie:clone_bundle', bundle=bundle.id) }"
-                   title="${ _('Copy this bundle') }" rel="tooltip" data-placement="right"><i class="icon-copy"></i> ${ _('Copy') }
+                   title="${ _('Copy this bundle') }" rel="tooltip" data-placement="right"><i class="fa fa-files-o"></i> ${ _('Copy') }
                 </a>
              </li>
           % endif
@@ -164,7 +164,7 @@ ${ layout.menubar(section='bundles') }
                 <tr title="${ _('Click to view the coordinator') }" rel="tooltip">
                   <td>
                     <a href="${ url('oozie:edit_coordinator', coordinator=form.instance.coordinator.id) }" target="_blank">
-                    <i class="icon-share-alt"></i> ${ form.instance.coordinator.name }
+                    <i class="fa fa-share"></i> ${ form.instance.coordinator.name }
                     </a>
                   </td>
                   <td>

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

@@ -53,28 +53,28 @@ ${ layout.menubar(section='coordinators') }
       <div class="sidebar-nav">
         <ul class="nav nav-list">
           <li class="nav-header">${ _('Properties') }</li>
-          <li class="active"><a href="#properties"><i class="icon-reorder"></i> ${ _('Edit properties') }</a></li>
+          <li class="active"><a href="#properties"><i class="fa fa-reorder"></i> ${ _('Edit properties') }</a></li>
 
           % if coordinator.workflow:
             <li class="nav-header">${ _('Workflow') }</li>
-            <li id="workflowName"><a href="${ coordinator.workflow.get_absolute_url() }" target="_blank"><i class="icon-code-fork"></i> ${ coordinator.workflow }</a></li>
+            <li id="workflowName"><a href="${ coordinator.workflow.get_absolute_url() }" target="_blank"><i class="fa fa-code-fork"></i> ${ coordinator.workflow }</a></li>
           % endif
 
           <li class="nav-header">${ _('Datasets') }</li>
           % if coordinator.is_editable(user):
-          <li><a href="#createDataset"><i class="icon-plus"></i> ${ _('Create new') }</a></li>
+          <li><a href="#createDataset"><i class="fa fa-plus"></i> ${ _('Create new') }</a></li>
           % endif
-          <li><a href="#listDataset"><i class="icon-cloud"></i> ${ _('Show existing') }</a></li>
+          <li><a href="#listDataset"><i class="fa fa-cloud"></i> ${ _('Show existing') }</a></li>
 
           % if coordinator.is_editable(user):
               <li class="nav-header">${ _('History') }</li>
-              <li><a href="#listHistory"><i class="icon-archive"></i> ${ _('Show history') }</a></li>
+              <li><a href="#listHistory"><i class="fa fa-archive"></i> ${ _('Show history') }</a></li>
           % endif
 
           % if coordinator:
               <li class="nav-header">${ _('Actions') }</li>
-              <li><a id="submit-btn" href="javascript:void(0)" data-submit-url="${ url('oozie:submit_coordinator', coordinator=coordinator.id) }" title="${ _('Submit this coordinator') }" rel="tooltip" data-placement="right"><i class="icon-play"></i> ${ _('Submit') }</a></li>
-              <li><a id="clone-btn" href="javascript:void(0)" data-clone-url="${ url('oozie:clone_coordinator', coordinator=coordinator.id) }" title="${ _('Copy this coordinator') }" rel="tooltip" data-placement="right"><i class="icon-copy"></i> ${ _('Copy') }</a></li>
+              <li><a id="submit-btn" href="javascript:void(0)" data-submit-url="${ url('oozie:submit_coordinator', coordinator=coordinator.id) }" title="${ _('Submit this coordinator') }" rel="tooltip" data-placement="right"><i class="fa fa-play"></i> ${ _('Submit') }</a></li>
+              <li><a id="clone-btn" href="javascript:void(0)" data-clone-url="${ url('oozie:clone_coordinator', coordinator=coordinator.id) }" title="${ _('Copy this coordinator') }" rel="tooltip" data-placement="right"><i class="fa fa-files-o"></i> ${ _('Copy') }</a></li>
           % endif
 
         </ul>

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

@@ -40,39 +40,39 @@ ${ layout.menubar(section='workflows') }
     <div id="workflowControls" class="sidebar-nav">
       <ul class="nav nav-list">
         <li class="nav-header">${ _('Editor') }</li>
-        <li><a href="#editWorkflow"><i class="icon-code-fork"></i> ${ _('Workflow') }</a></li>
-        <li><a href="#properties"><i class="icon-reorder"></i> ${ _('Properties') }</a></li>
+        <li><a href="#editWorkflow"><i class="fa fa-code-fork"></i> ${ _('Workflow') }</a></li>
+        <li><a href="#properties"><i class="fa fa-reorder"></i> ${ _('Properties') }</a></li>
         % if user_can_edit_job:
           <li>
-            <a data-bind="attr: {href: '/filebrowser/view' + deployment_dir() }" target="_blank" title="${ _('Go upload additional files and libraries to the deployment directory on HDFS') }" rel="tooltip" data-placement="right"><i class="icon-folder-open"></i> ${ _('Workspace') }</a>
+            <a data-bind="attr: {href: '/filebrowser/view' + deployment_dir() }" target="_blank" title="${ _('Go upload additional files and libraries to the deployment directory on HDFS') }" rel="tooltip" data-placement="right"><i class="fa fa-folder-open"></i> ${ _('Workspace') }</a>
           </li>
         % endif
 
         <li class="nav-header">${ _('Advanced') }</li>
-        <li><a href="#importAction" title="${ _('Click to import an Oozie workflow action or Job Designer action') }" rel="tooltip" data-placement="right"><i class="icon-download-alt"></i> ${ _('Import action') }</a></li>
+        <li><a href="#importAction" title="${ _('Click to import an Oozie workflow action or Job Designer action') }" rel="tooltip" data-placement="right"><i class="fa fa-arrow-circle-o-down"></i> ${ _('Import action') }</a></li>
         % if user_can_edit_job:
           <li>
-            <a title="${ _('Edit kill node') }" rel="tooltip" data-placement="right" href="#kill"><i class="icon-off"></i> ${ _('Kill node') }</a>
+            <a title="${ _('Edit kill node') }" rel="tooltip" data-placement="right" href="#kill"><i class="fa fa-power-off"></i> ${ _('Kill node') }</a>
           </li>
         % endif
 
         % if user_can_edit_job:
-          <li><a href="#listHistory"><i class="icon-archive"></i> ${ _('History') }</a></li>
+          <li><a href="#listHistory"><i class="fa fa-archive"></i> ${ _('History') }</a></li>
         % endif
 
         <li class="nav-header">${ _('Actions') }</li>
         % if user_can_access_job:
           <li>
-            <a id="submit-btn" href="javascript:void(0)" data-submit-url="${ url('oozie:submit_workflow', workflow=workflow.id) }" title="${ _('Submit this workflow') }" rel="tooltip" data-placement="right"><i class="icon-play"></i> ${ _('Submit') }</a>
+            <a id="submit-btn" href="javascript:void(0)" data-submit-url="${ url('oozie:submit_workflow', workflow=workflow.id) }" title="${ _('Submit this workflow') }" rel="tooltip" data-placement="right"><i class="fa fa-play"></i> ${ _('Submit') }</a>
           </li>
           <li>
-            <a href="${ url('oozie:schedule_workflow', workflow=workflow.id) }" title="${ _('Schedule this workflow') }" rel="tooltip" data-placement="right"><i class="icon-calendar"></i> ${ _('Schedule') }</a>
+            <a href="${ url('oozie:schedule_workflow', workflow=workflow.id) }" title="${ _('Schedule this workflow') }" rel="tooltip" data-placement="right"><i class="fa fa-calendar"></i> ${ _('Schedule') }</a>
           </li>
           <li>
-            <a id="clone-btn" href="#" data-clone-url="${ url('oozie:clone_workflow', workflow=workflow.id) }" title="${ _('Copy this workflow') }" rel="tooltip" data-placement="right"><i class="icon-copy"></i> ${ _('Copy') }</a>
+            <a id="clone-btn" href="#" data-clone-url="${ url('oozie:clone_workflow', workflow=workflow.id) }" title="${ _('Copy this workflow') }" rel="tooltip" data-placement="right"><i class="fa fa-files-o"></i> ${ _('Copy') }</a>
           </li>
           <li>
-            <a id="export-btn" href="${ url('oozie:export_workflow', workflow=workflow.id) }" title="${ _('Export this workflow') }" rel="tooltip" data-placement="right"><i class="icon-upload-alt"></i> ${ _('Export') }</a>
+            <a id="export-btn" href="${ url('oozie:export_workflow', workflow=workflow.id) }" title="${ _('Export this workflow') }" rel="tooltip" data-placement="right"><i class="fa fa-upload"></i> ${ _('Export') }</a>
           </li>
         % endif
       </ul>
@@ -110,7 +110,7 @@ ${ layout.menubar(section='workflows') }
         <div class="control-group ">
           <label class="control-label">
             <a href="#" id="advanced-btn" onclick="$('#advanced-container').toggle('hide')">
-              <i class="icon-share-alt"></i> ${ _('advanced') }</a>
+              <i class="fa fa-share"></i> ${ _('advanced') }</a>
           </label>
           <div class="controls"></div>
         </div>
@@ -138,7 +138,7 @@ ${ layout.menubar(section='workflows') }
       <div class="card-body">
         <p>
           <fieldset data-bind="with: context().node">
-            <p>&nbsp;${_('Action enabled: ')} <i class="icon-check" data-bind="visible: to().length > 0"></i><i class="icon-check-empty" data-bind="visible: to().length == 0"></i></p>
+            <p>&nbsp;${_('Action enabled: ')} <i class="fa fa-check-square-o" data-bind="visible: to().length > 0"></i><i class="fa fa-square-o" data-bind="visible: to().length == 0"></i></p>
 
             % for form_info in action_forms:
               % if form_info[0] == 'email':
@@ -251,79 +251,79 @@ ${ layout.menubar(section='workflows') }
         <div class="draggable-button">
           <a data-node-type="mapreduce"
              title="${ _('Drag and drop this action on the workflow') }" class="btn new-node-link">
-            <i class="icon-move"></i> MapReduce
+            <i class="fa fa-move"></i> MapReduce
           </a>
         </div>
         <div class="draggable-button">
           <a data-node-type="streaming"
              title="${ _('Drag and drop this action on the workflow') }" class="btn new-node-link">
-            <i class="icon-move"></i> Streaming
+            <i class="fa fa-move"></i> Streaming
           </a>
         </div>
         <div class="draggable-button">
           <a data-node-type="java"
              title="${ _('Drag and drop this action on the workflow') }" class="btn new-node-link">
-            <i class="icon-move"></i> Java
+            <i class="fa fa-move"></i> Java
           </a>
          </div>
         <div class="draggable-button">
           <a data-node-type="pig"
              title="${ _('Drag and drop this action on the workflow') }" class="btn new-node-link">
-            <i class="icon-move"></i> Pig
+            <i class="fa fa-move"></i> Pig
           </a>
         </div>
         <div class="draggable-button">
           <a data-node-type="hive"
              title="${ _('Drag and drop this action on the workflow') }" class="btn new-node-link">
-            <i class="icon-move"></i> Hive
+            <i class="fa fa-move"></i> Hive
           </a>
         </div>
         <div class="draggable-button">
           <a data-node-type="sqoop"
              title="${ _('Drag and drop this action on the workflow') }" class="btn new-node-link">
-            <i class="icon-move"></i> Sqoop
+            <i class="fa fa-move"></i> Sqoop
           </a>
         </div>
         <div class="draggable-button">
           <a data-node-type="shell"
              title="${ _('Drag and drop this action on the workflow') }" class="btn new-node-link">
-            <i class="icon-move"></i> Shell
+            <i class="fa fa-move"></i> Shell
           </a>
         </div>
         <div class="draggable-button">
           <a data-node-type="ssh"
              title="${ _('Drag and drop this action on the workflow') }" class="btn new-node-link">
-            <i class="icon-move"></i> Ssh
+            <i class="fa fa-move"></i> Ssh
           </a>
         </div>
         <div class="draggable-button">
           <a data-node-type="distcp"
              title="${ _('Drag and drop this action on the workflow') }" class="btn new-node-link">
-            <i class="icon-move"></i> DistCp
+            <i class="fa fa-move"></i> DistCp
           </a>
         </div>
         <div class="draggable-button">
           <a data-node-type="fs"
              title="${ _('Drag and drop this action on the workflow') }" class="btn new-node-link">
-            <i class="icon-move"></i> Fs
+            <i class="fa fa-move"></i> Fs
           </a>
         </div>
         <div class="draggable-button">
           <a data-node-type="email"
              title="${ _('Drag and drop this action on the workflow') }" class="btn new-node-link">
-            <i class="icon-move"></i> Email
+            <i class="fa fa-move"></i> Email
           </a>
         </div>
         <div class="draggable-button">
           <a data-node-type="subworkflow"
              title="${ _('Drag and drop this action on the workflow') }" class="btn new-node-link">
-            <i class="icon-move"></i> Sub-workflow
+            <i class="fa fa-move"></i> Sub-workflow
           </a>
         </div>
         <div class="draggable-button">
           <a data-node-type="generic"
              title="${ _('Drag and drop this action on the workflow') }" class="btn new-node-link">
-            <i class="icon-move"></i> Generic
+            <i class="fa fa-move"></i> Generic
           </a>
         </div>
       </div>
@@ -478,9 +478,9 @@ ${ controls.decision_form(node_form, link_form, default_link_form, 'decision', T
 
       <div class="row-fluid node-action-bar">
         <div class="span12" style="text-align:right">
-          <a class="btn btn-mini edit-node-link" title="${ _('Edit') }" relz="tooltip" data-bind="attr: { 'data-node-type': node_type() }"><i class="icon-pencil"></i></a>
-          <a class="btn btn-mini clone-node-btn" title="${ _('Copy') }" relz="tooltip"><i class="icon-copy"></i></a>
-          <a class="btn btn-mini delete-node-btn" title="${ _('Delete') }" relz="tooltip"><i class="icon-trash"></i></a>
+          <a class="btn btn-mini edit-node-link" title="${ _('Edit') }" relz="tooltip" data-bind="attr: { 'data-node-type': node_type() }"><i class="fa fa-pencil"></i></a>
+          <a class="btn btn-mini clone-node-btn" title="${ _('Copy') }" relz="tooltip"><i class="fa fa-files-o"></i></a>
+          <a class="btn btn-mini delete-node-btn" title="${ _('Delete') }" relz="tooltip"><i class="fa fa-trash-o"></i></a>
           &nbsp;
         </div>
       </div>
@@ -503,8 +503,8 @@ ${ controls.decision_form(node_form, link_form, default_link_form, 'decision', T
 
       <div class="row-fluid node-action-bar">
         <div class="span12" style="text-align:right">
-          <a class="btn btn-mini edit-node-link" title="${ _('Edit') }" relz="tooltip" data-bind="attr: { 'data-node-type': node_type() }"><i class="icon-pencil"></i></a>
-          <a class="btn btn-mini convert-node-link" title="${ _('Convert to Decision') }" data-bind="attr: { 'data-node-type': node_type() }" relz="tooltip"><i class="icon-wrench"></i></a>
+          <a class="btn btn-mini edit-node-link" title="${ _('Edit') }" relz="tooltip" data-bind="attr: { 'data-node-type': node_type() }"><i class="fa fa-pencil"></i></a>
+          <a class="btn btn-mini convert-node-link" title="${ _('Convert to Decision') }" data-bind="attr: { 'data-node-type': node_type() }" relz="tooltip"><i class="fa fa-wrench"></i></a>
           &nbsp;
         </div>
       </div>
@@ -538,7 +538,7 @@ ${ controls.decision_form(node_form, link_form, default_link_form, 'decision', T
 
       <div class="row-fluid node-action-bar">
         <div class="span12" style="text-align:right">
-          <a class="btn btn-mini edit-node-link" title="${ _('Edit') }" data-bind="attr: { 'data-node-type': node_type() }" relz="tooltip"><i class="icon-pencil"></i></a>
+          <a class="btn btn-mini edit-node-link" title="${ _('Edit') }" data-bind="attr: { 'data-node-type': node_type() }" relz="tooltip"><i class="fa fa-pencil"></i></a>
           &nbsp;
         </div>
       </div>

+ 2 - 2
apps/oozie/src/oozie/templates/editor/gen/workflow-graph-status.xml.mako

@@ -66,9 +66,9 @@
           </div>
           <div class="span10" style="text-align:right">
             % if action:
-              <a href="${ action.get_absolute_url() }" class="btn btn-mini" title="${ _('View workflow action') }" rel="tooltip"><i class="icon-eye-open"></i></a>
+              <a href="${ action.get_absolute_url() }" class="btn btn-mini" title="${ _('View workflow action') }" rel="tooltip"><i class="fa fa-eye"></i></a>
             % endif
-            <a href="${ url('jobbrowser.views.job_single_logs', job=action.externalId) }" class="btn btn-mini" title="${ _('View the logs') }" rel="tooltip" data-row-selector-exclude="true" id="advanced-btn"><i class="icon-tasks"></i></a>
+            <a href="${ url('jobbrowser.views.job_single_logs', job=action.externalId) }" class="btn btn-mini" title="${ _('View the logs') }" rel="tooltip" data-row-selector-exclude="true" id="advanced-btn"><i class="fa fa-tasks"></i></a>
             &nbsp;
           </div>
         </div>

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

@@ -53,7 +53,7 @@ ${ layout.menubar(section='workflows') }
           <div class="control-group ">
             <label class="control-label">
               <a href="#" id="advanced-btn" onclick="$('#advanced-container').toggle('hide')">
-                <i class="icon-share-alt"></i> ${ _('advanced') }
+                <i class="fa fa-share"></i> ${ _('advanced') }
               </a>
             </label>
             <div class="controls"></div>

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

@@ -44,31 +44,31 @@ ${ layout.menubar(section='bundles') }
 
     <%def name="actions()">
       <div class="btn-toolbar" style="display: inline; vertical-align: middle">
-        <button class="btn toolbarBtn" id="submit-btn" disabled="disabled"><i class="icon-play"></i> ${ _('Submit') }</button>
-        <button class="btn toolbarBtn" id="clone-btn" disabled="disabled"><i class="icon-copy"></i> ${ _('Copy') }</button>
+        <button class="btn toolbarBtn" id="submit-btn" disabled="disabled"><i class="fa fa-play"></i> ${ _('Submit') }</button>
+        <button class="btn toolbarBtn" id="clone-btn" disabled="disabled"><i class="fa fa-files-o"></i> ${ _('Copy') }</button>
         <div id="delete-dropdown" class="btn-group" style="vertical-align: middle">
-          <button id="trash-btn" class="btn toolbarBtn" disabled="disabled"><i class="icon-remove"></i> ${_('Move to trash')}</button>
+          <button id="trash-btn" class="btn toolbarBtn" disabled="disabled"><i class="fa fa-times"></i> ${_('Move to trash')}</button>
           <button id="trash-btn-caret" class="btn toolbarBtn dropdown-toggle" data-toggle="dropdown" disabled="disabled">
             <span class="caret"></span>
           </button>
           <ul class="dropdown-menu">
-            <li><a href="javascript:void(0);" id="destroy-btn" title="${_('Delete forever')}"><i class="icon-bolt"></i> ${_('Delete forever')}</a></li>
+            <li><a href="javascript:void(0);" id="destroy-btn" title="${_('Delete forever')}"><i class="fa fa-bolt"></i> ${_('Delete forever')}</a></li>
           </ul>
         </div>
       </div>
     </%def>
 
     <%def name="creation()">
-      <a href="${ url('oozie:create_bundle') }" class="btn"><i class="icon-plus-sign"></i> ${ _('Create') }</a>
+      <a href="${ url('oozie:create_bundle') }" class="btn"><i class="fa fa-plus-circle"></i> ${ _('Create') }</a>
       &nbsp;&nbsp;
-      <a href="${ url('oozie:list_trashed_bundles') }" class="btn"><i class="icon-trash"></i> ${ _('View trash') }</a>
+      <a href="${ url('oozie:list_trashed_bundles') }" class="btn"><i class="fa fa-trash-o"></i> ${ _('View trash') }</a>
     </%def>
   </%actionbar:render>
 
   <table id="bundleTable" class="table datatables">
     <thead>
       <tr>
-        <th width="1%"><div class="hueCheckbox selectAll" data-selectables="bundleCheck"></div></th>
+        <th width="1%"><div class="hueCheckbox selectAll fa" data-selectables="bundleCheck"></div></th>
         <th width="10%">${ _('Name') }</th>
         <th width="20%">${ _('Description') }</th>
         <th width="35%">${ _('Coordinators') }</th>
@@ -82,7 +82,7 @@ ${ layout.menubar(section='bundles') }
       % for bundle in jobs:
         <tr>
           <td data-row-selector-exclude="true">
-            <div class="hueCheckbox bundleCheck" data-row-selector-exclude="true"
+            <div class="hueCheckbox bundleCheck fa" data-row-selector-exclude="true"
               % if bundle.can_read(user):
                   data-clone-url="${ url('oozie:clone_bundle', bundle=bundle.id) }"
                   data-submit-url="${ url('oozie:submit_bundle', bundle=bundle.id) }"
@@ -124,7 +124,7 @@ ${ layout.menubar(section='bundles') }
     <img src="/static/art/spinner-big.gif" />
   <![endif]-->
   <!--[if !IE]> -->
-    <i class="icon-spinner icon-spin"></i>
+    <i class="fa fa-spinner fa-spin"></i>
   <!-- <![endif]-->
 </div>
 
@@ -177,24 +177,24 @@ ${ layout.menubar(section='bundles') }
 
     $(".selectAll").click(function () {
       if ($(this).attr("checked")) {
-        $(this).removeAttr("checked").removeClass("icon-ok");
-        $("." + $(this).data("selectables")).removeClass("icon-ok").removeAttr("checked");
+        $(this).removeAttr("checked").removeClass("fa-check");
+        $("." + $(this).data("selectables")).removeClass("fa-check").removeAttr("checked");
       }
       else {
-        $(this).attr("checked", "checked").addClass("icon-ok");
-        $("." + $(this).data("selectables")).addClass("icon-ok").attr("checked", "checked");
+        $(this).attr("checked", "checked").addClass("fa-check");
+        $("." + $(this).data("selectables")).addClass("fa-check").attr("checked", "checked");
       }
       toggleActions();
     });
 
     $(".bundleCheck").click(function () {
       if ($(this).attr("checked")) {
-        $(this).removeClass("icon-ok").removeAttr("checked");
+        $(this).removeClass("fa-check").removeAttr("checked");
       }
       else {
-        $(this).addClass("icon-ok").attr("checked", "checked");
+        $(this).addClass("fa-check").attr("checked", "checked");
       }
-      $(".selectAll").removeAttr("checked").removeClass("icon-ok");
+      $(".selectAll").removeAttr("checked").removeClass("fa-check");
       toggleActions();
     });
 

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

@@ -43,31 +43,31 @@ ${ layout.menubar(section='coordinators') }
 
     <%def name="actions()">
       <div class="btn-toolbar" style="display: inline; vertical-align: middle">
-        <button class="btn toolbarBtn" id="submit-btn" disabled="disabled"><i class="icon-play"></i> ${ _('Submit') }</button>
-        <button class="btn toolbarBtn" id="clone-btn" disabled="disabled"><i class="icon-copy"></i> ${ _('Copy') }</button>
+        <button class="btn toolbarBtn" id="submit-btn" disabled="disabled"><i class="fa fa-play"></i> ${ _('Submit') }</button>
+        <button class="btn toolbarBtn" id="clone-btn" disabled="disabled"><i class="fa fa-files-o"></i> ${ _('Copy') }</button>
         <div id="delete-dropdown" class="btn-group" style="vertical-align: middle">
-          <button id="trash-btn" class="btn toolbarBtn" disabled="disabled"><i class="icon-remove"></i> ${_('Move to trash')}</button>
+          <button id="trash-btn" class="btn toolbarBtn" disabled="disabled"><i class="fa fa-times"></i> ${_('Move to trash')}</button>
           <button id="trash-btn-caret" class="btn toolbarBtn dropdown-toggle" data-toggle="dropdown" disabled="disabled">
             <span class="caret"></span>
           </button>
           <ul class="dropdown-menu">
-            <li><a href="javascript:void(0);" id="destroy-btn" title="${_('Delete forever')}"><i class="icon-bolt"></i> ${_('Delete forever')}</a></li>
+            <li><a href="javascript:void(0);" id="destroy-btn" title="${_('Delete forever')}"><i class="fa fa-bolt"></i> ${_('Delete forever')}</a></li>
           </ul>
         </div>
       </div>
     </%def>
 
     <%def name="creation()">
-      <a href="${ url('oozie:create_coordinator') }" class="btn"><i class="icon-plus-sign"></i> ${ _('Create') }</a>
+      <a href="${ url('oozie:create_coordinator') }" class="btn"><i class="fa fa-plus-circle"></i> ${ _('Create') }</a>
       &nbsp;&nbsp;
-      <a href="${ url('oozie:list_trashed_coordinators') }" class="btn"><i class="icon-trash"></i> ${ _('View trash') }</a>
+      <a href="${ url('oozie:list_trashed_coordinators') }" class="btn"><i class="fa fa-trash-o"></i> ${ _('View trash') }</a>
     </%def>
   </%actionbar:render>
 
   <table id="coordinatorTable" class="table datatables">
     <thead>
       <tr>
-        <th width="1%"><div class="hueCheckbox selectAll" data-selectables="coordinatorCheck"></div></th>
+        <th width="1%"><div class="hueCheckbox selectAll fa" data-selectables="coordinatorCheck"></div></th>
         <th>${ _('Name') }</th>
         <th>${ _('Description') }</th>
         <th>${ _('Workflow') }</th>
@@ -81,7 +81,7 @@ ${ layout.menubar(section='coordinators') }
       %for coordinator in jobs:
         <tr>
           <td data-row-selector-exclude="true">
-            <div class="hueCheckbox coordinatorCheck" data-row-selector-exclude="true"
+            <div class="hueCheckbox coordinatorCheck fa" data-row-selector-exclude="true"
               % if coordinator.can_read(user):
                   data-clone-url="${ url('oozie:clone_coordinator', coordinator=coordinator.id) }"
                   data-submit-url="${ url('oozie:submit_coordinator', coordinator=coordinator.id) }"
@@ -120,7 +120,7 @@ ${ layout.menubar(section='coordinators') }
     <img src="/static/art/spinner-big.gif" />
   <![endif]-->
   <!--[if !IE]> -->
-    <i class="icon-spinner icon-spin"></i>
+    <i class="fa fa-spinner fa-spin"></i>
   <!-- <![endif]-->
 </div>
 
@@ -173,24 +173,24 @@ ${ layout.menubar(section='coordinators') }
 
     $(".selectAll").click(function () {
       if ($(this).attr("checked")) {
-        $(this).removeAttr("checked").removeClass("icon-ok");
-        $("." + $(this).data("selectables")).removeClass("icon-ok").removeAttr("checked");
+        $(this).removeAttr("checked").removeClass("fa fa-check");
+        $("." + $(this).data("selectables")).removeClass("fa-check").removeAttr("checked");
       }
       else {
-        $(this).attr("checked", "checked").addClass("icon-ok");
-        $("." + $(this).data("selectables")).addClass("icon-ok").attr("checked", "checked");
+        $(this).attr("checked", "checked").addClass("fa-check");
+        $("." + $(this).data("selectables")).addClass("fa-check").attr("checked", "checked");
       }
       toggleActions();
     });
 
     $(".coordinatorCheck").click(function () {
       if ($(this).attr("checked")) {
-        $(this).removeClass("icon-ok").removeAttr("checked");
+        $(this).removeClass("fa-check").removeAttr("checked");
       }
       else {
-        $(this).addClass("icon-ok").attr("checked", "checked");
+        $(this).addClass("fa-check").attr("checked", "checked");
       }
-      $(".selectAll").removeAttr("checked").removeClass("icon-ok");
+      $(".selectAll").removeAttr("checked").removeClass("fa-check");
       toggleActions();
     });
 

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

@@ -38,23 +38,23 @@ ${ layout.menubar(section='bundles') }
     </%def>
 
     <%def name="actions()">
-      <button class="btn toolbarBtn" id="restore-btn" disabled="disabled" title="${ _('Retore the selected bundles') }"><i class="icon-cloud-upload"></i> ${ _('Restore') }</button>
-      <button class="btn toolbarBtn" id="destroy-btn" disabled="disabled" title="${ _('Delete the selected bundles') }"><i class="icon-bolt"></i> ${ _('Delete forever') }</button>
+      <button class="btn toolbarBtn" id="restore-btn" disabled="disabled" title="${ _('Retore the selected bundles') }"><i class="fa fa-cloud-upload"></i> ${ _('Restore') }</button>
+      <button class="btn toolbarBtn" id="destroy-btn" disabled="disabled" title="${ _('Delete the selected bundles') }"><i class="fa fa-bolt"></i> ${ _('Delete forever') }</button>
     </%def>
 
     <%def name="creation()">
       <button class="btn" id="purge-btn" title="${ _('Delete all the bundles') }" data-bind="enabled: availableJobs().length > 0">
-        <i class="icon-fire"></i> ${ _('Empty trash') }
+        <i class="fa fa-fire"></i> ${ _('Empty trash') }
       </button>
       &nbsp;&nbsp;
-      <a href="${ url('oozie:list_bundles') }" id="home-btn" class="btn" title="${ _('Got to bundle manager') }"><i class="icon-home"></i> ${ _('Back') }</a>
+      <a href="${ url('oozie:list_bundles') }" id="home-btn" class="btn" title="${ _('Got to bundle manager') }"><i class="fa fa-home"></i> ${ _('Back') }</a>
     </%def>
   </%actionbar:render>
 
   <table id="bundleTable" class="table datatables">
     <thead>
       <tr>
-        <th width="1%"><div class="hueCheckbox selectAll" data-selectables="bundleCheck"></div></th>
+        <th width="1%"><div class="hueCheckbox selectAll fa" data-selectables="bundleCheck"></div></th>
         <th width="10%">${ _('Name') }</th>
         <th width="20%">${ _('Description') }</th>
         <th width="35%">${ _('Coordinators') }</th>
@@ -68,7 +68,7 @@ ${ layout.menubar(section='bundles') }
       % for bundle in jobs:
         <tr>
           <td data-row-selector-exclude="true">
-            <div class="hueCheckbox bundleCheck" data-row-selector-exclude="true" data-bundle-id="${ bundle.id }"></div>
+            <div class="hueCheckbox bundleCheck fa" data-row-selector-exclude="true" data-bundle-id="${ bundle.id }"></div>
           </td>
           <td>${ bundle.name }</td>
           <td>${ bundle.description }</td>
@@ -156,24 +156,24 @@ ${ layout.menubar(section='bundles') }
 
     $(".selectAll").click(function () {
       if ($(this).attr("checked")) {
-        $(this).removeAttr("checked").removeClass("icon-ok");
-        $("." + $(this).data("selectables")).removeClass("icon-ok").removeAttr("checked");
+        $(this).removeAttr("checked").removeClass("fa-check");
+        $("." + $(this).data("selectables")).removeClass("fa-check").removeAttr("checked");
       }
       else {
-        $(this).attr("checked", "checked").addClass("icon-ok");
-        $("." + $(this).data("selectables")).addClass("icon-ok").attr("checked", "checked");
+        $(this).attr("checked", "checked").addClass("fa-check");
+        $("." + $(this).data("selectables")).addClass("fa-check").attr("checked", "checked");
       }
       toggleActions();
     });
 
     $(".bundleCheck").click(function () {
       if ($(this).attr("checked")) {
-        $(this).removeClass("icon-ok").removeAttr("checked");
+        $(this).removeClass("fa-check").removeAttr("checked");
       }
       else {
-        $(this).addClass("icon-ok").attr("checked", "checked");
+        $(this).addClass("fa-check").attr("checked", "checked");
       }
-      $(".selectAll").removeAttr("checked").removeClass("icon-ok");
+      $(".selectAll").removeAttr("checked").removeClass("fa-check");
       toggleActions();
     });
 

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

@@ -38,18 +38,18 @@ ${ layout.menubar(section='coordinators') }
 
     <%def name="actions()">
         <button class="btn toolbarBtn" id="restore-btn" disabled="disabled" title="${_('Restore the selected coordinators')}">
-          <i class="icon-cloud-upload"></i> ${ _('Restore') }
+          <i class="fa fa-cloud-upload"></i> ${ _('Restore') }
         </button>
         <button class="btn toolbarBtn" id="destroy-btn" disabled="disabled" title="${_('Delete the selected coordinators')}">
-          <i class="icon-bolt"></i> ${ _('Delete forever') }
+          <i class="fa fa-bolt"></i> ${ _('Delete forever') }
         </button>
     </%def>
 
     <%def name="creation()">
-       <button class="btn" id="purge-btn"><i class="icon-fire"></i> ${ _('Empty trash') }</button>
+       <button class="btn" id="purge-btn"><i class="fa fa-fire"></i> ${ _('Empty trash') }</button>
        &nbsp;&nbsp;
        <a href="${ url('oozie:list_coordinators') }" id="home-btn" class="btn" title="${ _('Got to coordinator manager') }">
-         <i class="icon-home"></i> ${ _('Back') }
+         <i class="fa fa-home"></i> ${ _('Back') }
        </a>        
     </%def>
   </%actionbar:render>
@@ -57,7 +57,7 @@ ${ layout.menubar(section='coordinators') }
   <table id="coordinatorTable" class="table datatables">
     <thead>
       <tr>
-        <th width="1%"><div class="hueCheckbox selectAll" data-selectables="coordinatorCheck"></div></th>
+        <th width="1%"><div class="hueCheckbox selectAll fa" data-selectables="coordinatorCheck"></div></th>
         <th>${ _('Name') }</th>
         <th>${ _('Description') }</th>
         <th>${ _('Workflow') }</th>
@@ -71,7 +71,7 @@ ${ layout.menubar(section='coordinators') }
       %for coordinator in jobs:
         <tr>
           <td data-row-selector-exclude="true">
-            <div class="hueCheckbox coordinatorCheck" data-row-selector-exclude="true" data-coordinator-id="${ coordinator.id }"></div>
+            <div class="hueCheckbox coordinatorCheck fa" data-row-selector-exclude="true" data-coordinator-id="${ coordinator.id }"></div>
           </td>
           <td>${ coordinator.name }</td>
           <td>${ coordinator.description }</td>
@@ -158,24 +158,24 @@ ${ layout.menubar(section='coordinators') }
 
     $(".selectAll").click(function () {
       if ($(this).attr("checked")) {
-        $(this).removeAttr("checked").removeClass("icon-ok");
-        $("." + $(this).data("selectables")).removeClass("icon-ok").removeAttr("checked");
+        $(this).removeAttr("checked").removeClass("fa-check");
+        $("." + $(this).data("selectables")).removeClass("fa-check").removeAttr("checked");
       }
       else {
-        $(this).attr("checked", "checked").addClass("icon-ok");
-        $("." + $(this).data("selectables")).addClass("icon-ok").attr("checked", "checked");
+        $(this).attr("checked", "checked").addClass("fa-check");
+        $("." + $(this).data("selectables")).addClass("fa-check").attr("checked", "checked");
       }
       toggleActions();
     });
 
     $(".coordinatorCheck").click(function () {
       if ($(this).attr("checked")) {
-        $(this).removeClass("icon-ok").removeAttr("checked");
+        $(this).removeClass("fa-check").removeAttr("checked");
       }
       else {
-        $(this).addClass("icon-ok").attr("checked", "checked");
+        $(this).addClass("fa-check").attr("checked", "checked");
       }
-      $(".selectAll").removeAttr("checked").removeClass("icon-ok");
+      $(".selectAll").removeAttr("checked").removeClass("fa-check");
       toggleActions();
     });
 

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

@@ -38,19 +38,19 @@ ${ layout.menubar(section='workflows') }
 
     <%def name="actions()">
       <button type="button" id="restore-btn" class="btn toolbarBtn" disabled="disabled" title="${ _('Restore the selected workflows') }">
-        <i class="icon-cloud-upload"></i> ${ _('Restore') }
+        <i class="fa fa-cloud-upload"></i> ${ _('Restore') }
       </button>
       <button type="button" id="destroy-btn" class="btn toolbarBtn" disabled="disabled" title="${ _('Delete the selected workflows') }">
-        <i class="icon-bolt"></i> ${ _('Delete forever') }
+        <i class="fa fa-bolt"></i> ${ _('Delete forever') }
       </button>
     </%def>
 
     <%def name="creation()">
       <button type="button" id="purge-btn" class="btn" title="${ _('Delete all the workflows') }">
-        <i class="icon-fire"></i> ${ _('Empty trash') }
+        <i class="fa fa-fire"></i> ${ _('Empty trash') }
       </button>
       <a href="${ url('oozie:list_workflows') }" id="home-btn" class="btn" title="${ _('Go to workflow manager') }">
-        <i class="icon-home"></i> ${ _('Back') }
+        <i class="fa fa-home"></i> ${ _('Back') }
       </a>
     </%def>
   </%actionbar:render>
@@ -59,7 +59,7 @@ ${ layout.menubar(section='workflows') }
   <table id="workflowTable" class="table datatables">
     <thead>
       <tr>
-        <th width="1%"><div class="hueCheckbox selectAll" data-selectables="workflowCheck"></div></th>
+        <th width="1%"><div class="hueCheckbox selectAll fa" data-selectables="workflowCheck"></div></th>
         <th>${ _('Name') }</th>
         <th>${ _('Description') }</th>
         <th>${ _('Last Modified') }</th>
@@ -72,7 +72,7 @@ ${ layout.menubar(section='workflows') }
       % for workflow in jobs:
         <tr>
           <td data-row-selector-exclude="true">
-             <div class="hueCheckbox workflowCheck" data-row-selector-exclude="true" data-workflow-id="${ workflow.id }"></div>
+             <div class="hueCheckbox workflowCheck fa" data-row-selector-exclude="true" data-workflow-id="${ workflow.id }"></div>
           </td>
           <td>
             ${ workflow.name }
@@ -157,24 +157,24 @@ ${ layout.menubar(section='workflows') }
 
     $(".selectAll").click(function () {
       if ($(this).attr("checked")) {
-        $(this).removeAttr("checked").removeClass("icon-ok");
-        $("." + $(this).data("selectables")).removeClass("icon-ok").removeAttr("checked");
+        $(this).removeAttr("checked").removeClass("fa-check");
+        $("." + $(this).data("selectables")).removeClass("fa-check").removeAttr("checked");
       }
       else {
-        $(this).attr("checked", "checked").addClass("icon-ok");
-        $("." + $(this).data("selectables")).addClass("icon-ok").attr("checked", "checked");
+        $(this).attr("checked", "checked").addClass("fa-check");
+        $("." + $(this).data("selectables")).addClass("fa-check").attr("checked", "checked");
       }
       toggleActions();
     });
 
     $(".workflowCheck").click(function () {
       if ($(this).attr("checked")) {
-        $(this).removeClass("icon-ok").removeAttr("checked");
+        $(this).removeClass("fa-check").removeAttr("checked");
       }
       else {
-        $(this).addClass("icon-ok").attr("checked", "checked");
+        $(this).addClass("fa-check").attr("checked", "checked");
       }
-      $(".selectAll").removeAttr("checked").removeClass("icon-ok");
+      $(".selectAll").removeAttr("checked").removeClass("fa-check");
       toggleActions();
     });
 

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

@@ -43,27 +43,27 @@ ${ layout.menubar(section='workflows') }
 
     <%def name="actions()">
       <div class="btn-toolbar" style="display: inline; vertical-align: middle">
-        <button class="btn toolbarBtn" id="submit-btn" disabled="disabled"><i class="icon-play"></i> ${ _('Submit') }</button>
-        <button class="btn toolbarBtn" id="schedule-btn" disabled="disabled"><i class="icon-calendar"></i> ${ _('Schedule') }</button>
-        <button class="btn toolbarBtn" id="clone-btn" disabled="disabled"><i class="icon-copy"></i> ${ _('Copy') }</button>
-        <button class="btn toolbarBtn" id="export-btn" disabled="disabled"><i class="icon-upload-alt"></i> ${ _('Export') }</button>
+        <button class="btn toolbarBtn" id="submit-btn" disabled="disabled"><i class="fa fa-play"></i> ${ _('Submit') }</button>
+        <button class="btn toolbarBtn" id="schedule-btn" disabled="disabled"><i class="fa fa-calendar"></i> ${ _('Schedule') }</button>
+        <button class="btn toolbarBtn" id="clone-btn" disabled="disabled"><i class="fa fa-files-o"></i> ${ _('Copy') }</button>
+        <button class="btn toolbarBtn" id="export-btn" disabled="disabled"><i class="fa fa-upload"></i> ${ _('Export') }</button>
         <div id="delete-dropdown" class="btn-group" style="vertical-align: middle">
-          <button id="trash-btn" class="btn toolbarBtn" disabled="disabled"><i class="icon-remove"></i> ${_('Move to trash')}</button>
+          <button id="trash-btn" class="btn toolbarBtn" disabled="disabled"><i class="fa fa-times"></i> ${_('Move to trash')}</button>
           <button id="trash-btn-caret" class="btn toolbarBtn dropdown-toggle" data-toggle="dropdown" disabled="disabled">
             <span class="caret"></span>
           </button>
           <ul class="dropdown-menu">
-            <li><a href="javascript:void(0);" id="destroy-btn" title="${_('Delete forever')}"><i class="icon-bolt"></i> ${_('Delete forever')}</a></li>
+            <li><a href="javascript:void(0);" id="destroy-btn" title="${_('Delete forever')}"><i class="fa fa-bolt"></i> ${_('Delete forever')}</a></li>
           </ul>
         </div>
       </div>
     </%def>
 
     <%def name="creation()">
-      <a href="${ url('oozie:create_workflow') }" class="btn"><i class="icon-plus-sign"></i> ${ _('Create') }</a>
-      <a href="${ url('oozie:import_workflow') }" class="btn"><i class="icon-download-alt"></i> ${ _('Import') }</a>      
+      <a href="${ url('oozie:create_workflow') }" class="btn"><i class="fa fa-plus-circle"></i> ${ _('Create') }</a>
+      <a href="${ url('oozie:import_workflow') }" class="btn"><i class="fa fa-download"></i> ${ _('Import') }</a>
       &nbsp;&nbsp;
-      <a href="${ url('oozie:list_trashed_workflows') }" class="btn"><i class="icon-trash"></i> ${ _('Trash') }</a>
+      <a href="${ url('oozie:list_trashed_workflows') }" class="btn"><i class="fa fa-trash-o"></i> ${ _('Trash') }</a>
     </%def>
   </%actionbar:render>
 
@@ -71,7 +71,7 @@ ${ layout.menubar(section='workflows') }
   <table id="workflowTable" class="table datatables">
     <thead>
       <tr>
-        <th width="1%"><div class="hueCheckbox selectAll" data-selectables="workflowCheck"></div></th>
+        <th width="1%"><div class="hueCheckbox selectAll fa" data-selectables="workflowCheck"></div></th>
         <th>${ _('Name') }</th>
         <th>${ _('Description') }</th>
         <th>${ _('Last Modified') }</th>
@@ -84,7 +84,7 @@ ${ layout.menubar(section='workflows') }
       % for workflow in jobs:
         <tr>
           <td data-row-selector-exclude="true">
-             <div class="hueCheckbox workflowCheck" data-row-selector-exclude="true"
+             <div class="hueCheckbox workflowCheck fa" data-row-selector-exclude="true"
               % if workflow.can_read(user):
                   data-submit-url="${ url('oozie:submit_workflow', workflow=workflow.id) }"
                   data-schedule-url="${ url('oozie:schedule_workflow', workflow=workflow.id) }"
@@ -123,7 +123,7 @@ ${ layout.menubar(section='workflows') }
     <img src="/static/art/spinner-big.gif" />
   <![endif]-->
   <!--[if !IE]> -->
-    <i class="icon-spinner icon-spin"></i>
+    <i class="fa fa-spinner fa-spin"></i>
   <!-- <![endif]-->
 </div>
 
@@ -177,24 +177,24 @@ ${ layout.menubar(section='workflows') }
 
     $(".selectAll").click(function () {
       if ($(this).attr("checked")) {
-        $(this).removeAttr("checked").removeClass("icon-ok");
-        $("." + $(this).data("selectables")).removeClass("icon-ok").removeAttr("checked");
+        $(this).removeAttr("checked").removeClass("fa-check");
+        $("." + $(this).data("selectables")).removeClass("fa-check").removeAttr("checked");
       }
       else {
-        $(this).attr("checked", "checked").addClass("icon-ok");
-        $("." + $(this).data("selectables")).addClass("icon-ok").attr("checked", "checked");
+        $(this).attr("checked", "checked").addClass("fa-check");
+        $("." + $(this).data("selectables")).addClass("fa-check").attr("checked", "checked");
       }
       toggleActions();
     });
 
     $(".workflowCheck").click(function () {
       if ($(this).attr("checked")) {
-        $(this).removeClass("icon-ok").removeAttr("checked");
+        $(this).removeClass("fa-check").removeAttr("checked");
       }
       else {
-        $(this).addClass("icon-ok").attr("checked", "checked");
+        $(this).addClass("fa-check").attr("checked", "checked");
       }
-      $(".selectAll").removeAttr("checked").removeClass("icon-ok");
+      $(".selectAll").removeAttr("checked").removeClass("fa-check");
       toggleActions();
     });
 

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

@@ -386,7 +386,7 @@
       $(".date:not('.input-append')").each(function () {
         $(this).removeClass("date").addClass("dateInput").wrap($("<div>").addClass("input-append").addClass("date").css("marginRight", "8px"));
         $(this).parent().data("date", $(this).val());
-        $("<span>").addClass("add-on").html('<i class="icon-th"></i>').appendTo($(this).parent());
+        $("<span>").addClass("add-on").html('<i class="fa fa-th"></i>').appendTo($(this).parent());
       });
 
       $("input[name='end_0']").data("original-val", $("input[name='end_0']").val());
@@ -414,7 +414,7 @@
 
       $(".time:not('.input-append')").each(function () {
         $(this).attr("class", "input-mini timepicker-default").wrap($("<div>").addClass("input-append").addClass("date").addClass("bootstrap-timepicker-component"));
-        $("<span>").addClass("add-on").html('<i class="icon-time"></i>').appendTo($(this).parent());
+        $("<span>").addClass("add-on").html('<i class="fa fa-clock-o"></i>').appendTo($(this).parent());
       });
 
       $(".timepicker-default").timepicker({

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

@@ -51,13 +51,13 @@ ${ commonheader(None, "pig", user) | n,unicode }
         </%def>
 
         <%def name="actions()">
-            <button class="btn fileToolbarBtn" title="${_('Run this script')}" data-bind="enable: selectedScripts().length == 1, click: listRunScript, visible: scripts().length > 0"><i class="icon-play"></i> ${_('Run')}</button>
-            <button class="btn fileToolbarBtn" title="${_('Copy this script')}" data-bind="enable: selectedScripts().length == 1, click: listCopyScript, visible: scripts().length > 0"><i class="icon-copy"></i> ${_('Copy')}</button>
-            <button class="btn fileToolbarBtn" title="${_('Delete this script')}" data-bind="enable: selectedScripts().length > 0, click: listConfirmDeleteScripts, visible: scripts().length > 0"><i class="icon-trash"></i> ${_('Delete')}</button>
+            <button class="btn fileToolbarBtn" title="${_('Run this script')}" data-bind="enable: selectedScripts().length == 1, click: listRunScript, visible: scripts().length > 0"><i class="fa fa-play"></i> ${_('Run')}</button>
+            <button class="btn fileToolbarBtn" title="${_('Copy this script')}" data-bind="enable: selectedScripts().length == 1, click: listCopyScript, visible: scripts().length > 0"><i class="fa fa-files-o"></i> ${_('Copy')}</button>
+            <button class="btn fileToolbarBtn" title="${_('Delete this script')}" data-bind="enable: selectedScripts().length > 0, click: listConfirmDeleteScripts, visible: scripts().length > 0"><i class="fa fa-trash-o"></i> ${_('Delete')}</button>
         </%def>
 
         <%def name="creation()">
-            <button class="btn fileToolbarBtn" title="${_('Create a new script')}" data-bind="click: confirmNewScript"><i class="icon-plus-sign"></i> ${_('New Script')}</button>
+            <button class="btn fileToolbarBtn" title="${_('Create a new script')}" data-bind="click: confirmNewScript"><i class="fa fa-plus-circle"></i> ${_('New Script')}</button>
         </%def>
       </%actionbar:render>
       <div class="alert alert-info" data-bind="visible: scripts().length == 0">
@@ -67,7 +67,7 @@ ${ commonheader(None, "pig", user) | n,unicode }
       <table class="table table-striped table-condensed tablescroller-disable" data-bind="visible: scripts().length > 0">
         <thead>
         <tr>
-          <th width="1%"><div data-bind="click: selectAll, css: {hueCheckbox: true, 'icon-ok': allSelected}"></div></th>
+          <th width="1%"><div data-bind="click: selectAll, css: {hueCheckbox: true, 'fa': true, 'fa-check': allSelected}"></div></th>
           <th width="20%">${_('Name')}</th>
           <th width="79%">${_('Script')}</th>
         </tr>
@@ -94,7 +94,7 @@ ${ commonheader(None, "pig", user) | n,unicode }
       <script id="scriptTemplate" type="text/html">
         <tr style="cursor: pointer" data-bind="event: { mouseover: toggleHover, mouseout: toggleHover}">
           <td class="center" data-bind="click: handleSelect" style="cursor: default">
-            <div data-bind="css: {hueCheckbox: true, 'icon-ok': selected}"></div>
+            <div data-bind="css: {hueCheckbox: true, 'fa': true, 'fa-check': selected}"></div>
           </td>
           <td data-bind="click: $root.confirmViewScript">
             <strong><a href="#" data-bind="click: $root.confirmViewScript, text: name"></a></strong>
@@ -113,51 +113,51 @@ ${ commonheader(None, "pig", user) | n,unicode }
           <ul class="nav nav-list">
             <li class="nav-header">${_('Editor')}</li>
             <li data-bind="click: editScript" class="active" data-section="edit">
-              <a href="#"><i class="icon-edit"></i> ${ _('Pig') }</a>
+              <a href="#"><i class="fa fa-edit"></i> ${ _('Pig') }</a>
             </li>
             <li data-bind="click: editScriptProperties" data-section="properties">
-              <a href="#"><i class="icon-reorder"></i> ${ _('Properties') }</a>
+              <a href="#"><i class="fa fa-reorder"></i> ${ _('Properties') }</a>
             </li>
             <li data-bind="click: saveScript">
               <a href="#" title="${ _('Save the script') }" rel="tooltip" data-placement="right">
-                <i class="icon-save"></i> ${ _('Save') }
+                <i class="fa fa-floppy-o"></i> ${ _('Save') }
               </a>
             </li>
             <li class="nav-header">${_('Run')}</li>
             <li data-bind="click: runOrShowSubmissionModal, visible: !currentScript().isRunning()">
               <a href="#" title="${ _('Run the script') }" rel="tooltip" data-placement="right">
-                <i class="icon-play"></i> ${ _('Submit') }
+                <i class="fa fa-play"></i> ${ _('Submit') }
               </a>
             </li>
             <li data-bind="click: showStopModal, visible: currentScript().isRunning()">
               <a href="#" title="${ _('Stop the script') }" rel="tooltip" data-placement="right" class="disabled">
-                <i class="icon-ban-circle"></i> ${ _('Stop') }
+                <i class="fa fa-ban"></i> ${ _('Stop') }
               </a>
             </li>
             <li data-bind="click: showScriptLogs" data-section="logs">
               <a href="#" title="${ _('Show Logs') }" rel="tooltip" data-placement="right">
-                <i class="icon-tasks"></i> ${ _('Logs') }
+                <i class="fa fa-tasks"></i> ${ _('Logs') }
               </a>
             </li>
             <li class="nav-header">${_('File')}</li>
             <li data-bind="visible: currentScript().id() != -1, click: copyScript">
               <a href="#" title="${ _('Copy the script') }" rel="tooltip" data-placement="right">
-                <i class="icon-copy"></i> ${ _('Copy') }
+                <i class="fa fa-files-o"></i> ${ _('Copy') }
               </a>
             </li>
             <li data-bind="visible: currentScript().id() != -1, click: confirmDeleteScript">
               <a href="#" title="${ _('Delete the script') }" rel="tooltip" data-placement="right">
-                <i class="icon-trash"></i> ${ _('Delete') }
+                <i class="fa fa-trash-o"></i> ${ _('Delete') }
               </a>
             </li>
             <li data-bind="click: confirmNewScript">
               <a href="#" title="${ _('New script') }" rel="tooltip" data-placement="right">
-                <i class="icon-plus-sign"></i> ${ _('Script') }
+                <i class="fa fa-plus-circle"></i> ${ _('Script') }
               </a>
             </li>
             <li>
             <a href="#" id="help">
-              <i class="icon-question-sign"></i>
+              <i class="fa fa-question-circle"></i>
             </a>
             <div id="help-content" class="hide">
               <ul style="text-align: left;">
@@ -179,8 +179,8 @@ ${ commonheader(None, "pig", user) | n,unicode }
 
       <div id="edit" class="section">
         <div class="alert alert-info">
-          <a class="mainAction" href="#" title="${ _('Run this script') }" data-bind="click: runOrShowSubmissionModal, visible: !currentScript().isRunning()"><i class="icon-play"></i></a>
-          <a class="mainAction" href="#" title="${ _('Stop this script') }" data-bind="click: showStopModal, visible: currentScript().isRunning()"><i class="icon-stop"></i></a>
+          <a class="mainAction" href="#" title="${ _('Run this script') }" data-bind="click: runOrShowSubmissionModal, visible: !currentScript().isRunning()"><i class="fa fa-play"></i></a>
+          <a class="mainAction" href="#" title="${ _('Stop this script') }" data-bind="click: showStopModal, visible: currentScript().isRunning()"><i class="fa fa-stop"></i></a>
           <h3><span data-bind="text: currentScript().name"></span></h3>
         </div>
         <div class="row-fluid">
@@ -190,7 +190,7 @@ ${ commonheader(None, "pig", user) | n,unicode }
             </form>
           </div>
           <div class="span3">
-            <a href="#" title="${_('Double click on function to insert it in the editor')}" rel="tooltip" data-placement="left" class="pull-right" style="margin:10px;margin-left: 0"><i class="icon-question-sign"></i></a>
+            <a href="#" title="${_('Double click on function to insert it in the editor')}" rel="tooltip" data-placement="left" class="pull-right" style="margin:10px;margin-left: 0"><i class="fa fa-question-circle"></i></a>
             <h1 class="card-heading simple">${_('Navigator')}</h1>
             <div class="card-body">
               <p>
@@ -334,8 +334,8 @@ ${ commonheader(None, "pig", user) | n,unicode }
 
       <div id="properties" class="section hide">
         <div class="alert alert-info">
-          <a class="mainAction" href="#" title="${ _('Run this script') }" data-bind="click: runOrShowSubmissionModal, visible: !currentScript().isRunning()"><i class="icon-play"></i></a>
-          <a class="mainAction" href="#" title="${ _('Stop this script') }" data-bind="click: showStopModal, visible: currentScript().isRunning()"><i class="icon-stop"></i></a>
+          <a class="mainAction" href="#" title="${ _('Run this script') }" data-bind="click: runOrShowSubmissionModal, visible: !currentScript().isRunning()"><i class="fa fa-play"></i></a>
+          <a class="mainAction" href="#" title="${ _('Stop this script') }" data-bind="click: showStopModal, visible: currentScript().isRunning()"><i class="fa fa-stop"></i></a>
           <h3><span data-bind="text: currentScript().name"></span></h3>
         </div>
         <form class="form-inline" style="padding-left: 10px">
@@ -347,7 +347,7 @@ ${ commonheader(None, "pig", user) | n,unicode }
           <br/>
           <br/>
 
-          <h4>${ _('Parameters') } &nbsp; <i id="parameters-dyk" class="icon-question-sign"></i></h4>
+          <h4>${ _('Parameters') } &nbsp; <i id="parameters-dyk" class="fa fa-question-circle"></i></h4>
           <div id="parameters-dyk-content" class="hide">
             <ul style="text-align: left;">
               <li>input /user/data</li>
@@ -362,7 +362,7 @@ ${ commonheader(None, "pig", user) | n,unicode }
                 <td>
                   ${ _('There are currently no defined parameters.') }
                   <button class="btn" data-bind="click: currentScript().addParameter" style="margin-left: 4px">
-                    <i class="icon-plus"></i> ${ _('Add') }
+                    <i class="fa fa-plus"></i> ${ _('Add') }
                   </button>
                 </td>
               </tr>
@@ -384,13 +384,13 @@ ${ commonheader(None, "pig", user) | n,unicode }
                       <button class="btn fileChooserBtn" data-bind="click: $root.showFileChooser">..</button>
                     </div>
                   </td>
-                  <td><button data-bind="click: viewModel.currentScript().removeParameter" class="btn"><i class="icon-trash"></i> ${ _('Remove') }</button></td>
+                  <td><button data-bind="click: viewModel.currentScript().removeParameter" class="btn"><i class="fa fa-trash-o"></i> ${ _('Remove') }</button></td>
                 </tr>
               </tbody>
               <tfoot data-bind="visible: currentScript().parameters().length > 0">
                 <tr>
                   <td colspan="3">
-                    <button class="btn" data-bind="click: currentScript().addParameter"><i class="icon-plus"></i> ${ _('Add') }</button>
+                    <button class="btn" data-bind="click: currentScript().addParameter"><i class="fa fa-plus"></i> ${ _('Add') }</button>
                   </td>
                 </tr>
               </tfoot>
@@ -398,7 +398,7 @@ ${ commonheader(None, "pig", user) | n,unicode }
           </div>
 
           <br/>
-          <h4>${ _('Hadoop properties') } &nbsp; <i id="properties-dyk" class="icon-question-sign"></i></h4>
+          <h4>${ _('Hadoop properties') } &nbsp; <i id="properties-dyk" class="fa fa-question-circle"></i></h4>
           <div id="properties-dyk-content" class="hide">
             <ul style="text-align: left; word-wrap:break-word">
               <li>mapred.job.queue.name production</li>
@@ -411,7 +411,7 @@ ${ commonheader(None, "pig", user) | n,unicode }
                 <td>
                   ${ _('There are currently no defined Hadoop properties.') }
                   <button class="btn" data-bind="click: currentScript().addHadoopProperties" style="margin-left: 4px">
-                    <i class="icon-plus"></i> ${ _('Add') }
+                    <i class="fa fa-plus"></i> ${ _('Add') }
                   </button>
                 </td>
               </tr>
@@ -433,13 +433,13 @@ ${ commonheader(None, "pig", user) | n,unicode }
                       <button class="btn fileChooserBtn" data-bind="click: $root.showFileChooser">..</button>
                     </div>
                   </td>
-                  <td><button data-bind="click: viewModel.currentScript().removeHadoopProperties" class="btn"><i class="icon-trash"></i> ${ _('Remove') }</button></td>
+                  <td><button data-bind="click: viewModel.currentScript().removeHadoopProperties" class="btn"><i class="fa fa-trash-o"></i> ${ _('Remove') }</button></td>
                 </tr>
               </tbody>
               <tfoot data-bind="visible: currentScript().hadoopProperties().length > 0">
                 <tr>
                   <td colspan="3">
-                    <button class="btn" data-bind="click: currentScript().addHadoopProperties"><i class="icon-plus"></i> ${ _('Add') }</button>
+                    <button class="btn" data-bind="click: currentScript().addHadoopProperties"><i class="fa fa-plus"></i> ${ _('Add') }</button>
                   </td>
                 </tr>
               </tfoot>
@@ -448,7 +448,7 @@ ${ commonheader(None, "pig", user) | n,unicode }
 
           <br/>
 
-          <h4>${ _('Resources') } &nbsp; <i id="resources-dyk" class="icon-question-sign"></i></h4>
+          <h4>${ _('Resources') } &nbsp; <i id="resources-dyk" class="fa fa-question-circle"></i></h4>
           <div id="resources-dyk-content" class="hide">
             <ul style="text-align: left;">
               <li>${ _("Path to a HDFS file or zip file to add to the workspace of the running script") }</li>
@@ -460,7 +460,7 @@ ${ commonheader(None, "pig", user) | n,unicode }
                 <td>
                   ${ _('There are currently no defined resources.') }
                   <button class="btn" data-bind="click: currentScript().addResource" style="margin-left: 4px">
-                    <i class="icon-plus"></i> ${ _('Add') }
+                    <i class="fa fa-plus"></i> ${ _('Add') }
                   </button>
                 </td>
               </tr>
@@ -490,14 +490,14 @@ ${ commonheader(None, "pig", user) | n,unicode }
                   </td>
                   <td>
                     <button data-bind="click: viewModel.currentScript().removeResource" class="btn">
-                    <i class="icon-trash"></i> ${ _('Remove') }</button>
+                    <i class="fa fa-trash-o"></i> ${ _('Remove') }</button>
                   </td>
                 </tr>
               </tbody>
               <tfoot data-bind="visible: currentScript().resources().length > 0">
                 <tr>
                   <td colspan="3">
-                    <button class="btn" data-bind="click: currentScript().addResource"><i class="icon-plus"></i> ${ _('Add') }</button>
+                    <button class="btn" data-bind="click: currentScript().addResource"><i class="fa fa-plus"></i> ${ _('Add') }</button>
                   </td>
                 </tr>
               </tfoot>
@@ -508,14 +508,14 @@ ${ commonheader(None, "pig", user) | n,unicode }
 
       <div id="logs" class="section hide">
           <div class="alert alert-info">
-            <a class="mainAction" href="#" title="${ _('Stop this script') }" data-bind="click: showStopModal, visible: currentScript().isRunning()"><i class="icon-stop"></i></a>
+            <a class="mainAction" href="#" title="${ _('Stop this script') }" data-bind="click: showStopModal, visible: currentScript().isRunning()"><i class="fa fa-stop"></i></a>
             <h3><span data-bind="text: currentScript().name"></span></h3>
           </div>
           <div data-bind="template: {name: 'logTemplate', foreach: currentScript().actions}"></div>
           <script id="logTemplate" type="text/html">
             <div data-bind="css:{'alert-modified': name != '', 'alert': name != '', 'alert-success': status == 'SUCCEEDED' || status == 'OK', 'alert-error': status != 'RUNNING' && status != 'SUCCEEDED' && status != 'OK' && status != 'PREP' && status != 'SUSPENDED'}">
               <div class="pull-right">
-                  ${ _('Status:') } <a data-bind="text: status, visible: absoluteUrl != '', attr: {'href': absoluteUrl}" target="_blank"/> <i class="icon-share-alt"></i>
+                  ${ _('Status:') } <a data-bind="text: status, visible: absoluteUrl != '', attr: {'href': absoluteUrl}" target="_blank"/> <i class="fa fa-share"></i>
               </div>
               <h4>${ _('Progress:') } <span data-bind="text: progress"></span>${ _('%') }</h4>
               <div data-bind="css: {'progress': name != '', 'progress-striped': name != '', 'active': status == 'RUNNING'}" style="margin-top:10px">
@@ -590,7 +590,7 @@ ${ commonheader(None, "pig", user) | n,unicode }
           </div>
         </td>
         <td data-bind="text: created"></td>
-        <td data-bind="click: $root.showLogs"><i class="icon-tasks"></i></td>
+        <td data-bind="click: $root.showLogs"><i class="fa fa-tasks"></i></td>
       </tr>
     </script>
 
@@ -959,11 +959,11 @@ ${ commonheader(None, "pig", user) | n,unicode }
         if (data.error == null) {
           $(data.files).each(function (cnt, item) {
             if (item.name != ".") {
-              var _ico = "icon-file-alt";
+              var _ico = "fa-file-o";
               if (item.type == "dir") {
-                _ico = "icon-folder-close";
+                _ico = "fa-folder";
               }
-              CodeMirror.currentFiles.push('<i class="' + _ico + '"></i> ' + item.name);
+              CodeMirror.currentFiles.push('<i class="fa ' + _ico + '"></i> ' + item.name);
             }
           });
           CodeMirror.isPath = true;
@@ -1142,7 +1142,7 @@ ${ commonheader(None, "pig", user) | n,unicode }
           var _lineNo = line.match(/[Ll]ine \d*/) != null ? line.match(/[Ll]ine \d*/)[0].split(" ")[1] * 1 : -1;
           var _colNo = line.match(/[Cc]olumn \d*/) != null ? line.match(/[Cc]olumn \d*/)[0].split(" ")[1] * 1 : -1;
           if (_lineNo != -1 && _colNo != -1 && errorWidget == null) {
-            errorWidget = codeMirror.addLineWidget(_lineNo - 1, $("<div>").addClass("editorError").html("<i class='icon-exclamation-sign'></i> " + line)[0], {coverGutter: true, noHScroll: true});
+            errorWidget = codeMirror.addLineWidget(_lineNo - 1, $("<div>").addClass("editorError").html("<i class='fa fa-exclamation-circle'></i> " + line)[0], {coverGutter: true, noHScroll: true});
             codeMirror.setSelection({line: _lineNo - 1, ch: _colNo}, {line: _lineNo - 1, ch: _colNo + codeMirror.getLine(_lineNo - 1).substring(_colNo).split(" ")[0].length});
             $(document).trigger("showEditor");
           }

+ 12 - 12
apps/search/src/search/templates/admin_collection_facets.mako

@@ -94,7 +94,7 @@ ${ commonheader(_('Search'), "search", user, "29px") | n,unicode }
             <div class="bubble">
               <strong><span data-bind="editable: label"></span></strong>
               <span style="color:#666;font-size: 12px">(<span data-bind="text: field"></span>)</span>
-              <a class="btn btn-small" data-bind="click: $root.removeFieldFacet"><i class="icon-trash"></i></a>
+              <a class="btn btn-small" data-bind="click: $root.removeFieldFacet"><i class="fa fa-trash-o"></i></a>
             </div>
           </div>
           <div class="clearfix"></div>
@@ -105,7 +105,7 @@ ${ commonheader(_('Search'), "search", user, "29px") | n,unicode }
             <input id="selectedFieldLabel" type="text" data-bind="value: selectedFieldLabel" class="input" />
             <br/>
             <br/>
-            <a class="btn" data-bind="click: $root.addFieldFacet"><i class="icon-plus-sign"></i> ${_('Add to Field Facets')}</a>
+            <a class="btn" data-bind="click: $root.addFieldFacet"><i class="fa fa-plus-circle"></i> ${_('Add to Field Facets')}</a>
             &nbsp;<span id="field-facet-error" class="label label-important hide">${_('The field you are trying to add is already in the list.')}</span>
           </div>
         </div>
@@ -118,10 +118,10 @@ ${ commonheader(_('Search'), "search", user, "29px") | n,unicode }
           <div class="bubble">
             <strong><span data-bind="editable: label"></span></strong>
             <span style="color:#666;font-size: 12px">
-              (<span data-bind="text: field"></span>, <span data-bind="editable: start"></span> <i class="icon-double-angle-right"></i> <span data-bind="editable: end"></span>,
-              <i class="icon-resize-horizontal"></i> <span data-bind="editable: gap"></span>)
+              (<span data-bind="text: field"></span>, <span data-bind="editable: start"></span> <i class="fa fa-double-angle-right"></i> <span data-bind="editable: end"></span>,
+              <i class="fa fa-resize-horizontal"></i> <span data-bind="editable: gap"></span>)
             </span>
-            <a class="btn btn-small" data-bind="click: $root.removeRangeFacet"><i class="icon-trash"></i></a>
+            <a class="btn btn-small" data-bind="click: $root.removeRangeFacet"><i class="fa fa-trash-o"></i></a>
           </div>
         </div>
         <div class="clearfix"></div>
@@ -140,7 +140,7 @@ ${ commonheader(_('Search'), "search", user, "29px") | n,unicode }
           <input type="number" data-bind="value: selectedRangeGapFacet" class="input-mini" />
           <br/>
           <br/>
-          <a class="btn" data-bind="click: $root.addRangeFacet"><i class="icon-plus-sign"></i> ${_('Add to Range Facets')}</a>
+          <a class="btn" data-bind="click: $root.addRangeFacet"><i class="fa fa-plus-circle"></i> ${_('Add to Range Facets')}</a>
         </div>
       </div>
 
@@ -152,10 +152,10 @@ ${ commonheader(_('Search'), "search", user, "29px") | n,unicode }
           <div class="bubble">
             <strong><span data-bind="editable: label"></span></strong>
             <span style="color:#666;font-size: 12px">
-              (<span data-bind="text: field"></span>, <span data-bind="editable: start"></span> <i class="icon-double-angle-right"></i> <span data-bind="editable: end"></span>,
-              <i class="icon-resize-horizontal"></i> <span data-bind="editable: gap"></span>, <i class="icon-calendar"></i> <span data-bind="editable: format"></span>)
+              (<span data-bind="text: field"></span>, <span data-bind="editable: start"></span> <i class="fa fa-double-angle-right"></i> <span data-bind="editable: end"></span>,
+              <i class="fa fa-resize-horizontal"></i> <span data-bind="editable: gap"></span>, <i class="fa fa-calendar"></i> <span data-bind="editable: format"></span>)
             </span>
-            <a class="btn btn-small" data-bind="click: $root.removeDateFacet"><i class="icon-trash"></i></a>
+            <a class="btn btn-small" data-bind="click: $root.removeDateFacet"><i class="fa fa-trash-o"></i></a>
           </div>
         </div>
         <div class="clearfix"></div>
@@ -181,10 +181,10 @@ ${ commonheader(_('Search'), "search", user, "29px") | n,unicode }
           <br/>
           <br/>
           ${_('Date format')}
-          <input id="dateFormatInput" type="text" data-bind="value: selectedDateFormat" class="input" /> <a href="#formatHelpModal" class="btn btn-mini" data-toggle="modal"><i class="icon-question-sign"></i></a>
+          <input id="dateFormatInput" type="text" data-bind="value: selectedDateFormat" class="input" /> <a href="#formatHelpModal" class="btn btn-mini" data-toggle="modal"><i class="fa fa-question-circle"></i></a>
           <br/>
           <br/>
-          <a class="btn" data-bind="click: $root.addDateFacet"><i class="icon-plus-sign"></i> ${_('Add to Date Facets')}</a>
+          <a class="btn" data-bind="click: $root.addDateFacet"><i class="fa fa-plus-circle"></i> ${_('Add to Date Facets')}</a>
         </div>
       </div>
 
@@ -194,7 +194,7 @@ ${ commonheader(_('Search'), "search", user, "29px") | n,unicode }
         </div>
         <div data-bind="sortable: sortableFacets, afterMove: isSaveBtnVisible(true)">
           <div class="bubble" style="float: none;cursor: move">
-            <i class="icon-move"></i>
+            <i class="fa fa-move"></i>
             <strong><span data-bind="text: label"></span></strong>
             <span style="color:#666;font-size: 12px">(<span data-bind="text: field"></span>)</span>
           </div>

+ 6 - 6
apps/search/src/search/templates/admin_collection_sorting.mako

@@ -61,12 +61,12 @@ ${ commonheader(_('Search'), "search", user, "29px") | n,unicode }
         </div>
         <div data-bind="sortable: sortingFields">
           <div class="bubble" style="cursor: move">
-            <i class="icon-move"></i>
+            <i class="fa fa-move"></i>
             <strong><span data-bind="editable: label"></span></strong>
             <span style="color:#666;font-size: 12px">
-              (<span data-bind="text: field"></span> <i class="icon-arrow-up" data-bind="visible: asc() == true"></i><i class="icon-arrow-down" data-bind="visible: asc() == false"></i> <span data-bind="editable: order"></span>, <input type="checkbox" data-bind="checked: include" style="margin-top:0" /> ${_('Default sorting')} )
+              (<span data-bind="text: field"></span> <i class="fa fa-arrow-up" data-bind="visible: asc() == true"></i><i class="fa fa-arrow-down" data-bind="visible: asc() == false"></i> <span data-bind="editable: order"></span>, <input type="checkbox" data-bind="checked: include" style="margin-top:0" /> ${_('Default sorting')} )
             </span>
-            <a class="btn btn-small" data-bind="click: $root.removeSortingField"><i class="icon-trash"></i></a>
+            <a class="btn btn-small" data-bind="click: $root.removeSortingField"><i class="fa fa-trash-o"></i></a>
           </div>
         </div>
         <div class="clearfix"></div>
@@ -77,15 +77,15 @@ ${ commonheader(_('Search'), "search", user, "29px") | n,unicode }
           <input id="newFieldLabel" type="text" data-bind="value: newFieldLabel" class="input" />
           &nbsp;${_('Sorting')}
           <div class="btn-group" style="display: inline">
-            <button id="newFieldAsc" type="button" data-bind="css: {'active': newFieldAscDesc() == 'asc', 'btn': true}"><i class="icon-arrow-up"></i></button>
-            <button id="newFieldDesc" type="button" data-bind="css: {'active': newFieldAscDesc() == 'desc', 'btn': true}"><i class="icon-arrow-down"></i></button>
+            <button id="newFieldAsc" type="button" data-bind="css: {'active': newFieldAscDesc() == 'asc', 'btn': true}"><i class="fa fa-arrow-up"></i></button>
+            <button id="newFieldDesc" type="button" data-bind="css: {'active': newFieldAscDesc() == 'desc', 'btn': true}"><i class="fa fa-arrow-down"></i></button>
           </div>
           <label class="checkbox" style="display: inline">
             <input id="newFieldInclude" type="checkbox" style="float:none;margin-left:0;margin-top: -2px;margin-right: 4px"  data-bind="checked: newFieldIncludeInSorting" /> ${_('Include in default sorting')}
           </label>
           <br/>
           <br/>
-          <a class="btn" data-bind="click: $root.addSortingField"><i class="icon-plus-sign"></i> ${_('Add to Sorting')}</a>
+          <a class="btn" data-bind="click: $root.addSortingField"><i class="fa fa-plus-circle"></i> ${_('Add to Sorting')}</a>
         </div>
       </div>
 

+ 6 - 6
apps/search/src/search/templates/admin_collection_template.mako

@@ -160,12 +160,12 @@ ${ commonheader(_('Search'), "search", user, "29px") | n,unicode }
             <div id="content-editor" class="clear">${ hue_collection.result.get_template() | n,unicode }</div>
             <div id="cloud-template" class="btn-group">
               <a title="${_('Cloud Template')}" class="btn toolbar-btn toolbar-cmd">
-                <i class="icon-cloud-download" style="margin-top:2px;"></i>
+                <i class="fa fa-cloud-download" style="margin-top:2px;"></i>
               </a>
             </div>
             <div id="load-template" class="btn-group">
               <a title="${_('Layout')}" class="btn toolbar-btn toolbar-cmd">
-                <i class="icon-th-large" style="margin-top:2px;"></i>
+                <i class="fa fa-th-large" style="margin-top:2px;"></i>
               </a>
             </div>
           </div>
@@ -176,7 +176,7 @@ ${ commonheader(_('Search'), "search", user, "29px") | n,unicode }
                 <p>
                   <select data-bind="options: availableFields, value: selectedVisualField" class="input-large chosen-select"></select>
                   <button title="${ _('Click on this button to add the field') }" class="btn plus-btn" data-bind="click: $root.addFieldToVisual">
-                    <i class="icon-plus"></i>
+                    <i class="fa fa-plus"></i>
                   </button>
                   <div class="clearfix"></div>
                 </p>
@@ -200,7 +200,7 @@ ${ commonheader(_('Search'), "search", user, "29px") | n,unicode }
                   <option title="${ _('Truncate a value after 500 characters') }" value="{{#truncate500}} {{/truncate500}}">{{#truncate500}}</option>
                 </select>
                 <button title="${ _('Click on this button to add the field') }" class="btn plus-btn" data-bind="click: $root.addFunctionToVisual">
-                  <i class="icon-plus"></i>
+                  <i class="fa fa-plus"></i>
                 </button>
                 <div class="clearfix"></div>
                 <p class="muted" style="margin-top: 10px"></p>
@@ -222,7 +222,7 @@ ${ commonheader(_('Search'), "search", user, "29px") | n,unicode }
                 <p>
                   <select data-bind="options: availableFields, value: selectedSourceField" class="input-medium chosen-select"></select>
                   <button title="${ _('Click on this button to add the field') }" class="btn plus-btn" data-bind="click: $root.addFieldToSource">
-                    <i class="icon-plus"></i>
+                    <i class="fa fa-plus"></i>
                   </button>
                   <div class="clearfix"></div>
                 </p>
@@ -246,7 +246,7 @@ ${ commonheader(_('Search'), "search", user, "29px") | n,unicode }
                   <option title="${ _('Truncate a value after 500 characters') }" value="{{#truncate500}} {{/truncate500}}">{{#truncate500}}</option>
                 </select>
                 <button title="${ _('Click on this button to add the field') }" class="btn plus-btn" data-bind="click: $root.addFunctionToSource">
-                  <i class="icon-plus"></i>
+                  <i class="fa fa-plus"></i>
                 </button>
                 <div class="clearfix"></div>
                 <p class="muted" style="margin-top: 10px"></p>

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

@@ -28,7 +28,7 @@ ${ commonheader(_('Search'), "search", user, "29px") | n,unicode }
 
 <div class="search-bar" style="height: 30px">
     <div class="pull-right" style="margin-top: 4px; margin-right: 20px">
-      <a href="${ url('search:index') }"><i class="icon-share-alt"></i> ${ _('Search page') }</a>
+      <a href="${ url('search:index') }"><i class="fa fa-share"></i> ${ _('Search page') }</a>
     </div>
   <h4>${_('Collection Manager')}</h4>
 </div>
@@ -42,19 +42,19 @@ ${ commonheader(_('Search'), "search", user, "29px") | n,unicode }
     </%def>
 
     <%def name="creation()">
-      <button type="button" class="btn importBtn" data-bind="visible: collections().length > 0 && !isLoading()"><i class="icon-plus-sign"></i> ${ _('Import') }</button>
+      <button type="button" class="btn importBtn" data-bind="visible: collections().length > 0 && !isLoading()"><i class="fa fa-plus-circle"></i> ${ _('Import') }</button>
     </%def>
   </%actionbar:render>
 
   <div class="row-fluid" data-bind="visible: collections().length == 0 && !isLoading()">
     <div class="span10 offset1 center importBtn" style="cursor: pointer">
-      <i class="icon-plus-sign waiting"></i>
+      <i class="fa fa-plus-circle waiting"></i>
       <h1 class="emptyMessage">${ _('There are currently no collections defined.') }<br/><a href="javascript:void(0)" class="importBtn">${ _('Click here to add') }</a> ${ _('one or more.') }</h1>
     </div>
   </div>
   <div class="row-fluid" data-bind="visible: isLoading()">
     <div class="span10 offset1 center">
-      <i class="icon-spinner icon-spin" style="font-size: 60px; color: #DDD"></i>
+      <i class="fa fa-spinner fa-spin" style="font-size: 60px; color: #DDD"></i>
     </div>
   </div>
   <div class="row-fluid">
@@ -69,10 +69,10 @@ ${ commonheader(_('Search'), "search", user, "29px") | n,unicode }
   <script id="collectionTemplate" type="text/html">
     <li class="collectionRow" data-bind="click: $root.editCollection" title="${ _('Click to edit') }">
       <div class="pull-right" style="margin-top: 10px;margin-right: 10px; cursor: pointer">
-        <a data-bind="click: $root.copyCollection, clickBubble: false"><i class="icon-copy"></i> ${_('Copy')}</a> &nbsp;
-        <a data-bind="click: $root.markForDeletion, clickBubble: false"><i class="icon-remove"></i> ${_('Delete')}</a>
+        <a data-bind="click: $root.copyCollection, clickBubble: false"><i class="fa fa-files-o"></i> ${_('Copy')}</a> &nbsp;
+        <a data-bind="click: $root.markForDeletion, clickBubble: false"><i class="fa fa-times"></i> ${_('Delete')}</a>
       </div>
-      <h4><i class="icon-list"></i> <span data-bind="text: label"></span></h4>
+      <h4><i class="fa fa-list"></i> <span data-bind="text: label"></span></h4>
     </li>
   </script>
   </div>
@@ -105,7 +105,7 @@ ${ commonheader(_('Search'), "search", user, "29px") | n,unicode }
 <script id="importableTemplate" type="text/html">
   <tr>
     <td width="24">
-      <div data-bind="click: handleSelect, css: {hueCheckbox: true, 'icon-ok': selected}"></div>
+      <div data-bind="click: handleSelect, css: {hueCheckbox: true, 'fa': true, 'fa-check': selected}"></div>
     </td>
     <td data-bind="text: name"></td>
   </tr>

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

@@ -29,8 +29,8 @@
   <div class="search-bar" style="height: 30px">
     % if not hasattr(caller, "no_navigation"):
       <div class="pull-right" style="margin-top: 4px; margin-right: 20px">
-        <a href="${ url('search:index') }"><i class="icon-share-alt"></i> ${ _('Search page') }</a> &nbsp; &nbsp;
-        <a href="${ url('search:admin_collections') }"><i class="icon-sitemap"></i> ${ _('Collection manager') }</a>
+        <a href="${ url('search:index') }"><i class="fa fa-share"></i> ${ _('Search page') }</a> &nbsp; &nbsp;
+        <a href="${ url('search:admin_collections') }"><i class="fa fa-sitemap"></i> ${ _('Collection manager') }</a>
       </div>
     % endif
 
@@ -78,10 +78,10 @@
 
     <li class="nav-header">${_('Collection')}</li>
       <li class="${ utils.is_selected(section, 'properties') }">
-        <a href="${ url('search:admin_collection_properties', collection_id=hue_collection.id) }"><i class="icon-reorder"></i> ${_('Properties')}</a>
+        <a href="${ url('search:admin_collection_properties', collection_id=hue_collection.id) }"><i class="fa fa-reorder"></i> ${_('Properties')}</a>
       </li>
       <li>
-        <a href="${ url('search:index') }?collection=${ hue_collection.id }"><i class="icon-search"></i> ${ _('Search it') }</a>
+        <a href="${ url('search:index') }?collection=${ hue_collection.id }"><i class="fa fa-search"></i> ${ _('Search it') }</a>
       </li>
 
       <li class="nav-header">${_('Template')}</li>

+ 2 - 2
apps/search/src/search/templates/macros.mako

@@ -203,13 +203,13 @@ def escape(text)  :
         <ul class="tweet-actions">
           <li class="action">
             <a href="https://twitter.com/intent/tweet?in_reply_to=${ result.get('id', '') }" target="_blank">
-              <i class="icon icon-reply"></i>
+              <i class="icon fa fa-reply"></i>
               <b>${_('Reply')}</b>
             </a>
           </li>
           <li class="action">
             <a href="https://twitter.com/intent/retweet?tweet_id=${ result.get('id', '') }" target="_blank">
-              <i class="icon icon-retweet"></i>
+              <i class="icon fa fa-retweet"></i>
               <b>${_('Retweet')}</b>
             </a>
           </li>

+ 1 - 1
apps/search/src/search/templates/no_collections.mako

@@ -43,7 +43,7 @@ ${ commonheader(_('Search'), "search", user, "120px") | n,unicode }
   <div class="row-fluid">
     <div class="span10 offset1 center">
 
-      <i class="icon-search waiting"></i>
+      <i class="fa fa-search waiting"></i>
       <h1>${ _('It seems there is nothing to search on ...') }</h1>
 
     </div>

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

@@ -44,13 +44,13 @@ ${ commonheader(_('Search'), "search", user, "29px") | n,unicode }
 <div class="search-bar">
   % if user.is_superuser:
     <div class="pull-right" style="margin-top: 4px">
-      <a class="change-settings" href="#"><i class="icon-edit"></i> ${ _('Customize this collection') }</a> &nbsp;&nbsp;
-      <a href="${ url('search:admin_collections') }"><i class="icon-sitemap"></i> ${ _('Collection manager') }</a>
+      <a class="change-settings" href="#"><i class="fa fa-edit"></i> ${ _('Customize this collection') }</a> &nbsp;&nbsp;
+      <a href="${ url('search:admin_collections') }"><i class="fa fa-sitemap"></i> ${ _('Collection manager') }</a>
     </div>
   % endif
   <form class="form-search" style="margin: 0">
     <div class="dropdown" style="display: inline">
-      ${ _('Search in')} <a href="#" data-toggle="dropdown"><strong class="current-collection"></strong> <i class="icon-caret-down"></i></a>
+      ${ _('Search in')} <a href="#" data-toggle="dropdown"><strong class="current-collection"></strong> <i class="fa fa-caret-down"></i></a>
       <ul class="dropdown-menu">
         % if user.is_superuser:
           % for collection in hue_collections:
@@ -65,7 +65,7 @@ ${ commonheader(_('Search'), "search", user, "29px") | n,unicode }
     </div>
     <div class="input-append">
       ${ search_form | n,unicode }
-      <button type="submit" class="btn"><i class="icon-search"></i></button>
+      <button type="submit" class="btn"><i class="fa fa-search"></i></button>
     </div>
   </form>
 </div>
@@ -114,13 +114,13 @@ ${ commonheader(_('Search'), "search", user, "29px") | n,unicode }
             % endif
             % if found_value != "":
               % if fld['type'] == 'field' and '"' + group + '"' == found_value:
-                <li><strong>${ group }</strong> <a href="?collection=${ current_collection }&query=${ solr_query['q'] }&fq=${'|'.join(remove_list)}${solr_query.get("sort") and '&sort=' + solr_query.get("sort") or ''}"><i class="icon-remove"></i></a></li>
+                <li><strong>${ group }</strong> <a href="?collection=${ current_collection }&query=${ solr_query['q'] }&fq=${'|'.join(remove_list)}${solr_query.get("sort") and '&sort=' + solr_query.get("sort") or ''}"><i class="fa fa-times"></i></a></li>
               % endif
               % if fld['type'] == 'range' and '["' + group + '" TO "' + str(int(group) + int(fld['gap']) - 1) + '"]' == found_value:
-                <li><strong>${ group } - ${ str(int(group) + int(fld['gap']) - 1) }</strong> <a href="?collection=${ current_collection }&query=${ solr_query['q'] }&fq=${'|'.join(remove_list)}${solr_query.get("sort") and '&sort=' + solr_query.get("sort") or ''}"><i class="icon-remove"></i></a></li>
+                <li><strong>${ group } - ${ str(int(group) + int(fld['gap']) - 1) }</strong> <a href="?collection=${ current_collection }&query=${ solr_query['q'] }&fq=${'|'.join(remove_list)}${solr_query.get("sort") and '&sort=' + solr_query.get("sort") or ''}"><i class="fa fa-times"></i></a></li>
               % endif
               % if fld['type'] == 'date' and found_value.startswith('[' + group + ' TO'):
-                <li><strong><span class="dateFacet" data-format="${fld['format']}">${ group }<span class="dateFacetGap hide">${ fld['gap'] }</span></span></strong> <a href="?collection=${ current_collection }&query=${ solr_query['q'] }&fq=${'|'.join(remove_list)}${solr_query.get("sort") and '&sort=' + solr_query.get("sort") or ''}"><i class="icon-remove"></i></a></li>
+                <li><strong><span class="dateFacet" data-format="${fld['format']}">${ group }<span class="dateFacetGap hide">${ fld['gap'] }</span></span></strong> <a href="?collection=${ current_collection }&query=${ solr_query['q'] }&fq=${'|'.join(remove_list)}${solr_query.get("sort") and '&sort=' + solr_query.get("sort") or ''}"><i class="fa fa-times"></i></a></li>
               % endif
             % endif
           % endfor

+ 2 - 2
apps/search/static/help/index.html

@@ -20,7 +20,7 @@ containing text that matches the specified substring.</p>
 <p><a id="importCollection"></a></p>
 <h3>Importing Collections</h3>
 <ol>
-<li>If there are existing collections, click the <i class="icon-plus-sign"></i> <strong>Import</strong> button at the top right. The Import Collections and Cores dialog displays.</li>
+<li>If there are existing collections, click the <i class="fa fa-plus-sign"></i> <strong>Import</strong> button at the top right. The Import Collections and Cores dialog displays.</li>
 <li>Check the checkboxes next to the collections to import.</li>
 <li>Click <strong>Import Selected</strong>. The collection is added to the Collection Manager.</li>
 </ol>
@@ -36,7 +36,7 @@ containing text that matches the specified substring.</p>
 <li>Select a collection from the <strong>Search in</strong> drop-down list.</li>
 <li>Type a search string in the <strong>Search...</strong> text box.</li>
 <li>
-<p>Press <strong>Enter</strong> or click the <i class="icon-search"></i>  icon.</p>
+<p>Press <strong>Enter</strong> or click the <i class="fa fa-search"></i>  icon.</p>
 </li>
 <li>
 <p>If you have defined <a href="#facets">facets</a>, click a facet to display only those results in the group defined by the facet.</p>

+ 9 - 9
apps/search/static/js/freshereditor.min.js

@@ -52,7 +52,7 @@
             classname: 'toolbar_strikethrough'
           }, {
             name: 'removeFormat',
-            label: "<i class='icon-minus'></i>",
+            label: "<i class='fa fa-minus'></i>",
             title: 'Remove Formating (Ctrl+M)',
             classname: 'toolbar_remove'
           }
@@ -91,22 +91,22 @@
           ], [
             {
               name: 'justifyleft',
-              label: "<i class='icon-align-left' style='margin-top:2px;'></i>",
+              label: "<i class='fa fa-align-left' style='margin-top:2px;'></i>",
               title: 'Left justify',
               classname: 'toolbar_justifyleft'
             }, {
               name: 'justifycenter',
-              label: "<i class='icon-align-center' style='margin-top:2px;'></i>",
+              label: "<i class='fa fa-align-center' style='margin-top:2px;'></i>",
               title: 'Center justify',
               classname: 'toolbar_justifycenter'
             }, {
               name: 'justifyright',
-              label: "<i class='icon-align-right' style='margin-top:2px;'></i>",
+              label: "<i class='fa fa-align-right' style='margin-top:2px;'></i>",
               title: 'Right justify',
               classname: 'toolbar_justifyright'
             }, {
               name: 'justifyfull',
-              label: "<i class='icon-align-justify' style='margin-top:2px;'></i>",
+              label: "<i class='fa fa-align-justify' style='margin-top:2px;'></i>",
               title: 'Full justify',
               classname: 'toolbar_justifyfull'
             }
@@ -119,18 +119,18 @@
               classname: 'toolbar_link'
             }, {
               name: 'insertimage',
-              label: "<i style='margin-top:2px;' class='icon-picture'></i>",
+              label: "<i style='margin-top:2px;' class='fa fa-picture-o'></i>",
               title: 'Insert an image (Ctrl+G)',
               userinput: "yes",
               classname: 'toolbar_image'
             }, {
               name: 'insertorderedlist',
-              label: "<i class='icon-list-alt' style='margin-top:2px;'></i>",
+              label: "<i class='fa fa-list-alt' style='margin-top:2px;'></i>",
               title: 'Insert ordered list',
               classname: 'toolbar_ol'
             }, {
               name: 'insertunorderedlist',
-              label: "<i class='icon-list' style='margin-top:2px;'></i>",
+              label: "<i class='fa fa-list' style='margin-top:2px;'></i>",
               title: 'Insert unordered list',
               classname: 'toolbar_ul'
             }
@@ -169,7 +169,7 @@
           ], [
             {
               name: 'blockquote',
-              label: "<i style='margin-top:2px;' class='icon-comment'></i>",
+              label: "<i style='margin-top:2px;' class='fa fa-comment'></i>",
               title: 'Blockquote (Ctrl+Q)',
               classname: 'toolbar_blockquote',
               block: 'blockquote'

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

@@ -25,7 +25,7 @@ ${ commonheader(None, "sqoop", user) | n,unicode }
 <div data-bind="if: !isLoading(), css: {'hide': isLoading}" id="top-bar-container" class="hide">
   <div class="top-bar" data-bind="visible:shownSection() == 'jobs-list'">
     <div style="margin-top: 4px; margin-right: 40px" class="pull-right">
-      <a title="${_('Create a new job')}" href="#job/new" data-bind="visible: isReady"><i class="icon-plus-sign"></i> ${_('New job')}</a>
+      <a title="${_('Create a new job')}" href="#job/new" data-bind="visible: isReady"><i class="fa fa-plus-circle"></i> ${_('New job')}</a>
     </div>
     <h4>${_('Sqoop Jobs')}</h4>
     <input id="filter" type="text" class="input-xlarge search-query" placeholder="${_('Search for job name or content')}"  data-bind="visible: isReady">
@@ -34,15 +34,15 @@ ${ commonheader(None, "sqoop", user) | n,unicode }
   <!-- ko if: job -->
   <div class="top-bar" data-bind="visible:shownSection() == 'job-editor', with: job">
     <div style="margin-top: 4px; margin-right: 40px" class="pull-right">
-      <a title="${_('Create a new job')}" href="#job/new"><i class="icon-plus-sign"></i> ${_('New job')}</a>
+      <a title="${_('Create a new job')}" href="#job/new"><i class="fa fa-plus-circle"></i> ${_('New job')}</a>
     </div>
     <h4 data-bind="visible: !persisted()"><a title="${_('Back to jobs list')}" href="#jobs">${_('Sqoop Jobs')}</a> <span class="muted">/</span> ${_('New Job')}</h4>
-    <h4 data-bind="visible: persisted"><a title="${_('Back to jobs list')}" href="#jobs">${_('Sqoop Jobs')}</a> <span class="muted">/</span> <i data-bind="css:{'icon-download-alt': type() == 'IMPORT', 'icon-upload-alt': type() == 'EXPORT'}"></i> &nbsp;<span data-bind="text: type"></span> <span class="muted" data-bind="editable: name, editableOptions: {'placement': 'right'}"></span></h4>
+    <h4 data-bind="visible: persisted"><a title="${_('Back to jobs list')}" href="#jobs">${_('Sqoop Jobs')}</a> <span class="muted">/</span> <i data-bind="css:{'fa fa-arrow-circle-o-down': type() == 'IMPORT', 'fa fa-upload': type() == 'EXPORT'}"></i> &nbsp;<span data-bind="text: type"></span> <span class="muted" data-bind="editable: name, editableOptions: {'placement': 'right'}"></span></h4>
   </div>
 
   <div class="top-bar" data-bind="visible:shownSection() == 'connection-editor', with: editConnection">
     <h4 data-bind="visible: !persisted()"><a title="${_('Back to jobs list')}" href="#jobs">${_('Sqoop Jobs')}</a> <span class="muted">/</span> <a href="#connection/edit-cancel" data-bind="text: name"></a> <span class="muted">/</span> ${_('New Connection')}</h4>
-    <h4 data-bind="visible: persisted()"><a title="${_('Back to jobs list')}" href="#jobs">${_('Sqoop Jobs')}</a> <span class="muted">/</span> <a href="#connection/edit-cancel"><i data-bind="css:{'icon-download-alt': $root.job().type() == 'IMPORT', 'icon-upload-alt': $root.job().type() == 'EXPORT'}"></i> &nbsp;<span data-bind="text: $root.job().type"></span> <span data-bind="text: $root.job().name"></span></a> <span class="muted">/</span> <span data-bind="text: $root.job().name"></span></h4>
+    <h4 data-bind="visible: persisted()"><a title="${_('Back to jobs list')}" href="#jobs">${_('Sqoop Jobs')}</a> <span class="muted">/</span> <a href="#connection/edit-cancel"><i data-bind="css:{'fa fa-arrow-circle-o-down': $root.job().type() == 'IMPORT', 'fa fa-upload': $root.job().type() == 'EXPORT'}"></i> &nbsp;<span data-bind="text: $root.job().type"></span> <span data-bind="text: $root.job().name"></span></a> <span class="muted">/</span> <span data-bind="text: $root.job().name"></span></h4>
   </div>
   <!-- /ko -->
 </div>
@@ -50,7 +50,7 @@ ${ commonheader(None, "sqoop", user) | n,unicode }
 <div class="container-fluid">
   <div data-bind="foreach: sqoop_errors" id="sqoop-error" class="row-fluid mainSection hide" style="margin-top: 10px">
     <div class="alert alert-error">
-      <i class="icon-warning-sign"></i>
+      <i class="fa fa-exclamation-triangle"></i>
       <strong>${_('Sqoop error')}:</strong>
       <span data-bind="text: $data" class="message"></span>
     </div>
@@ -62,7 +62,7 @@ ${ commonheader(None, "sqoop", user) | n,unicode }
         <img src="/static/art/spinner-big.gif" />
       <![endif]-->
       <!--[if !IE]> -->
-        <i class="icon-spinner icon-spin" style="font-size: 60px; color: #DDD"></i>
+        <i class="fa fa-spinner fa-spin" style="font-size: 60px; color: #DDD"></i>
       <!-- <![endif]-->
     </div>
   </div>
@@ -97,7 +97,7 @@ ${ commonheader(None, "sqoop", user) | n,unicode }
         </ul>
         <div class="card" data-bind="visible: filteredJobs().length == 0">
           <div class="span10 offset1 center nojobs">
-            <a href="#job/new" class="nounderline"><i class="icon-plus-sign waiting"></i></a>
+            <a href="#job/new" class="nounderline"><i class="fa fa-plus-circle waiting"></i></a>
             <h1 class="emptyMessage">${ _('There are currently no jobs.') }<br/><a href="#job/new">${ _('Click here to add one.') }</a></h1>
           </div>
           <div class="clearfix"></div>
@@ -112,38 +112,38 @@ ${ commonheader(None, "sqoop", user) | n,unicode }
             <li class="nav-header" data-bind="visible: $root.job().persisted">${_('Actions')}</li>
             <li data-bind="visible: $root.job().persisted() && !$root.job().isRunning()">
               <a id="save-run-link" data-placement="right" rel="tooltip" title="${_('Run the job')}" href="#job/save-and-run">
-                <i class="icon-play"></i> ${_('Run')}
+                <i class="fa fa-play"></i> ${_('Run')}
               </a>
             </li>
             <li data-bind="visible: $root.job().isRunning()">
               <a data-placement="right" rel="tooltip" title="${_('Stop the job')}" href="#job/stop">
-                <i class="icon-stop"></i> ${_('Stop')}
+                <i class="fa fa-stop"></i> ${_('Stop')}
               </a>
             </li>
             <li data-bind="visible: $root.job().persisted">
               <a data-placement="right" rel="tooltip" title="${_('Copy the job')}" href="#job/copy">
-                <i class="icon-copy"></i> ${_('Copy')}
+                <i class="fa fa-files-o"></i> ${_('Copy')}
               </a>
             </li>
             <li data-bind="visible: $root.job().persisted">
               <a data-bind="click: $root.showDeleteJobModal.bind($root)" data-placement="right" rel="tooltip" title="${_('Delete the job')}" href="javascript:void(0);">
-                <i class="icon-remove"></i> ${_('Delete')}
+                <i class="fa fa-times"></i> ${_('Delete')}
               </a>
             </li>
             <li class="nav-header" data-bind="visible: $root.job().persisted">${_('Submissions')}</li>
             <li data-bind="visible: $root.job().persisted() && $root.job().outputDirectoryFilebrowserURL">
               <a data-bind="attr: { 'href': $root.job().outputDirectoryFilebrowserURL }" data-placement="right" rel="tooltip" title="${_('Browse output directory')}" href="javascript:void(0);" target="_new">
-                <i class="icon-folder-open"></i> ${_('Output directory')}
+                <i class="fa fa-folder-open"></i> ${_('Output directory')}
               </a>
             </li>
             <li data-bind="visible: $root.job().persisted() && $root.job().inputDirectoryFilebrowserURL">
               <a data-bind="attr: { 'href': $root.job().inputDirectoryFilebrowserURL }" data-placement="right" rel="tooltip" title="${_('Browse input directory')}" href="javascript:void(0);" target="_new">
-                <i class="icon-folder-open"></i> ${_('Input directory')}
+                <i class="fa fa-folder-open"></i> ${_('Input directory')}
               </a>
             </li>
             <li data-bind="visible: $root.job().submission().external_id()">
               <a rel="tooltip" title="${_('Logs')}" href="javascript:void(0);" target="_new" data-bind="attr: {href: '/jobbrowser/jobs/' + $root.job().submission().external_id() + '/single_logs'}">
-                <i class="icon-list"></i>
+                <i class="fa fa-list"></i>
                 ${_('Logs')}
               </a>
             </li>
@@ -282,7 +282,7 @@ ${ commonheader(None, "sqoop", user) | n,unicode }
 <script type="text/html" id="job-list-item">
 <h4 style="display: inline-block">
   <!-- ko if: type() == 'IMPORT' -->
-  <i class="icon-download-alt"></i>&nbsp;
+  <i class="fa fa-download"></i>&nbsp;
   <span data-bind="text: type"></span>
   <span>${_('from ')}</span>
   <span data-bind="text: $root.getDatabaseByConnectionId(connection_id())"></span>
@@ -291,7 +291,7 @@ ${ commonheader(None, "sqoop", user) | n,unicode }
   <span data-bind="text: name" class="muted"></span>
   <!-- /ko -->
   <!-- ko if: type() == 'EXPORT' -->
-  <i class="icon-upload-alt"></i>&nbsp;
+  <i class="fa fa-upload"></i>&nbsp;
   <span data-bind="text: type"></span>
   <span>${_('from ')}</span>
   <span data-bind="text: storageType"></span>
@@ -347,11 +347,11 @@ ${ commonheader(None, "sqoop", user) | n,unicode }
     <label class="control-label">${ _('Job type') }</label>
     <div class="controls">
       <div title="${ _('Import from a Database to Hadoop') }" data-bind="css:{ 'big-btn': type() != '', 'selected': type() == 'IMPORT' }, click: setImport">
-        <i class="icon-download-alt"></i><br/>
+        <i class="fa fa-download"></i><br/>
         ${ _('Import') }
       </div>
       <div title="${ _('Import from Hadoop to a Database') }"data-bind="css:{ 'big-btn': type() != '', 'selected': type() == 'EXPORT' }, click: setExport">
-        <i class="icon-upload-alt"></i><br/>
+        <i class="fa fa-upload"></i><br/>
         ${ _('Export') }
       </div>
       <input name="type" type="hidden" data-bind="value: type" />
@@ -366,16 +366,16 @@ ${ commonheader(None, "sqoop", user) | n,unicode }
       <!-- ko if: $root.connection() -->
       <div style="display:inline">
         <a data-bind="routie: 'connection/edit/' + $root.connection().id()" href="javascript:void(0);" class="subbtn" style="margin-left: 5px">
-          <i class="icon-edit"></i> ${_('Edit')}
+          <i class="fa fa-edit"></i> ${_('Edit')}
         </a>
         <a data-bind="click: $root.showDeleteConnectionModal.bind($root)" href="javascript:void(0);" class="subbtn" style="margin-left: 5px">
-          <i class="icon-remove"></i> ${_('Delete')}
+          <i class="fa fa-times"></i> ${_('Delete')}
         </a>
       </div>
       <!-- /ko -->
       <div class="clearfix"></div>
       <a data-bind="routie: 'connection/new'" href="javascript:void(0);" style="margin: 5px; display: block">
-        <i class="icon-plus"></i> ${_('Add a new connection')}
+        <i class="fa fa-plus"></i> ${_('Add a new connection')}
       </a>
     </div>
   </div>

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

@@ -37,15 +37,15 @@ ${layout.menubar(section='groups')}
       <%def name="actions()">
         %if user.is_superuser:
             <button id="deleteGroupBtn" class="btn confirmationModal" title="${_('Delete')}" disabled="disabled"><i
-                class="icon-trash"></i> ${_('Delete')}</button>
+                class="fa fa-trash-o"></i> ${_('Delete')}</button>
         %endif
       </%def>
       <%def name="creation()">
         %if user.is_superuser:
             <a id="addGroupBtn" href="${url('useradmin.views.edit_group')}" class="btn"><i
-                class="icon-plus-sign"></i> ${_('Add group')}</a>
+                class="fa fa-plus-circle"></i> ${_('Add group')}</a>
             <a id="addLdapGroupBtn" href="${url('useradmin.views.add_ldap_groups')}" class="btn"><i
-                class="icon-refresh"></i> ${_('Add/Sync LDAP group')}</a>
+                class="fa fa-refresh"></i> ${_('Add/Sync LDAP group')}</a>
         %endif
       </%def>
     </%actionbar:render>
@@ -55,7 +55,7 @@ ${layout.menubar(section='groups')}
       <tr>
         %if user.is_superuser:
             <th width="1%">
-              <div id="selectAll" class="hueCheckbox"></div>
+              <div id="selectAll" class="hueCheckbox fa"></div>
             </th>
         %endif
         <th>${_('Group Name')}</th>
@@ -69,7 +69,7 @@ ${layout.menubar(section='groups')}
               data-search="${group.name}${', '.join([group_user.username for group_user in group.user_set.all()])}">
           %if user.is_superuser:
               <td data-row-selector-exclude="true">
-                <div class="hueCheckbox groupCheck" data-group="${group.name}"
+                <div class="hueCheckbox groupCheck fa" data-group="${group.name}"
                      data-confirmation-url="${ url('useradmin.views.delete_group', name=urllib.quote(group.name))}"
                      data-row-selector-exclude="true"></div>
               </td>
@@ -146,21 +146,21 @@ ${layout.menubar(section='groups')}
     $("#selectAll").click(function () {
       if ($(this).attr("checked")) {
         $(this).removeAttr("checked");
-        $(".groupCheck").removeClass("icon-ok").removeAttr("checked");
+        $(".groupCheck").removeClass("fa-check").removeAttr("checked");
       }
       else {
         $(this).attr("checked", "checked");
-        $(".groupCheck").addClass("icon-ok").attr("checked", "checked");
+        $(".groupCheck").addClass("fa-check").attr("checked", "checked");
       }
       toggleActions();
     });
 
     $(".groupCheck").click(function () {
       if ($(this).attr("checked")) {
-        $(this).removeClass("icon-ok").removeAttr("checked");
+        $(this).removeClass("fa-check").removeAttr("checked");
       }
       else {
-        $(this).addClass("icon-ok").attr("checked", "checked");
+        $(this).addClass("fa-check").attr("checked", "checked");
       }
       toggleActions();
     });

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

@@ -37,17 +37,17 @@ ${layout.menubar(section='users')}
       <%def name="actions()">
         %if user.is_superuser:
             <button id="deleteUserBtn" class="btn" title="${_('Delete')}" disabled="disabled"><i
-                class="icon-trash"></i> ${_('Delete')}</button>
+                class="fa fa-trash-o"></i> ${_('Delete')}</button>
         %endif
       </%def>
       <%def name="creation()">
         %if user.is_superuser:
-            <a href="${ url('useradmin.views.edit_user') }" class="btn"><i class="icon-user"></i> ${_('Add user')}</a>
+            <a href="${ url('useradmin.views.edit_user') }" class="btn"><i class="fa fa-user"></i> ${_('Add user')}</a>
             <a href="${ url('useradmin.views.add_ldap_users') }" class="btn"><i
-                class="icon-briefcase"></i> ${_('Add/Sync LDAP user')}</a>
+                class="fa fa-briefcase"></i> ${_('Add/Sync LDAP user')}</a>
             <a href="javascript:void(0)" class="btn confirmationModal"
                data-confirmation-url="${ url('useradmin.views.sync_ldap_users_groups') }"><i
-                class="icon-refresh"></i> ${_('Sync LDAP users/groups')}</a>
+                class="fa fa-refresh"></i> ${_('Sync LDAP users/groups')}</a>
         %endif
       </%def>
     </%actionbar:render>
@@ -57,7 +57,7 @@ ${layout.menubar(section='users')}
       <tr>
         %if user.is_superuser:
             <th width="1%">
-              <div id="selectAll" class="hueCheckbox"></div>
+              <div id="selectAll" class="hueCheckbox fa"></div>
             </th>
         %endif
         <th>${_('Username')}</th>
@@ -74,7 +74,7 @@ ${layout.menubar(section='users')}
               data-search="${listed_user.username}${listed_user.first_name}${listed_user.last_name}${listed_user.email}${', '.join([group.name for group in listed_user.groups.all()])}">
           %if user.is_superuser:
               <td data-row-selector-exclude="true">
-                <div class="hueCheckbox userCheck" data-row-selector-exclude="true" data-id="${ listed_user.id }"></div>
+                <div class="hueCheckbox userCheck fa" data-row-selector-exclude="true" data-id="${ listed_user.id }"></div>
               </td>
           %endif
           <td>
@@ -182,21 +182,21 @@ ${layout.menubar(section='users')}
     $("#selectAll").click(function () {
       if ($(this).attr("checked")) {
         $(this).removeAttr("checked");
-        $(".userCheck").removeClass("icon-ok").removeAttr("checked");
+        $(".userCheck").removeClass("fa-check").removeAttr("checked");
       }
       else {
         $(this).attr("checked", "checked");
-        $(".userCheck").addClass("icon-ok").attr("checked", "checked");
+        $(".userCheck").addClass("fa-check").attr("checked", "checked");
       }
       toggleActions();
     });
 
     $(".userCheck").click(function () {
       if ($(this).attr("checked")) {
-        $(this).removeClass("icon-ok").removeAttr("checked");
+        $(this).removeClass("fa-check").removeAttr("checked");
       }
       else {
-        $(this).addClass("icon-ok").attr("checked", "checked");
+        $(this).addClass("fa-check").attr("checked", "checked");
       }
       toggleActions();
     });

+ 1 - 1
apps/useradmin/static/help/index.html

@@ -33,7 +33,7 @@
 
     <div class="body conbody">
 
-      <p class="p">Click the <strong class="ph b">User Admin</strong> icon <i class="icon-group"></i> in the navigation bar at the top of the Hue browser page below your login name. The Hue
+      <p class="p">Click the <strong class="ph b">User Admin</strong> icon <i class="fa fa-group"></i> in the navigation bar at the top of the Hue browser page below your login name. The Hue
         Users page opens. </p>
 
 

+ 4 - 4
apps/zookeeper/src/zookeeper/templates/tree.mako

@@ -51,8 +51,8 @@ ${ shared.header(_breadcrumbs, clusters, False) }
           <li class="white">${ _('No children available') }</li>
         % endif
         <li class="white">
-          <button class="btn" onclick="location.href='${url('zookeeper:create', id=cluster['id'], path=path)}'"><i class="icon-plus-sign"></i> ${ _('Add') }</button>
-          <button id="removeBtn" class="btn btn-danger disable-feedback" data-msg="${_('Are you sure you want to delete %s?' % path)}" data-url="${url('zookeeper:delete', id=cluster['id'], path=path)}"><i class="icon-remove-sign"></i> ${ _('Remove current ZNode') }</button>
+          <button class="btn" onclick="location.href='${url('zookeeper:create', id=cluster['id'], path=path)}'"><i class="fa fa-plus-circle"></i> ${ _('Add') }</button>
+          <button id="removeBtn" class="btn btn-danger disable-feedback" data-msg="${_('Are you sure you want to delete %s?' % path)}" data-url="${url('zookeeper:delete', id=cluster['id'], path=path)}"><i class="fa fa-times-circle"></i> ${ _('Remove current ZNode') }</button>
         </li>
       </ul>
     </div>
@@ -71,11 +71,11 @@ ${ shared.header(_breadcrumbs, clusters, False) }
       %if znode.get('dataLength', 0) != 0:
       <div class="tab-pane active" id="text">
         <textarea id="textareaText" rows="25" readonly="readonly"></textarea>
-        <a href="${url('zookeeper:edit_as_text', id=cluster['id'], path=path)}" class="btn"><i class="icon-pencil"></i> ${_('Edit as Text')}</a>
+        <a href="${url('zookeeper:edit_as_text', id=cluster['id'], path=path)}" class="btn"><i class="fa fa-pencil"></i> ${_('Edit as Text')}</a>
       </div>      
       <div class="tab-pane" id="base64">
         <textarea id="textarea64" rows="25" readonly="readonly">${znode.get('data64', '')}</textarea>
-        <a href="${url('zookeeper:edit_as_base64', id=cluster['id'], path=path)}" class="btn"><i class="icon-pencil"></i> ${_('Edit as Base64')}</a>
+        <a href="${url('zookeeper:edit_as_base64', id=cluster['id'], path=path)}" class="btn"><i class="fa fa-pencil"></i> ${_('Edit as Base64')}</a>
       </div>
       <div class="tab-pane" id="stats">
       %else:

+ 2 - 2
apps/zookeeper/src/zookeeper/templates/view.mako

@@ -121,7 +121,7 @@ ${ shared.header(_breadcrumbs, clusters, False) }
 
     % if leader:
       <h2 class="card-heading simple simpler">
-        <div class="pull-right"><a href="${url('zookeeper:clients', id=cluster['id'], host=leader['host'])}"><i class="icon-eye-open"></i> ${_('Client Connections')}</a></div>
+        <div class="pull-right"><a href="${url('zookeeper:clients', id=cluster['id'], host=leader['host'])}"><i class="fa fa-eye"></i> ${_('Client Connections')}</a></div>
         ${ _('Node') } ${leader['host']} (${ _('leader') })
       </h2>
 
@@ -145,7 +145,7 @@ ${ shared.header(_breadcrumbs, clusters, False) }
 
     % for stats in followers:
       <h2 class="card-heading simple simpler">
-        <div class="pull-right"><a href="${url('zookeeper:clients', id=cluster['id'], host=stats['host'])}"><i class="icon-eye-open"></i> ${ _('Client Connections') }</a></div>
+        <div class="pull-right"><a href="${url('zookeeper:clients', id=cluster['id'], host=stats['host'])}"><i class="fa fa-eye"></i> ${ _('Client Connections') }</a></div>
       ${ _('Node') } ${stats['host']} (${ _('follower') })
       </h2>
       <table class="table">

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

@@ -30,10 +30,10 @@ ${ commonheader(_('Error'), "", user) | n,unicode }
           <p>${_("Sorry, there's been an error. An email was sent to your administrators. Thank you for your patience.")}</p>
           <div class="details">
           % if traceback:
-            <a href="javascript:toggleDisplay('#traceback');" title="${ _('See the stacktrace') }"><i class="icon-share-alt"></i> ${_('More Info')}</a>
+            <a href="javascript:toggleDisplay('#traceback');" title="${ _('See the stacktrace') }"><i class="fa fa-share"></i> ${_('More Info')}</a>
             % if user.is_superuser:
               &nbsp;
-              <a href="/logs" target="_new" title="${ _('View server logs') }"><i class="icon-tasks"></i> ${_('View Logs')}</a>
+              <a href="/logs" target="_new" title="${ _('View server logs') }"><i class="fa fa-tasks"></i> ${_('View Logs')}</a>
             % endif
             <br />
             <br />
@@ -59,7 +59,7 @@ ${ commonheader(_('Error'), "", user) | n,unicode }
             </div>
           % else:
             % if user.is_superuser:
-              <a href="/logs" target="_new" title="${ _('View server logs') }"><i class="icon-tasks"></i> ${_('View Logs')}</a>
+              <a href="/logs" target="_new" title="${ _('View server logs') }"><i class="fa fa-tasks"></i> ${_('View Logs')}</a>
             % endif
           % endif
           </div>

+ 2 - 2
desktop/core/src/desktop/templates/common_footer.mako

@@ -187,13 +187,13 @@ from django.template.defaultfilters import escape, escapejs
       <h3>${_('Did you know?')}</h3>
     </div>
     <div class="modal-body">
-      <div class="pull-left" style="color: #DDDDDD;font-size: 116px;margin: 10px; margin-right: 20px"><i class="icon-flag-checkered"></i></div>
+      <div class="pull-left" style="color: #DDDDDD;font-size: 116px;margin: 10px; margin-right: 20px"><i class="fa fa-flag-checkered"></i></div>
       <div style="margin: 10px">
       <p>
         ${_('There is one or more tours available for this page. These tours were created to guide you around.')}
       </p>
       <p>
-        ${_('You can see the list of the tours by clicking on the checkered flag icon on top right of this page.')} <span class="badge badge-info"><i class="icon-flag-checkered"></i></span>
+        ${_('You can see the list of the tours by clicking on the checkered flag icon on top right of this page.')} <span class="badge badge-info"><i class="fa fa-flag-checkered"></i></span>
       </p>
         </div>
     </div>

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

@@ -243,29 +243,29 @@ from django.utils.translation import ugettext as _
   <ul class="nav nav-pills">
     <li class="divider-vertical"></li>
     % if 'filebrowser' in apps:
-    <li><a title="${_('Manage HDFS')}" rel="navigator-tooltip" href="/${apps['filebrowser'].display_name}"><i class="icon-file"></i>&nbsp;${_('File Browser')}&nbsp;</a></li>
+    <li><a title="${_('Manage HDFS')}" rel="navigator-tooltip" href="/${apps['filebrowser'].display_name}"><i class="fa fa-file"></i>&nbsp;${_('File Browser')}&nbsp;</a></li>
     % endif
     % if 'jobbrowser' in apps:
-    <li><a title="${_('Manage jobs')}" rel="navigator-tooltip" href="/${apps['jobbrowser'].display_name}"><i class="icon-list-alt"></i>&nbsp;${_('Job Browser')}&nbsp;<span id="jobBrowserCount" class="badge badge-warning hide" style="padding-top:0;padding-bottom: 0"></span></a></li>
+    <li><a title="${_('Manage jobs')}" rel="navigator-tooltip" href="/${apps['jobbrowser'].display_name}"><i class="fa fa-list-alt"></i>&nbsp;${_('Job Browser')}&nbsp;<span id="jobBrowserCount" class="badge badge-warning hide" style="padding-top:0;padding-bottom: 0"></span></a></li>
     % endif
     <li class="dropdown">
-      <a title="${ _('Administration') }" rel="navigator-tooltip" href="index.html#" data-toggle="dropdown" class="dropdown-toggle"><i class="icon-cogs"></i>&nbsp;&nbsp;${user.username}<b class="caret"></b></a>
+      <a title="${ _('Administration') }" rel="navigator-tooltip" href="index.html#" data-toggle="dropdown" class="dropdown-toggle"><i class="fa fa-cogs"></i>&nbsp;&nbsp;${user.username}<b class="caret"></b></a>
       <ul class="dropdown-menu">
-        <li><a href="${ url('useradmin.views.edit_user', username=urllib.quote(user.username)) }"><i class="icon-key"></i>&nbsp;&nbsp;${_('Edit Profile')}</a></li>
+        <li><a href="${ url('useradmin.views.edit_user', username=urllib.quote(user.username)) }"><i class="fa fa-key"></i>&nbsp;&nbsp;${_('Edit Profile')}</a></li>
         %if user.is_superuser:
-        <li><a href="${ url('useradmin.views.list_users') }"><i class="icon-group"></i>&nbsp;&nbsp;${_('Manage users')}</a></li>
+        <li><a href="${ url('useradmin.views.list_users') }"><i class="fa fa-group"></i>&nbsp;&nbsp;${_('Manage users')}</a></li>
         %endif
       </ul>
     </li>
-    <li><a title="${_('Documentation')}" rel="navigator-tooltip" href="/help"><i class="icon-question-sign"></i></a></li>
+    <li><a title="${_('Documentation')}" rel="navigator-tooltip" href="/help"><i class="fa fa-question-circle"></i></a></li>
     <li id="jHueTourFlagPlaceholder"></li>
-    <li><a title="${_('Sign out')}" rel="navigator-tooltip" href="/accounts/logout/"><i class="icon-signout"></i></a></li>
+    <li><a title="${_('Sign out')}" rel="navigator-tooltip" href="/accounts/logout/"><i class="fa fa-sign-out"></i></a></li>
   </ul>
       % 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>
      <ul class="nav nav-pills pull-left">
-       <li><a title="${_('My documents')}" rel="navigator-tooltip" href="/home" style="padding-bottom:2px!important"><i class="icon-home" style="font-size: 19px"></i></a></li>
+       <li><a title="${_('My documents')}" rel="navigator-tooltip" href="/home" style="padding-bottom:2px!important"><i class="fa fa-home" style="font-size: 19px"></i></a></li>
        <li class="dropdown">
          <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">

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

@@ -19,6 +19,6 @@ from django.utils.translation import ugettext as _
 
 % if error_list:
   <a href="${url('about:index')}" title="${_('Misconfiguration detected')}" alt="${_('Misconfiguration detected')}">
-    <i class="icon-warning-sign" style="color:#B94A48"></i>
+    <i class="fa fa-exclamation-triangle" style="color:#B94A48"></i>
   </a>
 % endif

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

@@ -91,7 +91,7 @@ ${ commonheader(_('Welcome Home'), "home", user) | n,unicode }
          <ul class="nav nav-list">
           <li class="nav-header">${_('Actions')}</li>
            <li class="dropdown">
-              <a href="#" data-toggle="dropdown"><i class="icon-plus-sign"></i> ${_('New document')}</a>
+              <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 }"/> ${_('Hive Query')}</a></li>
@@ -115,12 +115,12 @@ ${ commonheader(_('Welcome Home'), "home", user) | n,unicode }
               </ul>
            </li>
            <li class="view-trash toggable-section">
-             <a href="javascript:void(0)"><i class="icon-trash"></i> ${_('Trash')} <span id="trashCounter" class="badge pull-right">0</span></a>
+             <a href="javascript:void(0)"><i class="fa fa-trash-o"></i> ${_('Trash')} <span id="trashCounter" class="badge pull-right">0</span></a>
            </li>
            <li class="viewHistory toggable-section">
-             <a href="javascript:void(0)"><i class="icon-time"></i> ${_('History')} <span id="historyCounter" class="badge pull-right">0</span></a>
+             <a href="javascript:void(0)"><i class="fa fa-clock-o"></i> ${_('History')} <span id="historyCounter" class="badge pull-right">0</span></a>
            </li>
-          <li class="nav-header tag-header">${_('Projects')} <div class="edit-tags" style="display: inline;cursor: pointer;margin-left: 6px" title="${ _('Edit projects') }"><i class="icon-tags"></i></div> </li>
+          <li class="nav-header tag-header">${_('Projects')} <div class="edit-tags" style="display: inline;cursor: pointer;margin-left: 6px" title="${ _('Edit projects') }"><i class="fa fa-tags"></i></div> </li>
           % if len(tags) > 2:
             % for tag in tags:
               % if tag.tag not in ('trash', 'history'):
@@ -128,7 +128,7 @@ ${ commonheader(_('Welcome Home'), "home", user) | n,unicode }
               % endif
             % endfor
           % else:
-            <li><a href="javascript:void(0)" class="edit-tags" style="line-height:24px"><i class="icon-plus-sign"></i> ${_('There are currently no projects. Click here to add one now!')}</a></li>
+            <li><a href="javascript:void(0)" class="edit-tags" style="line-height:24px"><i class="fa fa-plus-circle"></i> ${_('There are currently no projects. Click here to add one now!')}</a></li>
           % endif
         </ul>
       </div>
@@ -175,7 +175,7 @@ ${ commonheader(_('Welcome Home'), "home", user) | n,unicode }
       <div style="margin-top: 20px">
         <div class="input-append">
           <input id="documentTagsNew" type="text">
-          <a id="documentTagsNewBtn" class="btn" type="button"><i class="icon-plus-sign"></i> ${_('Add')}</a>
+          <a id="documentTagsNewBtn" class="btn" type="button"><i class="fa fa-plus-circle"></i> ${_('Add')}</a>
         </div>
       </div>
     </p>
@@ -198,7 +198,7 @@ ${ commonheader(_('Welcome Home'), "home", user) | n,unicode }
       <div style="margin-top: 20px">
         <div class="input-append">
           <input id="tagsNew" type="text">
-          <a id="tagsNewBtn" class="btn" type="button"><i class="icon-plus-sign"></i> ${_('Add')}</a>
+          <a id="tagsNewBtn" class="btn" type="button"><i class="fa fa-plus-circle"></i> ${_('Add')}</a>
         </div>
       </div>
     </p>
@@ -223,7 +223,7 @@ ${ commonheader(_('Welcome Home'), "home", user) | n,unicode }
       <div style="margin-top: 20px">
         <div class="input-append">
           <input id="documentShareAdd" type="text" class="input-large" placeholder="${_('You can type a username or a group')}">
-          <a id="documentShareAddBtn" class="btn" type="button"><i class="icon-plus-sign"></i> ${_('Add')}</a>
+          <a id="documentShareAddBtn" class="btn" type="button"><i class="fa fa-plus-circle"></i> ${_('Add')}</a>
         </div>
       </div>
     </p>
@@ -271,7 +271,7 @@ $(document).ready(function () {
         return items.sort();
       },
       highlighter: function (item) {
-        var _icon = map[item].username ? "icon-user" : "icon-group";
+        var _icon = map[item].username ? "fa fa-user" : "fa fa-group";
         var regex = new RegExp('(' + this.query + ')', 'gi');
         return "<i class='" + _icon + "'></i> " + item.replace(regex, "<strong>$1</strong>");
       },
@@ -439,7 +439,7 @@ $(document).ready(function () {
     var _tags = "";
     for (var i = 0; i < JSON_TAGS.length; i++) {
       if (!JSON_TAGS[i].isTrash && !JSON_TAGS[i].isHistory && !JSON_TAGS[i].isExample) {
-        _tags += '<div style="margin-right:10px;margin-bottom: 6px;float:left;"><span class="tags-modal-checkbox badge" data-value="' + JSON_TAGS[i].id + '"><i class="icon-trash hide"></i> ' + JSON_TAGS[i].name + '</span></div>';
+        _tags += '<div style="margin-right:10px;margin-bottom: 6px;float:left;"><span class="tags-modal-checkbox badge" data-value="' + JSON_TAGS[i].id + '"><i class="fa fa-trash-o hide"></i> ' + JSON_TAGS[i].name + '</span></div>';
       }
     }
     $("#tagsModalList").html(_tags);
@@ -454,7 +454,7 @@ $(document).ready(function () {
       for (var i = 0; i < JSON_TAGS.length; i++) {
         if (!JSON_TAGS[i].isTrash && !JSON_TAGS[i].isHistory && !JSON_TAGS[i].isExample) {
           var _inTags = isInTags(_doc, JSON_TAGS[i].name);
-          _tags += '<div style="margin-right:10px;margin-bottom: 6px;float:left;"><span class="document-tags-modal-checkbox badge' + (_inTags ? ' badge-info selected' : '') + '" data-value="' + JSON_TAGS[i].id + '"><i class="icon-ok-sign' + (_inTags ? '' : ' hide') + '"></i> ' + JSON_TAGS[i].name + '</span></div>';
+          _tags += '<div style="margin-right:10px;margin-bottom: 6px;float:left;"><span class="document-tags-modal-checkbox badge' + (_inTags ? ' badge-info selected' : '') + '" data-value="' + JSON_TAGS[i].id + '"><i class="fa fa-check-circle' + (_inTags ? '' : ' hide') + '"></i> ' + JSON_TAGS[i].name + '</span></div>';
         }
       }
       $("#documentTagsModalList").html(_tags);
@@ -506,11 +506,11 @@ $(document).ready(function () {
     var _this = $(this);
     if (_this.hasClass("selected")) {
       _this.removeClass("selected").removeClass("badge-info");
-      _this.find(".icon-ok-sign").addClass("hide");
+      _this.find(".fa-check-circle").addClass("hide");
     }
     else {
       _this.addClass("selected").addClass("badge-info");
-      _this.find(".icon-ok-sign").removeClass("hide");
+      _this.find(".fa-check-circle").removeClass("hide");
     }
   });
 
@@ -524,11 +524,11 @@ $(document).ready(function () {
     var _this = $(this);
     if (_this.hasClass("selected")) {
       _this.removeClass("selected").removeClass("badge-important");
-      _this.find(".icon-trash").addClass("hide");
+      _this.find(".fa-trash-o").addClass("hide");
     }
     else {
       _this.addClass("selected").addClass("badge-important");
-      _this.find(".icon-trash").removeClass("hide");
+      _this.find(".fa-trash-o").removeClass("hide");
     }
   });
 
@@ -646,9 +646,9 @@ $(document).ready(function () {
     for (var id in shareList) {
       if (shareList.hasOwnProperty(id)) {
         var _obj = shareList[id];
-        var _icon = _obj.username != null ? "icon-user" : "icon-group";
+        var _icon = _obj.username != null ? "fa fa-user" : "fa fa-group";
         var _label = _obj.username != null ? _obj.username : _obj.name;
-        _html += '<li data-object-id="' + _obj.id + '"><span class="badge badge-left"><i class="' + _icon + '"></i> ' + _label + '</span><span class="badge badge-important badge-right trash-share"><i class="icon-trash"></i></span></li>';
+        _html += '<li data-object-id="' + _obj.id + '"><span class="badge badge-left"><i class="' + _icon + '"></i> ' + _label + '</span><span class="badge badge-important badge-right trash-share"><i class="fa fa-trash-o"></i></span></li>';
       }
     }
     if (_html != "") {
@@ -771,7 +771,7 @@ function addRow(doc) {
       '<div class="documentTags" data-document-id="' + doc.id + '">' + _tags + '</div>',
       emptyStringIfNull(doc.owner),
       emptyStringIfNull(doc.lastModified),
-      '<a href="#" class="shareDocument" data-document-id="' + doc.id + '" rel="tooltip" title="${_('Share')} ' + doc.name + '" data-placement="left" style="padding-left:10px"><i class="icon-share-sign"></i></a>',
+      '<a href="#" class="shareDocument" data-document-id="' + doc.id + '" rel="tooltip" title="${_('Share')} ' + doc.name + '" data-placement="left" style="padding-left:10px"><i class="fa fa-share-square-o"></i></a>',
     ], false);
     $("td", documentsTable.fnGetNodes(_addedRow[0]))[5].setAttribute("data-sort-value", doc.lastModifiedInMillis); // a bit of black magic.
   }

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

@@ -116,7 +116,7 @@ from django.utils.translation import ugettext as _
                                                        data-orig="/static/art/hue-logo-mini-white.png"
                                                        data-hover="/static/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="icon-external-link-sign"></i></a></li>
+    <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>
 </div>
 
@@ -131,7 +131,7 @@ from django.utils.translation import ugettext as _
           % if backend_name == 'OAuthBackend':
             class="hide"
           % endif
-            ><i class="icon-user"></i> ${_('Username')}
+            ><i class="fa fa-user"></i> ${_('Username')}
           ${ form['username'] | n,unicode }
           ${ form['username'].errors | n,unicode }
         </label>
@@ -139,20 +139,20 @@ from django.utils.translation import ugettext as _
           % if backend_name in ('AllowAllBackend', 'OAuthBackend'):
             class="hide"
           % endif
-            ><i class="icon-lock"></i> ${_('Password')}
+            ><i class="fa fa-lock"></i> ${_('Password')}
           ${ form['password'] | n,unicode }
           ${ form['password'].errors | n,unicode }
         </label>
 
         %if login_errors:
             <div class="alert alert-error" style="text-align: center">
-              <strong><i class="icon-warning-sign"></i> ${_('Error!')}</strong> ${_('Invalid username or password.')}
+              <strong><i class="fa fa-exclamation-triangle"></i> ${_('Error!')}</strong> ${_('Invalid username or password.')}
             </div>
         %endif
 
         %if first_login_ever:
             <div class="alert alert-block">
-              <i class="icon-warning-sign"></i>
+              <i class="fa fa-exclamation-triangle"></i>
             ${_('Since this is your first time logging in, pick any username and password. Be sure to remember these, as')}
               <strong>${_('they will become your Hue superuser credentials.')}</strong>.
             </div>

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

@@ -69,7 +69,7 @@ ${layout.menubar(section='log_view')}
       </%def>
       <%def name="creation()">
         <label class="checkbox" style="display: inline-block; margin-right: 10px"><input id="wrapLogs" type="checkbox" checked="checked">${_('Wrap logs')}</label>
-        <a href="/download_logs" class="btn"><i class="icon-download-alt"></i> ${_('Download entire log as zip')}</a>
+        <a href="/download_logs" class="btn"><i class="fa fa-download"></i> ${_('Download entire log as zip')}</a>
       </%def>
     </%actionbar:render>
 

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

@@ -41,7 +41,7 @@ ${ commonheader(title, "", user, "40px") | n,unicode }
 
               <div class="details">
       % if traceback:
-        <a href="javascript:toggleDisplay('#traceback');"><i class="icon-share-alt"></i> ${_('More Info')}</a>
+        <a href="javascript:toggleDisplay('#traceback');"><i class="fa fa-share"></i> ${_('More Info')}</a>
         &nbsp;
         <a href="/logs" target="_new">${_('View Logs')}</a>
         <br />

+ 395 - 402
desktop/core/static/ext/css/font-awesome.min.css

@@ -1,402 +1,395 @@
-@font-face{font-family:'FontAwesome';src:url('../font/fontawesome-webfont.eot?v=3.2.0');src:url('../font/fontawesome-webfont.eot?#iefix&v=3.2.0') format('embedded-opentype'),url('../font/fontawesome-webfont.woff?v=3.2.0') format('woff'),url('../font/fontawesome-webfont.ttf?v=3.2.0') format('truetype'),url('../font/fontawesome-webfont.svg#fontawesomeregular?v=3.2.0') format('svg');font-weight:normal;font-style:normal;}[class^="icon-"],[class*=" icon-"]{font-family:FontAwesome;font-weight:normal;font-style:normal;text-decoration:inherit;-webkit-font-smoothing:antialiased;*margin-right:.3em;}
-[class^="icon-"]:before,[class*=" icon-"]:before{text-decoration:inherit;display:inline-block;cursor:default;speak:none;}
-.icon-large:before{vertical-align:-10%;font-size:1.3333333333333333em;}
-a [class^="icon-"],a [class*=" icon-"]{display:inline;}
-[class^="icon-"].icon-fixed-width,[class*=" icon-"].icon-fixed-width{display:inline-block;width:1.1428571428571428em;text-align:right;padding-right:0.2857142857142857em;}[class^="icon-"].icon-fixed-width.icon-large,[class*=" icon-"].icon-fixed-width.icon-large{width:1.4285714285714286em;}
-.icons-ul{margin-left:2.142857142857143em;list-style-type:none;}.icons-ul>li{position:relative;}
-.icons-ul .icon-li{position:absolute;left:-2.142857142857143em;width:2.142857142857143em;text-align:center;line-height:inherit;}
-[class^="icon-"].hide,[class*=" icon-"].hide{display:none;}
-.icon-muted{color:#eeeeee;}
-.icon-light{color:#ffffff;}
-.icon-dark{color:#333333;}
-.icon-border{border:solid 1px #eeeeee;padding:.2em .25em .15em;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;}
-.icon-2x{font-size:2em;}.icon-2x.icon-border{border-width:2px;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;}
-.icon-3x{font-size:3em;}.icon-3x.icon-border{border-width:3px;-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px;}
-.icon-4x{font-size:4em;}.icon-4x.icon-border{border-width:4px;-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px;}
-.icon-5x{font-size:5em;}.icon-5x.icon-border{border-width:5px;-webkit-border-radius:7px;-moz-border-radius:7px;border-radius:7px;}
-.pull-right{float:right;}
-.pull-left{float:left;}
-[class^="icon-"].pull-left,[class*=" icon-"].pull-left{margin-right:.3em;}
-[class^="icon-"].pull-right,[class*=" icon-"].pull-right{margin-left:.3em;}
-[class^="icon-"],[class*=" icon-"]{display:inline;width:auto;height:auto;line-height:normal;vertical-align:baseline;background-image:none;background-position:0% 0%;background-repeat:repeat;margin-top:0;}
-.icon-white,.nav-pills>.active>a>[class^="icon-"],.nav-pills>.active>a>[class*=" icon-"],.nav-list>.active>a>[class^="icon-"],.nav-list>.active>a>[class*=" icon-"],.navbar-inverse .nav>.active>a>[class^="icon-"],.navbar-inverse .nav>.active>a>[class*=" icon-"],.dropdown-menu>li>a:hover>[class^="icon-"],.dropdown-menu>li>a:hover>[class*=" icon-"],.dropdown-menu>.active>a>[class^="icon-"],.dropdown-menu>.active>a>[class*=" icon-"],.dropdown-submenu:hover>a>[class^="icon-"],.dropdown-submenu:hover>a>[class*=" icon-"]{background-image:none;}
-.btn [class^="icon-"].icon-large,.nav [class^="icon-"].icon-large,.btn [class*=" icon-"].icon-large,.nav [class*=" icon-"].icon-large{line-height:.9em;}
-.btn [class^="icon-"].icon-spin,.nav [class^="icon-"].icon-spin,.btn [class*=" icon-"].icon-spin,.nav [class*=" icon-"].icon-spin{display:inline-block;}
-.nav-tabs [class^="icon-"],.nav-pills [class^="icon-"],.nav-tabs [class*=" icon-"],.nav-pills [class*=" icon-"],.nav-tabs [class^="icon-"].icon-large,.nav-pills [class^="icon-"].icon-large,.nav-tabs [class*=" icon-"].icon-large,.nav-pills [class*=" icon-"].icon-large{line-height:.9em;}
-.btn [class^="icon-"].pull-left.icon-2x,.btn [class*=" icon-"].pull-left.icon-2x,.btn [class^="icon-"].pull-right.icon-2x,.btn [class*=" icon-"].pull-right.icon-2x{margin-top:.18em;}
-.btn [class^="icon-"].icon-spin.icon-large,.btn [class*=" icon-"].icon-spin.icon-large{line-height:.8em;}
-.btn.btn-small [class^="icon-"].pull-left.icon-2x,.btn.btn-small [class*=" icon-"].pull-left.icon-2x,.btn.btn-small [class^="icon-"].pull-right.icon-2x,.btn.btn-small [class*=" icon-"].pull-right.icon-2x{margin-top:.25em;}
-.btn.btn-large [class^="icon-"],.btn.btn-large [class*=" icon-"]{margin-top:0;}.btn.btn-large [class^="icon-"].pull-left.icon-2x,.btn.btn-large [class*=" icon-"].pull-left.icon-2x,.btn.btn-large [class^="icon-"].pull-right.icon-2x,.btn.btn-large [class*=" icon-"].pull-right.icon-2x{margin-top:.05em;}
-.btn.btn-large [class^="icon-"].pull-left.icon-2x,.btn.btn-large [class*=" icon-"].pull-left.icon-2x{margin-right:.2em;}
-.btn.btn-large [class^="icon-"].pull-right.icon-2x,.btn.btn-large [class*=" icon-"].pull-right.icon-2x{margin-left:.2em;}
-.icon-stack{position:relative;display:inline-block;width:2em;height:2em;line-height:2em;vertical-align:-35%;}.icon-stack [class^="icon-"],.icon-stack [class*=" icon-"]{display:block;text-align:center;position:absolute;width:100%;height:100%;font-size:1em;line-height:inherit;*line-height:2em;}
-.icon-stack .icon-stack-base{font-size:2em;*line-height:1em;}
-.icon-spin{display:inline-block;-moz-animation:spin 2s infinite linear;-o-animation:spin 2s infinite linear;-webkit-animation:spin 2s infinite linear;animation:spin 2s infinite linear;}
-a .icon-spin{display:inline-block;text-decoration:none;}
-@-moz-keyframes spin{0%{-moz-transform:rotate(0deg);} 100%{-moz-transform:rotate(359deg);}}@-webkit-keyframes spin{0%{-webkit-transform:rotate(0deg);} 100%{-webkit-transform:rotate(359deg);}}@-o-keyframes spin{0%{-o-transform:rotate(0deg);} 100%{-o-transform:rotate(359deg);}}@-ms-keyframes spin{0%{-ms-transform:rotate(0deg);} 100%{-ms-transform:rotate(359deg);}}@keyframes spin{0%{transform:rotate(0deg);} 100%{transform:rotate(359deg);}}.icon-rotate-90:before{-webkit-transform:rotate(90deg);-moz-transform:rotate(90deg);-ms-transform:rotate(90deg);-o-transform:rotate(90deg);transform:rotate(90deg);filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=1);}
-.icon-rotate-180:before{-webkit-transform:rotate(180deg);-moz-transform:rotate(180deg);-ms-transform:rotate(180deg);-o-transform:rotate(180deg);transform:rotate(180deg);filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=2);}
-.icon-rotate-270:before{-webkit-transform:rotate(270deg);-moz-transform:rotate(270deg);-ms-transform:rotate(270deg);-o-transform:rotate(270deg);transform:rotate(270deg);filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=3);}
-.icon-flip-horizontal:before{-webkit-transform:scale(-1, 1);-moz-transform:scale(-1, 1);-ms-transform:scale(-1, 1);-o-transform:scale(-1, 1);transform:scale(-1, 1);}
-.icon-flip-vertical:before{-webkit-transform:scale(1, -1);-moz-transform:scale(1, -1);-ms-transform:scale(1, -1);-o-transform:scale(1, -1);transform:scale(1, -1);}
-a .icon-rotate-90:before,a .icon-rotate-180:before,a .icon-rotate-270:before,a .icon-flip-horizontal:before,a .icon-flip-vertical:before{display:inline-block;}
-.icon-glass:before{content:"\f000";}
-.icon-music:before{content:"\f001";}
-.icon-search:before{content:"\f002";}
-.icon-envelope-alt:before{content:"\f003";}
-.icon-heart:before{content:"\f004";}
-.icon-star:before{content:"\f005";}
-.icon-star-empty:before{content:"\f006";}
-.icon-user:before{content:"\f007";}
-.icon-film:before{content:"\f008";}
-.icon-th-large:before{content:"\f009";}
-.icon-th:before{content:"\f00a";}
-.icon-th-list:before{content:"\f00b";}
-.icon-ok:before{content:"\f00c";}
-.icon-remove:before{content:"\f00d";}
-.icon-zoom-in:before{content:"\f00e";}
-.icon-zoom-out:before{content:"\f010";}
-.icon-power-off:before,.icon-off:before{content:"\f011";}
-.icon-signal:before{content:"\f012";}
-.icon-cog:before{content:"\f013";}
-.icon-trash:before{content:"\f014";}
-.icon-home:before{content:"\f015";}
-.icon-file-alt:before{content:"\f016";}
-.icon-time:before{content:"\f017";}
-.icon-road:before{content:"\f018";}
-.icon-download-alt:before{content:"\f019";}
-.icon-download:before{content:"\f01a";}
-.icon-upload:before{content:"\f01b";}
-.icon-inbox:before{content:"\f01c";}
-.icon-play-circle:before{content:"\f01d";}
-.icon-rotate-right:before,.icon-repeat:before{content:"\f01e";}
-.icon-refresh:before{content:"\f021";}
-.icon-list-alt:before{content:"\f022";}
-.icon-lock:before{content:"\f023";}
-.icon-flag:before{content:"\f024";}
-.icon-headphones:before{content:"\f025";}
-.icon-volume-off:before{content:"\f026";}
-.icon-volume-down:before{content:"\f027";}
-.icon-volume-up:before{content:"\f028";}
-.icon-qrcode:before{content:"\f029";}
-.icon-barcode:before{content:"\f02a";}
-.icon-tag:before{content:"\f02b";}
-.icon-tags:before{content:"\f02c";}
-.icon-book:before{content:"\f02d";}
-.icon-bookmark:before{content:"\f02e";}
-.icon-print:before{content:"\f02f";}
-.icon-camera:before{content:"\f030";}
-.icon-font:before{content:"\f031";}
-.icon-bold:before{content:"\f032";}
-.icon-italic:before{content:"\f033";}
-.icon-text-height:before{content:"\f034";}
-.icon-text-width:before{content:"\f035";}
-.icon-align-left:before{content:"\f036";}
-.icon-align-center:before{content:"\f037";}
-.icon-align-right:before{content:"\f038";}
-.icon-align-justify:before{content:"\f039";}
-.icon-list:before{content:"\f03a";}
-.icon-indent-left:before{content:"\f03b";}
-.icon-indent-right:before{content:"\f03c";}
-.icon-facetime-video:before{content:"\f03d";}
-.icon-picture:before{content:"\f03e";}
-.icon-pencil:before{content:"\f040";}
-.icon-map-marker:before{content:"\f041";}
-.icon-adjust:before{content:"\f042";}
-.icon-tint:before{content:"\f043";}
-.icon-edit:before{content:"\f044";}
-.icon-share:before{content:"\f045";}
-.icon-check:before{content:"\f046";}
-.icon-move:before{content:"\f047";}
-.icon-step-backward:before{content:"\f048";}
-.icon-fast-backward:before{content:"\f049";}
-.icon-backward:before{content:"\f04a";}
-.icon-play:before{content:"\f04b";}
-.icon-pause:before{content:"\f04c";}
-.icon-stop:before{content:"\f04d";}
-.icon-forward:before{content:"\f04e";}
-.icon-fast-forward:before{content:"\f050";}
-.icon-step-forward:before{content:"\f051";}
-.icon-eject:before{content:"\f052";}
-.icon-chevron-left:before{content:"\f053";}
-.icon-chevron-right:before{content:"\f054";}
-.icon-plus-sign:before{content:"\f055";}
-.icon-minus-sign:before{content:"\f056";}
-.icon-remove-sign:before{content:"\f057";}
-.icon-ok-sign:before{content:"\f058";}
-.icon-question-sign:before{content:"\f059";}
-.icon-info-sign:before{content:"\f05a";}
-.icon-screenshot:before{content:"\f05b";}
-.icon-remove-circle:before{content:"\f05c";}
-.icon-ok-circle:before{content:"\f05d";}
-.icon-ban-circle:before{content:"\f05e";}
-.icon-arrow-left:before{content:"\f060";}
-.icon-arrow-right:before{content:"\f061";}
-.icon-arrow-up:before{content:"\f062";}
-.icon-arrow-down:before{content:"\f063";}
-.icon-mail-forward:before,.icon-share-alt:before{content:"\f064";}
-.icon-resize-full:before{content:"\f065";}
-.icon-resize-small:before{content:"\f066";}
-.icon-plus:before{content:"\f067";}
-.icon-minus:before{content:"\f068";}
-.icon-asterisk:before{content:"\f069";}
-.icon-exclamation-sign:before{content:"\f06a";}
-.icon-gift:before{content:"\f06b";}
-.icon-leaf:before{content:"\f06c";}
-.icon-fire:before{content:"\f06d";}
-.icon-eye-open:before{content:"\f06e";}
-.icon-eye-close:before{content:"\f070";}
-.icon-warning-sign:before{content:"\f071";}
-.icon-plane:before{content:"\f072";}
-.icon-calendar:before{content:"\f073";}
-.icon-random:before{content:"\f074";}
-.icon-comment:before{content:"\f075";}
-.icon-magnet:before{content:"\f076";}
-.icon-chevron-up:before{content:"\f077";}
-.icon-chevron-down:before{content:"\f078";}
-.icon-retweet:before{content:"\f079";}
-.icon-shopping-cart:before{content:"\f07a";}
-.icon-folder-close:before{content:"\f07b";}
-.icon-folder-open:before{content:"\f07c";}
-.icon-resize-vertical:before{content:"\f07d";}
-.icon-resize-horizontal:before{content:"\f07e";}
-.icon-bar-chart:before{content:"\f080";}
-.icon-twitter-sign:before{content:"\f081";}
-.icon-facebook-sign:before{content:"\f082";}
-.icon-camera-retro:before{content:"\f083";}
-.icon-key:before{content:"\f084";}
-.icon-cogs:before{content:"\f085";}
-.icon-comments:before{content:"\f086";}
-.icon-thumbs-up-alt:before{content:"\f087";}
-.icon-thumbs-down-alt:before{content:"\f088";}
-.icon-star-half:before{content:"\f089";}
-.icon-heart-empty:before{content:"\f08a";}
-.icon-signout:before{content:"\f08b";}
-.icon-linkedin-sign:before{content:"\f08c";}
-.icon-pushpin:before{content:"\f08d";}
-.icon-external-link:before{content:"\f08e";}
-.icon-signin:before{content:"\f090";}
-.icon-trophy:before{content:"\f091";}
-.icon-github-sign:before{content:"\f092";}
-.icon-upload-alt:before{content:"\f093";}
-.icon-lemon:before{content:"\f094";}
-.icon-phone:before{content:"\f095";}
-.icon-unchecked:before,.icon-check-empty:before{content:"\f096";}
-.icon-bookmark-empty:before{content:"\f097";}
-.icon-phone-sign:before{content:"\f098";}
-.icon-twitter:before{content:"\f099";}
-.icon-facebook:before{content:"\f09a";}
-.icon-github:before{content:"\f09b";}
-.icon-unlock:before{content:"\f09c";}
-.icon-credit-card:before{content:"\f09d";}
-.icon-rss:before{content:"\f09e";}
-.icon-hdd:before{content:"\f0a0";}
-.icon-bullhorn:before{content:"\f0a1";}
-.icon-bell:before{content:"\f0a2";}
-.icon-certificate:before{content:"\f0a3";}
-.icon-hand-right:before{content:"\f0a4";}
-.icon-hand-left:before{content:"\f0a5";}
-.icon-hand-up:before{content:"\f0a6";}
-.icon-hand-down:before{content:"\f0a7";}
-.icon-circle-arrow-left:before{content:"\f0a8";}
-.icon-circle-arrow-right:before{content:"\f0a9";}
-.icon-circle-arrow-up:before{content:"\f0aa";}
-.icon-circle-arrow-down:before{content:"\f0ab";}
-.icon-globe:before{content:"\f0ac";}
-.icon-wrench:before{content:"\f0ad";}
-.icon-tasks:before{content:"\f0ae";}
-.icon-filter:before{content:"\f0b0";}
-.icon-briefcase:before{content:"\f0b1";}
-.icon-fullscreen:before{content:"\f0b2";}
-.icon-group:before{content:"\f0c0";}
-.icon-link:before{content:"\f0c1";}
-.icon-cloud:before{content:"\f0c2";}
-.icon-beaker:before{content:"\f0c3";}
-.icon-cut:before{content:"\f0c4";}
-.icon-copy:before{content:"\f0c5";}
-.icon-paperclip:before,.icon-paper-clip:before{content:"\f0c6";}
-.icon-save:before{content:"\f0c7";}
-.icon-sign-blank:before{content:"\f0c8";}
-.icon-reorder:before{content:"\f0c9";}
-.icon-list-ul:before{content:"\f0ca";}
-.icon-list-ol:before{content:"\f0cb";}
-.icon-strikethrough:before{content:"\f0cc";}
-.icon-underline:before{content:"\f0cd";}
-.icon-table:before{content:"\f0ce";}
-.icon-magic:before{content:"\f0d0";}
-.icon-truck:before{content:"\f0d1";}
-.icon-pinterest:before{content:"\f0d2";}
-.icon-pinterest-sign:before{content:"\f0d3";}
-.icon-google-plus-sign:before{content:"\f0d4";}
-.icon-google-plus:before{content:"\f0d5";}
-.icon-money:before{content:"\f0d6";}
-.icon-caret-down:before{content:"\f0d7";}
-.icon-caret-up:before{content:"\f0d8";}
-.icon-caret-left:before{content:"\f0d9";}
-.icon-caret-right:before{content:"\f0da";}
-.icon-columns:before{content:"\f0db";}
-.icon-sort:before{content:"\f0dc";}
-.icon-sort-down:before{content:"\f0dd";}
-.icon-sort-up:before{content:"\f0de";}
-.icon-envelope:before{content:"\f0e0";}
-.icon-linkedin:before{content:"\f0e1";}
-.icon-rotate-left:before,.icon-undo:before{content:"\f0e2";}
-.icon-legal:before{content:"\f0e3";}
-.icon-dashboard:before{content:"\f0e4";}
-.icon-comment-alt:before{content:"\f0e5";}
-.icon-comments-alt:before{content:"\f0e6";}
-.icon-bolt:before{content:"\f0e7";}
-.icon-sitemap:before{content:"\f0e8";}
-.icon-umbrella:before{content:"\f0e9";}
-.icon-paste:before{content:"\f0ea";}
-.icon-lightbulb:before{content:"\f0eb";}
-.icon-exchange:before{content:"\f0ec";}
-.icon-cloud-download:before{content:"\f0ed";}
-.icon-cloud-upload:before{content:"\f0ee";}
-.icon-user-md:before{content:"\f0f0";}
-.icon-stethoscope:before{content:"\f0f1";}
-.icon-suitcase:before{content:"\f0f2";}
-.icon-bell-alt:before{content:"\f0f3";}
-.icon-coffee:before{content:"\f0f4";}
-.icon-food:before{content:"\f0f5";}
-.icon-file-text-alt:before{content:"\f0f6";}
-.icon-building:before{content:"\f0f7";}
-.icon-hospital:before{content:"\f0f8";}
-.icon-ambulance:before{content:"\f0f9";}
-.icon-medkit:before{content:"\f0fa";}
-.icon-fighter-jet:before{content:"\f0fb";}
-.icon-beer:before{content:"\f0fc";}
-.icon-h-sign:before{content:"\f0fd";}
-.icon-plus-sign-alt:before{content:"\f0fe";}
-.icon-double-angle-left:before{content:"\f100";}
-.icon-double-angle-right:before{content:"\f101";}
-.icon-double-angle-up:before{content:"\f102";}
-.icon-double-angle-down:before{content:"\f103";}
-.icon-angle-left:before{content:"\f104";}
-.icon-angle-right:before{content:"\f105";}
-.icon-angle-up:before{content:"\f106";}
-.icon-angle-down:before{content:"\f107";}
-.icon-desktop:before{content:"\f108";}
-.icon-laptop:before{content:"\f109";}
-.icon-tablet:before{content:"\f10a";}
-.icon-mobile-phone:before{content:"\f10b";}
-.icon-circle-blank:before{content:"\f10c";}
-.icon-quote-left:before{content:"\f10d";}
-.icon-quote-right:before{content:"\f10e";}
-.icon-spinner:before{content:"\f110";}
-.icon-circle:before{content:"\f111";}
-.icon-mail-reply:before,.icon-reply:before{content:"\f112";}
-.icon-github-alt:before{content:"\f113";}
-.icon-folder-close-alt:before{content:"\f114";}
-.icon-folder-open-alt:before{content:"\f115";}
-.icon-expand-alt:before{content:"\f116";}
-.icon-collapse-alt:before{content:"\f117";}
-.icon-smile:before{content:"\f118";}
-.icon-frown:before{content:"\f119";}
-.icon-meh:before{content:"\f11a";}
-.icon-gamepad:before{content:"\f11b";}
-.icon-keyboard:before{content:"\f11c";}
-.icon-flag-alt:before{content:"\f11d";}
-.icon-flag-checkered:before{content:"\f11e";}
-.icon-terminal:before{content:"\f120";}
-.icon-code:before{content:"\f121";}
-.icon-reply-all:before{content:"\f122";}
-.icon-mail-reply-all:before{content:"\f122";}
-.icon-star-half-full:before,.icon-star-half-empty:before{content:"\f123";}
-.icon-location-arrow:before{content:"\f124";}
-.icon-crop:before{content:"\f125";}
-.icon-code-fork:before{content:"\f126";}
-.icon-unlink:before{content:"\f127";}
-.icon-question:before{content:"\f128";}
-.icon-info:before{content:"\f129";}
-.icon-exclamation:before{content:"\f12a";}
-.icon-superscript:before{content:"\f12b";}
-.icon-subscript:before{content:"\f12c";}
-.icon-eraser:before{content:"\f12d";}
-.icon-puzzle-piece:before{content:"\f12e";}
-.icon-microphone:before{content:"\f130";}
-.icon-microphone-off:before{content:"\f131";}
-.icon-shield:before{content:"\f132";}
-.icon-calendar-empty:before{content:"\f133";}
-.icon-fire-extinguisher:before{content:"\f134";}
-.icon-rocket:before{content:"\f135";}
-.icon-maxcdn:before{content:"\f136";}
-.icon-chevron-sign-left:before{content:"\f137";}
-.icon-chevron-sign-right:before{content:"\f138";}
-.icon-chevron-sign-up:before{content:"\f139";}
-.icon-chevron-sign-down:before{content:"\f13a";}
-.icon-html5:before{content:"\f13b";}
-.icon-css3:before{content:"\f13c";}
-.icon-anchor:before{content:"\f13d";}
-.icon-unlock-alt:before{content:"\f13e";}
-.icon-bullseye:before{content:"\f140";}
-.icon-ellipsis-horizontal:before{content:"\f141";}
-.icon-ellipsis-vertical:before{content:"\f142";}
-.icon-rss-sign:before{content:"\f143";}
-.icon-play-sign:before{content:"\f144";}
-.icon-ticket:before{content:"\f145";}
-.icon-minus-sign-alt:before{content:"\f146";}
-.icon-check-minus:before{content:"\f147";}
-.icon-level-up:before{content:"\f148";}
-.icon-level-down:before{content:"\f149";}
-.icon-check-sign:before{content:"\f14a";}
-.icon-edit-sign:before{content:"\f14b";}
-.icon-external-link-sign:before{content:"\f14c";}
-.icon-share-sign:before{content:"\f14d";}
-.icon-compass:before{content:"\f14e";}
-.icon-collapse:before{content:"\f150";}
-.icon-collapse-top:before{content:"\f151";}
-.icon-expand:before{content:"\f152";}
-.icon-euro:before,.icon-eur:before{content:"\f153";}
-.icon-gbp:before{content:"\f154";}
-.icon-dollar:before,.icon-usd:before{content:"\f155";}
-.icon-rupee:before,.icon-inr:before{content:"\f156";}
-.icon-yen:before,.icon-jpy:before{content:"\f157";}
-.icon-renminbi:before,.icon-cny:before{content:"\f158";}
-.icon-won:before,.icon-krw:before{content:"\f159";}
-.icon-bitcoin:before,.icon-btc:before{content:"\f15a";}
-.icon-file:before{content:"\f15b";}
-.icon-file-text:before{content:"\f15c";}
-.icon-sort-by-alphabet:before{content:"\f15d";}
-.icon-sort-by-alphabet-alt:before{content:"\f15e";}
-.icon-sort-by-attributes:before{content:"\f160";}
-.icon-sort-by-attributes-alt:before{content:"\f161";}
-.icon-sort-by-order:before{content:"\f162";}
-.icon-sort-by-order-alt:before{content:"\f163";}
-.icon-thumbs-up:before{content:"\f164";}
-.icon-thumbs-down:before{content:"\f165";}
-.icon-youtube-sign:before{content:"\f166";}
-.icon-youtube:before{content:"\f167";}
-.icon-xing:before{content:"\f168";}
-.icon-xing-sign:before{content:"\f169";}
-.icon-youtube-play:before{content:"\f16a";}
-.icon-dropbox:before{content:"\f16b";}
-.icon-stackexchange:before{content:"\f16c";}
-.icon-instagram:before{content:"\f16d";}
-.icon-flickr:before{content:"\f16e";}
-.icon-adn:before{content:"\f170";}
-.icon-bitbucket:before{content:"\f171";}
-.icon-bitbucket-sign:before{content:"\f172";}
-.icon-tumblr:before{content:"\f173";}
-.icon-tumblr-sign:before{content:"\f174";}
-.icon-long-arrow-down:before{content:"\f175";}
-.icon-long-arrow-up:before{content:"\f176";}
-.icon-long-arrow-left:before{content:"\f177";}
-.icon-long-arrow-right:before{content:"\f178";}
-.icon-apple:before{content:"\f179";}
-.icon-windows:before{content:"\f17a";}
-.icon-android:before{content:"\f17b";}
-.icon-linux:before{content:"\f17c";}
-.icon-dribble:before{content:"\f17d";}
-.icon-skype:before{content:"\f17e";}
-.icon-foursquare:before{content:"\f180";}
-.icon-trello:before{content:"\f181";}
-.icon-female:before{content:"\f182";}
-.icon-male:before{content:"\f183";}
-.icon-gittip:before{content:"\f184";}
-.icon-sun:before{content:"\f185";}
-.icon-moon:before{content:"\f186";}
-.icon-archive:before{content:"\f187";}
-.icon-bug:before{content:"\f188";}
-.icon-vk:before{content:"\f189";}
-.icon-weibo:before{content:"\f18a";}
-.icon-renren:before{content:"\f18b";}
+@font-face{font-family:'FontAwesome';src:url('../fonts/fontawesome-webfont.eot?v=4.0.1');src:url('../fonts/fontawesome-webfont.eot?#iefix&v=4.0.1') format('embedded-opentype'),url('../fonts/fontawesome-webfont.woff?v=4.0.1') format('woff'),url('../fonts/fontawesome-webfont.ttf?v=4.0.1') format('truetype'),url('../fonts/fontawesome-webfont.svg?v=4.0.1#fontawesomeregular') format('svg');font-weight:normal;font-style:normal}.fa{display:inline-block;font-family:FontAwesome;font-style:normal;font-weight:normal;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
+.fa-lg{font-size:1.3333333333333333em;line-height:.75em;vertical-align:-15%}
+.fa-2x{font-size:2em}
+.fa-3x{font-size:3em}
+.fa-4x{font-size:4em}
+.fa-5x{font-size:5em}
+.fa-fw{width:1.2857142857142858em;text-align:center}
+.fa-ul{padding-left:0;margin-left:2.142857142857143em;list-style-type:none}.fa-ul>li{position:relative}
+.fa-li{position:absolute;left:-2.142857142857143em;width:2.142857142857143em;top:.14285714285714285em;text-align:center}.fa-li.fa-lg{left:-1.8571428571428572em}
+.fa-border{padding:.2em .25em .15em;border:solid .08em #eee;border-radius:.1em}
+.pull-right{float:right}
+.pull-left{float:left}
+.fa.pull-left{margin-right:.3em}
+.fa.pull-right{margin-left:.3em}
+.fa-spin{-webkit-animation:spin 2s infinite linear;-moz-animation:spin 2s infinite linear;-o-animation:spin 2s infinite linear;animation:spin 2s infinite linear}
+@-moz-keyframes spin{0%{-moz-transform:rotate(0deg)} 100%{-moz-transform:rotate(359deg)}}@-webkit-keyframes spin{0%{-webkit-transform:rotate(0deg)} 100%{-webkit-transform:rotate(359deg)}}@-o-keyframes spin{0%{-o-transform:rotate(0deg)} 100%{-o-transform:rotate(359deg)}}@-ms-keyframes spin{0%{-ms-transform:rotate(0deg)} 100%{-ms-transform:rotate(359deg)}}@keyframes spin{0%{transform:rotate(0deg)} 100%{transform:rotate(359deg)}}.fa-rotate-90{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=1);-webkit-transform:rotate(90deg);-moz-transform:rotate(90deg);-ms-transform:rotate(90deg);-o-transform:rotate(90deg);transform:rotate(90deg)}
+.fa-rotate-180{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=2);-webkit-transform:rotate(180deg);-moz-transform:rotate(180deg);-ms-transform:rotate(180deg);-o-transform:rotate(180deg);transform:rotate(180deg)}
+.fa-rotate-270{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=3);-webkit-transform:rotate(270deg);-moz-transform:rotate(270deg);-ms-transform:rotate(270deg);-o-transform:rotate(270deg);transform:rotate(270deg)}
+.fa-flip-horizontal{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1);-webkit-transform:scale(-1, 1);-moz-transform:scale(-1, 1);-ms-transform:scale(-1, 1);-o-transform:scale(-1, 1);transform:scale(-1, 1)}
+.fa-flip-vertical{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1);-webkit-transform:scale(1, -1);-moz-transform:scale(1, -1);-ms-transform:scale(1, -1);-o-transform:scale(1, -1);transform:scale(1, -1)}
+.fa-stack{position:relative;display:inline-block;width:2em;height:2em;line-height:2em;vertical-align:middle}
+.fa-stack-1x,.fa-stack-2x{position:absolute;left:0;width:100%;text-align:center}
+.fa-stack-1x{line-height:inherit}
+.fa-stack-2x{font-size:2em}
+.fa-inverse{color:#fff}
+.fa-glass:before{content:"\f000"}
+.fa-music:before{content:"\f001"}
+.fa-search:before{content:"\f002"}
+.fa-envelope-o:before{content:"\f003"}
+.fa-heart:before{content:"\f004"}
+.fa-star:before{content:"\f005"}
+.fa-star-o:before{content:"\f006"}
+.fa-user:before{content:"\f007"}
+.fa-film:before{content:"\f008"}
+.fa-th-large:before{content:"\f009"}
+.fa-th:before{content:"\f00a"}
+.fa-th-list:before{content:"\f00b"}
+.fa-check:before{content:"\f00c"}
+.fa-times:before{content:"\f00d"}
+.fa-search-plus:before{content:"\f00e"}
+.fa-search-minus:before{content:"\f010"}
+.fa-power-off:before{content:"\f011"}
+.fa-signal:before{content:"\f012"}
+.fa-gear:before,.fa-cog:before{content:"\f013"}
+.fa-trash-o:before{content:"\f014"}
+.fa-home:before{content:"\f015"}
+.fa-file-o:before{content:"\f016"}
+.fa-clock-o:before{content:"\f017"}
+.fa-road:before{content:"\f018"}
+.fa-download:before{content:"\f019"}
+.fa-arrow-circle-o-down:before{content:"\f01a"}
+.fa-arrow-circle-o-up:before{content:"\f01b"}
+.fa-inbox:before{content:"\f01c"}
+.fa-play-circle-o:before{content:"\f01d"}
+.fa-rotate-right:before,.fa-repeat:before{content:"\f01e"}
+.fa-refresh:before{content:"\f021"}
+.fa-list-alt:before{content:"\f022"}
+.fa-lock:before{content:"\f023"}
+.fa-flag:before{content:"\f024"}
+.fa-headphones:before{content:"\f025"}
+.fa-volume-off:before{content:"\f026"}
+.fa-volume-down:before{content:"\f027"}
+.fa-volume-up:before{content:"\f028"}
+.fa-qrcode:before{content:"\f029"}
+.fa-barcode:before{content:"\f02a"}
+.fa-tag:before{content:"\f02b"}
+.fa-tags:before{content:"\f02c"}
+.fa-book:before{content:"\f02d"}
+.fa-bookmark:before{content:"\f02e"}
+.fa-print:before{content:"\f02f"}
+.fa-camera:before{content:"\f030"}
+.fa-font:before{content:"\f031"}
+.fa-bold:before{content:"\f032"}
+.fa-italic:before{content:"\f033"}
+.fa-text-height:before{content:"\f034"}
+.fa-text-width:before{content:"\f035"}
+.fa-align-left:before{content:"\f036"}
+.fa-align-center:before{content:"\f037"}
+.fa-align-right:before{content:"\f038"}
+.fa-align-justify:before{content:"\f039"}
+.fa-list:before{content:"\f03a"}
+.fa-dedent:before,.fa-outdent:before{content:"\f03b"}
+.fa-indent:before{content:"\f03c"}
+.fa-video-camera:before{content:"\f03d"}
+.fa-picture-o:before{content:"\f03e"}
+.fa-pencil:before{content:"\f040"}
+.fa-map-marker:before{content:"\f041"}
+.fa-adjust:before{content:"\f042"}
+.fa-tint:before{content:"\f043"}
+.fa-edit:before,.fa-pencil-square-o:before{content:"\f044"}
+.fa-share-square-o:before{content:"\f045"}
+.fa-check-square-o:before{content:"\f046"}
+.fa-move:before{content:"\f047"}
+.fa-step-backward:before{content:"\f048"}
+.fa-fast-backward:before{content:"\f049"}
+.fa-backward:before{content:"\f04a"}
+.fa-play:before{content:"\f04b"}
+.fa-pause:before{content:"\f04c"}
+.fa-stop:before{content:"\f04d"}
+.fa-forward:before{content:"\f04e"}
+.fa-fast-forward:before{content:"\f050"}
+.fa-step-forward:before{content:"\f051"}
+.fa-eject:before{content:"\f052"}
+.fa-chevron-left:before{content:"\f053"}
+.fa-chevron-right:before{content:"\f054"}
+.fa-plus-circle:before{content:"\f055"}
+.fa-minus-circle:before{content:"\f056"}
+.fa-times-circle:before{content:"\f057"}
+.fa-check-circle:before{content:"\f058"}
+.fa-question-circle:before{content:"\f059"}
+.fa-info-circle:before{content:"\f05a"}
+.fa-crosshairs:before{content:"\f05b"}
+.fa-times-circle-o:before{content:"\f05c"}
+.fa-check-circle-o:before{content:"\f05d"}
+.fa-ban:before{content:"\f05e"}
+.fa-arrow-left:before{content:"\f060"}
+.fa-arrow-right:before{content:"\f061"}
+.fa-arrow-up:before{content:"\f062"}
+.fa-arrow-down:before{content:"\f063"}
+.fa-mail-forward:before,.fa-share:before{content:"\f064"}
+.fa-resize-full:before{content:"\f065"}
+.fa-resize-small:before{content:"\f066"}
+.fa-plus:before{content:"\f067"}
+.fa-minus:before{content:"\f068"}
+.fa-asterisk:before{content:"\f069"}
+.fa-exclamation-circle:before{content:"\f06a"}
+.fa-gift:before{content:"\f06b"}
+.fa-leaf:before{content:"\f06c"}
+.fa-fire:before{content:"\f06d"}
+.fa-eye:before{content:"\f06e"}
+.fa-eye-slash:before{content:"\f070"}
+.fa-warning:before,.fa-exclamation-triangle:before{content:"\f071"}
+.fa-plane:before{content:"\f072"}
+.fa-calendar:before{content:"\f073"}
+.fa-random:before{content:"\f074"}
+.fa-comment:before{content:"\f075"}
+.fa-magnet:before{content:"\f076"}
+.fa-chevron-up:before{content:"\f077"}
+.fa-chevron-down:before{content:"\f078"}
+.fa-retweet:before{content:"\f079"}
+.fa-shopping-cart:before{content:"\f07a"}
+.fa-folder:before{content:"\f07b"}
+.fa-folder-open:before{content:"\f07c"}
+.fa-resize-vertical:before{content:"\f07d"}
+.fa-resize-horizontal:before{content:"\f07e"}
+.fa-bar-chart-o:before{content:"\f080"}
+.fa-twitter-square:before{content:"\f081"}
+.fa-facebook-square:before{content:"\f082"}
+.fa-camera-retro:before{content:"\f083"}
+.fa-key:before{content:"\f084"}
+.fa-gears:before,.fa-cogs:before{content:"\f085"}
+.fa-comments:before{content:"\f086"}
+.fa-thumbs-o-up:before{content:"\f087"}
+.fa-thumbs-o-down:before{content:"\f088"}
+.fa-star-half:before{content:"\f089"}
+.fa-heart-o:before{content:"\f08a"}
+.fa-sign-out:before{content:"\f08b"}
+.fa-linkedin-square:before{content:"\f08c"}
+.fa-thumb-tack:before{content:"\f08d"}
+.fa-external-link:before{content:"\f08e"}
+.fa-sign-in:before{content:"\f090"}
+.fa-trophy:before{content:"\f091"}
+.fa-github-square:before{content:"\f092"}
+.fa-upload:before{content:"\f093"}
+.fa-lemon-o:before{content:"\f094"}
+.fa-phone:before{content:"\f095"}
+.fa-square-o:before{content:"\f096"}
+.fa-bookmark-o:before{content:"\f097"}
+.fa-phone-square:before{content:"\f098"}
+.fa-twitter:before{content:"\f099"}
+.fa-facebook:before{content:"\f09a"}
+.fa-github:before{content:"\f09b"}
+.fa-unlock:before{content:"\f09c"}
+.fa-credit-card:before{content:"\f09d"}
+.fa-rss:before{content:"\f09e"}
+.fa-hdd-o:before{content:"\f0a0"}
+.fa-bullhorn:before{content:"\f0a1"}
+.fa-bell:before{content:"\f0f3"}
+.fa-certificate:before{content:"\f0a3"}
+.fa-hand-o-right:before{content:"\f0a4"}
+.fa-hand-o-left:before{content:"\f0a5"}
+.fa-hand-o-up:before{content:"\f0a6"}
+.fa-hand-o-down:before{content:"\f0a7"}
+.fa-arrow-circle-left:before{content:"\f0a8"}
+.fa-arrow-circle-right:before{content:"\f0a9"}
+.fa-arrow-circle-up:before{content:"\f0aa"}
+.fa-arrow-circle-down:before{content:"\f0ab"}
+.fa-globe:before{content:"\f0ac"}
+.fa-wrench:before{content:"\f0ad"}
+.fa-tasks:before{content:"\f0ae"}
+.fa-filter:before{content:"\f0b0"}
+.fa-briefcase:before{content:"\f0b1"}
+.fa-fullscreen:before{content:"\f0b2"}
+.fa-group:before{content:"\f0c0"}
+.fa-chain:before,.fa-link:before{content:"\f0c1"}
+.fa-cloud:before{content:"\f0c2"}
+.fa-flask:before{content:"\f0c3"}
+.fa-cut:before,.fa-scissors:before{content:"\f0c4"}
+.fa-copy:before,.fa-files-o:before{content:"\f0c5"}
+.fa-paperclip:before{content:"\f0c6"}
+.fa-save:before,.fa-floppy-o:before{content:"\f0c7"}
+.fa-square:before{content:"\f0c8"}
+.fa-reorder:before{content:"\f0c9"}
+.fa-list-ul:before{content:"\f0ca"}
+.fa-list-ol:before{content:"\f0cb"}
+.fa-strikethrough:before{content:"\f0cc"}
+.fa-underline:before{content:"\f0cd"}
+.fa-table:before{content:"\f0ce"}
+.fa-magic:before{content:"\f0d0"}
+.fa-truck:before{content:"\f0d1"}
+.fa-pinterest:before{content:"\f0d2"}
+.fa-pinterest-square:before{content:"\f0d3"}
+.fa-google-plus-square:before{content:"\f0d4"}
+.fa-google-plus:before{content:"\f0d5"}
+.fa-money:before{content:"\f0d6"}
+.fa-caret-down:before{content:"\f0d7"}
+.fa-caret-up:before{content:"\f0d8"}
+.fa-caret-left:before{content:"\f0d9"}
+.fa-caret-right:before{content:"\f0da"}
+.fa-columns:before{content:"\f0db"}
+.fa-unsorted:before,.fa-sort:before{content:"\f0dc"}
+.fa-sort-down:before,.fa-sort-asc:before{content:"\f0dd"}
+.fa-sort-up:before,.fa-sort-desc:before{content:"\f0de"}
+.fa-envelope:before{content:"\f0e0"}
+.fa-linkedin:before{content:"\f0e1"}
+.fa-rotate-left:before,.fa-undo:before{content:"\f0e2"}
+.fa-legal:before,.fa-gavel:before{content:"\f0e3"}
+.fa-dashboard:before,.fa-tachometer:before{content:"\f0e4"}
+.fa-comment-o:before{content:"\f0e5"}
+.fa-comments-o:before{content:"\f0e6"}
+.fa-flash:before,.fa-bolt:before{content:"\f0e7"}
+.fa-sitemap:before{content:"\f0e8"}
+.fa-umbrella:before{content:"\f0e9"}
+.fa-paste:before,.fa-clipboard:before{content:"\f0ea"}
+.fa-lightbulb-o:before{content:"\f0eb"}
+.fa-exchange:before{content:"\f0ec"}
+.fa-cloud-download:before{content:"\f0ed"}
+.fa-cloud-upload:before{content:"\f0ee"}
+.fa-user-md:before{content:"\f0f0"}
+.fa-stethoscope:before{content:"\f0f1"}
+.fa-suitcase:before{content:"\f0f2"}
+.fa-bell-o:before{content:"\f0a2"}
+.fa-coffee:before{content:"\f0f4"}
+.fa-cutlery:before{content:"\f0f5"}
+.fa-file-text-o:before{content:"\f0f6"}
+.fa-building:before{content:"\f0f7"}
+.fa-hospital:before{content:"\f0f8"}
+.fa-ambulance:before{content:"\f0f9"}
+.fa-medkit:before{content:"\f0fa"}
+.fa-fighter-jet:before{content:"\f0fb"}
+.fa-beer:before{content:"\f0fc"}
+.fa-h-square:before{content:"\f0fd"}
+.fa-plus-square:before{content:"\f0fe"}
+.fa-angle-double-left:before{content:"\f100"}
+.fa-angle-double-right:before{content:"\f101"}
+.fa-angle-double-up:before{content:"\f102"}
+.fa-angle-double-down:before{content:"\f103"}
+.fa-angle-left:before{content:"\f104"}
+.fa-angle-right:before{content:"\f105"}
+.fa-angle-up:before{content:"\f106"}
+.fa-angle-down:before{content:"\f107"}
+.fa-desktop:before{content:"\f108"}
+.fa-laptop:before{content:"\f109"}
+.fa-tablet:before{content:"\f10a"}
+.fa-mobile-phone:before,.fa-mobile:before{content:"\f10b"}
+.fa-circle-o:before{content:"\f10c"}
+.fa-quote-left:before{content:"\f10d"}
+.fa-quote-right:before{content:"\f10e"}
+.fa-spinner:before{content:"\f110"}
+.fa-circle:before{content:"\f111"}
+.fa-mail-reply:before,.fa-reply:before{content:"\f112"}
+.fa-github-alt:before{content:"\f113"}
+.fa-folder-o:before{content:"\f114"}
+.fa-folder-open-o:before{content:"\f115"}
+.fa-expand-o:before{content:"\f116"}
+.fa-collapse-o:before{content:"\f117"}
+.fa-smile-o:before{content:"\f118"}
+.fa-frown-o:before{content:"\f119"}
+.fa-meh-o:before{content:"\f11a"}
+.fa-gamepad:before{content:"\f11b"}
+.fa-keyboard-o:before{content:"\f11c"}
+.fa-flag-o:before{content:"\f11d"}
+.fa-flag-checkered:before{content:"\f11e"}
+.fa-terminal:before{content:"\f120"}
+.fa-code:before{content:"\f121"}
+.fa-reply-all:before{content:"\f122"}
+.fa-mail-reply-all:before{content:"\f122"}
+.fa-star-half-empty:before,.fa-star-half-full:before,.fa-star-half-o:before{content:"\f123"}
+.fa-location-arrow:before{content:"\f124"}
+.fa-crop:before{content:"\f125"}
+.fa-code-fork:before{content:"\f126"}
+.fa-unlink:before,.fa-chain-broken:before{content:"\f127"}
+.fa-question:before{content:"\f128"}
+.fa-info:before{content:"\f129"}
+.fa-exclamation:before{content:"\f12a"}
+.fa-superscript:before{content:"\f12b"}
+.fa-subscript:before{content:"\f12c"}
+.fa-eraser:before{content:"\f12d"}
+.fa-puzzle-piece:before{content:"\f12e"}
+.fa-microphone:before{content:"\f130"}
+.fa-microphone-slash:before{content:"\f131"}
+.fa-shield:before{content:"\f132"}
+.fa-calendar-o:before{content:"\f133"}
+.fa-fire-extinguisher:before{content:"\f134"}
+.fa-rocket:before{content:"\f135"}
+.fa-maxcdn:before{content:"\f136"}
+.fa-chevron-circle-left:before{content:"\f137"}
+.fa-chevron-circle-right:before{content:"\f138"}
+.fa-chevron-circle-up:before{content:"\f139"}
+.fa-chevron-circle-down:before{content:"\f13a"}
+.fa-html5:before{content:"\f13b"}
+.fa-css3:before{content:"\f13c"}
+.fa-anchor:before{content:"\f13d"}
+.fa-unlock-o:before{content:"\f13e"}
+.fa-bullseye:before{content:"\f140"}
+.fa-ellipsis-horizontal:before{content:"\f141"}
+.fa-ellipsis-vertical:before{content:"\f142"}
+.fa-rss-square:before{content:"\f143"}
+.fa-play-circle:before{content:"\f144"}
+.fa-ticket:before{content:"\f145"}
+.fa-minus-square:before{content:"\f146"}
+.fa-minus-square-o:before{content:"\f147"}
+.fa-level-up:before{content:"\f148"}
+.fa-level-down:before{content:"\f149"}
+.fa-check-square:before{content:"\f14a"}
+.fa-pencil-square:before{content:"\f14b"}
+.fa-external-link-square:before{content:"\f14c"}
+.fa-share-square:before{content:"\f14d"}
+.fa-compass:before{content:"\f14e"}
+.fa-toggle-down:before,.fa-caret-square-o-down:before{content:"\f150"}
+.fa-toggle-up:before,.fa-caret-square-o-up:before{content:"\f151"}
+.fa-toggle-right:before,.fa-caret-square-o-right:before{content:"\f152"}
+.fa-euro:before,.fa-eur:before{content:"\f153"}
+.fa-gbp:before{content:"\f154"}
+.fa-dollar:before,.fa-usd:before{content:"\f155"}
+.fa-rupee:before,.fa-inr:before{content:"\f156"}
+.fa-cny:before,.fa-rmb:before,.fa-yen:before,.fa-jpy:before{content:"\f157"}
+.fa-ruble:before,.fa-rouble:before,.fa-rub:before{content:"\f158"}
+.fa-won:before,.fa-krw:before{content:"\f159"}
+.fa-bitcoin:before,.fa-btc:before{content:"\f15a"}
+.fa-file:before{content:"\f15b"}
+.fa-file-text:before{content:"\f15c"}
+.fa-sort-alpha-asc:before{content:"\f15d"}
+.fa-sort-alpha-desc:before{content:"\f15e"}
+.fa-sort-amount-asc:before{content:"\f160"}
+.fa-sort-amount-desc:before{content:"\f161"}
+.fa-sort-numeric-asc:before{content:"\f162"}
+.fa-sort-numeric-desc:before{content:"\f163"}
+.fa-thumbs-up:before{content:"\f164"}
+.fa-thumbs-down:before{content:"\f165"}
+.fa-youtube-square:before{content:"\f166"}
+.fa-youtube:before{content:"\f167"}
+.fa-xing:before{content:"\f168"}
+.fa-xing-square:before{content:"\f169"}
+.fa-youtube-play:before{content:"\f16a"}
+.fa-dropbox:before{content:"\f16b"}
+.fa-stack-overflow:before{content:"\f16c"}
+.fa-instagram:before{content:"\f16d"}
+.fa-flickr:before{content:"\f16e"}
+.fa-adn:before{content:"\f170"}
+.fa-bitbucket:before{content:"\f171"}
+.fa-bitbucket-square:before{content:"\f172"}
+.fa-tumblr:before{content:"\f173"}
+.fa-tumblr-square:before{content:"\f174"}
+.fa-long-arrow-down:before{content:"\f175"}
+.fa-long-arrow-up:before{content:"\f176"}
+.fa-long-arrow-left:before{content:"\f177"}
+.fa-long-arrow-right:before{content:"\f178"}
+.fa-apple:before{content:"\f179"}
+.fa-windows:before{content:"\f17a"}
+.fa-android:before{content:"\f17b"}
+.fa-linux:before{content:"\f17c"}
+.fa-dribbble:before{content:"\f17d"}
+.fa-skype:before{content:"\f17e"}
+.fa-foursquare:before{content:"\f180"}
+.fa-trello:before{content:"\f181"}
+.fa-female:before{content:"\f182"}
+.fa-male:before{content:"\f183"}
+.fa-gittip:before{content:"\f184"}
+.fa-sun-o:before{content:"\f185"}
+.fa-moon-o:before{content:"\f186"}
+.fa-archive:before{content:"\f187"}
+.fa-bug:before{content:"\f188"}
+.fa-vk:before{content:"\f189"}
+.fa-weibo:before{content:"\f18a"}
+.fa-renren:before{content:"\f18b"}
+.fa-pagelines:before{content:"\f18c"}
+.fa-stack-exchange:before{content:"\f18d"}
+.fa-arrow-circle-o-right:before{content:"\f18e"}
+.fa-arrow-circle-o-left:before{content:"\f190"}
+.fa-toggle-left:before,.fa-caret-square-o-left:before{content:"\f191"}
+.fa-dot-circle-o:before{content:"\f192"}
+.fa-wheelchair:before{content:"\f193"}
+.fa-vimeo-square:before{content:"\f194"}
+.fa-turkish-lira:before,.fa-try:before{content:"\f195"}

BIN
desktop/core/static/ext/font/FontAwesome.otf


BIN
desktop/core/static/ext/font/fontawesome-webfont.eot


BIN
desktop/core/static/ext/font/fontawesome-webfont.woff


BIN
desktop/core/static/ext/fonts/FontAwesome.otf


BIN
desktop/core/static/ext/fonts/fontawesome-webfont.eot


+ 21 - 6
desktop/core/static/ext/font/fontawesome-webfont.svg → desktop/core/static/ext/fonts/fontawesome-webfont.svg

@@ -310,7 +310,7 @@
 <glyph unicode="&#xf133;" horiz-adv-x="1664" d="M128 -128h1408v1024h-1408v-1024zM512 1088v288q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-288q0 -14 9 -23t23 -9h64q14 0 23 9t9 23zM1280 1088v288q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-288q0 -14 9 -23t23 -9h64q14 0 23 9t9 23zM1664 1152v-1280 q0 -52 -38 -90t-90 -38h-1408q-52 0 -90 38t-38 90v1280q0 52 38 90t90 38h128v96q0 66 47 113t113 47h64q66 0 113 -47t47 -113v-96h384v96q0 66 47 113t113 47h64q66 0 113 -47t47 -113v-96h128q52 0 90 -38t38 -90z" />
 <glyph unicode="&#xf134;" horiz-adv-x="1408" d="M512 1344q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1408 1376v-320q0 -16 -12 -25q-8 -7 -20 -7q-4 0 -7 1l-448 96q-11 2 -18 11t-7 20h-256v-102q111 -23 183.5 -111t72.5 -203v-800q0 -26 -19 -45t-45 -19h-512q-26 0 -45 19t-19 45v800 q0 106 62.5 190.5t161.5 114.5v111h-32q-59 0 -115 -23.5t-91.5 -53t-66 -66.5t-40.5 -53.5t-14 -24.5q-17 -35 -57 -35q-16 0 -29 7q-23 12 -31.5 37t3.5 49q5 10 14.5 26t37.5 53.5t60.5 70t85 67t108.5 52.5q-25 42 -25 86q0 66 47 113t113 47t113 -47t47 -113 q0 -33 -14 -64h302q0 11 7 20t18 11l448 96q3 1 7 1q12 0 20 -7q12 -9 12 -25z" />
 <glyph unicode="&#xf135;" horiz-adv-x="1664" d="M1440 1088q0 40 -28 68t-68 28t-68 -28t-28 -68t28 -68t68 -28t68 28t28 68zM1664 1376q0 -249 -75.5 -430.5t-253.5 -360.5q-81 -80 -195 -176l-20 -379q-2 -16 -16 -26l-384 -224q-7 -4 -16 -4q-12 0 -23 9l-64 64q-13 14 -8 32l85 276l-281 281l-276 -85q-3 -1 -9 -1 q-14 0 -23 9l-64 64q-17 19 -5 39l224 384q10 14 26 16l379 20q96 114 176 195q188 187 358 258t431 71q14 0 24 -9.5t10 -22.5z" />
-<glyph unicode="&#xf136;" horiz-adv-x="1792" d="M1708 881l-188 -881h-304l181 849q4 21 1 43q-4 20 -16 35q-10 14 -28 24q-18 9 -40 9h-197l-205 -960h-303l204 960h-304l-205 -960h-304l272 1280h1139q157 0 245 -118q86 -116 52 -281z" />
+<glyph unicode="&#xf136;" horiz-adv-x="1792" d="M1745 763l-164 -763h-334l178 832q13 56 -15 88q-27 33 -83 33h-169l-204 -953h-334l204 953h-286l-204 -953h-334l204 953l-153 327h1276q101 0 189.5 -40.5t147.5 -113.5q60 -73 81 -168.5t0 -194.5z" />
 <glyph unicode="&#xf137;" d="M909 141l102 102q19 19 19 45t-19 45l-307 307l307 307q19 19 19 45t-19 45l-102 102q-19 19 -45 19t-45 -19l-454 -454q-19 -19 -19 -45t19 -45l454 -454q19 -19 45 -19t45 19zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5 t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
 <glyph unicode="&#xf138;" d="M717 141l454 454q19 19 19 45t-19 45l-454 454q-19 19 -45 19t-45 -19l-102 -102q-19 -19 -19 -45t19 -45l307 -307l-307 -307q-19 -19 -19 -45t19 -45l102 -102q19 -19 45 -19t45 19zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5 t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
 <glyph unicode="&#xf139;" d="M1165 397l102 102q19 19 19 45t-19 45l-454 454q-19 19 -45 19t-45 -19l-454 -454q-19 -19 -19 -45t19 -45l102 -102q19 -19 45 -19t45 19l307 307l307 -307q19 -19 45 -19t45 19zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5 t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
@@ -342,7 +342,7 @@
 <glyph unicode="&#xf155;" horiz-adv-x="1024" d="M978 351q0 -153 -99.5 -263.5t-258.5 -136.5v-175q0 -14 -9 -23t-23 -9h-135q-13 0 -22.5 9.5t-9.5 22.5v175q-66 9 -127.5 31t-101.5 44.5t-74 48t-46.5 37.5t-17.5 18q-17 21 -2 41l103 135q7 10 23 12q15 2 24 -9l2 -2q113 -99 243 -125q37 -8 74 -8q81 0 142.5 43 t61.5 122q0 28 -15 53t-33.5 42t-58.5 37.5t-66 32t-80 32.5q-39 16 -61.5 25t-61.5 26.5t-62.5 31t-56.5 35.5t-53.5 42.5t-43.5 49t-35.5 58t-21 66.5t-8.5 78q0 138 98 242t255 134v180q0 13 9.5 22.5t22.5 9.5h135q14 0 23 -9t9 -23v-176q57 -6 110.5 -23t87 -33.5 t63.5 -37.5t39 -29t15 -14q17 -18 5 -38l-81 -146q-8 -15 -23 -16q-14 -3 -27 7q-3 3 -14.5 12t-39 26.5t-58.5 32t-74.5 26t-85.5 11.5q-95 0 -155 -43t-60 -111q0 -26 8.5 -48t29.5 -41.5t39.5 -33t56 -31t60.5 -27t70 -27.5q53 -20 81 -31.5t76 -35t75.5 -42.5t62 -50 t53 -63.5t31.5 -76.5t13 -94z" />
 <glyph unicode="&#xf156;" horiz-adv-x="898" d="M898 1066v-102q0 -14 -9 -23t-23 -9h-168q-23 -144 -129 -234t-276 -110q167 -178 459 -536q14 -16 4 -34q-8 -18 -29 -18h-195q-16 0 -25 12q-306 367 -498 571q-9 9 -9 22v127q0 13 9.5 22.5t22.5 9.5h112q132 0 212.5 43t102.5 125h-427q-14 0 -23 9t-9 23v102 q0 14 9 23t23 9h413q-57 113 -268 113h-145q-13 0 -22.5 9.5t-9.5 22.5v133q0 14 9 23t23 9h832q14 0 23 -9t9 -23v-102q0 -14 -9 -23t-23 -9h-233q47 -61 64 -144h171q14 0 23 -9t9 -23z" />
 <glyph unicode="&#xf157;" horiz-adv-x="1027" d="M603 0h-172q-13 0 -22.5 9t-9.5 23v330h-288q-13 0 -22.5 9t-9.5 23v103q0 13 9.5 22.5t22.5 9.5h288v85h-288q-13 0 -22.5 9t-9.5 23v104q0 13 9.5 22.5t22.5 9.5h214l-321 578q-8 16 0 32q10 16 28 16h194q19 0 29 -18l215 -425q19 -38 56 -125q10 24 30.5 68t27.5 61 l191 420q8 19 29 19h191q17 0 27 -16q9 -14 1 -31l-313 -579h215q13 0 22.5 -9.5t9.5 -22.5v-104q0 -14 -9.5 -23t-22.5 -9h-290v-85h290q13 0 22.5 -9.5t9.5 -22.5v-103q0 -14 -9.5 -23t-22.5 -9h-290v-330q0 -13 -9.5 -22.5t-22.5 -9.5z" />
-<glyph unicode="&#xf158;" horiz-adv-x="1664" d="M1664 352v-32q0 -132 -94 -226t-226 -94h-128q-132 0 -226 94t-94 226v480h-224q-2 -102 -14.5 -190.5t-30.5 -156t-48.5 -126.5t-57 -99.5t-67.5 -77.5t-69.5 -58.5t-74 -44t-69 -32t-65.5 -25.5q-4 -2 -32 -13q-8 -2 -12 -2q-22 0 -30 20l-71 178q-5 13 0 25t17 17 q7 3 20 7.5t18 6.5q31 12 46.5 18.5t44.5 20t45.5 26t42 32.5t40.5 42.5t34.5 53.5t30.5 68.5t22.5 83.5t17 103t6.5 123h-256q-14 0 -23 9t-9 23v160q0 14 9 23t23 9h1216q14 0 23 -9t9 -23v-160q0 -14 -9 -23t-23 -9h-224v-512q0 -26 19 -45t45 -19h128q26 0 45 19t19 45 v64q0 14 9 23t23 9h192q14 0 23 -9t9 -23zM1280 1376v-160q0 -14 -9 -23t-23 -9h-960q-14 0 -23 9t-9 23v160q0 14 9 23t23 9h960q14 0 23 -9t9 -23z" />
+<glyph unicode="&#xf158;" horiz-adv-x="1280" d="M1043 971q0 100 -65 162t-171 62h-320v-448h320q106 0 171 62t65 162zM1280 971q0 -193 -126.5 -315t-326.5 -122h-340v-118h505q14 0 23 -9t9 -23v-128q0 -14 -9 -23t-23 -9h-505v-192q0 -14 -9.5 -23t-22.5 -9h-167q-14 0 -23 9t-9 23v192h-224q-14 0 -23 9t-9 23v128 q0 14 9 23t23 9h224v118h-224q-14 0 -23 9t-9 23v149q0 13 9 22.5t23 9.5h224v629q0 14 9 23t23 9h539q200 0 326.5 -122t126.5 -315z" />
 <glyph unicode="&#xf159;" horiz-adv-x="1792" d="M514 341l81 299h-159l75 -300q1 -1 1 -3t1 -3q0 1 0.5 3.5t0.5 3.5zM630 768l35 128h-292l32 -128h225zM822 768h139l-35 128h-70zM1271 340l78 300h-162l81 -299q0 -1 0.5 -3.5t1.5 -3.5q0 1 0.5 3t0.5 3zM1382 768l33 128h-297l34 -128h230zM1792 736v-64q0 -14 -9 -23 t-23 -9h-213l-164 -616q-7 -24 -31 -24h-159q-24 0 -31 24l-166 616h-209l-167 -616q-7 -24 -31 -24h-159q-11 0 -19.5 7t-10.5 17l-160 616h-208q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h175l-33 128h-142q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h109l-89 344q-5 15 5 28 q10 12 26 12h137q26 0 31 -24l90 -360h359l97 360q7 24 31 24h126q24 0 31 -24l98 -360h365l93 360q5 24 31 24h137q16 0 26 -12q10 -13 5 -28l-91 -344h111q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-145l-34 -128h179q14 0 23 -9t9 -23z" />
 <glyph unicode="&#xf15a;" horiz-adv-x="1280" d="M1167 896q18 -182 -131 -258q117 -28 175 -103t45 -214q-7 -71 -32.5 -125t-64.5 -89t-97 -58.5t-121.5 -34.5t-145.5 -15v-255h-154v251q-80 0 -122 1v-252h-154v255q-18 0 -54 0.5t-55 0.5h-200l31 183h111q50 0 58 51v402h16q-6 1 -16 1v287q-13 68 -89 68h-111v164 l212 -1q64 0 97 1v252h154v-247q82 2 122 2v245h154v-252q79 -7 140 -22.5t113 -45t82.5 -78t36.5 -114.5zM952 351q0 36 -15 64t-37 46t-57.5 30.5t-65.5 18.5t-74 9t-69 3t-64.5 -1t-47.5 -1v-338q8 0 37 -0.5t48 -0.5t53 1.5t58.5 4t57 8.5t55.5 14t47.5 21t39.5 30 t24.5 40t9.5 51zM881 827q0 33 -12.5 58.5t-30.5 42t-48 28t-55 16.5t-61.5 8t-58 2.5t-54 -1t-39.5 -0.5v-307q5 0 34.5 -0.5t46.5 0t50 2t55 5.5t51.5 11t48.5 18.5t37 27t27 38.5t9 51z" />
 <glyph unicode="&#xf15b;" horiz-adv-x="1280" d="M1280 768v-800q0 -40 -28 -68t-68 -28h-1088q-40 0 -68 28t-28 68v1344q0 40 28 68t68 28h544v-544q0 -40 28 -68t68 -28h544zM1277 896h-509v509q82 -15 132 -65l312 -312q50 -50 65 -132z" />
@@ -390,10 +390,25 @@
 <glyph unicode="&#xf188;" horiz-adv-x="1664" d="M1632 576q0 -26 -19 -45t-45 -19h-224q0 -171 -67 -290l208 -209q19 -19 19 -45t-19 -45q-18 -19 -45 -19t-45 19l-198 197q-5 -5 -15 -13t-42 -28.5t-65 -36.5t-82 -29t-97 -13v896h-128v-896q-51 0 -101.5 13.5t-87 33t-66 39t-43.5 32.5l-15 14l-183 -207 q-20 -21 -48 -21q-24 0 -43 16q-19 18 -20.5 44.5t15.5 46.5l202 227q-58 114 -58 274h-224q-26 0 -45 19t-19 45t19 45t45 19h224v294l-173 173q-19 19 -19 45t19 45t45 19t45 -19l173 -173h844l173 173q19 19 45 19t45 -19t19 -45t-19 -45l-173 -173v-294h224q26 0 45 -19 t19 -45zM1152 1152h-640q0 133 93.5 226.5t226.5 93.5t226.5 -93.5t93.5 -226.5z" />
 <glyph unicode="&#xf189;" horiz-adv-x="1920" d="M1917 1016q23 -64 -150 -294q-24 -32 -65 -85q-78 -100 -90 -131q-17 -41 14 -81q17 -21 81 -82h1l1 -1l1 -1l2 -2q141 -131 191 -221q3 -5 6.5 -12.5t7 -26.5t-0.5 -34t-25 -27.5t-59 -12.5l-256 -4q-24 -5 -56 5t-52 22l-20 12q-30 21 -70 64t-68.5 77.5t-61 58 t-56.5 15.5q-3 -1 -8 -3.5t-17 -14.5t-21.5 -29.5t-17 -52t-6.5 -77.5q0 -15 -3.5 -27.5t-7.5 -18.5l-4 -5q-18 -19 -53 -22h-115q-71 -4 -146 16.5t-131.5 53t-103 66t-70.5 57.5l-25 24q-10 10 -27.5 30t-71.5 91t-106 151t-122.5 211t-130.5 272q-6 16 -6 27t3 16l4 6 q15 19 57 19l274 2q12 -2 23 -6.5t16 -8.5l5 -3q16 -11 24 -32q20 -50 46 -103.5t41 -81.5l16 -29q29 -60 56 -104t48.5 -68.5t41.5 -38.5t34 -14t27 5q2 1 5 5t12 22t13.5 47t9.5 81t0 125q-2 40 -9 73t-14 46l-6 12q-25 34 -85 43q-13 2 5 24q17 19 38 30q53 26 239 24 q82 -1 135 -13q20 -5 33.5 -13.5t20.5 -24t10.5 -32t3.5 -45.5t-1 -55t-2.5 -70.5t-1.5 -82.5q0 -11 -1 -42t-0.5 -48t3.5 -40.5t11.5 -39t22.5 -24.5q8 -2 17 -4t26 11t38 34.5t52 67t68 107.5q60 104 107 225q4 10 10 17.5t11 10.5l4 3l5 2.5t13 3t20 0.5l288 2 q39 5 64 -2.5t31 -16.5z" />
 <glyph unicode="&#xf18a;" horiz-adv-x="1792" d="M675 252q21 34 11 69t-45 50q-34 14 -73 1t-60 -46q-22 -34 -13 -68.5t43 -50.5t74.5 -2.5t62.5 47.5zM769 373q8 13 3.5 26.5t-17.5 18.5q-14 5 -28.5 -0.5t-21.5 -18.5q-17 -31 13 -45q14 -5 29 0.5t22 18.5zM943 266q-45 -102 -158 -150t-224 -12 q-107 34 -147.5 126.5t6.5 187.5q47 93 151.5 139t210.5 19q111 -29 158.5 -119.5t2.5 -190.5zM1255 426q-9 96 -89 170t-208.5 109t-274.5 21q-223 -23 -369.5 -141.5t-132.5 -264.5q9 -96 89 -170t208.5 -109t274.5 -21q223 23 369.5 141.5t132.5 264.5zM1563 422 q0 -68 -37 -139.5t-109 -137t-168.5 -117.5t-226 -83t-270.5 -31t-275 33.5t-240.5 93t-171.5 151t-65 199.5q0 115 69.5 245t197.5 258q169 169 341.5 236t246.5 -7q65 -64 20 -209q-4 -14 -1 -20t10 -7t14.5 0.5t13.5 3.5l6 2q139 59 246 59t153 -61q45 -63 0 -178 q-2 -13 -4.5 -20t4.5 -12.5t12 -7.5t17 -6q57 -18 103 -47t80 -81.5t34 -116.5zM1489 1046q42 -47 54.5 -108.5t-6.5 -117.5q-8 -23 -29.5 -34t-44.5 -4q-23 8 -34 29.5t-4 44.5q20 63 -24 111t-107 35q-24 -5 -45 8t-25 37q-5 24 8 44.5t37 25.5q60 13 119 -5.5t101 -65.5z M1670 1209q87 -96 112.5 -222.5t-13.5 -241.5q-9 -27 -34 -40t-52 -4t-40 34t-5 52q28 82 10 172t-80 158q-62 69 -148 95.5t-173 8.5q-28 -6 -52 9.5t-30 43.5t9.5 51.5t43.5 29.5q123 26 244 -11.5t208 -134.5z" />
-<glyph unicode="&#xf18b;" horiz-adv-x="1920" d="M805 163q-122 -67 -261 -67q-141 0 -261 67q98 61 167 149t94 191q25 -103 94 -191t167 -149zM453 1176v-344q0 -179 -89.5 -326t-234.5 -217q-129 152 -129 351q0 200 129.5 352t323.5 184zM958 991q-128 -152 -128 -351q0 -201 128 -351q-145 70 -234.5 218t-89.5 328 v341q196 -33 324 -185zM1638 163q-122 -67 -261 -67q-141 0 -261 67q98 61 167 149t94 191q25 -103 94 -191t167 -149zM1286 1176v-344q0 -179 -91 -326t-237 -217v0q133 154 133 351q0 195 -133 351q129 151 328 185zM1920 640q0 -201 -129 -351q-145 70 -234.5 218 t-89.5 328v341q194 -32 323.5 -184t129.5 -352z" />
-<glyph unicode="&#xf18c;" horiz-adv-x="1792" />
-<glyph unicode="&#xf18d;" horiz-adv-x="1792" />
-<glyph unicode="&#xf18e;" horiz-adv-x="1792" />
+<glyph unicode="&#xf18b;" d="M1133 -34q-171 -94 -368 -94q-196 0 -367 94q138 87 235.5 211t131.5 268q35 -144 132.5 -268t235.5 -211zM638 1394v-485q0 -252 -126.5 -459.5t-330.5 -306.5q-181 215 -181 495q0 187 83.5 349.5t229.5 269.5t325 137zM1536 638q0 -280 -181 -495 q-204 99 -330.5 306.5t-126.5 459.5v485q179 -30 325 -137t229.5 -269.5t83.5 -349.5z" />
+<glyph unicode="&#xf18c;" horiz-adv-x="1408" d="M1402 433q-32 -80 -76 -138t-91 -88.5t-99 -46.5t-101.5 -14.5t-96.5 8.5t-86.5 22t-69.5 27.5t-46 22.5l-17 10q-113 -228 -289.5 -359.5t-384.5 -132.5q-19 0 -32 13t-13 32t13 31.5t32 12.5q173 1 322.5 107.5t251.5 294.5q-36 -14 -72 -23t-83 -13t-91 2.5t-93 28.5 t-92 59t-84.5 100t-74.5 146q114 47 214 57t167.5 -7.5t124.5 -56.5t88.5 -77t56.5 -82q53 131 79 291q-7 -1 -18 -2.5t-46.5 -2.5t-69.5 0.5t-81.5 10t-88.5 23t-84 42.5t-75 65t-54.5 94.5t-28.5 127.5q70 28 133.5 36.5t112.5 -1t92 -30t73.5 -50t56 -61t42 -63t27.5 -56 t16 -39.5l4 -16q12 122 12 195q-8 6 -21.5 16t-49 44.5t-63.5 71.5t-54 93t-33 112.5t12 127t70 138.5q73 -25 127.5 -61.5t84.5 -76.5t48 -85t20.5 -89t-0.5 -85.5t-13 -76.5t-19 -62t-17 -42l-7 -15q1 -5 1 -50.5t-1 -71.5q3 7 10 18.5t30.5 43t50.5 58t71 55.5t91.5 44.5 t112 14.5t132.5 -24q-2 -78 -21.5 -141.5t-50 -104.5t-69.5 -71.5t-81.5 -45.5t-84.5 -24t-80 -9.5t-67.5 1t-46.5 4.5l-17 3q-23 -147 -73 -283q6 7 18 18.5t49.5 41t77.5 52.5t99.5 42t117.5 20t129 -23.5t137 -77.5z" />
+<glyph unicode="&#xf18d;" horiz-adv-x="1280" d="M1259 283v-66q0 -85 -57.5 -144.5t-138.5 -59.5h-57l-260 -269v269h-529q-81 0 -138.5 59.5t-57.5 144.5v66h1238zM1259 609v-255h-1238v255h1238zM1259 937v-255h-1238v255h1238zM1259 1077v-67h-1238v67q0 84 57.5 143.5t138.5 59.5h846q81 0 138.5 -59.5t57.5 -143.5z " />
+<glyph unicode="&#xf18e;" d="M1152 640q0 -14 -9 -23l-320 -320q-9 -9 -23 -9q-13 0 -22.5 9.5t-9.5 22.5v192h-352q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h352v192q0 14 9 23t23 9q12 0 24 -10l319 -319q9 -9 9 -23zM1312 640q0 148 -73 273t-198 198t-273 73t-273 -73t-198 -198 t-73 -273t73 -273t198 -198t273 -73t273 73t198 198t73 273zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
+<glyph unicode="&#xf190;" d="M1152 736v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-352v-192q0 -14 -9 -23t-23 -9q-12 0 -24 10l-319 319q-9 9 -9 23t9 23l320 320q9 9 23 9q13 0 22.5 -9.5t9.5 -22.5v-192h352q13 0 22.5 -9.5t9.5 -22.5zM1312 640q0 148 -73 273t-198 198t-273 73t-273 -73t-198 -198 t-73 -273t73 -273t198 -198t273 -73t273 73t198 198t73 273zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
+<glyph unicode="&#xf191;" d="M1024 960v-640q0 -26 -19 -45t-45 -19q-20 0 -37 12l-448 320q-27 19 -27 52t27 52l448 320q17 12 37 12q26 0 45 -19t19 -45zM1280 160v960q0 13 -9.5 22.5t-22.5 9.5h-960q-13 0 -22.5 -9.5t-9.5 -22.5v-960q0 -13 9.5 -22.5t22.5 -9.5h960q13 0 22.5 9.5t9.5 22.5z M1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
+<glyph unicode="&#xf192;" d="M1024 640q0 -106 -75 -181t-181 -75t-181 75t-75 181t75 181t181 75t181 -75t75 -181zM768 1184q-148 0 -273 -73t-198 -198t-73 -273t73 -273t198 -198t273 -73t273 73t198 198t73 273t-73 273t-198 198t-273 73zM1536 640q0 -209 -103 -385.5t-279.5 -279.5 t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
+<glyph unicode="&#xf193;" horiz-adv-x="1664" d="M1023 349l102 -204q-58 -179 -210 -290t-339 -111q-156 0 -288.5 77.5t-210 210t-77.5 288.5q0 181 104.5 330t274.5 211l17 -131q-122 -54 -195 -165.5t-73 -244.5q0 -185 131.5 -316.5t316.5 -131.5q126 0 232.5 65t165 175.5t49.5 236.5zM1571 249l58 -114l-256 -128 q-13 -7 -29 -7q-40 0 -57 35l-239 477h-472q-24 0 -42.5 16.5t-21.5 40.5l-96 779q-2 16 6 42q14 51 57 82.5t97 31.5q66 0 113 -47t47 -113q0 -69 -52 -117.5t-120 -41.5l37 -289h423v-128h-407l16 -128h455q40 0 57 -35l228 -455z" />
+<glyph unicode="&#xf194;" d="M1254 899q16 85 -21 132q-52 65 -187 45q-17 -3 -41 -12.5t-57.5 -30.5t-64.5 -48.5t-59.5 -70t-44.5 -91.5q80 7 113.5 -16t26.5 -99q-5 -52 -52 -143q-43 -78 -71 -99q-44 -32 -87 14q-23 24 -37.5 64.5t-19 73t-10 84t-8.5 71.5q-23 129 -34 164q-12 37 -35.5 69 t-50.5 40q-57 16 -127 -25q-54 -32 -136.5 -106t-122.5 -102v-7q16 -8 25.5 -26t21.5 -20q21 -3 54.5 8.5t58 10.5t41.5 -30q11 -18 18.5 -38.5t15 -48t12.5 -40.5q17 -46 53 -187q36 -146 57 -197q42 -99 103 -125q43 -12 85 -1.5t76 31.5q131 77 250 237 q104 139 172.5 292.5t82.5 226.5zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
+<glyph unicode="&#xf195;" horiz-adv-x="1152" d="M1152 704q0 -191 -94.5 -353t-256.5 -256.5t-353 -94.5h-160q-14 0 -23 9t-9 23v611l-215 -66q-3 -1 -9 -1q-10 0 -19 6q-13 10 -13 26v128q0 23 23 31l233 71v93l-215 -66q-3 -1 -9 -1q-10 0 -19 6q-13 10 -13 26v128q0 23 23 31l233 71v250q0 14 9 23t23 9h160 q14 0 23 -9t9 -23v-181l375 116q15 5 28 -5t13 -26v-128q0 -23 -23 -31l-393 -121v-93l375 116q15 5 28 -5t13 -26v-128q0 -23 -23 -31l-393 -121v-487q188 13 318 151t130 328q0 14 9 23t23 9h160q14 0 23 -9t9 -23z" />
+<glyph unicode="&#xf196;" horiz-adv-x="1792" />
+<glyph unicode="&#xf197;" horiz-adv-x="1792" />
+<glyph unicode="&#xf198;" horiz-adv-x="1792" />
+<glyph unicode="&#xf199;" horiz-adv-x="1792" />
+<glyph unicode="&#xf19a;" horiz-adv-x="1792" />
+<glyph unicode="&#xf19b;" horiz-adv-x="1792" />
+<glyph unicode="&#xf19c;" horiz-adv-x="1792" />
+<glyph unicode="&#xf19d;" horiz-adv-x="1792" />
+<glyph unicode="&#xf19e;" horiz-adv-x="1792" />
 <glyph unicode="&#xf500;" horiz-adv-x="1792" />
 </font>
 </defs></svg> 

BIN
desktop/core/static/ext/font/fontawesome-webfont.ttf → desktop/core/static/ext/fonts/fontawesome-webfont.ttf


BIN
desktop/core/static/ext/fonts/fontawesome-webfont.woff


Datei-Diff unterdrückt, da er zu groß ist
+ 0 - 0
desktop/core/static/ext/js/bootstrap-editable.min.js


Datei-Diff unterdrückt, da er zu groß ist
+ 0 - 0
desktop/core/static/ext/js/bootstrap-timepicker.min.js


+ 9 - 9
desktop/core/static/ext/js/freshereditor.min.js

@@ -52,7 +52,7 @@
             classname: 'toolbar_strikethrough'
           }, {
             name: 'removeFormat',
-            label: "<i class='icon-minus'></i>",
+            label: "<i class='fa fa-minus'></i>",
             title: 'Remove Formating (Ctrl+M)',
             classname: 'toolbar_remove'
           }
@@ -91,22 +91,22 @@
           ], [
             {
               name: 'justifyleft',
-              label: "<i class='icon-align-left' style='margin-top:2px;'></i>",
+              label: "<i class='fa fa-align-left' style='margin-top:2px;'></i>",
               title: 'Left justify',
               classname: 'toolbar_justifyleft'
             }, {
               name: 'justifycenter',
-              label: "<i class='icon-align-center' style='margin-top:2px;'></i>",
+              label: "<i class='fa fa-align-center' style='margin-top:2px;'></i>",
               title: 'Center justify',
               classname: 'toolbar_justifycenter'
             }, {
               name: 'justifyright',
-              label: "<i class='icon-align-right' style='margin-top:2px;'></i>",
+              label: "<i class='fa fa-align-right' style='margin-top:2px;'></i>",
               title: 'Right justify',
               classname: 'toolbar_justifyright'
             }, {
               name: 'justifyfull',
-              label: "<i class='icon-align-justify' style='margin-top:2px;'></i>",
+              label: "<i class='fa fa-align-justify' style='margin-top:2px;'></i>",
               title: 'Full justify',
               classname: 'toolbar_justifyfull'
             }
@@ -119,18 +119,18 @@
               classname: 'toolbar_link'
             }, {
               name: 'insertimage',
-              label: "<i style='margin-top:2px;' class='icon-picture'></i>",
+              label: "<i style='margin-top:2px;' class='fa fa-picture-o'></i>",
               title: 'Insert an image (Ctrl+G)',
               userinput: "yes",
               classname: 'toolbar_image'
             }, {
               name: 'insertorderedlist',
-              label: "<i class='icon-list-alt' style='margin-top:2px;'></i>",
+              label: "<i class='fa fa-list-alt' style='margin-top:2px;'></i>",
               title: 'Insert ordered list',
               classname: 'toolbar_ol'
             }, {
               name: 'insertunorderedlist',
-              label: "<i class='icon-list' style='margin-top:2px;'></i>",
+              label: "<i class='fa fa-list' style='margin-top:2px;'></i>",
               title: 'Insert unordered list',
               classname: 'toolbar_ul'
             }
@@ -169,7 +169,7 @@
           ], [
             {
               name: 'blockquote',
-              label: "<i style='margin-top:2px;' class='icon-comment'></i>",
+              label: "<i style='margin-top:2px;' class='fa fa-comment'></i>",
               title: 'Blockquote (Ctrl+Q)',
               classname: 'toolbar_blockquote',
               block: 'blockquote'

+ 2 - 2
desktop/core/static/js/codemirror-hql-hint.js

@@ -96,7 +96,7 @@
 
     function maybeAddToExtra(str) {
       var _match = str;
-      if (_match.indexOf("icon-magic") > -1) {
+      if (_match.indexOf("fa-magic") > -1) {
         _match = _match.substring(32);
       }
       if (_match.indexOf(start) == 0 && !arrayContains(found, str)) extraFound.push(str);
@@ -111,7 +111,7 @@
           if (CodeMirror.tableFieldMagic) {
             var _specialCatalogTablesL = CodeMirror.catalogTables.toLowerCase().split(" ");
             for (var i = 0; i < _specialCatalogTablesL.length; i++) {
-              _specialCatalogTablesL[i] = "<i class='icon-magic'></i> FROM " + _specialCatalogTablesL[i];
+              _specialCatalogTablesL[i] = "<i class='fa fa-magic'></i> FROM " + _specialCatalogTablesL[i];
             }
             forEach(_specialCatalogTablesL, maybeAddToExtra);
           }

+ 2 - 2
desktop/core/static/js/codemirror-isql-hint.js

@@ -96,7 +96,7 @@
 
     function maybeAddToExtra(str) {
       var _match = str;
-      if (_match.indexOf("icon-magic") > -1) {
+      if (_match.indexOf("fa-magic") > -1) {
         _match = _match.substring(32);
       }
       if (_match.indexOf(start) == 0 && !arrayContains(found, str)) extraFound.push(str);
@@ -111,7 +111,7 @@
           if (CodeMirror.tableFieldMagic) {
             var _specialCatalogTablesL = CodeMirror.catalogTables.toLowerCase().split(" ");
             for (var i = 0; i < _specialCatalogTablesL.length; i++) {
-              _specialCatalogTablesL[i] = "<i class='icon-magic'></i> FROM " + _specialCatalogTablesL[i];
+              _specialCatalogTablesL[i] = "<i class='fa fa-magic'></i> FROM " + _specialCatalogTablesL[i];
             }
             forEach(_specialCatalogTablesL, maybeAddToExtra);
           }

Einige Dateien werden nicht angezeigt, da zu viele Dateien in diesem Diff geändert wurden.