{% 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 #}
- Site name: {{request.site_name}} -- authority_hrn: {{request.site_authority}} -- City: {{request.address_city}} -- Country: {{request.address_country}}
+ Authority name: {{request.site_name}} -- authority_hrn: {{request.site_authority}} -- City: {{request.address_city}} -- Country: {{request.address_country}}
{% endif %}
{% endif %}
</td>
<i>There is no pending request waiting for validation.</i>
{% endif %}
+{% if sub_authorities %}
+<hr/>
+<h2>Sub-Authorities</h2>
+
+{% for authority, requests in sub_authorities.items %}
+<h3>{{authority}}</h3>
+ <table width=100% border=1>
+ <th>
+ <td>type</td>
+ <td>id</td>
+ <td>details</td>
+ <td>timestamp</td>
+ <td>status</td>
+ </th>
+ {% for request in requests %}
+ <tr>
+ <td>
+ {% if request.allowed == 'allowed' %}
+ <input class='portal__validate__checkbox' id='portal__validate__checkbox__{{request.type}}__{{request.id}}' type='checkbox'/>
+ {% else %}
+ {% if request.allowed == 'expired' %}
+ expired
+ {% else %} {# denied #}
+ denied
+ {% endif %}
+ {% endif %}
+ </td>
+ <td>{{ request.type }}</td>
+ <td>{{ request.id }}</td>
+ <td>
+ {% 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 %}
+ </td>
+ <td>{{ request.timestamp }}</td>
+
+ <td><span id='portal__status__{{request.type}}__{{request.id}}'></span></td>
+
+ <!--<div class='portal_validate_request {{request.type}} {% if forloop.counter|divisibleby:2 %}even{% else %}odd{% endif %}'> -->
+ </tr>
+ {% endfor %}
+ </table>
+{% endfor %}
+<hr/>
+
+{% endif %}
+
{% if delegation_authorities %}
<hr/>
{% 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 #}
- TODO
+ Authority name: {{request.site_name}} -- authority_hrn: {{request.site_authority}} -- City: {{request.address_city}} -- Country: {{request.address_country}}
{% endif %}
- {% endif %}
+ {% endif %}
</td>
<td>{{ request.timestamp }}</td>
ctx_my_authorities = {}
ctx_delegation_authorities = {}
+ ctx_sub_authorities = {}
# The user need to be logged in
for pa in pi_authorities_tmp:
pi_authorities |= set(pa['pi_authorities'])
-# include all sub-authorities of the PI
-# if PI on ple, include all sub-auths ple.upmc, ple.inria and so on...
-# a = set()
-# for authority in authorities:
-# for my_authority in my_authorities:
-# if authority.startswith(my_authority) and authority not in a:
-# a.add(authority)
-
+ #print "all_auths = "
+ #print all_authorities
+ # include all sub-authorities of the PI
+ # if PI on ple, include all sub-auths ple.upmc, ple.inria and so on...
+ pi_subauthorities = set()
+ for authority in all_authorities:
+ authority_hrn = authority['authority_hrn']
+ for my_authority in pi_authorities:
+ if authority_hrn.startswith(my_authority) and authority_hrn not in pi_subauthorities:
+ pi_subauthorities.add(authority_hrn)
- print "pi_authorities =", pi_authorities
+ #print "pi_authorities =", pi_authorities
+ #print "pi_subauthorities =", pi_subauthorities
# My authorities + I have a credential
pi_credential_authorities = pi_authorities & credential_authorities
pi_delegation_credential_authorities = credential_authorities - pi_authorities
pi_delegation_expired_authorities = credential_authorities_expired - pi_authorities
- print "pi_credential_authorities =", pi_credential_authorities
- print "pi_no_credential_authorities =", pi_no_credential_authorities
- print "pi_expired_credential_authorities =", pi_expired_credential_authorities
- print "pi_delegation_credential_authorities = ", pi_delegation_credential_authorities
- print "pi_delegation_expired_authorities = ", pi_delegation_expired_authorities
+ #print "pi_credential_authorities =", pi_credential_authorities
+ #print "pi_no_credential_authorities =", pi_no_credential_authorities
+ #print "pi_expired_credential_authorities =", pi_expired_credential_authorities
+ #print "pi_delegation_credential_authorities = ", pi_delegation_credential_authorities
+ #print "pi_delegation_expired_authorities = ", pi_delegation_expired_authorities
# Summary intermediary
pi_my_authorities = pi_credential_authorities | pi_no_credential_authorities | pi_expired_credential_authorities
pi_delegation_authorities = pi_delegation_credential_authorities | pi_delegation_expired_authorities
- print "--"
- print "pi_my_authorities = ", pi_my_authorities
- print "pi_delegation_authorities = ", pi_delegation_authorities
+ #print "--"
+ #print "pi_my_authorities = ", pi_my_authorities
+ #print "pi_delegation_authorities = ", pi_delegation_authorities
+ #print "pi_subauthorities = ", pi_subauthorities
# Summary all
- queried_pending_authorities = pi_my_authorities | pi_delegation_authorities
- print "----"
- print "queried_pending_authorities = ", queried_pending_authorities
+ queried_pending_authorities = pi_my_authorities | pi_delegation_authorities | pi_subauthorities
+ #print "----"
+ #print "queried_pending_authorities = ", queried_pending_authorities
requests = get_request_by_authority(queried_pending_authorities)
for request in requests:
auth_hrn = request['authority_hrn']
- print "authority for this request", auth_hrn
+ #print "authority for this request", auth_hrn
if auth_hrn in pi_my_authorities:
dest = ctx_my_authorities
else: # pi_delegation_expired_authorities
request['allowed'] = 'expired'
+ elif auth_hrn in pi_subauthorities:
+ dest = ctx_sub_authorities
+
+ if auth_hrn in pi_subauthorities:
+ request['allowed'] = 'allowed'
+ else: # pi_delegation_expired_authorities
+ request['allowed'] = 'denied'
+
else:
continue
context = super(ValidatePendingView, self).get_context_data(**kwargs)
context['my_authorities'] = ctx_my_authorities
+ context['sub_authorities'] = ctx_sub_authorities
context['delegation_authorities'] = ctx_delegation_authorities
# XXX This is repeated in all pages