From: Jordan Augé
Date: Wed, 23 Jul 2014 09:46:51 +0000 (+0200)
Subject: fixed misc issues
X-Git-Tag: myslice-1.0~49^2~16
X-Git-Url: http://git.onelab.eu/?a=commitdiff_plain;ds=sidebyside;h=4c816d078c86df38a508225f8bd09f7abf597832;p=myslice.git
fixed misc issues
---
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