Merge branch 'onelab' of ssh://git.onelab.eu/git/myslice into onelab
authorroot <root@Portable>
Tue, 4 Mar 2014 18:02:45 +0000 (19:02 +0100)
committerroot <root@Portable>
Tue, 4 Mar 2014 18:02:45 +0000 (19:02 +0100)
portal/static/js/institution.js
portal/static/js/myslice-ui.js
portal/static/js/onelab_slice-resource-view.js
portal/templates/institution.html
portal/templates/onelab/onelab_slice-resource-view.html
portal/templates/onelab/onelab_slice-user-view.html
rest/__init__.py

index 17858fe..dc44870 100644 (file)
@@ -51,6 +51,29 @@ $(document).ready(function() {
             }
         });
     });
+    $('button#renewslices').click(function() {
+        var now = new Date();
+        /* In Javascript getMonth() gives month[0] = january, month[1] = february, and so on...  */
+        var month = now.getMonth()+2;
+        var one_month_later = now.getFullYear()+"-"+month+"-"+now.getDate()+" "+now.getHours()+":"+now.getMinutes()+":"+now.getSeconds();
+        console.log(one_month_later);
+        $('input:checkbox.slice').each(function (index) {
+            if(this.checked){
+                var record_id = this.id;
+                $.post("/update/slice/",{'filters':{'slice_hrn':this.id},'params':{'expires':one_month_later}}, function(data) {
+                    if(data.success){
+                        // TODO: highlight row after success
+                        //$('tr[id="'+record_id+'"]').highlight();
+                    }else{
+                        alert("Rest Error for "+record_id+": "+data.error);
+                    }
+                });
+                
+            }
+        });
+        // TODO: refresh table
+        //window.location="/portal/institution#slices";
+    });
 
     $('button#createslice').click(function() {
         window.location="/portal/slice_request/";
index 2990f05..2ee57ea 100644 (file)
@@ -53,7 +53,9 @@ $(document).ready(function() {
                "bAutoHeight": false,
                "fnInitComplete": function(oSettings, json) {
                                for(var i = 0; i < myslice.pending.length; i++) {
-                                       $('*[data-key="'+myslice.pending[i]+'"]').addClass("active");
+                                       var el = $('*[data-key="'+myslice.pending[i]+'"]');
+                                       el.addClass("active");
+                                       el.find('input[type=checkbox]').prop('checked', true);
                                }
                    }
                } );
index f2bd93d..52850a3 100644 (file)
@@ -4,6 +4,10 @@ $(document).ready(function() {
         $(this).parent().addClass('active');
         $('div.panel').hide();
         $('div#'+$(this).data('panel')).show();
+        
+        if ($(this).data('panel') == 'map') {
+               mapInit();
+        }
     });
     
     $.get("/rest/platform", function(data) {
@@ -16,33 +20,39 @@ $(document).ready(function() {
                
        });
        
+   //google.maps.event.addDomListener(window, 'load', initialize);
+});
+
+function mapInit() {
+       
     $.get("/rest/resource/", {"fields" : ["hostname","latitude","longitude"] }, function(data) {
        
-       var mapOptions = {
-      center: new google.maps.LatLng(48.8567, 2.3508),
-      zoom: 4,
-      scrollwheel: false
-    };
-    var map = new google.maps.Map(document.getElementById("map"), mapOptions);
-        marker = new google.maps.Marker({
-               position: new google.maps.LatLng(48.8567, 2.3508),
-               map: map,
-               icon: '/static/img/marker2.png'
-           });
-       for (i = 0; i < data.length; i++) {  
-               if (!data[i].longitude) continue;
-           marker = new google.maps.Marker({
-               position: new google.maps.LatLng(data[i].latitude, data[i].longitude),
-               map: map
-           });
-       
-           google.maps.event.addListener(marker, 'click', (function(marker, i) {
-               return function() {
-                 infowindow.setContent(data[i].hostname);
-                 infowindow.open(map, marker);
-               };
-       })(marker, i));
-    }
-  });
-   //google.maps.event.addDomListener(window, 'load', initialize);
-});
\ No newline at end of file
+               var mapOptions = {
+             center: new google.maps.LatLng(48.8567, 2.3508),
+             zoom: 4,
+             scrollwheel: false
+           };
+           var map = new google.maps.Map(document.getElementById("map-canvas"), mapOptions);
+                marker = new google.maps.Marker({
+                       position: new google.maps.LatLng(48.8567, 2.3508),
+                       map: map,
+                       icon: '/static/img/marker2.png'
+                   });
+               
+               for (i = 0; i < data.length; i++) {  
+                       if (!data[i].longitude) continue;
+                   marker = new google.maps.Marker({
+                       position: new google.maps.LatLng(data[i].latitude, data[i].longitude),
+                       map: map
+                   });
+                       var infowindow = new google.maps.InfoWindow();
+
+                   google.maps.event.addListener(marker, 'click', (function(marker, i) {
+                       return function() {
+                         infowindow.setContent(data[i].hostname);
+                         infowindow.open(map, marker);
+                       };
+               })(marker, i));
+           }
+         });
+}
index 1731221..ca9fe5a 100644 (file)
         $.post("/rest/user/",{'filters':{'parent_authority':'{{user_details.parent_authority}}'}}, function( data ) {
             var list_users = [];
             var table_users = [];
-                       /*
-                       "enabled", "keys", "parent_authority", "user_first_name", "user_last_name", "user_phone", "user_hrn", "slice", "user_email"
+                       /* Available fields
+                       user_gid, user_enabled, slices, pi_authorities, keys, parent_authority, user_first_name,
+                       user_urn, user_last_name, user_phone, user_hrn, user_email, user_type
                        */
             $.each( data, function( key, val ) {
                 list_users.push( "<li><a href=\"portal/user/"+val.user_email+"\">" + val.user_email + "</a></li>" );
                 user_row += "<td>"+val.user_hrn+"</td>";
                 user_row += "<td>"+val.user_first_name+"</td>";
                 user_row += "<td>"+val.user_last_name+"</td>";
-                               user_row += "<td>"+val.enabled+"</td>";
+                               user_row += "<td>"+val.user_enabled+"</td>";
                 user_row += "</tr>";
                 table_users.push(user_row);
                 
index 895e2ed..1fcecf9 100644 (file)
@@ -45,7 +45,9 @@
                        <div id="resources" class="panel">
                                <table cellpadding="0" cellspacing="0" border="0" class="table" id="objectList"></table>
                        </div>
-                       <div id="map" class="panel" style="height:370px;" style="display:none;"></div>
+                       <div id="map" class="panel" style="height:370px;display:none;">
+                               <div id="map-canvas" style="height:100%;"></div>
+                       </div>
                </div>
        </div>
 {% endblock %}
\ No newline at end of file
index 95e6925..d1c87e1 100644 (file)
@@ -66,8 +66,9 @@
                $.post("/rest/user/",{'filters':{'parent_authority': "{{user_details.parent_authority}}"}}, function( data ) {
                var list_users = [];
                var table_users = [];
-                               /*
-                               "enabled", "keys", "parent_authority", "user_first_name", "user_last_name", "user_phone", "user_hrn", "slice", "user_email"
+                               /* Available fields
+                               user_gid, user_enabled, slices, pi_authorities, keys, parent_authority, user_first_name,
+                           user_urn, user_last_name, user_phone, user_hrn, user_email, user_type
                                */
                $.each( data, function( key, val ) {
                        list_users.push( "<li><a href=\"portal/user/"+val.user_email+"\">" + val.user_email + "</a></li>" );
@@ -87,7 +88,7 @@
                                        }
                        user_row += "<td>"+val.user_email+"</td>";
                        user_row += "<td>"+val.user_hrn+"</td>";
-                                       user_row += "<td>"+val.enabled+"</td>";
+                                       user_row += "<td>"+val.user_enabled+"</td>";
                        user_row += "</tr>";
                        table_users.push(user_row);
                 
index b480e99..62d66da 100644 (file)
@@ -114,15 +114,13 @@ class ObjectRequest(object):
     def update(self):
         query = Query.update(self.type)
         query = self.applyFilters(query, True)
-        if self.filters :
-            query.set(self.filters)
-        else:
-            raise Exception, "Filters are required for update"
+        
 
         if self.params :
             query.set(self.params)
         else:
             raise Exception, "Params are required for update"
+        
         return execute_query(self.request, query)
     
     def delete(self):