fixed misc issues
authorJordan Augé <jordan.auge@lip6.fr>
Wed, 23 Jul 2014 09:46:51 +0000 (11:46 +0200)
committerJordan Augé <jordan.auge@lip6.fr>
Wed, 23 Jul 2014 09:46:51 +0000 (11:46 +0200)
plugins/scheduler2/static/js/scheduler2.js
portal/registrationview.py
portal/slicerequestview.py
portal/sliceresourceview.py
portal/templates/onelab/onelab_management-tab-about.html
ui/topmenu.py

index 293324e..9890251 100755 (executable)
@@ -232,13 +232,15 @@ var SCHEDULER_COLWIDTH = 50;
 \r
         $scope.select = function(index, model_lease, model_resource)\r
         {\r
-            var data;\r
+            var data, resource_granularity;\r
+\r
+            resource_granularity = model_resource.granularity === undefined ? RESOURCE_DEFAULT_GRANULARITY : model_resource.granularity;\r
 \r
             console.log("Selected", index, model_lease, model_resource);\r
 \r
             var day_timestamp = SchedulerDateSelected.getTime() / 1000;\r
-            var start_time = day_timestamp + index       * model_resource.granularity;\r
-            var end_time   = day_timestamp + (index + 1) * model_resource.granularity;\r
+            var start_time = day_timestamp + index       * resource_granularity;\r
+            var end_time   = day_timestamp + (index + 1) * resource_granularity;\r
             var start_date = new Date(start_time * 1000);\r
             var end_date   = new Date(end_time   * 1000);\r
 \r
@@ -576,7 +578,7 @@ var SCHEDULER_COLWIDTH = 50;
                     var resource = jQuery.extend(true, {}, record);\r
 \r
                     // Fix granularity\r
-                    resource.granularity = typeof(resource.granularity) == "number" ? resource.granularity : RESOURCE_DEFAULT_GRANULARITY;\r
+                    resource_granularity = ((resource.granularity === undefined) || (typeof(resource.granularity) != "number")) ? RESOURCE_DEFAULT_GRANULARITY : resource.granularity;\r
                     resource.leases = []; // a list of occupied timeslots\r
 \r
                     self.scope_resources_by_key[resource['urn']] = resource;\r
@@ -831,7 +833,7 @@ var SCHEDULER_COLWIDTH = 50;
                 init_cell = (new Date().getHours() - 1) * 3600 / self._granularity;\r
                 if (init_cell > num_hidden_cells)\r
                     init_cell = num_hidden_cells;\r
-                \r
+\r
                 $('#tblSlider').slider({\r
                     min: 0,\r
                     max: num_hidden_cells,\r
index afaa67c..4e3b040 100644 (file)
@@ -57,13 +57,14 @@ class RegistrationView (FreeAccessView, ThemeView):
             current_site = Site.objects.get_current()
             current_site = current_site.domain
 
-            authorities_query = Query.get('authority').select('name', 'authority_hrn')
-            authorities = execute_admin_query(wsgi_request, authorities_query)
-    
             for authority in authorities:
                 if authority['name'] == wsgi_request.POST.get('org_name', ''):
                     authority_hrn = authority['authority_hrn']     
 
+            # Handle the case when the template uses only hrn and not name
+            if not authority_hrn:
+                authority_hrn = wsgi_request.POST.get('org_name', '')
+
             post_email = wsgi_request.POST.get('email','').lower()
             salt = randint(1,100000)
             email_hash = md5(str(salt)+post_email).hexdigest()
index 449147c..222a28e 100644 (file)
@@ -83,6 +83,7 @@ class SliceRequestView (LoginRequiredAutoLogoutView, ThemeView):
         page = Page(wsgi_request)
         page.add_js_files  ( [ "js/jquery.validate.js", "js/jquery-ui.js" ] )
         page.add_css_files ( [ "https://code.jquery.com/ui/1.10.3/themes/smoothness/jquery-ui.css" ] )
+        page.expose_js_metadata()
 
         if method == 'POST':
             # The form has been submitted
@@ -92,12 +93,13 @@ class SliceRequestView (LoginRequiredAutoLogoutView, ThemeView):
             current_site = current_site.domain
             
             # getting the authority_hrn from the selected organization
-            authority_hrn = ''           
             for authority in authorities:
                 if authority['name'] == wsgi_request.POST.get('org_name', ''):
                     authority_hrn = authority['authority_hrn']
 
-            
+            # Handle the case when the template uses only hrn and not name
+            if not authority_hrn:
+                authority_hrn = wsgi_request.POST.get('org_name', '')
 
             slice_request = {
                 'type'              : 'slice',
@@ -168,6 +170,7 @@ class SliceRequestView (LoginRequiredAutoLogoutView, ThemeView):
             'exp_url': exp_url,
             'pi': pi,
             'authority_name': authority_name,        
+            'authority_hrn': user_authority,        
             'cc_myself': True,
             'authorities': authorities,
             'theme': self.theme,
index db7413d..2d603b4 100644 (file)
@@ -76,11 +76,11 @@ class SliceResourceView (LoginRequiredView, ThemeView):
         #page.enqueue_query(query_resource_all)
 
         # leases query
-        lease_md = metadata.details_by_object('lease')
-        lease_fields = [column['name'] for column in lease_md['column']]
+        #lease_md = metadata.details_by_object('lease')
+        #lease_fields = [column['name'] for column in lease_md['column']]
 
-        query_lease_all = Query.get('lease').select(lease_fields)
-        page.enqueue_query(query_lease_all)
+        #query_lease_all = Query.get('lease').select(lease_fields)
+        #page.enqueue_query(query_lease_all)
 
         # --------------------------------------------------------------------------
         # ALL RESOURCES LIST
index 0c0a94f..687b7de 100644 (file)
        {% endfor %}
        </p>
 </div>
-<script>$(document).ready(function() {$('#authority_name').text('{{authority.name}}')});</script>
\ No newline at end of file
+<script>$(document).ready(function() {
+{% if authority.name %}
+    auth_name = "{{authority.name}}";
+{% else %}
+    auth_name = "{{authority.authority_hrn}}";
+{% endif %}
+    $('#authority_name').text(auth_name);
+});
+</script>
index b0ff707..988af27 100644 (file)
@@ -70,7 +70,9 @@ from plugins.topmenuvalidation import TopmenuValidation
 # for asynchronous management of topmenu
 def topmenu_items_live (current, page):
     request=page.request
-    query_pi_auths = Query.get('user').filter_by('user_hrn', '==', '$user_hrn' ).select('pi_authorities')
+    # XXX TODO This should be triggered only when user is logged in
+    # We might use local storage instead
+    query_pi_auths = Query.get('user').filter_by('user_hrn', '==', '$user_hrn' ).select('user_hrn','pi_authorities')
     page.enqueue_query(query_pi_auths)
 #        # even though this plugin does not have any html materialization, the corresponding domid
 #        # must exist because it is searched at init-time to create the JS plugin