Projects: Join project resquests
[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 <link rel="shortcut icon" href="/static/img/favicon.ico">
7 {# This is where insert_str will end up #}{% media_container prelude %}
8 {% include 'messages-transient-header.html' %}
9 <script type="text/javascript"> {# raw js code - use {% insert prelude_js %} ... {% endinsert %} #} {% container prelude_js %}</script>
10 <!--<script src="{{ STATIC_URL }}js/jquery-ui.js"></script>-->
11 <script src="{{ STATIC_URL }}js/jquery.dataTables.min.js"></script>
12 <script src="{{ STATIC_URL }}js/jquery.qtip.min.js"></script>
13 <script src="{{ STATIC_URL }}js/bootstrap.datatables.js"></script>
14 <!-- <script src="{{ STATIC_URL }}js/stash.min.js"></script> -->
15 <script src="{{ STATIC_URL }}js/myslice.js"></script>
16 <script src="{{ STATIC_URL }}js/myslice-ui.js"></script>
17 <style type="text/css">{# In case we need to add raw css code #}{% container prelude_css %}</style>
18 {{ header_prelude }}
19 {% block head %} {% endblock head %}
20 {# let's add these ones no matter what #}
21 {% insert_str prelude "js/jquery.min.js" %}
22 {% insert_str prelude "js/angular/angular.min.js" %}
23 {% insert_str prelude "js/jquery.html5storage.min.js" %}
24 {% insert_str prelude "js/messages-runtime.js" %}
25 {% insert_str prelude "js/class.js" %}
26 {% insert_str prelude "js/plugin-helper.js" %}
27 {% insert_str prelude "js/mustache.js" %}
28 {% insert_str prelude "js/hashtable.js" %}
29 {% insert_str prelude "js/plugin.js" %}
30 {% insert_str prelude "js/manifold.js" %}
31 {% insert_str prelude "css/manifold.css" %}
32 {% insert_str prelude "css/plugin.css" %}
33 {% insert_str prelude "js/bootstrap.js" %}
34 {% insert_str prelude "css/bootstrap.css" %}
35 {% insert_str prelude "js/bootstrap-datepicker.js" %}
36 {% insert_str prelude "css/datepicker.css" %}
37 {% insert_str prelude "js/bootstrap-slider.js" %}
38 {% insert_str prelude "css/slider.css" %}
39 {% insert_str prelude "css/topmenu.css" %}
40 {% insert_str prelude "js/logout.js" %}
41 {% insert_str prelude "js/jquery-ui.js" %}
42 {% insert_str prelude "js/jquery-ui-combobox.js" %}
43 <link rel='stylesheet' type='text/css' href='https://code.jquery.com/ui/1.11.2/themes/smoothness/jquery-ui.css'/>
44 <link rel="stylesheet" type="text/css" href="{{ STATIC_URL }}css/jquery.ui.combobox.css">
45 <link rel="stylesheet" type="text/css" href="{{ STATIC_URL }}css/{{ theme }}.css">
46 <link rel="stylesheet" type="text/css" href="{{ STATIC_URL }}css/jquery.qtip.min.css">
47
48
49 <script type="text/javascript">
50 /*
51 XXX TODO: session
52 This list of slices should go into SESSION !
53 */
54 $(document).ready(function() {
55 {% if username %}
56     myslice.login(function(){
57         user = myslice.user();
58
59         var slices = [];
60         if($.isEmptyObject(user)){
61             $("div#home-slice-list").html(
62                         "<div>You do not yet have a slice</div>");
63             $("ul#dropdown-slice-list").append("<li>no slice</li>");
64             slices.push("no slice");
65         }else{
66             slices = user.slices;
67             drawSlices(slices);
68         }
69         {% if theme == "fed4fire" %}
70         p = myslice.projects();
71         if(p != null){
72             drawProjects(p);
73         }
74         {% endif %}
75     });
76
77     function drawSlices(slices){
78         var items = [];
79                 
80         $.each( slices, function(i, val) {
81             items.push( "<li><a href=\"/resources/"+val+"\">" + val + "</a></li>" );
82         });
83         $("div#home-slice-list").html($( "<ul/>", { html: items.join( "" ) }));
84         $("ul#dropdown-slice-list").append(items.join( "" ));
85     }
86     
87     {% if theme == "fed4fire" %}
88     function drawProjects(projects){
89         var items = [];
90                 
91         $.each( projects, function(i, val) {
92             items.push( "<li><a href=\"/portal/project/"+val+"\">" + val + "</a></li>" );
93         });
94         $("div#home-project-list").html($( "<ul/>", { html: items.join( "" ) }));
95         $("ul#dropdown-project-list").append(items.join( "" ));
96     }
97     {% endif %}
98 {% endif %}
99         jQuery('[title!=""]').qtip();
100 });
101 </script>
102 </head>
103 <body ng-app="ManifoldApp">
104 <div class="row">
105 {% widget '_widget-message.html' %}
106 </div>
107 {% block container %}
108         {% block topmenu %}
109         {% widget "_widget-topmenu.html" %}
110         {% endblock topmenu %}
111         {% block base_content %}
112         {% endblock %}
113 {% endblock container %}
114 {% widget "_footer.html" %}
115 <div class="loading">
116         <div><img src="{{ STATIC_URL }}/img/loading.gif" /> Loading...</div>
117         <div>&nbsp;</div>
118         <div class="message"></div>
119 </div>
120 </body>
121 </html>