From 4c816d078c86df38a508225f8bd09f7abf597832 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Jordan=20Aug=C3=A9?= Date: Wed, 23 Jul 2014 11:46:51 +0200 Subject: [PATCH] fixed misc issues --- plugins/scheduler2/static/js/scheduler2.js | 12 +++++++----- portal/registrationview.py | 7 ++++--- portal/slicerequestview.py | 7 +++++-- portal/sliceresourceview.py | 8 ++++---- .../onelab/onelab_management-tab-about.html | 10 +++++++++- ui/topmenu.py | 4 +++- 6 files changed, 32 insertions(+), 16 deletions(-) diff --git a/plugins/scheduler2/static/js/scheduler2.js b/plugins/scheduler2/static/js/scheduler2.js index 293324e7..98902517 100755 --- a/plugins/scheduler2/static/js/scheduler2.js +++ b/plugins/scheduler2/static/js/scheduler2.js @@ -232,13 +232,15 @@ var SCHEDULER_COLWIDTH = 50; $scope.select = function(index, model_lease, model_resource) { - var data; + var data, resource_granularity; + + resource_granularity = model_resource.granularity === undefined ? RESOURCE_DEFAULT_GRANULARITY : model_resource.granularity; console.log("Selected", index, model_lease, model_resource); var day_timestamp = SchedulerDateSelected.getTime() / 1000; - var start_time = day_timestamp + index * model_resource.granularity; - var end_time = day_timestamp + (index + 1) * model_resource.granularity; + var start_time = day_timestamp + index * resource_granularity; + var end_time = day_timestamp + (index + 1) * resource_granularity; var start_date = new Date(start_time * 1000); var end_date = new Date(end_time * 1000); @@ -576,7 +578,7 @@ var SCHEDULER_COLWIDTH = 50; var resource = jQuery.extend(true, {}, record); // Fix granularity - resource.granularity = typeof(resource.granularity) == "number" ? resource.granularity : RESOURCE_DEFAULT_GRANULARITY; + resource_granularity = ((resource.granularity === undefined) || (typeof(resource.granularity) != "number")) ? RESOURCE_DEFAULT_GRANULARITY : resource.granularity; resource.leases = []; // a list of occupied timeslots self.scope_resources_by_key[resource['urn']] = resource; @@ -831,7 +833,7 @@ var SCHEDULER_COLWIDTH = 50; init_cell = (new Date().getHours() - 1) * 3600 / self._granularity; if (init_cell > num_hidden_cells) init_cell = num_hidden_cells; - + $('#tblSlider').slider({ min: 0, max: num_hidden_cells, diff --git a/portal/registrationview.py b/portal/registrationview.py index afaa67c2..4e3b0405 100644 --- a/portal/registrationview.py +++ b/portal/registrationview.py @@ -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() diff --git a/portal/slicerequestview.py b/portal/slicerequestview.py index 449147ca..222a28eb 100644 --- a/portal/slicerequestview.py +++ b/portal/slicerequestview.py @@ -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, diff --git a/portal/sliceresourceview.py b/portal/sliceresourceview.py index db7413d1..2d603b43 100644 --- a/portal/sliceresourceview.py +++ b/portal/sliceresourceview.py @@ -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 diff --git a/portal/templates/onelab/onelab_management-tab-about.html b/portal/templates/onelab/onelab_management-tab-about.html index 0c0a94fc..687b7de3 100644 --- a/portal/templates/onelab/onelab_management-tab-about.html +++ b/portal/templates/onelab/onelab_management-tab-about.html @@ -38,4 +38,12 @@ {% endfor %}

- \ No newline at end of file + diff --git a/ui/topmenu.py b/ui/topmenu.py index b0ff707f..988af27a 100644 --- a/ui/topmenu.py +++ b/ui/topmenu.py @@ -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 -- 2.43.0