1 <script type="text/javascript">
2 $(document).ready(function() {
3 $("li#nav-request").addClass("active");
5 function on_click_event() {
7 $('.portal__validate__checkbox').each(function(i, el) {
8 if ($(el).prop('checked')) {
9 // portal__validate__checkbox__slice__2
10 var id_array = $(el).attr('id').split('__');
12 ids.push(id_array[3] + '__' + id_array[4]);
16 var id_str = ids.join('/');
20 $.getJSON('/portal/validate_action/' + id_str,
22 $.each(status, function(request_type__id, request_status) {
23 // request_status: NAME -> dict (status, description)
25 $.each(request_status, function(name, result) {
30 status_str += '<font color="green">OK</font>';
31 $('#portal__validate__checkbox__' + request_type__id).hide();
33 status_str += '<font color="red">ERROR: ' + result.description + '</font>';
36 $('#portal__status__' + request_type__id).html(status_str);
46 <div class="col-md-12">
49 {% if my_authorities %}
51 {% for authority, requests in my_authorities.items %}
52 {% if authority == auth_hrn or "fibre" %}
53 <div class="col-md-12">
54 <h2>{{authority}}</h2>
65 {% for request in requests %}
69 {% if request.allowed == 'allowed' %}
70 <input class='portal__validate__checkbox' id='portal__validate__checkbox__{{request.type}}__{{request.id}}' type='checkbox'/>
72 {% if request.allowed == 'expired' %}
74 {% else %} {# denied #}
79 <td>{{ request.type }}</td>
80 <td>{{ request.id }}</td>
82 {% if request.type == 'user' %}
83 Login: {{request.login}} -- First name: {{request.first_name}} -- Last name: {{request.last_name}} -- Email: {{request.email}}
85 {% if request.type == 'slice' %}
86 Slice name: {{request.slice_name}} -- Number of nodes: {{request.number_of_nodes}} -- Type of nodes: {{request.type_of_nodes}} -- Purpose: {{request.purpose}}
87 {% else %} {# authority #}
88 Authority name: {{request.site_name}} -- authority_hrn: {{request.site_authority}} -- City: {{request.address_city}} -- Country: {{request.address_country}}
92 <td>{{ request.timestamp }}</td>
94 <td><span id='portal__status__{{request.type}}__{{request.id}}'></span></td>
96 <!--<div class='portal_validate_request {{request.type}} {% if forloop.counter|divisibleby:2 %}even{% else %}odd{% endif %}'> -->
106 <div class="col-md-12">
107 <i>There is no pending request waiting for validation.</i>
111 <div class="col-md-12">
112 <h2>Sub-Authorities</h2>
114 {% if sub_authorities %}
116 {% for authority, requests in sub_authorities.items %}
117 {% if authority == auth_hrn or "fibre" %}
118 <div class="col-md-12">
119 <h3>{{authority}}</h3>
120 <table class="table">
128 {% for request in requests %}
131 {% if request.allowed == 'allowed' %}
132 <input class='portal__validate__checkbox' id='portal__validate__checkbox__{{request.type}}__{{request.id}}' type='checkbox'/>
134 {% if request.allowed == 'expired' %}
136 {% else %} {# denied #}
141 <td>{{ request.type }}</td>
142 <td>{{ request.id }}</td>
144 {% if request.type == 'user' %}
145 Login: {{request.login}} -- First name: {{request.first_name}} -- Last name: {{request.last_name}} -- Email: {{request.email}}
147 {% if request.type == 'slice' %}
148 Slice name: {{request.slice_name}} -- Number of nodes: {{request.number_of_nodes}} -- Type of nodes: {{request.type_of_nodes}} -- Purpose: {{request.purpose}}
149 {% else %} {# authority #}
150 Authority name: {{request.site_name}} -- authority_hrn: {{request.site_authority}} -- City: {{request.address_city}} -- Country: {{request.address_country}}
154 <td>{{ request.timestamp }}</td>
156 <td><span id='portal__status__{{request.type}}__{{request.id}}'></span></td>
158 <!--<div class='portal_validate_request {{request.type}} {% if forloop.counter|divisibleby:2 %}even{% else %}odd{% endif %}'> -->
166 <div class="col-md-12">
167 <i>There is no pending request waiting for validation.</i>
171 <div class="col-md-12">
172 <h2>Authorities with delegation</h2>
175 {% if delegation_authorities %}
177 {% for authority, requests in delegation_authorities.items %}
178 <div class="col-md-12">
179 {% if authority == "fibre" or auth_hrn %}
180 <h3>{{authority}}</h3>
181 <table class="table">
189 {% for request in requests %}
192 {% if request.allowed == 'allowed' %}
193 <input class='portal__validate__checkbox' id='portal__validate__checkbox__{{request.type}}__{{request.id}}' type='checkbox'/>
195 {% if request.allowed == 'expired' %}
197 {% else %} {# denied #}
202 <td>{{ request.type }}</td>
203 <td>{{ request.id }}</td>
205 {% if request.type == 'user' %}
206 Login: {{request.login}} -- First name: {{request.first_name}} -- Last name: {{request.last_name}} -- Email: {{request.email}}
208 {% if request.type == 'slice' %}
209 Slice name: {{request.slice_name}} -- user_hrn: {{ request.user_hrn }} -- Purpose: {{request.purpose}}
210 {% else %} {# authority #}
211 Authority name: {{request.site_name}} -- authority_hrn: {{request.site_authority}} -- City: {{request.address_city}} -- Country: {{request.address_country}}
215 <td>{{ request.timestamp }}</td>
217 <td><span id='portal__status__{{request.type}}__{{request.id}}'></span></td>
219 <!--<div class='portal_validate_request {{request.type}} {% if forloop.counter|divisibleby:2 %}even{% else %}odd{% endif %}'> -->
227 <div class="col-md-12">
228 <i>There is no pending request waiting for validation.</i>
232 <div class="col-md-12">
233 <button class="btn btn-onelab" type="button" id="portal__validate" onclick="on_click_event();"><span class="glyphicon glyphicon-ok"></span> Validate</button>