1 {% extends "layout-unfold1.html" %}
4 <link rel="stylesheet" type="text/css" href="{{STATIC_URL}}/css/validate_pending.css" />
5 <script type="text/javascript">
6 function on_click_event() {
8 $('.portal__validate__checkbox').each(function(i, el) {
9 if ($(el).prop('checked')) {
10 // portal__validate__checkbox__slice__2
11 var id_array = $(el).attr('id').split('__');
13 ids.push(id_array[3] + '__' + id_array[4]);
17 var id_str = ids.join('/');
21 $.getJSON('/portal/validate_action/' + id_str,
23 $.each(status, function(request_type__id, request_status) {
24 // request_status: NAME -> dict (status, description)
26 $.each(request_status, function(name, result) {
31 status_str += '<font color="green">OK</font>';
32 $('#portal__validate__checkbox__' + request_type__id).hide();
34 status_str += '<font color="red">ERROR: ' + result.description + '</font>';
37 $('#portal__status__' + request_type__id).html(status_str)
48 {% block unfold1_main %}
50 <h1>Pending requests</h1>
52 <h2>My authorities</h2>
54 {% if my_authorities %}
56 {% for authority, requests in my_authorities.items %}
57 <h3>{{authority}}</h3>
58 {% for request in requests %}
59 <div class='portal_validate_request {{request.type}} {% if forloop.counter|divisibleby:2 %}even{% else %}odd{% endif %}'>
60 <span class='type'>{{ request.type }}</span>
61 <span class='id'>{{ request.id }}</span>
62 <span class='timestamp'>{{ request.timestamp }}</span>
63 <span class='authority'>{{ request.authority_hrn }}</span>
65 {% if request.type == 'user' %}
66 <span class='details'>First name: {{request.first_name}} -- Last name: {{request.last_name}} -- Email: {{request.email}}</span>
68 {% if request.type == 'slice' %}
69 <span class='details'>Number of nodes: {{request.number_of_nodes}} -- Type of nodes: {{request.type_of_nodes}} -- Purpose: {{request.purpose}}</span>
70 {% else %} {# authority #}
71 <span class='details'>TODO</span>
75 {% if request.allowed == 'allowed' %}
76 <input class='portal__validate__checkbox' id='portal__validate__checkbox__{{request.type}}__{{request.id}}' type='checkbox'/>
78 {% if request.allowed == 'expired' %}
80 {% else %} {# denied #}
84 <span class='status' id='portal__status__{{request.type}}__{{request.id}}'></span>
90 <i>There is no pending request waiting for validation.</i>
93 {% if delegation_authorities %}
94 <h2>Authorities with delegation</h2>
96 {% for authority, requests in delegation_authorities.items %}
97 <h3>{{authority}}</h3>
98 {% for request in requests %}
99 <div class='portal_validate_request {{request.type}} {% if forloop.counter|divisibleby:2 %}even{% else %}odd{% endif %}'>
100 <span class='type'>{{ request.type }}</span>
101 <span class='id'>{{ request.id }}</span>
102 <span class='timestamp'>{{ request.timestamp }}</span>
103 <span class='details'>{{ request.details }}</span>
104 {% if request.allowed == 'allowed' %}
105 <input class='portal__validate__checkbox' id='portal__validate__checkbox__{{request.type}}__{{request.id}}' type='checkbox'/>
107 {% if request.allowed == 'expired' %}
109 {% else %} {# denied #}
113 <span class='status' id='portal__status__{{request.type}}__{{request.id}}'></span>
120 <input type='button' id='portal__validate' value='Validate' onclick='on_click_event();'/>