From: Ciro Scognamiglio Date: Wed, 26 Feb 2014 19:07:59 +0000 (+0100) Subject: resource and list views X-Git-Tag: myslice-1.1~279^2~1 X-Git-Url: http://git.onelab.eu/?a=commitdiff_plain;h=8819a6d1d9da581fa467ef9ed3bdc1953e7c67f0;p=myslice.git resource and list views --- diff --git a/myslice/urls.py b/myslice/urls.py index 68d3a94c..e5e100c9 100644 --- a/myslice/urls.py +++ b/myslice/urls.py @@ -71,7 +71,8 @@ urls = [ # # # Portal - (r'^testbeds/?$', portal.testbedlist.TestbedList.as_view()), + (r'^testbeds/(?P[^/]+)/?$', portal.testbedlist.TestbedList.as_view()), + (r'^resources/(?P[^/]+)/?$', portal.sliceview.SliceView.as_view()), (r'^slice/(?P[^/]+)/?$', portal.sliceview.SliceView.as_view()), url(r'^portal/', include('portal.urls')), ] diff --git a/portal/sliceview.py b/portal/sliceview.py index b19ead91..6b74fb1e 100644 --- a/portal/sliceview.py +++ b/portal/sliceview.py @@ -20,4 +20,4 @@ class SliceView (LoginRequiredView, ThemeView): template_name = "slice-view.html" def get(self, request, slicename): - return render_to_response(self.template, {"slice": slicename, "theme": self.theme, "username": request.user}, context_instance=RequestContext(request)) + return render_to_response(self.template, {"slice": slicename, "theme": self.theme, "username": request.user, "section":"resources"}, context_instance=RequestContext(request)) diff --git a/portal/static/css/onelab.css b/portal/static/css/onelab.css index 260f749e..160cac20 100644 --- a/portal/static/css/onelab.css +++ b/portal/static/css/onelab.css @@ -48,7 +48,7 @@ span.label { } /* HEADER */ div#header { - height:100px; + height:85px; background-color:white; } @@ -239,8 +239,23 @@ div.well { .btn.btn-default:hover { font-weight: bold; } - - +/**/ +/* TABLE */ +table.table { + margin:0; +} +table.table thead { + padding:0; +} +table.table tbody { + padding:0; +} +table.table tr { + padding:0; +} +table.table td { + padding:0; +} /* INSTITUTION */ div#institution { color:black; @@ -304,6 +319,75 @@ div#slice-view a.list-group-item p.list-group-item-text { font-style:italic; } +/* SLICE VIEW sections */ +.slice-sections, .slice-pending { + margin:0; + padding:0; +} +.slice-sections ul, .slice-pending ul { + margin:0; + padding:0; +} +.slice-pending ul { + width:400px; + margin:0 auto 15px auto; +} +.slice-sections li { + text-align:left; + margin:0; + padding:0; +} +.slice-pending li { + padding-right:15px; +} +.slice-sections li a, .slice-pending li a { + font-size:14px; + color:black; + padding:0; + margin-top:10px; +} +.slice-sections li.active a, .slice-pending li.active a { + color:#201E62; + background-color:#EFEFEF; + text-decoration:underline; + padding:0; +} +.slice-sections ul.nav-pills li a:hover, .slice-pending ul.nav-pills li a:hover { + text-decoration:underline; + background-color:#EFEFEF; + color:black; +} +.slice-sections ul.nav-pills li.active, .slice-pending ul.nav-pills li.active { + +} +.slice-sections li:first-child, .slice-sections li:first-child a { + color:#201E62; + font-weight:bold; +} +.slice-experiment { + text-align:right; + padding:0; +} +.slice-experiment button { + margin:3px 0 0 0; + background-color:#CC4125; + color:white; +} + +.slice-pending { +} +.slice-pending button { + font-size:9pt; + margin:8px 0 0 0; + padding:3px 5px; +} +.slice-pending button.apply { +} +.slice-pending button.clear { +} + +/* */ + /* TESTBED LIST */ div#testbed-list { margin:25px auto; diff --git a/portal/static/js/myslice-ui.js b/portal/static/js/myslice-ui.js index b60c7c1c..b6b7ca53 100644 --- a/portal/static/js/myslice-ui.js +++ b/portal/static/js/myslice-ui.js @@ -35,18 +35,19 @@ $(document).ready(function() { }); - oTable.load("/list/resource", {}, function(data) { + oTable.load("/table/resource/", {'columns' : ['hostname','country','type'], 'filters' : { 'country' : 'France' } }, function(data) { $(this).dataTable( { - "bScrollInfinite": true, + "sScrollY": window.innerHeight - 275, + "sDom": "frtiS", "bScrollCollapse": true, - "sScrollY": "500px", "bStateSave": true, "bPaginate": false, "bLengthChange": false, - "bFilter": true, + "bFilter": false, "bSort": true, "bInfo": false, - "bAutoWidth": false + "bAutoWidth": true, + "bAutoHeight": false } ); }); } ); diff --git a/portal/templates/onelab/onelab_slice-view.html b/portal/templates/onelab/onelab_slice-view.html index a50530d5..0990a4d1 100644 --- a/portal/templates/onelab/onelab_slice-view.html +++ b/portal/templates/onelab/onelab_slice-view.html @@ -3,16 +3,8 @@ {% block unfold_main %}
-
- - +
+
  • Filter: CPU
  • @@ -24,12 +16,28 @@
- -
+
+ {% include theme|add:"_widget-slice-sections.html" %} +
+
+ +
+
+ +
+
{% endblock unfold_main %} \ No newline at end of file diff --git a/portal/templates/onelab/onelab_testbed-list.html b/portal/templates/onelab/onelab_testbed-list.html index 5c424e0f..546fd889 100644 --- a/portal/templates/onelab/onelab_testbed-list.html +++ b/portal/templates/onelab/onelab_testbed-list.html @@ -1,12 +1,20 @@ {% extends "layout-unfold1.html" %} {% block unfold_main %} -
-

Open a Ticket Testbeds

- -

- -

-
+
+
+
+
+ {% include theme|add:"_widget-slice-sections.html" %} +
+
+ +
+
+
{% endblock unfold_main %} \ No newline at end of file diff --git a/portal/templates/onelab/onelab_widget-slice-sections.html b/portal/templates/onelab/onelab_widget-slice-sections.html new file mode 100644 index 00000000..ef008d69 --- /dev/null +++ b/portal/templates/onelab/onelab_widget-slice-sections.html @@ -0,0 +1,13 @@ + + \ No newline at end of file diff --git a/portal/testbedlist.py b/portal/testbedlist.py index 591a94b3..a545ec4b 100644 --- a/portal/testbedlist.py +++ b/portal/testbedlist.py @@ -8,5 +8,5 @@ from theme import ThemeView class TestbedList (LoginRequiredView, ThemeView): template_name = "testbed-list.html" - def get(self, request): - return render_to_response(self.template, {"theme": self.theme, "username": request.user}, context_instance=RequestContext(request)) + def get(self, request, slicename): + return render_to_response(self.template, {"theme": self.theme, "username": request.user, "slice" : slicename, "section":"testbeds"}, context_instance=RequestContext(request))