base.html: theme based favicon introduced
[unfold.git] / portal / templates / base.html
1 {% load portal_filters %}
2 {# This is required by insert_above #}{% insert_handler %}<!DOCTYPE html>
3 <html lang="en"><head>
4 <title>{{theme}} portal - {{ section }}</title>
5 <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
7 <!--Selecting favicon based on theme. Add more for other portals -->
8 {% if theme == "fed4fire" %}
9     <link rel="shortcut icon" href="/static/img/fed4fire_favicon.ico">
10 {% elif theme == "smartfire" %}
11     <link rel="shortcut icon" href="/static/img/smartfire_favicon.ico">
12 {% else %}
13     <link rel="shortcut icon" href="/static/img/favicon.ico">
14 {% endif %}
15
16 {# This is where insert_str will end up #}{% media_container prelude %}
17 {% include 'messages-transient-header.html' %}
18 <script type="text/javascript"> {# raw js code - use {% insert prelude_js %} ... {% endinsert %} #} {% container prelude_js %}</script>
19 <!--<script src="{{ STATIC_URL }}js/jquery-ui.js"></script>-->
20 <script src="{{ STATIC_URL }}js/jquery.dataTables.min.js"></script>
21 <script src="{{ STATIC_URL }}js/jquery.qtip.min.js"></script>
22 <script src="{{ STATIC_URL }}js/bootstrap.datatables.js"></script>
23 <!-- <script src="{{ STATIC_URL }}js/stash.min.js"></script> -->
24 <script src="{{ STATIC_URL }}js/myslice.js"></script>
25 <script src="{{ STATIC_URL }}js/myslice-ui.js"></script>
26 <style type="text/css">{# In case we need to add raw css code #}{% container prelude_css %}</style>
27 {{ header_prelude }}
28 {% block head %} {% endblock head %}
29 {# let's add these ones no matter what #}
30 {#NOTE: DO NOT ADD JQUERY-UI JS & CSS HERE. IT BREAKS THE RESOURCE BROWSING PAGE -- DETAILS WITH JORDAN AUGE#}
31 {% insert_str prelude "js/jquery.min.js" %}
32 {% insert_str prelude "js/angular/angular.min.js" %}
33 {% insert_str prelude "js/jquery.html5storage.min.js" %}
34 {% insert_str prelude "js/messages-runtime.js" %}
35 {% insert_str prelude "js/class.js" %}
36 {% insert_str prelude "js/plugin-helper.js" %}
37 {% insert_str prelude "js/mustache.js" %}
38 {% insert_str prelude "js/hashtable.js" %}
39 {% insert_str prelude "js/plugin.js" %}
40 {% insert_str prelude "js/manifold.js" %}
41 {% insert_str prelude "css/manifold.css" %}
42 {% insert_str prelude "css/plugin.css" %}
43 {% insert_str prelude "js/bootstrap.js" %}
44 {% insert_str prelude "css/bootstrap.css" %}
45 {% insert_str prelude "js/bootstrap-datepicker.js" %}
46 {% insert_str prelude "css/datepicker.css" %}
47 {% insert_str prelude "js/bootstrap-slider.js" %}
48 {% insert_str prelude "css/slider.css" %}
49 {% insert_str prelude "css/topmenu.css" %}
50 {% insert_str prelude "js/logout.js" %}
51 <link rel="stylesheet" type="text/css" href="{{ STATIC_URL }}css/{{ theme }}.css">
52 <link rel="stylesheet" type="text/css" href="{{ STATIC_URL }}css/jquery.qtip.min.css">
53
54
55 <script type="text/javascript">
56 /*
57 XXX TODO: session
58 This list of slices should go into SESSION !
59 */
60 $(document).ready(function() {
61 {% if username %}
62     myslice.login(function(){
63         user = myslice.user();
64
65         var slices = [];
66         if($.isEmptyObject(user)){
67             $("div#home-slice-list").html(
68                         "<div>You do not yet have a slice</div>");
69             $("ul#dropdown-slice-list").append("<li>no slice</li>");
70             slices.push("no slice");
71         }else{
72             slices = user.slices;
73             drawSlices(slices);
74         }
75         {% if theme == "fed4fire" %}
76         p = myslice.projects();
77         if(p != null){
78             drawProjects(p);
79         }
80         {% endif %}
81     });
82
83     function drawSlices(slices){
84         var items = [];
85                 
86         $.each( slices, function(i, val) {
87             items.push( "<li><a href=\"/resources/"+val+"\">" + val + "</a></li>" );
88         });
89         $("div#home-slice-list").html($( "<ul/>", { html: items.join( "" ) }));
90         $("ul#dropdown-slice-list").append(items.join( "" ));
91     }
92     
93     {% if theme == "fed4fire" %}
94     function drawProjects(projects){
95         var items = [];
96                 
97         $.each( projects, function(i, val) {
98             items.push( "<li><a href=\"/portal/project/"+val+"\">" + val + "</a></li>" );
99         });
100         $("div#home-project-list").html($( "<ul/>", { html: items.join( "" ) }));
101         $("ul#dropdown-project-list").append(items.join( "" ));
102     }
103     {% endif %}
104 {% endif %}
105         jQuery('[title!=""]').qtip();
106 });
107 </script>
108 </head>
109 <body ng-app="ManifoldApp">
110 <div class="row">
111 {% widget '_widget-message.html' %}
112 </div>
113 {% block container %}
114         {% block topmenu %}
115         {% widget "_widget-topmenu.html" %}
116         {% endblock topmenu %}
117         {% block base_content %}
118         {% endblock %}
119 {% endblock container %}
120 {% widget "_footer.html" %}
121 <div class="loading">
122         <div><img src="{{ STATIC_URL }}/img/loading.gif" /> Loading...</div>
123         <div>&nbsp;</div>
124         <div class="message"></div>
125 </div>
126 </body>
127 </html>