From: Loic Baron Date: Tue, 6 Jan 2015 18:06:52 +0000 (+0100) Subject: Manage Requests: authority startswith the list of auth_hrn the user manages X-Git-Tag: myslice-1.3~124 X-Git-Url: http://git.onelab.eu/?a=commitdiff_plain;h=4fb3308193e5bd05e908105fdc2ce0c7d3007be2;p=myslice.git Manage Requests: authority startswith the list of auth_hrn the user manages --- diff --git a/portal/actions.py b/portal/actions.py index 31e4bcb6..e8a4d018 100644 --- a/portal/actions.py +++ b/portal/actions.py @@ -323,9 +323,23 @@ def get_requests(authority_hrns=None): pending_slices = PendingSlice.objects.all() pending_authorities = PendingAuthority.objects.all() else: - pending_users = PendingUser.objects.filter(authority_hrn__in=authority_hrns).all() - pending_slices = PendingSlice.objects.filter(authority_hrn__in=authority_hrns).all() - pending_authorities = PendingAuthority.objects.filter(authority_hrn__in=authority_hrns).all() + pending_users = PendingUser.objects + pending_slices = PendingSlice.objects + pending_authorities = PendingAuthority.objects + from django.db.models import Q + list_user_Q = list() + list_slice_Q = list() + list_auth_Q = list() + for hrn in authority_hrns: + list_user_Q.append(Q(authority_hrn__startswith=hrn, status__iexact = 'True')) + list_slice_Q.append(Q(authority_hrn__startswith=hrn)) + list_auth_Q.append(Q(site_authority__startswith=hrn)) + print "startswith hrn = ",hrn + from operator import __or__ as OR + pending_users = pending_users.filter(reduce(OR, list_user_Q)) + pending_slices = pending_slices.filter(reduce(OR, list_slice_Q)) + pending_authorities = pending_authorities.filter(reduce(OR, list_auth_Q)) + #pending_authorities = pending_authorities.all() #filter(reduce(OR, list_Q)) return make_requests(pending_users, pending_slices, pending_authorities) diff --git a/portal/managementtabrequests.py b/portal/managementtabrequests.py index 31cbb0d7..7c0b222e 100644 --- a/portal/managementtabrequests.py +++ b/portal/managementtabrequests.py @@ -73,25 +73,18 @@ class ManagementRequestsView (LoginRequiredView, ThemeView): for user_account in user_accounts: - print "USER ACCOUNT", user_account if user_account['auth_type'] == 'reference': continue # we hardcoded the myslice platform... config = json.loads(user_account['config']) creds = [] - print "CONFIG KEYS", config.keys() if 'authority_credentials' in config: - print "***", config['authority_credentials'].keys() for authority_hrn, credential in config['authority_credentials'].items(): credential_authorities.add(authority_hrn) if 'delegated_authority_credentials' in config: - print "***", config['delegated_authority_credentials'].keys() for authority_hrn, credential in config['delegated_authority_credentials'].items(): credential_authorities.add(authority_hrn) - print 'credential_authorities =', credential_authorities - print 'credential_authorities_expired =', credential_authorities_expired - # ** Where am I a PI ** # For this we need to ask SFA (of all authorities) = PI function pi_authorities_query = Query.get('user').filter_by('user_hrn', '==', '$user_hrn').select('pi_authorities') @@ -119,17 +112,21 @@ class ManagementRequestsView (LoginRequiredView, ThemeView): # iterate on the requests and check if the authority matches a prefix # startswith an authority on which the user is PI - requests = get_requests() + if len(pi_my_authorities)>0: + requests = get_requests(pi_my_authorities) + else: + requests = get_requests() for r in requests: auth_hrn = r['authority_hrn'] for my_auth in pi_my_authorities: if auth_hrn.startswith(my_auth): dest = ctx_my_authorities r['allowed'] = 'allowed' - for my_auth in pi_delegation_authorities: - if auth_hrn.startswith(my_auth): - dest = ctx_delegation_authorities - r['allowed'] = 'allowed' + + #for my_auth in pi_delegation_authorities: + # if auth_hrn.startswith(my_auth): + # dest = ctx_delegation_authorities + # r['allowed'] = 'allowed' if auth_hrn in pi_expired_credential_authorities: r['allowed'] = 'expired' if 'allowed' not in r: diff --git a/portal/templates/fed4fire/fed4fire_management-tab-requests.html b/portal/templates/fed4fire/fed4fire_management-tab-requests.html deleted file mode 100644 index e2557794..00000000 --- a/portal/templates/fed4fire/fed4fire_management-tab-requests.html +++ /dev/null @@ -1,226 +0,0 @@ - - -
-

From your authorities

