env['theme'] = self.theme
return render_to_response(self.template, env, context_instance=RequestContext(request))
- def get (self, request, state=None):
+ def get (self, request, authority_hrn=None, state=None):
+ print " ----- institution",authority_hrn
env = self.default_env()
-
if request.user.is_authenticated():
env['person'] = self.request.user
- user_query = Query().get('myslice:user').select('user_hrn','parent_authority').filter_by('user_hrn','==','$user_hrn')
- user_details = execute_query(self.request, user_query)
- try:
- env['user_details'] = user_details[0]
- except Exception,e:
- env['error'] = "Please check your Credentials"
-
- try:
- user_local_query = Query().get('local:user').select('config').filter_by('email','==',str(env['person']))
- user_local_details = execute_query(self.request, user_local_query)
- user_local = user_local_details[0]
- user_local_config = user_local['config']
- user_local_config = json.loads(user_local_config)
- user_local_authority = user_local_config.get('authority')
- if 'user_details' not in env or 'parent_authority' not in env['user_details'] or env['user_details']['parent_authority'] is None:
- env['user_details'] = {'parent_authority': user_local_authority}
- except Exception,e:
- env['error'] = "Please check your Manifold user config"
+ if authority_hrn is None:
+ user_query = Query().get('myslice:user').select('user_hrn','parent_authority').filter_by('user_hrn','==','$user_hrn')
+ user_details = execute_query(self.request, user_query)
+ try:
+ env['user_details'] = user_details[0]
+ except Exception,e:
+ # If the Query fails, check in local DB
+ try:
+ user_local_query = Query().get('local:user').select('config').filter_by('email','==',str(env['person']))
+ user_local_details = execute_query(self.request, user_local_query)
+ user_local = user_local_details[0]
+ user_local_config = user_local['config']
+ user_local_config = json.loads(user_local_config)
+ user_local_authority = user_local_config.get('authority')
+ if 'user_details' not in env or 'parent_authority' not in env['user_details'] or env['user_details']['parent_authority'] is None:
+ env['user_details'] = {'parent_authority': user_local_authority}
+ except Exception,e:
+ env['error'] = "Please check your Credentials"
+ else:
+ env['project'] = True
+ env['user_details'] = {'parent_authority': authority_hrn}
## check user is pi or not
platform_query = Query().get('local:platform').select('platform_id','platform','gateway_type','disabled')
account_query = Query().get('local:account').select('user_id','platform_id','auth_type','config')
var items = [];
$.each( projects, function(i, val) {
- items.push( "<li><a href=\"/project/"+val.authority_hrn+"\">" + val.authority_hrn + "</a></li>" );
+ items.push( "<li><a href=\"/portal/project/"+val.authority_hrn+"\">" + val.authority_hrn + "</a></li>" );
});
$("div#home-project-list").html($( "<ul/>", { html: items.join( "" ) }));
$("ul#dropdown-project-list").append(items.join( "" ));
+++ /dev/null
-{% extends "layout_wide.html" %}
-
-{% block head %}
-<script type="text/javascript" src="{{STATIC_URL}}/js/institution.js"></script>
-{% endblock head %}
-
-{% block content %}
-<div class="container">
- <div class="row">
- <div class="col-md-12">
- <div class="breadcrumbs">
- Management > Institution: <span id="authority_name"></span>
- </div>
- </div>
- </div>
-</div>
-<div class="container">
- <div class="row">
- <div class="col-md-12">
- <ul class="nav nav-tabs nav-section">
- <li class="active"><a href="#about">About</a></li>
- <li><a href="#users">Users</a></li>
- <li><a href="#slices">Slices</a></li>
- <li><a href="#requests">Requests</a></li>
- </ul>
- </div>
- </div>
-</div>
-<div class="container tab-content">
- <div class="tab-pane active row" id="about">
- </div>
-
- <div class="tab-pane row" id="users" data-authority="{{user_details.parent_authority}}">
- <div class="col-md-12 el">
- <div id="user-tab-loading"><img src="{{ STATIC_URL }}img/loading.gif" alt="Loading Slices" /></div>
- <div id="user-tab-loaded" style="display:none;">
- <table id="user-tab" class="table">
- <tr>
- <th>+/-</th>
- <th>Email</th>
- <th>User hrn</th>
- <!--
- <th>First name</th>
- <th>Last name</th>
- <th>Enabled</th>
- -->
- </tr>
- </table>
-
- </div>
- {%if 'is_pi' in pi %}
- <div>
- <button id="deleteusers" type="button" class="btn btn-danger"><span class="glyphicon glyphicon-remove"></span> Delete selected users</button>
- </div>
- {% endif %}
- </div>
- </div>
-
- <div class="tab-pane row" id="slices">
- <div class="col-md-12 el">
- <div id="slice-tab-loading"><img src="{{ STATIC_URL }}img/loading.gif" alt="Loading Slices" /></div>
- <div id="slice-tab-loaded" style="display:none;">
- <table id="slice-tab" class="table">
- <tr>
- <th>+/-</th>
- <th>Slice hrn</th>
- <th>Users</th>
- <th>Url</th>
- <!-- <th>nodes</th> -->
- <th>Creation</th>
- </tr>
- </table>
- </div>
- {% if 'is_pi' in pi %}
- <div>
- {% if 'is_pi' in pi %}
- <button id="createslice" type="button" class="btn btn-default"><span class="glyphicon glyphicon-plus"></span> Create slice</button>
- {% else %}
- <button id="createslice" type="button" class="btn btn-default"><span class="glyphicon glyphicon-plus"></span> Request slice</button>
- {% endif %}
- <button id="renewslices" type="button" class="btn btn-primary"><span class="glyphicon glyphicon-refresh"></span> Renew Slices</button>
- <button id="deleteslices" type="button" class="btn btn-danger"><span class="glyphicon glyphicon-remove"></span> Delete Slices</button>
- </div>
- {% endif %}
- </div>
- </div>
- <div class="tab-pane row" id="requests">
- </div>
-</div>
-<script>
-$(document).ready(function() {
- {% if person %}
- {% if user_details.parent_authority %}
-
- $.post("/rest/myslice:slice/",{'fields':['slice_hrn','users','url','slice_date_created'],'filters':{'parent_authority':'{{user_details.parent_authority}}'}}, function( data ) {
- var list_slices = [];
- var table_slices = [];
- /* "slice_hrn", "slice_description", "slice_type", "parent_authority", "created", "nodes", "slice_url", "slice_last_updated", "users", "slice_urn", "slice_expires" */
- $.each( data, function( key, val ) {
- list_slices.push( "<li><a href=\"portal/slice/"+val.slice_hrn+"\">" + val.slice_hrn + "</a></li>" );
- if(val.nodes=="undefined" || val.nodes==null){
- nodes_length=0;
- }else{
- nodes_length=val.nodes.length;
- }
- console.log(val);
- if(val.users=="undefined" || val.users==null){
- users_length=0;
- }else{
- users_length=val.users.length;
- }
-
- if(val.url=="undefined" || val.url==null){
- slice_url="";
- }else{
- slice_url="<a href='"+val.url+"' target='_blank'>"+val.url+"</a>";
- }
-
- slice_row = "<tr id='"+val.slice_hrn+"'>";
- slice_row += "<td><input type='checkbox' class='slice' id='"+val.slice_hrn+"'></td>";
- slice_row += "<td><a href=\"/slice/"+val.slice_hrn+"\">" + val.slice_hrn + "</a></td>";
- slice_row += "<td>"+users_length+"</td>";
- slice_row += "<td>"+slice_url+"</td>";
- //slice_row += "<td>"+nodes_length+"</td>";
- slice_row += "<td>"+val.slice_date_created+"</td>";
- slice_row += "</tr>";
- table_slices.push(slice_row);
-
- });
-
- /* $("div#slice-list").html($( "<ul/>", { html: list_slices.join( "" ) })); */
- $("table#slice-tab tr:last").after(table_slices.join( "" ));
- $("div#slice-tab-loaded").css("display","block");
- $("div#slice-tab-loading").css("display","none");
- });
-
-
- $.post("/rest/user/",{'fields':['user_hrn','user_email'],'filters':{'parent_authority':'{{user_details.parent_authority}}'}}, function( data ) {
- var list_users = [];
- var table_users = [];
- /* Available fields
- user_gid, user_enabled, slices, pi_authorities, keys, parent_authority, user_first_name,
- user_urn, user_last_name, user_phone, user_hrn, user_email, user_type
- */
- $.each( data, function( key, val ) {
- list_users.push( "<li><a href=\"portal/user/"+val.user_email+"\">" + val.user_email + "</a></li>" );
- user_row = "<tr id='"+val.user_hrn+"'>";
- user_row += "<td><input type='checkbox' class='user' id='"+val.user_hrn+"'></td>";
- user_row += "<td>"+val.user_email+"</td>";
- user_row += "<td>"+val.user_hrn+"</td>";
- /*
- user_row += "<td>"+val.user_first_name+"</td>";
- user_row += "<td>"+val.user_last_name+"</td>";
- user_row += "<td>"+val.user_enabled+"</td>";
- */
- user_row += "</tr>";
- table_users.push(user_row);
- });
- $("table#user-tab tr:last").after(table_users.join( "" ));
- $("div#user-tab-loaded").css("display","block");
- $("div#user-tab-loading").css("display","none");
- });
-
- {% endif %}
- {% endif %}
-
-}); // End document.ready
-
-$(document).ready(function() {
- $('.nav-tabs a').click(function (e) {
- e.preventDefault();
- $(this).tab('show');
- var id = $(this).attr('href').substr(1);
- if ((id == 'requests') || (id == 'about'))
- $("#" + id).load('/management/' + id);
- });
- var hash = window.location.hash;
- if (hash) {
- $('.nav-tabs a[href='+hash+']').click();
- } else {
- $('.nav-tabs a[href=#about]').click();
- }
-});
-</script>
-{% endblock %}
-{% extends "layout.html" %}
+{% extends "layout_wide.html" %}
{% block head %}
<script type="text/javascript" src="{{STATIC_URL}}/js/institution.js"></script>
{% endblock head %}
{% block content %}
-<div class="row">
- <div class="col-md-12">
- <ul class="nav nav-tabs nav-section">
- <li class="active"><a href="#info"><img src="{{ STATIC_URL }}icons/authority-xs.png" alt="Institution" /> Institution {{user_details.parent_authority}}</a></li>
- <li><a href="#users">Users</a></li>
- <li><a href="#slices">Slices</a></li>
- </ul>
- </div>
+<div class="container">
+ <div class="row">
+ <div class="col-md-12">
+ <div class="breadcrumbs">
+ Management > Institution: <span id="authority_name"></span>
+ </div>
+ </div>
+ </div>
</div>
-<div class="tab-content">
- <div class="tab-pane active row" id="info">
- <div class="col-md-12">
- <div id="authority-tab-loading"><img src="{{ STATIC_URL }}img/loading.gif" alt="Loading Authority" /></div>
- <div id="authority-tab-loaded" style="display:none;">
- <div id="authority-data"></div>
- </div>
- </div>
+<div class="container">
+ <div class="row">
+ <div class="col-md-12">
+ <ul class="nav nav-tabs nav-section">
+ <li class="active"><a href="#about">About</a></li>
+ <li><a href="#users">Users</a></li>
+ <li><a href="#slices">Slices</a></li>
+ <li><a href="#requests">Requests</a></li>
+ </ul>
+ </div>
</div>
-
+</div>
+<div class="container tab-content">
+ <div class="tab-pane active row" id="about">
+ </div>
+
<div class="tab-pane row" id="users" data-authority="{{user_details.parent_authority}}">
- <div class="col-md-12">
+ <div class="col-md-12 el">
<div id="user-tab-loading"><img src="{{ STATIC_URL }}img/loading.gif" alt="Loading Slices" /></div>
<div id="user-tab-loaded" style="display:none;">
- <table id="user-tab">
+ <table id="user-tab" class="table">
<tr>
<th>+/-</th>
- <th>email</th>
- <th>user_hrn</th>
- <th>first name</th>
- <th>last name</th>
- <th>enabled</th>
+ <th>Email</th>
+ <th>User hrn</th>
+ <!--
+ <th>First name</th>
+ <th>Last name</th>
+ <th>Enabled</th>
+ -->
</tr>
</table>
- {%if 'is_pi' in pi %}
- <div>
- <button id="deleteusers" type="button" class="btn btn-default"><span class="glyphicon glyphicon-remove"></span> Delete Users</button>
- </div>
- {%endif%}
+
+ </div>
+ {%if 'is_pi' in pi %}
+ <div>
+ <button id="deleteusers" type="button" class="btn btn-danger"><span class="glyphicon glyphicon-remove"></span> Delete selected users</button>
</div>
+ {% endif %}
</div>
</div>
-
+
<div class="tab-pane row" id="slices">
+ <div class="col-md-12 el">
<div id="slice-tab-loading"><img src="{{ STATIC_URL }}img/loading.gif" alt="Loading Slices" /></div>
<div id="slice-tab-loaded" style="display:none;">
- {%if 'is_pi' in pi %}
- <button id="createslice" type="button" class="btn btn-default"><span class="glyphicon glyphicon-plus"></span> create slice</button>
- {%else%}
- <button id="createslice" type="button" class="btn btn-default"><span class="glyphicon glyphicon-plus"></span> request slice</button>
- {%endif%}
- <table id="slice-tab">
+ <table id="slice-tab" class="table">
<tr>
<th>+/-</th>
- <th>slice_hrn</th>
- <th>users</th>
- <th>url</th>
+ <th>Slice hrn</th>
+ <th>Users</th>
+ <th>Url</th>
<!-- <th>nodes</th> -->
- <th>expiration</th>
+ <th>Creation</th>
</tr>
- </table>
- <br>
- {%if 'is_pi' in pi %}
- <div>
- <button id="renewslices" type="button" class="btn btn-default"><span class="glyphicon glyphicon-refresh"></span> Renew Slices</button>
- <button id="deleteslices" type="button" class="btn btn-default"><span class="glyphicon glyphicon-remove"></span> Delete Slices</button>
- </div>
- {%endif%}
+ </table>
</div>
+ {% if 'is_pi' in pi %}
+ <div>
+ {% if 'is_pi' in pi %}
+ <button id="createslice" type="button" class="btn btn-default"><span class="glyphicon glyphicon-plus"></span> Create slice</button>
+ {% else %}
+ <button id="createslice" type="button" class="btn btn-default"><span class="glyphicon glyphicon-plus"></span> Request slice</button>
+ {% endif %}
+ <button id="renewslices" type="button" class="btn btn-primary"><span class="glyphicon glyphicon-refresh"></span> Renew Slices</button>
+ <button id="deleteslices" type="button" class="btn btn-danger"><span class="glyphicon glyphicon-remove"></span> Delete Slices</button>
+ </div>
+ {% endif %}
+ </div>
+ </div>
+ <div class="tab-pane row" id="requests">
</div>
</div>
<script>
$(document).ready(function() {
{% if person %}
{% if user_details.parent_authority %}
-
- $.post("/rest/authority/",{'filters':{'authority_hrn':'{{user_details.parent_authority}}'}}, function( data ) {
- var authority_data = [];
- var onelab_data = [];
- /* 'city','enabled','legal','longitude','onelab_membership','address','parent_authority','slice','user','country',
- 'tech','abbreviated_name','url','postcode','description','scientific','authority_hrn','latitude','name' */
- $.each( data, function( key, val ) {
- authority_row = "<img src='{{ STATIC_URL }}img/institutions/{{user_details.parent_authority}}.gif' alt='' /><br>";
- authority_row += "<br>";
- authority_row += "<b>authority:</b> "+val.authority_hrn+"<br>";
- authority_data.push(authority_row);
- });
- $("div#authority-data").html(authority_data.join( "" ));
- $("div#onelab-data").html(onelab_data.join( "" ));
- $("div#authority-tab-loaded").css("display","block");
- $("div#authority-tab-loading").css("display","none");
- });
- $.post("/rest/myslice:slice/",{'filters':{'parent_authority':'{{user_details.parent_authority}}'}}, function( data ) {
+ $.post("/rest/myslice:slice/",{'fields':['slice_hrn','users','url','slice_date_created'],'filters':{'parent_authority':'{{user_details.parent_authority}}'}}, function( data ) {
var list_slices = [];
var table_slices = [];
/* "slice_hrn", "slice_description", "slice_type", "parent_authority", "created", "nodes", "slice_url", "slice_last_updated", "users", "slice_urn", "slice_expires" */
}else{
nodes_length=val.nodes.length;
}
+ console.log(val);
if(val.users=="undefined" || val.users==null){
users_length=0;
}else{
users_length=val.users.length;
}
- if(val.slice_url=="undefined" || val.slice_url==null){
+ if(val.url=="undefined" || val.url==null){
slice_url="";
}else{
- slice_url="<a href='"+val.slice_url+"' target='_blank'>"+val.slice_url+"</a>";
+ slice_url="<a href='"+val.url+"' target='_blank'>"+val.url+"</a>";
}
slice_row = "<tr id='"+val.slice_hrn+"'>";
slice_row += "<td>"+users_length+"</td>";
slice_row += "<td>"+slice_url+"</td>";
//slice_row += "<td>"+nodes_length+"</td>";
- slice_row += "<td>"+val.slice_expires+"</td>";
+ slice_row += "<td>"+val.slice_date_created+"</td>";
slice_row += "</tr>";
table_slices.push(slice_row);
$("div#slice-tab-loaded").css("display","block");
$("div#slice-tab-loading").css("display","none");
});
+
+ {% if project %}
+ // XXX LOIC CACHE PB IF PREFIXED !
+ $.post("/rest/authority/",{'fields':['pi_users'],'filters':{'authority_hrn':'{{user_details.parent_authority}}'}}, function( data ) {
+
+ var table_users = [];
+ $.each( data[0].pi_users, function( key, val ) {
+ console.log(val);
+ user_row = "<tr id='"+val+"'>";
+ user_row += "<td><input type='checkbox' class='user' id='"+val+"'></td>";
+ user_row += "<td></td>";
+ user_row += "<td>"+val+"</td>";
+ user_row += "</tr>";
+ table_users.push(user_row);
+ });
+ $("table#user-tab tr:last").after(table_users.join( "" ));
+ $("div#user-tab-loaded").css("display","block");
+ $("div#user-tab-loading").css("display","none");
- $.post("/rest/user/",{'filters':{'parent_authority':'{{user_details.parent_authority}}'}}, function( data ) {
- var list_users = [];
- var table_users = [];
- /* Available fields
- user_gid, user_enabled, slices, pi_authorities, keys, parent_authority, user_first_name,
- user_urn, user_last_name, user_phone, user_hrn, user_email, user_type
- */
- $.each( data, function( key, val ) {
- list_users.push( "<li><a href=\"portal/user/"+val.user_email+"\">" + val.user_email + "</a></li>" );
- user_row = "<tr id='"+val.user_hrn+"'>";
- user_row += "<td><input type='checkbox' class='user' id='"+val.user_hrn+"'></td>";
- user_row += "<td>"+val.user_email+"</td>";
- user_row += "<td>"+val.user_hrn+"</td>";
- user_row += "<td>"+val.user_first_name+"</td>";
- user_row += "<td>"+val.user_last_name+"</td>";
- user_row += "<td>"+val.user_enabled+"</td>";
- user_row += "</tr>";
- table_users.push(user_row);
- });
- $("table#user-tab tr:last").after(table_users.join( "" ));
- $("div#user-tab-loaded").css("display","block");
- $("div#user-tab-loading").css("display","none");
- });
+ });
+ {% else %}
+ $.post("/rest/user/",{'fields':['user_hrn','user_email'],'filters':{'parent_authority':'{{user_details.parent_authority}}'}}, function( data ) {
+ var list_users = [];
+ var table_users = [];
+ /* Available fields
+ user_gid, user_enabled, slices, pi_authorities, keys, parent_authority, user_first_name,
+ user_urn, user_last_name, user_phone, user_hrn, user_email, user_type
+ */
+ $.each( data, function( key, val ) {
+ list_users.push( "<li><a href=\"portal/user/"+val.user_email+"\">" + val.user_email + "</a></li>" );
+ user_row = "<tr id='"+val.user_hrn+"'>";
+ user_row += "<td><input type='checkbox' class='user' id='"+val.user_hrn+"'></td>";
+ user_row += "<td>"+val.user_email+"</td>";
+ user_row += "<td>"+val.user_hrn+"</td>";
+ /*
+ user_row += "<td>"+val.user_first_name+"</td>";
+ user_row += "<td>"+val.user_last_name+"</td>";
+ user_row += "<td>"+val.user_enabled+"</td>";
+ */
+ user_row += "</tr>";
+ table_users.push(user_row);
+ });
+ $("table#user-tab tr:last").after(table_users.join( "" ));
+ $("div#user-tab-loaded").css("display","block");
+ $("div#user-tab-loading").css("display","none");
+ });
+
+ {% endif %}
+ {% endif %}
+ {% endif %}
- {% endif %}
- {% endif %}
+}); // End document.ready
-}); // end document.ready
+$(document).ready(function() {
+ $('.nav-tabs a').click(function (e) {
+ e.preventDefault();
+ $(this).tab('show');
+ var id = $(this).attr('href').substr(1);
+ /*
+ if ((id == 'requests') || (id == 'about'))
+ $("#" + id).load('/management/' + id);
+ */
+ });
+ var hash = window.location.hash;
+ if (hash) {
+ $('.nav-tabs a[href='+hash+']').click();
+ } else {
+ $('.nav-tabs a[href=#about]').click();
+ }
+});
</script>
{% endblock %}
+++ /dev/null
-{% extends "layout_wide.html" %}
-
-{% block head %}
-<script type="text/javascript" src="{{STATIC_URL}}/js/institution.js"></script>
-{% endblock head %}
-
-{% block content %}
-<div class="container">
- <div class="row">
- <div class="col-md-12">
- <div class="breadcrumbs">
- Management > Institution: <span id="authority_name"></span>
- </div>
- </div>
- </div>
-</div>
-<div class="container">
- <div class="row">
- <div class="col-md-12">
- <ul class="nav nav-tabs nav-section">
- <li class="active"><a href="#about">About</a></li>
- <li><a href="#users">Users</a></li>
- <li><a href="#slices">Slices</a></li>
- <li><a href="#requests">Requests</a></li>
- </ul>
- </div>
- </div>
-</div>
-<div class="container tab-content">
- <div class="tab-pane active row" id="about">
- </div>
-
- <div class="tab-pane row" id="users" data-authority="{{user_details.parent_authority}}">
- <div class="col-md-12 el">
- <div id="user-tab-loading"><img src="{{ STATIC_URL }}img/loading.gif" alt="Loading Slices" /></div>
- <div id="user-tab-loaded" style="display:none;">
- <table id="user-tab" class="table">
- <tr>
- <th>+/-</th>
- <th>Email</th>
- <th>User hrn</th>
- <!--
- <th>First name</th>
- <th>Last name</th>
- <th>Enabled</th>
- -->
- </tr>
- </table>
-
- </div>
- {%if 'is_pi' in pi %}
- <div>
- <button id="deleteusers" type="button" class="btn btn-danger"><span class="glyphicon glyphicon-remove"></span> Delete selected users</button>
- </div>
- {% endif %}
- </div>
- </div>
-
- <div class="tab-pane row" id="slices">
- <div class="col-md-12 el">
- <div id="slice-tab-loading"><img src="{{ STATIC_URL }}img/loading.gif" alt="Loading Slices" /></div>
- <div id="slice-tab-loaded" style="display:none;">
- <table id="slice-tab" class="table">
- <tr>
- <th>+/-</th>
- <th>Slice hrn</th>
- <th>Users</th>
- <th>Url</th>
- <!-- <th>nodes</th> -->
- <th>Creation</th>
- </tr>
- </table>
- </div>
- {% if 'is_pi' in pi %}
- <div>
- {% if 'is_pi' in pi %}
- <button id="createslice" type="button" class="btn btn-default"><span class="glyphicon glyphicon-plus"></span> Create slice</button>
- {% else %}
- <button id="createslice" type="button" class="btn btn-default"><span class="glyphicon glyphicon-plus"></span> Request slice</button>
- {% endif %}
- <button id="renewslices" type="button" class="btn btn-primary"><span class="glyphicon glyphicon-refresh"></span> Renew Slices</button>
- <button id="deleteslices" type="button" class="btn btn-danger"><span class="glyphicon glyphicon-remove"></span> Delete Slices</button>
- </div>
- {% endif %}
- </div>
- </div>
- <div class="tab-pane row" id="requests">
- </div>
-</div>
-<script>
-$(document).ready(function() {
- {% if person %}
- {% if user_details.parent_authority %}
-
- $.post("/rest/slice/",{'fields':['slice_hrn','users','url','slice_date_created'],'filters':{'parent_authority':'{{user_details.parent_authority}}'}}, function( data ) {
- var list_slices = [];
- var table_slices = [];
- /* "slice_hrn", "slice_description", "slice_type", "parent_authority", "created", "nodes", "slice_url", "slice_last_updated", "users", "slice_urn", "slice_expires" */
- $.each( data, function( key, val ) {
- list_slices.push( "<li><a href=\"portal/slice/"+val.slice_hrn+"\">" + val.slice_hrn + "</a></li>" );
- if(val.nodes=="undefined" || val.nodes==null){
- nodes_length=0;
- }else{
- nodes_length=val.nodes.length;
- }
- if(val.users=="undefined" || val.users==null){
- users_length=0;
- }else{
- users_length=val.users.length;
- }
-
- if(val.url=="undefined" || val.url==null){
- slice_url="";
- }else{
- slice_url="<a href='"+val.url+"' target='_blank'>"+val.url+"</a>";
- }
-
- slice_row = "<tr id='"+val.slice_hrn+"'>";
- slice_row += "<td><input type='checkbox' class='slice' id='"+val.slice_hrn+"'></td>";
- slice_row += "<td><a href=\"/slice/"+val.slice_hrn+"\">" + val.slice_hrn + "</a></td>";
- slice_row += "<td>"+users_length+"</td>";
- slice_row += "<td>"+slice_url+"</td>";
- //slice_row += "<td>"+nodes_length+"</td>";
- slice_row += "<td>"+val.slice_date_created+"</td>";
- slice_row += "</tr>";
- table_slices.push(slice_row);
-
- });
-
- /* $("div#slice-list").html($( "<ul/>", { html: list_slices.join( "" ) })); */
- $("table#slice-tab tr:last").after(table_slices.join( "" ));
- $("div#slice-tab-loaded").css("display","block");
- $("div#slice-tab-loading").css("display","none");
- });
-
-
- $.post("/rest/user/",{'fields':['user_hrn','user_email'],'filters':{'parent_authority':'{{user_details.parent_authority}}'}}, function( data ) {
- var list_users = [];
- var table_users = [];
- /* Available fields
- user_gid, user_enabled, slices, pi_authorities, keys, parent_authority, user_first_name,
- user_urn, user_last_name, user_phone, user_hrn, user_email, user_type
- */
- $.each( data, function( key, val ) {
- list_users.push( "<li><a href=\"portal/user/"+val.user_email+"\">" + val.user_email + "</a></li>" );
- user_row = "<tr id='"+val.user_hrn+"'>";
- user_row += "<td><input type='checkbox' class='user' id='"+val.user_hrn+"'></td>";
- user_row += "<td>"+val.user_email+"</td>";
- user_row += "<td>"+val.user_hrn+"</td>";
- /*
- user_row += "<td>"+val.user_first_name+"</td>";
- user_row += "<td>"+val.user_last_name+"</td>";
- user_row += "<td>"+val.user_enabled+"</td>";
- */
- user_row += "</tr>";
- table_users.push(user_row);
- });
- $("table#user-tab tr:last").after(table_users.join( "" ));
- $("div#user-tab-loaded").css("display","block");
- $("div#user-tab-loading").css("display","none");
- });
-
- {% endif %}
- {% endif %}
-
-}); // End document.ready
-
-$(document).ready(function() {
- $('.nav-tabs a').click(function (e) {
- e.preventDefault();
- $(this).tab('show');
- var id = $(this).attr('href').substr(1);
- if ((id == 'requests') || (id == 'about'))
- $("#" + id).load('/management/' + id);
- });
- var hash = window.location.hash;
- if (hash) {
- $('.nav-tabs a[href='+hash+']').click();
- } else {
- $('.nav-tabs a[href=#about]').click();
- }
-});
-</script>
-{% endblock %}
from portal.accountview import AccountView, account_process
from portal.contactview import ContactView
from portal.slicerequestview import SliceRequestView
+from portal.projectrequestview import ProjectRequestView
from portal.registrationview import RegistrationView
from portal.joinview import JoinView
from portal.sliceviewold import SliceView
#url(r'^my_account/?$', MyAccountView.as_view(), name='my_account'),
url(r'^account/?$', AccountView.as_view(), name='account'),
url(r'^institution/?$', InstitutionView.as_view(), name='institution'),
+ url(r'^project/(?P<authority_hrn>[\w\.]+)/?$', InstitutionView.as_view(), name='project'),
url(r'^about/?$', AboutView.as_view(), name='about'),
url(r'^users/?$', UsersView.as_view(), name='user_list'),
url(r'^user/(?P<email>[\w\s.@\-]+)/?$', UserView.as_view(), name='user'),
#url(r'^pass_reset/?$', PassResetView.as_view(), name='pass_rest'),
# Slice request
url(r'^slice_request/?$', SliceRequestView.as_view(), name='slice_request'),
+ # Project request
+ url(r'^project_request/?$', ProjectRequestView.as_view(), name='project_request'),
url(r'^terms/?$', TermsView.as_view(), name='terms'),
url(r'^manual_delegation/?$', ManualDelegationView.as_view(), name='manual_delegation'),
# Validate pending requests