-
-{% if my_authorities %} - - {% for authority, requests in my_authorities.items %} - -
-

{{authority}}

-
- - - - - - - - - {% for request in requests %} - - - - - - - - - - - - - - {% endfor %} -
- TypeIdDetailsTimestampStatus
- {% if request.allowed == 'allowed' %} - - {% else %} - {% if request.allowed == 'expired' %} - expired - {% else %} {# denied #} - denied - {% endif %} - {% endif %} - {{ request.type }}{{ request.id }} - {% if request.type == 'user' %} - {{request.first_name}} {{request.last_name}} {{request.email}} - {% else %} - {% if request.type == 'slice' %} - {{request.slice_name}} -- Number of nodes: {{request.number_of_nodes}} -- Type of nodes: {{request.type_of_nodes}} -- Purpose: {{request.purpose}} - {% else %} {# authority #} - {{request.site_name}} ({{request.site_authority}}) -- {{request.address_city}}, {{request.address_country}} - {% endif %} - {% endif %} - {{ request.timestamp }}
- {% endfor %} - -{% else %} -
- There is no pending request waiting for validation. -
-{% endif %} -
nnllknjkn

-
-

From your sub-authorities

-
-{% if sub_authorities %} - - {% for authority, requests in sub_authorities.items %} -
-

{{authority}}

-
- - - - - - - - - {% for request in requests %} - - - - - - - - - - - - {% endfor %} -
- TypeIdDetailsTimestampStatus
- {% if request.allowed == 'allowed' %} - - {% else %} - {% if request.allowed == 'expired' %} - expired - {% else %} {# denied #} - denied - {% endif %} - {% endif %} - {{ request.type }}{{ request.id }} - {% if request.type == 'user' %} - Login: {{request.login}} -- First name: {{request.first_name}} -- Last name: {{request.last_name}} -- Email: {{request.email}} - {% else %} - {% if request.type == 'slice' %} - Slice name: {{request.slice_name}} -- Number of nodes: {{request.number_of_nodes}} -- Type of nodes: {{request.type_of_nodes}} -- Purpose: {{request.purpose}} - {% else %} {# authority #} - Authority name: {{request.site_name}} -- authority_hrn: {{request.site_authority}} -- City: {{request.address_city}} -- Country: {{request.address_country}} - {% endif %} - {% endif %} - {{ request.timestamp }}
- {% endfor %} -{% else %} -
- There is no pending request waiting for validation. -
-{% endif %} - -
-

From your authorities with delegation

-
- -{% if delegation_authorities %} - - {% for authority, requests in delegation_authorities.items %} -
-

{{authority}}

-
- - - - - - - - {% for request in requests %} - - - - - - - - - - - - {% endfor %} -
- TypeIdDetailsTimestampStatus
- {% if request.allowed == 'allowed' %} - - {% else %} - {% if request.allowed == 'expired' %} - expired - {% else %} {# denied #} - denied - {% endif %} - {% endif %} - {{ request.type }}{{ request.id }} - {% if request.type == 'user' %} - Login: {{request.login}} -- First name: {{request.first_name}} -- Last name: {{request.last_name}} -- Email: {{request.email}} - {% else %} - {% if request.type == 'slice' %} - Slice name: {{request.slice_name}} -- Number of nodes: {{request.number_of_nodes}} -- Type of nodes: {{request.type_of_nodes}} -- Purpose: {{request.purpose}} - {% else %} {# authority #} - Authority name: {{request.site_name}} -- authority_hrn: {{request.site_authority}} -- City: {{request.address_city}} -- Country: {{request.address_country}} - {% endif %} - {% endif %} - {{ request.timestamp }}
- {% endfor %} -{% else %} -
- There is no pending request waiting for validation. -
-{% endif %} -
- -
diff --git a/portal/templates/management-tab-requests.html b/portal/templates/management-tab-requests.html index ddac594d..dad0e6e7 100644 --- a/portal/templates/management-tab-requests.html +++ b/portal/templates/management-tab-requests.html @@ -163,13 +163,12 @@ {% endif %} - +{% if sub_authorities %}

From your sub-authorities

-{% if sub_authorities %} - + {% for authority, requests in sub_authorities.items %}

{{authority}}

@@ -217,18 +216,13 @@
{% endfor %} -{% else %} -
- There is no pending request waiting for validation. -
{% endif %} +{% if delegation_authorities %}

From your authorities with delegation

-{% if delegation_authorities %} - {% for authority, requests in delegation_authorities.items %}

{{authority}}

@@ -276,10 +270,6 @@
{% endfor %} -{% else %} -
- There is no pending request waiting for validation. -
{% endif %}
diff --git a/portal/templates/onelab/onelab_management-tab-requests.html b/portal/templates/onelab/onelab_management-tab-requests.html deleted file mode 100644 index e2557794..00000000 --- a/portal/templates/onelab/onelab_management-tab-requests.html +++ /dev/null @@ -1,226 +0,0 @@ - - -
-

From your authorities

-
-{% if my_authorities %} - - {% for authority, requests in my_authorities.items %} - -
-

{{authority}}

-
- - - - - - - - - {% for request in requests %} - - - - - - - - - - - - - - {% endfor %} -
- TypeIdDetailsTimestampStatus
- {% if request.allowed == 'allowed' %} - - {% else %} - {% if request.allowed == 'expired' %} - expired - {% else %} {# denied #} - denied - {% endif %} - {% endif %} - {{ request.type }}{{ request.id }} - {% if request.type == 'user' %} - {{request.first_name}} {{request.last_name}} {{request.email}} - {% else %} - {% if request.type == 'slice' %} - {{request.slice_name}} -- Number of nodes: {{request.number_of_nodes}} -- Type of nodes: {{request.type_of_nodes}} -- Purpose: {{request.purpose}} - {% else %} {# authority #} - {{request.site_name}} ({{request.site_authority}}) -- {{request.address_city}}, {{request.address_country}} - {% endif %} - {% endif %} - {{ request.timestamp }}
- {% endfor %} - -{% else %} -
- There is no pending request waiting for validation. -
-{% endif %} -
nnllknjkn

-
-

From your sub-authorities

-
-{% if sub_authorities %} - - {% for authority, requests in sub_authorities.items %} -
-

{{authority}}

-
- - - - - - - - - {% for request in requests %} - - - - - - - - - - - - {% endfor %} -
- TypeIdDetailsTimestampStatus
- {% if request.allowed == 'allowed' %} - - {% else %} - {% if request.allowed == 'expired' %} - expired - {% else %} {# denied #} - denied - {% endif %} - {% endif %} - {{ request.type }}{{ request.id }} - {% if request.type == 'user' %} - Login: {{request.login}} -- First name: {{request.first_name}} -- Last name: {{request.last_name}} -- Email: {{request.email}} - {% else %} - {% if request.type == 'slice' %} - Slice name: {{request.slice_name}} -- Number of nodes: {{request.number_of_nodes}} -- Type of nodes: {{request.type_of_nodes}} -- Purpose: {{request.purpose}} - {% else %} {# authority #} - Authority name: {{request.site_name}} -- authority_hrn: {{request.site_authority}} -- City: {{request.address_city}} -- Country: {{request.address_country}} - {% endif %} - {% endif %} - {{ request.timestamp }}
- {% endfor %} -{% else %} -
- There is no pending request waiting for validation. -
-{% endif %} - -
-

From your authorities with delegation

-
- -{% if delegation_authorities %} - - {% for authority, requests in delegation_authorities.items %} -
-

{{authority}}

-
- - - - - - - - {% for request in requests %} - - - - - - - - - - - - {% endfor %} -
- TypeIdDetailsTimestampStatus
- {% if request.allowed == 'allowed' %} - - {% else %} - {% if request.allowed == 'expired' %} - expired - {% else %} {# denied #} - denied - {% endif %} - {% endif %} - {{ request.type }}{{ request.id }} - {% if request.type == 'user' %} - Login: {{request.login}} -- First name: {{request.first_name}} -- Last name: {{request.last_name}} -- Email: {{request.email}} - {% else %} - {% if request.type == 'slice' %} - Slice name: {{request.slice_name}} -- Number of nodes: {{request.number_of_nodes}} -- Type of nodes: {{request.type_of_nodes}} -- Purpose: {{request.purpose}} - {% else %} {# authority #} - Authority name: {{request.site_name}} -- authority_hrn: {{request.site_authority}} -- City: {{request.address_city}} -- Country: {{request.address_country}} - {% endif %} - {% endif %} - {{ request.timestamp }}
- {% endfor %} -{% else %} -
- There is no pending request waiting for validation. -
-{% endif %} -
- -
diff --git a/portal/templates/slice-tab-experiment.html b/portal/templates/slice-tab-experiment.html index eb9a4ecb..ce97efa1 100644 --- a/portal/templates/slice-tab-experiment.html +++ b/portal/templates/slice-tab-experiment.html @@ -21,6 +21,50 @@ Be aware that after you reserve a PlanetLab Europe resource your slice will be deployed with a delay of about 15 minutes, after witch you will be able to access the resource.

+
+
+

Init Script on PLE

+ This bash script will be deployed on all PLE nodes of your slice +
+
+ + +
+ +
{% endif %} {% if iotlab_resources %}